void-packages/srcpkgs/chromium/patches/libcxx-musl.patch
2025-04-03 02:32:52 +02:00

41 lines
1.5 KiB
Diff

From 39c6c8be2f3f607b413e3f05ab1f4678efdd129a Mon Sep 17 00:00:00 2001
From: Brian Cain <brian.cain@oss.qualcomm.com>
Date: Thu, 27 Feb 2025 21:49:19 -0600
Subject: [PATCH] [libc++] Fix the locale base API on Linux with musl (#128936)
Since `363bfd6090b0 ([libc++] Use the new locale base API on Linux
(#128007), 2025-02-24)`, musl targets will fail to build with errors
due to missing strtoll_l functions.
Co-authored-by: Pirama Arumuga Nainar <pirama@google.com>
---
libcxx/include/__locale_dir/support/linux.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/libcxx/include/__locale_dir/support/linux.h b/libcxx/include/__locale_dir/support/linux.h
index f1662c0112603..fa0b03c646a2a 100644
--- a/third_party/libc++/src/include/__locale_dir/support/linux.h
+++ b/third_party/libc++/src/__locale_dir/support/linux.h
@@ -95,12 +95,22 @@ inline _LIBCPP_HIDE_FROM_ABI long double __strtold(const char* __nptr, char** __
}
inline _LIBCPP_HIDE_FROM_ABI long long __strtoll(const char* __nptr, char** __endptr, int __base, __locale_t __loc) {
+#if !_LIBCPP_HAS_MUSL_LIBC
return ::strtoll_l(__nptr, __endptr, __base, __loc);
+#else
+ (void)__loc;
+ return ::strtoll(__nptr, __endptr, __base);
+#endif
}
inline _LIBCPP_HIDE_FROM_ABI unsigned long long
__strtoull(const char* __nptr, char** __endptr, int __base, __locale_t __loc) {
+#if !_LIBCPP_HAS_MUSL_LIBC
return ::strtoull_l(__nptr, __endptr, __base, __loc);
+#else
+ (void)__loc;
+ return ::strtoull(__nptr, __endptr, __base);
+#endif
}
//