Re: GNAT, SJLJ and zero-cost exception handling
> Eric Botcazou writes: > > You need GCC 3.x or GCC 4.2 for GNAT SJLJ exceptions to work. > > Do you mean that it does not work with GCC 4.1.1? That would be very > bad news. I can confirm that gnat gcc 4.1.1 does *not* correctly handle SJLJ exceptions, at least on MinGW where SJLJ is currently the only viable EH mechanism. Eric, how difficult would it be to backport a fix from 4.2 to 4.1? Is there already a corresponding PR? Rolf -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
Re: GNAT vs DW2/ZCX EH.
Right, that's why the change should be reverted on the 4.3 branch. On the other hand, if you can get the ZCX support to work on the mainline before 4.4.0 is released, we could try there. FYI, I have just succeeded in building gcc-4.3.3 including Ada for MinGW by setting ZCX_By_Default: constant Boolean := True; in system-mingw.ads as suggested by Danny Smith. The ACATS tests show quite some failures, though. I don't know if they are due to the EH or if there are other causes. Rolf
Re: GNAT vs DW2/ZCX EH.
OK, I rebuilt gnat-4.3.3 on MinGW using ZCX_By_Default = False (system-mingw.ads) and no EH_MECHANISM line in Makefile.in for MinGW. I also increased the default stack size in system-mingw.ads to pragma Linker_Options ("-Wl,--stack=0x280"); Here are the ACATS results running gnat with gccflags="-O3 -fomit-frame-pointer -funroll-all-loops -finline-functions" === acats tests === Running chapter a ... Running chapter c2 ... Running chapter c3 ... FAIL: c37010a stack overflow FAIL: c380004 Running chapter c4 ... FAIL: c43204i stack overflow FAIL: c45672a FAIL: c460009 Running chapter c5 ... FAIL: c52103p stack overflow FAIL: c52104f FAIL: c52104p stack overflow Running chapter c6 ... Running chapter c7 ... Running chapter c8 ... FAIL: c83e02a stack overflow Running chapter c9 ... FAIL: c91006a stack overflow FAIL: c95008a Running chapter ca ... Running chapter cb ... Running chapter cc ... FAIL: cc3121a FAIL: cc3601a Running chapter cd ... FAIL: cd10001 build problem FAIL: cd1009a stack overflow FAIL: cd1009i stack overflow FAIL: cd1c03a stack overflow FAIL: cd2a21a stack overflow FAIL: cd2a21c stack overflow FAIL: cd2a21e stack overflow FAIL: cd2a22j stack overflow FAIL: cd2a23a stack overflow FAIL: cd2a23e stack overflow FAIL: cd2a24a stack overflow FAIL: cd2a31a stack overflow FAIL: cd2a31c stack overflow FAIL: cd2a32a stack overflow FAIL: cd30001 build problem FAIL: cd5003a build problem FAIL: cd5003b build problem FAIL: cd5003c build problem FAIL: cd5003d build problem FAIL: cd5003e build problem FAIL: cd5003f build problem FAIL: cd5003g build problem FAIL: cd5003h build problem FAIL: cd5003i build problem FAIL: cd5011a build problem FAIL: cd5011c build problem FAIL: cd5011e build problem FAIL: cd5011g build problem FAIL: cd5011i build problem FAIL: cd5011k build problem FAIL: cd5011m build problem FAIL: cd5011q build problem FAIL: cd5011s build problem FAIL: cd5012a build problem FAIL: cd5012b build problem FAIL: cd5012e build problem FAIL: cd5012f build problem FAIL: cd5012i build problem FAIL: cd5012m build problem FAIL: cd5013a build problem FAIL: cd5013c build problem FAIL: cd5013e build problem FAIL: cd5013g build problem FAIL: cd5013i build problem FAIL: cd5013k build problem FAIL: cd5013m build problem FAIL: cd5013o build problem FAIL: cd5014a build problem FAIL: cd5014c build problem FAIL: cd5014e build problem FAIL: cd5014g build problem FAIL: cd5014i build problem FAIL: cd5014k build problem FAIL: cd5014m build problem FAIL: cd5014o build problem FAIL: cd5014t build problem FAIL: cd5014v build problem FAIL: cd5014x build problem FAIL: cd5014y build problem FAIL: cd5014z build problem Running chapter ce ... Running chapter cxa ... FAIL: cxacb01 FAIL: cxacb02 FAIL: cxacc01 Running chapter cxb ... Running chapter cxf ... Running chapter cxg ... Running chapter cxh ... Running chapter cz ... Running chapter d ... Running chapter e ... Running chapter gcc ... Running chapter l ... === acats Summary === # of expected passes2200 # of unexpected failures76
Re: GNAT vs DW2/ZCX EH.
Would you mind running it again with the default flags (-O2)? We don't have comparison points with these non-standard flags. OK, here are the results with only -O2. All the errors in chapter cd are due to a build problem on my machine (the test programs cannot find spprt13.ads). Altough I already provide a linker option to increase stack size to 40MB there is still one program failing in a stack overflow. Rolf === acats tests === Running chapter a ... Running chapter c2 ... Running chapter c3 ... FAIL: c32001b stack overflow Running chapter c4 ... Running chapter c5 ... Running chapter c6 ... Running chapter c7 ... Running chapter c8 ... Running chapter c9 ... Running chapter ca ... Running chapter cb ... Running chapter cc ... Running chapter cd ... FAIL: cd10001 FAIL: cd30001 FAIL: cd5003a FAIL: cd5003b FAIL: cd5003c FAIL: cd5003d FAIL: cd5003e FAIL: cd5003f FAIL: cd5003g FAIL: cd5003h FAIL: cd5003i FAIL: cd5011a FAIL: cd5011c FAIL: cd5011e FAIL: cd5011g FAIL: cd5011i FAIL: cd5011k FAIL: cd5011m FAIL: cd5011q FAIL: cd5011s FAIL: cd5012a FAIL: cd5012b FAIL: cd5012e FAIL: cd5012f FAIL: cd5012i FAIL: cd5012m FAIL: cd5013a FAIL: cd5013c FAIL: cd5013e FAIL: cd5013g FAIL: cd5013i FAIL: cd5013k FAIL: cd5013m FAIL: cd5013o FAIL: cd5014a FAIL: cd5014c FAIL: cd5014e FAIL: cd5014g FAIL: cd5014i FAIL: cd5014k FAIL: cd5014m FAIL: cd5014o FAIL: cd5014t FAIL: cd5014v FAIL: cd5014x FAIL: cd5014y FAIL: cd5014z Running chapter ce ... Running chapter cxa ... Running chapter cxb ... Running chapter cxf ... Running chapter cxg ... Running chapter cxh ... Running chapter cz ... Running chapter d ... Running chapter e ... Running chapter gcc ... Running chapter l ... === acats Summary === # of expected passes2232 # of unexpected failures48
Re: gnattools cannot be built for freestanding/bare metal environment without hacking up the build machinery
Am 16.01.2014 18:17, schrieb Luke A. Guest: But what about the gnattools? Not buildable. A message in the ml archives states to build them with "make -C gcc gnattools," but this fails: This is PR19959, see comment #13. IMHO, this PR was incorrectly closed. That's why we use the mentioned build kludge in AVR-Ada. Rolf
Ada: building 4.3 cross-gnattools with gcc-4.2.1
I am trying to build a cross compiler based on the current 4.3 snapshot with a native compiler based on V4.2.1 (Host=mingw, target=avr). Building the cross-gnattools fails with some errors about type mismatch in make.adb (system.strings.string_access vs. gnat.strings.string_access). 1) Is it supposed to work? (i.e. building an Ada cross compiler 4.3 by a 4.2 compiler) 2) does it work to build 4.3 cross-gnattools with the current 4.3 Ada compiler? 3) Would a patch be accepted that makes the 4.3 gnattols be compilable by 4.2 compiler? Rolf