git: d5ad60b75f47 - stable/14 - libgcc_s: expose __divmoddi4 on i386

From: Brooks Davis <brooks_at_FreeBSD.org>
Date: Fri, 26 Apr 2024 19:27:28 UTC
The branch stable/14 has been updated by brooks:

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

commit d5ad60b75f47feda1a8676f186030beab539df26
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2024-04-19 21:52:42 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2024-04-26 18:30:42 +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
    
    (cherry picked from commit 44e89340fe349abc020732958c6debd12b5adf2c)
---
 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 2aa31ec34542..ea5baaef6645 100644
--- a/lib/libgcc_s/Symbol.map
+++ b/lib/libgcc_s/Symbol.map
@@ -180,3 +180,9 @@ GCC_4.6.0 {
 	__trunctfxf2;
 	__unordtf2;
 };
+
+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;