[llvm] r240302 - Bring r240130 back.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Jun 22 18:05:29 PDT 2015


Interesting. I wouldn't expect any difference in the generated relocations,
just on the name of what they point to (which is a local symbol anyway).

Do revert if it fixes the problem.  Can you provide a testcase of when this
makes a difference on which relocations are produced?
On Jun 22, 2015 4:40 PM, "Richard Smith" <richard at metafoo.co.uk> wrote:

> Hi Rafael,
>
> Some recent change is causing many link failures for us, of the following
> forms:
>
> ld: error: blah.o: requires dynamic R_X86_64_PC32 reloc against '' which may overflow at runtime; recompile with -fPIC
>
> blah.cc:function f(): error: undefined reference to ''
> blah.o:g(): error: undefined reference to ''
>
>
> The empty symbol names make me suspect this patch is the culprit. (The .o
> files producing the first diagnostic *were* all built with -fPIC.)
>
> On Mon, Jun 22, 2015 at 10:52 AM, Rafael Espindola <
> rafael.espindola at gmail.com> wrote:
>
>> Author: rafael
>> Date: Mon Jun 22 12:52:52 2015
>> New Revision: 240302
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=240302&view=rev
>> Log:
>> Bring r240130 back.
>>
>> Now that pr23900 is fixed, we can bring it back with no changes.
>>
>> Original message:
>>
>> Make all temporary symbols unnamed.
>>
>> What this does is make all symbols that would otherwise start with a .L
>> (or L on MachO) unnamed.
>>
>> Some of these symbols still show up in the symbol table, but we can just
>> make them unnamed.
>>
>> In order to make sure we produce identical results when going thought
>> assembly,
>> all .L (not just the compiler produced ones), are now unnamed.
>>
>> Running llc on llvm-as.opt.bc, the peak memory usage goes from 208.24MB to
>> 205.57MB.
>>
>> Added:
>>     llvm/trunk/test/MC/ELF/undef-temp.s
>> Removed:
>>     llvm/trunk/test/MC/ELF/undef2.s
>> Modified:
>>     llvm/trunk/include/llvm/MC/MCContext.h
>>     llvm/trunk/lib/MC/ELFObjectWriter.cpp
>>     llvm/trunk/lib/MC/MCContext.cpp
>>     llvm/trunk/lib/MC/MachObjectWriter.cpp
>>     llvm/trunk/test/CodeGen/SPARC/obj-relocs.ll
>>     llvm/trunk/test/MC/ARM/elf-reloc-02.s
>>     llvm/trunk/test/MC/ELF/basic-elf-32.s
>>     llvm/trunk/test/MC/ELF/compression.s
>>     llvm/trunk/test/MC/ELF/discriminator.s
>>     llvm/trunk/test/MC/ELF/merge.s
>>     llvm/trunk/test/MC/ELF/relocation-386.s
>>     llvm/trunk/test/MC/ELF/undef.s
>>     llvm/trunk/test/MC/MachO/AArch64/classrefs.s
>>     llvm/trunk/test/MC/MachO/AArch64/darwin-ARM64-reloc.s
>>     llvm/trunk/test/MC/MachO/AArch64/ld64-workaround.s
>>     llvm/trunk/test/MC/MachO/AArch64/mergeable.s
>>     llvm/trunk/test/MC/MachO/AArch64/reloc-crash.s
>>     llvm/trunk/test/MC/MachO/x86_64-mergeable.s
>>     llvm/trunk/test/MC/MachO/x86_64-symbols.s
>>     llvm/trunk/test/MC/Mips/cpsetup.s
>>     llvm/trunk/test/MC/Mips/elf-relsym.s
>>     llvm/trunk/test/MC/Mips/xgot.s
>>     llvm/trunk/test/MC/Sparc/sparc-pic.s
>>
>> Modified: llvm/trunk/include/llvm/MC/MCContext.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCContext.h?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/MC/MCContext.h (original)
>> +++ llvm/trunk/include/llvm/MC/MCContext.h Mon Jun 22 12:52:52 2015
>> @@ -208,8 +208,7 @@ namespace llvm {
>>
>>      MCSymbol *createSymbolImpl(const StringMapEntry<bool> *Name,
>>                                 bool CanBeUnnamed);
>> -    MCSymbol *createSymbol(StringRef Name, bool AlwaysAddSuffix,
>> -                           bool IsTemporary);
>> +    MCSymbol *createSymbol(StringRef Name, bool AlwaysAddSuffix);
>>
>>      MCSymbol *getOrCreateDirectionalLocalSymbol(unsigned LocalLabelVal,
>>                                                  unsigned Instance);
>> @@ -249,10 +248,9 @@ namespace llvm {
>>
>>      /// Create and return a new assembler temporary symbol with a unique
>> but
>>      /// unspecified name.
>> -    MCSymbol *createTempSymbol(bool CanBeUnnamed = true);
>> +    MCSymbol *createTempSymbol();
>>
>> -    MCSymbol *createTempSymbol(const Twine &Name, bool AlwaysAddSuffix,
>> -                               bool CanBeUnnamed = true);
>> +    MCSymbol *createTempSymbol(const Twine &Name, bool AlwaysAddSuffix);
>>
>>      /// Create the definition of a directional local symbol for numbered
>> label
>>      /// (used for "1:" definitions).
>>
>> Modified: llvm/trunk/lib/MC/ELFObjectWriter.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/ELFObjectWriter.cpp?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/MC/ELFObjectWriter.cpp (original)
>> +++ llvm/trunk/lib/MC/ELFObjectWriter.cpp Mon Jun 22 12:52:52 2015
>> @@ -787,10 +787,15 @@ void ELFObjectWriter::computeSymbolTable
>>                      Renames.count(&Symbol)))
>>        continue;
>>
>> +    if (Symbol.isTemporary() && Symbol.isUndefined())
>> +      Ctx.reportFatalError(SMLoc(), "Undefined temporary");
>> +
>>      ELFSymbolData MSD;
>>      MSD.Symbol = cast<MCSymbolELF>(&Symbol);
>>
>>      bool Local = Symbol.getBinding() == ELF::STB_LOCAL;
>> +    assert(Local || !Symbol.isTemporary());
>> +
>>      if (Symbol.isAbsolute()) {
>>        MSD.SectionIndex = ELF::SHN_ABS;
>>      } else if (Symbol.isCommon()) {
>> @@ -889,9 +894,11 @@ void ELFObjectWriter::computeSymbolTable
>>    unsigned Index = FileNames.size() + 1;
>>
>>    for (ELFSymbolData &MSD : LocalSymbolData) {
>> -    unsigned StringIndex = MSD.Symbol->getType() == ELF::STT_SECTION
>> -                               ? 0
>> -                               : StrTabBuilder.getOffset(MSD.Name);
>> +    unsigned StringIndex;
>> +    if (MSD.Symbol->getType() == ELF::STT_SECTION || MSD.Name.empty())
>> +      StringIndex = 0;
>> +    else
>> +      StringIndex = StrTabBuilder.getOffset(MSD.Name);
>>      MSD.Symbol->setIndex(Index++);
>>      writeSymbol(Writer, StringIndex, MSD, Layout);
>>    }
>>
>> Modified: llvm/trunk/lib/MC/MCContext.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCContext.cpp?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/MC/MCContext.cpp (original)
>> +++ llvm/trunk/lib/MC/MCContext.cpp Mon Jun 22 12:52:52 2015
>> @@ -116,7 +116,7 @@ MCSymbol *MCContext::getOrCreateSymbol(c
>>
>>    MCSymbol *&Sym = Symbols[NameRef];
>>    if (!Sym)
>> -    Sym = createSymbol(NameRef, false, false);
>> +    Sym = createSymbol(NameRef, false);
>>
>>    return Sym;
>>  }
>> @@ -175,17 +175,16 @@ MCSymbol *MCContext::createSymbolImpl(co
>>                                      IsTemporary);
>>  }
>>
>> -MCSymbol *MCContext::createSymbol(StringRef Name, bool AlwaysAddSuffix,
>> -                                  bool CanBeUnnamed) {
>> -  if (CanBeUnnamed && !UseNamesOnTempLabels)
>> -    return createSymbolImpl(nullptr, true);
>> -
>> +MCSymbol *MCContext::createSymbol(StringRef Name, bool AlwaysAddSuffix) {
>>    // Determine whether this is an user writter assembler temporary or
>> normal
>>    // label, if used.
>> -  bool IsTemporary = CanBeUnnamed;
>> -  if (AllowTemporaryLabels && !IsTemporary)
>> +  bool IsTemporary = false;
>> +  if (AllowTemporaryLabels)
>>      IsTemporary = Name.startswith(MAI->getPrivateGlobalPrefix());
>>
>> +  if (IsTemporary && !UseNamesOnTempLabels)
>> +    return createSymbolImpl(nullptr, true);
>> +
>>    SmallString<128> NewName = Name;
>>    bool AddSuffix = AlwaysAddSuffix;
>>    unsigned &NextUniqueID = NextID[Name];
>> @@ -206,21 +205,20 @@ MCSymbol *MCContext::createSymbol(String
>>    llvm_unreachable("Infinite loop");
>>  }
>>
>> -MCSymbol *MCContext::createTempSymbol(const Twine &Name, bool
>> AlwaysAddSuffix,
>> -                                      bool CanBeUnnamed) {
>> +MCSymbol *MCContext::createTempSymbol(const Twine &Name, bool
>> AlwaysAddSuffix) {
>>    SmallString<128> NameSV;
>>    raw_svector_ostream(NameSV) << MAI->getPrivateGlobalPrefix() << Name;
>> -  return createSymbol(NameSV, AlwaysAddSuffix, CanBeUnnamed);
>> +  return createSymbol(NameSV, AlwaysAddSuffix);
>>  }
>>
>>  MCSymbol *MCContext::createLinkerPrivateTempSymbol() {
>>    SmallString<128> NameSV;
>>    raw_svector_ostream(NameSV) << MAI->getLinkerPrivateGlobalPrefix() <<
>> "tmp";
>> -  return createSymbol(NameSV, true, false);
>> +  return createSymbol(NameSV, true);
>>  }
>>
>> -MCSymbol *MCContext::createTempSymbol(bool CanBeUnnamed) {
>> -  return createTempSymbol("tmp", true, CanBeUnnamed);
>> +MCSymbol *MCContext::createTempSymbol() {
>> +  return createTempSymbol("tmp", true);
>>  }
>>
>>  unsigned MCContext::NextInstance(unsigned LocalLabelVal) {
>> @@ -241,7 +239,7 @@ MCSymbol *MCContext::getOrCreateDirectio
>>                                                         unsigned
>> Instance) {
>>    MCSymbol *&Sym = LocalSymbols[std::make_pair(LocalLabelVal, Instance)];
>>    if (!Sym)
>> -    Sym = createTempSymbol(false);
>> +    Sym = createTempSymbol();
>>    return Sym;
>>  }
>>
>>
>> Modified: llvm/trunk/lib/MC/MachObjectWriter.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MachObjectWriter.cpp?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/MC/MachObjectWriter.cpp (original)
>> +++ llvm/trunk/lib/MC/MachObjectWriter.cpp Mon Jun 22 12:52:52 2015
>> @@ -565,7 +565,8 @@ void MachObjectWriter::computeSymbolTabl
>>
>>      MachSymbolData MSD;
>>      MSD.Symbol = &Symbol;
>> -    MSD.StringIndex = StringTable.getOffset(Symbol.getName());
>> +    StringRef Name = Symbol.getName();
>> +    MSD.StringIndex = Name.empty() ? 0 : StringTable.getOffset(Name);
>>
>>      if (Symbol.isAbsolute()) {
>>        MSD.SectionIndex = 0;
>>
>> Modified: llvm/trunk/test/CodeGen/SPARC/obj-relocs.ll
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/SPARC/obj-relocs.ll?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/CodeGen/SPARC/obj-relocs.ll (original)
>> +++ llvm/trunk/test/CodeGen/SPARC/obj-relocs.ll Mon Jun 22 12:52:52 2015
>> @@ -16,8 +16,8 @@
>>  ; CHECK-PIC-NEXT:    0x{{[0-9,A-F]+}} R_SPARC_PC10 _GLOBAL_OFFSET_TABLE_
>> 0x8
>>  ; CHECK-PIC-NEXT:    0x{{[0-9,A-F]+}} R_SPARC_GOT22 AGlobalVar 0x0
>>  ; CHECK-PIC-NEXT:    0x{{[0-9,A-F]+}} R_SPARC_GOT10 AGlobalVar 0x0
>> -; CHECK-PIC-NEXT:    0x{{[0-9,A-F]+}} R_SPARC_GOT22 .L.mystr 0x0
>> -; CHECK-PIC-NEXT:    0x{{[0-9,A-F]+}} R_SPARC_GOT10 .L.mystr 0x0
>> +; CHECK-PIC-NEXT:    0x{{[0-9,A-F]+}} R_SPARC_GOT22 - 0x0
>> +; CHECK-PIC-NEXT:    0x{{[0-9,A-F]+}} R_SPARC_GOT10 - 0x0
>>  ; CHECK-PIC-NEXT:    0x{{[0-9,A-F]+}} R_SPARC_WPLT30 bar 0x0
>>  ; CHECK-PIC:      ]
>>
>>
>> Modified: llvm/trunk/test/MC/ARM/elf-reloc-02.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/elf-reloc-02.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/ARM/elf-reloc-02.s (original)
>> +++ llvm/trunk/test/MC/ARM/elf-reloc-02.s Mon Jun 22 12:52:52 2015
>> @@ -22,6 +22,6 @@
>>
>>  // OBJ:      Relocations [
>>  // OBJ:        Section {{.*}} .rel.text {
>> -// OBJ-NEXT:     0x{{[0-9,A-F]+}} R_ARM_MOVW_ABS_NC .L.str
>> +// OBJ-NEXT:     0x{{[0-9,A-F]+}} R_ARM_MOVW_ABS_NC -
>>  // OBJ:        }
>>  // OBJ:      ]
>>
>> Modified: llvm/trunk/test/MC/ELF/basic-elf-32.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/basic-elf-32.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/ELF/basic-elf-32.s (original)
>> +++ llvm/trunk/test/MC/ELF/basic-elf-32.s Mon Jun 22 12:52:52 2015
>> @@ -46,9 +46,9 @@ main:
>>
>>  // CHECK: Relocations [
>>  // CHECK:   Section {{.*}} .rel.text {
>> -// CHECK:     0x6  R_386_32   .L.str1
>> +// CHECK:     0x6  R_386_32   -
>>  // CHECK:     0xB  R_386_PC32 puts
>> -// CHECK:     0x12 R_386_32   .L.str2
>> +// CHECK:     0x12 R_386_32   -
>>  // CHECK:     0x17 R_386_PC32 puts
>>  // CHECK:   }
>>  // CHECK: ]
>>
>> Modified: llvm/trunk/test/MC/ELF/compression.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/compression.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/ELF/compression.s (original)
>> +++ llvm/trunk/test/MC/ELF/compression.s Mon Jun 22 12:52:52 2015
>> @@ -28,9 +28,24 @@
>>
>>  // In x86 32 bit named symbols are used for temporary symbols in merge
>>  // sections, so make sure we handle symbols inside compressed sections
>> -// 386-SYMBOLS: Name: .Linfo_string0
>> -// 386-SYMBOLS-NOT: }
>> -// 386-SYMBOLS: Section: .zdebug_str
>> +// 386-SYMBOLS:        Symbol {
>> +// 386-SYMBOLS-NEXT:    Name:  (0)
>> +// 386-SYMBOLS-NEXT:    Value: 0x0
>> +// 386-SYMBOLS-NEXT:    Size: 0
>> +// 386-SYMBOLS-NEXT:    Binding: Local (0x0)
>> +// 386-SYMBOLS-NEXT:    Type: None (0x0)
>> +// 386-SYMBOLS-NEXT:    Other: 0
>> +// 386-SYMBOLS-NEXT:    Section: Undefined (0x0)
>> +// 386-SYMBOLS-NEXT:  }
>> +// 386-SYMBOLS-NEXT:  Symbol {
>> +// 386-SYMBOLS-NEXT:    Name:  (0)
>> +// 386-SYMBOLS-NEXT:    Value: 0x0
>> +// 386-SYMBOLS-NEXT:    Size: 0
>> +// 386-SYMBOLS-NEXT:    Binding: Local (0x0)
>> +// 386-SYMBOLS-NEXT:    Type: None (0x0)
>> +// 386-SYMBOLS-NEXT:    Other: 0
>> +// 386-SYMBOLS-NEXT:    Section: .zdebug_str (0xA)
>> +// 386-SYMBOLS-NEXT:  }
>>
>>         .section        .debug_line,"", at progbits
>>
>>
>> Modified: llvm/trunk/test/MC/ELF/discriminator.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/discriminator.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/ELF/discriminator.s (original)
>> +++ llvm/trunk/test/MC/ELF/discriminator.s Mon Jun 22 12:52:52 2015
>> @@ -19,12 +19,12 @@ foo:
>>          .long   .L.debug_abbrev_begin   # Offset Into Abbrev. Section
>>          .byte   8                       # Address Size (in bytes)
>>          .byte   1                       # Abbrev [1] 0xb:0x1b
>> DW_TAG_compile_unit
>> -        .long   .Linfo_string0          # DW_AT_producer
>> +        .long   info_string0            # DW_AT_producer
>>          .short  12                      # DW_AT_language
>> -        .long   .Linfo_string1          # DW_AT_name
>> +        .long   info_string1            # DW_AT_name
>>          .quad   0                       # DW_AT_low_pc
>>          .long   0                       # DW_AT_stmt_list
>> -        .long   .Linfo_string2          # DW_AT_comp_dir
>> +        .long   info_string2            # DW_AT_comp_dir
>>                                          # DW_AT_APPLE_optimized
>>          .section        .debug_abbrev,"", at progbits
>>  .L.debug_abbrev_begin:
>>
>> Modified: llvm/trunk/test/MC/ELF/merge.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/merge.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/ELF/merge.s (original)
>> +++ llvm/trunk/test/MC/ELF/merge.s Mon Jun 22 12:52:52 2015
>> @@ -22,9 +22,9 @@ foo:
>>
>>  // CHECK:      Relocations [
>>  // CHECK-NEXT:   Section {{.*}} .rela.text {
>> -// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_PC32    .Lfoo 0x{{[^ ]+}}
>> +// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_PC32     -    0x{{[^ ]+}}
>>  // CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_32      .sec1 0x{{[^ ]+}}
>> -// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_32      .Lfoo 0x{{[^ ]+}}
>> +// CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_32       -    0x{{[^ ]+}}
>>  // CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_PLT32    foo  0x{{[^ ]+}}
>>  // CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_GOTPCREL foo  0x{{[^ ]+}}
>>  // CHECK-NEXT:     0x{{[^ ]+}} R_X86_64_32S      zed  0x{{[^ ]+}}
>>
>> Modified: llvm/trunk/test/MC/ELF/relocation-386.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/relocation-386.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/ELF/relocation-386.s (original)
>> +++ llvm/trunk/test/MC/ELF/relocation-386.s Mon Jun 22 12:52:52 2015
>> @@ -5,7 +5,7 @@
>>
>>  // CHECK:      Relocations [
>>  // CHECK-NEXT:   Section {{.*}} .rel.text {
>> -// CHECK-NEXT:     0x2          R_386_GOTOFF     .Lfoo 0x0
>> +// CHECK-NEXT:     0x2          R_386_GOTOFF     - 0x0
>>  // CHECK-NEXT:     0x{{[^ ]+}}  R_386_PLT32      bar2 0x0
>>  // CHECK-NEXT:     0x{{[^ ]+}}  R_386_GOTPC      _GLOBAL_OFFSET_TABLE_
>> 0x0
>>  // Relocation 3 (bar3 at GOTOFF) is done with symbol 7 (bss)
>>
>> Added: llvm/trunk/test/MC/ELF/undef-temp.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/undef-temp.s?rev=240302&view=auto
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/ELF/undef-temp.s (added)
>> +++ llvm/trunk/test/MC/ELF/undef-temp.s Mon Jun 22 12:52:52 2015
>> @@ -0,0 +1,4 @@
>> +// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o - 2>&1 |
>> FileCheck %s
>> +
>> +// CHECK: Undefined temporary
>> +        .long .Lfoo
>>
>> Modified: llvm/trunk/test/MC/ELF/undef.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/undef.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/ELF/undef.s (original)
>> +++ llvm/trunk/test/MC/ELF/undef.s Mon Jun 22 12:52:52 2015
>> @@ -2,7 +2,6 @@
>>
>>  // Test which symbols should be in the symbol table
>>
>> -        .long  .Lsym1
>>  .Lsym2:
>>  .Lsym3:
>>  .Lsym4 = .Lsym2 - .Lsym3
>> @@ -33,7 +32,7 @@ test2_b = undef + 1
>>  // CHECK-NEXT:     Section: Undefined
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: .Lsym8
>> +// CHECK-NEXT:     Name: (0)
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:     Size: 0
>>  // CHECK-NEXT:     Binding: Local
>> @@ -42,15 +41,6 @@ test2_b = undef + 1
>>  // CHECK-NEXT:     Section: .rodata.str1.1
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: .Lsym1
>> -// CHECK-NEXT:     Value: 0x0
>> -// CHECK-NEXT:     Size: 0
>> -// CHECK-NEXT:     Binding: Global
>> -// CHECK-NEXT:     Type: None
>> -// CHECK-NEXT:     Other: 0
>> -// CHECK-NEXT:     Section: Undefined
>> -// CHECK-NEXT:   }
>> -// CHECK-NEXT:   Symbol {
>>  // CHECK-NEXT:     Name: sym6
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:     Size: 0
>>
>> Removed: llvm/trunk/test/MC/ELF/undef2.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/undef2.s?rev=240301&view=auto
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/ELF/undef2.s (original)
>> +++ llvm/trunk/test/MC/ELF/undef2.s (removed)
>> @@ -1,18 +0,0 @@
>> -// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - |
>> llvm-readobj -s -t | FileCheck %s
>> -
>> -// Test that this produces an undefined reference to .Lfoo
>> -
>> -        je     .Lfoo
>> -
>> -// CHECK:       Section {
>> -// CHECK:         Name: .strtab
>> -
>> -// CHECK:       Symbol {
>> -// CHECK:         Name: .Lfoo
>> -// CHECK-NEXT:    Value:
>> -// CHECK-NEXT:    Size:
>> -// CHECK-NEXT:    Binding: Global
>> -// CHECK-NEXT:    Type:
>> -// CHECK-NEXT:    Other:
>> -// CHECK-NEXT:    Section:
>> -// CHECK-NEXT:  }
>>
>> Modified: llvm/trunk/test/MC/MachO/AArch64/classrefs.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/MachO/AArch64/classrefs.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/MachO/AArch64/classrefs.s (original)
>> +++ llvm/trunk/test/MC/MachO/AArch64/classrefs.s Mon Jun 22 12:52:52 2015
>> @@ -10,7 +10,7 @@
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: Lbar
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT: ]
>>
>> Modified: llvm/trunk/test/MC/MachO/AArch64/darwin-ARM64-reloc.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/MachO/AArch64/darwin-ARM64-reloc.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/MachO/AArch64/darwin-ARM64-reloc.s (original)
>> +++ llvm/trunk/test/MC/MachO/AArch64/darwin-ARM64-reloc.s Mon Jun 22
>> 12:52:52 2015
>> @@ -41,7 +41,7 @@ L_.str:
>>  ; CHECK-NEXT:       PCRel: 1
>>  ; CHECK-NEXT:       Length: 2
>>  ; CHECK-NEXT:       Type: ARM64_RELOC_PAGE21 (3)
>> -; CHECK-NEXT:       Symbol: L_.str
>> +; CHECK-NEXT:       Symbol: -
>>  ; CHECK-NEXT:     }
>>  ; CHECK-NEXT:    Relocation {
>>  ; CHECK-NEXT:       Offset: 0x20
>>
>> Modified: llvm/trunk/test/MC/MachO/AArch64/ld64-workaround.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/MachO/AArch64/ld64-workaround.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/MachO/AArch64/ld64-workaround.s (original)
>> +++ llvm/trunk/test/MC/MachO/AArch64/ld64-workaround.s Mon Jun 22
>> 12:52:52 2015
>> @@ -11,28 +11,28 @@
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: Llit16
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:     Relocation {
>>  // CHECK-NEXT:       Offset: 0x10
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: Llit8
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:     Relocation {
>>  // CHECK-NEXT:       Offset: 0x8
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: Llit4
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:     Relocation {
>>  // CHECK-NEXT:       Offset: 0x0
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: Lcfstring
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT: ]
>>
>> Modified: llvm/trunk/test/MC/MachO/AArch64/mergeable.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/MachO/AArch64/mergeable.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/MachO/AArch64/mergeable.s (original)
>> +++ llvm/trunk/test/MC/MachO/AArch64/mergeable.s Mon Jun 22 12:52:52 2015
>> @@ -26,28 +26,28 @@ L1:
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: L1
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:     Relocation {
>>  // CHECK-NEXT:       Offset: 0x10
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: L1
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:     Relocation {
>>  // CHECK-NEXT:       Offset: 0x8
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: L0
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:     Relocation {
>>  // CHECK-NEXT:       Offset: 0x0
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: L0
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT: ]
>>
>> Modified: llvm/trunk/test/MC/MachO/AArch64/reloc-crash.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/MachO/AArch64/reloc-crash.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/MachO/AArch64/reloc-crash.s (original)
>> +++ llvm/trunk/test/MC/MachO/AArch64/reloc-crash.s Mon Jun 22 12:52:52
>> 2015
>> @@ -10,7 +10,7 @@
>>  ; CHECK-NEXT:       PCRel: 0
>>  ; CHECK-NEXT:       Length: 3
>>  ; CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
>> -; CHECK-NEXT:       Symbol: Lbar
>> +; CHECK-NEXT:       Symbol: -
>>  ; CHECK-NEXT:     }
>>  ; CHECK-NEXT:   }
>>  ; CHECK-NEXT: ]
>>
>> Modified: llvm/trunk/test/MC/MachO/x86_64-mergeable.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/MachO/x86_64-mergeable.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/MachO/x86_64-mergeable.s (original)
>> +++ llvm/trunk/test/MC/MachO/x86_64-mergeable.s Mon Jun 22 12:52:52 2015
>> @@ -24,7 +24,7 @@ L1:
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: L1
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:     Relocation {
>>  // CHECK-NEXT:       Offset: 0x10
>> @@ -38,7 +38,7 @@ L1:
>>  // CHECK-NEXT:       PCRel: 0
>>  // CHECK-NEXT:       Length: 3
>>  // CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
>> -// CHECK-NEXT:       Symbol: L0
>> +// CHECK-NEXT:       Symbol: -
>>  // CHECK-NEXT:     }
>>  // CHECK-NEXT:     Relocation {
>>  // CHECK-NEXT:       Offset: 0x0
>>
>> Modified: llvm/trunk/test/MC/MachO/x86_64-symbols.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/MachO/x86_64-symbols.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/MachO/x86_64-symbols.s (original)
>> +++ llvm/trunk/test/MC/MachO/x86_64-symbols.s Mon Jun 22 12:52:52 2015
>> @@ -130,7 +130,7 @@ D38:
>>
>>  // CHECK: Symbols [
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D0 (139)
>> +// CHECK-NEXT:     Name: D0 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __text (0x1)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -139,7 +139,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D1 (128)
>> +// CHECK-NEXT:     Name: D1 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __text (0x1)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -148,7 +148,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D2 (113)
>> +// CHECK-NEXT:     Name: D2 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __const (0x2)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -157,7 +157,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D3 (98)
>> +// CHECK-NEXT:     Name: D3 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __static_const (0x3)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -166,7 +166,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: L4 (84)
>> +// CHECK-NEXT:     Name: (0)
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cstring (0x4)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -175,7 +175,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D4 (87)
>> +// CHECK-NEXT:     Name: D4 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cstring (0x4)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -184,7 +184,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D5 (69)
>> +// CHECK-NEXT:     Name: D5 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __literal4 (0x5)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -193,7 +193,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D6 (50)
>> +// CHECK-NEXT:     Name: D6 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __literal8 (0x6)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -202,7 +202,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D7 (31)
>> +// CHECK-NEXT:     Name: D7 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __literal16 (0x7)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -211,7 +211,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D8 (12)
>> +// CHECK-NEXT:     Name: D8 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __constructor (0x8)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -220,7 +220,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D9 (1)
>> +// CHECK-NEXT:     Name: D9 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __destructor (0x9)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -229,7 +229,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D12 (124)
>> +// CHECK-NEXT:     Name: D12 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __data (0xA)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -238,7 +238,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D13 (109)
>> +// CHECK-NEXT:     Name: D13 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __static_data (0xB)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -247,7 +247,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D16 (65)
>> +// CHECK-NEXT:     Name: D16 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __dyld (0xC)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -256,7 +256,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D17 (46)
>> +// CHECK-NEXT:     Name: D17 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __mod_init_func (0xD)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -265,7 +265,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D18 (27)
>> +// CHECK-NEXT:     Name: D18 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __mod_term_func (0xE)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -283,7 +283,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D20 (146)
>> +// CHECK-NEXT:     Name: D20 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __class (0x10)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -292,7 +292,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D21 (135)
>> +// CHECK-NEXT:     Name: D21 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __meta_class (0x11)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -301,7 +301,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D22 (120)
>> +// CHECK-NEXT:     Name: D22 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cat_cls_meth (0x12)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -310,7 +310,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D23 (105)
>> +// CHECK-NEXT:     Name: D23 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cat_inst_meth (0x13)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -319,7 +319,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D24 (94)
>> +// CHECK-NEXT:     Name: D24 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __protocol (0x14)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -328,7 +328,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D25 (80)
>> +// CHECK-NEXT:     Name: D25 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __string_object (0x15)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -337,7 +337,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D26 (61)
>> +// CHECK-NEXT:     Name: D26 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cls_meth (0x16)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -346,7 +346,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D27 (42)
>> +// CHECK-NEXT:     Name: D27 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __inst_meth (0x17)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -355,7 +355,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D28 (23)
>> +// CHECK-NEXT:     Name: D28 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cls_refs (0x18)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -364,7 +364,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D29 (4)
>> +// CHECK-NEXT:     Name: D29 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __message_refs (0x19)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -373,7 +373,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D30 (142)
>> +// CHECK-NEXT:     Name: D30 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __symbols (0x1A)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -382,7 +382,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D31 (131)
>> +// CHECK-NEXT:     Name: D31 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __category (0x1B)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -391,7 +391,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D32 (116)
>> +// CHECK-NEXT:     Name: D32 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __class_vars (0x1C)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -400,7 +400,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D33 (101)
>> +// CHECK-NEXT:     Name: D33 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __instance_vars (0x1D)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -409,7 +409,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D34 (90)
>> +// CHECK-NEXT:     Name: D34 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __module_info (0x1E)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -418,7 +418,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: L35 (72)
>> +// CHECK-NEXT:     Name: (0)
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cstring (0x4)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -427,7 +427,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D35 (76)
>> +// CHECK-NEXT:     Name: D35 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cstring (0x4)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -436,7 +436,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: L36 (53)
>> +// CHECK-NEXT:     Name: (0)
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cstring (0x4)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -445,7 +445,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D36 (57)
>> +// CHECK-NEXT:     Name: D36 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cstring (0x4)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -454,7 +454,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: L37 (34)
>> +// CHECK-NEXT:     Name: (0)
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cstring (0x4)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -463,7 +463,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D37 (38)
>> +// CHECK-NEXT:     Name: D37 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __cstring (0x4)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -472,7 +472,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: L38 (15)
>> +// CHECK-NEXT:     Name: (0)
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __selector_strs (0x1F)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>> @@ -481,7 +481,7 @@ D38:
>>  // CHECK-NEXT:     Value: 0x0
>>  // CHECK-NEXT:   }
>>  // CHECK-NEXT:   Symbol {
>> -// CHECK-NEXT:     Name: D38 (19)
>> +// CHECK-NEXT:     Name: D38 ({{.*}})
>>  // CHECK-NEXT:     Type: Section (0xE)
>>  // CHECK-NEXT:     Section: __selector_strs (0x1F)
>>  // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
>>
>> Modified: llvm/trunk/test/MC/Mips/cpsetup.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/cpsetup.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/Mips/cpsetup.s (original)
>> +++ llvm/trunk/test/MC/Mips/cpsetup.s Mon Jun 22 12:52:52 2015
>> @@ -79,9 +79,9 @@ t2:
>>
>>  # NXX: move     $2, $gp
>>  # NXX: lui      $gp, 0
>> -# NXX: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16  $tmp0
>> +# NXX: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16
>>  # NXX: addiu    $gp, $gp, 0
>> -# NXX: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16  $tmp0
>> +# NXX: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16
>>  # N32: addu     $gp, $gp, $25
>>  # N64: daddu    $gp, $gp, $25
>>  # NXX: nop
>> @@ -108,4 +108,4 @@ t3:
>>
>>  # For .cpsetup with local labels, we need to check if $tmp0 is in the
>> symbol
>>  # table:
>> -# NXX: .text  00000000 $tmp0
>> +# NXX: .text  00000000 {{$}}
>>
>> Modified: llvm/trunk/test/MC/Mips/elf-relsym.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/elf-relsym.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/Mips/elf-relsym.s (original)
>> +++ llvm/trunk/test/MC/Mips/elf-relsym.s Mon Jun 22 12:52:52 2015
>> @@ -4,16 +4,16 @@
>>
>>  // CHECK: Symbols [
>>  // CHECK:   Symbol {
>> -// CHECK:     Name: $.str
>> +// CHECK:     Name: (0)
>>  // CHECK:   }
>>  // CHECK:   Symbol {
>> -// CHECK:     Name: $.str1
>> +// CHECK:     Name: (0)
>>  // CHECK:   }
>>  // CHECK:   Symbol {
>> -// CHECK:     Name: $CPI0_0
>> +// CHECK:     Name: (0)
>>  // CHECK:   }
>>  // CHECK:   Symbol {
>> -// CHECK:     Name: $CPI0_1
>> +// CHECK:     Name: (0)
>>  // CHECK:   }
>>  // CHECK: ]
>>
>>
>> Modified: llvm/trunk/test/MC/Mips/xgot.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/xgot.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/Mips/xgot.s (original)
>> +++ llvm/trunk/test/MC/Mips/xgot.s Mon Jun 22 12:52:52 2015
>> @@ -10,8 +10,8 @@
>>  // CHECK:   0x1C R_MIPS_GOT_LO16 ext_1
>>  // CHECK:   0x24 R_MIPS_CALL_HI16 printf
>>  // CHECK:   0x30 R_MIPS_CALL_LO16 printf
>> -// CHECK:   0x2C R_MIPS_GOT16 $.str
>> -// CHECK:   0x38 R_MIPS_LO16 $.str
>> +// CHECK:   0x2C R_MIPS_GOT16 -
>> +// CHECK:   0x38 R_MIPS_LO16 -
>>  // CHECK: ]
>>
>>         .text
>>
>> Modified: llvm/trunk/test/MC/Sparc/sparc-pic.s
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Sparc/sparc-pic.s?rev=240302&r1=240301&r2=240302&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/test/MC/Sparc/sparc-pic.s (original)
>> +++ llvm/trunk/test/MC/Sparc/sparc-pic.s Mon Jun 22 12:52:52 2015
>> @@ -7,8 +7,8 @@
>>  ! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_PC10 _GLOBAL_OFFSET_TABLE_ 0x8
>>  ! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_GOT22 AGlobalVar 0x0
>>  ! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_GOT10 AGlobalVar 0x0
>> -! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_GOT22 .LC0 0x0
>> -! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_GOT10 .LC0 0x0
>> +! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_GOT22 - 0x0
>> +! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_GOT10 - 0x0
>>  ! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_WPLT30 bar 0x0
>>  ! CHECK:      ]
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150622/b475b4e7/attachment.html>


More information about the llvm-commits mailing list