From: Fernando Oleo Blanco <irvise_ml@irvise.xyz>
Subject: Re: Help: Ada in NetBSD
Date: Wed, 1 Sep 2021 16:58:47 +0200 [thread overview]
Message-ID: <sgo4f7$lri$1@gioia.aioe.org> (raw)
In-Reply-To: 646f270d-0e65-46a5-b40a-02afab608f1en@googlegroups.com
Hi John,
continuing our chat over on IRC and repeating a few things so that you
can refer to this message.
My work is mostly based on your gcc6-aux port. So you will not find many
new things here.
So, what have I actually done?
- Copied your s-osinte__netbsd.ad{s,b} patches. I initially used the
patched __freebsd one. However, as you already know, NetBSD changed the
symbols of some of its libc and sys/* functions.
- I also ended up reproducing parts of the patches you created, such as
adding defined (__NetBSD__) where it was missing.
- Patched the Makefile.rtl to support NetBSD x86_64.
- Patched the symbols of _nanosleep and __gettimeofday50 in
s-osprim__posix.adb.
This is where I am right now. Most of the ACATS tests that use Tasks,
fail due to time out. Everything else pretty much "just works" (there
are a few more failed tests).
So, what now? I am pretty sure that since gcc6-aux came out and today,
some functions have been changed, see _nanosleep and __gettimeofday50.
These two functions specifically, are my suspects. Maybe the input
variables/structures got changed and I have not updated them. There are
also a couple of other symbols in some GNAT libraries that need updating.
A few more things:
- The patches I have done are of very bad quality: modifying __posix
files directly so that they will work only on NetBSD, for example.
- These patches and are not satisfactory. Since interfacing with the
NetBSD ABI is now dependent on the C preprocessor to correctly generate
the symbols, the current approach of hardcoding new symbols is fragile
and a loosing battle.
- I think the long term solution is the one proposed by Simon. Creating
some _gnat__*** C functions that wrap the NetBSD ABI. This is better,
but does not save us from future functions breaking. A complete fix
would be to completely _gnat__* all the C functions, which, in my humble
opinion is just too much.
On 01.09.21 15:28, John R. Marino wrote:
> Which reminds me: I'd only do this for x86_64 platform.
> Regards,
> John
My goal would be to at the very least give support to ARM, ARM64 and
RISC-V. To be honest with you, I would like it to work on any piece of
hardware that can be currently bought. Also, not just NetBSD, also
FreeBSD, DragonflyBSD (already done by you), improved OpenBSD support
and Haiku. I would also like to see gcc-ada added to Guix, the GNU
package manager, but that is a completely different story.
Regards,
--
Fernando Oleo Blanco
https://irvise.xyz
next prev parent reply other threads:[~2021-09-01 14:58 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-29 11:06 Help: Ada in NetBSD Fernando Oleo Blanco
2021-08-29 13:19 ` Stephane Carrez
2021-08-29 18:08 ` Fernando Oleo Blanco
2021-08-29 18:25 ` Simon Wright
2021-08-29 20:36 ` Fernando Oleo Blanco
2021-08-29 22:08 ` Stephane Carrez
2021-08-30 7:37 ` Simon Wright
2021-08-30 8:14 ` Fernando Oleo Blanco
2021-08-30 10:24 ` Fernando Oleo Blanco
2021-08-30 12:15 ` Fernando Oleo Blanco
2021-08-30 18:49 ` Fernando Oleo Blanco
2021-08-30 19:23 ` Simon Wright
2021-09-01 9:44 ` Fernando Oleo Blanco
2021-09-01 21:41 ` Simon Wright
2021-09-02 22:16 ` Randy Brukardt
2021-09-03 20:18 ` Simon Wright
2021-08-29 17:34 ` Simon Wright
2021-08-29 17:45 ` Fernando Oleo Blanco
2021-09-01 13:28 ` John R. Marino
2021-09-01 14:58 ` Fernando Oleo Blanco [this message]
2021-09-17 17:36 ` Fernando Oleo Blanco
2021-09-18 16:39 ` Fernando Oleo Blanco
2021-09-22 20:05 ` Fernando Oleo Blanco
2021-09-22 20:57 ` Simon Wright
2021-09-23 8:04 ` Luke A. Guest
2021-09-23 10:48 ` Kevin Chadwick
2021-09-23 17:01 ` Fernando Oleo Blanco
2021-09-23 17:04 ` Fernando Oleo Blanco
2021-09-23 19:53 ` Fernando Oleo Blanco
2021-09-24 7:48 ` Simon Wright
2021-09-24 9:44 ` Fernando Oleo Blanco
2021-09-13 18:49 ` Fernando Oleo Blanco
2021-09-13 22:24 ` Dennis Lee Bieber
2021-09-17 17:19 ` Fernando Oleo Blanco
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox