Bug 19300 - [4.0 Regression] PCH failures on sparc-linux
Summary: [4.0 Regression] PCH failures on sparc-linux
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.0.0
: P2 normal
Target Milestone: 3.4.5
Assignee: James A. Morrison
URL:
Keywords:
Depends on: 20673
Blocks:
  Show dependency treegraph
 
Reported: 2005-01-06 19:55 UTC by Christian Joensson
Modified: 2005-08-04 15:04 UTC (History)
2 users (show)

See Also:
Host: sparc-unknown-linux-gnu
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2005-01-15 10:50:39


Attachments
copy some code from pa-host.c (1.20 KB, patch)
2005-02-11 12:48 UTC, James A. Morrison
Details | Diff
Translation of Dave's patch for 4.0 branch to the 3.4 branch... (326 bytes, patch)
2005-08-04 15:04 UTC, Christian Joensson
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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 5 Christian Joensson 2005-01-07 18:05:45 UTC
well, I can't find the large test in the c++ pch testsuite. And, from the test
results posted here http://gcc.gnu.org/ml/gcc-testresults/2005-01/msg00244.html
I can't tell if the largefile test in the c pch testsuite fails or not.

new test results are on the way. stay tuned 
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 8 Andrew Pinski 2005-01-07 20:39:57 UTC
Some information.
It failed since at least 2004-05-12:
http://gcc.gnu.org/ml/gcc-testresults/2004-05/msg00747.html

But it passed on 2004-04-28:
http://gcc.gnu.org/ml/gcc-testresults/2004-05/msg00073.html

I will see if there are more testresults between those dates.
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 10 Andrew Pinski 2005-01-07 20:53:37 UTC
It was broken on the 2nd:
http://gcc.gnu.org/ml/gcc-testresults/2004-05/msg00231.html

Now someone has to figure out which patch broke it.
Comment 11 Andrew Pinski 2005-01-07 20:55:28 UTC
Hmm but according to earlier results in April it was broken before then:
http://gcc.gnu.org/ml/gcc-testresults/2004-04/msg01175.html
Comment 12 Christian Joensson 2005-01-10 07:32:09 UTC
These PCH problems does not occur on the current 3.4 branch:

See test results at http://gcc.gnu.org/ml/gcc-testresults/2005-01/msg00353.html
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 15 Eric Botcazou 2005-01-16 09:09:57 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

Unrelated.  Linux uses DWARF-2 and there is no problem on other architectures.
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 19 Christian Joensson 2005-02-12 21:48:39 UTC
This does indeed look promising, compare the test results for sparc-linux at
LAST_UPDATED: Fri Feb 11 13:36:22 UTC 2005, without the patch
http://gcc.gnu.org/bugzilla/attachment.cgi?id=8174&action=view, at
http://gcc.gnu.org/ml/gcc-testresults/2005-02/msg00433.html, and with the patch
at  http://gcc.gnu.org/ml/gcc-testresults/2005-02/msg00458.html (no PCH
failures). I'd say this is a good patch to apply.
Comment 20 Christian Joensson 2005-02-14 15:56:06 UTC
Again, same checkout, but built for sparc64-linux, test results *with 
phython's patch* posted here:
http://gcc.gnu.org/ml/gcc-testresults/2005-02/msg00566.html

Will start a build *without* the patch, for sparc64-linux later today.
Comment 21 GCC Commits 2005-02-15 20:52:55 UTC
Subject: Bug 19300

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	phython@gcc.gnu.org	2005-02-15 20:52:14

Modified files:
	gcc            : ChangeLog 
	gcc/config     : host-linux.c 

Log message:
	2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
	
	PR pch/14940
	PR target/19300
	* config/host-linux.c (linux_gt_pch_use_address): Copy from
	config/pa/pa-host.c:pa_gt_pch_use_address.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7484&r2=2.7485
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/host-linux.c.diff?cvsroot=gcc&r1=1.6&r2=1.7

Comment 22 James A. Morrison 2005-02-15 20:56:20 UTC
 Fixed with the previous commit
