public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
@ 2003-10-24 15:30 danglin at gcc dot gnu dot org
  2003-10-24 15:51 ` [Bug ada/12761] " charlet at gcc dot gnu dot org
                   ` (21 more replies)
  0 siblings, 22 replies; 23+ messages in thread
From: danglin at gcc dot gnu dot org @ 2003-10-24 15:30 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761

           Summary: [3.4 regression] Segmentation fault in gnat1 compiling
                    a-except.adb
           Product: gcc
           Version: 3.4
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: danglin at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11.00
  GCC host triplet: hppa2.0w-hp-hpux11.00
GCC target triplet: hppa2.0w-hp-hpux11.00

stage1/xgcc -Bstage1/ -B/opt/gnu/hppa2.0w-hp-hpux11.00/bin/ -c -g -O2      -gnat
pg -gnata -g -O1 -fno-inline \
 -I- -I. -Iada -I../../gcc/gcc/ada ../../gcc/gcc/ada/a-except.adb -o ada/a-excep
t.o
+===========================GNAT BUG DETECTED==============================+
| 3.4 20031024 (experimental) (hppa2.0w-hp-hpux11.00) Bus error            |
| No source file position information available                            |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases, 
so please double check that the problem can still 
be reproduced with the set of files listed.

list may be incomplete
compilation abandoned

The fault is here:

Program received signal SIGBUS, Bus error.
0x00132d54 in exp_ch3__freeze_stream_operations (n=9154, typ=6067)
    at ../../gcc/gcc/ada/exp_ch3.adb:4023
4023             Stream_Op := TSS (Typ, Names (J));

Don't know much about ada but it appears that the fault occurs accessing
the array Names, the second time around the loop:

0x132d4c <exp_ch3__freeze_stream_operations+116>:       ldo -2(r19),r19
0x132d50 <exp_ch3__freeze_stream_operations+120>:       ldi 0,r20
0x132d54 <exp_ch3__freeze_stream_operations+124>:       ldw 0(sr0,r19),r19
0x132d58 <exp_ch3__freeze_stream_operations+128>:       extrw,u r19,15,16,r19
0x132d5c <exp_ch3__freeze_stream_operations+132>:       extrw,u r19,31,16,r19
0x132d60 <exp_ch3__freeze_stream_operations+136>:       depwi 0,31,16,r20
0x132d64 <exp_ch3__freeze_stream_operations+140>:       or r20,r19,r20

The fault occurs at 0x132d54 when %r19 isn't aligned to a word address.

(gdb) printf "0x%x\n",$r19
0x4000303a
(gdb) info addr names
Symbol "names" is static storage at address 0x40003030.
(gdb) info locals
j = 2
names = {"SI", "SO", "SR", "SW"}
stream_op = 0


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
@ 2003-10-24 15:51 ` charlet at gcc dot gnu dot org
  2003-10-24 16:51 ` pinskia at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: charlet at gcc dot gnu dot org @ 2003-10-24 15:51 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


charlet at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |normal


------- Additional Comments From charlet at gcc dot gnu dot org  2003-10-24 15:49 -------
This is a makefile issue: -mdisable-indexing is supposed to get passed to
the compiler, from gcc/config/pa/x-ada

The work around is to specific CFLAGS="-mdisable-indexing" on the command
line (lowering severity since there is a work around).

BTW, it's always useful to specify what version used to work if there
is a regression.

