Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 02 Apr 2001 10:06:42 -0700
From:      Todd Enersen <tee@fireclick.com>
To:        Mike Meyer <mwm@mired.org>
Cc:        questions@freebsd.org
Subject:   Re: problems with gdb???
Message-ID:  <3AC8B1A1.84A9380A@fireclick.com>
References:  <15045.26679.83190.709362@guru.mired.org>

next in thread | previous in thread | raw e-mail | index | archive | help
I cannot seem to get the config straight for recompiling gdb, either 4.18 or 5.0 ...

The "configure" guess fails in solib.c, due to (I think) a missing #define for
SVR4_SHARED_LIBS, which allows structure definitions for elf style share libraries.

I'm a newbie to FreeBSD.  How does one upgrade to the latest 4-STABLE release?

Todd


Mike Meyer wrote:

> Todd Enersen <tee@fireclick.com> types:
> > --------------DA50410AF9311B33DEC3A86F
> > Content-Type: text/plain; charset=us-ascii
> > Content-Transfer-Encoding: 7bit
>
> Please don't do this. Simply send plain text, not both plain text and
> ascii.
>
> > I've installed the 4.2 distribution of FreeBSD. While porting an
> > application to the FreeBSD platform, I've run into a problem with the
> > gdb that ships as part of the distribution.
> >
> > Consider the following small section of code:
> >
> >
> > > > more test.c
> > >
> > > void Init(char* foo, int bar)
> > > {
> > >
> > > }
> > >
> > > int main(int argc, char* argv[])
> > > {
> > >    Init("foo", 1234);
> > > }
> > >
> >
> > Now consider the output from gdb:
> >
> > > gdb mytest
> > > GNU gdb 4.18
> > > Copyright 1998 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 "i386-unknown-freebsd"...
> > > (gdb) b main
> > > Breakpoint 1 at 0x804848a: file test.c, line 10.
> > > (gdb) r
> > > Starting program: /usr/home/tee/work/testproxy/mytest
> > >
> > > Breakpoint 1, main (argc=-1077937256, argv=0x80483ed) at test.c:10
> > > 10         Init("foo", 1234);
> > > (gdb)
> > > (gdb) p argv[0]
> > > $1 = 0xff6de850 Error reading address 0xff6de850: Bad address
> > > (gdb)
> > >
> >
> > Now should argc and argv be defined to be valid??
>
> That example works fine for me. I'm running 4-STABLE as of last sunday,
> using gcc version 2.95.2 19991024 (release).
>
> > This corruption of how gdb views the arguements continues, and makes it
> > very impossible to actually debug real programs.
> >
> > I've also tried to download and build gdb 5.0, but it fails to compile
> > under FreeBSD.
> >
> > Any suggestions?
>
> Try doing a single step before checking p. It's possible there's some
> function startup code that needs to be run before the arguments will
> show up properly, though I wouldn't expect it in C code.
>
>         <mike
> --
> Mike Meyer <mwm@mired.org>                      http://www.mired.org/home/mwm/
> Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
> > Todd Enersen
> >
> >
> > --------------DA50410AF9311B33DEC3A86F
> > Content-Type: text/html; charset=us-ascii
> > Content-Transfer-Encoding: 7bit
> >
> > <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
> > <html>
> > I've installed the 4.2 distribution of FreeBSD. While porting an application
> > to the FreeBSD platform, I've run into a problem with the gdb that ships
> > as part of the distribution.
> > <p>Consider the following small section of code:
> > <br>&nbsp;
> > <blockquote TYPE=CITE>
> > <pre>> more test.c
> >
> > void Init(char* foo, int bar)
> > {
> >
> > }
> >
> > int main(int argc, char* argv[])
> > {
> > &nbsp;&nbsp; Init("foo", 1234);
> > }</pre>
> > </blockquote>
> >
> > <p><br>Now consider the output from gdb:
> > <blockquote TYPE=CITE>
> > <pre>gdb mytest
> > GNU gdb 4.18
> > Copyright 1998 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.&nbsp; Type "show warranty" for details.
> > This GDB was configured as "i386-unknown-freebsd"...
> > (gdb) b main&nbsp;
> > Breakpoint 1 at 0x804848a: file test.c, line 10.
> > (gdb) r
> > Starting program: /usr/home/tee/work/testproxy/mytest&nbsp;
> >
> > Breakpoint 1, main (argc=-1077937256, argv=0x80483ed) at test.c:10
> > 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Init("foo", 1234);
> > (gdb)&nbsp;
> > (gdb) p argv[0]
> > $1 = 0xff6de850 Error reading address 0xff6de850: Bad address
> > (gdb)</pre>
> > </blockquote>
> >
> > <p><br>Now should argc and argv be defined to be valid??
> > <p>This corruption of how gdb views the arguements continues, and makes
> > it very impossible to actually debug real programs.
> > <p>I've also tried to download and build gdb 5.0, but it fails to compile
> > under FreeBSD.
> > <p>Any suggestions?
> > <p>Todd Enersen
> > <br>&nbsp;</html>
> >
> > --------------DA50410AF9311B33DEC3A86F--
> >
> >
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-questions" in the body of the message
> >


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3AC8B1A1.84A9380A>