19300 – [4.0 Regression] PCH failures on sparc-linux

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 Andrew 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 Andrew 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 Andrew 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 Andrew 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 Andrew 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 Andrew 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
	* 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...