[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Comment #22 from charlet at gcc dot gnu dot org 2005-10-13 15:32 --- *** Bug 24352 has been marked as a duplicate of this bug. *** -- charlet at gcc dot gnu dot org changed: What|Removed |Added CC||bugzilla-gcc at ||thewrittenword dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-03-15 15:54 --- Subject: Bug 13470 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-03-15 15:53:11 Modified files: gcc/ada: a-stunau.ads a-stunau.adb g-spipat.ads g-spipat.adb g-spitbo.adb g-spitbo.ads a-swunau.ads a-swunau.adb a-szunau.ads a-szunau.adb Log message: 2005-03-08 Robert Dewar [EMAIL PROTECTED] PR ada/13470 * a-stunau.ads, a-stunau.adb: Change interface to allow efficient (and correct) implementation The previous changes to allow extra space in unbounded strings had left this interface a bit broken. * a-suteio.adb: Avoid unnecessary use of Get/Set_String * g-spipat.ads, g-spipat.adb: New interface for Get_String Minor reformatting (function specs) * g-spitbo.adb: New interface for Get_String * g-spitbo.ads: Minor reformatting * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-stunau.ads.diff?cvsroot=gccr1=1.6r2=1.7 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-stunau.adb.diff?cvsroot=gccr1=1.6r2=1.7 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/g-spipat.ads.diff?cvsroot=gccr1=1.4r2=1.5 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/g-spipat.adb.diff?cvsroot=gccr1=1.8r2=1.9 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/g-spitbo.adb.diff?cvsroot=gccr1=1.5r2=1.6 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/g-spitbo.ads.diff?cvsroot=gccr1=1.4r2=1.5 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-swunau.ads.diff?cvsroot=gccr1=1.1r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-swunau.adb.diff?cvsroot=gccr1=1.1r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-szunau.ads.diff?cvsroot=gccr1=1.1r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-szunau.adb.diff?cvsroot=gccr1=1.1r2=1.2 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From charlet at gcc dot gnu dot org 2005-01-18 10:04 --- I agree that the code in a-stunau.adb looks highly suspicious, so your patch looks good at first sight. Could you please send it to gcc-patches for more general review ? Thanks. Arno -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From jakub at gcc dot gnu dot org 2005-01-18 13:27 --- Already did that yesterday. Patch here http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01057.html. -- What|Removed |Added CC||jakub at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From charlet at adacore dot com 2005-01-18 13:34 --- Subject: Re: 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc. Already did that yesterday. Patch here http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01057.html. Sorry about that, I somehow missed it. Patch is OK, thanks. Arno -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-01-18 22:00 --- Subject: Bug 13470 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-01-18 22:00:13 Modified files: gcc/ada: ChangeLog a-stunau.adb Log message: PR ada/13470 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is set to the new string. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gccr1=1.626r2=1.627 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-stunau.adb.diff?cvsroot=gccr1=1.5r2=1.6 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-01-18 22:05 --- Subject: Bug 13470 CVSROOT:/cvs/gcc Module name:gcc Branch: gcc-3_4-branch Changes by: [EMAIL PROTECTED] 2005-01-18 22:05:08 Modified files: gcc/ada: ChangeLog a-stunau.adb Log message: PR ada/13470 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is set to the new string. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gcconly_with_tag=gcc-3_4-branchr1=1.428.2.15r2=1.428.2.16 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-stunau.adb.diff?cvsroot=gcconly_with_tag=gcc-3_4-branchr1=1.5r2=1.5.10.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-18 23:49 --- Fixed. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |3.4.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From jakub at gcc dot gnu dot org 2005-01-17 12:48 --- Seems if I recompile a-stunau.o with -O0 -fPIC as opposed to -O2 -fPIC and relink/reinstall libgnat-3.4.so.1, xnmake works, at least on my x86-64. When it is compiled with -O2 -fPIC, xnmake dies much earlier under LD_PRELOAD=libefence.so.0. From my debugging so far it looks like if Ada.Strings.Unbounded.Aux.Get_String compiled with -O2 results in the freed Reference to be still used by subsequent users instead of the newly allocated one. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From jakub at gcc dot gnu dot org 2005-01-17 14:48 --- This seems to be related to RTX_UNCHANGING_P, but I'm not sure it is actually a bug in the compiler itself, or in the library code. I don't know Ada at all, but e.g. from the comment about it it sounds like it is doing something that is not kosher and is just being bitten by that. GCC marks the u argument as /u, so both return U.Reference; lines end up RTL like: (insn 23 190 24 3 a-stunau.adb:43 (set (reg:DI 68) (mem/s/u/j:DI (plus:DI (reg/v/u/f:DI 60 [ u ]) (const_int 32 [0x20])) [3 variable.reference+0 S8 A128])) -1 (nil) (nil)) (insn 24 23 25 3 a-stunau.adb:43 (set (reg:DI 69) (mem/s/u/j:DI (plus:DI (reg/v/u/f:DI 60 [ u ]) (const_int 40 [0x28])) [3 variable.reference+8 S8 A64])) -1 (nil) (nil)) (insn 25 24 26 3 a-stunau.adb:43 (set (reg:DI 58 [ result ]) (reg:DI 68)) -1 (nil) (nil)) (insn 26 25 27 3 a-stunau.adb:43 (set (reg:DI 59 [ result+8 ]) (reg:DI 69)) -1 (nil) while in the second case the code expects changes done through u_ptr pointer (set to (reg/v/u/f:DI 60 [ u ])), not done with /u, to propagate to the return value. But, as soon as the compiler starts optimizing a little bit more aggressively, although it will change the U.Reference value, it can very well return Old; instead, as it was promissed U.Reference is not going to change during the lifetime of the function. -- What|Removed |Added CC||laurent at guerby dot net, ||kenner at vlsi1 dot ultra ||dot nyu dot edu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From laurent at guerby dot net 2005-01-17 21:40 --- Looks like a correct analysis and fix to me. Richard, Arnaud? This is likely to fix the 3.4 Ada cannot compile itself problem. -- What|Removed |Added CC||charlet at adacore dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From charlet at adacore dot com 2004-12-02 09:43 --- Subject: Re: 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc. Fixing the bug is nice, but it just won't fix the problem with people having Fixing the bug is needed, not only nice ;-) 3.4.0/1/2 already installed, only the Makefile workaround will help them since the base compiler and not the stage1 one is used to compile the build tools (unless I'm missing something obvious there). There are already work arounds, such as generating the files on another machine, and copying the generated file in your obj directory. Once the bug is fixed and understood, it should also be possible to modify the code that is being miscompiled, which would be a better work around than what has been suggested so far (for reasons already explained). Arno -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From charlet at adacore dot com 2004-12-01 08:40 --- Subject: Re: 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc. should have worked but was rejected, so waiting for better ideas. Well that may seem obvious, but the better idea would be to fix the code generation issue to start with, instead of trying to work around it. I know this is less fun and more difficult, but having such pending bug is certainly annoying. Arno -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From laurent at guerby dot net 2004-12-01 18:53 --- (In reply to comment #8) Subject: Re: 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc. Well that may seem obvious, but the better idea would be to fix the code generation issue to start with, instead of trying to work around it. Fixing the bug is nice, but it just won't fix the problem with people having 3.4.0/1/2 already installed, only the Makefile workaround will help them since the base compiler and not the stage1 one is used to compile the build tools (unless I'm missing something obvious there). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470
[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-01 04:03 --- From PR 17271: http://gcc.gnu.org/ml/gcc-patches/2004-08/msg02620.html breaks parallel make so was reverted. Suggestion from: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg00069.html should have worked but was rejected, so waiting for better ideas. -- What|Removed |Added Last reconfirmed|2004-01-26 15:56:50 |2004-12-01 04:03:29 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13470