[Bug target/18434] [4.0/4.1 Regression] Cannot build gnattools on Tru64 UNIX V5.1B

2005-08-21 Thread mmitchel at gcc dot gnu dot org

--- Additional Comments From mmitchel at gcc dot gnu dot org  2005-08-22 
02:19 ---
Ada is not a primary language and alpha is not a primary or secondary platform;
removing target milestone.

-- 
   What|Removed |Added

   Target Milestone|4.1.0   |---


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


[Bug target/18434] [4.0/4.1 Regression] Cannot build gnattools on Tru64 UNIX V5.1B

2005-07-05 Thread ro at techfak dot uni-bielefeld dot de

--- Additional Comments From ro at techfak dot uni-bielefeld dot de  
2005-07-05 17:04 ---
Subject: Re:  [4.0/4.1 Regression] Cannot build gnattools on Tru64 UNIX V5.1B

charlet at gcc dot gnu dot org writes:

 Given your last comment (a variable set to 4), it still looks very much like
 a codegen issue to me, and likely target dependent.
 
 I guess a next step could be to either look at the ssa transformations 
 performed,
 and/or at the assembly code generated for the elab routine.

I've approached this a bit differently:

* I tried to bootstrap mainline with -O0, but it failed as before and even
  an almost current CVS gdb just SEGVs on the gnatmake binary ;-(

* On the 4.0 branch, a bootstrap with -O0 also failed as before, but at
  least I can debug the gnatmake binary:

  osint__running_programs starts as 0, is later initialized to 2
  (osint__make) in osint__set_program and again overwritten to 4
  (osint__unspecified) in osint___elabb:

Breakpoint 4, osint.set_program (p=16) at 
/vol/gnu/src/gcc/gcc-4.0-branch-dist/gcc/ada/osint.adb:2274
(gdb) p osint__running_program
$6 = 0
(gdb) where
#0  osint.set_program (p=16) at 
/vol/gnu/src/gcc/gcc-4.0-branch-dist/gcc/ada/osint.adb:2274
#1  0x0001201fbf10 in osint__m___elabb () at 
/vol/gnu/src/gcc/gcc-4.0-branch-dist/gcc/ada/osint-m.adb:49
#2  0x0001200b7750 in adainit () at b_gnatm.c:562
#3  0x0001200b8aec in main (argc=536854608, argv=0x0, envp=0x0) at 
b_gnatm.c:733
#4  0x0001200b617c in __start ()
(gdb) cont
Continuing.
Watchpoint 6: {data variable, no debug info} 5369590752

Old value = 0
New value = 2
osint.set_program (p=16) at 
/vol/gnu/src/gcc/gcc-4.0-branch-dist/gcc/ada/osint.adb:2280
(gdb) cont
Continuing.

Breakpoint 3, osint___elabb () at 
/vol/gnu/src/gcc/gcc-4.0-branch-dist/gcc/ada/osint.adb:45
(gdb) cont
Continuing.
Watchpoint 6: {data variable, no debug info} 5369590752

Old value = 2
New value = 4
osint___elabb () at /vol/gnu/src/gcc/gcc-4.0-branch-dist/gcc/ada/osint.adb:48
(gdb) where
#0  osint___elabb () at 
/vol/gnu/src/gcc/gcc-4.0-branch-dist/gcc/ada/osint.adb:48
#1  0x0001200b7cc0 in adainit () at b_gnatm.c:610
#2  0x0001200b8aec in main (argc=536854608, argv=0x0, envp=0x0) at 
b_gnatm.c:733
#3  0x0001200b617c in __start ()

* On the 3.4 branch, osint__running_program is statically initialized to
  osint__unspecified in osint.adb, later reset to osint__make in
  osint__set_program:

Old value = {F = osint__unspecified}
New value = {F = osint__make}
osint__set_program (p=osint__make) at 
/vol/gnu/src/gcc/gcc-3.4-branch-dist/gcc/ada/osint.adb:2253

Breakpoint 3, osint.set_program (p=osint__make) at 
/vol/gnu/src/gcc/gcc-3.4-branch-dist/gcc/ada/osint.adb:2247
(gdb) where
#0  osint.set_program (p=osint__make) at 
/vol/gnu/src/gcc/gcc-3.4-branch-dist/gcc/ada/osint.adb:2247
#1  0x00012019efe8 in osint__m___elabb () at 
/vol/gnu/src/gcc/gcc-3.4-branch-dist/gcc/ada/osint-m.adb:49
#2  0x0001200a046c in adainit () at b_gnatm.c:267
#3  0x0001200a11c0 in main (argc=6, argv=0x11fffc018, envp=0x11fffc050) at 
b_gnatm.c:389
#4  0x00012009fc3c in __start ()
$1 = {F = osint__unspecified}
(gdb) cont
Continuing.
Watchpoint 5: osint.running_program

Old value = {F = osint__unspecified}
New value = {F = osint__make}
osint.set_program (p=osint__make) at 
/vol/gnu/src/gcc/gcc-3.4-branch-dist/gcc/ada/osint.adb:2253

Thus, the way/order of initialization changed between 3.4 and 4.0, causing
the observed failure:

* from osint.adb:

package body Osint is

   Running_Program : Program_Type := Unspecified;
   --  comment required here ???

* from osint-m.adb:

package body Osint.M is
[...]
begin
   Set_Program (Make);
end Osint.M;

* in 3.4:

  osint__running_program = osint__unspecified (4) statically (osint.o)

  osint__running_program = osint__make (2) in osint.set_program, called
  from osint__m___elabb (osint_m.o)

* in 4.0:

  osint__running_program = 0 statically (osint.o)

  osint__running_program = osint__make (2) in osint.set_program, called from
  osint__m___elabb (osint_m.o)

  osint__running_program = osint__unspecified (4) in osint___elabb (osint.o)

Hope this helps to narrow down the root cause.

Rainer



-- 


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


[Bug target/18434] [4.0/4.1 Regression] Cannot build gnattools on Tru64 UNIX V5.1B

2005-07-04 Thread charlet at gcc dot gnu dot org

--- Additional Comments From charlet at gcc dot gnu dot org  2005-07-04 
15:30 ---
Given your last comment (a variable set to 4), it still looks very much like
a codegen issue to me, and likely target dependent.

I guess a next step could be to either look at the ssa transformations 
performed,
and/or at the assembly code generated for the elab routine.

Arno

-- 


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


[Bug target/18434] [4.0/4.1 Regression] Cannot build gnattools on Tru64 UNIX V5.1B

2005-06-09 Thread ro at techfak dot uni-bielefeld dot de

--- Additional Comments From ro at techfak dot uni-bielefeld dot de  
2005-06-09 23:09 ---
Subject: Re:  [4.0/4.1 Regression] Cannot build gnattools on Tru64 UNIX V5.1B

I've done some further debugging and found what's going on: running the
failing gnatmake invokation

% ../../gnatmake -c -I../rts -I. -I/vol/gnu/src/gcc/gcc-dist/gcc/ada gnatchop 
--GCC=../../xgcc -B../../ -O2 -g -O2  -mieee  -gnatpg -gnata
gnatmake: gnatchop not found

under truss reveals that with gnatmake from the 3.4 branch, there are
several calls to stat() for gnatchop.adb in different directories.  With
the 4.0 gnatmake, the stat() calls only look for gnatchop (which of course
doesn't exist yet).  Those calls ultimately come from Osint.Next_Main_File.
Running gnatmake under a debugger, I find that in 4.0, neither the case
Running_Program is entered nor the

if Running_Program = Make then

block that does the adding of .adb and .ads.  It turns out that
Osint.Running_Program = 4 at that point (debugging seems considerably
broken on 4.0: with the 3.4 binaries and current CVS gdb, I get symbolic
values here, while the 4.0 binaries only give numeric ones), i.e. Unspecified.

Running gnatmake again under gdb with a watchpoint on
Osint.Running_Program, I find that

* for the 3.4 binary, the variable is set only once via Osint.Set_Program (to
  Osint.Make, as expected) and never touched afterwards, whereas

* for the 4.0 binary, the variable is set once in the same place, and later
  overwritten in osint___elabb (obviously the Osint initialization code),
  where it is set to 4 (Unspecified) as observed above.

So maybe this is an Ada bug after all, not really target specific.

Rainer


-- 


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


[Bug target/18434] [4.0/4.1 Regression] Cannot build gnattools on Tru64 UNIX V5.1B

2005-05-18 Thread rth at gcc dot gnu dot org

--- Additional Comments From rth at gcc dot gnu dot org  2005-05-18 06:04 
---
*** Bug 20089 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||mmazur at kernel dot pl


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


[Bug target/18434] [4.0/4.1 Regression] Cannot build gnattools on Tru64 UNIX V5.1B

2005-05-17 Thread rth at gcc dot gnu dot org

--- Additional Comments From rth at gcc dot gnu dot org  2005-05-18 05:57 
---
This happens on Linux as well.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
 GCC target triplet|alpha-dec-osf5.1b   |alpha*
   Last reconfirmed|-00-00 00:00:00 |2005-05-18 05:57:52
   date||


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


[Bug target/18434] [4.0/4.1 Regression] Cannot build gnattools on Tru64 UNIX V5.1B

2005-03-05 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

   Target Milestone|--- |4.1.0


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