Arno


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
  2003-10-24 15:51 ` [Bug ada/12761] " charlet at gcc dot gnu dot org
@ 2003-10-24 16:51 ` pinskia at gcc dot gnu dot org
  2003-10-24 20:23 ` dave at hiauly1 dot hia dot nrc dot ca
                   ` (19 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-10-24 16:51 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |build
   Last reconfirmed|0000-00-00 00:00:00         |2003-10-24 16:49:15
               date|                            |
   Target Milestone|---                         |3.4


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
  2003-10-24 15:51 ` [Bug ada/12761] " charlet at gcc dot gnu dot org
  2003-10-24 16:51 ` pinskia at gcc dot gnu dot org
@ 2003-10-24 20:23 ` dave at hiauly1 dot hia dot nrc dot ca
  2003-10-24 20:27 ` neroden at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2003-10-24 20:23 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761



------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  2003-10-24 19:19 -------
Subject: Re:  [3.4 regression] Segmentation fault in gnat1 comp

> ------- Additional Comments From charlet at gcc dot gnu dot org  2003-10-24
> 15:49 -------
> This is a makefile issue: -mdisable-indexing is supposed to get passed to
> the compiler, from gcc/config/pa/x-ada

Ah, I see the xmake_file lines have been deleted from config.gcc.

Dave


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2003-10-24 20:23 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2003-10-24 20:27 ` neroden at gcc dot gnu dot org
  2003-10-24 20:40 ` neroden at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: neroden at gcc dot gnu dot org @ 2003-10-24 20:27 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761



------- Additional Comments From neroden at gcc dot gnu dot org  2003-10-24 20:26 -------
xmake_file is specified per-host, as is normal for it, and is therefore now
specified in config.host.  This is not related to the problem.

The actual problem is different.  The LANG_MAKEFRAGS are currently included
*after* xmake_file is included in the main Makefile.in; accordingly, the
definition  X_ADA_CFLAGS= in ada/Make-lang.in *overrides* the definition
X_ADA_CFLAGS=-mdisable-indexing in config/pa/x-ada.

Suggestions for the correct fix are welcome.  I'm worried that moving the
xmake_file inclusion after the LANG_MAKEFRAGS inclusion will have unforseen
side effects (there are several other xmake_files, mostly more complicated).

Perhaps it's best to put the blank definition of X_ADA_CFLAGS
into the main Makefile.in near the top and take it out of the Make-lang.in ?


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2003-10-24 20:27 ` neroden at gcc dot gnu dot org
@ 2003-10-24 20:40 ` neroden at gcc dot gnu dot org
  2003-10-27 14:12 ` charlet at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: neroden at gcc dot gnu dot org @ 2003-10-24 20:40 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


neroden at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |neroden at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2003-10-24 20:40 ` neroden at gcc dot gnu dot org
@ 2003-10-27 14:12 ` charlet at gcc dot gnu dot org
  2003-10-31  9:54 ` cvs-commit at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: charlet at gcc dot gnu dot org @ 2003-10-27 14:12 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761



------- Additional Comments From charlet at gcc dot gnu dot org  2003-10-27 14:11 -------
<<
Perhaps it's best to put the blank definition of X_ADA_CFLAGS
into the main Makefile.in near the top and take it out of the Make-lang.in ?
>>

That would be fine with me, assuming it fixes the problem at hand, and
does not cause build regressions.

Arno


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2003-10-27 14:12 ` charlet at gcc dot gnu dot org
@ 2003-10-31  9:54 ` cvs-commit at gcc dot gnu dot org
  2003-10-31  9:58 ` neroden at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2003-10-31  9:54 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761



------- Additional Comments From cvs-commit at gcc dot gnu dot org  2003-10-31 09:54 -------
Subject: Bug 12761

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	neroden@gcc.gnu.org	2003-10-31 09:53:53

Modified files:
	gcc            : ChangeLog Makefile.in 
	gcc/ada        : ChangeLog Make-lang.in 

Log message:
	(gcc)
	PR ada/12761
	* Makefile.in: Move default definitions of X_ADA_CFLAGS,
	T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
	(gcc/ada)
	PR ada/12761
	* ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
	T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.1613&r2=2.1614
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&r1=1.1185&r2=1.1186
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gcc&r1=1.367&r2=1.368
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/Make-lang.in.diff?cvsroot=gcc&r1=1.45&r2=1.46


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2003-10-31  9:54 ` cvs-commit at gcc dot gnu dot org
@ 2003-10-31  9:58 ` neroden at gcc dot gnu dot org
  2003-10-31 21:44 ` dave at hiauly1 dot hia dot nrc dot ca
                   ` (13 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: neroden at gcc dot gnu dot org @ 2003-10-31  9:58 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


neroden at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


------- Additional Comments From neroden at gcc dot gnu dot org  2003-10-31 09:54 -------
I believe that my recent commit fixed this.  Confirmation welcome.  :-)


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2003-10-31  9:58 ` neroden at gcc dot gnu dot org
@ 2003-10-31 21:44 ` dave at hiauly1 dot hia dot nrc dot ca
  2003-10-31 21:47 ` danglin at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2003-10-31 21:44 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761



------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  2003-10-31 21:44 -------
Subject: Re:  [3.4 regression] Segmentation fault in gnat1 comp

> neroden at gcc dot gnu dot org changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>              Status|ASSIGNED                    |RESOLVED
>          Resolution|                            |FIXED
> 
> 
> ------- Additional Comments From neroden at gcc dot gnu dot org  2003-10-31
> 09:54 -------
> I believe that my recent commit fixed this.  Confirmation welcome.  :-)

