This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [PATCH] powerpc: 405/440/464/476 support and optimizations
- From: acrux <acrux_it at libero dot it>
- To: "Ryan S. Arnold" <ryan dot arnold at gmail dot com>
- Cc: libc-ports at sourceware dot org
- Date: Sat, 18 Feb 2012 03:09:12 +0100
- Subject: Re: [PATCH] powerpc: 405/440/464/476 support and optimizations
- References: <1283448864.3854.56.camel@gargoyle> <AANLkTi=og_UD=p_GAjPAXn_MeyPUE2v6vjpq1uaQNNj7@mail.gmail.com> <1283526020.3854.77.camel@gargoyle> <1286218436.3679.1.camel@gargoyle> <1292271927.3622.6.camel@localhost.localdomain> <AANLkTi=exjK4EvGG9FoU+iK8W3XjYzWew8q3o_t20URu@mail.gmail.com> <33163939.post@talk.nabble.com> <CADZpyiwX0-Ydc2BVOxohe=+iVgGzHBn6Cra8bhpT28A1-FkeWw@mail.gmail.com> <20120120152428.df02fbc4.acrux_it@libero.it> <CAAKybw9RLGE93P5OQpf0NSd-vmuG+JbHnKAQF8afUAqL9rv5ig@mail.gmail.com> <20120123014224.77d3c1fa.acrux_it@libero.it> <CAAKybw-hY=kFqL=vjM+2KeKW8b5Tm_=FNoaJBXMYpCBc_ShvGw@mail.gmail.com> <20120124174840.c6eb447b.acrux_it@libero.it> <CAAKybw85g9qj6n0cqZOAPTprBvdcqFNAaqPLcK3sgS2b8CovhQ@mail.gmail.com> <20120124184339.a9ca7055.acrux_it@libero.it> <CAAKybw_pVu2_iM+KrNzcuFwtsCdD=bfMCu1=kHJfZ2VguzWT9Q@mail.gmail.com>
On Tue, 24 Jan 2012 11:59:31 -0600
"Ryan S. Arnold" <ryan.arnold@gmail.com> wrote:
> On Tue, Jan 24, 2012 at 11:43 AM, acrux <acrux_it@libero.it> wrote:
> > On Tue, 24 Jan 2012 11:19:54 -0600
> > "Ryan S. Arnold" <ryan.arnold@gmail.com> wrote:
> >
> >> On Tue, Jan 24, 2012 at 10:48 AM, acrux <acrux_it@libero.it> wrote:
> >> > Program received signal SIGINT, Interrupt.
> >> > 0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/build32/libc.so.6
> >> > (gdb) bt
> >> > #0 ?0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/build32/libc.so.6
> >> > #1 ?0x0febb2e4 in __new_exitfn () from /home/999/new/work/src/build32/libc.so.6
> >> > #2 ?0x0febb338 in __internal_atexit () from /home/999/new/work/src/build32/libc.so.6
> >> > #3 ?0x0fea174c in generic_start_main.clone.0 () from /home/999/new/work/src/build32/libc.so.6
> >> > #4 ?0x0fea1970 in __libc_start_main () from /home/999/new/work/src/build32/libc.so.6
> >> > #5 ?0x00000000 in ?? ()
> >>
> >> Wow, that is not what I expected at all...
> >>
> >> I can't imagine that there are other threads at this point but ....
> >> (gdb) info threads
> >>
> >> And if there are, please dump the thread backtrace.
> >>
> >
> >
> > root@sam4x0:/home/999/ryan# CPP='gcc -m32 -E -x -c-header' /usr/bin/gdb -x rpcgen.gdb /home/999/new/work/src/build32/elf/ld.so.1
> > GNU gdb (GDB) 7.3.1
> > Copyright (C) 2011 Free Software Foundation, Inc.
> > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> > This is free software: you are free to change and redistribute it.
> > There is NO WARRANTY, to the extent permitted by law. ?Type "show copying"
> > and "show warranty" for details.
> > This GDB was configured as "powerpc-unknown-linux-gnu".
> > For bug reporting instructions, please see:
> > <http://www.gnu.org/software/gdb/bugs/>...
> > Reading symbols from /home/999/new/work/src/build32/elf/ld.so.1...(no debugging symbols found)...done.
> > Breakpoint 1 at 0x163c0
> >
> > Breakpoint 1, 0x206f73c0 in _dl_main_dispatch () from /home/999/new/work/src/build32/elf/ld.so.1
> > (gdb) info threads
> > ?Id ? Target Id ? ? ? ? Frame
> > * 1 ? ?process 2609 "ld.so.1" 0x206f73c0 in _dl_main_dispatch () from /home/999/new/work/src/build32/elf/ld.so.1
> > (gdb) bt
> > #0 ?0x206f73c0 in _dl_main_dispatch () from /home/999/new/work/src/build32/elf/ld.so.1
> > #1 ?0x00000000 in ?? ()
> > (gdb) continue
> > Continuing.
> > ^C
> > Program received signal SIGINT, Interrupt.
> > 0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/build32/libc.so.6
> > (gdb) bt
> > #0 ?0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/build32/libc.so.6
> > #1 ?0x0febb2e4 in __new_exitfn () from /home/999/new/work/src/build32/libc.so.6
> > #2 ?0x0febb338 in __internal_atexit () from /home/999/new/work/src/build32/libc.so.6
> > #3 ?0x0fea174c in generic_start_main.clone.0 () from /home/999/new/work/src/build32/libc.so.6
> > #4 ?0x0fea1970 in __libc_start_main () from /home/999/new/work/src/build32/libc.so.6
> > #5 ?0x00000000 in ?? ()
> > (gdb) info threads
> > ?Id ? Target Id ? ? ? ? Frame
> > * 1 ? ?process 2609 "ld.so.1" 0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/build32/libc.so.6
> > (gdb) thread apply all bt full
>
> I wonder if one of the string routine calls in the loader overwrote
> its bounds and ended up writing over that lock, hence why the wait is
> hanging.
>
> Can you do an (gdb) info frame and try to figure out what the value of
> the futex is when it's blocking?
>
hi Ryan,
did you performed any further test to understand the problem on 440fp cores?
thanks,
--nico
--
acrux <acrux@cruxppc.org>