Comment 23 GCC Commits 2005-08-02 19:03:58 UTC
Subject: Bug 19300

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	ian@gcc.gnu.org	2005-08-02 19:03:46

Modified files:
	gcc            : ChangeLog c-pch.c config.host ggc-common.c 
	                 hooks.c hooks.h hosthooks-def.h hosthooks.h 
	gcc/config/rs6000: host-darwin.c 
	gcc/doc        : hostconfig.texi 
	gcc/testsuite  : ChangeLog 
	gcc/testsuite/gcc.dg/pch: pch.exp 
Added files:
	gcc/config     : host-linux.c host-solaris.c x-linux x-solaris 

Log message:
	./
	PR pch/14400
	Backport from mainline:
	
	2005-08-01  Ian Lance Taylor  <ian@airs.com>
	
	* config/host-linux.c (linux_gt_pch_get_address): Add new name
	randomize_va_space for virtual address randomization control.
	
	2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
	
	PR pch/14940
	PR target/19300
	* config/host-linux.c (linux_gt_pch_use_address): Copy from
	config/pa/pa-host.c:pa_gt_pch_use_address.
	
	2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
	
	PR pch/14940
	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
	definitions.
	
	2004-10-15  Jon Grimm <jgrimm2@us.ibm.com>
	
	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
	definition.
	
	2004-04-24  Ulrich Weigand  <uweigand@de.ibm.com>
	
	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
	and __s390x__ hosts.
	
	2004-04-08  Ian Lance Taylor  <ian@wasabisystems.com>
	
	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
	Return 1 if file was successfully mapped.
	
	2004-03-15  Ian Lance Taylor  <ian@wasabisystems.com>
	
	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
	Fix the check for abort and only do the mmap if we can.
	
	2004-03-12  Andrew Pinski  <apinski@apple.com>
	
	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
	Use ret instead of result. Use addr instead of base.
	
	2004-03-10  Richard Henderson  <rth@redhat.com>
	
	* c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
	extra arguments.
	* config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
	and host_xmake_file fragments.
	* ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
	(gt_pch_restore): Similarly for gt_pch_use_address.
	(default_gt_pch_get_address): New.
	(mmap_gt_pch_get_address): Split out of gt_pch_save.
	(default_gt_pch_use_address): Split out of gt_pch_restore.
	(mmap_gt_pch_use_address): Likewise.
	* hooks.c (hook_voidp_size_t_null): Remove.
	(hook_bool_voidp_size_t_false): Remove.
	* hooks.h: Likewise.
	* hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
	default_ or mmap_ definitions.
	(HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
	* hosthooks.h (struct host_hooks): Update gt_pch_get_address
	and gt_pch_use_address.
	* config/host-linux.c, config/host-solaris.c: New files.
	* config/x-linux, config/x-solaris: New files.
	* config/rs6000/host-darwin.c darwin_rs6000_gt_pch_get_address):
	Update for changed definition.
	(darwin_rs6000_gt_pch_use_address): Likewise.
	* doc/hostconfig.texi: Update docs.
	testsuite/
	PR pch/14400
	Backport from mainline:
	
	2004-04-07  Ian Lance Taylor  <ian@wasabisystems.com>
	
	* gcc.dg/pch/pch.exp: Add largefile test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.893&r2=2.2326.2.894
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-pch.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.19.4.1&r2=1.19.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config.host.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.7&r2=2.7.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ggc-common.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.78&r2=1.78.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hooks.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.22.10.2&r2=1.22.10.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hooks.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.23.10.2&r2=1.23.10.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hosthooks-def.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3&r2=1.3.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hosthooks.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.4&r2=1.4.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/host-linux.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.11.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/host-solaris.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.3.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/x-linux.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.6.48.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/x-solaris.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.2.50.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/host-darwin.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.7&r2=1.7.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/hostconfig.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.7&r2=1.7.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.416&r2=1.3389.2.417
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/pch/pch.exp.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.8&r2=1.8.18.1

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