Index: lib/MC/WinCOFFObjectWriter.cpp =================================================================== --- lib/MC/WinCOFFObjectWriter.cpp +++ lib/MC/WinCOFFObjectWriter.cpp @@ -775,7 +775,7 @@ Reloc.Data.VirtualAddress = Layout.getFragmentOffset(Fragment); // Turn relocations for temporary symbols into section relocations. - if (A.isTemporary() || SymB) { + if (A.isTemporary()) { MCSection *TargetSection = &A.getSection(); assert( SectionMap.find(TargetSection) != SectionMap.end() && Index: test/MC/COFF/cross-section-relative.s =================================================================== --- test/MC/COFF/cross-section-relative.s +++ test/MC/COFF/cross-section-relative.s @@ -77,10 +77,10 @@ // READOBJ: IMAGE_SCN_MEM_WRITE (0x80000000) // READOBJ: ] // READOBJ: SectionData ( -// READOBJ: 0000: 10000000 00000000 0C000000 00000000 |................| -// READOBJ: 0010: 08000000 00000000 0C000000 00000000 |................| +// READOBJ: 0000: 08000000 00000000 04000000 00000000 |................| +// READOBJ: 0010: 00000000 00000000 04000000 00000000 |................| // READOBJ: 0020: 01020000 00000000 00010000 00000000 |................| -// READOBJ: 0030: 0C000000 00000000 |........| +// READOBJ: 0030: 04000000 00000000 |........| // READOBJ: ) // READOBJ: } // READOBJ: ] @@ -89,22 +89,22 @@ // READOBJ: Relocation { // READOBJ: Offset: 0x0 // READOBJ: Type: IMAGE_REL_AMD64_REL32 (4) -// READOBJ: Symbol: .rdata +// READOBJ: Symbol: g3 // READOBJ: } // READOBJ: Relocation { // READOBJ: Offset: 0x8 // READOBJ: Type: IMAGE_REL_AMD64_REL32 (4) -// READOBJ: Symbol: .rdata +// READOBJ: Symbol: g3 // READOBJ: } // READOBJ: Relocation { // READOBJ: Offset: 0x10 // READOBJ: Type: IMAGE_REL_AMD64_REL32 (4) -// READOBJ: Symbol: .rdata +// READOBJ: Symbol: g3 // READOBJ: } // READOBJ: Relocation { // READOBJ: Offset: 0x18 // READOBJ: Type: IMAGE_REL_AMD64_REL32 (4) -// READOBJ: Symbol: .rdata +// READOBJ: Symbol: g3 // READOBJ: } // READOBJ: Relocation { // READOBJ: Offset: 0x1C @@ -114,5 +114,5 @@ // READOBJ: Relocation { // READOBJ: Offset: 0x30 // READOBJ: Type: IMAGE_REL_AMD64_REL32 (4) -// READOBJ: Symbol: .rdata +// READOBJ: Symbol: g3 // READOBJ: } Index: test/MC/COFF/diff.s =================================================================== --- test/MC/COFF/diff.s +++ test/MC/COFF/diff.s @@ -42,11 +42,11 @@ // CHECK: Name: .data // CHECK: Relocations [ // CHECK-NEXT: 0x4 IMAGE_REL_I386_DIR32 _foobar -// CHECK-NEXT: 0x8 IMAGE_REL_I386_REL32 .text -// CHECK-NEXT: 0xC IMAGE_REL_I386_REL32 .text +// CHECK-NEXT: 0x8 IMAGE_REL_I386_REL32 _foobar +// CHECK-NEXT: 0xC IMAGE_REL_I386_REL32 _foobar // CHECK-NEXT: ] // CHECK: SectionData ( -// CHECK-NEXT: 0000: 00000000 00000000 1C000000 20000000 +// CHECK-NEXT: 0000: 00000000 00000000 0C000000 10000000 // CHECK-NEXT: ) // CHECK: Name: baz