First GDB 4.17 release snapshot up for ftp

Marty Leisner leisner@sdsp.mc.xerox.com
Sat Feb 7 13:07:00 GMT 1998


It looks like this problem, reported as follows,
still hasn't been fixed...


I made this change again to 4.15.85:

: leisner@dw;rcsdiff -u solib.c
===================================================================
RCS file: RCS/solib.c,v
retrieving revision 1.1
diff -u -r1.1 solib.c
--- solib.c     1998/02/07 20:20:33     1.1
+++ solib.c     1998/02/07 20:32:52
@@ -964,12 +964,13 @@
        {
          so_list_head = new;
 
+#if 0
          if (! solib_cleanup_queued)
            {
              make_run_cleanup (do_clear_solib);
              solib_cleanup_queued = 1;
            }
-         
+#endif   
        }      
       so_list_next = new;
       read_memory ((CORE_ADDR) lm, (char *) &(new -> lm),


A more elegant way needs to be presented...or just the knowledge
the second time the breakpoints may have a problem.
(Message inbox:226)
Return-Path: owner-gdb-testers@cygnus.com
Delivery-Date: Wed Jan 28 17:01:13 1998
Return-Path: <owner-gdb-testers@cygnus.com>
Received: from alpha.xerox.com (firewall-user@alpha.Xerox.COM [13.1.64.93])
	by gemini.sdsp.mc.xerox.com (8.8.7/8.8.7) with SMTP id RAA04499
	for <leisner@sdsp.mc.xerox.com>; Wed, 28 Jan 1998 17:01:11 -0500 (EST)
Received: from cygnus.com ([205.180.230.5]) by alpha.xerox.com with SMTP id <52770(2)>; Wed, 28 Jan 1998 14:01:06 PST
Received: from alpha.xerox.com (firewall-user@alpha.Xerox.COM [13.1.64.93])
	by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with SMTP id NAA16609
	for <gdb-testers@cygnus.com>; Wed, 28 Jan 1998 13:43:13 -0800 (PST)
Received: from gemini.sdsp.mc.xerox.com ([13.231.132.20]) by alpha.xerox.com with SMTP id <52626(5)>; Wed, 28 Jan 1998 13:33:09 PST
Received: from gnu.sdsp.mc.xerox.com (gnu [13.231.133.90])
	by gemini.sdsp.mc.xerox.com (8.8.7/8.8.7) with SMTP id QAA01964
	for <gdb-testers@cygnus.com>; Wed, 28 Jan 1998 16:32:07 -0500 (EST)
Received: from gnu (localhost) by gnu.sdsp.mc.xerox.com (4.1/client-1.3)
	id AA03180; Wed, 28 Jan 98 16:32:06 EST
Message-Id: < 9801282132.AA03180@gnu.sdsp.mc.xerox.com >
To: gdb-testers@cygnus.com
Subject: gdb-980122 behavior on linux with shared libraries
Date: Wed, 28 Jan 1998 13:32:05 PST
From: "Marty Leisner" <leisner@sdsp.mc.xerox.com>
X-Global-Processed: /etc/procmailrc mailhost Wed Jan 28 17:01:13 EST 1998


Something is changed (and IMHO worse) with shared
library breakpoints in post-May releases on linux.


For years I've been doing:
	break on main	
	run
	stop at main
	select breakpoints after shared libaries
	at mapped in
	cont, run

(is there a better way...I recall this behavior on suns, now on linux, 
libc is mapped in before running (so it seems))

: leisner@thingy; ldd $(type -p ld)
        libbfd.so.2.8.1.0.15 => /usr/gnu/binutils-2.8.1.0.15/lib/libbfd.so.2.8.1.0.15 (0x4000a000)
        libc.so.5 => /usr/local/lib/libc.so.5 (0x4009c000)

I expect this behavior:
: leisner@thingy; gdb ld
GNU gdb 970507
(gdb) break main
Breakpoint 1 at 0x8058a67: file ../../ld/ldmain.c, line 163.
(gdb) r
Starting program: /usr/gnu/binutils/bin/ld 

Breakpoint 1, main (argc=1, argv=0xbffff094) at ../../ld/ldmain.c:163
163       long start_time = get_run_time ();
(gdb) break bfd_elf32_bfd_final_link
Breakpoint 2 at 0x4004e660: file ../../bfd/elfcode.h, line 234.
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/gnu/binutils/bin/ld 
Cannot insert breakpoint 2:
Temporarily disabling shared library breakpoints:
2 

Breakpoint 1, main (argc=1, argv=0xbffff094) at ../../ld/ldmain.c:163
163       long start_time = get_run_time ();
(gdb) quit 


Which is what I expect...

Now I'm getting this:

: leisner@thingy; gdb-980122 ld
GNU gdb 980122
This GDB was configured as "i586-pc-linux-gnulibc1"...
(gdb) break main
Breakpoint 1 at 0x8058a67: file ../../ld/ldmain.c, line 163.
(gdb) r
Starting program: /usr/gnu/binutils/bin/ld 

Breakpoint 1, main (argc=1, argv=0xbffff094) at ../../ld/ldmain.c:163
163       long start_time = get_run_time ();
(gdb) break bfd_elf32_bfd_final_link
Breakpoint 2 at 0x4004e660: file ../../bfd/elfcode.h, line 234.
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/gnu/binutils/bin/ld 
Cannot insert breakpoint 2:
Cannot access memory at address 0x4004e660.

I looked at breakpoint.c and didn't see what would account for this behavior
(except if its at a high level).

Note on sunos 4.1.4, I'm not getting this behavior (with a elf32 cross-linker):
GNU gdb 980122
Copyright 1997 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-sunos4.1.4"...
(gdb) break main
Breakpoint 1 at 0x1d648: file ../../ld/ldmain.c, line 163.
(gdb) r
Starting program: /usr/marty/binutils/bin/ld 

Breakpoint 1, main (argc=1, argv=0xefffe68c) at ../../ld/ldmain.c:163
163       long start_time = get_run_time ();
(gdb) break  bfd_elf32_bfd_final_link
Breakpoint 2 at 0xef74c604: file ../../bfd/elflink.h, line 3210.
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/marty/binutils/bin/ld 

Breakpoint 1, main (argc=1, argv=0xefffe68c) at ../../ld/ldmain.c:163
163       long start_time = get_run_time ();


Any ideas?
marty		leisner@sdsp.mc.xerox.com   
Don't  confuse education with schooling.
	Milton Friedman to Yogi Berra



More information about the Gdb mailing list