[PATCH] D42242: Make libc++abi work with gcc's ARM unwind library

Marshall Clow via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 18 07:15:49 PST 2018


mclow.lists created this revision.
mclow.lists added a reviewer: EricWF.
Herald added subscribers: kristof.beyls, aemerson.

See https://bugs.llvm.org/show_bug.cgi?id=35945, which reports that libc++ doesn't build for the Raspberry PI.

The problem is that the exception class is defined as a `char[8]` in that library, rather than `uint64_t`, as in other libraries.
Same size, same values, different type.

Solution: Pull the code to check the exception class into a routine, and memcpy the field into a `uint64_t` and call the routine everywhere we were previously checking directly.


https://reviews.llvm.org/D42242

Files:
  src/cxa_default_handlers.cpp
  src/cxa_exception.cpp
  src/cxa_exception.hpp
  src/cxa_handlers.cpp
  src/cxa_personality.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42242.130405.patch
Type: text/x-patch
Size: 7745 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180118/f7ea5b61/attachment-0001.bin>


More information about the cfe-commits mailing list