Subject: Re: ancillary data alignment and binary backward compatibility
To: Jun-ichiro itojun Hagino <itojun@iijlab.net>
From: Chris G. Demetriou <cgd@netbsd.org>
List: tech-net
Date: 03/27/2000 23:51:37
Jun-ichiro itojun Hagino <itojun@iijlab.net> writes:
> > I thought again about it, and I think I'm really stuck.
> > What level of binary backward compatibility do we need to provide
> > in such situation?
>
> another thing: name space poluttion if we include machine/param.h
> from sys/socket.h. if we include machine/param.h from within
> sys/socket.h, ALIGN() will be declared. unproven-pthreads 1.2 will
> not be compiled by name conflict, for example.
Uh, OK, so, if you need namespace-protected versions or something...
the need to provide _'d versions of constants in header files
shouldn't prevent you from keeping the ABI compatible!
also, is the issue that unproven-pthreads compiles with some flag that
mandates that the headers behave in standard ways? or is it that it
makes certain assumptions about the non-standard contents in header
files?
if the former, well, a layer of indirection (__ALIGN/__ALIGNBYTES, or
whatever, then define ALIGN and ALIGNBYTES only if !POSIX_SOURCE or
whatever).
if the latter, well, it doesn't have much right to make assumptions
about non-standard contents of header files, and so it's not really an
issue. 8-)
cgd
--
Chris Demetriou - cgd@netbsd.org - http://www.netbsd.org/People/Pages/cgd.html
Disclaimer: Not speaking for NetBSD, just expressing my own opinion.