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]

[PATCH] to support libgcc_s.so for m32r-linux-gcc 3.4, 4.0


Hi Nick,

This patch adds support libgcc_s.so and libgcc_eh.a.
This patch is needed to buid glibc, libtool .etc.

Please commit it into 3.4-branch and mainline.

Regards,

Kazuhiro Inaoka

gcc/ChangeLog

2004-11-17 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>

	* config.gcc: Use t-slibgcc-elf to build libgcc_s.so on
        m32r*linux.
	* config/m32r/t-linux (SHLIB_MAPFILES): Override to use
	m32r/libgcc-glibc.ver.
	* configure/m32r/libgcc-glibc.ver: Add New file.


Index: gcc/config.gcc
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config.gcc,v
retrieving revision 1.495
diff -u -r1.495 config.gcc
--- gcc/config.gcc	21 Oct 2004 22:28:22 -0000	1.495
+++ gcc/config.gcc	17 Nov 2004 02:35:38 -0000
@@ -1195,7 +1195,7 @@
 	tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} m32r/linux.h"
 	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
 	# We override the tmake_file for linux -- why?
-	tmake_file="m32r/t-linux"
+	tmake_file="t-slibgcc-elf-ver m32r/t-linux"
 	gnu_ld=yes
 	use_fixproto=yes
 	if test x$enable_threads = xyes; then
@@ -1206,7 +1206,7 @@
 	tm_file="dbxelf.h elfos.h svr4.h linux.h m32r/little.h ${tm_file} m32r/linux.h"
 	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
 	# We override the tmake_file for linux -- why?
-	tmake_file="m32r/t-linux"
+	tmake_file="t-slibgcc-elf-ver m32r/t-linux"
 	gnu_ld=yes
 	use_fixproto=yes
 	if test x$enable_threads = xyes; then
Index: gcc/config/m32r/t-linux
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m32r/t-linux,v
retrieving revision 1.1
diff -u -r1.1 t-linux
--- gcc/config/m32r/t-linux	31 Dec 2003 10:33:02 -0000	1.1
+++ gcc/config/m32r/t-linux	17 Nov 2004 02:35:40 -0000
@@ -40,3 +40,5 @@
 CROSS_LIBGCC1 =
 LIBGCC1_TEST =
 
+SHLIB_MAPFILES = $(srcdir)/config/m32r/libgcc-glibc.ver
+
diff -uN org/libgcc-glibc.ver gcc/config/m32r/libgcc-glibc.ver
--- org/libgcc-glibc.ver	1970-01-01 09:00:00.000000000 +0900
+++ gcc/config/m32r/libgcc-glibc.ver	2004-11-16 20:47:57.000000000 +0900
@@ -0,0 +1,21 @@
+# In order to work around the very problems that force us to now generally
+# create a libgcc.so, glibc reexported a number of routines from libgcc.a.
+# By now choosing the same version tags for these specific routines, we
+# maintain enough binary compatibility to allow future versions of glibc
+# to defer implementation of these routines to libgcc.so via DT_AUXILIARY.
+
+# Note that we cannot use the default libgcc-glibc.ver file on sh,
+# because GLIBC_2.0 does not exist on this architecture, as the first 
+# ever glibc release on the platform was GLIBC_2.3.
+
+%inherit GCC_3.0 GLIBC_2.3
+GLIBC_2.3 {
+  __register_frame
+  __register_frame_table
+  __deregister_frame
+  __register_frame_info
+  __deregister_frame_info
+  __frame_state_for
+  __register_frame_info_table
+}
+

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