The branch main has been updated by brooks:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=3f82d8345b17eb1c5a7ae40f3c71e9f42f2ea487

commit 3f82d8345b17eb1c5a7ae40f3c71e9f42f2ea487
Author:     Brooks Davis <[email protected]>
AuthorDate: 2024-04-16 17:03:21 +0000
Commit:     Brooks Davis <[email protected]>
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 {

Reply via email to