This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/20524] [4.0/4.1 regression] cris-axis-elf testsuite failures: gcc.c-torture/compile/20011119-1.c and -2
- From: "hp at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Mar 2005 01:46:38 -0000
- Subject: [Bug middle-end/20524] [4.0/4.1 regression] cris-axis-elf testsuite failures: gcc.c-torture/compile/20011119-1.c and -2
- References: <20050317205321.20524.hp@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From hp at gcc dot gnu dot org 2005-03-18 01:46 -------
Also worth noting is that mmix-knuth-mmixware shares the ICE for 20011119-2.c
and has an other alias-related set of failures:
Running
/home/hp/combined/combined/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
FAIL: gcc.c-torture/compile/20011119-2.c -O1 (test for excess errors)
FAIL: gcc.c-torture/compile/20040323-1.c -O0 (test for excess errors)
FAIL: gcc.c-torture/compile/20040323-1.c -O1 (test for excess errors)
FAIL: gcc.c-torture/compile/20040323-1.c -O2 (test for excess errors)
FAIL: gcc.c-torture/compile/20040323-1.c -O3 -fomit-frame-pointer (test for
excess errors)
FAIL: gcc.c-torture/compile/20040323-1.c -O3 -g (test for excess errors)
FAIL: gcc.c-torture/compile/20040323-1.c -Os (test for excess errors)
The gcc.log messages are:
20040323-1.c: Assembler messages:^M
20040323-1.c:35: Error: symbol `_rtld_local' is already defined
You might think this is a flaw in the MMIX port (not emitting proper pseudos
with .set semantics) but there *is* a problem, apparent in the 20040323-1.s for
cris-axis-elf at -O2:
...
.size __dl_start, .-__dl_start
.comm __rtld_local,4,2
.comm __rtld_global,4,2
.global __rtld_local
.set __rtld_local,__rtld_global
.global __rtld_local
.set __rtld_local,__rtld_global
The ".global" declaration are admittedly a flaw in the CRIS port (an artefact of
the once multi-object-format port) but the ".comm" for rtld_local (at -O2) seems
spurious as does the double .set of __rtld_local. For MMIX that is at -O2:
...
.comm _rtld_local,4,4 ! mmixal-incompatible COMMON
.comm _rtld_global,4,4 ! mmixal-incompatible COMMON
.global _rtld_local
_rtld_local IS _rtld_global
.global _rtld_local
_rtld_local IS _rtld_global
.data ! mmixal:= 8H LOC 9B
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20524