Subject: Re: ancillary data alignment and binary backward compatibility
To: Jun-ichiro itojun Hagino <>
From: Chris G. Demetriou <>
List: tech-net
Date: 03/27/2000 23:51:37
Jun-ichiro itojun Hagino <> 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

if the former, well, a layer of indirection (__ALIGN/__ALIGNBYTES, or
whatever, then define ALIGN and ALIGNBYTES only if !POSIX_SOURCE or

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-)

Chris Demetriou - -
Disclaimer: Not speaking for NetBSD, just expressing my own opinion.