git: 44e89340fe34 - main - libgcc_s: expose __divmoddi4 on i386

From: Brooks Davis <brooks_at_FreeBSD.org>
Date: Fri, 19 Apr 2024 21:56:20 UTC
The branch main has been updated by brooks:

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

commit 44e89340fe349abc020732958c6debd12b5adf2c
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2024-04-19 21:52:42 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2024-04-19 21:56:13 +0000

    libgcc_s: expose __divmoddi4 on i386
    
    GCC has used this for some time (since 7.0) and apparently we were
    getting away with using the hidden symbol, but when linking with
    --no-undefined-version we get an error unless it's properly exported.
    (For anyone who wonders at the assymetry, __udivmoddi4 is indeed much
    older and was introduced with GCC 3.0.)
    
    MFC after:      3 days
    Reviewed by:    dim
    Differential Revision:  https://reviews.freebsd.org/D44878
---
 lib/libgcc_s/Symbol.map   | 6 ++++++
 lib/libgcc_s/Versions.def | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/lib/libgcc_s/Symbol.map b/lib/libgcc_s/Symbol.map
index a30403f9811a..2c507656f037 100644
--- a/lib/libgcc_s/Symbol.map
+++ b/lib/libgcc_s/Symbol.map
@@ -221,3 +221,9 @@ GCC_4.6.0 {
 	__unordtf2;
 };
 #endif
+
+GCC_7.0.0 {
+#ifdef __i386__
+	__divmoddi4;
+#endif
+};
diff --git a/lib/libgcc_s/Versions.def b/lib/libgcc_s/Versions.def
index d28e9042f744..526387e055df 100644
--- a/lib/libgcc_s/Versions.def
+++ b/lib/libgcc_s/Versions.def
@@ -31,3 +31,6 @@ GCC_4.3.0 {
 
 GCC_4.6.0 {
 } GCC_4.3.0;
+
+GCC_7.0.0 {
+} GCC_4.6.0;