git: b457144ceaf7 - main - libgcc_s: exclude symbols not present on some arches

From: Brooks Davis <brooks_at_FreeBSD.org>
Date: Tue, 16 Apr 2024 21:14:48 UTC
The branch main has been updated by brooks:

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

commit b457144ceaf71be9de20f1879bb376162197cd9b
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2024-04-16 17:03:42 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2024-04-16 21:14:21 +0000

    libgcc_s: exclude symbols not present on some arches
    
    arm, aarch64, and riscv lack some/all frame_info interfaces.
    arm and powerpc lack some numeric functions.
    
    Differential Revision:  https://reviews.freebsd.org/D44324
---
 lib/libgcc_s/Symbol.map | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/lib/libgcc_s/Symbol.map b/lib/libgcc_s/Symbol.map
index 39cfa1809740..a30403f9811a 100644
--- a/lib/libgcc_s/Symbol.map
+++ b/lib/libgcc_s/Symbol.map
@@ -14,23 +14,35 @@ GCC_3.0 {
 	__ashrdi3;
 	__clear_cache;
 	__cmpdi2;
+#ifndef __arm__
 	__deregister_frame;
+#if !defined(__aarch64__) && !defined(__riscv)
 	__deregister_frame_info;
 	__deregister_frame_info_bases;
+#endif
+#endif
 	__divdi3;
 	__ffsdi2;
 	__fixdfdi;
 	__fixsfdi;
 	__fixunsdfdi;
+#ifndef __arm__
 	__fixunsdfsi;
+#endif
 	__fixunssfdi;
+#ifndef __arm__
 	__fixunssfsi;
+#endif
+#ifndef __powerpc__
 	__fixunsxfdi;
 	__fixunsxfsi;
 	__fixxfdi;
+#endif
 	__floatdidf;
 	__floatdisf;
+#ifndef __powerpc__
 	__floatdixf;
+#endif
 	__lshrdi3;
 	__moddi3;
 	__muldi3;
@@ -39,12 +51,16 @@ GCC_3.0 {
 	__negdi2;
 	__negvdi2;
 	__negvsi2;
+#ifndef __arm__
 	__register_frame;
+#if !defined(__aarch64__) && !defined(__riscv)
 	__register_frame_info;
 	__register_frame_info_bases;
 	__register_frame_info_table;
 	__register_frame_info_table_bases;
 	__register_frame_table;
+#endif
+#endif
 	__subvdi3;
 	__subvsi3;
 	__ucmpdi2;
@@ -136,19 +152,27 @@ GCC_3.4.4 {
 GCC_4.0.0 {
 	__divdc3;
 	__divsc3;
+#ifndef __powerpc__
 	__divxc3;
+#endif
 	__muldc3;
 	__mulsc3;
+#ifndef __powerpc__
 	__mulxc3;
+#endif
 	__powidf2;
 	__powisf2;
+#ifndef __powerpc__
 	__powixf2;
+#endif
 };
 
 GCC_4.2.0 {
 	__floatundidf;
 	__floatundisf;
+#ifndef __powerpc__
 	__floatundixf;
+#endif
 	_Unwind_GetIPInfo;
 
 #ifdef CRT_HAS_128BIT