diff options
| author | Tim Northover <tnorthover@apple.com> | 2014-09-30 21:29:54 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2014-09-30 21:29:54 +0000 |
| commit | cf78d37fd65f273e3db55c585105e3f310cadf39 (patch) | |
| tree | 5371262ceecd6743184306b9663c346ab52d5e3b /lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp | |
| parent | e1c79749ca96a704556c46a8e9140244a9bbdfed (diff) | |
| download | bcm5719-llvm-cf78d37fd65f273e3db55c585105e3f310cadf39.tar.gz bcm5719-llvm-cf78d37fd65f273e3db55c585105e3f310cadf39.zip | |
[mach-o] create __unwind_info section on x86_64
This is a minimally useful pass to construct the __unwind_info section in a
final object from the various __compact_unwind inputs. Currently it doesn't
produce any compressed pages, only works for x86_64 and will fail if any
function ends up without __compact_unwind.
rdar://problem/18208653
llvm-svn: 218703
Diffstat (limited to 'lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp')
| -rw-r--r-- | lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp b/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp index ebd0084b3cd..31021030dad 100644 --- a/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp +++ b/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp @@ -76,6 +76,17 @@ public: bool isCallSite(const Reference &) override; bool isPointer(const Reference &) override; bool isPairedReloc(const normalized::Relocation &) override; + + bool needsCompactUnwind() override { + return false; + } + Reference::KindValue imageOffsetKind() override { + return invalid; + } + Reference::KindValue imageOffsetKindIndirect() override { + return invalid; + } + std::error_code getReferenceInfo(const normalized::Relocation &reloc, const DefinedAtom *inAtom, uint32_t offsetInAtom, @@ -103,6 +114,7 @@ public: void generateAtomContent(const DefinedAtom &atom, bool relocatable, FindAddressForAtom findAddress, + uint64_t imageBaseAddress, uint8_t *atomContentBuffer) override; void appendSectionRelocations(const DefinedAtom &atom, @@ -440,6 +452,7 @@ std::error_code ArchHandler_arm64::getPairReferenceInfo( void ArchHandler_arm64::generateAtomContent(const DefinedAtom &atom, bool relocatable, FindAddressForAtom findAddress, + uint64_t imageBaseAddress, uint8_t *atomContentBuffer) { // Copy raw bytes. memcpy(atomContentBuffer, atom.rawContent().data(), atom.size()); |

