aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs/libcxx/patches
diff options
context:
space:
mode:
Diffstat (limited to 'package/libs/libcxx/patches')
-rw-r--r--package/libs/libcxx/patches/010-cxx17.patch14
-rw-r--r--package/libs/libcxx/patches/010-ssp.patch13
-rw-r--r--package/libs/libcxx/patches/020-fixes.patch35
3 files changed, 13 insertions, 49 deletions
diff --git a/package/libs/libcxx/patches/010-cxx17.patch b/package/libs/libcxx/patches/010-cxx17.patch
deleted file mode 100644
index dceec9d4f3..0000000000
--- a/package/libs/libcxx/patches/010-cxx17.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -524,9 +524,9 @@ remove_flags(-Wno-pedantic -pedantic-err
- if (LIBCXX_HAS_MUSL_LIBC OR LIBCXX_TARGETING_CLANG_CL)
- # musl's pthread implementations uses volatile types in their structs which is
- # not a constexpr in C++11 but is in C++14, so we use C++14 with musl.
-- set(LIBCXX_STANDARD_VER c++14 CACHE STRING "internal option to change build dialect")
-+ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to change build dialect")
- else()
-- set(LIBCXX_STANDARD_VER c++11 CACHE STRING "internal option to change build dialect")
-+ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to change build dialect")
- endif()
- add_compile_flags_if_supported(-std=${LIBCXX_STANDARD_VER})
- add_compile_flags_if_supported("/std:${LIBCXX_STANDARD_VER}")
diff --git a/package/libs/libcxx/patches/010-ssp.patch b/package/libs/libcxx/patches/010-ssp.patch
new file mode 100644
index 0000000000..f83c7b9b56
--- /dev/null
+++ b/package/libs/libcxx/patches/010-ssp.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -760,6 +760,10 @@ function(cxx_link_system_libraries targe
+ target_link_libraries(${target} PRIVATE atomic)
+ endif()
+
++ if (LIBCXX_HAS_MUSL_LIBC)
++ target_link_libraries(${target} PRIVATE ssp_nonshared)
++ endif()
++
+ if (MINGW)
+ target_link_libraries(${target} PRIVATE "${MINGW_LIBRARIES}")
+ endif()
diff --git a/package/libs/libcxx/patches/020-fixes.patch b/package/libs/libcxx/patches/020-fixes.patch
deleted file mode 100644
index 22ac494c04..0000000000
--- a/package/libs/libcxx/patches/020-fixes.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/include/cmath
-+++ b/include/cmath
-@@ -615,7 +615,7 @@ _Fp __lerp(_Fp __a, _Fp __b, _Fp __t) no
-
- if (__t == 1) return __b;
- const _Fp __x = __a + __t * (__b - __a);
-- if (__t > 1 == __b > __a)
-+ if ((__t > 1) == (__b > __a))
- return __b < __x ? __x : __b;
- else
- return __x < __b ? __x : __b;
---- a/include/memory
-+++ b/include/memory
-@@ -1696,7 +1696,7 @@ struct _LIBCPP_TEMPLATE_VIS allocator_tr
- ptrdiff_t _Np = __end1 - __begin1;
- __end2 -= _Np;
- if (_Np > 0)
-- _VSTD::memcpy(__end2, __begin1, _Np * sizeof(_Tp));
-+ __end2 = __begin1;
- }
-
- private:
---- a/src/filesystem/filesystem_common.h
-+++ b/src/filesystem/filesystem_common.h
-@@ -197,8 +197,8 @@ private:
- using chrono::duration;
- using chrono::duration_cast;
-
--using TimeSpec = struct ::timespec;
--using StatT = struct ::stat;
-+using TimeSpec = struct timespec;
-+using StatT = struct stat;
-
- template <class FileTimeT, class TimeT,
- bool IsFloat = is_floating_point<typename FileTimeT::rep>::value>