[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#333766: libc6: SIGBUS in libm on hppa breaks qt-x11-free



On Thu, Oct 13, 2005 at 07:26:43PM +0200, Aurelien Jarno wrote:

> When looking at the assembly code generated with gcc-3.3/gcc-3.4 and 
> with gcc-4.0, I see some differences:

> source code:
>   __asm__ (
>            "fstd,ma %%fr0,8(%1)\n"
>            "fstd,ma %%fr1,8(%1)\n"
>            "fstd,ma %%fr2,8(%1)\n"
>            "fstd,ma %%fr3,8(%1)\n"
>            : "=m" (*_regs), "+r" (_regs));

> gcc-3.3/gcc-3.4 (code working correctly):
>    10624:       2e 91 10 23     fldd,ma -8(,r20),fpe6
>    10628:       2e 91 10 22     fldd,ma -8(,r20),fpe4
>    1062c:       2e 91 10 21     fldd,ma -8(,r20),fpe2
>    10630:       2e 91 30 20     fldd,mb -8(,r20),fr0

> gcc-4.0 (SIGBUS):
>    1062c:       2f 91 10 23     fldd,ma -8(,ret0),fpe6
>    10630:       2f 91 10 22     fldd,ma -8(,ret0),fpe4
>    10634:       2f 91 10 21     fldd,ma -8(,ret0),fpe2
>    10638:       2f 91 30 20     fldd,mb -8(,ret0),fr0

> I also don't speak hppa assembly, but it is obvious that the code does 
> not use the same registers. Maybe the bug is in gcc which generates 
> wrong code? At least the same source code built with gcc-3.3 and gcc-3.4 
> is working correctly.

No, it isn't:

glibc (2.3.5-6.0.1) unstable; urgency=low

  * On hppa, build using gcc-3.4.

 -- Matthias Klose <doko@debian.org>  Sat, 17 Sep 2005 10:55:42 +0000

This is the version of libc6 running on the buildd and in paer's unstable
chroot where I reproduced the error.  So glibc is known to have problems on
hppa when built with gcc-4.0, but this doesn't appear to be one of them.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
vorlon@debian.org                                   http://www.debian.org/

Attachment: signature.asc
Description: Digital signature


Reply to: