summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
diff options
context:
space:
mode:
authorKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2019-02-14 22:42:09 +0000
committerKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2019-02-14 22:42:09 +0000
commite0484eb2f2d0642effacd340607072e80bd88343 (patch)
tree013b5707b8c40ca4a067bbcb8ec6d9d3fa6e3628 /llvm/lib/MC
parent530d05e94ac097a15722229138eea8addefc37f5 (diff)
downloadbcm5719-llvm-e0484eb2f2d0642effacd340607072e80bd88343.tar.gz
bcm5719-llvm-e0484eb2f2d0642effacd340607072e80bd88343.zip
MC/ELF: Allow targets to set ABI version
Tests are in the follow up change Differential Revision: https://reviews.llvm.org/D57810 llvm-svn: 354072
Diffstat (limited to 'llvm/lib/MC')
-rw-r--r--llvm/lib/MC/ELFObjectWriter.cpp3
-rw-r--r--llvm/lib/MC/MCELFObjectTargetWriter.cpp5
2 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp
index 9cae28128c9..aec2bdeded3 100644
--- a/llvm/lib/MC/ELFObjectWriter.cpp
+++ b/llvm/lib/MC/ELFObjectWriter.cpp
@@ -425,7 +425,8 @@ void ELFWriter::writeHeader(const MCAssembler &Asm) {
W.OS << char(ELF::EV_CURRENT); // e_ident[EI_VERSION]
// e_ident[EI_OSABI]
W.OS << char(OWriter.TargetObjectWriter->getOSABI());
- W.OS << char(0); // e_ident[EI_ABIVERSION]
+ // e_ident[EI_ABIVERSION]
+ W.OS << char(OWriter.TargetObjectWriter->getABIVersion());
W.OS.write_zeros(ELF::EI_NIDENT - ELF::EI_PAD);
diff --git a/llvm/lib/MC/MCELFObjectTargetWriter.cpp b/llvm/lib/MC/MCELFObjectTargetWriter.cpp
index 9ad7f8c123a..a81eab9ca29 100644
--- a/llvm/lib/MC/MCELFObjectTargetWriter.cpp
+++ b/llvm/lib/MC/MCELFObjectTargetWriter.cpp
@@ -12,8 +12,9 @@ using namespace llvm;
MCELFObjectTargetWriter::MCELFObjectTargetWriter(bool Is64Bit_, uint8_t OSABI_,
uint16_t EMachine_,
- bool HasRelocationAddend_)
- : OSABI(OSABI_), EMachine(EMachine_),
+ bool HasRelocationAddend_,
+ uint8_t ABIVersion_)
+ : OSABI(OSABI_), ABIVersion(ABIVersion_), EMachine(EMachine_),
HasRelocationAddend(HasRelocationAddend_), Is64Bit(Is64Bit_) {}
bool MCELFObjectTargetWriter::needsRelocateWithSymbol(const MCSymbol &Sym,
OpenPOWER on IntegriCloud