From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 947 invoked by alias); 24 Jan 2012 17:59:49 -0000 Received: (qmail 927 invoked by uid 22791); 24 Jan 2012 17:59:46 -0000 X-SWARE-Spam-Status: No, hits=0.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-bk0-f41.google.com (HELO mail-bk0-f41.google.com) (209.85.214.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 24 Jan 2012 17:59:33 +0000 Received: by bkbzx1 with SMTP id zx1so4106532bkb.0 for ; Tue, 24 Jan 2012 09:59:32 -0800 (PST) MIME-Version: 1.0 Received: by 10.204.152.201 with SMTP id h9mr5533244bkw.105.1327427972153; Tue, 24 Jan 2012 09:59:32 -0800 (PST) Received: by 10.204.59.135 with HTTP; Tue, 24 Jan 2012 09:59:31 -0800 (PST) In-Reply-To: <20120124184339.a9ca7055.acrux_it@libero.it> References: <1283448864.3854.56.camel@gargoyle> <1283526020.3854.77.camel@gargoyle> <1286218436.3679.1.camel@gargoyle> <1292271927.3622.6.camel@localhost.localdomain> <33163939.post@talk.nabble.com> <20120120152428.df02fbc4.acrux_it@libero.it> <20120123014224.77d3c1fa.acrux_it@libero.it> <20120124174840.c6eb447b.acrux_it@libero.it> <20120124184339.a9ca7055.acrux_it@libero.it> Date: Tue, 24 Jan 2012 17:59:00 -0000 Message-ID: Subject: Re: [PATCH] powerpc: 405/440/464/476 support and optimizations From: "Ryan S. Arnold" To: acrux Cc: libc-ports@sourceware.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org X-SW-Source: 2012-01/txt/msg00046.txt.bz2 On Tue, Jan 24, 2012 at 11:43 AM, acrux wrote: > On Tue, 24 Jan 2012 11:19:54 -0600 > "Ryan S. Arnold" wrote: > >> On Tue, Jan 24, 2012 at 10:48 AM, acrux wrote: >> > Program received signal SIGINT, Interrupt. >> > 0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/b= uild32/libc.so.6 >> > (gdb) bt >> > #0 =C2=A00x0ff70c80 in __lll_lock_wait_private () from /home/999/new/w= ork/src/build32/libc.so.6 >> > #1 =C2=A00x0febb2e4 in __new_exitfn () from /home/999/new/work/src/bui= ld32/libc.so.6 >> > #2 =C2=A00x0febb338 in __internal_atexit () from /home/999/new/work/sr= c/build32/libc.so.6 >> > #3 =C2=A00x0fea174c in generic_start_main.clone.0 () from /home/999/ne= w/work/src/build32/libc.so.6 >> > #4 =C2=A00x0fea1970 in __libc_start_main () from /home/999/new/work/sr= c/build32/libc.so.6 >> > #5 =C2=A00x00000000 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=3D'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 > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. =C2=A0Type "show co= pying" > and "show warranty" for details. > This GDB was configured as "powerpc-unknown-linux-gnu". > For bug reporting instructions, please see: > ... > Reading symbols from /home/999/new/work/src/build32/elf/ld.so.1...(no deb= ugging 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 > =C2=A0Id =C2=A0 Target Id =C2=A0 =C2=A0 =C2=A0 =C2=A0 Frame > * 1 =C2=A0 =C2=A0process 2609 "ld.so.1" 0x206f73c0 in _dl_main_dispatch (= ) from /home/999/new/work/src/build32/elf/ld.so.1 > (gdb) bt > #0 =C2=A00x206f73c0 in _dl_main_dispatch () from /home/999/new/work/src/b= uild32/elf/ld.so.1 > #1 =C2=A00x00000000 in ?? () > (gdb) continue > Continuing. > ^C > Program received signal SIGINT, Interrupt. > 0x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work/src/buil= d32/libc.so.6 > (gdb) bt > #0 =C2=A00x0ff70c80 in __lll_lock_wait_private () from /home/999/new/work= /src/build32/libc.so.6 > #1 =C2=A00x0febb2e4 in __new_exitfn () from /home/999/new/work/src/build3= 2/libc.so.6 > #2 =C2=A00x0febb338 in __internal_atexit () from /home/999/new/work/src/b= uild32/libc.so.6 > #3 =C2=A00x0fea174c in generic_start_main.clone.0 () from /home/999/new/w= ork/src/build32/libc.so.6 > #4 =C2=A00x0fea1970 in __libc_start_main () from /home/999/new/work/src/b= uild32/libc.so.6 > #5 =C2=A00x00000000 in ?? () > (gdb) info threads > =C2=A0Id =C2=A0 Target Id =C2=A0 =C2=A0 =C2=A0 =C2=A0 Frame > * 1 =C2=A0 =C2=A0process 2609 "ld.so.1" 0x0ff70c80 in __lll_lock_wait_pri= vate () 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? Ryan Ryan