summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-10-15 19:32:21 +0000
committerTim Northover <tnorthover@apple.com>2014-10-15 19:32:21 +0000
commit1cc4fb76dab305da4e6e1aa8acd25c00ba4c06ad (patch)
treef795ad806714684f389dfab4ab153d02a9cdf1c2 /lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp
parent78206c35769fe9196e2370519de2c1576347a167 (diff)
downloadbcm5719-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.cpp11
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.
OpenPOWER on IntegriCloud