This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[rfa] Extra warning in solib-svr4
- From: Daniel Jacobowitz <drow at false dot org>
- To: gdb-patches at sourceware dot org, Kevin Buettner <kevinb at redhat dot com>
- Date: Fri, 30 Mar 2007 10:45:19 -0400
- Subject: [rfa] Extra warning in solib-svr4
Suppose you take a static linked program, strip it, and run it under
GDB. You'll get this warning:
warning: shared library handler failed to enable breakpoint
You can reproduce this without stripping - you need to have no .interp
section and no functions named _start or main, that's all. So this
actually came up when using KGDB to debug a Linux kernel.
The shared library breakpoint is generally not important in this
case. It's more important if there was a .interp but something went
wrong while trying to load the referenced executable; that's got a
separate warning:
warning (_("Unable to find dynamic linker breakpoint function.\n"
"GDB will be unable to debug shared library initializers\n"
"and track explicitly loaded dynamic code."));
I think the more general warning is not useful, since it has a high
correlation with non-shared programs. OK to remove it?
--
Daniel Jacobowitz
CodeSourcery
2007-03-30 Daniel Jacobowitz <dan@codesourcery.com>
* solib-svr4.c (enable_break): Simplify return value.
(svr4_solib_create_inferior_hook): Do not warn if enable_break fails.
Index: solib-svr4.c
===================================================================
RCS file: /cvs/src/src/gdb/solib-svr4.c,v
retrieving revision 1.61
diff -u -p -r1.61 solib-svr4.c
--- solib-svr4.c 9 Jan 2007 17:58:58 -0000 1.61
+++ solib-svr4.c 30 Mar 2007 14:39:46 -0000
@@ -979,8 +979,6 @@ exec_entry_point (struct bfd *abfd, stru
static int
enable_break (void)
{
- int success = 0;
-
#ifdef BKPT_AT_SYMBOL
struct minimal_symbol *msymbol;
@@ -1146,13 +1144,9 @@ enable_break (void)
return 1;
}
}
-
- /* Nothing good happened. */
- success = 0;
-
#endif /* BKPT_AT_SYMBOL */
- return (success);
+ return 0;
}
/*
@@ -1357,10 +1351,7 @@ svr4_solib_create_inferior_hook (void)
}
if (!enable_break ())
- {
- warning (_("shared library handler failed to enable breakpoint"));
- return;
- }
+ return;
#if defined(_SCO_DS)
/* SCO needs the loop below, other systems should be using the