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

bootstrap/8926: Bootstrap comparison failure on linux pentiumpro System!


>Number:         8926
>Category:       bootstrap
>Synopsis:       Bootstrap comparison failure on linux pentiumpro System!
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Fri Dec 13 05:56:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Michael Harbeck
>Release:        3.2.1
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: Linux harbeck2 2.4.19-harbeck2 #1 Fri Oct 11 22:10:55 CEST 2002 i686 unknown
Architecture: i686
Library: GNU C Library stable release version 2.3.1
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: CFLAGS="-g -O3 -march=i686" CXXFLAGS="-g -O3 -march=i686" ../gcc-3.2.1/configure --prefix=/usr/local --enable-threads --enable-version-specific-runtime-libs --program-suffix=-3.2.1 --verbose
compiled with: make bootstrap BOOT_CFLAGS="-g -O3 -march=i686"
>Description:
Bootstrap fails with the following message:
Bootstrap comparison failure!
f/sta.o differs

Further details:
Compilation fails for a pentium pro linux single processor system.
It is not necessary to specify -march=i686; -O3 is sufficient.

>How-To-Repeat:
(1) Configure as specified
(4) make bootstrap as specified above
(3) Copy the file f/sta.c to the gcc compilation directory (the directory
    where stage1 and stage2 can be found)
(4) Generate the following directories: tst/stage1 tst/stage2
(5) Run the following compilation steps:
stage2/xgcc -Bstage2/ -B/usr/local/i686-pc-linux-gnu/bin/ -S -da -DIN_GCC -g -O3 -march=i686 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -DHAVE_CONFIG_H -I. -If -I../../gcc-3.2.1/gcc -I../../gcc-3.2.1/gcc/f -I../../gcc-3.2.1/gcc/config -I../../gcc-3.2.1/gcc/../include sta.c -o tst/stage2/sta.s

mv sta.c.* tst/stage2/

stage1/xgcc -Bstage1/ -B/usr/local/i686-pc-linux-gnu/bin/ -S -da -DIN_GCC -g -O3 -march=i686 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -DHAVE_CONFIG_H -I. -If -I../../gcc-3.2.1/gcc -I../../gcc-3.2.1/gcc/f -I../../gcc-3.2.1/gcc/config -I../../gcc-3.2.1/gcc/../include sta.c -o tst/stage1/sta.s

mv sta.c.* tst/stage1/

diff -r -u tst/stage1 tst/stage2

(6) Expected output:
diff -r -u tst/stage1/sta.c.15.life tst/stage2/sta.c.15.life
--- tst/stage1/sta.c.15.life	Wed Dec 11 16:53:43 2002
+++ tst/stage2/sta.c.15.life	Wed Dec 11 16:53:12 2002
@@ -773,7 +773,7 @@
 Registers live at start: 6 [bp] 7 [sp] 16 [] 20 [frame] 59
 Registers live at end: 6 [bp] 7 [sp] 16 [] 20 [frame] 59
 
-Basic block 48: first insn 1152, last 593, loop_depth 0, count 0, freq 0.
+Basic block 48: first insn 1152, last 593, loop_depth 0, count 0, freq 1.
 Predecessors:  47 [1.0%]  (fallthru)
 Successors: 
 Registers live at start: 7 [sp] 16 [] 20 [frame]
@@ -785,7 +785,7 @@
 Registers live at start: 6 [bp] 7 [sp] 16 [] 20 [frame] 59 186
 Registers live at end: 6 [bp] 7 [sp] 16 [] 20 [frame] 59
 
-Basic block 50: first insn 615, last 648, loop_depth 5, count 0, freq 100.
+Basic block 50: first insn 615, last 648, loop_depth 5, count 0, freq 99.
 Predecessors:  49 [100.0%]  (fallthru) 47 [99.0%] 
 Successors:  53 [100.0%] 
 Registers live at start: 6 [bp] 7 [sp] 16 [] 20 [frame] 59
diff -r -u tst/stage1/sta.c.20.lreg tst/stage2/sta.c.20.lreg
--- tst/stage1/sta.c.20.lreg	Wed Dec 11 16:53:46 2002
+++ tst/stage2/sta.c.20.lreg	Wed Dec 11 16:53:14 2002
@@ -599,7 +599,7 @@
 Registers live at start: 6 [bp] 7 [sp] 16 [] 20 [frame] 59
 Registers live at end: 6 [bp] 7 [sp] 16 [] 20 [frame] 59
 
