mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-01 16:26:29 +00:00
Added support for generate DWARF .debug_aranges sections automatically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191052 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -533,6 +533,9 @@ void MCAsmStreamer::EmitELFSize(MCSymbol *Symbol, const MCExpr *Value) {
|
||||
|
||||
void MCAsmStreamer::EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
|
||||
unsigned ByteAlignment) {
|
||||
const MCSection *Section = getContext().getObjectFileInfo()->getBSSSection();
|
||||
AssignSection(Symbol, Section);
|
||||
|
||||
OS << "\t.comm\t" << *Symbol << ',' << Size;
|
||||
if (ByteAlignment != 0) {
|
||||
if (MAI->getCOMMDirectiveAlignmentIsInBytes())
|
||||
@@ -549,6 +552,9 @@ void MCAsmStreamer::EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
|
||||
/// @param Size - The size of the common symbol.
|
||||
void MCAsmStreamer::EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
|
||||
unsigned ByteAlign) {
|
||||
const MCSection *Section = getContext().getObjectFileInfo()->getBSSSection();
|
||||
AssignSection(Symbol, Section);
|
||||
|
||||
OS << "\t.lcomm\t" << *Symbol << ',' << Size;
|
||||
if (ByteAlign > 1) {
|
||||
switch (MAI->getLCOMMDirectiveAlignmentType()) {
|
||||
@@ -568,6 +574,9 @@ void MCAsmStreamer::EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
|
||||
|
||||
void MCAsmStreamer::EmitZerofill(const MCSection *Section, MCSymbol *Symbol,
|
||||
uint64_t Size, unsigned ByteAlignment) {
|
||||
if (Symbol)
|
||||
AssignSection(Symbol, Section);
|
||||
|
||||
// Note: a .zerofill directive does not switch sections.
|
||||
OS << ".zerofill ";
|
||||
|
||||
@@ -588,6 +597,8 @@ void MCAsmStreamer::EmitZerofill(const MCSection *Section, MCSymbol *Symbol,
|
||||
// e.g. _a.
|
||||
void MCAsmStreamer::EmitTBSSSymbol(const MCSection *Section, MCSymbol *Symbol,
|
||||
uint64_t Size, unsigned ByteAlignment) {
|
||||
AssignSection(Symbol, Section);
|
||||
|
||||
assert(Symbol != NULL && "Symbol shouldn't be NULL!");
|
||||
// Instead of using the Section we'll just use the shortcut.
|
||||
// This is a mach-o specific directive and section.
|
||||
|
Reference in New Issue
Block a user