Sorry, the problem isn't fixed, although we now have "-mdisable-indexing"
in the compilation commands for ada:

stage1/xgcc -Bstage1/ -B/opt/gnu/hppa2.0w-hp-hpux11.00/bin/ -c -g -O2 -mdisable-
indexing     -gnatpg -gnata -g -O1 -fno-inline \
 -I- -I. -Iada -I../../gcc/gcc/ada ../../gcc/gcc/ada/a-except.adb -o ada/a-excep
 t.o
 +===========================GNAT BUG DETECTED==============================+
 | 3.4 20031031 (experimental) (hppa2.0w-hp-hpux11.00) Bus error            |
 | No source file position information available                            |
 | Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
 | Include the entire contents of this bug box in the report.               |
 | Include the exact gcc or gnatmake command that you entered.              |
 | Also include sources listed below in gnatchop format                     |
 | (concatenated together with no headers between files).                   |
 +==========================================================================+

The analysis in the original report showed that the segmentation fault
was due to a misaligned displacement for a load.  It didn't use an insn
affected by the "-mdisable-indexing" option.

Thanks for fixing the Makefile problem.  I'll reopen the PR.

Dave


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2003-10-31 21:44 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2003-10-31 21:47 ` danglin at gcc dot gnu dot org
  2003-10-31 21:49 ` danglin at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: danglin at gcc dot gnu dot org @ 2003-10-31 21:47 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


danglin at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


------- Additional Comments From danglin at gcc dot gnu dot org  2003-10-31 21:45 -------
Problem not fixed.  See comment #7.


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2003-10-31 21:47 ` danglin at gcc dot gnu dot org
@ 2003-10-31 21:49 ` danglin at gcc dot gnu dot org
  2003-10-31 23:56 ` neroden at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: danglin at gcc dot gnu dot org @ 2003-10-31 21:49 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


danglin at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical


------- Additional Comments From danglin at gcc dot gnu dot org  2003-10-31 21:47 -------
Bumping back to critical as there is no workaround.


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2003-10-31 21:49 ` danglin at gcc dot gnu dot org
@ 2003-10-31 23:56 ` neroden at gcc dot gnu dot org
  2003-11-01 10:24 ` [Bug bootstrap/12761] " charlet at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: neroden at gcc dot gnu dot org @ 2003-10-31 23:56 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


neroden at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|neroden at gcc dot gnu dot  |unassigned at gcc dot gnu
                   |org                         |dot org
             Status|REOPENED                    |NEW