-Basic block 48: first insn 1152, last 593, loop_depth 0, count 0, freq 0.
+Basic block 48: first insn 1152, last 593, loop_depth 0, count 0, freq 1.
 Predecessors:  47 [1.0%]  (fallthru)
 Successors: 
 Registers live at start: 7 [sp] 16 [] 20 [frame]
@@ -611,7 +611,7 @@
 Registers live at start: 6 [bp] 7 [sp] 16 [] 20 [frame] 59 186
 Registers live at end: 6 [bp] 7 [sp] 16 [] 20 [frame] 59
 
-Basic block 50: first insn 615, last 648, loop_depth 5, count 0, freq 100.
+Basic block 50: first insn 615, last 648, loop_depth 5, count 0, freq 99.
 Predecessors:  49 [100.0%]  (fallthru) 47 [99.0%] 
 Successors:  53 [100.0%] 
 Registers live at start: 6 [bp] 7 [sp] 16 [] 20 [frame] 59
diff -r -u tst/stage1/sta.c.23.flow2 tst/stage2/sta.c.23.flow2
--- tst/stage1/sta.c.23.flow2	Wed Dec 11 16:53:49 2002
+++ tst/stage2/sta.c.23.flow2	Wed Dec 11 16:53:17 2002
@@ -339,7 +339,7 @@
 Registers live at start: 5 [di] 6 [bp] 7 [sp] 16 [] 20 [frame]
 Registers live at end: 5 [di] 6 [bp] 7 [sp] 16 [] 20 [frame]
 
-Basic block 47: first insn 1152, last 1318, loop_depth 0, count 0, freq 0.
+Basic block 47: first insn 1152, last 1318, loop_depth 0, count 0, freq 1.
 Predecessors:  46 [1.0%]  (fallthru)
 Successors:  75 [100.0%] 
 Registers live at start: 7 [sp]
@@ -351,7 +351,7 @@
 Registers live at start: 1 [dx] 5 [di] 6 [bp] 7 [sp] 16 [] 20 [frame]
 Registers live at end: 5 [di] 6 [bp] 7 [sp] 16 [] 20 [frame]
 
-Basic block 49: first insn 615, last 648, loop_depth 5, count 0, freq 100.
+Basic block 49: first insn 615, last 648, loop_depth 5, count 0, freq 99.
 Predecessors:  48 [100.0%]  (fallthru) 46 [99.0%] 
 Successors:  51 [100.0%] 
 Registers live at start: 5 [di] 6 [bp] 7 [sp] 16 [] 20 [frame]
@@ -507,13 +507,13 @@
 Registers live at start: 7 [sp]
 Registers live at end: 7 [sp]
 
-Basic block 75: first insn 1317, last 1050, loop_depth 0, count 0, freq 0.
+Basic block 75: first insn 1317, last 1050, loop_depth 0, count 0, freq 1.
 Predecessors:  47 [100.0%]  74 [100.0%]  (fallthru)
 Successors:  76 [100.0%]  (fallthru)
 Registers live at start: 7 [sp]
 Registers live at end: 7 [sp]
 
-Basic block 76: first insn 1309, last 1051, loop_depth 0, count 0, freq 1.
+Basic block 76: first insn 1309, last 1051, loop_depth 0, count 0, freq 2.
 Predecessors:  4 [100.0%]  17 [100.0%]  27 [100.0%]  29 [100.0%]  71 [100.0%]  75 [100.0%]  (fallthru)
 Successors: 
 Registers live at start: 7 [sp]
diff -r -u tst/stage1/sta.c.29.bbro tst/stage2/sta.c.29.bbro
--- tst/stage1/sta.c.29.bbro	Wed Dec 11 16:53:51 2002
+++ tst/stage2/sta.c.29.bbro	Wed Dec 11 16:53:19 2002
@@ -327,7 +327,7 @@
 Registers live at start: 5 [di] 6 [bp] 7 [sp] 16 [] 20 [frame]
 Registers live at end: 5 [di] 6 [bp] 7 [sp] 16 [] 20 [frame]
 
-Basic block 47: first insn 1152, last 1318, loop_depth 0, count 0, freq 0.
+Basic block 47: first insn 1152, last 1318, loop_depth 0, count 0, freq 1.
 Predecessors:  46 [1.0%]  (fallthru)
 Successors:  75 [100.0%] 
 Registers live at start: 7 [sp]
@@ -339,7 +339,7 @@
 Registers live at start: 1 [dx] 5 [di] 6 [bp] 7 [sp] 16 [] 20 [frame]
 Registers live at end: 5 [di] 6 [bp] 7 [sp] 16 [] 20 [frame]
 
