Subject: Re: 64-bit ABIs
To: Bill Studenmund <wrstuden@netbsd.org>
From: Ben Harris <bjh21@netbsd.org>
List: tech-userlevel
Date: 04/29/2003 22:36:16
On Tue, 29 Apr 2003, Bill Studenmund wrote:

> On Tue, 29 Apr 2003, Ben Harris wrote:
>
> > At the moment, the return type of inet_addr() in NetBSD is unsigned long.
> > In version 2 of the Single Unix Standard, and now POSIX, it's specified as
> > in_addr_t, which is equivalent to uint32_t.  Fixing this would obviously
> > cause no problems on ILP32 systems, but I can imagine it might upset LP64
> > ones.
> >
> > So, my question is:  are there any systems on which the ABI differs for
> > functions which return uint32_t as opposed to unsigned long?  For the
> > obvious implementation (function return value in a register), I'd expect
> > not, but I'd like confirmation of this so I can decide how to proceed.
>
> Uhm, I'm confused. Isn't the right way to do this using RENAME magic?
> Thus it won't matter?

<FX: checks closely> I _think_ RENAME is powerful enough, yes.  I'd prefer
to avoid it if possible, though, since it always seems to cause pain as
users update header files before they've updated libc and then find they
can't link anything.

-- 
Ben Harris                                                   <bjh21@netbsd.org>
Portmaster, NetBSD/acorn26           <URL:http://www.netbsd.org/Ports/acorn26/>