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 --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