------- Additional Comments From neroden at gcc dot gnu dot org  2003-10-31 23:47 -------
Not mine.


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug bootstrap/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2003-10-31 23:56 ` neroden at gcc dot gnu dot org
@ 2003-11-01 10:24 ` charlet at gcc dot gnu dot org
  2003-11-01 21:22 ` dave at hiauly1 dot hia dot nrc dot ca
                   ` (8 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: charlet at gcc dot gnu dot org @ 2003-11-01 10:24 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


charlet at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|ada                         |bootstrap


------- Additional Comments From charlet at gcc dot gnu dot org  2003-11-01 10:24 -------
If the stage1 compiler has indeed been built with -mdisable-indexing,
then it's either a back-end bug, or more likely a bug in the
bootstrapping compiler.

Arno


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug bootstrap/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2003-11-01 10:24 ` [Bug bootstrap/12761] " charlet at gcc dot gnu dot org
@ 2003-11-01 21:22 ` dave at hiauly1 dot hia dot nrc dot ca
  2003-11-02 11:13 ` charlet at act-europe dot fr
                   ` (7 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2003-11-01 21:22 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761



------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  2003-11-01 21:22 -------
Subject: Re:  [3.4 regression] Segmentation fault in gnat

> If the stage1 compiler has indeed been built with -mdisable-indexing,
> then it's either a back-end bug, or more likely a bug in the
> bootstrapping compiler.

You are right, it's a bug in the bootstrapping compiler.  It was 3.3.1.
Tried 3.3 but it has the same problem.  I also see the same assembly
code with 3.3 under hppa-linux but it has an unaligned handler.  3.4
seems to be fixed.  I see this code with 3.4 under hppa-linux:

        .loc 1 4023 0
	addil LR'.LC12-$global$,%r27
	ldo RR'.LC12-$global$(%r1),%r20
	fldw 12(%r3),%fr22L
	fstw %fr22L,-16(%r30)
	ldw -16(%r30),%r19
	depw,z %r19,30,31,%r19
	add,l %r19,%r20,%r19
	ldo -2(%r19),%r20
	ldb 0(%r20),%r19
	extrw,u %r19,31,8,%r19
	depw,z %r19,23,24,%r21
	ldb 1(%r20),%r19
	extrw,u %r19,31,8,%r19
	or %r19,%r21,%r20

The loads are done using ldb.

With the 3.3 branch, we have the following layout for "Names":

names___16
        .STRING "SI"
        .STRING "SO"
        .STRING "SR"
        .STRING "SW"
        .stabs  "exp_ch3__freeze_stream_operations__L_50__T15b___XDLU_1__4:t123=
r1;1;4;",128,0,4022,0
        .align 4
L$C0012
        .STRING "SI"
        .STRING "SO"
        .STRING "SR"
        .STRING "SW"

The initial rtl is as follows:

(note 30 29 31 ("../../gcc/gcc/ada/exp_ch3.adb") 4022)

(insn 31 30 32 00000000 (set (reg:SI 96)
        (const_int 1 [0x1])) -1 (nil)
    (expr_list:REG_EQUAL (const_int 1 [0x1])
        (nil)))

(insn 32 31 33 00000000 (set (mem/f:SI (plus:SI (reg/f:SI 90 virtual-stack-vars)
                (const_int 4 [0x4])) [0 j+0 S4 A32])
        (reg:SI 96)) -1 (nil)
    (nil))

(note 33 32 34 NOTE_INSN_LOOP_BEG)

(code_label 34 33 35 517 "" [0 uses])

(insn 35 34 36 00000000 (set (reg:SI 97)
        (mem/f:SI (plus:SI (reg/f:SI 90 virtual-stack-vars)
                (const_int 4 [0x4])) [0 j+0 S4 A32])) -1 (nil)
    (nil))

(jump_insn 36 35 37 00000000 (set (pc)
        (if_then_else (le (reg:SI 97)
                (const_int 4 [0x4]))
            (label_ref 39)
            (pc))) -1 (nil)
    (nil))

(jump_insn 37 36 38 00000000 (set (pc)
        (label_ref 109)) -1 (nil)
    (nil))

(barrier 38 37 39)

(code_label 39 38 40 520 "" [0 uses])

(note 40 39 41 NOTE_INSN_LOOP_END_TOP_COND)

(note 41 40 42 NOTE_INSN_DELETED)

(note 42 41 43 NOTE_INSN_DELETED)

(note 43 42 44 ("../../gcc/gcc/ada/exp_ch3.adb") 4023)

(insn 44 43 45 00000000 (set (reg/f:SI 99)
        (high:SI (symbol_ref:SI ("*L$C0012")))) -1 (nil)
    (nil))

(insn 45 44 46 00000000 (set (reg/f:SI 98)
        (lo_sum:SI (reg/f:SI 99)
            (symbol_ref:SI ("*L$C0012")))) -1 (nil)
    (expr_list:REG_EQUAL (symbol_ref:SI ("*L$C0012"))
        (nil)))

(insn 46 45 47 00000000 (set (reg:SI 100)
        (mem/f:SI (plus:SI (reg/f:SI 90 virtual-stack-vars)
                (const_int 4 [0x4])) [0 j+0 S4 A32])) -1 (nil)
    (nil))

(insn 47 46 48 00000000 (set (reg:SI 101)
        (reg:SI 100)) -1 (nil)
    (nil))

(insn 48 47 49 00000000 (set (reg:SI 102)
        (ashift:SI (reg:SI 101)
            (const_int 1 [0x1]))) -1 (nil)
    (expr_list:REG_EQUAL (mult:SI (reg:SI 100)
            (const_int 2 [0x2]))
        (nil)))

(insn 49 48 50 00000000 (set (reg:SI 103)
        (plus:SI (reg:SI 102)
            (reg/f:SI 98))) -1 (nil)
    (nil))

(insn 50 49 51 00000000 (set (reg/f:SI 104)
        (plus:SI (reg:SI 103)
            (const_int -2 [0xfffffffe]))) -1 (nil)
    (nil))

(insn 51 50 52 00000000 (set (reg:SI 105)
        (const_int 0 [0x0])) -1 (nil)
    (nil))

(insn 52 51 53 00000000 (set (reg:SI 106)
        (mem/s/u/j:SI (reg/f:SI 104) [0 S4 A32])) -1 (nil)
    (nil))

(insn 53 52 54 00000000 (set (reg:SI 107)
        (zero_extract:SI (reg:SI 106)
            (const_int 16 [0x10])
            (const_int 0 [0x0]))) -1 (nil)
    (nil))

(insn 54 53 55 00000000 (set (reg:SI 108)
        (and:SI (reg:SI 107)
            (const_int 65535 [0xffff]))) -1 (nil)
    (nil))

(insn 55 54 56 00000000 (set (reg:SI 105)
        (and:SI (reg:SI 105)
            (const_int -65536 [0xffff0000]))) -1 (nil)
    (nil))

(insn 56 55 57 00000000 (set (reg:SI 105)
        (ior:SI (reg:SI 105)
            (reg:SI 108))) -1 (nil)
    (nil))

(insn 57 56 58 00000000 (set (reg:SI 26 %r26)
        (mem/u/f:SI (plus:SI (reg/f:SI 89 virtual-incoming-args)
                (const_int -8 [0xfffffff8])) [0 typ+0 S4 A32])) -1 (nil)
    (nil))

(insn 58 57 59 00000000 (set (reg:SI 25 %r25)
        (reg:SI 105)) -1 (nil)
    (nil))

(call_insn 59 58 60 00000000 (parallel [
            (set (reg:SI 28 %r28)
                (call (mem:SI (symbol_ref/v:SI ("@exp_tss__tss")) [0 S4 A32])
                    (const_int 16 [0x10])))
            (clobber (reg:SI 1 %r1))
            (clobber (reg:SI 2 %r2))
            (use (const_int 0 [0x0]))
        ]) -1 (nil)
    (nil)
    (expr_list (use (reg:SI 25 %r25))
        (expr_list (use (reg:SI 26 %r26))
            (nil))))

[...]

(note 101 100 102 NOTE_INSN_LOOP_CONT)

(code_label 102 101 103 519 "" [0 uses])

(insn 103 102 104 00000000 (set (reg:SI 118)
        (mem/f:SI (plus:SI (reg/f:SI 90 virtual-stack-vars)
                (const_int 4 [0x4])) [0 j+0 S4 A32])) -1 (nil)
    (nil))

(insn 104 103 105 00000000 (set (reg:SI 119)
        (plus:SI (reg:SI 118)
            (const_int 1 [0x1]))) -1 (nil)
    (nil))

(insn 105 104 106 00000000 (set (mem/f:SI (plus:SI (reg/f:SI 90 virtual-stack-vars)
                (const_int 4 [0x4])) [0 j+0 S4 A32])
        (reg:SI 119)) -1 (nil)
    (nil))

(jump_insn 106 105 107 00000000 (set (pc)
        (label_ref 34)) -1 (nil)
    (nil))

It can be seen that the load in insn 52 has mode SImode, which won't
work when j is odd.  This definitely isn't a problem in the PA backend.
However, it is sensitive to this problem because it requires strict
alignment.

For 3.4, would it be possible to modify Freeze_Stream_Operations to
workaround the problem?  The failure is still pressent with 3.3.2.

I tried to duplicate this problem in C but it correctly uses HImode
for the memory load of Names(J).  The following C program generates
essentially identical rtl to that generated in the first part of
the loop in Freeze_Stream_Operations, except for the HImode load.

typedef struct {char a[2];} name_t;
extern int exp_tss__tss (int, name_t);
int
freeze (int typ)
{
  static name_t Names[4] = {{'S', 'I'}, {'S', 'O'}, {'S', 'R'}, {'S', 'W'}};
  int j;

  for (j = 0; j < 4; j++)
    if (exp_tss__tss (typ, Names[j]))
      return 1;

  return 0;
}

So, it looks to me as if it could be an ada problem.  I suspect a problem
with the type for Names(J).

Dave


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug bootstrap/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2003-11-01 21:22 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2003-11-02 11:13 ` charlet at act-europe dot fr
  2003-11-02 19:03 ` dave at hiauly1 dot hia dot nrc dot ca
                   ` (6 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: charlet at act-europe dot fr @ 2003-11-02 11:13 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761



------- Additional Comments From charlet at act-europe dot fr  2003-11-02 11:12 -------
Subject: Re:  [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb

> So, it looks to me as if it could be an ada problem.  I suspect a problem
> with the type for Names(J).

Correction: an ada problem in a previous gcc version.
One possibility would be to start the bootstrap with another version of gnat
(e.g gnat 3.15p from ftp.cs.nyu.edu/pub/gnat/3.15p/contrib - I have
not tried it myself, so it may or may not work).
Another possibility as you mentioned is for you to rewrite slightly the
current code as to avoid the bootstrap failure, and once you have
a more reliable gcc 3.4, use it for further bootstraps.

Arno


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug bootstrap/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (14 preceding siblings ...)
  2003-11-02 11:13 ` charlet at act-europe dot fr
@ 2003-11-02 19:03 ` dave at hiauly1 dot hia dot nrc dot ca
  2003-12-31 22:19 ` [Bug ada/12761] " neroden at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2003-11-02 19:03 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761



------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  2003-11-02 19:03 -------
Subject: Re:  [3.4 regression] Segmentation fault in gnat

> > So, it looks to me as if it could be an ada problem.  I suspect a problem
> > with the type for Names(J).
> 
> Correction: an ada problem in a previous gcc version.

It doesn't matter.  The 3.3 branch bootstraps without problems.  My
understanding is that the 3.3 branch is still open and there will be
another release.

The change(s) to exp_ch3.adb between 3.3 and 3.4 introduced the regression.
There is "no distinction between patches which are themselves buggy and
patches that expose latent bugs elsewhere in the compiler."  See
<http://gcc.gnu.org/develop.html>.  I believe that it was this patch
that introduced the regression:

2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>

        * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
	3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
	3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
	3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
	4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
	4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
	4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
	4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
	51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
	53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
	5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
	5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
	5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
	5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
	5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
	5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
	5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
        5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
	5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
	5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
	5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
	5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
	5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
	5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
	5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
	5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
	5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
	5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
	5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
	5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
	5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
	5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
	5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
	5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
	6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
	7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
	7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
	a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
	a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
	a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
        a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
	a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
	ali.adb, ali.ads, ali-util.adb, ali-util.ads,
	a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
	a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
	a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
	a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
	a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
	a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
	a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
	a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
	a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
	a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
	a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
	a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
	atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
	a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
	a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
	bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
	checks.adb, checks.ads, cio.c, comperr.adb,
	comperr.ads, csets.adb, cstand.adb, cstreams.c,
	debug_a.adb, debug_a.ads, debug.adb, decl.c,
	einfo.adb, einfo.ads, errout.adb, errout.ads,
        eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
	expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
	exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
	exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
	exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
	exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
	exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
	exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
	exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
	fe.h, fmap.adb, fmap.ads, fname.adb,
	fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
	freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
	g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
	g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
	g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
	g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
	g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
	g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
	g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
	g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
	g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
	g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
	g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
        g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
	gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
	gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
	gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
	gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
	gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
	g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
	g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
	g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
	g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
	g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
	g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
	g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
	g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
	i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
	i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
	inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
	itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
	layout.adb, lib.adb, lib.ads, lib-list.adb,
	lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
	lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
	link.c, live.adb, make.adb, make.ads,
	Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
        mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
	mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
	misc.c, mkdir.c, mlib.adb, mlib.ads,
	mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
	mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
	namet.adb, namet.ads, namet.h, nlists.ads,
	nlists.h, nmake.adt, opt.adb, opt.ads,
	osint.adb, osint.ads, osint-b.adb, osint-c.adb,
	par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
	par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
	par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
	par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
	prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
	prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
	prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
	prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
	prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
	prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
	prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
	prj-util.adb, prj-util.ads, raise.c, raise.h,
	repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
	rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
	s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
        s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
	scans.ads, scn.adb, scn.ads, s-crc32.adb,
	s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
	sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
	sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
	sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
	sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
	sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
	sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
	sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
	sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
	sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
	sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
	sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
	s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
	s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
	s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
	s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
	s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
	s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
	s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
	sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
	sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
        sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
	s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
	s-memory.adb, s-memory.ads, snames.adb, snames.ads,
	snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
	s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
	s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
	s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
	s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
	s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
	s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
	s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
	s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
	s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
	s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
	s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
	s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
	s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
	s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
	s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
	s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
	stringt.adb, stringt.ads, stringt.h, style.ads,
	stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
	s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
        s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
	switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
	s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
	table.adb, table.ads, targparm.adb, targparm.ads,
	targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
	trans.c, tree_io.adb, treepr.adb, treeprs.adt,
	ttypes.ads, types.ads, types.h, uintp.adb,
	uintp.ads, uintp.h, uname.adb, urealp.adb,
	urealp.ads, urealp.h, usage.adb, utils2.c,
	utils.c, validsw.adb, validsw.ads, widechar.adb,
	xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
	xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
	einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
	gnatvsn.ads: Merge with ACT tree.

> One possibility would be to start the bootstrap with another version of gnat
> (e.g gnat 3.15p from ftp.cs.nyu.edu/pub/gnat/3.15p/contrib - I have
> not tried it myself, so it may or may not work).

I believe that it is necessary to start a bootstrap with ada with a gnat1
version that is no more than one release older than the version that is
being built.  Thus, I would proably have to build 3.3.  The hppa-linux
port was built using a cross from i386 and it exhibits the same behavior.
In any event, this isn't going to address the problem introduced by
your patch.

> Another possibility as you mentioned is for you to rewrite slightly the
> current code as to avoid the bootstrap failure, and once you have
> a more reliable gcc 3.4, use it for further bootstraps.

Be careful in saying "you".  I have spent several hours debugging this
problem and get upset when a patch author suggests it is my responsibility
to fix a problem introduced by his/her patch.

Dave


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (15 preceding siblings ...)
  2003-11-02 19:03 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2003-12-31 22:19 ` neroden at gcc dot gnu dot org
  2003-12-31 22:22 ` dave at hiauly1 dot hia dot nrc dot ca
                   ` (4 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: neroden at gcc dot gnu dot org @ 2003-12-31 22:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From neroden at gcc dot gnu dot org  2003-12-31 21:53 -------
One of these things must happen: 
(1) a-except.adb must be kludged for 3.4 so that ada will build with gcc-3.3. 
(2) gcc-3.3-branch must be fixed so that it compiled a-except.adb correctly. 
(3) It must be demonstrated that 3.4 can be bootstrapped with some other 
released version.  (I believe that gcc-3.4 cannot be bootstrapped with gnat 
3.15p, but feel free to prove me wrong.) 
 
Whichever is easier, Arnaud.  :-) 
 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |charlet at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
          Component|bootstrap                   |ada


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (16 preceding siblings ...)
  2003-12-31 22:19 ` [Bug ada/12761] " neroden at gcc dot gnu dot org
@ 2003-12-31 22:22 ` dave at hiauly1 dot hia dot nrc dot ca
  2004-01-04  9:09 ` [Bug ada/12761] [3.3 only] " pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2003-12-31 22:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  2003-12-31 22:03 -------
Subject: Re:  [3.4 regression] Segmentation fault in gnat1 comp

> One of these things must happen: 
> (1) a-except.adb must be kludged for 3.4 so that ada will build with
> gcc-3.3. 
> (2) gcc-3.3-branch must be fixed so that it compiled a-except.adb correctly.
> 
> (3) It must be demonstrated that 3.4 can be bootstrapped with some other 
> released version.  (I believe that gcc-3.4 cannot be bootstrapped with gnat 
> 3.15p, but feel free to prove me wrong.) 

There is a work around to build with 3.3.  The fault doesn't occur
if -O1 is used in stage 1.  However, my preference would be to backport
the 3.4 fix, whatever it is.

I'm rather handicapped in looking at this because I don't currently have
a version of gdb that understands ada.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.3 only] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (17 preceding siblings ...)
  2003-12-31 22:22 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2004-01-04  9:09 ` pinskia at gcc dot gnu dot org
  2004-01-04 17:02 ` gdr at integrable-solutions dot net
                   ` (2 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-04  9:09 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[3.4 regression]            |[3.3 only] Segmentation
                   |Segmentation fault in gnat1 |fault in gnat1 compiling a-
                   |compiling a-except.adb      |except.adb
   Target Milestone|3.4.0                       |3.3.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.3 only] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (18 preceding siblings ...)
  2004-01-04  9:09 ` [Bug ada/12761] [3.3 only] " pinskia at gcc dot gnu dot org
@ 2004-01-04 17:02 ` gdr at integrable-solutions dot net
  2004-01-05  3:52 ` pinskia at gcc dot gnu dot org
  2004-01-05 10:51 ` charlet at gcc dot gnu dot org
  21 siblings, 0 replies; 23+ messages in thread
From: gdr at integrable-solutions dot net @ 2004-01-04 17:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From gdr at integrable-solutions dot net  2004-01-04 17:02 -------
Subject: Re:  [3.3 only] Segmentation fault in gnat1 compiling a-except.adb

"pinskia at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes:

|            What    |Removed                     |Added
| ----------------------------------------------------------------------------
|             Summary|[3.4 regression]            |[3.3 only] Segmentation
|                    |Segmentation fault in gnat1 |fault in gnat1 compiling a-
|                    |compiling a-except.adb      |except.adb
|    Target Milestone|3.4.0                       |3.3.3

I think Ada maintainers won't invest any ressource in 3.3.3; so I
would suggest this PR be closed.

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.3 only] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (19 preceding siblings ...)
  2004-01-04 17:02 ` gdr at integrable-solutions dot net
@ 2004-01-05  3:52 ` pinskia at gcc dot gnu dot org
  2004-01-05 10:51 ` charlet at gcc dot gnu dot org
  21 siblings, 0 replies; 23+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-05  3:52 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-01-05 03:52 -------
Not to be fixed for 3.3.3.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug ada/12761] [3.3 only] Segmentation fault in gnat1 compiling a-except.adb
  2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
                   ` (20 preceding siblings ...)
  2004-01-05  3:52 ` pinskia at gcc dot gnu dot org
