This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix libgcc symbols for sh4
- From: Dan Kegel <dank at kegel dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 21 Aug 2003 07:03:58 -0700
- Subject: Fix libgcc symbols for sh4
'make check' in gcc-3.4-20030813 on sh4 failed for me while linking
libstdc++-v3/testsuite/abi_check.c. with error
sh4-unknown-linux-gnu/bin/ld: abi_check: hidden symbol `__sdivsi3_i4' in
build-gcc/gcc/libgcc.a(_sdivsi3_i4.oS) is referenced by DSO
without the following patch from Daniel Jacobowitz
(see also http://www.kegel.com/crosstool/current/gcc-3.4-20030813-patches/gcc-3.4-20030813-dj0815.patch ):
diff -Nurp gcc-3.4-20030813.orig/gcc/config/sh/libgcc-sh.ver gcc-3.4-20030813/gcc/config/sh/libgcc-sh.ver
--- gcc-3.4-20030813.orig/gcc/config/sh/libgcc-sh.ver 1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4-20030813/gcc/config/sh/libgcc-sh.ver 2003-04-17 22:51:11.000000000 -0400
@@ -0,0 +1,61 @@
+# Export some other functions referenced by the SH backend.
+
+GCC_3.0 {
+ __ashiftrt_r4_0
+ __ashiftrt_r4_1
+ __ashiftrt_r4_10
+ __ashiftrt_r4_11
+ __ashiftrt_r4_12
+ __ashiftrt_r4_13
+ __ashiftrt_r4_14
+ __ashiftrt_r4_15
+ __ashiftrt_r4_16
+ __ashiftrt_r4_17
+ __ashiftrt_r4_18
+ __ashiftrt_r4_19
+ __ashiftrt_r4_2
+ __ashiftrt_r4_20
+ __ashiftrt_r4_21
+ __ashiftrt_r4_22
+ __ashiftrt_r4_23
+ __ashiftrt_r4_24
+ __ashiftrt_r4_25
+ __ashiftrt_r4_26
+ __ashiftrt_r4_27
+ __ashiftrt_r4_28
+ __ashiftrt_r4_29
+ __ashiftrt_r4_3
+ __ashiftrt_r4_30
+ __ashiftrt_r4_31
+ __ashiftrt_r4_32
+ __ashiftrt_r4_4
+ __ashiftrt_r4_5
+ __ashiftrt_r4_6
+ __ashiftrt_r4_7
+ __ashiftrt_r4_8
+ __ashiftrt_r4_9
+ __movstr
+ __movstrSI0
+ __movstrSI12
+ __movstrSI12_i4
+ __movstrSI16
+ __movstrSI20
+ __movstrSI24
+ __movstrSI28
+ __movstrSI32
+ __movstrSI36
+ __movstrSI4
+ __movstrSI40
+ __movstrSI44
+ __movstrSI48
+ __movstrSI52
+ __movstrSI56
+ __movstrSI60
+ __movstrSI64
+ __movstrSI8
+ __movstr_i4_even
+ __movstr_i4_odd
+ __sdivsi3
+ __sdivsi3_i4
+ __udivsi3_i4
+}
--- gcc-3.4-20030813/gcc/config/sh/t-linux.orig Sat Dec 21 15:26:16 2002
+++ gcc-3.4-20030813/gcc/config/sh/t-linux Fri Aug 15 14:48:31 2003
@@ -12,4 +12,5 @@
# Override t-slibgcc-elf-ver to export some libgcc symbols with
# the symbol versions that glibc used.
-SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/sh/libgcc-glibc.ver
+SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/sh/libgcc-glibc.ver \
+ $(srcdir)/config/sh/libgcc-sh.ver
--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045