svn commit: r206424 - head/usr.bin/xlint/lint1
Bruce Evans
brde at optusnet.com.au
Sun Apr 11 10:13:44 UTC 2010
On Sun, 11 Apr 2010, Roman Divacky wrote:
> On Sun, Apr 11, 2010 at 07:16:12PM +1000, Bruce Evans wrote:
>> .... However2, the system ALIGN() on
>> amd64 doesn't know the correct alignment either (both essentially had
>> 64 bits hard-coded). Now xlint uses a different hard-coded alignment
>> (128 bits).
>
> so you suggest fixing the ALIGN on amd64? ie. to make it 128bit?
It's an ABI change, thus needs careful release engineering. _ALIGN
(= ALIGN) is used in the CMSG ABI in <sys/socket.h> so I think would
affect public ABIs.
amd64 has a strict ABI which I think involves 128-byte alignment for
long doubles (not sure if it specifies anything for non-C things like
copies of SSE registers). The system should have a macro to support
the maximal alignment and it is easiest to use ALIGN() for this
(otherwise you would need a new macro for this and keep ALIGN() for
pointers and longs...).
Bruce
More information about the svn-src-all
mailing list