aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2021-09-21 14:32:26 -0700
committerIan Lance Taylor <iant@golang.org>2021-09-21 14:32:26 -0700
commita5b5cabc91c38710adbe5c8a2b53882abe994441 (patch)
tree66b099a6ebc2076ef353afa90d9703824d023812 /libgcc
parenta0791d0ed4f147ef347e83f4aedc7ad03f1a2008 (diff)
parent09e18d113b3c3dae896ac1a8ad1e0087adbb153b (diff)
downloadgcc-a5b5cabc91c38710adbe5c8a2b53882abe994441.zip
gcc-a5b5cabc91c38710adbe5c8a2b53882abe994441.tar.gz
gcc-a5b5cabc91c38710adbe5c8a2b53882abe994441.tar.bz2
Merge from trunk revision 09e18d113b3c3dae896ac1a8ad1e0087adbb153b.
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog24
-rw-r--r--libgcc/config.host2
-rw-r--r--libgcc/config/i386/libgcc-darwin.ver21
-rw-r--r--libgcc/config/i386/t-darwin3
-rw-r--r--libgcc/config/i386/t-softfp1
-rw-r--r--libgcc/config/t-darwin9
-rw-r--r--libgcc/config/t-slibgcc-darwin19
7 files changed, 59 insertions, 20 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index abd38fe..4a1b261 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,27 @@
+2021-09-19 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/t-slibgcc-darwin: Delete unused code.
+
+2021-09-19 Iain Sandoe <iain@sandoe.co.uk>
+
+ * 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.
+
+2021-09-19 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/i386/t-softfp: Exclude libgcc2 versions of __divhc3
+ and __mulhc3.
+
+2021-09-19 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config.host: Use convenience library for Darwin10
+ unwinder shim.
+ * config/t-darwin: Build Darwin10 unwinder shim as a
+ convenience library.
+
2021-09-13 Andrew Pinski <apinski@marvell.com>
* config.host: Remove m32r-*-linux* and m32rle-*-linux*.
diff --git a/libgcc/config.host b/libgcc/config.host
index 432a3e1..6c34b13 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -215,7 +215,7 @@ case ${host} in
*-*-darwin*)
asm_hidden_op=.private_extern
tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
- extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o"
+ extra_parts="crt3.o libd10-uwfef.a crttms.o crttme.o"
;;
*-*-dragonfly*)
tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
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/i386/t-softfp b/libgcc/config/i386/t-softfp
index 7620cc0..fe2ad8a 100644
--- a/libgcc/config/i386/t-softfp
+++ b/libgcc/config/i386/t-softfp
@@ -2,6 +2,7 @@ LIB2ADD += $(srcdir)/config/i386/sfp-exceptions.c
# Replace _divhc3 and _mulhc3.
libgcc2-hf-functions = _divhc3 _mulhc3
+LIB2FUNCS_EXCLUDE += $(libgcc2-hf-functions)
libgcc2-hf-extras = $(addsuffix .c, $(libgcc2-hf-functions))
LIB2ADD += $(addprefix $(srcdir)/config/i386/, $(libgcc2-hf-extras))
diff --git a/libgcc/config/t-darwin b/libgcc/config/t-darwin
index 3b5e342..14ae6b3 100644
--- a/libgcc/config/t-darwin
+++ b/libgcc/config/t-darwin
@@ -18,3 +18,12 @@ LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
# Patch to __Unwind_Find_Enclosing_Function for Darwin10.
d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
$(crt_compile) -mmacosx-version-min=10.6 -c $<
+
+# Using this crt as a library means that it will not be added to an exe
+# (or module) unless needed.
+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..bd1e963 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
@@ -94,16 +93,6 @@ install-darwin-libgcc-stubs :
for d in $(INSTALL_FILES) ; do \
$(INSTALL_DATA) $$d $(DESTDIR)$(slibdir)/$$d || exit 1 ; \
done
- if [ -f $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib ]; then \
- rm -f $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib; \
- else true; fi
- $(LN_S) libgcc_s.1.dylib \
- $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib
- if [ -f $(DESTDIR)$(slibdir)/libgcc_s_x86_64.1.dylib ]; then \
- rm -f $(DESTDIR)$(slibdir)/libgcc_s_x86_64.1.dylib; \
- else true; fi
- $(LN_S) libgcc_s.1.dylib \
- $(DESTDIR)$(slibdir)/libgcc_s_x86_64.1.dylib
else
@@ -123,12 +112,4 @@ install-darwin-libgcc-links:
$(LN_S) ../$$file $(gcc_objdir)$(MULTISUBDIR)/; \
done
- rm -f $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_x86_64.1.dylib
- $(LN_S) libgcc_s.1.dylib \
- $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_x86_64.1.dylib
-
- rm -f $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_ppc64.1.dylib
- $(LN_S) libgcc_s.1.dylib \
- $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_ppc64.1.dylib
-
endif