[PATCH] [lld] [mach-o] implement minimal __unwind_info support

Tim Northover t.p.northover at gmail.com
Tue Sep 9 04:47:28 PDT 2014


Hi kledzik,

Hi,

I've finally had some time to work on generating __unwind_info sections. The attached patch is fairly limited, but seemed like a minimally useful implementation:

  - It's x86_64 only.
  - It will fail if more than 3 personality functions are used.
  - It will fail if there is a function without a __compact_unwind entry.
  - It only produces normal pages, rather than compressed.

I intend to fix those, and I think most of them should be fairly small additions in the current scheme, but I'd like to get any major design problems hammered out before I start.

So, any suggestions? Is it OK to commit?

Cheers.

Tim.

http://reviews.llvm.org/D5261

Files:
  include/lld/Core/DefinedAtom.h
  include/lld/ReaderWriter/MachOLinkingContext.h
  lib/Core/DefinedAtom.cpp
  lib/ReaderWriter/MachO/ArchHandler.h
  lib/ReaderWriter/MachO/ArchHandler_arm.cpp
  lib/ReaderWriter/MachO/ArchHandler_x86.cpp
  lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp
  lib/ReaderWriter/MachO/CMakeLists.txt
  lib/ReaderWriter/MachO/CompactUnwindPass.cpp
  lib/ReaderWriter/MachO/CompactUnwindPass.hpp
  lib/ReaderWriter/MachO/MachOLinkingContext.cpp
  lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp
  lib/ReaderWriter/MachO/MachOPasses.h
  lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
  test/mach-o/exe-offsets.yaml
  test/mach-o/exe-segment-overlap.yaml
  test/mach-o/unwind-info-simple.yaml
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5261.13450.patch
Type: text/x-patch
Size: 40980 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140909/0f960c76/attachment.bin>


More information about the llvm-commits mailing list