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]

[3.3 PATCH] SH: Fix PR 13250, 15647 and 15120


Hi,

The appended patches were queued for 3.3.5.  The first 2 were already
approved and the last one was once approved and checked in but reverted
with an another check-in accidentally.  Gaby, could you please approve
it once again?  I've regtested these again on native sh4-linux and
i686-linux.

Regards,
	kaz
--
2004-07-03  Kaz Kojima  <kkojima@gcc.gnu.org>

	PR target/13250
	Backport from mainline:
	* config/sh/sh.md (rotlsi3): Use emit_move_insn.

	PR target/15647
	Backport from mainline:
	* config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
	libgcc-std.ver.
	* config/sh/libgcc-std.ver: New file.

	PR bootstrap/15120
	* libstdc++-v3/configure: Rebuilt.

diff -uprN ORIG/gcc-3.3/gcc/config/sh/sh.md LOCAL/gcc-3.3/gcc/config/sh/sh.md
--- ORIG/gcc-3.3/gcc/config/sh/sh.md	2004-06-01 07:52:23.000000000 +0900
+++ LOCAL/gcc-3.3/gcc/config/sh/sh.md	2004-06-29 22:39:13.000000000 +0900
@@ -2174,7 +2174,7 @@
 	parts[0] = gen_reg_rtx (SImode);
 	parts[1] = gen_reg_rtx (SImode);
 	emit_insn (gen_rotlsi3_16 (parts[2-choice], operands[1]));
-	parts[choice-1] = operands[1];
+	emit_move_insn (parts[choice-1], operands[1]);
 	emit_insn (gen_ashlsi3 (parts[0], parts[0], GEN_INT (8)));
 	emit_insn (gen_lshrsi3 (parts[1], parts[1], GEN_INT (8)));
 	emit_insn (gen_iorsi3 (operands[0], parts[0], parts[1]));
diff -uprN ORIG/gcc-3.3/gcc/config/sh/t-linux LOCAL/gcc-3.3/gcc/config/sh/t-linux
--- ORIG/gcc-3.3/gcc/config/sh/t-linux	2003-12-02 14:33:16.000000000 +0900
+++ LOCAL/gcc-3.3/gcc/config/sh/t-linux	2004-06-29 22:39:13.000000000 +0900
@@ -14,8 +14,11 @@ MULTILIB_EXCEPTIONS=
 EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o
 
 # 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
+# the symbol versions that glibc used.  Also use sh specific
+# libgcc-std.ver to avoid to export some lib1func routines which
+# shoud not be called via PLT.
+SHLIB_MAPFILES =  $(srcdir)/config/sh/libgcc-std.ver \
+	$(srcdir)/config/sh/libgcc-glibc.ver
 
 # Override SHLIB_LINK and SHLIB_INSTALL to use linker script
 # libgcc_s.so.
