summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-10-16 20:52:18 +0000
committerTim Northover <tnorthover@apple.com>2014-10-16 20:52:18 +0000
commit933bead97d1cd46e29d347329442a3c6f7259ce7 (patch)
tree0fdee569c82603f7034f1462a6c5f997cb62dcc8 /lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
parent57d4cae202f55da2e0f2daa9067976a779361d55 (diff)
downloadbcm5719-llvm-933bead97d1cd46e29d347329442a3c6f7259ce7.tar.gz
bcm5719-llvm-933bead97d1cd46e29d347329442a3c6f7259ce7.zip
[mach-o] update __eh_frame handling for Nick's suggestions
First, add a comment to support more variation in FDE formats. Second, refactor fde -> function handling into a separate function living in the ArchHandler. llvm-svn: 219959
Diffstat (limited to 'lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp')
-rw-r--r--lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp b/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
index d52af892b94..d0536904bac 100644
--- a/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
+++ b/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
@@ -677,7 +677,9 @@ std::error_code addEHFrameReferences(const NormalizedFile &normalizedFile,
addend, handler.kindArch());
// Linker needs to fixup reference from the FDE to the function it's
- // describing.
+ // describing. FIXME: there are actually different ways to do this, and the
+ // particular method used is specified in the CIE's augmentation fields
+ // (hopefully)
uint64_t rangeFieldInFDE = cieFieldInFDE + sizeof(uint32_t);
int64_t functionFromFDE = readSPtr(is64, swap, frameData + rangeFieldInFDE);
OpenPOWER on IntegriCloud