From 7fcd5f8c8904ec273bf4baceeb2c12c221934d70 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Mon, 6 Oct 2014 17:05:19 +0000 Subject: [PATCH] MachObjectWriter: optimize the string table for common suffices This is a follow-up to r207670 (ELF) and r218636 (COFF). Differential Revision: http://reviews.llvm.org/D5622 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219126 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/MC/MCMachObjectWriter.h | 6 +- include/llvm/MC/StringTableBuilder.h | 3 +- lib/MC/MachObjectWriter.cpp | 67 +++++++----------- lib/MC/StringTableBuilder.cpp | 20 +++++- test/MC/MachO/ARM/aliased-symbols.s | 4 +- test/MC/MachO/ARM/darwin-ARM-reloc.s | 6 +- test/MC/MachO/absolute.s | 18 ++--- test/MC/MachO/absolutize.s | 10 +-- test/MC/MachO/comm-1.s | 10 +-- test/MC/MachO/darwin-complex-difference.s | 6 +- test/MC/MachO/darwin-x86_64-diff-relocs.s | 10 +-- test/MC/MachO/darwin-x86_64-reloc.s | 22 +++--- test/MC/MachO/indirect-symbols.s | 12 ++-- test/MC/MachO/lcomm-attributes.s | 10 +-- test/MC/MachO/reloc.s | 20 +++--- test/MC/MachO/section-align-2.s | 6 +- test/MC/MachO/string-table.s | 6 +- test/MC/MachO/symbol-diff.s | 6 +- test/MC/MachO/symbol-flags.s | 50 +++++++------- test/MC/MachO/symbol-indirect.s | 20 +++--- test/MC/MachO/symbols-1.s | 40 +++++------ test/MC/MachO/tbss.s | 6 +- test/MC/MachO/tls.s | 20 +++--- test/MC/MachO/tlv-reloc.s | 10 +-- test/MC/MachO/variable-exprs.s | 40 +++++------ test/MC/MachO/x86_32-symbols.s | 82 +++++++++++------------ test/MC/MachO/x86_64-symbols.s | 80 +++++++++++----------- test/MC/MachO/zerofill-3.s | 10 +-- 28 files changed, 298 insertions(+), 302 deletions(-) diff --git a/include/llvm/MC/MCMachObjectWriter.h b/include/llvm/MC/MCMachObjectWriter.h index 12a7f0ee7bb..0c5aa8a1806 100644 --- a/include/llvm/MC/MCMachObjectWriter.h +++ b/include/llvm/MC/MCMachObjectWriter.h @@ -14,6 +14,7 @@ #include "llvm/ADT/SmallString.h" #include "llvm/MC/MCExpr.h" #include "llvm/MC/MCObjectWriter.h" +#include "llvm/MC/StringTableBuilder.h" #include "llvm/Support/DataTypes.h" #include "llvm/Support/MachO.h" #include @@ -104,7 +105,7 @@ class MachObjectWriter : public MCObjectWriter { /// @name Symbol Table Data /// @{ - SmallString<256> StringTable; + StringTableBuilder StringTable; std::vector LocalSymbolData; std::vector ExternalSymbolData; std::vector UndefinedSymbolData; @@ -239,8 +240,7 @@ public: /// ComputeSymbolTable - Compute the symbol table data /// - /// \param StringTable [out] - The string table data. - void ComputeSymbolTable(MCAssembler &Asm, SmallString<256> &StringTable, + void ComputeSymbolTable(MCAssembler &Asm, std::vector &LocalSymbolData, std::vector &ExternalSymbolData, std::vector &UndefinedSymbolData); diff --git a/include/llvm/MC/StringTableBuilder.h b/include/llvm/MC/StringTableBuilder.h index 0c58f5c84f6..04f127a58cf 100644 --- a/include/llvm/MC/StringTableBuilder.h +++ b/include/llvm/MC/StringTableBuilder.h @@ -31,7 +31,8 @@ public: enum Kind { ELF, - WinCOFF + WinCOFF, + MachO }; /// \brief Analyze the strings and build the final table. No more strings can diff --git a/lib/MC/MachObjectWriter.cpp b/lib/MC/MachObjectWriter.cpp index 95b92485eb6..7a1ab79e716 100644 --- a/lib/MC/MachObjectWriter.cpp +++ b/lib/MC/MachObjectWriter.cpp @@ -525,15 +525,10 @@ void MachObjectWriter::BindIndirectSymbols(MCAssembler &Asm) { } /// ComputeSymbolTable - Compute the symbol table data -/// -/// \param StringTable [out] - The string table data. -/// \param StringIndexMap [out] - Map from symbol names to offsets in the -/// string table. -void MachObjectWriter:: -ComputeSymbolTable(MCAssembler &Asm, SmallString<256> &StringTable, - std::vector &LocalSymbolData, - std::vector &ExternalSymbolData, - std::vector &UndefinedSymbolData) { +void MachObjectWriter::ComputeSymbolTable( + MCAssembler &Asm, std::vector &LocalSymbolData, + std::vector &ExternalSymbolData, + std::vector &UndefinedSymbolData) { // Build section lookup table. DenseMap SectionIndexMap; unsigned Index = 1; @@ -542,37 +537,34 @@ ComputeSymbolTable(MCAssembler &Asm, SmallString<256> &StringTable, SectionIndexMap[&it->getSection()] = Index; assert(Index <= 256 && "Too many sections!"); - // Index 0 is always the empty string. - StringMap StringIndexMap; - StringTable += '\x00'; + // Build the string table. + for (MCSymbolData &SD : Asm.symbols()) { + const MCSymbol &Symbol = SD.getSymbol(); + if (!Asm.isSymbolLinkerVisible(Symbol)) + continue; + + StringTable.add(Symbol.getName()); + } + StringTable.finalize(StringTableBuilder::MachO); - // Build the symbol arrays and the string table, but only for non-local - // symbols. + // Build the symbol arrays but only for non-local symbols. // - // The particular order that we collect the symbols and create the string - // table, then sort the symbols is chosen to match 'as'. Even though it - // doesn't matter for correctness, this is important for letting us diff .o - // files. + // The particular order that we collect and then sort the symbols is chosen to + // match 'as'. Even though it doesn't matter for correctness, this is + // important for letting us diff .o files. for (MCSymbolData &SD : Asm.symbols()) { const MCSymbol &Symbol = SD.getSymbol(); // Ignore non-linker visible symbols. - if (!Asm.isSymbolLinkerVisible(SD.getSymbol())) + if (!Asm.isSymbolLinkerVisible(Symbol)) continue; if (!SD.isExternal() && !Symbol.isUndefined()) continue; - uint64_t &Entry = StringIndexMap[Symbol.getName()]; - if (!Entry) { - Entry = StringTable.size(); - StringTable += Symbol.getName(); - StringTable += '\x00'; - } - MachSymbolData MSD; MSD.SymbolData = &SD; - MSD.StringIndex = Entry; + MSD.StringIndex = StringTable.getOffset(Symbol.getName()); if (Symbol.isUndefined()) { MSD.SectionIndex = 0; @@ -592,22 +584,15 @@ ComputeSymbolTable(MCAssembler &Asm, SmallString<256> &StringTable, const MCSymbol &Symbol = SD.getSymbol(); // Ignore non-linker visible symbols. - if (!Asm.isSymbolLinkerVisible(SD.getSymbol())) + if (!Asm.isSymbolLinkerVisible(Symbol)) continue; if (SD.isExternal() || Symbol.isUndefined()) continue; - uint64_t &Entry = StringIndexMap[Symbol.getName()]; - if (!Entry) { - Entry = StringTable.size(); - StringTable += Symbol.getName(); - StringTable += '\x00'; - } - MachSymbolData MSD; MSD.SymbolData = &SD; - MSD.StringIndex = Entry; + MSD.StringIndex = StringTable.getOffset(Symbol.getName()); if (Symbol.isAbsolute()) { MSD.SectionIndex = 0; @@ -631,10 +616,6 @@ ComputeSymbolTable(MCAssembler &Asm, SmallString<256> &StringTable, ExternalSymbolData[i].SymbolData->setIndex(Index++); for (unsigned i = 0, e = UndefinedSymbolData.size(); i != e; ++i) UndefinedSymbolData[i].SymbolData->setIndex(Index++); - - // The string table is padded to a multiple of 4. - while (StringTable.size() % 4) - StringTable += '\x00'; } void MachObjectWriter::computeSectionAddresses(const MCAssembler &Asm, @@ -683,7 +664,7 @@ void MachObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm, markAbsoluteVariableSymbols(Asm, Layout); // Compute symbol table information and bind symbol indices. - ComputeSymbolTable(Asm, StringTable, LocalSymbolData, ExternalSymbolData, + ComputeSymbolTable(Asm, LocalSymbolData, ExternalSymbolData, UndefinedSymbolData); } @@ -922,7 +903,7 @@ void MachObjectWriter::WriteObject(MCAssembler &Asm, sizeof(MachO::nlist_64) : sizeof(MachO::nlist)); WriteSymtabLoadCommand(SymbolTableOffset, NumSymTabSymbols, - StringTableOffset, StringTable.size()); + StringTableOffset, StringTable.data().size()); WriteDysymtabLoadCommand(FirstLocalSymbol, NumLocalSymbols, FirstExternalSymbol, NumExternalSymbols, @@ -1028,7 +1009,7 @@ void MachObjectWriter::WriteObject(MCAssembler &Asm, WriteNlist(UndefinedSymbolData[i], Layout); // Write the string table. - OS << StringTable.str(); + OS << StringTable.data(); } } diff --git a/lib/MC/StringTableBuilder.cpp b/lib/MC/StringTableBuilder.cpp index 34e7e6fdfbb..9de9363611e 100644 --- a/lib/MC/StringTableBuilder.cpp +++ b/lib/MC/StringTableBuilder.cpp @@ -36,12 +36,16 @@ void StringTableBuilder::finalize(Kind kind) { std::sort(Strings.begin(), Strings.end(), compareBySuffix); - if (kind == ELF) { + switch (kind) { + case ELF: + case MachO: // Start the table with a NUL byte. StringTable += '\x00'; - } else if (kind == WinCOFF) { + break; + case WinCOFF: // Make room to write the table size later. StringTable.append(4, '\x00'); + break; } StringRef Previous; @@ -60,11 +64,21 @@ void StringTableBuilder::finalize(Kind kind) { Previous = s; } - if (kind == WinCOFF) { + switch (kind) { + case ELF: + break; + case MachO: + // Pad to multiple of 4. + while (StringTable.size() % 4) + StringTable += '\x00'; + break; + case WinCOFF: + // Write the table size in the first word. assert(StringTable.size() <= std::numeric_limits::max()); uint32_t size = static_cast(StringTable.size()); support::endian::write( StringTable.data(), size); + break; } } diff --git a/test/MC/MachO/ARM/aliased-symbols.s b/test/MC/MachO/ARM/aliased-symbols.s index 0b4463d055a..e87b81c6a15 100644 --- a/test/MC/MachO/ARM/aliased-symbols.s +++ b/test/MC/MachO/ARM/aliased-symbols.s @@ -70,7 +70,7 @@ Ltmp0: // alias_to_local is an alias, but what it points to has no // MachO representation. We must resolve it. // CHECK: Symbol { -// CHECK-NEXT: Name: alias_to_local (37) +// CHECK-NEXT: Name: alias_to_local (42) // CHECK-NEXT: Type: Section (0xE) // CHECK-NEXT: Section: (0x0) // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) @@ -93,7 +93,7 @@ Ltmp0: // var1 was another alias to an unknown variable. Not extern this time. // CHECK: Symbol { -// CHECK-NEXT: Name: var1 (1) +// CHECK-NEXT: Name: var1 (89) // CHECK-NEXT: Type: Indirect (0xA) // CHECK-NEXT: Section: (0x0) // CHECK-NEXT: RefType: UndefinedNonLazy (0x0) diff --git a/test/MC/MachO/ARM/darwin-ARM-reloc.s b/test/MC/MachO/ARM/darwin-ARM-reloc.s index b98c80c46e8..374f8804a52 100644 --- a/test/MC/MachO/ARM/darwin-ARM-reloc.s +++ b/test/MC/MachO/ARM/darwin-ARM-reloc.s @@ -110,10 +110,10 @@ Lsc0_0: @ CHECK: ('nsyms', 4) @ CHECK: ('stroff', 488) @ CHECK: ('strsize', 24) -@ CHECK: ('_string_data', '\x00_printf\x00_f0\x00_f1\x00_d0\x00\x00\x00\x00') +@ CHECK: ('_string_data', '\x00_printf\x00_f1\x00_f0\x00_d0\x00\x00\x00\x00') @ CHECK: ('_symbols', [ @ CHECK: # Symbol 0 -@ CHECK: (('n_strx', 9) +@ CHECK: (('n_strx', 13) @ CHECK: ('n_type', 0xe) @ CHECK: ('n_sect', 1) @ CHECK: ('n_desc', 0) @@ -121,7 +121,7 @@ Lsc0_0: @ CHECK: ('_string', '_f0') @ CHECK: ), @ CHECK: # Symbol 1 -@ CHECK: (('n_strx', 13) +@ CHECK: (('n_strx', 9) @ CHECK: ('n_type', 0xe) @ CHECK: ('n_sect', 1) @ CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/absolute.s b/test/MC/MachO/absolute.s index 784e32a7e41..0b22afb1b4d 100644 --- a/test/MC/MachO/absolute.s +++ b/test/MC/MachO/absolute.s @@ -63,10 +63,10 @@ foo_equals2 = (_foo - _bar + 0xffff0000) // CHECK: ('nsyms', 8) // CHECK: ('stroff', 420) // CHECK: ('strsize', 84) -// CHECK: ('_string_data', '\x00foo_set1_global\x00foo_set2_global\x00_bar\x00_foo\x00foo_set1\x00foo_set2\x00foo_equals\x00foo_equals2\x00') +// CHECK: ('_string_data', '\x00foo_equals\x00_bar\x00_foo\x00foo_set2_global\x00foo_set1_global\x00foo_set2\x00foo_equals2\x00foo_set1\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 33) +// CHECK: (('n_strx', 12) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -74,7 +74,7 @@ foo_equals2 = (_foo - _bar + 0xffff0000) // CHECK: ('_string', '_bar') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 38) +// CHECK: (('n_strx', 17) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -82,7 +82,7 @@ foo_equals2 = (_foo - _bar + 0xffff0000) // CHECK: ('_string', '_foo') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 43) +// CHECK: (('n_strx', 75) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 32) @@ -90,7 +90,7 @@ foo_equals2 = (_foo - _bar + 0xffff0000) // CHECK: ('_string', 'foo_set1') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 52) +// CHECK: (('n_strx', 54) // CHECK: ('n_type', 0x2) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 32) @@ -98,7 +98,7 @@ foo_equals2 = (_foo - _bar + 0xffff0000) // CHECK: ('_string', 'foo_set2') // CHECK: ), // CHECK: # Symbol 4 -// CHECK: (('n_strx', 61) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -106,7 +106,7 @@ foo_equals2 = (_foo - _bar + 0xffff0000) // CHECK: ('_string', 'foo_equals') // CHECK: ), // CHECK: # Symbol 5 -// CHECK: (('n_strx', 72) +// CHECK: (('n_strx', 63) // CHECK: ('n_type', 0x2) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -114,7 +114,7 @@ foo_equals2 = (_foo - _bar + 0xffff0000) // CHECK: ('_string', 'foo_equals2') // CHECK: ), // CHECK: # Symbol 6 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 38) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 32) @@ -122,7 +122,7 @@ foo_equals2 = (_foo - _bar + 0xffff0000) // CHECK: ('_string', 'foo_set1_global') // CHECK: ), // CHECK: # Symbol 7 -// CHECK: (('n_strx', 17) +// CHECK: (('n_strx', 22) // CHECK: ('n_type', 0x3) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 32) diff --git a/test/MC/MachO/absolutize.s b/test/MC/MachO/absolutize.s index 39571dddebd..19917e3bae1 100644 --- a/test/MC/MachO/absolutize.s +++ b/test/MC/MachO/absolutize.s @@ -150,10 +150,10 @@ Ldata_expr_2 = Ldata_d - Ldata_c // CHECK: ('nsyms', 4) // CHECK: ('stroff', 572) // CHECK: ('strsize', 36) -// CHECK: ('_string_data', '\x00_text_a\x00_text_b\x00_data_a\x00_data_b\x00\x00\x00\x00') +// CHECK: ('_string_data', '\x00_text_b\x00_data_b\x00_text_a\x00_data_a\x00\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 17) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -161,7 +161,7 @@ Ldata_expr_2 = Ldata_d - Ldata_c // CHECK: ('_string', '_text_a') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 9) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -169,7 +169,7 @@ Ldata_expr_2 = Ldata_d - Ldata_c // CHECK: ('_string', '_text_b') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 17) +// CHECK: (('n_strx', 25) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -177,7 +177,7 @@ Ldata_expr_2 = Ldata_d - Ldata_c // CHECK: ('_string', '_data_a') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 25) +// CHECK: (('n_strx', 9) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/comm-1.s b/test/MC/MachO/comm-1.s index 5ffa979eb34..cb240f98e14 100644 --- a/test/MC/MachO/comm-1.s +++ b/test/MC/MachO/comm-1.s @@ -51,10 +51,10 @@ // CHECK: ('nsyms', 4) // CHECK: ('stroff', 304) // CHECK: ('strsize', 48) -// CHECK: ('_string_data', '\x00sym_comm_B\x00sym_comm_A\x00sym_comm_C\x00sym_comm_D\x00\x00\x00\x00') +// CHECK: ('_string_data', '\x00sym_comm_D\x00sym_comm_C\x00sym_comm_B\x00sym_comm_A\x00\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 12) +// CHECK: (('n_strx', 34) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -62,7 +62,7 @@ // CHECK: ('_string', 'sym_comm_A') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 23) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -70,7 +70,7 @@ // CHECK: ('_string', 'sym_comm_B') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 23) +// CHECK: (('n_strx', 12) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 544) @@ -78,7 +78,7 @@ // CHECK: ('_string', 'sym_comm_C') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 34) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 768) diff --git a/test/MC/MachO/darwin-complex-difference.s b/test/MC/MachO/darwin-complex-difference.s index e66bd096711..f31d3ade33b 100644 --- a/test/MC/MachO/darwin-complex-difference.s +++ b/test/MC/MachO/darwin-complex-difference.s @@ -74,10 +74,10 @@ _d: // CHECK: ('nsyms', 3) // CHECK: ('stroff', 392) // CHECK: ('strsize', 12) -// CHECK: ('_string_data', '\x00_a\x00_c\x00_d\x00\x00\x00') +// CHECK: ('_string_data', '\x00_d\x00_c\x00_a\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 7) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -93,7 +93,7 @@ _d: // CHECK: ('_string', '_c') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 7) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/darwin-x86_64-diff-relocs.s b/test/MC/MachO/darwin-x86_64-diff-relocs.s index f5d93ae6c0b..eb28cf1af15 100644 --- a/test/MC/MachO/darwin-x86_64-diff-relocs.s +++ b/test/MC/MachO/darwin-x86_64-diff-relocs.s @@ -258,7 +258,7 @@ L3: // CHECK: ('nsyms', 5) // CHECK: ('stroff', 908) // CHECK: ('strsize', 24) -// CHECK: ('_string_data', '\x00_foo\x00_g0\x00_g1\x00_g2\x00_g3\x00\x00\x00') +// CHECK: ('_string_data', '\x00_foo\x00_g3\x00_g2\x00_g1\x00_g0\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 // CHECK: (('n_strx', 1) @@ -269,7 +269,7 @@ L3: // CHECK: ('_string', '_foo') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 6) +// CHECK: (('n_strx', 18) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -277,7 +277,7 @@ L3: // CHECK: ('_string', '_g0') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 10) +// CHECK: (('n_strx', 14) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -285,7 +285,7 @@ L3: // CHECK: ('_string', '_g1') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 14) +// CHECK: (('n_strx', 10) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -293,7 +293,7 @@ L3: // CHECK: ('_string', '_g2') // CHECK: ), // CHECK: # Symbol 4 -// CHECK: (('n_strx', 18) +// CHECK: (('n_strx', 6) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/darwin-x86_64-reloc.s b/test/MC/MachO/darwin-x86_64-reloc.s index 83c0de788f8..1dfb9828eed 100644 --- a/test/MC/MachO/darwin-x86_64-reloc.s +++ b/test/MC/MachO/darwin-x86_64-reloc.s @@ -301,11 +301,11 @@ L6: // CHECK: ('symoff', 1152) // CHECK: ('nsyms', 9) // CHECK: ('stroff', 1296) -// CHECK: ('strsize', 52) -// CHECK: ('_string_data', '\x00_foobar\x00_ext_foo\x00_foo\x00_baz\x00_bar\x00_prev\x00_f2\x00_f3\x00f6\x00\x00\x00') +// CHECK: ('strsize', 48) +// CHECK: ('_string_data', '\x00_baz\x00_prev\x00_foobar\x00_bar\x00_ext_foo\x00f6\x00_f3\x00_f2\x00\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 18) +// CHECK: (('n_strx', 29) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -313,7 +313,7 @@ L6: // CHECK: ('_string', '_foo') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 23) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -321,7 +321,7 @@ L6: // CHECK: ('_string', '_baz') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 28) +// CHECK: (('n_strx', 20) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -329,7 +329,7 @@ L6: // CHECK: ('_string', '_bar') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 33) +// CHECK: (('n_strx', 6) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -337,7 +337,7 @@ L6: // CHECK: ('_string', '_prev') // CHECK: ), // CHECK: # Symbol 4 -// CHECK: (('n_strx', 39) +// CHECK: (('n_strx', 41) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -345,7 +345,7 @@ L6: // CHECK: ('_string', '_f2') // CHECK: ), // CHECK: # Symbol 5 -// CHECK: (('n_strx', 43) +// CHECK: (('n_strx', 37) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -353,7 +353,7 @@ L6: // CHECK: ('_string', '_f3') // CHECK: ), // CHECK: # Symbol 6 -// CHECK: (('n_strx', 47) +// CHECK: (('n_strx', 34) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -361,7 +361,7 @@ L6: // CHECK: ('_string', 'f6') // CHECK: ), // CHECK: # Symbol 7 -// CHECK: (('n_strx', 9) +// CHECK: (('n_strx', 25) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -369,7 +369,7 @@ L6: // CHECK: ('_string', '_ext_foo') // CHECK: ), // CHECK: # Symbol 8 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 12) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/indirect-symbols.s b/test/MC/MachO/indirect-symbols.s index 90fd2315475..079576833cf 100644 --- a/test/MC/MachO/indirect-symbols.s +++ b/test/MC/MachO/indirect-symbols.s @@ -97,10 +97,10 @@ _e: // CHECK: ('nsyms', 6) // CHECK: ('stroff', 516) // CHECK: ('strsize', 20) -// CHECK: ('_string_data', '\x00_d\x00_a\x00_b\x00_c\x00_e\x00_f\x00\x00') +// CHECK: ('_string_data', '\x00_f\x00_e\x00_d\x00_c\x00_b\x00_a\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 7) +// CHECK: (('n_strx', 13) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -116,7 +116,7 @@ _e: // CHECK: ('_string', '_c') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 13) +// CHECK: (('n_strx', 4) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -124,7 +124,7 @@ _e: // CHECK: ('_string', '_e') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 16) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0x2) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -132,7 +132,7 @@ _e: // CHECK: ('_string', '_f') // CHECK: ), // CHECK: # Symbol 4 -// CHECK: (('n_strx', 4) +// CHECK: (('n_strx', 16) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 1) @@ -140,7 +140,7 @@ _e: // CHECK: ('_string', '_a') // CHECK: ), // CHECK: # Symbol 5 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 7) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/lcomm-attributes.s b/test/MC/MachO/lcomm-attributes.s index 1e9592438fe..6e49e8016d1 100644 --- a/test/MC/MachO/lcomm-attributes.s +++ b/test/MC/MachO/lcomm-attributes.s @@ -73,10 +73,10 @@ // CHECK: ('nsyms', 4) // CHECK: ('stroff', 372) // CHECK: ('strsize', 68) -// CHECK: ('_string_data', '\x00sym_lcomm_ext_A\x00sym_lcomm_ext_B\x00sym_zfill_ext_A\x00sym_zfill_ext_B\x00\x00\x00\x00') +// CHECK: ('_string_data', '\x00sym_lcomm_ext_B\x00sym_zfill_ext_B\x00sym_lcomm_ext_A\x00sym_zfill_ext_A\x00\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 33) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -84,7 +84,7 @@ // CHECK: ('_string', 'sym_lcomm_ext_A') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 17) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -92,7 +92,7 @@ // CHECK: ('_string', 'sym_lcomm_ext_B') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 33) +// CHECK: (('n_strx', 49) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -100,7 +100,7 @@ // CHECK: ('_string', 'sym_zfill_ext_A') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 49) +// CHECK: (('n_strx', 17) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/reloc.s b/test/MC/MachO/reloc.s index f6a3446b51b..2a6d5db7d01 100644 --- a/test/MC/MachO/reloc.s +++ b/test/MC/MachO/reloc.s @@ -181,10 +181,10 @@ _f1: // CHECK: ('nsyms', 10) // CHECK: ('stroff', 724) // CHECK: ('strsize', 88) -// CHECK: ('_string_data', '\x00undef\x00local_a_ext\x00.objc_class_name_A\x00_f1\x00local_a\x00local_a_elt\x00local_b\x00local_c\x00bar\x00_f0\x00\x00\x00') +// CHECK: ('_string_data', '\x00local_a_ext\x00local_a_elt\x00bar\x00undef\x00local_c\x00local_b\x00local_a\x00.objc_class_name_A\x00_f1\x00_f0\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 42) +// CHECK: (('n_strx', 51) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -192,7 +192,7 @@ _f1: // CHECK: ('_string', 'local_a') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 50) +// CHECK: (('n_strx', 13) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -200,7 +200,7 @@ _f1: // CHECK: ('_string', 'local_a_elt') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 62) +// CHECK: (('n_strx', 43) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -208,7 +208,7 @@ _f1: // CHECK: ('_string', 'local_b') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 70) +// CHECK: (('n_strx', 35) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -216,7 +216,7 @@ _f1: // CHECK: ('_string', 'local_c') // CHECK: ), // CHECK: # Symbol 4 -// CHECK: (('n_strx', 78) +// CHECK: (('n_strx', 25) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) @@ -232,7 +232,7 @@ _f1: // CHECK: ('_string', '_f0') // CHECK: ), // CHECK: # Symbol 6 -// CHECK: (('n_strx', 19) +// CHECK: (('n_strx', 59) // CHECK: ('n_type', 0x3) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -240,7 +240,7 @@ _f1: // CHECK: ('_string', '.objc_class_name_A') // CHECK: ), // CHECK: # Symbol 7 -// CHECK: (('n_strx', 38) +// CHECK: (('n_strx', 78) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 128) @@ -248,7 +248,7 @@ _f1: // CHECK: ('_string', '_f1') // CHECK: ), // CHECK: # Symbol 8 -// CHECK: (('n_strx', 7) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -256,7 +256,7 @@ _f1: // CHECK: ('_string', 'local_a_ext') // CHECK: ), // CHECK: # Symbol 9 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 29) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/section-align-2.s b/test/MC/MachO/section-align-2.s index e0d7b8df8f4..086fc4a4f15 100644 --- a/test/MC/MachO/section-align-2.s +++ b/test/MC/MachO/section-align-2.s @@ -82,10 +82,10 @@ baz: // CHECK: ('nsyms', 3) // CHECK: ('stroff', 444) // CHECK: ('strsize', 16) -// CHECK: ('_string_data', '\x00foo\x00bar\x00baz\x00\x00\x00\x00') +// CHECK: ('_string_data', '\x00baz\x00bar\x00foo\x00\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 9) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -101,7 +101,7 @@ baz: // CHECK: ('_string', 'bar') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 9) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/string-table.s b/test/MC/MachO/string-table.s index 179528eaae5..3a935eee050 100644 --- a/test/MC/MachO/string-table.s +++ b/test/MC/MachO/string-table.s @@ -53,10 +53,10 @@ // CHECK: ('nsyms', 2) // CHECK: ('stroff', 308) // CHECK: ('strsize', 8) -// CHECK: ('_string_data', '\x00a\x00b\x00\x00\x00\x00') +// CHECK: ('_string_data', '\x00b\x00a\x00\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 3) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -64,7 +64,7 @@ // CHECK: ('_string', 'a') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 3) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/symbol-diff.s b/test/MC/MachO/symbol-diff.s index 1483df16333..dae32878b8e 100644 --- a/test/MC/MachO/symbol-diff.s +++ b/test/MC/MachO/symbol-diff.s @@ -75,10 +75,10 @@ _g.eh: // CHECK-NEXT: ('nsyms', 2) // CHECK-NEXT: ('stroff', 424) // CHECK-NEXT: ('strsize', 12) -// CHECK-NEXT: ('_string_data', '\x00_g\x00_g.eh\x00\x00\x00') +// CHECK-NEXT: ('_string_data', '\x00_g.eh\x00_g\x00\x00\x00') // CHECK-NEXT: ('_symbols', [ // CHECK-NEXT: # Symbol 0 -// CHECK-NEXT: (('n_strx', 1) +// CHECK-NEXT: (('n_strx', 7) // CHECK-NEXT: ('n_type', 0xe) // CHECK-NEXT: ('n_sect', 1) // CHECK-NEXT: ('n_desc', 0) @@ -86,7 +86,7 @@ _g.eh: // CHECK-NEXT: ('_string', '_g') // CHECK-NEXT: ), // CHECK-NEXT: # Symbol 1 -// CHECK-NEXT: (('n_strx', 4) +// CHECK-NEXT: (('n_strx', 1) // CHECK-NEXT: ('n_type', 0xe) // CHECK-NEXT: ('n_sect', 2) // CHECK-NEXT: ('n_desc', 0) diff --git a/test/MC/MachO/symbol-flags.s b/test/MC/MachO/symbol-flags.s index 7a4f8e4031a..561d88a14e7 100644 --- a/test/MC/MachO/symbol-flags.s +++ b/test/MC/MachO/symbol-flags.s @@ -118,10 +118,10 @@ sym_desc_flags: // CHECK: ('nsyms', 24) // CHECK: ('stroff', 612) // CHECK: ('strsize', 388) -// CHECK: ('_string_data', '\x00sym_ref_A\x00sym_ref_def_D\x00sym_ref_def_E\x00sym_weak_ref_A\x00sym_weak_def_A\x00sym_weak_def_B\x00sym_weak_def_C\x00sym_lazy_ref_A\x00sym_lazy_ref_D\x00sym_lazy_ref_E\x00sym_private_ext_A\x00sym_private_ext_B\x00sym_private_ext_C\x00sym_private_ext_D\x00sym_private_ext_E\x00sym_no_dead_strip_A\x00sym_ref_def_A\x00sym_ref_def_C\x00sym_weak_ref_def_A\x00sym_weak_ref_def_B\x00sym_lazy_ref_B\x00sym_lazy_ref_C\x00sym_symbol_resolver_A\x00sym_desc_flags\x00\x00') +// CHECK: ('_string_data', '\x00sym_desc_flags\x00sym_private_ext_E\x00sym_lazy_ref_E\x00sym_ref_def_E\x00sym_private_ext_D\x00sym_lazy_ref_D\x00sym_ref_def_D\x00sym_private_ext_C\x00sym_lazy_ref_C\x00sym_weak_def_C\x00sym_ref_def_C\x00sym_private_ext_B\x00sym_lazy_ref_B\x00sym_weak_def_B\x00sym_weak_ref_def_B\x00sym_private_ext_A\x00sym_symbol_resolver_A\x00sym_no_dead_strip_A\x00sym_lazy_ref_A\x00sym_ref_A\x00sym_weak_ref_A\x00sym_weak_def_A\x00sym_ref_def_A\x00sym_weak_ref_def_A\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 254) +// CHECK: (('n_strx', 354) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 32) @@ -129,7 +129,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_ref_def_A') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 268) +// CHECK: (('n_strx', 158) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 32) @@ -137,7 +137,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_ref_def_C') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 282) +// CHECK: (('n_strx', 368) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 64) @@ -145,7 +145,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_weak_ref_def_A') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 301) +// CHECK: (('n_strx', 220) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -153,7 +153,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_weak_ref_def_B') // CHECK: ), // CHECK: # Symbol 4 -// CHECK: (('n_strx', 320) +// CHECK: (('n_strx', 190) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 32) @@ -161,7 +161,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_lazy_ref_B') // CHECK: ), // CHECK: # Symbol 5 -// CHECK: (('n_strx', 335) +// CHECK: (('n_strx', 128) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 32) @@ -169,7 +169,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_lazy_ref_C') // CHECK: ), // CHECK: # Symbol 6 -// CHECK: (('n_strx', 350) +// CHECK: (('n_strx', 257) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 256) @@ -177,7 +177,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_symbol_resolver_A') // CHECK: ), // CHECK: # Symbol 7 -// CHECK: (('n_strx', 372) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 64) @@ -185,7 +185,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_desc_flags') // CHECK: ), // CHECK: # Symbol 8 -// CHECK: (('n_strx', 162) +// CHECK: (('n_strx', 172) // CHECK: ('n_type', 0x1f) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -193,7 +193,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_private_ext_B') // CHECK: ), // CHECK: # Symbol 9 -// CHECK: (('n_strx', 180) +// CHECK: (('n_strx', 110) // CHECK: ('n_type', 0x1f) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -201,7 +201,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_private_ext_C') // CHECK: ), // CHECK: # Symbol 10 -// CHECK: (('n_strx', 54) +// CHECK: (('n_strx', 339) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 128) @@ -209,7 +209,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_weak_def_A') // CHECK: ), // CHECK: # Symbol 11 -// CHECK: (('n_strx', 69) +// CHECK: (('n_strx', 205) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 128) @@ -217,7 +217,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_weak_def_B') // CHECK: ), // CHECK: # Symbol 12 -// CHECK: (('n_strx', 84) +// CHECK: (('n_strx', 143) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 128) @@ -225,7 +225,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_weak_def_C') // CHECK: ), // CHECK: # Symbol 13 -// CHECK: (('n_strx', 99) +// CHECK: (('n_strx', 299) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 33) @@ -233,7 +233,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_lazy_ref_A') // CHECK: ), // CHECK: # Symbol 14 -// CHECK: (('n_strx', 114) +// CHECK: (('n_strx', 81) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 32) @@ -241,7 +241,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_lazy_ref_D') // CHECK: ), // CHECK: # Symbol 15 -// CHECK: (('n_strx', 129) +// CHECK: (('n_strx', 34) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 33) @@ -249,7 +249,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_lazy_ref_E') // CHECK: ), // CHECK: # Symbol 16 -// CHECK: (('n_strx', 234) +// CHECK: (('n_strx', 279) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 32) @@ -257,7 +257,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_no_dead_strip_A') // CHECK: ), // CHECK: # Symbol 17 -// CHECK: (('n_strx', 144) +// CHECK: (('n_strx', 239) // CHECK: ('n_type', 0x11) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -265,7 +265,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_private_ext_A') // CHECK: ), // CHECK: # Symbol 18 -// CHECK: (('n_strx', 198) +// CHECK: (('n_strx', 63) // CHECK: ('n_type', 0x11) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -273,7 +273,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_private_ext_D') // CHECK: ), // CHECK: # Symbol 19 -// CHECK: (('n_strx', 216) +// CHECK: (('n_strx', 16) // CHECK: ('n_type', 0x11) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -281,7 +281,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_private_ext_E') // CHECK: ), // CHECK: # Symbol 20 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 314) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 4660) @@ -289,7 +289,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_ref_A') // CHECK: ), // CHECK: # Symbol 21 -// CHECK: (('n_strx', 11) +// CHECK: (('n_strx', 96) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 32) @@ -297,7 +297,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_ref_def_D') // CHECK: ), // CHECK: # Symbol 22 -// CHECK: (('n_strx', 25) +// CHECK: (('n_strx', 49) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 32) @@ -305,7 +305,7 @@ sym_desc_flags: // CHECK: ('_string', 'sym_ref_def_E') // CHECK: ), // CHECK: # Symbol 23 -// CHECK: (('n_strx', 39) +// CHECK: (('n_strx', 324) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 64) diff --git a/test/MC/MachO/symbol-indirect.s b/test/MC/MachO/symbol-indirect.s index 2412970322b..1cdeed1f4ef 100644 --- a/test/MC/MachO/symbol-indirect.s +++ b/test/MC/MachO/symbol-indirect.s @@ -137,10 +137,10 @@ sym_nlp_G: // CHECK: ('nsyms', 10) // CHECK: ('stroff', 592) // CHECK: ('strsize', 104) -// CHECK: ('_string_data', '\x00sym_lsp_A\x00sym_lsp_G\x00sym_nlp_A\x00sym_nlp_G\x00sym_nlp_B\x00sym_nlp_E\x00sym_lsp_B\x00sym_lsp_E\x00sym_lsp_C\x00sym_nlp_C\x00\x00\x00\x00') +// CHECK: ('_string_data', '\x00sym_lsp_G\x00sym_nlp_G\x00sym_lsp_E\x00sym_nlp_E\x00sym_lsp_C\x00sym_nlp_C\x00sym_lsp_B\x00sym_nlp_B\x00sym_lsp_A\x00sym_nlp_A\x00\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 81) +// CHECK: (('n_strx', 41) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -148,7 +148,7 @@ sym_nlp_G: // CHECK: ('_string', 'sym_lsp_C') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 91) +// CHECK: (('n_strx', 51) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) @@ -156,7 +156,7 @@ sym_nlp_G: // CHECK: ('_string', 'sym_nlp_C') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 11) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -164,7 +164,7 @@ sym_nlp_G: // CHECK: ('_string', 'sym_lsp_G') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 31) +// CHECK: (('n_strx', 11) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) @@ -172,7 +172,7 @@ sym_nlp_G: // CHECK: ('_string', 'sym_nlp_G') // CHECK: ), // CHECK: # Symbol 4 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 81) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -188,7 +188,7 @@ sym_nlp_G: // CHECK: ('_string', 'sym_lsp_B') // CHECK: ), // CHECK: # Symbol 6 -// CHECK: (('n_strx', 71) +// CHECK: (('n_strx', 21) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 1) @@ -196,7 +196,7 @@ sym_nlp_G: // CHECK: ('_string', 'sym_lsp_E') // CHECK: ), // CHECK: # Symbol 7 -// CHECK: (('n_strx', 21) +// CHECK: (('n_strx', 91) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -204,7 +204,7 @@ sym_nlp_G: // CHECK: ('_string', 'sym_nlp_A') // CHECK: ), // CHECK: # Symbol 8 -// CHECK: (('n_strx', 41) +// CHECK: (('n_strx', 71) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) @@ -212,7 +212,7 @@ sym_nlp_G: // CHECK: ('_string', 'sym_nlp_B') // CHECK: ), // CHECK: # Symbol 9 -// CHECK: (('n_strx', 51) +// CHECK: (('n_strx', 31) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/symbols-1.s b/test/MC/MachO/symbols-1.s index cf05afa7509..8b663dc7176 100644 --- a/test/MC/MachO/symbols-1.s +++ b/test/MC/MachO/symbols-1.s @@ -59,10 +59,10 @@ Lsym_asm_temp: // CHECK-X86_32: ('nsyms', 9) // CHECK-X86_32: ('stroff', 368) // CHECK-X86_32: ('strsize', 140) -// CHECK-X86_32: ('_string_data', '\x00sym_globl_def_B\x00sym_globl_undef_B\x00sym_globl_def_A\x00sym_globl_undef_A\x00sym_globl_def_C\x00sym_globl_undef_C\x00sym_local_B\x00sym_local_A\x00sym_local_C\x00\x00') +// CHECK-X86_32: ('_string_data', '\x00sym_local_C\x00sym_globl_undef_C\x00sym_globl_def_C\x00sym_local_B\x00sym_globl_undef_B\x00sym_globl_def_B\x00sym_local_A\x00sym_globl_undef_A\x00sym_globl_def_A\x00\x00') // CHECK-X86_32: ('_symbols', [ // CHECK-X86_32: # Symbol 0 -// CHECK-X86_32: (('n_strx', 103) +// CHECK-X86_32: (('n_strx', 47) // CHECK-X86_32: ('n_type', 0xe) // CHECK-X86_32: ('n_sect', 1) // CHECK-X86_32: ('n_desc', 0) @@ -70,7 +70,7 @@ Lsym_asm_temp: // CHECK-X86_32: ('_string', 'sym_local_B') // CHECK-X86_32: ), // CHECK-X86_32: # Symbol 1 -// CHECK-X86_32: (('n_strx', 115) +// CHECK-X86_32: (('n_strx', 93) // CHECK-X86_32: ('n_type', 0xe) // CHECK-X86_32: ('n_sect', 1) // CHECK-X86_32: ('n_desc', 0) @@ -78,7 +78,7 @@ Lsym_asm_temp: // CHECK-X86_32: ('_string', 'sym_local_A') // CHECK-X86_32: ), // CHECK-X86_32: # Symbol 2 -// CHECK-X86_32: (('n_strx', 127) +// CHECK-X86_32: (('n_strx', 1) // CHECK-X86_32: ('n_type', 0xe) // CHECK-X86_32: ('n_sect', 1) // CHECK-X86_32: ('n_desc', 0) @@ -86,7 +86,7 @@ Lsym_asm_temp: // CHECK-X86_32: ('_string', 'sym_local_C') // CHECK-X86_32: ), // CHECK-X86_32: # Symbol 3 -// CHECK-X86_32: (('n_strx', 35) +// CHECK-X86_32: (('n_strx', 123) // CHECK-X86_32: ('n_type', 0xf) // CHECK-X86_32: ('n_sect', 1) // CHECK-X86_32: ('n_desc', 0) @@ -94,7 +94,7 @@ Lsym_asm_temp: // CHECK-X86_32: ('_string', 'sym_globl_def_A') // CHECK-X86_32: ), // CHECK-X86_32: # Symbol 4 -// CHECK-X86_32: (('n_strx', 1) +// CHECK-X86_32: (('n_strx', 77) // CHECK-X86_32: ('n_type', 0xf) // CHECK-X86_32: ('n_sect', 1) // CHECK-X86_32: ('n_desc', 0) @@ -102,7 +102,7 @@ Lsym_asm_temp: // CHECK-X86_32: ('_string', 'sym_globl_def_B') // CHECK-X86_32: ), // CHECK-X86_32: # Symbol 5 -// CHECK-X86_32: (('n_strx', 69) +// CHECK-X86_32: (('n_strx', 31) // CHECK-X86_32: ('n_type', 0xf) // CHECK-X86_32: ('n_sect', 1) // CHECK-X86_32: ('n_desc', 0) @@ -110,7 +110,7 @@ Lsym_asm_temp: // CHECK-X86_32: ('_string', 'sym_globl_def_C') // CHECK-X86_32: ), // CHECK-X86_32: # Symbol 6 -// CHECK-X86_32: (('n_strx', 51) +// CHECK-X86_32: (('n_strx', 105) // CHECK-X86_32: ('n_type', 0x1) // CHECK-X86_32: ('n_sect', 0) // CHECK-X86_32: ('n_desc', 0) @@ -118,7 +118,7 @@ Lsym_asm_temp: // CHECK-X86_32: ('_string', 'sym_globl_undef_A') // CHECK-X86_32: ), // CHECK-X86_32: # Symbol 7 -// CHECK-X86_32: (('n_strx', 17) +// CHECK-X86_32: (('n_strx', 59) // CHECK-X86_32: ('n_type', 0x1) // CHECK-X86_32: ('n_sect', 0) // CHECK-X86_32: ('n_desc', 0) @@ -126,7 +126,7 @@ Lsym_asm_temp: // CHECK-X86_32: ('_string', 'sym_globl_undef_B') // CHECK-X86_32: ), // CHECK-X86_32: # Symbol 8 -// CHECK-X86_32: (('n_strx', 85) +// CHECK-X86_32: (('n_strx', 13) // CHECK-X86_32: ('n_type', 0x1) // CHECK-X86_32: ('n_sect', 0) // CHECK-X86_32: ('n_desc', 0) @@ -207,10 +207,10 @@ Lsym_asm_temp: // CHECK-X86_64: ('nsyms', 9) // CHECK-X86_64: ('stroff', 436) // CHECK-X86_64: ('strsize', 140) -// CHECK-X86_64: ('_string_data', '\x00sym_globl_def_B\x00sym_globl_undef_B\x00sym_globl_def_A\x00sym_globl_undef_A\x00sym_globl_def_C\x00sym_globl_undef_C\x00sym_local_B\x00sym_local_A\x00sym_local_C\x00\x00') +// CHECK-X86_64: ('_string_data', '\x00sym_local_C\x00sym_globl_undef_C\x00sym_globl_def_C\x00sym_local_B\x00sym_globl_undef_B\x00sym_globl_def_B\x00sym_local_A\x00sym_globl_undef_A\x00sym_globl_def_A\x00\x00') // CHECK-X86_64: ('_symbols', [ // CHECK-X86_64: # Symbol 0 -// CHECK-X86_64: (('n_strx', 103) +// CHECK-X86_64: (('n_strx', 47) // CHECK-X86_64: ('n_type', 0xe) // CHECK-X86_64: ('n_sect', 1) // CHECK-X86_64: ('n_desc', 0) @@ -218,7 +218,7 @@ Lsym_asm_temp: // CHECK-X86_64: ('_string', 'sym_local_B') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 1 -// CHECK-X86_64: (('n_strx', 115) +// CHECK-X86_64: (('n_strx', 93) // CHECK-X86_64: ('n_type', 0xe) // CHECK-X86_64: ('n_sect', 1) // CHECK-X86_64: ('n_desc', 0) @@ -226,7 +226,7 @@ Lsym_asm_temp: // CHECK-X86_64: ('_string', 'sym_local_A') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 2 -// CHECK-X86_64: (('n_strx', 127) +// CHECK-X86_64: (('n_strx', 1) // CHECK-X86_64: ('n_type', 0xe) // CHECK-X86_64: ('n_sect', 1) // CHECK-X86_64: ('n_desc', 0) @@ -234,7 +234,7 @@ Lsym_asm_temp: // CHECK-X86_64: ('_string', 'sym_local_C') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 3 -// CHECK-X86_64: (('n_strx', 35) +// CHECK-X86_64: (('n_strx', 123) // CHECK-X86_64: ('n_type', 0xf) // CHECK-X86_64: ('n_sect', 1) // CHECK-X86_64: ('n_desc', 0) @@ -242,7 +242,7 @@ Lsym_asm_temp: // CHECK-X86_64: ('_string', 'sym_globl_def_A') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 4 -// CHECK-X86_64: (('n_strx', 1) +// CHECK-X86_64: (('n_strx', 77) // CHECK-X86_64: ('n_type', 0xf) // CHECK-X86_64: ('n_sect', 1) // CHECK-X86_64: ('n_desc', 0) @@ -250,7 +250,7 @@ Lsym_asm_temp: // CHECK-X86_64: ('_string', 'sym_globl_def_B') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 5 -// CHECK-X86_64: (('n_strx', 69) +// CHECK-X86_64: (('n_strx', 31) // CHECK-X86_64: ('n_type', 0xf) // CHECK-X86_64: ('n_sect', 1) // CHECK-X86_64: ('n_desc', 0) @@ -258,7 +258,7 @@ Lsym_asm_temp: // CHECK-X86_64: ('_string', 'sym_globl_def_C') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 6 -// CHECK-X86_64: (('n_strx', 51) +// CHECK-X86_64: (('n_strx', 105) // CHECK-X86_64: ('n_type', 0x1) // CHECK-X86_64: ('n_sect', 0) // CHECK-X86_64: ('n_desc', 0) @@ -266,7 +266,7 @@ Lsym_asm_temp: // CHECK-X86_64: ('_string', 'sym_globl_undef_A') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 7 -// CHECK-X86_64: (('n_strx', 17) +// CHECK-X86_64: (('n_strx', 59) // CHECK-X86_64: ('n_type', 0x1) // CHECK-X86_64: ('n_sect', 0) // CHECK-X86_64: ('n_desc', 0) @@ -274,7 +274,7 @@ Lsym_asm_temp: // CHECK-X86_64: ('_string', 'sym_globl_undef_B') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 8 -// CHECK-X86_64: (('n_strx', 85) +// CHECK-X86_64: (('n_strx', 13) // CHECK-X86_64: ('n_type', 0x1) // CHECK-X86_64: ('n_sect', 0) // CHECK-X86_64: ('n_desc', 0) diff --git a/test/MC/MachO/tbss.s b/test/MC/MachO/tbss.s index 8eae1429686..1c23aa548d7 100644 --- a/test/MC/MachO/tbss.s +++ b/test/MC/MachO/tbss.s @@ -67,10 +67,10 @@ // CHECK: ('nsyms', 2) // CHECK: ('stroff', 400) // CHECK: ('strsize', 28) -// CHECK: ('_string_data', '\x00_a$tlv$init\x00_b$tlv$init\x00\x00\x00\x00') +// CHECK: ('_string_data', '\x00_b$tlv$init\x00_a$tlv$init\x00\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 13) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -78,7 +78,7 @@ // CHECK: ('_string', '_a$tlv$init') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 13) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/tls.s b/test/MC/MachO/tls.s index 44b61beeb48..33e23a9c427 100644 --- a/test/MC/MachO/tls.s +++ b/test/MC/MachO/tls.s @@ -167,10 +167,10 @@ _b: // CHECK: ('nsyms', 9) // CHECK: ('stroff', 840) // CHECK: ('strsize', 80) -// CHECK: ('_string_data', '\x00_c$tlv$init\x00_c\x00___tlv_bootstrap\x00_d$tlv$init\x00_d\x00_a\x00_b\x00_a$tlv$init\x00_b$tlv$init\x00\x00\x00') +// CHECK: ('_string_data', '\x00_d$tlv$init\x00_c$tlv$init\x00_b$tlv$init\x00_a$tlv$init\x00___tlv_bootstrap\x00_d\x00_c\x00_b\x00_a\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 54) +// CHECK: (('n_strx', 37) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -178,7 +178,7 @@ _b: // CHECK: ('_string', '_a$tlv$init') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 66) +// CHECK: (('n_strx', 25) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -186,7 +186,7 @@ _b: // CHECK: ('_string', '_b$tlv$init') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 48) +// CHECK: (('n_strx', 75) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) @@ -194,7 +194,7 @@ _b: // CHECK: ('_string', '_a') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 51) +// CHECK: (('n_strx', 72) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) @@ -202,7 +202,7 @@ _b: // CHECK: ('_string', '_b') // CHECK: ), // CHECK: # Symbol 4 -// CHECK: (('n_strx', 13) +// CHECK: (('n_strx', 69) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) @@ -210,7 +210,7 @@ _b: // CHECK: ('_string', '_c') // CHECK: ), // CHECK: # Symbol 5 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 13) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -218,7 +218,7 @@ _b: // CHECK: ('_string', '_c$tlv$init') // CHECK: ), // CHECK: # Symbol 6 -// CHECK: (('n_strx', 45) +// CHECK: (('n_strx', 66) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) @@ -226,7 +226,7 @@ _b: // CHECK: ('_string', '_d') // CHECK: ), // CHECK: # Symbol 7 -// CHECK: (('n_strx', 33) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -234,7 +234,7 @@ _b: // CHECK: ('_string', '_d$tlv$init') // CHECK: ), // CHECK: # Symbol 8 -// CHECK: (('n_strx', 16) +// CHECK: (('n_strx', 49) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/tlv-reloc.s b/test/MC/MachO/tlv-reloc.s index d1112418472..80e0565c59b 100644 --- a/test/MC/MachO/tlv-reloc.s +++ b/test/MC/MachO/tlv-reloc.s @@ -111,10 +111,10 @@ _foo: // CHECK: ('nsyms', 4) // CHECK: ('stroff', 576) // CHECK: ('strsize', 40) -// CHECK: ('_string_data', '\x00_a\x00__tlv_bootstrap\x00_foo\x00_a$tlv$init\x00\x00\x00\x00') +// CHECK: ('_string_data', '\x00_a$tlv$init\x00__tlv_bootstrap\x00_foo\x00_a\x00\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 25) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -122,7 +122,7 @@ _foo: // CHECK: ('_string', '_a$tlv$init') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 34) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) @@ -130,7 +130,7 @@ _foo: // CHECK: ('_string', '_a') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 20) +// CHECK: (('n_strx', 29) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -138,7 +138,7 @@ _foo: // CHECK: ('_string', '_foo') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 4) +// CHECK: (('n_strx', 13) // CHECK: ('n_type', 0x1) // CHECK: ('n_sect', 0) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/variable-exprs.s b/test/MC/MachO/variable-exprs.s index a7fa45d571a..ac781ef7f67 100644 --- a/test/MC/MachO/variable-exprs.s +++ b/test/MC/MachO/variable-exprs.s @@ -134,10 +134,10 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-I386: ('nsyms', 10) // CHECK-I386: ('stroff', 576) // CHECK-I386: ('strsize', 24) -// CHECK-I386: ('_string_data', '\x00d2\x00d\x00d3\x00a\x00b\x00c\x00e\x00g\x00f\x00t0\x00') +// CHECK-I386: ('_string_data', '\x00g\x00f\x00e\x00d\x00c\x00b\x00a\x00d3\x00d2\x00t0\x00') // CHECK-I386: ('_symbols', [ // CHECK-I386: # Symbol 0 -// CHECK-I386: (('n_strx', 9) +// CHECK-I386: (('n_strx', 13) // CHECK-I386: ('n_type', 0xe) // CHECK-I386: ('n_sect', 2) // CHECK-I386: ('n_desc', 0) @@ -153,7 +153,7 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-I386: ('_string', 'b') // CHECK-I386: ), // CHECK-I386: # Symbol 2 -// CHECK-I386: (('n_strx', 13) +// CHECK-I386: (('n_strx', 9) // CHECK-I386: ('n_type', 0xe) // CHECK-I386: ('n_sect', 2) // CHECK-I386: ('n_desc', 0) @@ -161,7 +161,7 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-I386: ('_string', 'c') // CHECK-I386: ), // CHECK-I386: # Symbol 3 -// CHECK-I386: (('n_strx', 15) +// CHECK-I386: (('n_strx', 5) // CHECK-I386: ('n_type', 0xe) // CHECK-I386: ('n_sect', 2) // CHECK-I386: ('n_desc', 0) @@ -169,7 +169,7 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-I386: ('_string', 'e') // CHECK-I386: ), // CHECK-I386: # Symbol 4 -// CHECK-I386: (('n_strx', 17) +// CHECK-I386: (('n_strx', 1) // CHECK-I386: ('n_type', 0xe) // CHECK-I386: ('n_sect', 2) // CHECK-I386: ('n_desc', 0) @@ -177,7 +177,7 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-I386: ('_string', 'g') // CHECK-I386: ), // CHECK-I386: # Symbol 5 -// CHECK-I386: (('n_strx', 19) +// CHECK-I386: (('n_strx', 3) // CHECK-I386: ('n_type', 0xe) // CHECK-I386: ('n_sect', 2) // CHECK-I386: ('n_desc', 0) @@ -193,7 +193,7 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-I386: ('_string', 't0') // CHECK-I386: ), // CHECK-I386: # Symbol 7 -// CHECK-I386: (('n_strx', 4) +// CHECK-I386: (('n_strx', 7) // CHECK-I386: ('n_type', 0x1) // CHECK-I386: ('n_sect', 0) // CHECK-I386: ('n_desc', 0) @@ -201,15 +201,15 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-I386: ('_string', 'd') // CHECK-I386: ), // CHECK-I386: # Symbol 8 -// CHECK-I386: (('n_strx', 1) +// CHECK-I386: (('n_strx', 18) // CHECK-I386: ('n_type', 0xb) // CHECK-I386: ('n_sect', 0) // CHECK-I386: ('n_desc', 0) -// CHECK-I386: ('n_value', 4) +// CHECK-I386: ('n_value', 7) // CHECK-I386: ('_string', 'd2') // CHECK-I386: ), // CHECK-I386: # Symbol 9 -// CHECK-I386: (('n_strx', 6) +// CHECK-I386: (('n_strx', 15) // CHECK-I386: ('n_type', 0x1) // CHECK-I386: ('n_sect', 0) // CHECK-I386: ('n_desc', 0) @@ -335,10 +335,10 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-X86_64: ('nsyms', 10) // CHECK-X86_64: ('stroff', 660) // CHECK-X86_64: ('strsize', 24) -// CHECK-X86_64: ('_string_data', '\x00d2\x00d\x00d3\x00a\x00b\x00c\x00e\x00g\x00f\x00t0\x00') +// CHECK-X86_64: ('_string_data', '\x00g\x00f\x00e\x00d\x00c\x00b\x00a\x00d3\x00d2\x00t0\x00') // CHECK-X86_64: ('_symbols', [ // CHECK-X86_64: # Symbol 0 -// CHECK-X86_64: (('n_strx', 9) +// CHECK-X86_64: (('n_strx', 13) // CHECK-X86_64: ('n_type', 0xe) // CHECK-X86_64: ('n_sect', 2) // CHECK-X86_64: ('n_desc', 0) @@ -354,7 +354,7 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-X86_64: ('_string', 'b') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 2 -// CHECK-X86_64: (('n_strx', 13) +// CHECK-X86_64: (('n_strx', 9) // CHECK-X86_64: ('n_type', 0xe) // CHECK-X86_64: ('n_sect', 2) // CHECK-X86_64: ('n_desc', 0) @@ -362,7 +362,7 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-X86_64: ('_string', 'c') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 3 -// CHECK-X86_64: (('n_strx', 15) +// CHECK-X86_64: (('n_strx', 5) // CHECK-X86_64: ('n_type', 0xe) // CHECK-X86_64: ('n_sect', 2) // CHECK-X86_64: ('n_desc', 0) @@ -370,7 +370,7 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-X86_64: ('_string', 'e') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 4 -// CHECK-X86_64: (('n_strx', 17) +// CHECK-X86_64: (('n_strx', 1) // CHECK-X86_64: ('n_type', 0xe) // CHECK-X86_64: ('n_sect', 2) // CHECK-X86_64: ('n_desc', 0) @@ -378,7 +378,7 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-X86_64: ('_string', 'g') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 5 -// CHECK-X86_64: (('n_strx', 19) +// CHECK-X86_64: (('n_strx', 3) // CHECK-X86_64: ('n_type', 0xe) // CHECK-X86_64: ('n_sect', 2) // CHECK-X86_64: ('n_desc', 0) @@ -394,7 +394,7 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-X86_64: ('_string', 't0') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 7 -// CHECK-X86_64: (('n_strx', 4) +// CHECK-X86_64: (('n_strx', 7) // CHECK-X86_64: ('n_type', 0x1) // CHECK-X86_64: ('n_sect', 0) // CHECK-X86_64: ('n_desc', 0) @@ -402,15 +402,15 @@ Lt0_x = Lt0_a - Lt0_b // CHECK-X86_64: ('_string', 'd') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 8 -// CHECK-X86_64: (('n_strx', 1) +// CHECK-X86_64: (('n_strx', 18) // CHECK-X86_64: ('n_type', 0xb) // CHECK-X86_64: ('n_sect', 0) // CHECK-X86_64: ('n_desc', 0) -// CHECK-X86_64: ('n_value', 4) +// CHECK-X86_64: ('n_value', 7) // CHECK-X86_64: ('_string', 'd2') // CHECK-X86_64: ), // CHECK-X86_64: # Symbol 9 -// CHECK-X86_64: (('n_strx', 6) +// CHECK-X86_64: (('n_strx', 15) // CHECK-X86_64: ('n_type', 0x1) // CHECK-X86_64: ('n_sect', 0) // CHECK-X86_64: ('n_desc', 0) diff --git a/test/MC/MachO/x86_32-symbols.s b/test/MC/MachO/x86_32-symbols.s index 35ada354d29..95aa507305f 100644 --- a/test/MC/MachO/x86_32-symbols.s +++ b/test/MC/MachO/x86_32-symbols.s @@ -690,10 +690,10 @@ D39: // CHECK: ('nsyms', 40) // CHECK: ('stroff', 3116) // CHECK: ('strsize', 152) -// CHECK: ('_string_data', '\x00D0\x00D1\x00D2\x00D3\x00D4\x00D5\x00D6\x00D7\x00D8\x00D9\x00D10\x00D11\x00D12\x00D13\x00D14\x00D15\x00D16\x00D17\x00D18\x00D19\x00D20\x00D21\x00D22\x00D23\x00D24\x00D25\x00D26\x00D27\x00D28\x00D29\x00D30\x00D31\x00D32\x00D33\x00D34\x00D35\x00D36\x00D37\x00D38\x00D39\x00\x00') +// CHECK: ('_string_data', '\x00D9\x00D39\x00D29\x00D19\x00D8\x00D38\x00D28\x00D18\x00D7\x00D37\x00D27\x00D17\x00D6\x00D36\x00D26\x00D16\x00D5\x00D35\x00D25\x00D15\x00D4\x00D34\x00D24\x00D14\x00D3\x00D33\x00D23\x00D13\x00D2\x00D32\x00D22\x00D12\x00D1\x00D31\x00D21\x00D11\x00D0\x00D30\x00D20\x00D10\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 136) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -701,7 +701,7 @@ D39: // CHECK: ('_string', 'D0') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 4) +// CHECK: (('n_strx', 121) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -709,7 +709,7 @@ D39: // CHECK: ('_string', 'D1') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 7) +// CHECK: (('n_strx', 106) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -717,7 +717,7 @@ D39: // CHECK: ('_string', 'D2') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 10) +// CHECK: (('n_strx', 91) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) @@ -725,7 +725,7 @@ D39: // CHECK: ('_string', 'D3') // CHECK: ), // CHECK: # Symbol 4 -// CHECK: (('n_strx', 13) +// CHECK: (('n_strx', 76) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -733,7 +733,7 @@ D39: // CHECK: ('_string', 'D4') // CHECK: ), // CHECK: # Symbol 5 -// CHECK: (('n_strx', 16) +// CHECK: (('n_strx', 61) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 5) // CHECK: ('n_desc', 0) @@ -741,7 +741,7 @@ D39: // CHECK: ('_string', 'D5') // CHECK: ), // CHECK: # Symbol 6 -// CHECK: (('n_strx', 19) +// CHECK: (('n_strx', 46) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 6) // CHECK: ('n_desc', 0) @@ -749,7 +749,7 @@ D39: // CHECK: ('_string', 'D6') // CHECK: ), // CHECK: # Symbol 7 -// CHECK: (('n_strx', 22) +// CHECK: (('n_strx', 31) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 7) // CHECK: ('n_desc', 0) @@ -757,7 +757,7 @@ D39: // CHECK: ('_string', 'D7') // CHECK: ), // CHECK: # Symbol 8 -// CHECK: (('n_strx', 25) +// CHECK: (('n_strx', 16) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 8) // CHECK: ('n_desc', 0) @@ -765,7 +765,7 @@ D39: // CHECK: ('_string', 'D8') // CHECK: ), // CHECK: # Symbol 9 -// CHECK: (('n_strx', 28) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 9) // CHECK: ('n_desc', 0) @@ -773,7 +773,7 @@ D39: // CHECK: ('_string', 'D9') // CHECK: ), // CHECK: # Symbol 10 -// CHECK: (('n_strx', 31) +// CHECK: (('n_strx', 147) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 10) // CHECK: ('n_desc', 0) @@ -781,7 +781,7 @@ D39: // CHECK: ('_string', 'D10') // CHECK: ), // CHECK: # Symbol 11 -// CHECK: (('n_strx', 35) +// CHECK: (('n_strx', 132) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 11) // CHECK: ('n_desc', 0) @@ -789,7 +789,7 @@ D39: // CHECK: ('_string', 'D11') // CHECK: ), // CHECK: # Symbol 12 -// CHECK: (('n_strx', 39) +// CHECK: (('n_strx', 117) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 12) // CHECK: ('n_desc', 0) @@ -797,7 +797,7 @@ D39: // CHECK: ('_string', 'D12') // CHECK: ), // CHECK: # Symbol 13 -// CHECK: (('n_strx', 43) +// CHECK: (('n_strx', 102) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 13) // CHECK: ('n_desc', 0) @@ -805,7 +805,7 @@ D39: // CHECK: ('_string', 'D13') // CHECK: ), // CHECK: # Symbol 14 -// CHECK: (('n_strx', 47) +// CHECK: (('n_strx', 87) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 14) // CHECK: ('n_desc', 0) @@ -813,7 +813,7 @@ D39: // CHECK: ('_string', 'D14') // CHECK: ), // CHECK: # Symbol 15 -// CHECK: (('n_strx', 51) +// CHECK: (('n_strx', 72) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 15) // CHECK: ('n_desc', 0) @@ -821,7 +821,7 @@ D39: // CHECK: ('_string', 'D15') // CHECK: ), // CHECK: # Symbol 16 -// CHECK: (('n_strx', 55) +// CHECK: (('n_strx', 57) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 16) // CHECK: ('n_desc', 0) @@ -829,7 +829,7 @@ D39: // CHECK: ('_string', 'D16') // CHECK: ), // CHECK: # Symbol 17 -// CHECK: (('n_strx', 59) +// CHECK: (('n_strx', 42) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 17) // CHECK: ('n_desc', 0) @@ -837,7 +837,7 @@ D39: // CHECK: ('_string', 'D17') // CHECK: ), // CHECK: # Symbol 18 -// CHECK: (('n_strx', 63) +// CHECK: (('n_strx', 27) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 18) // CHECK: ('n_desc', 0) @@ -845,7 +845,7 @@ D39: // CHECK: ('_string', 'D18') // CHECK: ), // CHECK: # Symbol 19 -// CHECK: (('n_strx', 67) +// CHECK: (('n_strx', 12) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 19) // CHECK: ('n_desc', 0) @@ -853,7 +853,7 @@ D39: // CHECK: ('_string', 'D19') // CHECK: ), // CHECK: # Symbol 20 -// CHECK: (('n_strx', 71) +// CHECK: (('n_strx', 143) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 20) // CHECK: ('n_desc', 0) @@ -861,7 +861,7 @@ D39: // CHECK: ('_string', 'D20') // CHECK: ), // CHECK: # Symbol 21 -// CHECK: (('n_strx', 75) +// CHECK: (('n_strx', 128) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 21) // CHECK: ('n_desc', 0) @@ -869,7 +869,7 @@ D39: // CHECK: ('_string', 'D21') // CHECK: ), // CHECK: # Symbol 22 -// CHECK: (('n_strx', 79) +// CHECK: (('n_strx', 113) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 22) // CHECK: ('n_desc', 0) @@ -877,7 +877,7 @@ D39: // CHECK: ('_string', 'D22') // CHECK: ), // CHECK: # Symbol 23 -// CHECK: (('n_strx', 83) +// CHECK: (('n_strx', 98) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 23) // CHECK: ('n_desc', 0) @@ -885,7 +885,7 @@ D39: // CHECK: ('_string', 'D23') // CHECK: ), // CHECK: # Symbol 24 -// CHECK: (('n_strx', 87) +// CHECK: (('n_strx', 83) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 24) // CHECK: ('n_desc', 0) @@ -893,7 +893,7 @@ D39: // CHECK: ('_string', 'D24') // CHECK: ), // CHECK: # Symbol 25 -// CHECK: (('n_strx', 91) +// CHECK: (('n_strx', 68) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 25) // CHECK: ('n_desc', 0) @@ -901,7 +901,7 @@ D39: // CHECK: ('_string', 'D25') // CHECK: ), // CHECK: # Symbol 26 -// CHECK: (('n_strx', 95) +// CHECK: (('n_strx', 53) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 26) // CHECK: ('n_desc', 0) @@ -909,7 +909,7 @@ D39: // CHECK: ('_string', 'D26') // CHECK: ), // CHECK: # Symbol 27 -// CHECK: (('n_strx', 99) +// CHECK: (('n_strx', 38) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 27) // CHECK: ('n_desc', 0) @@ -917,7 +917,7 @@ D39: // CHECK: ('_string', 'D27') // CHECK: ), // CHECK: # Symbol 28 -// CHECK: (('n_strx', 103) +// CHECK: (('n_strx', 23) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 28) // CHECK: ('n_desc', 0) @@ -925,7 +925,7 @@ D39: // CHECK: ('_string', 'D28') // CHECK: ), // CHECK: # Symbol 29 -// CHECK: (('n_strx', 107) +// CHECK: (('n_strx', 8) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 29) // CHECK: ('n_desc', 0) @@ -933,7 +933,7 @@ D39: // CHECK: ('_string', 'D29') // CHECK: ), // CHECK: # Symbol 30 -// CHECK: (('n_strx', 111) +// CHECK: (('n_strx', 139) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 30) // CHECK: ('n_desc', 0) @@ -941,7 +941,7 @@ D39: // CHECK: ('_string', 'D30') // CHECK: ), // CHECK: # Symbol 31 -// CHECK: (('n_strx', 115) +// CHECK: (('n_strx', 124) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 31) // CHECK: ('n_desc', 0) @@ -949,7 +949,7 @@ D39: // CHECK: ('_string', 'D31') // CHECK: ), // CHECK: # Symbol 32 -// CHECK: (('n_strx', 119) +// CHECK: (('n_strx', 109) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 32) // CHECK: ('n_desc', 0) @@ -957,7 +957,7 @@ D39: // CHECK: ('_string', 'D32') // CHECK: ), // CHECK: # Symbol 33 -// CHECK: (('n_strx', 123) +// CHECK: (('n_strx', 94) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 33) // CHECK: ('n_desc', 0) @@ -965,7 +965,7 @@ D39: // CHECK: ('_string', 'D33') // CHECK: ), // CHECK: # Symbol 34 -// CHECK: (('n_strx', 127) +// CHECK: (('n_strx', 79) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 34) // CHECK: ('n_desc', 0) @@ -973,7 +973,7 @@ D39: // CHECK: ('_string', 'D34') // CHECK: ), // CHECK: # Symbol 35 -// CHECK: (('n_strx', 131) +// CHECK: (('n_strx', 64) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -981,7 +981,7 @@ D39: // CHECK: ('_string', 'D35') // CHECK: ), // CHECK: # Symbol 36 -// CHECK: (('n_strx', 135) +// CHECK: (('n_strx', 49) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -989,7 +989,7 @@ D39: // CHECK: ('_string', 'D36') // CHECK: ), // CHECK: # Symbol 37 -// CHECK: (('n_strx', 139) +// CHECK: (('n_strx', 34) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -997,7 +997,7 @@ D39: // CHECK: ('_string', 'D37') // CHECK: ), // CHECK: # Symbol 38 -// CHECK: (('n_strx', 143) +// CHECK: (('n_strx', 19) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 35) // CHECK: ('n_desc', 0) @@ -1005,7 +1005,7 @@ D39: // CHECK: ('_string', 'D38') // CHECK: ), // CHECK: # Symbol 39 -// CHECK: (('n_strx', 147) +// CHECK: (('n_strx', 4) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 36) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/x86_64-symbols.s b/test/MC/MachO/x86_64-symbols.s index 804cee84791..9788feb1bd7 100644 --- a/test/MC/MachO/x86_64-symbols.s +++ b/test/MC/MachO/x86_64-symbols.s @@ -647,10 +647,10 @@ D38: // CHECK: ('nsyms', 40) // CHECK: ('stroff', 3328) // CHECK: ('strsize', 152) -// CHECK: ('_string_data', '\x00D0\x00D1\x00D2\x00D3\x00L4\x00D4\x00D5\x00D6\x00D7\x00D8\x00D9\x00D12\x00D13\x00D16\x00D17\x00D18\x00D19\x00D20\x00D21\x00D22\x00D23\x00D24\x00D25\x00D26\x00D27\x00D28\x00D29\x00D30\x00D31\x00D32\x00D33\x00D34\x00L35\x00D35\x00L36\x00D36\x00L37\x00D37\x00L38\x00D38\x00\x00\x00') +// CHECK: ('_string_data', '\x00D9\x00D29\x00D19\x00D8\x00L38\x00D38\x00D28\x00D18\x00D7\x00L37\x00D37\x00D27\x00D17\x00D6\x00L36\x00D36\x00D26\x00D16\x00D5\x00L35\x00D35\x00D25\x00L4\x00D4\x00D34\x00D24\x00D3\x00D33\x00D23\x00D13\x00D2\x00D32\x00D22\x00D12\x00D1\x00D31\x00D21\x00D0\x00D30\x00D20\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 139) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -658,7 +658,7 @@ D38: // CHECK: ('_string', 'D0') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 4) +// CHECK: (('n_strx', 128) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 1) // CHECK: ('n_desc', 0) @@ -666,7 +666,7 @@ D38: // CHECK: ('_string', 'D1') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 7) +// CHECK: (('n_strx', 113) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -674,7 +674,7 @@ D38: // CHECK: ('_string', 'D2') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 10) +// CHECK: (('n_strx', 98) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 3) // CHECK: ('n_desc', 0) @@ -682,7 +682,7 @@ D38: // CHECK: ('_string', 'D3') // CHECK: ), // CHECK: # Symbol 4 -// CHECK: (('n_strx', 13) +// CHECK: (('n_strx', 84) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -690,7 +690,7 @@ D38: // CHECK: ('_string', 'L4') // CHECK: ), // CHECK: # Symbol 5 -// CHECK: (('n_strx', 16) +// CHECK: (('n_strx', 87) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -698,7 +698,7 @@ D38: // CHECK: ('_string', 'D4') // CHECK: ), // CHECK: # Symbol 6 -// CHECK: (('n_strx', 19) +// CHECK: (('n_strx', 69) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 5) // CHECK: ('n_desc', 0) @@ -706,7 +706,7 @@ D38: // CHECK: ('_string', 'D5') // CHECK: ), // CHECK: # Symbol 7 -// CHECK: (('n_strx', 22) +// CHECK: (('n_strx', 50) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 6) // CHECK: ('n_desc', 0) @@ -714,7 +714,7 @@ D38: // CHECK: ('_string', 'D6') // CHECK: ), // CHECK: # Symbol 8 -// CHECK: (('n_strx', 25) +// CHECK: (('n_strx', 31) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 7) // CHECK: ('n_desc', 0) @@ -722,7 +722,7 @@ D38: // CHECK: ('_string', 'D7') // CHECK: ), // CHECK: # Symbol 9 -// CHECK: (('n_strx', 28) +// CHECK: (('n_strx', 12) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 8) // CHECK: ('n_desc', 0) @@ -730,7 +730,7 @@ D38: // CHECK: ('_string', 'D8') // CHECK: ), // CHECK: # Symbol 10 -// CHECK: (('n_strx', 31) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 9) // CHECK: ('n_desc', 0) @@ -738,7 +738,7 @@ D38: // CHECK: ('_string', 'D9') // CHECK: ), // CHECK: # Symbol 11 -// CHECK: (('n_strx', 34) +// CHECK: (('n_strx', 124) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 10) // CHECK: ('n_desc', 0) @@ -746,7 +746,7 @@ D38: // CHECK: ('_string', 'D12') // CHECK: ), // CHECK: # Symbol 12 -// CHECK: (('n_strx', 38) +// CHECK: (('n_strx', 109) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 11) // CHECK: ('n_desc', 0) @@ -754,7 +754,7 @@ D38: // CHECK: ('_string', 'D13') // CHECK: ), // CHECK: # Symbol 13 -// CHECK: (('n_strx', 42) +// CHECK: (('n_strx', 65) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 12) // CHECK: ('n_desc', 0) @@ -770,7 +770,7 @@ D38: // CHECK: ('_string', 'D17') // CHECK: ), // CHECK: # Symbol 15 -// CHECK: (('n_strx', 50) +// CHECK: (('n_strx', 27) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 14) // CHECK: ('n_desc', 0) @@ -778,7 +778,7 @@ D38: // CHECK: ('_string', 'D18') // CHECK: ), // CHECK: # Symbol 16 -// CHECK: (('n_strx', 54) +// CHECK: (('n_strx', 8) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 15) // CHECK: ('n_desc', 0) @@ -786,7 +786,7 @@ D38: // CHECK: ('_string', 'D19') // CHECK: ), // CHECK: # Symbol 17 -// CHECK: (('n_strx', 58) +// CHECK: (('n_strx', 146) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 16) // CHECK: ('n_desc', 0) @@ -794,7 +794,7 @@ D38: // CHECK: ('_string', 'D20') // CHECK: ), // CHECK: # Symbol 18 -// CHECK: (('n_strx', 62) +// CHECK: (('n_strx', 135) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 17) // CHECK: ('n_desc', 0) @@ -802,7 +802,7 @@ D38: // CHECK: ('_string', 'D21') // CHECK: ), // CHECK: # Symbol 19 -// CHECK: (('n_strx', 66) +// CHECK: (('n_strx', 120) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 18) // CHECK: ('n_desc', 0) @@ -810,7 +810,7 @@ D38: // CHECK: ('_string', 'D22') // CHECK: ), // CHECK: # Symbol 20 -// CHECK: (('n_strx', 70) +// CHECK: (('n_strx', 105) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 19) // CHECK: ('n_desc', 0) @@ -818,7 +818,7 @@ D38: // CHECK: ('_string', 'D23') // CHECK: ), // CHECK: # Symbol 21 -// CHECK: (('n_strx', 74) +// CHECK: (('n_strx', 94) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 20) // CHECK: ('n_desc', 0) @@ -826,7 +826,7 @@ D38: // CHECK: ('_string', 'D24') // CHECK: ), // CHECK: # Symbol 22 -// CHECK: (('n_strx', 78) +// CHECK: (('n_strx', 80) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 21) // CHECK: ('n_desc', 0) @@ -834,7 +834,7 @@ D38: // CHECK: ('_string', 'D25') // CHECK: ), // CHECK: # Symbol 23 -// CHECK: (('n_strx', 82) +// CHECK: (('n_strx', 61) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 22) // CHECK: ('n_desc', 0) @@ -842,7 +842,7 @@ D38: // CHECK: ('_string', 'D26') // CHECK: ), // CHECK: # Symbol 24 -// CHECK: (('n_strx', 86) +// CHECK: (('n_strx', 42) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 23) // CHECK: ('n_desc', 0) @@ -850,7 +850,7 @@ D38: // CHECK: ('_string', 'D27') // CHECK: ), // CHECK: # Symbol 25 -// CHECK: (('n_strx', 90) +// CHECK: (('n_strx', 23) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 24) // CHECK: ('n_desc', 0) @@ -858,7 +858,7 @@ D38: // CHECK: ('_string', 'D28') // CHECK: ), // CHECK: # Symbol 26 -// CHECK: (('n_strx', 94) +// CHECK: (('n_strx', 4) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 25) // CHECK: ('n_desc', 0) @@ -866,7 +866,7 @@ D38: // CHECK: ('_string', 'D29') // CHECK: ), // CHECK: # Symbol 27 -// CHECK: (('n_strx', 98) +// CHECK: (('n_strx', 142) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 26) // CHECK: ('n_desc', 0) @@ -874,7 +874,7 @@ D38: // CHECK: ('_string', 'D30') // CHECK: ), // CHECK: # Symbol 28 -// CHECK: (('n_strx', 102) +// CHECK: (('n_strx', 131) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 27) // CHECK: ('n_desc', 0) @@ -882,7 +882,7 @@ D38: // CHECK: ('_string', 'D31') // CHECK: ), // CHECK: # Symbol 29 -// CHECK: (('n_strx', 106) +// CHECK: (('n_strx', 116) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 28) // CHECK: ('n_desc', 0) @@ -890,7 +890,7 @@ D38: // CHECK: ('_string', 'D32') // CHECK: ), // CHECK: # Symbol 30 -// CHECK: (('n_strx', 110) +// CHECK: (('n_strx', 101) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 29) // CHECK: ('n_desc', 0) @@ -898,7 +898,7 @@ D38: // CHECK: ('_string', 'D33') // CHECK: ), // CHECK: # Symbol 31 -// CHECK: (('n_strx', 114) +// CHECK: (('n_strx', 90) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 30) // CHECK: ('n_desc', 0) @@ -906,7 +906,7 @@ D38: // CHECK: ('_string', 'D34') // CHECK: ), // CHECK: # Symbol 32 -// CHECK: (('n_strx', 118) +// CHECK: (('n_strx', 72) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -914,7 +914,7 @@ D38: // CHECK: ('_string', 'L35') // CHECK: ), // CHECK: # Symbol 33 -// CHECK: (('n_strx', 122) +// CHECK: (('n_strx', 76) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -922,7 +922,7 @@ D38: // CHECK: ('_string', 'D35') // CHECK: ), // CHECK: # Symbol 34 -// CHECK: (('n_strx', 126) +// CHECK: (('n_strx', 53) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -930,7 +930,7 @@ D38: // CHECK: ('_string', 'L36') // CHECK: ), // CHECK: # Symbol 35 -// CHECK: (('n_strx', 130) +// CHECK: (('n_strx', 57) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -938,7 +938,7 @@ D38: // CHECK: ('_string', 'D36') // CHECK: ), // CHECK: # Symbol 36 -// CHECK: (('n_strx', 134) +// CHECK: (('n_strx', 34) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -946,7 +946,7 @@ D38: // CHECK: ('_string', 'L37') // CHECK: ), // CHECK: # Symbol 37 -// CHECK: (('n_strx', 138) +// CHECK: (('n_strx', 38) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 4) // CHECK: ('n_desc', 0) @@ -954,7 +954,7 @@ D38: // CHECK: ('_string', 'D37') // CHECK: ), // CHECK: # Symbol 38 -// CHECK: (('n_strx', 142) +// CHECK: (('n_strx', 15) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 31) // CHECK: ('n_desc', 0) @@ -962,7 +962,7 @@ D38: // CHECK: ('_string', 'L38') // CHECK: ), // CHECK: # Symbol 39 -// CHECK: (('n_strx', 146) +// CHECK: (('n_strx', 19) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 31) // CHECK: ('n_desc', 0) diff --git a/test/MC/MachO/zerofill-3.s b/test/MC/MachO/zerofill-3.s index cc81fa86342..a4cd31ec0a4 100644 --- a/test/MC/MachO/zerofill-3.s +++ b/test/MC/MachO/zerofill-3.s @@ -78,10 +78,10 @@ // CHECK: ('nsyms', 4) // CHECK: ('stroff', 372) // CHECK: ('strsize', 52) -// CHECK: ('_string_data', '\x00sym_lcomm_C\x00sym_lcomm_D\x00sym_lcomm_A\x00sym_lcomm_B\x00\x00\x00\x00') +// CHECK: ('_string_data', '\x00sym_lcomm_D\x00sym_lcomm_C\x00sym_lcomm_B\x00sym_lcomm_A\x00\x00\x00\x00') // CHECK: ('_symbols', [ // CHECK: # Symbol 0 -// CHECK: (('n_strx', 25) +// CHECK: (('n_strx', 37) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -89,7 +89,7 @@ // CHECK: ('_string', 'sym_lcomm_A') // CHECK: ), // CHECK: # Symbol 1 -// CHECK: (('n_strx', 37) +// CHECK: (('n_strx', 25) // CHECK: ('n_type', 0xe) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -97,7 +97,7 @@ // CHECK: ('_string', 'sym_lcomm_B') // CHECK: ), // CHECK: # Symbol 2 -// CHECK: (('n_strx', 1) +// CHECK: (('n_strx', 13) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) @@ -105,7 +105,7 @@ // CHECK: ('_string', 'sym_lcomm_C') // CHECK: ), // CHECK: # Symbol 3 -// CHECK: (('n_strx', 13) +// CHECK: (('n_strx', 1) // CHECK: ('n_type', 0xf) // CHECK: ('n_sect', 2) // CHECK: ('n_desc', 0) -- 2.34.1