Ticket #418 (closed defect: invalid)

Opened 10 years ago

Last modified 10 years ago

lt-visitor_TEST and lt-visitor_cast_TEST fail on PowerPC64

Reported by: corsair Owned by: ciaranm
Priority: MajorRelease Milestone:
Component: core/paludis Version: 0.26.0_alpha2
Keywords: Cc:
Blocked By: Blocking:
Distribution:

Description

Just just wanted to update from 0.24.6 to 0.26.0_alpha2 on ppc64 and ran into this problem:

power3 util # pwd
/var/tmp/paludis/sys-apps/paludis-0.26.0_alpha2/work/paludis-0.26.0_alpha2/paludis/util
power3 util # .libs/lt-visitor_TEST
Test program .libs/lt-visitor_TEST:
* "const visitor": .... OK (1ms)
  (repeat): .... OK (1ms)
* "visitor": .
Test aborted due to segmentation fault!
Stack dump:
  * .libs/lt-visitor_TEST [0x10011e64]
  * .libs/lt-visitor_TEST [0x100126a0]
  * [0x1003e8]
  * [0xfffffb27300]
  * .libs/lt-visitor_TEST [0x1000a518]
  * .libs/lt-visitor_TEST [0x1001073c]
  * .libs/lt-visitor_TEST [0x10010c1c]
  * .libs/lt-visitor_TEST [0x10011ccc]
  * .libs/lt-visitor_TEST [0x100110b8]
  * .libs/lt-visitor_TEST [0x10012a18]
  * /lib/libc.so.6 [0x400003eec6c]
  * /lib/libc.so.6(__libc_start_main-0x13ddd8) [0x400003eef18]
power3 util # .libs/lt-visitor_cast_TEST
Test program .libs/lt-visitor_cast_TEST:
* "visitor_cast<>":
Test aborted due to segmentation fault!
Stack dump:
  * .libs/lt-visitor_cast_TEST [0x1000f9d4]
  * .libs/lt-visitor_cast_TEST [0x10010210]
  * [0x1003e8]
  * .libs/lt-visitor_cast_TEST [0x100052f0]
  * .libs/lt-visitor_cast_TEST [0x1000756c]
  * .libs/lt-visitor_cast_TEST [0x1000e2ac]
  * .libs/lt-visitor_cast_TEST [0x1000e78c]
  * .libs/lt-visitor_cast_TEST [0x1000f83c]
  * .libs/lt-visitor_cast_TEST [0x1000ec28]
  * .libs/lt-visitor_cast_TEST [0x10010588]
  * /lib/libc.so.6 [0x400003eec6c]
  * /lib/libc.so.6(__libc_start_main-0x13ddd8) [0x400003eef18]
power3 util #

backtrace from lt-visitor_TEST:

#0  0x0000000010004b04 in .paludis::visitor_internals::TreeLeaf<(anonymous namespace)::NodeVisitorTypes, (anonymous namespace)::FooNode>::real_mutable_accept(paludis::visitor_internals::Visitor<(anonymous namespace)::NodeVisitorTypes>&) ()
#1  0x000000001000a518 in .test_cases::VisitorTest::run() ()
#2  0x000000001001073c in .test::TestCase::call_run() ()
#3  0x0000000010010c1c in .RunTest::operator()(test::TestCase*) const ()
#4  0x0000000010011ccc in .RunTest std::for_each<std::_List_iterator<test::TestCase*>, RunTest>(std::_List_iterator<test::TestCase*>, std::_List_iterator<test::TestCase*>, RunTest) ()
#5  0x00000000100110b8 in .test::TestCaseList::run_tests() ()
#6  0x0000000010012a18 in .main ()

backtrace from lt-visitor_cast_TEST:

#0  0x0000000010005320 in .(anonymous namespace)::FooNode const* paludis::visitor_cast<(anonymous namespace)::FooNode const, paludis::visitor_internals::ConstAcceptInterface<(anonymous namespace)::NodeVisitorTypes> >(paludis::visitor_internals::ConstAcceptInterface<(anonymous namespace)::NodeVisitorTypes> const&) ()
#1  0x000000001000756c in .test_cases::VisitorCastTest::run() ()
#2  0x000000001000e2ac in .test::TestCase::call_run() ()
#3  0x000000001000e78c in .RunTest::operator()(test::TestCase*) const ()
#4  0x000000001000f83c in .RunTest std::for_each<std::_List_iterator<test::TestCase*>, RunTest>(std::_List_iterator<test::TestCase*>, std::_List_iterator<test::TestCase*>, RunTest) ()
#5  0x000000001000ec28 in .test::TestCaseList::run_tests() ()
#6  0x0000000010010588 in .main ()

some versions:

gcc version 4.2.2 (Gentoo 4.2.2 p1.0) GNU C Library stable release version 2.6.1 GNU ld (GNU Binutils) 2.18

Change History

comment:1 Changed 10 years ago by ciaranm

Can you build with lots and lots of debug information please?

comment:2 Changed 10 years ago by corsair

ok. give me a day or two. Due to gcc bug #31899 I currently cannot compile with -g, so I have to use gcc 4.1.1, but if I select gcc 4.1.1 paludis won't work anymore (libstdc++.so.6: version `GLIBCXX_3.4.9' not found). So I need to setup a gcc-4.1.1 chroot first or get a patched gcc-4.2.2.

comment:3 Changed 10 years ago by ciaranm

I use this for compiling with other GCC versions. You may be able to adapt it... Might be quicker than a chroot:

export CC=g++-4.2.0 CXX=g++-4.2.0 CXXFLAGS="-O2 -march=athlon-xp -g -D__CIARANM_WAS_HERE__" LDFLAGS="-Wl,--as-needed" LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/4.2.0" STDCXX_INCDIR="g++-v4" GCC_PATH="/usr/i686-pc-linux-gnu/gcc-bin/4.2.0" LD_LIBRARY_PATH="/usr/lib/gcc/i686-pc-linux-gnu/4.2.0"

comment:4 Changed 10 years ago by corsair

  • Status changed from new to closed
  • Resolution set to invalid

thanks! that helped a lot!

paludis 0.26.0_alpha2 compiles and works with gcc 4.1.2. Yet another reason to keep gcc 4.2.2 ~ppc64. ;-)

Thanks for your help. Mark bug as invalid.

Note: See TracTickets for help on using tickets.