Revert "ELFObjectWriter: Disable STT_SECTION adjustment for .reloc"

This reverts commit 1c5961c0481b9c7421d38e3141d3c5a1e6084234.
Inadvertently pushed.
This commit is contained in:
Fangrui Song 2025-04-12 21:02:27 -07:00
parent 1c5961c048
commit 3ff634dee8
2 changed files with 6 additions and 6 deletions

View File

@ -1390,8 +1390,9 @@ void ELFObjectWriter::recordRelocation(MCAssembler &Asm,
if (UseSectionSym) {
UseSectionSym = useSectionSymbol(Asm, Target, SymA, C, Type);
// Disable STT_SECTION adjustment for .reloc directives.
UseSectionSym &= Fixup.getKind() >= FirstLiteralRelocationKind;
// Disable STT_SECTION adjustment for CG Profile to help with --cg-profile.
const auto *Parent = cast<MCSectionELF>(Fragment->getParent());
UseSectionSym &= Parent->getType() != ELF::SHT_LLVM_CALL_GRAPH_PROFILE;
}
uint64_t Addend = UseSectionSym ? C + Asm.getSymbolOffset(*SymA) : C;

View File

@ -8,25 +8,24 @@
# ASM-NEXT: .Ltmp1:
# ASM-NEXT: .reloc .Ltmp1-1, R_X86_64_NONE, foo
# ASM-NEXT: .Ltmp2:
# ASM-NEXT: .reloc 2+.Ltmp2, R_X86_64_NONE, local
# ASM-NEXT: .reloc 2+.Ltmp2, R_X86_64_NONE, foo
# ASM-NEXT: .reloc 1+foo+3, R_X86_64_NONE, data+1
# ASM-NEXT: .Ltmp3:
# ASM-NEXT: .reloc .Ltmp3, BFD_RELOC_NONE, unused
# CHECK: 0x2 R_X86_64_NONE foo 0x0
# CHECK-NEXT: 0x0 R_X86_64_NONE foo 0x0
# CHECK-NEXT: 0x3 R_X86_64_NONE local 0x0
# CHECK-NEXT: 0x3 R_X86_64_NONE foo 0x0
# CHECK-NEXT: 0x4 R_X86_64_NONE data 0x1
# CHECK-NEXT: 0x1 R_X86_64_NONE unused 0x0
.text
.globl foo
foo:
local:
ret
.reloc .+3-2, R_X86_64_NONE, foo
.reloc .-1, R_X86_64_NONE, foo
.reloc 2+., R_X86_64_NONE, local
.reloc 2+., R_X86_64_NONE, foo
.reloc 1+foo+3, R_X86_64_NONE, data+1
.reloc ., BFD_RELOC_NONE, unused