Skip to content

Commit 872e4a3

Browse files
committed
[X86] Replace reloc_global_offset_table8 with R_X86_64_GOTPC64
1 parent 038731c commit 872e4a3

File tree

4 files changed

+3
-8
lines changed

4 files changed

+3
-8
lines changed

llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -638,7 +638,6 @@ const MCFixupKindInfo &X86AsmBackend::getFixupKindInfo(MCFixupKind Kind) const {
638638
{"reloc_signed_4byte", 0, 32, 0},
639639
{"reloc_signed_4byte_relax", 0, 32, 0},
640640
{"reloc_global_offset_table", 0, 32, 0},
641-
{"reloc_global_offset_table8", 0, 64, 0},
642641
{"reloc_branch_4byte_pcrel", 0, 32, MCFixupKindInfo::FKF_IsPCRel},
643642
// clang-format on
644643
};
@@ -696,7 +695,6 @@ static unsigned getFixupKindSize(unsigned Kind) {
696695
case FK_PCRel_8:
697696
case FK_SecRel_8:
698697
case FK_Data_8:
699-
case X86::reloc_global_offset_table8:
700698
return 8;
701699
}
702700
}

llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,6 @@ static X86_64RelType getType64(MCFixupKind Kind,
5454
llvm_unreachable("Unimplemented");
5555
case FK_NONE:
5656
return RT64_NONE;
57-
case X86::reloc_global_offset_table8:
58-
Modifier = MCSymbolRefExpr::VK_GOT;
59-
IsPCRel = true;
60-
return RT64_64;
6157
case FK_Data_8:
6258
return RT64_64;
6359
case X86::reloc_signed_4byte:

llvm/lib/Target/X86/MCTargetDesc/X86FixupKinds.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ enum Fixups {
3535
reloc_global_offset_table, // 32-bit, relative to the start
3636
// of the instruction. Used only
3737
// for _GLOBAL_OFFSET_TABLE_.
38-
reloc_global_offset_table8, // 64-bit variant.
3938
reloc_branch_4byte_pcrel, // 32-bit PC relative branch.
4039
// Marker
4140
LastTargetFixupKind,

llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include "MCTargetDesc/X86FixupKinds.h"
1515
#include "MCTargetDesc/X86MCTargetDesc.h"
1616
#include "llvm/ADT/SmallVector.h"
17+
#include "llvm/BinaryFormat/ELF.h"
1718
#include "llvm/MC/MCCodeEmitter.h"
1819
#include "llvm/MC/MCContext.h"
1920
#include "llvm/MC/MCExpr.h"
@@ -542,7 +543,8 @@ void X86MCCodeEmitter::emitImmediate(const MCOperand &DispOp, SMLoc Loc,
542543
assert(ImmOffset == 0);
543544

544545
if (Size == 8) {
545-
FixupKind = MCFixupKind(X86::reloc_global_offset_table8);
546+
FixupKind =
547+
MCFixupKind(FirstLiteralRelocationKind + ELF::R_X86_64_GOTPC64);
546548
} else {
547549
assert(Size == 4);
548550
FixupKind = MCFixupKind(X86::reloc_global_offset_table);

0 commit comments

Comments
 (0)