@ 2004-01-05 10:51 ` charlet at gcc dot gnu dot org
  21 siblings, 0 replies; 23+ messages in thread
From: charlet at gcc dot gnu dot org @ 2004-01-05 10:51 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From charlet at gcc dot gnu dot org  2004-01-05 10:51 -------
The work around to use -O1 is clearly the best one and the most reasonable.

Note that it is possible to debug Ada code using a standard gdb in C mode
for those who are interested in debugging this or other issues, since all the
Ada debug info looks like C debug info.

An Ada aware debugger can be found at http://libre.act-europe.fr/gdb

Arno

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12761


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2004-01-05 10:51 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-24 15:30 [Bug ada/12761] New: [3.4 regression] Segmentation fault in gnat1 compiling a-except.adb danglin at gcc dot gnu dot org
2003-10-24 15:51 ` [Bug ada/12761] " charlet at gcc dot gnu dot org
2003-10-24 16:51 ` pinskia at gcc dot gnu dot org
2003-10-24 20:23 ` dave at hiauly1 dot hia dot nrc dot ca
2003-10-24 20:27 ` neroden at gcc dot gnu dot org
2003-10-24 20:40 ` neroden at gcc dot gnu dot org
2003-10-27 14:12 ` charlet at gcc dot gnu dot org
2003-10-31  9:54 ` cvs-commit at gcc dot gnu dot org
2003-10-31  9:58 ` neroden at gcc dot gnu dot org
2003-10-31 21:44 ` dave at hiauly1 dot hia dot nrc dot ca
2003-10-31 21:47 ` danglin at gcc dot gnu dot org
2003-10-31 21:49 ` danglin at gcc dot gnu dot org
2003-10-31 23:56 ` neroden at gcc dot gnu dot org
2003-11-01 10:24 ` [Bug bootstrap/12761] " charlet at gcc dot gnu dot org
2003-11-01 21:22 ` dave at hiauly1 dot hia dot nrc dot ca
2003-11-02 11:13 ` charlet at act-europe dot fr
2003-11-02 19:03 ` dave at hiauly1 dot hia dot nrc dot ca
2003-12-31 22:19 ` [Bug ada/12761] " neroden at gcc dot gnu dot org
2003-12-31 22:22 ` dave at hiauly1 dot hia dot nrc dot ca
2004-01-04  9:09 ` [Bug ada/12761] [3.3 only] " pinskia at gcc dot gnu dot org
2004-01-04 17:02 ` gdr at integrable-solutions dot net
2004-01-05  3:52 ` pinskia at gcc dot gnu dot org
2004-01-05 10:51 ` charlet at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).