This is the mail archive of the gcc-regression@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]

Re: 1 GCC gcc-3_3-branch regressions, 1 new, with your patch on 2003-04-28T06:15:03Z.



On Monday, April 28, 2003, at 10:53 AM, Mark Mitchell wrote:


On Mon, 2003-04-28 at 03:53, GCC regression checker wrote:
With your recent patch, GCC gcc-3_3-branch has some regression test failures,
which used to pass. There are 1 new failures, and 0
failures that existed before and after that patch; 1 failures
have been fixed.


The new failures are:
native g++.sum g++.pt/deduct5.C

How do I find the DejaGNU output for this test? (I would like to see whether this was a compile-time error/run-time error, etc.)

Eventually, it'll be on a web page, but I haven't gotten that organized yet. So, I can copy & paste it:


spawn /Users/regress/tbox/native/build/gcc/testsuite/../g++ -B/Users/regress/tbo
x/native/build/gcc/testsuite/../ /Users/regress/tbox/cvs-gcc/gcc/gcc/testsuite/g
++.old-deja/g++.pt/deduct5.C -nostdinc++ -I/Users/regress/tbox/native/build/powe
rpc-apple-darwin6.3/libstdc++-v3/include/powerpc-apple-darwin6.3 -I/Users/regres
s/tbox/native/build/powerpc-apple-darwin6.3/libstdc++-v3/include -I/Users/regres
s/tbox/cvs-gcc/gcc/libstdc++-v3/libsupc++ -I/Users/regress/tbox/cvs-gcc/gcc/libs
tdc++-v3/libio -I/Users/regress/tbox/cvs-gcc/gcc/libstdc++-v3/include/backward -
I/Users/regress/tbox/cvs-gcc/gcc/libstdc++-v3/testsuite -fmessage-length=0 -ansi
-pedantic-errors -Wno-long-long -L/Users/regress/tbox/native/build/powerpc-appl
e-darwin6.3/./libstdc++-v3/src/.libs -L/Users/regress/tbox/native/build/powerpc-
apple-darwin6.3/./libiberty -lstdc++ -lm -o /Users/regress/tbox/native/build/gcc
/testsuite/g++-pt-deduct5-C.exe
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 356.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 352.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 336.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 332.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 328.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 324.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 240.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 236.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 220.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 216.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 212.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 208.
compiler exited with status 1
output is:
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 356.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 352.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 336.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 332.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 328.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 324.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 240.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 236.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 220.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 216.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 212.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 208.


FAIL: g++.pt/deduct5.C (test for excess errors)
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 356.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 352.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 336.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 332.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 328.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L3$pb"} @ file address 324.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 240.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 236.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 220.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 216.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 212.
/tmp/ccIEaJtz.s:unknown:Can't emit reloc {- symbol "L2$pb"} @ file address 208.


XFAIL: g++.pt/deduct5.C Execution test

A newer assembler gives a somewhat more informative error message:

/Network/Servers/cauchy/homes/thorin/gkeating/t2.s:5:non-relocatable subtraction expression, "_ZZ3FooIA1_iEiPKT_E5count" minus "L3$pb"
/Network/Servers/cauchy/homes/thorin/gkeating/t2.s:5:symbol: "_ZZ3FooIA1_iEiPKT_E5count" can't be undefined in a subtraction expression


I think the fundamental problem is that the compiler's using .comm for the 'count' static variable, which would be OK but then it's not using the GOT (or what passes for it on Darwin). If you write 'int x;' in C, you get an access like:

        bcl 20,31,L1$pb
L1$pb:
...
        addis r9,r10,ha16(L_x$non_lazy_ptr-L1$pb)
        lwz r9,lo16(L_x$non_lazy_ptr-L1$pb)(r9)
        lwz r0,0(r9)
...
.comm _x,4
.data
.non_lazy_symbol_pointer
L_x$non_lazy_ptr:
        .indirect_symbol _x
        .long   0

but for deduct-5.C, there's:

        bcl 20,31,L2$pb
L2$pb:
...
        addis r11,r31,ha16(_ZZ3FooIiEiPKT_E5count-L2$pb)
        la r11,lo16(_ZZ3FooIiEiPKT_E5count-L2$pb)(r11)
...
.comm _ZZ3FooIA1_iEiPKT_E5count,4

without any indirection. I bet it's some kind of timing problem between when the flags get set in the frontend and when the backend gets to see them.

--
Geoff Keating <geoffk at apple dot com>


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