diff options
-rw-r--r-- | lld/lib/ReaderWriter/MachO/ArchHandler.h | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/ArchHandler_x86.cpp | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp | 4 |
5 files changed, 20 insertions, 0 deletions
diff --git a/lld/lib/ReaderWriter/MachO/ArchHandler.h b/lld/lib/ReaderWriter/MachO/ArchHandler.h index 120f5dfd4cd..712da7c281d 100644 --- a/lld/lib/ReaderWriter/MachO/ArchHandler.h +++ b/lld/lib/ReaderWriter/MachO/ArchHandler.h @@ -92,6 +92,10 @@ public: /// __eh_frame. virtual Reference::KindValue unwindRefToEhFrameKind() = 0; + /// Returns a pointer sized reference kind. On 64-bit targets this will + /// likely be something like pointer64, and pointer32 on 32-bit targets. + virtual Reference::KindValue pointerKind() = 0; + virtual const Atom *fdeTargetFunction(const DefinedAtom *fde); /// Used by normalizedFromAtoms() to know where to generated rebasing and diff --git a/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp b/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp index 38f36096539..2ffaee35bb3 100644 --- a/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp +++ b/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp @@ -63,6 +63,10 @@ public: return invalid; } + Reference::KindValue pointerKind() override { + return invalid; + } + uint32_t dwarfCompactUnwindType() override { // FIXME return -1; diff --git a/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp b/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp index 778f6f4add7..634a5ceff79 100644 --- a/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp +++ b/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp @@ -120,6 +120,10 @@ public: return unwindInfoToEhFrame; } + Reference::KindValue pointerKind() override { + return pointer64; + } + uint32_t dwarfCompactUnwindType() override { return 0x03000000; } diff --git a/lld/lib/ReaderWriter/MachO/ArchHandler_x86.cpp b/lld/lib/ReaderWriter/MachO/ArchHandler_x86.cpp index 7aac2584d07..0fba555e3e6 100644 --- a/lld/lib/ReaderWriter/MachO/ArchHandler_x86.cpp +++ b/lld/lib/ReaderWriter/MachO/ArchHandler_x86.cpp @@ -70,6 +70,10 @@ public: return invalid; } + Reference::KindValue pointerKind() override { + return invalid; + } + uint32_t dwarfCompactUnwindType() override { return 0x04000000U; } diff --git a/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp b/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp index 8b4d1cf38cb..c89989e6277 100644 --- a/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp +++ b/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp @@ -116,6 +116,10 @@ public: return unwindInfoToEhFrame; } + Reference::KindValue pointerKind() override { + return pointer64; + } + uint32_t dwarfCompactUnwindType() override { return 0x04000000U; } |