[Bug middle-end/20524] [4.0/4.1 regression] cris-axis-elf testsuite failures: gcc.c-torture/compile/20011119-1.c and -2

hp at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Mar 18 01:46:00 GMT 2005


------- 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



More information about the Gcc-bugs mailing list