This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/44618] [4.4/4.5 regression] wrong code with -frename-registers
- From: "bernhard.kaindl at thalesgroup dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 17 Feb 2012 11:03:13 +0000
- Subject: [Bug target/44618] [4.4/4.5 regression] wrong code with -frename-registers
- Auto-submitted: auto-generated
- References: <bug-44618-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44618
Bernhard Kaindl <bernhard.kaindl at thalesgroup dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bernhard.kaindl at
| |thalesgroup dot com
--- Comment #31 from Bernhard Kaindl <bernhard.kaindl at thalesgroup dot com> 2012-02-17 11:03:13 UTC ---
(In reply to comment #30)
> A year ago when I opened the bug, it was affecting all branches.
> When it was finally approved (David E.), I re-factored the patch.
>
> At this point I found 4.4 did not need the patch any more.
I cannot confirm this as of 4.4.6. gcc-4.4.6 still produces the bug:
echo 'int calc(int j){if (j==0)return 0;return calc(j-1)*(j+1);}' >rename.c
powerpc-aeos5-linux-gcc rename.c -Os -frename-registers -S -v 2>&1|sed
s,/tag/mt/gcc.gnu.org/4.4.6-plf2.1-pre1/rhe5/x86/toolchain/ppc-aeos5,/SYSROOT,g
&& grep -B1 restgpr rename.s
Using built-in specs.
Target: powerpc-aeos5-linux
Configured with:
/home/mt/gcc.gnu.org/4.4.6-plf2.1-pre1/build/rhe5/x86/src/os/oe/trunk/446r01/work/i686-ppce300c3-sdk-aeos5-linux/gcc-cross-sdk-4.4.6-r0.1/gcc-4.4.6/configure
--build=i686-linux --host=i686-linux --target=powerpc-aeos5-linux
--prefix=/SYSROOT --exec_prefix=/SYSROOT --bindir=/SYSROOT/bin
--sbindir=/SYSROOT/bin --libexecdir=/SYSROOT/libexec --datadir=/SYSROOT/share
--sysconfdir=/SYSROOT/etc --sharedstatedir=/SYSROOT/share/com
--localstatedir=/SYSROOT/var --libdir=/SYSROOT/lib
--includedir=/SYSROOT/include --oldincludedir=/SYSROOT/include
--infodir=/SYSROOT/share/info --mandir=/SYSROOT/share/man --disable-nls
--enable-clocale=generic --with-gnu-ld --without-cloog --enable-shared
--enable-languages=c,c++ --enable-threads=posix --disable-multilib --enable-c99
--enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch
--program-prefix=powerpc-aeos5-linux- --enable-libssp --disable-bootstrap
--disable-libgomp --disable-libmudflap --without-long-double-128
--with-sysroot=/SYSROOT/powerpc-aeos5-linux
--with-build-time-tools=/home/mt/gcc.gnu.org/4.4.6-plf2.1-pre1/build/rhe5/x86/src/os/oe/trunk/446r01/cross/ppce300c3/powerpc-aeos5-linux/bin
--with-build-sysroot=/home/mt/gcc.gnu.org/4.4.6-plf2.1-pre1/build/rhe5/x86/src/os/oe/trunk/446r01/staging/ppce300c3-aeos5-linux
--with-mpfr=/home/mt/gcc.gnu.org/4.4.6-plf2.1-pre1/build/rhe5/x86/src/os/oe/trunk/446r01/staging/i686-linux/usr
--disable-libgomp --enable-libmudflap --without-long-double-128
--enable-__cxa_atexit
Thread model: posix
gcc version 4.4.6 (GCC)
COLLECT_GCC_OPTIONS='-Os' '-frename-registers' '-S' '-v'
/nfsshares/tas/SYSROOT/bin/../libexec/gcc/powerpc-aeos5-linux/4.4.6/cc1 -quiet
-v -iprefix /nfsshares/tas/SYSROOT/bin/../lib/gcc/powerpc-aeos5-linux/4.4.6/
-isysroot /nfsshares/tas/SYSROOT/bin/../powerpc-aeos5-linux -D__unix__
-D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux -Asystem=linux
-Asystem=unix -Asystem=posix rename.c -quiet -dumpbase rename.c -auxbase rename
-Os -version -frename-registers -o rename.s
ignoring nonexistent directory
"/nfsshares/tas/SYSROOT/bin/../powerpc-aeos5-linux/usr/local/include"
ignoring duplicate directory
"/nfsshares/tas/SYSROOT/bin/../lib/gcc/../../lib/gcc/powerpc-aeos5-linux/4.4.6/include"
ignoring duplicate directory
"/nfsshares/tas/SYSROOT/bin/../lib/gcc/../../lib/gcc/powerpc-aeos5-linux/4.4.6/include-fixed"
ignoring duplicate directory
"/nfsshares/tas/SYSROOT/bin/../lib/gcc/../../lib/gcc/powerpc-aeos5-linux/4.4.6/../../../../powerpc-aeos5-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/nfsshares/tas/SYSROOT/bin/../lib/gcc/powerpc-aeos5-linux/4.4.6/include
/nfsshares/tas/SYSROOT/bin/../lib/gcc/powerpc-aeos5-linux/4.4.6/include-fixed
/nfsshares/tas/SYSROOT/bin/../lib/gcc/powerpc-aeos5-linux/4.4.6/../../../../powerpc-aeos5-linux/include
/nfsshares/tas/SYSROOT/bin/../powerpc-aeos5-linux/usr/include
End of search list.
GNU C (GCC) version 4.4.6 (powerpc-aeos5-linux)
compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-44), GMP
version 4.2.4, MPFR version 2.3.2.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 08c68272536463fe09fe596df17cf497
COMPILER_PATH=/nfsshares/tas/SYSROOT/bin/../libexec/gcc/powerpc-aeos5-linux/4.4.6/:/nfsshares/tas/SYSROOT/bin/../libexec/gcc/:/nfsshares/tas/SYSROOT/bin/../lib/gcc/powerpc-aeos5-linux/4.4.6/../../../../powerpc-aeos5-linux/bin/
LIBRARY_PATH=/nfsshares/tas/SYSROOT/bin/../lib/gcc/powerpc-aeos5-linux/4.4.6/:/nfsshares/tas/SYSROOT/bin/../lib/gcc/:/nfsshares/tas/SYSROOT/bin/../lib/gcc/powerpc-aeos5-linux/4.4.6/../../../../powerpc-aeos5-linux/lib/:/nfsshares/tas/SYSROOT/bin/../powerpc-aeos5-linux/lib/:/nfsshares/tas/SYSROOT/bin/../powerpc-aeos5-linux/usr/lib/
COLLECT_GCC_OPTIONS='-Os' '-frename-registers' '-S' '-v'
addi 4,1,16
b _restgpr_31_x
> I submitted patch for all others (4.5, 4.6, 4.7). As I sad before,
> it was already approved,
> but I depend on David to do the commit as I don't have WAA.
>
> He said he was busy, it took almost 2 weeks for him to do the commit on 4.7,
> few days latter it came the commit on 4.6. And the 4.5 never came...
As far as I can tell from the above test, applying the fix to the 4.4 branch
with target milestone 4.4.7 is still in order.
(besides committing the fix to 4.5 as well)
David, still busy?