From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31066 invoked by alias); 21 Jul 2003 16:24:07 -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 31055 invoked from network); 21 Jul 2003 16:24:06 -0000 Received: from unknown (HELO smtp1.legato.com) (137.69.200.1) by sources.redhat.com with SMTP; 21 Jul 2003 16:24:06 -0000 Received: from mta1.legato.com (mta1.legato.com [137.69.1.14]) by smtp1.legato.com (Switch-3.0.4/Switch-3.0.0) with ESMTP id h6LGNkgi003813; Mon, 21 Jul 2003 09:23:46 -0700 (PDT) Received: from PA-MAIL.legato.com (wahoo.legato.com [137.69.23.46]) by mta1.legato.com (Switch-3.0.4/Switch-3.0.0) with ESMTP id h6LGNjDe001130; Mon, 21 Jul 2003 09:23:45 -0700 (PDT) Received: from legato.com (137.69.20.120 [137.69.20.120]) by PA-MAIL.legato.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2653.13) id N671F7QB; Mon, 21 Jul 2003 09:23:42 -0700 Message-ID: <3F1C1388.2070204@legato.com> Date: Mon, 21 Jul 2003 16:24:00 -0000 From: Chuck Aude User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Andrew Cagney CC: gdb@sources.redhat.com Subject: Re: gdb & 64-bit Solaris - does it work? References: <3F1819F0.2060606@legato.com> <3F186B9E.5060100@redhat.com> In-Reply-To: <3F186B9E.5060100@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2003-07/txt/msg00268.txt.bz2 Andrew Cagney wrote: >> Has anyone had any luck getting any version of gdb to work on a >> 64-bit Solaris 7 binary built with gcc 3.2? I have tried both gdb-5.3 >> and gdb-6.0 (last night's CVS image) and end up with the same "Cannot >> insert breakpoint" error. Searching the gdb mailing list, reveals >> many other people getting the same error and the gdb bug database has >> several bugs related to this. >> >> Does gdb support debugging 64-bit Solaris binaries or am I trying to >> make it do something it can't do? >> >> Here's another example of the error: >> >> [caude@phobos]$ more hello.c >> #include >> >> int >> main(int argc, char **argv) >> { >> printf ("Hello World\n"); >> } >> [caude@phobos]$ gcc-3.2 -m64 -g -o hello hello.c >> [caude@phobos]$ gdb64-5.3 hello >> GNU gdb 5.3 >> 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 "sparc-sun-solaris2.7"... >> (gdb) run >> Starting program: /home/jupiter8/caude/hello >> Hello World >> >> Program exited with code 014. >> (gdb) br main >> Breakpoint 1 at 0x860: file hello.c, line 6. > > > Is main really at 0x860? What does nm indicate? No it is not. It looks gdb is trying to insert the breakpoint at the wrong address: [caude@phobos /home/jupiter8/caude]$ gcc-3.2 -g -m64 -o hello hello.c [caude@phobos /home/jupiter8/caude]$ nm -t x hello | grep main [79] |0x000100000850|0x000000000040|FUNC |GLOB |0 |9 |main [caude@phobos /home/jupiter8/caude]$ gdb64-5.3 hello GNU gdb 5.3 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 "sparc-sun-solaris2.7"... (gdb) br main Breakpoint 1 at 0x860: file hello.c, line 6. >> (gdb) run >> Starting program: /home/jupiter8/caude/hello >> Warning: >> Cannot insert breakpoint 1. >> Error accessing memory address 0x860: I/O error. >> The same program may be running in another process. >> (gdb) q >> The program is running. Exit anyway? (y or n) y > > > Was GDB configured with: > CC="gcc -m64" .../configure > before the build? It oterwize won't groak a 64 bit binary. Yes, that is exactly how we built gdb. > I people are noticing bugs in the sparc but not much is happening to > fix them :-( > > Andrew It appears that the problem may be with gcc v3.2. I was able use gcc v3.3 and debug a 64-bit test binary using gdb v5.3 without any problems... - Chuck