19300 – [4.0 Regression] PCH failures on sparc-linux (original) (raw)

Description Christian Joensson 2005-01-06 19:55:42 UTC

Aurora SPARC Linux Corona (FC3-ish) UltraSparc IIi (Sabre) sun4u:

binutils-2.15.92.0.2-5 - sparc bison-1.875c-2 - sparc dejagnu-1.4.4-1 - noarch expect-5.42.1-1 - sparc gcc-3.4.2-6.fc3 - sparc gcc4-4.0.0-0.8sparc - sparc glibc-2.3.3-99 - sparcv9 glibc-2.3.3-99 - sparc64 glibc-headers-2.3.3-99 - sparc64 glibc-kernheaders-2.6-17sparc - sparc kernel-2.6.8-1.571sp1 - sparc64 kernel-2.6.9-1.1032sp1 - sparc64 package kernel-smp is not installed make-3.80-3 - sparc nptl-devel-2.3.3-99 - sparcv9 tcl-8.4.5-7 - sparc

LAST_UPDATED: Wed Jan 5 07:59:46 UTC 2005

test results posted here:

http://gcc.gnu.org/ml/gcc-testresults/2005-01/msg00244.html

from the c++ testsuite logfile:

Executing on host: /usr/local/src/trunk/objdir32/gcc/testsuite/../g++ -B/usr/local/src/trunk/objdir32/gcc/testsuite/../ ./wchar-1.H -nostdinc++ -I/usr/local/src/trunk/objdir32/sparc-linux/libstdc++-v3/include/sparc-linux -I/usr/local/src/trunk/objdir32/sparc-linux/libstdc++-v3/include -I/usr/local/src/trunk/gcc/libstdc++-v3/libsupc++ -I/usr/local/src/trunk/gcc/libstdc++-v3/include/backward -I/usr/local/src/trunk/gcc/libstdc++-v3/testsuite -fmessage-length=0 -g -o wchar-1.H.gch (timeout = 1200) PASS: ./wchar-1.H -g (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/testsuite/../g++ -B/usr/local/src/trunk/objdir32/gcc/testsuite/../ /usr/local/src/trunk/gcc/gcc/testsuite/g++.dg/pch/wchar-1.C -nostdinc++ -I/usr/local/src/trunk/objdir32/sparc-linux/libstdc++-v3/include/sparc-linux -I/usr/local/src/trunk/objdir32/sparc-linux/libstdc++-v3/include -I/usr/local/src/trunk/gcc/libstdc++-v3/libsupc++ -I/usr/local/src/trunk/gcc/libstdc++-v3/include/backward -I/usr/local/src/trunk/gcc/libstdc++-v3/testsuite -fmessage-length=0 -g -I. -S -o wchar-1.s (timeout = 1200) /usr/local/src/trunk/gcc/gcc/testsuite/g++.dg/pch/wchar-1.C:1: fatal error: had to relocate PCH compilation terminated. compiler exited with status 1 output is: /usr/local/src/trunk/gcc/gcc/testsuite/g++.dg/pch/wchar-1.C:1: fatal error: had to relocate PCH compilation terminated.

FAIL: g++.dg/pch/wchar-1.C -g (test for excess errors) Excess errors: /usr/local/src/trunk/gcc/gcc/testsuite/g++.dg/pch/wchar-1.C:1: fatal error: had to relocate PCH compilation terminated.

UNTESTED: g++.dg/pch/wchar-1.C -g assembly comparison

Comment 1 Drea Pinski 2005-01-06 19:56:51 UTC

This is only host related and nothing else.

Comment 2 Eric Botcazou 2005-01-06 20:20:18 UTC

Do you know if the tests pass with GCC 3.4.x?

Comment 3 Christian Joensson 2005-01-07 11:03:38 UTC

well, running this:

sparc32 ./gcc/contrib/test_installed --without-gcc --without-g77 --without-objc

I get this:

Running /usr/local/src/trunk/gcc/gcc/testsuite/g++.dg/pch/pch.exp ... FAIL: g++.dg/pch/wchar-1.C -g assembly comparison Running /usr/local/src/trunk/gcc/gcc/testsuite/g++.dg/special/ecos.exp ...

The rest of the pch tests are fine, so, it's a regression I'd say.

Oh, this is with gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)

Comment 4 Drea Pinski 2005-01-07 13:52:16 UTC

Does large test fail with 3.4.x, if so then this is not really a regression except for PCH size.

Comment 6 Christian Joensson 2005-01-07 19:21:05 UTC

