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

Bug#554574: libstdc++6: apt segfaults on hppa



On Mon, Nov 23, 2009 at 08:17:03AM -0500, Carlos O'Donell wrote:
> On Mon, Nov 23, 2009 at 5:22 AM, Aurelien Jarno <aurelien@aurel32.net> wrote:
> > Carlos O'Donell a écrit :
> >> On Sun, Nov 22, 2009 at 5:05 PM, John David Anglin
> >> <dave@hiauly1.hia.nrc.ca> wrote:
> >>>> While I set out the glibc types exactly as before (binary compatible),
> >>>> the alignment restrictions were changed subtly.
> >>> Excellent debugging!
> >>
> >> I have adjusted the glibc lock structure alignments to try and match
> >> more accurately the original alignment restrictions.
> >>
> >> I have built a glibc with the new headers, and installed that into my
> >> test system.
> >>
> >> I'm now rebuilding libstdc++6 against the new headers to determine if
> >> this fixes the problem.
> >>
> >> I will have results by tomorrow.
> >>
> >
> > Thanks a lot for the investigation, I really hope this will work.
> 
> It worked. I now see 0xb0 as the object offset, which gives a
> compatible object layout for the libstdc++ iostream classes.
> 
> (gdb) x/16x $ret0 - 0xc
> 0x409a6f38 <_ZTCSt14basic_ifstreamIcSt11char_traitsIcEE0_Si>:
> 0x000000b0      0x00000000      0x409a72f0      0x401b2b96
> 0x409a6f48 <_ZTCSt14basic_ifstreamIcSt11char_traitsIcEE0_Si+16>:
>  0x401b2b9e      0xffffff50      0xffffff50      0x409a72f0
> 0x409a6f58 <_ZTCSt14basic_ifstreamIcSt11char_traitsIcEE0_Si+32>:
>  0x401b2ba6      0x401b2bae      0x00000000      0x409a6ff4
> 0x409a6f68 <_ZTVSt13basic_filebufIcSt11char_traitsIcEE+8>:
> 0x401b2e6e      0x401b2e76      0x401b2e7e      0x401b2e86
> 
> I can successfully run apt-get with the new libstdc++6 that I just built.

Nice work :)

> The testsuite result is cleaner:
> ~~~
> FAIL: 29_atomics/atomic_flag/clear/1.c execution test
> FAIL: 29_atomics/atomic_flag/test_and_set/explicit.c execution test
> 
>                 === libstdc++ Summary ===
> 
> # of expected passes            5880
> # of unexpected failures        2
> # of expected failures          80
> # of unsupported tests          331
> ~~~
> 
> I am still building with
> ~~~
> # Disable cloog/ppl and pch on hppa.
> ifneq (,$(findstring $(DEB_TARGET_ARCH), hppa))
>   CONFARGS += --without-ppl --without-cloog --disable-libstdcxx-pch
> endif
> ~~~
> However, I don't think this made any difference.
> 
> Next steps:
> (1) Wait for testsuite results to finish completely. Verify nothing
> has regressed.
> (2) Remove changes to gcc package debian/rules2 and re-run validation.
> (3) In parallel provide new patch to debian-glibc to fix alignment
> issues with pthread types.
> (4) Ask debian-glibc team to run a build and look for testsuite regressions.
> 
> If the test results for (2) and (4) are clean, then I will give the
> green light for a new glibc to be uploaded. This will fix the
> libstdc++6 issues.

I guess there is a fifth step need:
(5) rebuild gcc-4.4 against the fixed glibc.

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net



Reply to: