aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2021-06-14 19:17:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2021-06-21 19:09:47 +0000
commitf616d57736dc663ae5cae08f2f3c3c34c199bcd4 (patch)
treea093b44238528dc4e16eb9f94342f98b63cd7ce1
parent5fb914cdc18acf9070002af69832973a6472f7ac (diff)
downloadsrc-f616d57736dc663ae5cae08f2f3c3c34c199bcd4.tar.gz
src-f616d57736dc663ae5cae08f2f3c3c34c199bcd4.zip
Export various 128 bit long double functions from libgcc_s.so.1
These were already compiled for some time on aarch64 and riscv, by including lib/libcompiler_rt/Makefile.inc, but never exported in the shared library. Since gcc exports these under version GCC_4.6.0, we do the same. This review should replace D11482 for now. For e.g. amd64 more work is still to be done, as compiler-rt does not seem to support 128 bit long double math for that architecture. Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D28690 (cherry picked from commit 790a6be5a1699291c6da87871426d0c56dedcc89)
-rw-r--r--lib/libgcc_s/Symbol.map29
-rw-r--r--lib/libgcc_s/Versions.def3
2 files changed, 32 insertions, 0 deletions
diff --git a/lib/libgcc_s/Symbol.map b/lib/libgcc_s/Symbol.map
index 695f61893360..2580623d778b 100644
--- a/lib/libgcc_s/Symbol.map
+++ b/lib/libgcc_s/Symbol.map
@@ -148,3 +148,32 @@ GCC_4.3.0 {
__bswapdi2;
__bswapsi2;
};
+
+GCC_4.6.0 {
+ __addtf3;
+ __cmptf2;
+ __divtf3;
+ __eqtf2;
+ __extenddftf2;
+ __extendsftf2;
+ __fixtfdi;
+ __fixtfsi;
+ __fixtfti;
+ __fixunstfdi;
+ __fixunstfsi;
+ __fixunstfti;
+ __floatsitf;
+ __floattitf;
+ __floatunsitf;
+ __floatuntitf;
+ __getf2;
+ __gttf2;
+ __letf2;
+ __lttf2;
+ __multf3;
+ __netf2;
+ __subtf3;
+ __trunctfdf2;
+ __trunctfsf2;
+ __unordtf2;
+};
diff --git a/lib/libgcc_s/Versions.def b/lib/libgcc_s/Versions.def
index 2c9fdc00e3b5..16ef1d3fc504 100644
--- a/lib/libgcc_s/Versions.def
+++ b/lib/libgcc_s/Versions.def
@@ -29,3 +29,6 @@ GCC_4.2.0 {
GCC_4.3.0 {
} GCC_4.2.0;
+
+GCC_4.6.0 {
+} GCC_4.3.0;