From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8645 invoked by alias); 13 Aug 2002 22:30:45 -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 8633 invoked from network); 13 Aug 2002 22:30:44 -0000 Received: from unknown (HELO zebra.siol.net) (193.189.160.16) by sources.redhat.com with SMTP; 13 Aug 2002 22:30:44 -0000 Received: from BSN-95-200-211.dsl.siol.net ([193.95.200.211]) by zebra.siol.net (InterMail vK.4.03.05.03 201-232-132-103 license 5ac1ec526f2360901e54ffce7671dc4c) with ESMTP id <20020813222851.BXZH28512.zebra@BSN-95-200-211.dsl.siol.net> for ; Wed, 14 Aug 2002 00:28:51 +0200 Subject: breakpoints not working in gdbserver From: Simon Posnjak To: gdb@sources.redhat.com Content-Type: text/plain Content-Transfer-Encoding: 7bit Date: Tue, 13 Aug 2002 15:30:00 -0000 Message-Id: <1029277842.6335.42.camel@klada.dyndns.org> Mime-Version: 1.0 X-SW-Source: 2002-08/txt/msg00134.txt.bz2 Hi all, I'm trying out a cross-debuger for arm/ia32 development. I have build gdb for arm that runs on ia32 (./configure --host=i686-pc-linux-gnu --target=armv4l-unknown-linux --prefix=/usr/local/arm/ --exec-prefix=/usr/local/arm/ --program-prefix=arm-) and gdbserver for arm (sh configure --target=armv4l-unknown-linux). Then I strip the gdbserver and uploade it to the arm based bord and run(access03 is the program I'm trying to debug): # ./gdbserver host:33000 ./access03 Process ./access03 created; pid = 170 On the ia32, I fire up the gdb and do: [root@klada access]# /usr/local/arm/gdb/bin/arm-gdb access03 GNU gdb 20020813 Copyright 2002 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=armv4l-unknown-linux"... (gdb) set solib-absolute-prefix /dev/null (gdb) set solib-search-path /staff2/4pot/buildroot/build/stage/lib (gdb) target remote 10.1.0.2:33000 Remote debugging using 10.1.0.2:33000 0x40000d20 in ?? () (gdb) list 125 120 121 int exp_enos[]={EFAULT, 0}; /* List must end with 0 */ 122 123 char * bad_addr = 0; 124 125 int main(int ac, char **av) 126 { 127 int lc; /* loop counter */ 128 char *msg; /* message returned from parse_opts */ 129 (gdb) br 127 Breakpoint 1 at 0x8fdc: file access03.c, line 127. (gdb) c Continuing. Program received signal SIGILL, Illegal instruction. 0x40002b38 in _dl_debug_state () from /staff2/4pot/buildroot/build/stage/lib/ld-uClibc.so.0 (gdb) bt #0 0x40002b38 in _dl_debug_state () from /staff2/4pot/buildroot/build/stage/lib/ld-uClibc.so.0 #1 0x40001c74 in _dl_parse_copy_information () from /staff2/4pot/buildroot/build/stage/lib/ld-uClibc.so.0 (gdb) The program dies with Illegal instruction - if I run it without gdbserver it is working fine. I'm using a home-made linux system: kernel 2.4.18 uClibc 0.9.14 gcc-2.95.3 Is this maybe a problem with uclibc... or is this problem of gdb(server)? Regards Simon -- Simon Posnjak http://klada.dyndns.org