comp.lang.ada
 help / color / mirror / Atom feed
* GCC updated in NetBSD!
@ 2021-10-19 21:47 Fernando Oleo Blanco
  2021-10-20  5:01 ` Richard Iswara
                   ` (2 more replies)
  0 siblings, 3 replies; 23+ messages in thread
From: Fernando Oleo Blanco @ 2021-10-19 21:47 UTC (permalink / raw)


Hello everybody! I bring good news!

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,
-- 
Fernando Oleo Blanco
https://irvise.xyz

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2022-03-14 21:21 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-19 21:47 GCC updated in NetBSD! Fernando Oleo Blanco
2021-10-20  5:01 ` Richard Iswara
2021-10-20  6:43   ` Emmanuel Briot
2021-10-20 18:44     ` Fernando Oleo Blanco
2021-10-20 13:01 ` Simon Wright
2021-10-20 14:16   ` Fernando Oleo Blanco
2021-10-20 20:57 ` Simon Wright
2021-10-21  6:04   ` Randy Brukardt
2021-10-21  8:14     ` Simon Wright
2021-10-22 10:16       ` Simon Wright
2021-10-21 12:47   ` Fernando Oleo Blanco
2021-10-24 21:08   ` Simon Wright
2021-10-30 16:06     ` Fernando Oleo Blanco
2021-10-30 17:38       ` Simon Wright
2021-11-02 20:32         ` Fernando Oleo Blanco
2021-11-06 17:32           ` Fernando Oleo Blanco
2021-11-06 21:02             ` Simon Wright
2021-11-07  8:22               ` Fernando Oleo Blanco
2021-12-23 11:52                 ` Fernando Oleo Blanco
2021-12-23 13:15                   ` Kevin Chadwick
2021-12-23 16:37                     ` Fernando Oleo Blanco
2022-02-10 19:21                       ` Fernando Oleo Blanco
2022-03-14 21:21                         ` Fernando Oleo Blanco

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox