FYI: SIGBUS with world built by clang
Dimitry Andric
dim at FreeBSD.org
Wed Jul 4 15:08:31 UTC 2012
On 2012-07-04 16:33, Taku YAMAMOTO wrote:
> For people having SIGBUS with clang-build world + gcc-build binaries,
>
>
> In short words, for any libraries (and never forget about rtld-elf!)
> which are potentially called from arbitrary binaries,
> compile them with either -mstackrealign or -mstack-alignment=8!
>
> The detail is as follows.
>
> I've observed that clang carelessly expects the stack being aligned at
> 16 byte boundary.
Eh, this is a requirement of the amd64 ABI. Any compiler that *doesn't*
align the stack on 16-byte boundaries is basically broken. Or are you
experiencing this on i386? Even there, 16-byte alignment would be much
better in combination with SSE instructions (which arent' enabled by
default, btw).
Note that you would get the same issue with newer versions of gcc, which
will also assume this alignment.
More information about the freebsd-current
mailing list