diff -uprN ORIG/gcc-3.3/gcc/config/sh/libgcc-std.ver LOCAL/gcc-3.3/gcc/config/sh/libgcc-std.ver
--- ORIG/gcc-3.3/gcc/config/sh/libgcc-std.ver	1970-01-01 09:00:00.000000000 +0900
+++ LOCAL/gcc-3.3/gcc/config/sh/libgcc-std.ver	2004-06-29 22:39:13.000000000 +0900
@@ -0,0 +1,196 @@
+GCC_3.0 {
+  # libgcc1 integer symbols
+  __absvsi2
+  __addvsi3
+  # __ashlsi3
+  # __ashrsi3
+  __divsi3
+  # __lshrsi3
+  __modsi3
+  __mulsi3
+  __mulvsi3
+  __negvsi2
+  __subvsi3
+  # __udivsi3
+  __umodsi3
+
+  # libgcc1 floating point symbols
+  __addsf3
+  __adddf3
+  __addxf3
+  __addtf3
+  __divsf3
+  __divdf3
+  __divxf3
+  __divtf3
+  __eqsf2
+  __eqdf2
+  __eqxf2
+  __eqtf2
+  __extenddfxf2
+  __extenddftf2
+  __extendsfdf2
+  __extendsfxf2
+  __extendsftf2
+  __fixsfsi
+  __fixdfsi
+  __fixxfsi
+  __fixtfsi
+  __floatsisf
+  __floatsidf
+  __floatsixf
+  __floatsitf
+  __gesf2
+  __gedf2
+  __gexf2
+  __getf2
+  __gtsf2
+  __gtdf2
+  __gtxf2
+  __gttf2
+  __lesf2
+  __ledf2
+  __lexf2
+  __letf2
+  __ltsf2
+  __ltdf2
+  __ltxf2
+  __lttf2
+  __mulsf3
+  __muldf3
+  __mulxf3
+  __multf3
+  __negsf2
+  __negdf2
+  __negxf2
+  __negtf2
+  __nesf2
+  __nedf2
+  __nexf2
+  __netf2
+  __subsf3
+  __subdf3
+  __subxf3
+  __subtf3
+  __truncdfsf2
+  __truncxfsf2
+  __trunctfsf2
+  __truncxfdf2
+  __trunctfdf2
+
+  # libgcc2 DImode arithmetic (for 32-bit targets).
+  __absvdi2
+  __addvdi3
+  __ashldi3
+  __ashrdi3
+  __cmpdi2
+  __divdi3
+  __ffsdi2
+  __fixdfdi
+  __fixsfdi
+  __fixtfdi
+  __fixxfdi
+  __fixunsdfdi
+  __fixunsdfsi
+  __fixunssfsi
+  __fixunssfdi
+  __fixunstfdi
+  __fixunstfsi
+  __fixunsxfdi
+  __fixunsxfsi
+  __floatdidf
+  __floatdisf
+  __floatdixf
+  __floatditf
+  __lshrdi3
+  __moddi3
+  __muldi3
+  __mulvdi3
+  __negdi2
+  __negvdi2
+  __subvdi3
+  __ucmpdi2
+  __udivdi3
+  __udivmoddi4
+  __umoddi3
+
+  # libgcc2 TImode arithmetic (for 64-bit targets).
+  __ashlti3
+  __ashrti3
+  __cmpti2
+  __divti3
+  __ffsti2
+  __fixdfti
+  __fixsfti
+  __fixtfti
+  __fixxfti
+  __lshrti3
+  __modti3
+  __multi3
+  __negti2
+  __ucmpti2
+  __udivmodti4
+  __udivti3
+  __umodti3
+  __fixunsdfti
+  __fixunssfti
+  __fixunstfti
+  __fixunsxfti
+  __floattidf
+  __floattisf
+  __floattixf
+  __floattitf
+
+  # Used to deal with trampoline initialization on some platforms
+  __clear_cache
+
+  # EH symbols
+  _Unwind_DeleteException
+  _Unwind_Find_FDE
+  _Unwind_ForcedUnwind
+  _Unwind_GetGR
+  _Unwind_GetIP
+  _Unwind_GetLanguageSpecificData
+  _Unwind_GetRegionStart
+  _Unwind_GetTextRelBase
+  _Unwind_GetDataRelBase
+  _Unwind_RaiseException
+  _Unwind_Resume
+  _Unwind_SetGR
+  _Unwind_SetIP
+  __deregister_frame
+  __deregister_frame_info
+  __deregister_frame_info_bases
+  __register_frame
+  __register_frame_info
+  __register_frame_info_bases
+  __register_frame_info_table
+  __register_frame_info_table_bases
+  __register_frame_table
+
+  # SjLj EH symbols
+  _Unwind_SjLj_Register
+  _Unwind_SjLj_Unregister
+  _Unwind_SjLj_RaiseException
+  _Unwind_SjLj_ForcedUnwind
+  _Unwind_SjLj_Resume
+}
+
+%inherit GCC_3.3 GCC_3.0
+GCC_3.3 {
+  _Unwind_FindEnclosingFunction
+  _Unwind_GetCFA
+  _Unwind_Backtrace
+  _Unwind_Resume_or_Rethrow
+  _Unwind_SjLj_Resume_or_Rethrow
+}
+
+%inherit GCC_3.3.1 GCC_3.3
+GCC_3.3.1 {
+  __gcc_personality_sj0
+  __gcc_personality_v0
+}
+
+%inherit GCC_3.3.2 GCC_3.3.1
+GCC_3.3.2 {
+}


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