Waldek Hebisch wrote:
Frank Heckenbach wrote:
Waldek Hebisch wrote:
I just sucessfuly build gpc-20030507 with gcc-3.3.1. Before the build I applied the following patch to gpc-20030507:
Test results (from make pascal.check-long, passing tests omited and slightly edited to save space):
Failures with trampolines and nonlocal gotos. What a surprise. :-(
Still taking bets which backend version will finally get them right
Well, for the apple-powerpc-darwin target, gcc-3.1.1 indeed fixes trampolines (not yet non-local goto's). Still, Waldek could try to get things moving by reporting the Solaris backend problems to bugzilla http://gcc.gnu.org/bugzilla, see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10900 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10901.
Well, first I would like to collect all data -- Frank's comment suggest that the bugs are known and already reported.
Problems with these two features are reported with basically each new gcc version, sometimes on different platforms, sometimes different symptoms. All in all, I don't think there's been any gcc version where they don't cause problems on some platforms (at least since 2.8.1 which, of course, doesn't support as many targets, and I've tested only a few of them, so I can't really tell).
By the way, the gpc web page about known bugs only mentions 2.95 Sparc bug and some AIX bug.
Yes, I haven't actually listed all the backend bugs we found there. I think it's better to have each bug in one place (which here would be the gcc bug database). (The other two ones are listed because we've implemented work-arounds in GPC -- for the AIX bug, by almost disabling ReturnAddress (still better than crashing), and for the other bug by optionally doing non-local gotos not into the main program via longjmp (like non-local gotos into the main program are always done). BTW, you could try that (`--longjmp-all-nonlocal-labels'). But if longjmp is also broken (it was on some version and some platform, I forgot which), it won't help.)
I would be nice I people using development versions reported test results.
Actually, many did. If you have enough time, you could get quite some such reports from the mailing list archive (since the time gcc-3 support started).
Just an idea: Would it seem useful to open another mailing list, say gpc-result(s)@gnu.de just for such results? Then people like you could find them collected (in the future), and readers who are not interested won't be bothered by the (often longish) logs, and those reporting could do so without "bad conscience" of disturbing other readers.
Probably Solaris trampolines work differently the Linux trampolines.
Quite likely, though the difference may rather be due to the processor than the OS.
Also he probably did not use `-O3' optimisation (crashing tests work fine at `-O2').
Not very surprising indeed.
Frank