aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2021-09-18 20:17:06 +0100
committerIain Sandoe <iain@sandoe.co.uk>2021-09-19 19:41:31 +0100
commitea4e901fa3ac09aa21e20bae460cbac70f9820e0 (patch)
tree080baa2bd60ac7fc1337e47890b88208582a6700 /libgcc
parent1297a40fb331467c9ac841dee1c30b6716655517 (diff)
downloadgcc-ea4e901fa3ac09aa21e20bae460cbac70f9820e0.zip
gcc-ea4e901fa3ac09aa21e20bae460cbac70f9820e0.tar.gz
gcc-ea4e901fa3ac09aa21e20bae460cbac70f9820e0.tar.bz2
libgcc, X86, Darwin: Handle symbols for HF cases.
This reorganises the Darwin symbol vers files to include the generic ones at the top level; allowing for arch ports to override (via either exclusion or inclusion as needed). We add an X86-specific vers file containing the new HF symbols. Note that although Darwin does not use ELF-style symbol versioning - the parser that produces the map can consume it. Using the ELF-style description will help us know at which rev the symbols were introduced. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> libgcc/ChangeLog: * config/i386/t-darwin: Add in a vers file for X86-specific symbols. * config/t-darwin: Add the generic symbol maps here... * config/t-slibgcc-darwin: ... removing from here. * config/i386/libgcc-darwin.ver: New file.
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/config/i386/libgcc-darwin.ver21
-rw-r--r--libgcc/config/i386/t-darwin3
-rw-r--r--libgcc/config/t-darwin3
-rw-r--r--libgcc/config/t-slibgcc-darwin1
4 files changed, 27 insertions, 1 deletions
diff --git a/libgcc/config/i386/libgcc-darwin.ver b/libgcc/config/i386/libgcc-darwin.ver
new file mode 100644
index 0000000..5224cdc
--- /dev/null
+++ b/libgcc/config/i386/libgcc-darwin.ver
@@ -0,0 +1,21 @@
+
+
+%inherit GCC_12.0.0 GCC_7.0.0
+GCC_12.0.0 {
+ __divhc3
+ __mulhc3
+ __eqhf2
+ __nehf2
+ __extendhfdf2
+ __extendhfsf2
+ __extendhftf2
+ __extendhfxf2
+ __fixhfti
+ __fixunshfti
+ __floattihf
+ __floatuntihf
+ __truncdfhf2
+ __truncsfhf2
+ __trunctfhf2
+ __truncxfhf2
+}
diff --git a/libgcc/config/i386/t-darwin b/libgcc/config/i386/t-darwin
index 5f2c697..c6b3aca 100644
--- a/libgcc/config/i386/t-darwin
+++ b/libgcc/config/i386/t-darwin
@@ -1,3 +1,6 @@
LIB2_SIDITI_CONV_FUNCS = yes
LIB2ADD = $(srcdir)/config/darwin-64.c
LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi _floatditf _floatunditf
+
+# Extra symbols for this port.
+SHLIB_MAPFILES += $(srcdir)/config/i386/libgcc-darwin.ver
diff --git a/libgcc/config/t-darwin b/libgcc/config/t-darwin
index 4b6317b..14ae6b3 100644
--- a/libgcc/config/t-darwin
+++ b/libgcc/config/t-darwin
@@ -24,3 +24,6 @@ d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
libd10-uwfef.a: d10-uwfef.o
$(AR_CREATE_FOR_TARGET) $@ d10-uwfef.o
$(RANLIB_FOR_TARGET) $@
+
+# Symbols for all the sub-ports.
+SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/libgcc-libsystem.ver
diff --git a/libgcc/config/t-slibgcc-darwin b/libgcc/config/t-slibgcc-darwin
index a6ada45..60d6d17 100644
--- a/libgcc/config/t-slibgcc-darwin
+++ b/libgcc/config/t-slibgcc-darwin
@@ -24,7 +24,6 @@ SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -dynamiclib -nodefaultlibs \
SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
SHLIB_MKMAP_OPTS = -v leading_underscore=1
-SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/libgcc-libsystem.ver
SHLIB_VERPFX = $(srcdir)/config/$(cpu_type)/libgcc-darwin
# we're only going to build the stubs if the target slib is /usr/lib