diff options
| author | Tim Northover <tnorthover@apple.com> | 2014-10-15 19:32:21 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2014-10-15 19:32:21 +0000 |
| commit | 1cc4fb76dab305da4e6e1aa8acd25c00ba4c06ad (patch) | |
| tree | f795ad806714684f389dfab4ab153d02a9cdf1c2 /lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp | |
| parent | 78206c35769fe9196e2370519de2c1576347a167 (diff) | |
| download | bcm5719-llvm-1cc4fb76dab305da4e6e1aa8acd25c00ba4c06ad.tar.gz bcm5719-llvm-1cc4fb76dab305da4e6e1aa8acd25c00ba4c06ad.zip | |
[mach-o] make __unwind_info defer to __eh_frame when necessary.
Not all situations are representable in the compressed __unwind_info format,
and when this happens the entry needs to point to the more general __eh_frame
description.
Just x86_64 implementation for now.
rdar://problem/18208653
llvm-svn: 219836
Diffstat (limited to 'lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp')
| -rw-r--r-- | lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp b/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp index 163421aef75..147d921eda2 100644 --- a/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp +++ b/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp @@ -52,6 +52,15 @@ public: return invalid; } + Reference::KindValue unwindRefToEhFrameKind() override { + return invalid; + } + + uint32_t dwarfCompactUnwindType() override { + // FIXME + return -1; + } + std::error_code getReferenceInfo(const normalized::Relocation &reloc, const DefinedAtom *inAtom, uint32_t offsetInAtom, @@ -75,6 +84,7 @@ public: void generateAtomContent(const DefinedAtom &atom, bool relocatable, FindAddressForAtom findAddress, + FindAddressForAtom findSectionAddress, uint64_t imageBaseAddress, uint8_t *atomContentBuffer) override; @@ -994,6 +1004,7 @@ void ArchHandler_arm::applyFixupFinal(const Reference &ref, uint8_t *location, void ArchHandler_arm::generateAtomContent(const DefinedAtom &atom, bool relocatable, FindAddressForAtom findAddress, + FindAddressForAtom findSectionAddress, uint64_t imageBaseAddress, uint8_t *atomContentBuffer) { // Copy raw bytes. |

