Hello everybody! I bring good news!A big applause for your hard work identifying the problem in the first
GCC with Ada support has been updated in NetBSD! Now versions 10 and 11 should work on x86 and x86_64 NetBSD machines! You can find them in pkgsrc-wip (gcc10-aux) [1] and Ravenports (gcc11) [http://www.ravenports.com/]!
First things first, the acknowledgements: a big thank you goes to J.
Marino who did the original gcc-aux packages and who provided most if
not all the work when it came to fixing the threads and symbols. Another
big thank you goes to tobiasu who correctly picked up that the pthread structure wrappers were not correct and had to be remade. Another big
thank you goes to Jay Patelani for his help with pkgsrc.
So, long story short. Most of the work that had been done up until a few weeks ago was done correctly, but the failing tests (most related to
tasking) were failing in very strange ways. It happened that the pthread structure memory that the Ada wrapper was using was incorrect, so we
were getting completely erratic behaviour. Once that got fixed, pretty
much all tests passed. J. Marino also took the time and effort to create __gnat_* function wrappers to all the symbols that the NetBSD people
have renamed. This is a much cleaner fix and allows for the renamed
functions to generate the correct symbols since now they are getting preprocessed. It should also be more "upstream friendly". The issue,
however, remains if NetBSD decides to rename more functions that are
still being linked directly.
There are still some failing ACATS tests (about 10). Some are related to numerical precision and a couple others. They are mostly the same
failing tests in both GCC 10 and 11. J. Marino ran the ACATS tests on a DragonflyBSD (or was it FreeBSD?) machine and the same tests were
failing there too. So we suspect is is a common limitation on *BSDs and
it is unlikely that this will ever affect anybody. There is also the
issue of stack unwinding when it contains a signal trampoline [2], read
the following thread to gain more information about this.
[1] https://github.com/NetBSD/pkgsrc-wip/tree/master/gcc10-aux
[2] https://mail-index.netbsd.org/tech-kern/2021/10/15/msg027703.html
I have started trying to get GCC to xcompile to arm* on NetBSD. I think
I am somewhat close, but further hacking on NetBSD's src is needed (and
I think the RTS is not getting picked up correctly). So do not get your
hopes up. I mean, I have a working gcc x86_64 NetBSD host to NetBSD arm* xcompiler, it is the native gcc on arm* that is not getting built
correctly.
Regards,
[1] https://github.com/NetBSD/pkgsrc-wip/tree/master/gcc10-aux
Fernando Oleo Blanco <irvise_ml@irvise.xyz> writes:
[1] https://github.com/NetBSD/pkgsrc-wip/tree/master/gcc10-aux
Should DESCR memntion Ada?
I guess AdaCore has given up on FreeBSD, like they have MacOS.
Emmanuel
There are still some failing ACATS tests (about 10). Some are related
to numerical precision and a couple others. They are mostly the same
failing tests in both GCC 10 and 11
*** FAILURES: c250002 c324006 c35503d c35503f c415001 c611a04 cxaib05
cxaib08 cxd1003 cxd1004 cxd1005 cxd2006 cxd3001 cxd3002
C35503D GCC 11 supports 128-bit integers
C35503F likewise
"Simon Wright" <simon@pushface.org> wrote in message news:lyzgr3h0t2.fsf@pushface.org...
...
*** FAILURES: c250002 c324006 c35503d c35503f c415001 c611a04 cxaib05...
cxaib08 cxd1003 cxd1004 cxd1005 cxd2006 cxd3001 cxd3002
C35503D GCC 11 supports 128-bit integers
C35503F likewise
These two are "macro" tests, such that one is supposed to modify the
values in the Macro.Dfs file and regenerate these tests with the
correct values. If the compiler supports 128-bit integers, then those
values would be different (and a lot longer) than the values for
64-bit integers. They could of course fail for some other reason, but
getting those values wrong in the original substitution is bad.
"Randy Brukardt" <randy@rrsoftware.com> writes:
"Simon Wright" <simon@pushface.org> wrote in message
news:lyzgr3h0t2.fsf@pushface.org...
...
*** FAILURES: c250002 c324006 c35503d c35503f c415001 c611a04 cxaib05...
cxaib08 cxd1003 cxd1004 cxd1005 cxd2006 cxd3001 cxd3002
C35503D GCC 11 supports 128-bit integers
C35503F likewise
These two are "macro" tests, such that one is supposed to modify the
values in the Macro.Dfs file and regenerate these tests with the
correct values. If the compiler supports 128-bit integers, then those
values would be different (and a lot longer) than the values for
64-bit integers. They could of course fail for some other reason, but
getting those values wrong in the original substitution is bad.
Yes; what happens in the GCC version is that MACRO.DFS gets regenerated
from a template version during setup.
I missed a change made 14 months ago, i.e. in preparaton for GCC 11, in
which (for 64-bit targets) the expected max/min_int are set to 128-bit values.
Fernando Oleo Blanco <irvise_ml@irvise.xyz> writes:
There are still some failing ACATS tests (about 10). Some are related
to numerical precision and a couple others. They are mostly the same
failing tests in both GCC 10 and 11
For ACATS 4.1X on macOS, with GCC 11.2.0, I got
# of expected passes 2529
# of unexpected failures 14
# of expected failures 1487
# of unresolved testcases 11
# of unsupported tests 124
*** FAILURES: c250002 c324006 c35503d c35503f c415001 c611a04 cxaib05
cxaib08 cxd1003 cxd1004 cxd1005 cxd2006 cxd3001 cxd3002
C250002 macOS/Windows UTF-8 file names
C324006 wrong exception message
C35503D GCC 11 supports 128-bit integers
C35503F likewise
C415001 non-local pointer
C611A04 Assertion_Error not raised (classwide pre-, post conditions)
CXAIB05 Map doesn't have preelaborable initialization
CXAIB08 preelaborated unit with non-static default
CXD1003 exception did not occur
CXD1004 incorrect number of calls
CXD1005 likewise
CXD2006 protected object count is messed up
CXD3001 Program_Error not raised
CXD3002 ceiling check not called correctly
=== acats tests ===
FAIL: c52103x
FAIL: c52104x
FAIL: c52104y
FAIL: c52103x
FAIL: c52104x
FAIL: c52104y
FAIL: c52103x
FAIL: c52104x
FAIL: c52104y
FAIL: cb1010a
FAIL: cb1010c
FAIL: cb1010d
FAIL: cb1010a
FAIL: cb1010c
FAIL: cb1010d
FAIL: cb1010a
FAIL: cb1010c
FAIL: cb1010d
=== acats tests ===
FAIL: ce3404c
=== acats Summary ===
# of expected passes 6959
# of unexpected failures 1
Native configuration is x86_64--netbsd
Fernando Oleo Blanco <irvise_ml@irvise.xyz> writes:
=== acats tests ===
FAIL: ce3404c
=== acats Summary ===
# of expected passes 6959
# of unexpected failures 1
Native configuration is x86_64--netbsd
That's three times* the number of test cases. I noticed this before --
are you doing three parallel executions (the part of the script that
runs parallel executions is particularly gnarly)? Maybe only one of
the ce3404c's failed?
* more or less. Just ran for gcc version 12.0.0 20211021 with -j4,
=== acats Summary ===
# of expected passes 2328
# of unexpected failures 0
I don't think the ACATS in GCC reports all the outcomes the way it
should: in particular, there were a considerable number of
'unsupported tests' (e.g. those where the test reports
'NOT-APPLICABLE'), and of course this was a .0.0 (work-in-progress)
release. Perhaps x86_64-apple-darwin15 has one more unsupported test
than x86_64--netbsd.
Merry Xmas
We found a potential compiler bug when running make in the tests
directory of this package on OpenBSD. Does it work on NetBSD out of
interest?
"https://github.com/rod-chapman/SPARKNaCl"
This is the ACATs results for OpenBSD
"https://github.com/kevlar700/OpenBSD_GNAT_11_ACATS/blob/main/acats.sum"
I do not have GCC 11 on NetBSD, which is required for SPARKNaCl.
However, I expect to spend some time with Ravenports, which does
support GCC 11 on NetBSD. So I hope to try it out soon.
Regarding ACATS on OBSD; the results seem to be good. Yes, there are
some failures, but I would expect some of those to come from
limitations of GCC 11. Afaik/seen, OpenBSD has outstanding support for
Ada in ports.
Regards,
Fer
Am Thu, 23 Dec 2021 05:15:42 -0800 (PST)
schrieb Kevin Chadwick <kevc3no4@gmail.com>:
Merry Xmas
We found a potential compiler bug when running make in the tests
directory of this package on OpenBSD. Does it work on NetBSD out of interest?
"https://github.com/rod-chapman/SPARKNaCl"
This is the ACATs results for OpenBSD
"https://github.com/kevlar700/OpenBSD_GNAT_11_ACATS/blob/main/acats.sum"
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 379 |
Nodes: | 16 (2 / 14) |
Uptime: | 44:33:37 |
Calls: | 8,141 |
Calls today: | 4 |
Files: | 13,085 |
Messages: | 5,858,054 |