summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2016-04-23 22:26:31 +0000
committerDavide Italiano <davide@freebsd.org>2016-04-23 22:26:31 +0000
commit4652c595680cee60e2ea1bb6f6a447a6a993592e (patch)
tree56ec5c6370a6715a7cee05b6a02f6213522c4cc6 /llvm/lib/Target
parent69bdc8afa99bf7009f1ee47213a13ef2683bfebf (diff)
downloadbcm5719-llvm-4652c595680cee60e2ea1bb6f6a447a6a993592e.tar.gz
bcm5719-llvm-4652c595680cee60e2ea1bb6f6a447a6a993592e.zip
[MC/ELF] Pass Fixup to getRelocType64.
In preparation for other changes. llvm-svn: 267300
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
index a020155e03d..9f2d2738d1d 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
@@ -84,9 +84,10 @@ static void checkIs32(MCContext &Ctx, SMLoc Loc, X86_64RelType Type) {
"32 bit reloc applied to a field with a different size");
}
-static unsigned getRelocType64(MCContext &Ctx, SMLoc Loc,
+static unsigned getRelocType64(MCContext &Ctx, const MCFixup &Fixup,
MCSymbolRefExpr::VariantKind Modifier,
X86_64RelType Type, bool IsPCRel) {
+ SMLoc Loc = Fixup.getLoc();
switch (Modifier) {
default:
llvm_unreachable("Unimplemented");
@@ -258,7 +259,7 @@ unsigned X86ELFObjectWriter::getRelocType(MCContext &Ctx, const MCValue &Target,
MCSymbolRefExpr::VariantKind Modifier = Target.getAccessVariant();
X86_64RelType Type = getType64(Fixup.getKind(), Modifier, IsPCRel);
if (getEMachine() == ELF::EM_X86_64)
- return getRelocType64(Ctx, Fixup.getLoc(), Modifier, Type, IsPCRel);
+ return getRelocType64(Ctx, Fixup, Modifier, Type, IsPCRel);
assert((getEMachine() == ELF::EM_386 || getEMachine() == ELF::EM_IAMCU) &&
"Unsupported ELF machine type.");
OpenPOWER on IntegriCloud