This is what I find about largefile in the c testsuite:

Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ ./largefile.h -O0 -g -o largefile.h.gch (timeout = 1200) PASS: ./largefile.h -O0 -g (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O0 -g -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -O0 -g (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O0 -g -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -O0 -g (test for excess errors) PASS: gcc.dg/pch/largefile.c -O0 -g assembly comparison Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ ./largefile.h -O0 -o largefile.h.gch (timeout = 1200) PASS: ./largefile.h -O0 (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O0 -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -O0 (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O0 -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -O0 (test for excess errors) PASS: gcc.dg/pch/largefile.c -O0 assembly comparison Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ ./largefile.h -O1 -o largefile.h.gch (timeout = 1200) PASS: ./largefile.h -O1 (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O1 -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -O1 (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O1 -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -O1 (test for excess errors) PASS: gcc.dg/pch/largefile.c -O1 assembly comparison Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ ./largefile.h -O2 -o largefile.h.gch (timeout = 1200) PASS: ./largefile.h -O2 (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O2 -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -O2 (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O2 -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -O2 (test for excess errors) PASS: gcc.dg/pch/largefile.c -O2 assembly comparison Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ ./largefile.h -O3 -fomit-frame-pointer -o largefile.h.gch \ (timeout = 1200) PASS: ./largefile.h -O3 -fomit-frame-pointer (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O3 -fomit-frame-pointer -I. -S -o largefile.s \ (timeout = 1200) PASS: largefile.c -O3 -fomit-frame-pointer (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O3 -fomit-frame-pointer -I. -S -o largefile.s \ (timeout = 1200) PASS: largefile.c -O3 -fomit-frame-pointer (test for excess errors) PASS: gcc.dg/pch/largefile.c -O3 -fomit-frame-pointer assembly comparison Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ ./largefile.h -O3 -g -o largefile.h.gch (timeout = 1200) PASS: ./largefile.h -O3 -g (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O3 -g -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -O3 -g (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -O3 -g -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -O3 -g (test for excess errors) PASS: gcc.dg/pch/largefile.c -O3 -g assembly comparison Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ ./largefile.h -Os -o largefile.h.gch (timeout = 1200) PASS: ./largefile.h -Os (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -Os -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -Os (test for excess errors) Executing on host: /usr/local/src/trunk/objdir32/gcc/xgcc -B/usr/local/src/trun\k/objdir32/gcc/ largefile.c -Os -I. -S -o largefile.s (timeout = 1200) PASS: largefile.c -Os (test for excess errors) PASS: gcc.dg/pch/largefile.c -Os assembly comparison

sorry for the back slashes...

Comment 7 Christian Joensson 2005-01-07 19:23:52 UTC

oh, the last one was run with gcc cvs trunk LAST_UPDATED: Thu Jan 6 20:22:33 UTC 2005

Comment 9 Drea Pinski 2005-01-07 20:51:13 UTC

(In reply to comment #8)

Some information. One more note this is not related to the tree-ssa merge because that happened on the 13th.

Comment 14 Drea Pinski 2005-01-16 01:54:10 UTC

I cannot decide if I should put this in C++ or debug component based on: http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00871.html

But if it was broken by the patch referenced in that email then the testresults does not make sense back from April since that patch only went in September.

Comment 16 Eric Botcazou 2005-01-16 09:15:27 UTC

Unrelated. Linux uses DWARF-2 and there is no problem on other architectures.

Moreover the tests fail without -g too.

Comment 17 Drea Pinski 2005-01-29 14:01:37 UTC

Even though this is a user visible regression. This is not a regression as it was just by chance that this worked in the first place: <http://gcc.gnu.org/ml/gcc/2004-11/msg00232.html>.

Removing the target milestone because sparc-linux is not a primary or secondary target and this was only working by chance before

Comment 18 James A. Morrison 2005-02-11 12:48:06 UTC

Created attachment 8174 [details] copy some code from pa-host.c

This seems to fix some pch failures on sparc64-linux. I don't trust my testing so far though.

Comment 22 James A. Morrison 2005-02-15 20:56:20 UTC

Fixed with the previous commit

Comment 24 Drea Pinski 2005-08-02 23:40:17 UTC

Also fixed in 3.4.5.

Comment 25 Christian Joensson 2005-08-04 09:46:45 UTC

(In reply to comment #24)

Also fixed in 3.4.5.

This is the currently, 2005-08-03, latest test results I have for 3.4:

http://gcc.gnu.org/ml/gcc-testresults/2005-08/msg00196.html

and the gcc PCH tests that FAIL are for -m64:

FAIL: gcc.dg/pch/static-1.c -O0 -g assembly comparison FAIL: gcc.dg/pch/static-1.c -O0 assembly comparison FAIL: gcc.dg/pch/static-1.c -O1 assembly comparison FAIL: gcc.dg/pch/static-2.c -O0 -g assembly comparison FAIL: gcc.dg/pch/static-2.c -O0 assembly comparison FAIL: gcc.dg/pch/static-2.c -O1 assembly comparison FAIL: gcc.dg/pch/static-3.c -O0 -g assembly comparison FAIL: gcc.dg/pch/static-3.c -O0 assembly comparison FAIL: gcc.dg/pch/static-3.c -O1 assembly comparison

and from the log file, for example:

Executing on host: /usr/local/src/branch/objdir.3.4/gcc/xgcc -B/usr/local/src/branch/objdir.3.4/gcc/ /usr/local/src/branch/gcc.3.4/gcc/testsuite/gcc.dg/pch/static-1.c -O0 -g -I. -S -m64 -o static-1.s (timeout = 600) PASS: gcc.dg/pch/static-1.c -O0 -g (test for excess errors) line #48 < !#PROLOGUE# 0

.register	%g2, #scratch

line #49 < save %sp, -192, %sp .register %g3, #scratch line #50 < .LLCFI1: !#PROLOGUE# 0 line #51 < !#PROLOGUE# 1 save %sp, -192, %sp line #52 < .loc 2 5 0 .LLCFI1: line #53 < sethi %hi(counter.1), %g1 !#PROLOGUE# 1 line #54 < or %g1, %lo(counter.1), %g1 .loc 2 5 0 line #55 < mov %g1, %g2 sethi %hi(counter.1), %g1 line #56 < ld [%g2], %g1 or %g1, %lo(counter.1), %g1 line #57 < mov %g1, %g3 mov %g1, %g2 line #58 < add %g1, 1, %g1 ld [%g2], %g1 line #59 < st %g1, [%g2] mov %g1, %g3 line #60 < sra %g3, 0, %g1 add %g1, 1, %g1 line #61 < .loc 2 6 0 st %g1, [%g2] line #62 < mov %g1, %i0 sra %g3, 0, %g1 line #63 < return %i7+8 .loc 2 6 0 line #64 < nop mov %g1, %i0 line #65 < .LLFE3: return %i7+8 line #66 < .size bar, .-bar nop line #67 < .section ".debug_frame" .LLFE3: line #68 < .LLframe0: .size bar, .-bar line #69 < .uaword .LLECIE0-.LLSCIE0 .section ".debug_frame" line #70 < .LLSCIE0: .LLframe0: line #71 < .uaword 0xffffffff .uaword .LLECIE0-.LLSCIE0 line #72 < .byte 0x1 .LLSCIE0: line #73 < .asciz "" .uaword 0xffffffff line #74 < .uleb128 0x1 .byte 0x1 line #75 < .sleb128 -8 .asciz "" line #76 < .byte 0xf .uleb128 0x1 line #77 < .byte 0xc .sleb128 -8 line #78 < .uleb128 0xe .byte 0xf line #79 < .uleb128 0x7ff .byte 0xc line #80 < .align 8 .uleb128 0xe line #81 < .LLECIE0: .uleb128 0x7ff line #82 < .LLSFDE0: .align 8 line #83 < .uaword .LLEFDE0-.LLASFDE0 .LLECIE0: line #84 < .LLASFDE0: .LLSFDE0: line #85 < .uaword .LLframe0 .uaword .LLEFDE0-.LLASFDE0 line #86 < .uaxword .LLFB2 .LLASFDE0: line #87 < .uaxword .LLFE2-.LLFB2 .uaword .LLframe0 line #88 < .byte 0x4 .uaxword .LLFB2 line #89 < .uaword .LLCFI0-.LLFB2 .uaxword .LLFE2-.LLFB2 line #90 < .byte 0xd .byte 0x4 line #91 < .uleb128 0x1e .uaword .LLCFI0-.LLFB2 line #92 < .byte 0x2d .byte 0xd line #93 < .byte 0x9 .uleb128 0x1e line #94 < .uleb128 0xf .byte 0x2d line #95 < .uleb128 0x1f .byte 0x9 line #96 < .align 8 .uleb128 0xf line #97 < .LLEFDE0: .uleb128 0x1f line #98 < .LLSFDE2: .align 8 line #99 < .uaword .LLEFDE2-.LLASFDE2 .LLEFDE0: line #100 < .LLASFDE2: .LLSFDE2: line #101 < .uaword .LLframe0 .uaword .LLEFDE2-.LLASFDE2 line #102 < .uaxword .LLFB3 .LLASFDE2: line #103 < .uaxword .LLFE3-.LLFB3 .uaword .LLframe0 line #104 < .byte 0x4 .uaxword .LLFB3 line #105 < .uaword .LLCFI1-.LLFB3 .uaxword .LLFE3-.LLFB3 line #106 < .byte 0xd .byte 0x4 line #107 < .uleb128 0x1e .uaword .LLCFI1-.LLFB3 line #108 < .byte 0x2d .byte 0xd line #109 < .byte 0x9 .uleb128 0x1e line #110 < .uleb128 0xf .byte 0x2d line #111 < .uleb128 0x1f .byte 0x9 line #112 < .align 8 .uleb128 0xf line #113 < .LLEFDE2: .uleb128 0x1f line #114 < .section ".text" .align 8 line #115 < .LLetext0: .LLEFDE2: line #116 < .section ".debug_info" .section ".text" line #117 < .uaword 0x12c .LLetext0: line #118 < .uahalf 0x2 .section ".debug_info" line #119 < .uaword .LLdebug_abbrev0 .uaword 0x12c line #120 < .byte 0x8 .uahalf 0x2 line #121 < .uleb128 0x1 .uaword .LLdebug_abbrev0 line #122 < .uaword .LLdebug_line0 .byte 0x8 line #123 < .uaxword .LLetext0 .uleb128 0x1 line #124 < .uaxword .LLtext0 .uaword .LLdebug_line0 line #125 < .asciz "GNU C 3.4.5 20050803 (prerelease)" .uaxword .LLetext0 line #126 < .byte 0x1 .uaxword .LLtext0 line #127 < .asciz "/usr/local/src/branch/gcc.3.4/gcc/testsuite/gcc.dg/pch/static-1.c" .asciz "GNU C 3.4.5 20050803 (prerelease)" line #128 < .asciz "/usr/local/src/branch/objdir.3.4/gcc/testsuite" .byte 0x1 line #129 < .uleb128 0x2 .asciz "/usr/local/src/branch/gcc.3.4/gcc/testsuite/gcc.dg/pch/static-1.c" line #130 < .uaword 0xf0 .asciz "/usr/local/src/branch/objdir.3.4/gcc/testsuite" line #131 < .asciz "foo" .uleb128 0x2 line #132 < .byte 0x1 .uaword 0xf0 line #133 < .byte 0x2 .asciz "foo" line #135 < .uaword 0xf0 .byte 0x2 line #136 < .uaxword .LLFB2 .byte 0x1 line #137 < .uaxword .LLFE2 .uaword 0xf0 line #138 < .byte 0x1 .uaxword .LLFB2 line #139 < .byte 0x6e .uaxword .LLFE2 line #140 < .uleb128 0x3 .byte 0x1 line #141 < .asciz "counter" .byte 0x6e line #142 < .byte 0x1 .uleb128 0x3 line #143 < .byte 0x3 .asciz "counter" line #144 < .uaword 0xf0 .byte 0x1 line #145 < .byte 0x9 .byte 0x3 line #146 < .byte 0x3 .uaword 0xf0 line #147 < .uaxword counter.0 .byte 0x9 line #148 < .byte 0x0 .byte 0x3 line #149 < .uleb128 0x4 .uaxword counter.0 line #150 < .asciz "int" .byte 0x0 line #151 < .byte 0x4 .uleb128 0x4 line #152 < .byte 0x5 .asciz "int" line #153 < .uleb128 0x5 .byte 0x4 line #154 < .asciz "bar" .byte 0x5 line #155 < .byte 0x2 .uleb128 0x5 line #156 < .byte 0x3 .asciz "bar" line #157 < .byte 0x1 .byte 0x2 line #158 < .uaword 0xf0 .byte 0x3 line #159 < .uaxword .LLFB3 .byte 0x1 line #160 < .uaxword .LLFE3 .uaword 0xf0 line #161 < .byte 0x1 .uaxword .LLFB3 line #162 < .byte 0x6e .uaxword .LLFE3 line #163 < .uleb128 0x3 .byte 0x1 line #164 < .asciz "counter" .byte 0x6e line #165 < .byte 0x2 .uleb128 0x3 line #166 < .byte 0x4 .asciz "counter" line #167 < .uaword 0xf0 .byte 0x2 line #168 < .byte 0x9 .byte 0x4 line #169 < .byte 0x3 .uaword 0xf0 line #170 < .uaxword counter.1 .byte 0x9 line #171 < .byte 0x0 .byte 0x3 line #172 < .byte 0x0 .uaxword counter.1 line #173 < .section ".debug_abbrev" .byte 0x0 line #174 < .uleb128 0x1 .byte 0x0 line #175 < .uleb128 0x11 .section ".debug_abbrev" line #176 < .byte 0x1 .uleb128 0x1 line #177 < .uleb128 0x10 .uleb128 0x11 line #178 < .uleb128 0x6 .byte 0x1 line #179 < .uleb128 0x12 .uleb128 0x10 line #180 < .uleb128 0x1 .uleb128 0x6 line #181 < .uleb128 0x11 .uleb128 0x12 line #183 < .uleb128 0x25 .uleb128 0x11 line #184 < .uleb128 0x8 .uleb128 0x1 line #185 < .uleb128 0x13 .uleb128 0x25 line #186 < .uleb128 0xb .uleb128 0x8 line #187 < .uleb128 0x3 .uleb128 0x13 line #188 < .uleb128 0x8 .uleb128 0xb line #189 < .uleb128 0x1b .uleb128 0x3 line #191 < .byte 0x0 .uleb128 0x1b line #192 < .byte 0x0 .uleb128 0x8 line #193 < .uleb128 0x2 .byte 0x0 line #194 < .uleb128 0x2e .byte 0x0 line #195 < .byte 0x1 .uleb128 0x2 line #196 < .uleb128 0x1 .uleb128 0x2e line #197 < .uleb128 0x13 .byte 0x1 line #198 < .uleb128 0x3 .uleb128 0x1 line #199 < .uleb128 0x8 .uleb128 0x13 line #200 < .uleb128 0x3a .uleb128 0x3 line #201 < .uleb128 0xb .uleb128 0x8 line #202 < .uleb128 0x3b .uleb128 0x3a line #204 < .uleb128 0x27 .uleb128 0x3b line #205 < .uleb128 0xc .uleb128 0xb line #206 < .uleb128 0x49 .uleb128 0x27 line #207 < .uleb128 0x13 .uleb128 0xc line #208 < .uleb128 0x11 .uleb128 0x49 line #209 < .uleb128 0x1 .uleb128 0x13 line #210 < .uleb128 0x12 .uleb128 0x11 line #212 < .uleb128 0x40 .uleb128 0x12 line #213 < .uleb128 0xa .uleb128 0x1 line #214 < .byte 0x0 .uleb128 0x40 line #215 < .byte 0x0 .uleb128 0xa line #216 < .uleb128 0x3 .byte 0x0 line #217 < .uleb128 0x34 .byte 0x0 line #218 < .byte 0x0 .uleb128 0x3 line #219 < .uleb128 0x3 .uleb128 0x34 line #220 < .uleb128 0x8 .byte 0x0 line #221 < .uleb128 0x3a .uleb128 0x3 line #222 < .uleb128 0xb .uleb128 0x8 line #223 < .uleb128 0x3b .uleb128 0x3a line #225 < .uleb128 0x49 .uleb128 0x3b line #226 < .uleb128 0x13 .uleb128 0xb line #227 < .uleb128 0x2 .uleb128 0x49 line #228 < .uleb128 0xa .uleb128 0x13 line #229 < .byte 0x0 .uleb128 0x2 line #230 < .byte 0x0 .uleb128 0xa line #231 < .uleb128 0x4 .byte 0x0 line #232 < .uleb128 0x24 .byte 0x0 line #233 < .byte 0x0 .uleb128 0x4 line #234 < .uleb128 0x3 .uleb128 0x24 line #235 < .uleb128 0x8 .byte 0x0 line #236 < .uleb128 0xb .uleb128 0x3 line #237 < .uleb128 0xb .uleb128 0x8 line #238 < .uleb128 0x3e .uleb128 0xb line #240 < .byte 0x0 .uleb128 0x3e line #241 < .byte 0x0 .uleb128 0xb line #242 < .uleb128 0x5 .byte 0x0 line #243 < .uleb128 0x2e .byte 0x0 line #244 < .byte 0x1 .uleb128 0x5 line #245 < .uleb128 0x3 .uleb128 0x2e line #246 < .uleb128 0x8 .byte 0x1 line #247 < .uleb128 0x3a .uleb128 0x3 line #248 < .uleb128 0xb .uleb128 0x8 line #249 < .uleb128 0x3b .uleb128 0x3a line #251 < .uleb128 0x27 .uleb128 0x3b line #252 < .uleb128 0xc .uleb128 0xb line #253 < .uleb128 0x49 .uleb128 0x27 line #254 < .uleb128 0x13 .uleb128 0xc line #255 < .uleb128 0x11 .uleb128 0x49 line #256 < .uleb128 0x1 .uleb128 0x13 line #257 < .uleb128 0x12 .uleb128 0x11 line #259 < .uleb128 0x40 .uleb128 0x12 line #260 < .uleb128 0xa .uleb128 0x1 line #261 < .byte 0x0 .uleb128 0x40 line #262 < .byte 0x0 .uleb128 0xa line #264 < .section ".debug_aranges" .byte 0x0 line #265 < .uaword 0x2c .byte 0x0 line #266 < .uahalf 0x2 .section ".debug_aranges" line #267 < .uaword .LLdebug_info0 .uaword 0x2c line #268 < .byte 0x8 .uahalf 0x2 line #269 < .byte 0x0 .uaword .LLdebug_info0 line #270 < .uahalf 0x0 .byte 0x8 line #271 < .uahalf 0x0 .byte 0x0 line #272 < .uaxword .LLtext0 .uahalf 0x0 line #273 < .uaxword .LLetext0-.LLtext0 .uahalf 0x0 line #274 < .uaxword 0x0 .uaxword .LLtext0 line #275 < .uaxword 0x0 .uaxword .LLetext0-.LLtext0 line #276 < .section ".note.GNU-stack" .uaxword 0x0 line #277 < .ident "GCC: (GNU) 3.4.5 20050803 (prerelease)" .uaxword 0x0 FAIL: gcc.dg/pch/static-1.c -O0 -g assembly comparison

and the g++ PCH tests that FAIL are for -m64:

FAIL: g++.dg/pch/system-1.C -g assembly comparison FAIL: g++.dg/pch/system-2.C -g assembly comparison

and from the log file we see similar problems as with the gc PCH failures...

Comment 26 Eric Botcazou 2005-08-04 10:01:22 UTC

This is the currently, 2005-08-03, latest test results I have for 3.4:

http://gcc.gnu.org/ml/gcc-testresults/2005-08/msg00196.html

and the gcc PCH tests that FAIL are for -m64:

FAIL: gcc.dg/pch/static-1.c -O0 -g assembly comparison FAIL: gcc.dg/pch/static-1.c -O0 assembly comparison FAIL: gcc.dg/pch/static-1.c -O1 assembly comparison FAIL: gcc.dg/pch/static-2.c -O0 -g assembly comparison FAIL: gcc.dg/pch/static-2.c -O0 assembly comparison FAIL: gcc.dg/pch/static-2.c -O1 assembly comparison FAIL: gcc.dg/pch/static-3.c -O0 -g assembly comparison FAIL: gcc.dg/pch/static-3.c -O0 assembly comparison FAIL: gcc.dg/pch/static-3.c -O1 assembly comparison

and from the log file, for example:

Executing on host: /usr/local/src/branch/objdir.3.4/gcc/xgcc -B/usr/local/src/branch/objdir.3.4/gcc/ /usr/local/src/branch/gcc.3.4/gcc/testsuite/gcc.dg/pch/static-1.c -O0 -g -I. -S -m64 -o static-1.s (timeout = 600) PASS: gcc.dg/pch/static-1.c -O0 -g (test for excess errors) line #48 < !#PROLOGUE# 0

.register	%g2, #scratch

line #49 < save %sp, -192, %sp .register %g3, #scratch line #50

That's a PR of you too. A backport of

2005-04-15 David S. Miller <davem@davemloft.net>

[PR target/20673](show%5Fbug.cgi?id=20673 "RESOLVED FIXED - C PCH testsuite assembly comparison failure")
* config/sparc/sparc.h (sparc_hard_reg_printed): Mark as GTY(()).

is pre-approved, assuming the release manager is OK with it.

Comment 27 Christian Joensson 2005-08-04 15:04:18 UTC

Created attachment 9430 [details] Translation of Dave's patch for 4.0 branch to the 3.4 branch...

Translation of Dave's patch for 4.0 branch to the 3.4 branch...