From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18450 invoked by alias); 21 Feb 2004 01:13:43 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 18443 invoked from network); 21 Feb 2004 01:13:42 -0000 Received: from unknown (HELO msrvr.intellambda.com) (207.5.82.234) by sources.redhat.com with SMTP; 21 Feb 2004 01:13:42 -0000 Message-ID: <4036B0DD.9030409@intellambda.com> Date: Sat, 21 Feb 2004 01:13:00 -0000 From: Albert Ho MIME-Version: 1.0 To: gdb@sources.redhat.com Subject: gdbserver(ppc) segv on continue from gdb(x86) - v6.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-02/txt/msg00301.txt.bz2 gdb version is 6.0. ppc kernel 2.4.18. linux-ppc-gcc is 2.95.3. cross compiled from x86. gdbserver on PPC8270 has segv when continue from gdb(x86): The backtrace ============= This GDB was configured as "--host=ppc-linux --target=powerpc-linux"... Core was generated by `gdbserver :5000 foo'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libthread_db.so.1...done. Loaded symbols for /lib/libthread_db.so.1 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 #0 td_thr_get_info (th=0xf4240, infop=0x7ffff398) at td_thr_get_info.c:35 35 td_thr_get_info.c: No such file or directory. in td_thr_get_info.c (gdb) bt #0 td_thr_get_info (th=0xf4240, infop=0x7ffff398) at td_thr_get_info.c:35 #1 0x10007044 in find_new_threads_callback (th_p=0xf4240, data=0x7ffff398) at thread-db.c:289 #2 0x10006dd0 in thread_db_create_event (where=4294969443480472) at thread-db.c:162 #3 0x10004a70 in check_breakpoints (stop_pc=4294969443480472) at mem-break.c:201 #4 0x100059f4 in linux_wait_for_event (child=0x0) at linux-low.c:541 #5 0x10005b58 in linux_wait (status=0x7ffffd78 "T\005D") at linux-low.c:645 #6 0x100041ac in mywait (statusp=0xf4240
, connected_wait=2147480472) at target.c:97 #7 0x10003764 in main (argc=3, argv=0x7ffffdf4) at server.c:312 #8 0x0fee66c4 in __libc_start_main (argc=3, argv=0x7ffffdf4, envp=0x7ffffe04, auxvec=0x7ffffe3c, rtld_fini=0xf4240, stinfo=0x10007310, stack_on_entry=0x7ffff450) at ../sysdeps/powerpc/elf/libc-start.c:106 The question ============ The interesting thing is, gdb(x86) can stop/continue gdbserver(8270) if place gdbserver under gdb on the PPC 8270. i.e. $ gdb gdbserver $ run :5000 foo Is there a race condition in gdbserver in fetching thread info? Thanks Albert