This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]