diff options
Diffstat (limited to 'extra/llvm-libunwind')
-rw-r--r-- | extra/llvm-libunwind/libcxx-musl.patch | 28 | ||||
-rw-r--r-- | extra/llvm-libunwind/libunwind-link-libssp.patch | 20 |
2 files changed, 48 insertions, 0 deletions
diff --git a/extra/llvm-libunwind/libcxx-musl.patch b/extra/llvm-libunwind/libcxx-musl.patch new file mode 100644 index 0000000..358d4a3 --- /dev/null +++ b/extra/llvm-libunwind/libcxx-musl.patch @@ -0,0 +1,28 @@ +Patch-Source: https://github.com/void-linux/void-packages/blob/74f16232621ca8dfb6d244beff1df35a6df1647f/srcpkgs/llvm12/patches/libcxx-musl.patch + +--- a/libcxx/include/locale ++++ b/libcxx/include/locale +@@ -742,7 +742,11 @@ __num_get_signed_integral(const char* __a, const char* __a_end, + typename remove_reference<decltype(errno)>::type __save_errno = errno; + errno = 0; + char *__p2; ++#if defined(__linux__) && !defined(__GLIBC__) ++ long long __ll = strtoll(__a, &__p2, __base); ++#else + long long __ll = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE); ++#endif + typename remove_reference<decltype(errno)>::type __current_errno = errno; + if (__current_errno == 0) + errno = __save_errno; +@@ -782,7 +786,11 @@ __num_get_unsigned_integral(const char* __a, const char* __a_end, + typename remove_reference<decltype(errno)>::type __save_errno = errno; + errno = 0; + char *__p2; ++#if defined(__linux__) && !defined(__GLIBC__) ++ unsigned long long __ll = strtoull(__a, &__p2, __base); ++#else + unsigned long long __ll = strtoull_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE); ++#endif + typename remove_reference<decltype(errno)>::type __current_errno = errno; + if (__current_errno == 0) + errno = __save_errno; diff --git a/extra/llvm-libunwind/libunwind-link-libssp.patch b/extra/llvm-libunwind/libunwind-link-libssp.patch new file mode 100644 index 0000000..ae819fe --- /dev/null +++ b/extra/llvm-libunwind/libunwind-link-libssp.patch @@ -0,0 +1,20 @@ +--- a/libunwind/src/CMakeLists.txt ++++ b/libunwind/src/CMakeLists.txt +@@ -129,7 +129,7 @@ + else() + target_compile_options(unwind_shared PRIVATE -fno-rtti) + endif() +- target_link_libraries(unwind_shared PRIVATE ${LIBUNWIND_LIBRARIES}) ++ target_link_libraries(unwind_shared PRIVATE ${LIBUNWIND_LIBRARIES} -lssp_nonshared) + set_target_properties(unwind_shared + PROPERTIES + CXX_EXTENSIONS OFF +@@ -157,7 +157,7 @@ + else() + target_compile_options(unwind_static PRIVATE -fno-rtti) + endif() +- target_link_libraries(unwind_static PRIVATE ${LIBUNWIND_LIBRARIES}) ++ target_link_libraries(unwind_static PRIVATE ${LIBUNWIND_LIBRARIES} -lssp_nonshared) + set_target_properties(unwind_static + PROPERTIES + CXX_EXTENSIONS OFF |