On Mon, Nov 23, 2009 at 5:22 AM, Aurelien Jarno <aurel...@aurel32.net> wrote: > Carlos O'Donell a écrit : >> On Sun, Nov 22, 2009 at 5:05 PM, John David Anglin >> <d...@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. 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. Cheers, Carlos. -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org