GNU gdb 5.0     This GDB was configured as "i586-pc-linux-gnu"...

gdb-5.0 cannot debug a bare dynamic shared object such as ld.so (commonly
seen as /lib/ld-linux.so.2).  The symptom is
-----
$ gdb /lib/ld-linux.so.2
GNU gdb 5.0
        ...
This GDB was configured as "i586-pc-linux-gnu"...
(gdb) run --list /bin/date
Starting program: /lib/ld-linux.so.2 --list /bin/date
warning: Cannot insert breakpoint -1:
Cannot access memory at address 0x19a0
(gdb) 
-----
and the debuggee is not running, and cannot be made to run.

Here is one way to allow the debuggee to run:
-----
diff -u -r original/gdb-5.0/gdb/breakpoint.c gdb-5.0/gdb/breakpoint.c
--- original/gdb-5.0/gdb/breakpoint.c   Thu Mar 30 18:54:28 2000
+++ gdb-5.0/gdb/breakpoint.c    Mon May 29 02:11:45 2000
@@ -830,7 +830,7 @@
          {
            /* Can't set the breakpoint.  */
 #if defined (DISABLE_UNSETTABLE_BREAK)
-           if (DISABLE_UNSETTABLE_BREAK (b->address))
+           if (b->number < 0 || DISABLE_UNSETTABLE_BREAK (b->address))
              {
                /* See also: disable_breakpoints_in_shlibs. */
                val = 0;
-----

The debuggee now runs:
-----
(gdb) run --list /bin/date
Starting program: /lib/ld-linux.so.2 --list /bin/date
warning: Cannot insert breakpoint -1:
warning: Temporarily disabling shared library breakpoints:
warning: breakpoint #-1 
        libc.so.6 => /lib/libc.so.6 (0x40005000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)

-----

-- 
John Reiser, [EMAIL PROTECTED]

Reply via email to