-Basic block 49: first insn 615, last 648, loop_depth 5, count 0, freq 100.
+Basic block 49: first insn 615, last 648, loop_depth 5, count 0, freq 99.
 Predecessors:  48 [100.0%]  (fallthru) 46 [99.0%] 
 Successors:  51 [100.0%] 
 Registers live at start: 5 [di] 6 [bp] 7 [sp] 16 [] 20 [frame]
@@ -495,13 +495,13 @@
 Registers live at start: 7 [sp]
 Registers live at end: 7 [sp]
 
-Basic block 75: first insn 1317, last 1050, loop_depth 0, count 0, freq 0.
+Basic block 75: first insn 1317, last 1050, loop_depth 0, count 0, freq 1.
 Predecessors:  47 [100.0%]  74 [100.0%]  (fallthru)
 Successors:  76 [100.0%]  (fallthru)
 Registers live at start: 7 [sp]
 Registers live at end: 7 [sp]
 
-Basic block 76: first insn 1309, last 1051, loop_depth 0, count 0, freq 1.
+Basic block 76: first insn 1309, last 1051, loop_depth 0, count 0, freq 2.
 Predecessors:  4 [100.0%]  17 [100.0%]  27 [100.0%]  29 [100.0%]  71 [100.0%]  75 [100.0%]  (fallthru)
 Successors: 
 Registers live at start: 7 [sp]
@@ -561,7 +561,7 @@
  32 bb 42 freq 50
  33 bb 43 freq 41
  34 bb 48 freq 50
- 35 bb 51 freq 100
+ 35 bb 51 freq 99
  36 bb 53 freq 187
  37 bb 54 freq 1414
  38 bb 55 freq 1203
@@ -580,8 +580,8 @@
  51 bb 74 freq 0
  52 bb 76 freq 2
  53 bb 77 freq 0
- 54 compensation bb 78 freq 0
- 55 compensation bb 79 freq 1
+ 54 compensation bb 78 freq 1
+ 55 compensation bb 79 freq 2
  56 bb 65 freq 32
  57 bb 66 freq 4
  58 bb 67 freq 0
@@ -589,7 +589,7 @@
  60 bb 56 freq 349
  61 bb 57 freq 211
  62 bb 58 freq 105
- 63 bb 49 freq 0
+ 63 bb 49 freq 1
  64 bb 44 freq 10
  65 bb 45 freq 5
  66 bb 46 freq 4
diff -r -u tst/stage1/sta.s tst/stage2/sta.s
--- tst/stage1/sta.s	Wed Dec 11 16:53:52 2002
+++ tst/stage2/sta.s	Wed Dec 11 16:53:19 2002
@@ -554,7 +554,6 @@
 	movl	$.LC1, 12(%esp)
 	movl	$410, 8(%esp)
 	jmp	.L93
-	.p2align 4,,7
 .L44:
 	.loc 1 403 0
 	cmpb	$0, ffesta_seen_first_exec



>Fix:
	Do not compile gcc with -O3 but -O2? May be this is neither a
workaround nor a fix, because you cannot be sure, that there is no file
where the error may occur.

>Release-Note:
>Audit-Trail:
>Unformatted:
 X-send-pr-version: 3.113
 X-GNATS-Notify: 
 
 
 SEND-PR: Leave "Confidential" as "no"; all GCC PRs are public.
 SEND-PR: critical     GCC is completely not operational; no work-around known.
 SEND-PR: serious      GCC is not working properly; a work-around is possible.
 SEND-PR: non-critical Report indicates minor problem.
 SEND-PR: medium       The problem should be solved in the next release.
 SEND-PR: low          The problem should be solve in a future release.
 SEND-PR: doc-bug          The documentation is incorrect.
 SEND-PR: accepts-illegal  GCC fails to reject erroneous code.
 SEND-PR: rejects-legal    GCC gives an error message for correct code.
 SEND-PR: wrong-code       The machine code generated by gcc is incorrect.
 SEND-PR: ice-on-legal-code   GCC gives an Internal Compiler Error (ICE)
 SEND-PR:                     for correct code
 SEND-PR: ice-on-illegal-code GCC gives an ICE instead of reporting an error
 SEND-PR: pessimizes-code     GCC misses an important optimization opportunity
 SEND-PR: sw-bug              Software bug of some other class than above
 SEND-PR: change-request      A feature in GCC is missing.
 SEND-PR: support             I need help with gcc.


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