git: 3f82d8345b17 - main - libgcc_s: only export 128-bit int APIs when available
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 16 Apr 2024 21:14:47 UTC
The branch main has been updated by brooks:
URL: https://cgit.FreeBSD.org/src/commit/?id=3f82d8345b17eb1c5a7ae40f3c71e9f42f2ea487
commit 3f82d8345b17eb1c5a7ae40f3c71e9f42f2ea487
Author: Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2024-04-16 17:03:21 +0000
Commit: Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2024-04-16 21:14:21 +0000
libgcc_s: only export 128-bit int APIs when available
These interfaces are only compiled when the platform supports 128-bit
ints. Use a CRT_HAS_128BIT guard similar to the one used in the
compiler_rt sources.
Reviewed by: dim
Differential Revision: https://reviews.freebsd.org/D44323
---
lib/libgcc_s/Symbol.map | 67 ++++++++++++++++++++++++++++++-------------------
1 file changed, 41 insertions(+), 26 deletions(-)
diff --git a/lib/libgcc_s/Symbol.map b/lib/libgcc_s/Symbol.map
index de19c766fbba..39cfa1809740 100644
--- a/lib/libgcc_s/Symbol.map
+++ b/lib/libgcc_s/Symbol.map
@@ -1,56 +1,42 @@
/*
*/
+#if defined(__LP64__) || defined(__SIZEOF_INT128__)
+#define CRT_HAS_128BIT
+#endif
+
GCC_3.0 {
__absvdi2;
__absvsi2;
__addvdi3;
__addvsi3;
__ashldi3;
- __ashlti3;
__ashrdi3;
- __ashrti3;
__clear_cache;
__cmpdi2;
- __cmpti2;
__deregister_frame;
__deregister_frame_info;
__deregister_frame_info_bases;
__divdi3;
- __divti3;
__ffsdi2;
- __ffsti2;
__fixdfdi;
- __fixdfti;
__fixsfdi;
- __fixsfti;
__fixunsdfdi;
__fixunsdfsi;
- __fixunsdfti;
__fixunssfdi;
__fixunssfsi;
- __fixunssfti;
__fixunsxfdi;
__fixunsxfsi;
- __fixunsxfti;
__fixxfdi;
- __fixxfti;
__floatdidf;
__floatdisf;
__floatdixf;
- __floattidf;
- __floattisf;
- __floattixf;
__lshrdi3;
- __lshrti3;
__moddi3;
- __modti3;
__muldi3;
- __multi3;
__mulvdi3;
__mulvsi3;
__negdi2;
- __negti2;
__negvdi2;
__negvsi2;
__register_frame;
@@ -62,13 +48,9 @@ GCC_3.0 {
__subvdi3;
__subvsi3;
__ucmpdi2;
- __ucmpti2;
__udivdi3;
__udivmoddi4;
- __udivmodti4;
- __udivti3;
__umoddi3;
- __umodti3;
_Unwind_DeleteException;
_Unwind_Find_FDE;
_Unwind_ForcedUnwind;
@@ -82,6 +64,31 @@ GCC_3.0 {
_Unwind_Resume;
_Unwind_SetGR;
_Unwind_SetIP;
+
+#ifdef CRT_HAS_128BIT
+ __ashlti3;
+ __ashrti3;
+ __cmpti2;
+ __divti3;
+ __ffsti2;
+ __fixdfti;
+ __fixsfti;
+ __fixunsdfti;
+ __fixunssfti;
+ __fixunsxfti;
+ __fixxfti;
+ __floattidf;
+ __floattisf;
+ __floattixf;
+ __lshrti3;
+ __modti3;
+ __multi3;
+ __negti2;
+ __ucmpti2;
+ __udivmodti4;
+ __udivti3;
+ __umodti3;
+#endif
};
GCC_3.3 {
@@ -97,16 +104,19 @@ GCC_3.3.1 {
GCC_3.4 {
__clzdi2;
__clzsi2;
- __clzti2;
__ctzdi2;
__ctzsi2;
- __ctzti2;
__paritydi2;
__paritysi2;
- __parityti2;
__popcountdi2;
__popcountsi2;
+
+#ifdef CRT_HAS_128BIT
+ __clzti2;
+ __ctzti2;
+ __parityti2;
__popcountti2;
+#endif
};
GCC_3.4.2 {
@@ -114,11 +124,13 @@ GCC_3.4.2 {
};
GCC_3.4.4 {
+#ifdef CRT_HAS_128BIT
__absvti2;
__addvti3;
__mulvti3;
__negvti2;
__subvti3;
+#endif
};
GCC_4.0.0 {
@@ -137,10 +149,13 @@ GCC_4.2.0 {
__floatundidf;
__floatundisf;
__floatundixf;
+ _Unwind_GetIPInfo;
+
+#ifdef CRT_HAS_128BIT
__floatuntidf;
__floatuntisf;
__floatuntixf;
- _Unwind_GetIPInfo;
+#endif
};
GCC_4.3.0 {