Bug#333766: libc6: SIGBUS in libm on hppa breaks qt-x11-free
Daniel Jacobowitz a écrit :
On Thu, Oct 13, 2005 at 09:17:21PM -0600, Grant Grundler wrote:
On Thu, Oct 13, 2005 at 08:54:30PM -0400, Daniel Jacobowitz wrote:
drow is right, as usual. our fenv_t needs to be defined with
__attribute__((aligned(8))) or similar.
I'd recommend "fixing" the asm instead: that's an ABI change and would
require heinous rebuilds.
Sorry - I'm not following. The Application *Binary* Interface was
providing 8 byte alignment with gcc 3.4, right?
Why is it breaking the ABI if we tell gcc 4.0 to do the same?
No, the _type_ fenv_t is documented to have 4 byte alignment. In both.
In 3.4 you got lucky and it was usually placed at 8.
Ok, that's mean that theoretically it would break the ABI, but
practically, it does not break the ABI as the alignment is the same
(otherwise we would also have noticed SIGBUS in other applications).
Said in other words, applications with 4-byte aligned fenv_t variables
are not working (SIGBUS), so it won't hurt to break the ABI in that
case, as the applications have to be rebuilt anyway to fix the problem.
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' firstname.lastname@example.org | email@example.com
`- people.debian.org/~aurel32 | www.aurel32.net