From: Kaz Kojima Date: Mon, 26 Jul 2004 00:47:38 +0000 (+0000) Subject: re PR target/13250 ([3.4 only] [SH] Gcc code for rotation clobbers the register,... X-Git-Tag: releases/gcc-3.3.5~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e80aa93ec43c722096d68e483ce8264f4af5d028;p=thirdparty%2Fgcc.git re PR target/13250 ([3.4 only] [SH] Gcc code for rotation clobbers the register, but gcc continues to use the register as if it was not clobbered) 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. From-SVN: r85176 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33c3a085d38c..99e443d6f776 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2004-07-25 Kaz Kojima + + 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. + 2004-07-25 John David Anglin PR target/15202 diff --git a/gcc/config/sh/libgcc-std.ver b/gcc/config/sh/libgcc-std.ver index bd4cfbf3d344..2862b8d19335 100644 --- a/gcc/config/sh/libgcc-std.ver +++ b/gcc/config/sh/libgcc-std.ver @@ -194,25 +194,3 @@ GCC_3.3.1 { %inherit GCC_3.3.2 GCC_3.3.1 GCC_3.3.2 { } -%inherit GCC_3.3.4 GCC_3.3.2 -GCC_3.3.4 { - __unorddf2 - __unordsf2 -} - -%inherit GCC_3.4 GCC_3.3.4 -GCC_3.4 { - # bit scanning and counting built-ins - __clzsi2 - __clzdi2 - __clzti2 - __ctzsi2 - __ctzdi2 - __ctzti2 - __popcountsi2 - __popcountdi2 - __popcountti2 - __paritysi2 - __paritydi2 - __parityti2 -} diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 41106d502df3..75d9fd8beb7d 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -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 --git a/gcc/config/sh/t-linux b/gcc/config/sh/t-linux index 14d1ad35386d..3dd63fc7ea92 100644 --- a/gcc/config/sh/t-linux +++ b/gcc/config/sh/t-linux @@ -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 --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b773833b0b12..091f63d2b436 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2004-07-25 Kaz Kojima + + PR bootstrap/15120 + * configure: Rebuilt. + 2004-07-08 Ulrich Weigand * testsuite/22_locale/time_put_members_char.cc (test01): Allow either diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 3bdeef5c1594..1486cb89f4ec 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -2009,7 +2009,7 @@ irix5* | irix6*) # This must be Linux ELF. linux-gnu*) case $host_cpu in - alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* ) + alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* ) lt_cv_deplibs_check_method=pass_all ;; *) # glibc up to 2.1.1 does not perform some relocations on ARM