diff mbox series

aarch64: Add HF routines to libgcc_s.so

Message ID mpt4knpoo8j.fsf@arm.com
State New
Headers show
Series aarch64: Add HF routines to libgcc_s.so | expand

Commit Message

Richard Sandiford Sept. 22, 2020, 2:55 p.m. UTC
The libgcc HF support routines were being linked into libgcc_s.so,
but weren't being exported.

Tested on aarch64-linux-gnu and aarch64_be-elf.  Any thoughts?
I'll apply Monday next week if there are no objections by then.

I guess there's the question whether we should backport this
to release branches.  It seems a bit dangerous to change the
ABI there though, even as a pure extension.  It would also
make the choice of symbol version less clear-cut.

Richard


libgcc/
	* config/aarch64/libgcc-softfp.ver: New file.
	* config/aarch64/t-softfp (SHLIB_MAPFILES): Add it.
---
 libgcc/config/aarch64/libgcc-softfp.ver | 28 +++++++++++++++++++++++++
 libgcc/config/aarch64/t-softfp          |  1 +
 2 files changed, 29 insertions(+)
 create mode 100644 libgcc/config/aarch64/libgcc-softfp.ver
diff mbox series

Patch

diff --git a/libgcc/config/aarch64/libgcc-softfp.ver b/libgcc/config/aarch64/libgcc-softfp.ver
new file mode 100644
index 00000000000..b51a3dedb3f
--- /dev/null
+++ b/libgcc/config/aarch64/libgcc-softfp.ver
@@ -0,0 +1,28 @@ 
+# Copyright (C) 2020 Free Software Foundation, Inc.
+#
+# This file is part of GCC.
+#
+# GCC is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GCC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
+
+GCC_11.0 {
+  __divhc3
+  __extendhftf2
+  __fixhfti
+  __fixunshfti
+  __floattihf
+  __floatuntihf
+  __mulhc3
+  __trunctfhf2
+}
diff --git a/libgcc/config/aarch64/t-softfp b/libgcc/config/aarch64/t-softfp
index c4ce0dc0097..981ced7444f 100644
--- a/libgcc/config/aarch64/t-softfp
+++ b/libgcc/config/aarch64/t-softfp
@@ -8,3 +8,4 @@  softfp_extras := fixhfti fixunshfti floattihf floatuntihf
 TARGET_LIBGCC2_CFLAGS += -Wno-missing-prototypes
 
 LIB2ADD += $(srcdir)/config/aarch64/sfp-exceptions.c
+SHLIB_MAPFILES += $(srcdir)/config/aarch64/libgcc-softfp.ver