[libcxx-commits] [PATCH] D113181: [libcxxabi][ARM] Make CXX_end_cleanup compatible with Armv6-M

Daniel Kiss via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Nov 5 14:33:54 PDT 2021


danielkiss added a comment.

In D113181#3111830 <https://reviews.llvm.org/D113181#3111830>, @thakis wrote:

> This breaks out build.
>
>   [104/58411] SOLINK ./libc++_chrome.cr.so
>   FAILED: libc++_chrome.cr.so libc++_chrome.cr.so.TOC lib.unstripped/libc++_chrome.cr.so
>   python3 "../../build/toolchain/gcc_solink_wrapper.py" --readelf="../../third_party/llvm-build/Releas...(too long)
>   ld.lld: error: relocation R_ARM_ABS32 cannot be used against symbol '_Unwind_Resume'; recompile with -fPIC
>   >>> defined in obj/buildtools/third_party/libunwind/libunwind/Unwind-EHABI.o
>   >>> referenced by cxa_exception.cpp
>   >>>               obj/buildtools/third_party/libc++abi/libc++abi/cxa_exception.o:(.text.__cxa_end_cleanup+0x10)
>   clang++: error: linker command failed with exit code 1 (use -v to see invocation)
>
> (https://bugs.chromium.org/p/chromium/issues/detail?id=1267270)
>
> Please take a look.

Thanks for the report, the above proposed change works for chrome and embedded targets too.
I'll reland the patch end of Monday.



================
Comment at: libcxxabi/src/cxa_exception.cpp:385-386
     "	mov	lr, r4\n"
-    "	b	_Unwind_Resume\n"
+    "	ldr r4,	=_Unwind_Resume\n"
+    "	bx	r4\n"
     "	.popsection");
----------------



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113181/new/

https://reviews.llvm.org/D113181



More information about the libcxx-commits mailing list