diff options
author | Iain Sandoe <iain@sandoe.co.uk> | 2021-09-18 20:17:06 +0100 |
---|---|---|
committer | Iain Sandoe <iain@sandoe.co.uk> | 2021-09-19 19:41:31 +0100 |
commit | ea4e901fa3ac09aa21e20bae460cbac70f9820e0 (patch) | |
tree | 080baa2bd60ac7fc1337e47890b88208582a6700 /libgcc | |
parent | 1297a40fb331467c9ac841dee1c30b6716655517 (diff) | |
download | gcc-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.ver | 21 | ||||
-rw-r--r-- | libgcc/config/i386/t-darwin | 3 | ||||
-rw-r--r-- | libgcc/config/t-darwin | 3 | ||||
-rw-r--r-- | libgcc/config/t-slibgcc-darwin | 1 |
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 |