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.