diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-12-17 04:54:54 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-12-17 04:54:54 +0000 |
commit | 1f3662abba2abdf5a0ab77095834271fcf846579 (patch) | |
tree | bee75eb48cbf921a33bb28c5af57d5e910a583de /lib/MC | |
parent | ff2e9b4225ab55ee049b33158a9cce1ef138c2f7 (diff) | |
download | external_llvm-1f3662abba2abdf5a0ab77095834271fcf846579.zip external_llvm-1f3662abba2abdf5a0ab77095834271fcf846579.tar.gz external_llvm-1f3662abba2abdf5a0ab77095834271fcf846579.tar.bz2 |
MC/ObjectWriter: Add a new IsSymbolRefDifferenceFullyResolved target format specific hook.
- Currently just has stub implementations for Mach-O, ELF, and COFF.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122037 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
-rw-r--r-- | lib/MC/ELFObjectWriter.cpp | 13 | ||||
-rw-r--r-- | lib/MC/MachObjectWriter.cpp | 6 | ||||
-rw-r--r-- | lib/MC/WinCOFFObjectWriter.cpp | 8 |
3 files changed, 25 insertions, 2 deletions
diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp index 1369d82..b9804d4 100644 --- a/lib/MC/ELFObjectWriter.cpp +++ b/lib/MC/ELFObjectWriter.cpp @@ -333,8 +333,17 @@ namespace { uint64_t Size, uint32_t Link, uint32_t Info, uint64_t Alignment, uint64_t EntrySize); - virtual void WriteRelocationsFragment(const MCAssembler &Asm, MCDataFragment *F, - const MCSectionData *SD); + virtual void WriteRelocationsFragment(const MCAssembler &Asm, + MCDataFragment *F, + const MCSectionData *SD); + + virtual bool + IsSymbolRefDifferenceFullyResolved(const MCAssembler &Asm, + const MCSymbolRefExpr *A, + const MCSymbolRefExpr *B) const { + // FIXME: Implement this! + return false; + } virtual bool IsFixupFullyResolved(const MCAssembler &Asm, const MCValue Target, diff --git a/lib/MC/MachObjectWriter.cpp b/lib/MC/MachObjectWriter.cpp index d050ef0..e12daa7 100644 --- a/lib/MC/MachObjectWriter.cpp +++ b/lib/MC/MachObjectWriter.cpp @@ -1123,6 +1123,12 @@ public: UndefinedSymbolData); } + bool IsSymbolRefDifferenceFullyResolved(const MCAssembler &Asm, + const MCSymbolRefExpr *A, + const MCSymbolRefExpr *B) const { + return false; + } + bool IsFixupFullyResolved(const MCAssembler &Asm, const MCValue Target, bool IsPCRel, diff --git a/lib/MC/WinCOFFObjectWriter.cpp b/lib/MC/WinCOFFObjectWriter.cpp index 3a88a03..0ad086c 100644 --- a/lib/MC/WinCOFFObjectWriter.cpp +++ b/lib/MC/WinCOFFObjectWriter.cpp @@ -179,6 +179,14 @@ public: MCValue Target, uint64_t &FixedValue); + virtual bool + IsSymbolRefDifferenceFullyResolved(const MCAssembler &Asm, + const MCSymbolRefExpr *A, + const MCSymbolRefExpr *B) const { + // FIXME: Implement this! + return false; + } + virtual bool IsFixupFullyResolved(const MCAssembler &Asm, const MCValue Target, bool IsPCRel, |