From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 579 invoked by alias); 2 Sep 2003 11:57:10 -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 323 invoked from network); 2 Sep 2003 11:56:46 -0000 Received: from unknown (HELO mailout2.samsung.com) (203.254.224.25) by sources.redhat.com with SMTP; 2 Sep 2003 11:56:46 -0000 Received: from custom-daemon.mailout2.samsung.com by mailout2.samsung.com (iPlanet Messaging Server 5.2 HotFix 1.17 (built Jun 23 2003)) id <0HKL0010156EPX@mailout2.samsung.com> for gdb@sources.redhat.com; Tue, 02 Sep 2003 20:56:38 +0900 (KST) Received: from ep_mmp1 (localhost [127.0.0.1]) by mailout2.samsung.com (iPlanet Messaging Server 5.2 HotFix 1.17 (built Jun 23 2003)) with ESMTP id <0HKL004OR56DJF@mailout2.samsung.com> for gdb@sources.redhat.com; Tue, 02 Sep 2003 20:56:38 +0900 (KST) Received: from [107.108.3.145] by mmp1.samsung.com (iPlanet Messaging Server 5.2 HotFix 1.17 (built Jun 23 2003)) with ESMTPA id <0HKL00EVN56AX9@mmp1.samsung.com> for gdb@sources.redhat.com; Tue, 02 Sep 2003 20:56:37 +0900 (KST) Date: Tue, 02 Sep 2003 11:57:00 -0000 From: Balarama Krishna Subject: Re: pthread_create, Program received signal ?, Unknown signal In-reply-to: <20030901162616.GB7465@nevyn.them.org> To: Daniel Jacobowitz Cc: gdb@sources.redhat.com Message-id: <1062503415.1343.204.camel@Lotus> Organization: MIME-version: 1.0 Content-type: text/plain Content-transfer-encoding: 7BIT References: <1062421948.1343.136.camel@Lotus> <20030901162616.GB7465@nevyn.them.org> X-SW-Source: 2003-09/txt/msg00010.txt.bz2 > You seem to be using glibc 2.3.x. Am I right? > > If so, try CVS gdb instead. A change in the definition of SIGRTMIN > causes this symptom. > I got the latest CVS and built the gdb and gdbserver. I am getting the following problem which is similar to the following http://sources.redhat.com/ml/gdb/2002-12/msg00055.html THE PROBLEM DESCRIPTION ======================= CASE 1 ------ Following is the screen shot while the multi-threaded application is built statically $ arm-linux-gcc -g threads.c -o threads-static -lpthread --static /%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/ GNU gdb 5.3.90_2003-09-02-cvs Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux". (gdb) set solib-absolute-prefix /dev/null (gdb) set solib-search-path /home/balaram/links_to_lib_dir/lib (gdb) file threads-static Reading symbols from threads-static...done. (gdb) target remote 107.108.3.197:2020 107.108.3.197:2020: Connection refused. (gdb) target remote 107.108.3.197:2020 Remote debugging using 107.108.3.197:2020 0x000080e0 in _start () (gdb) b 9 Breakpoint 1 at 0x81f8: file threads.c, line 9. (gdb) b 16 Breakpoint 2 at 0x8240: file threads.c, line 16. (gdb) b 25 Breakpoint 3 at 0x8294: file threads.c, line 25. (gdb) cont Continuing. [New Thread 16384] [Switching to Thread 16384] Breakpoint 1, main () at threads.c:9 9 if ( pthread_create(&thread_id, NULL, call_back, NULL) != 0){ (gdb) n [New Thread 16386] [Switching to Thread 16386] Breakpoint 3, call_back (arg=0x0) at threads.c:25 25 printf("Thread Loop count (%d) \n", count); (gdb) n [Switching to Thread 16384] Breakpoint 2, main () at threads.c:16 16 printf("Main Thread Count (%d) \n", count); (gdb) n 14 count++; (gdb) n [Switching to Thread 16386] Breakpoint 3, call_back (arg=0x0) at threads.c:25 25 printf("Thread Loop count (%d) \n", count); (gdb) n [Switching to Thread 16384] Breakpoint 2, main () at threads.c:16 16 printf("Main Thread Count (%d) \n", count); (gdb) n 14 count++; (gdb) n [Switching to Thread 16386] Breakpoint 3, call_back (arg=0x0) at threads.c:25 25 printf("Thread Loop count (%d) \n", count); (gdb) n [Switching to Thread 16384] Breakpoint 2, main () at threads.c:16 16 printf("Main Thread Count (%d) \n", count); (gdb) n 14 count++; (gdb) n [Switching to Thread 16386] Breakpoint 3, call_back (arg=0x0) at threads.c:25 25 printf("Thread Loop count (%d) \n", count); (gdb) q The program is running. Exit anyway? (y or n) y /%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/ CASE 2 ------ Following is the screen shot when the multi-threaded application is built with shared libraries $ arm-linux-gcc -g threads.c -o threads-shared -lpthread /%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/ GNU gdb 5.3.90_2003-09-02-cvs Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux". (gdb) set solib-absolute-prefix /dev/null (gdb) set solib-search-path /home/balaram/links_to_lib_dir/lib (gdb) file threads-shared Reading symbols from threads-shared...done. (gdb) target remote 107.108.3.197:2020 Remote debugging using 107.108.3.197:2020 0x40002560 in ?? () (gdb) b 9 Breakpoint 1 at 0x84d0: file threads.c, line 9. (gdb) b 16 Breakpoint 2 at 0x8518: file threads.c, line 16. (gdb) b 25 Breakpoint 3 at 0x856c: file threads.c, line 25. (gdb) cont Continuing. Breakpoint 1, main () at threads.c:9 9 if ( pthread_create(&thread_id, NULL, call_back, NULL) != 0){ (gdb) n Program received signal SIG32, Real-time event 32. 0x4005b3a4 in ?? () (gdb) c Continuing. Breakpoint 2, main () at threads.c:16 16 printf("Main Thread Count (%d) \n", count); (gdb) c Continuing. Breakpoint 2, main () at threads.c:16 16 printf("Main Thread Count (%d) \n", count); (gdb) c Continuing. Breakpoint 2, main () at threads.c:16 16 printf("Main Thread Count (%d) \n", count); (gdb) c Continuing. Program received signal SIGTRAP, Trace/breakpoint trap. 0x400b52b4 in ?? () (gdb) /%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/ Conclusions =========== 1. Application runs successfully on the target without debugging, in both the cases 2. So, it seems there is a problem on the HOST side in loading the shared libraries. I kept the shared libraries (not stripped) in /home/balaram/links_to_lib_dir/lib and set the parameters, solib-absolute-prefix and solib-search-path as shown above Following is the screen shot of the shared libraries on the HOST Side, even the same set of libraries are used on the Target. /&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/ -rwxr-xr-x 1 balaram balaram 1093314 Sep 2 15:50 ld-2.3.1.so lrwxrwxrwx 1 balaram balaram 11 Sep 2 15:56 ld-linux.so.2 -> ld-2.3.1.so -rwxr-xr-x 1 balaram balaram 17257712 Sep 2 15:51 libc-2.3.1.so -rwxr-xr-x 1 balaram balaram 97137 Sep 2 15:51 libcrypt-2.3.1.so lrwxrwxrwx 1 balaram balaram 17 Sep 2 15:56 libcrypt.so.1 -> libcrypt-2.3.1.so lrwxrwxrwx 1 balaram balaram 13 Sep 2 15:56 libc.so.6 -> libc-2.3.1.so -rwxr-xr-x 1 balaram balaram 65798 Sep 2 15:51 libdl-2.3.1.so lrwxrwxrwx 1 balaram balaram 14 Sep 2 15:56 libdl.so.2 -> libdl-2.3.1.so -rwxr-xr-x 1 balaram balaram 2152488 Sep 2 15:51 libm-2.3.1.so lrwxrwxrwx 1 balaram balaram 13 Sep 2 15:57 libm.so.6 -> libm-2.3.1.so -rwxr-xr-x 1 balaram balaram 1269102 Sep 2 15:52 libnsl-2.3.1.so lrwxrwxrwx 1 balaram balaram 15 Sep 2 15:58 libnsl.so.1 -> libnsl-2.3.1.so -rwxr-xr-x 1 balaram balaram 94819 Sep 2 15:52 libnss_dns-2.3.1.so lrwxrwxrwx 1 balaram balaram 19 Sep 2 15:58 libnss_dns.so.2 -> libnss_dns-2.3.1.so -rwxr-xr-x 1 balaram balaram 418842 Sep 2 15:52 libnss_files-2.3.1.so lrwxrwxrwx 1 balaram balaram 21 Sep 2 15:59 libnss_files.so.2 -> libnss_files-2.3.1.so -rwxr-xr-x 1 balaram balaram 1065737 Sep 2 15:52 libpthread-0.10.so lrwxrwxrwx 1 balaram balaram 18 Sep 2 15:59 libpthread.so.0 -> libpthread-0.10.so -rwxr-xr-x 1 balaram balaram 503941 Sep 2 15:52 libresolv-2.3.1.so lrwxrwxrwx 1 balaram balaram 18 Sep 2 15:59 libresolv.so.2 -> libresolv-2.3.1.so -rwxr-xr-x 1 balaram balaram 1093631 Sep 2 15:52 libthread_db-1.0.so lrwxrwxrwx 1 balaram balaram 19 Sep 2 15:59 libthread_db.so -> libthread_db-1.0.so lrwxrwxrwx 1 balaram balaram 19 Sep 2 15:59 libthread_db.so.1 -> libthread_db-1.0.so -rwxr-xr-x 1 balaram balaram 84505 Sep 2 15:53 libutil-2.3.1.so lrwxrwxrwx 1 balaram balaram 16 Sep 2 16:00 libutil.so.1 -> libutil-2.3.1.so /&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/ Still, Am I missing anything out here???? Thanks and Regards, Balaram.