/* Handle OSF/1 shared libraries for GDB, the GNU Debugger.
- Copyright 1993, 1994 Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
This file is part of GDB.
#include "command.h"
#include "target.h"
#include "frame.h"
-#include "regex.h"
+#include "gnu-regex.h"
#include "inferior.h"
#include "language.h"
+#include "gdbcmd.h"
#define MAX_PATH_SIZE 1024 /* FIXME: Should be dynamic */
SYNOPSIS
- int solib_address (CORE_ADDR address)
+ char *solib_address (CORE_ADDR address)
DESCRIPTION
mapped in.
*/
-int
+char *
solib_address (address)
CORE_ADDR address;
{
{
if ((address >= (CORE_ADDR) so -> textsection -> addr) &&
(address < (CORE_ADDR) so -> textsection -> endaddr))
- {
- return (1);
- }
+ return (so->so_name);
}
}
return (0);
and will put out an annoying warning.
Delaying the resetting of stop_soon_quietly until after symbol loading
suppresses the warning. */
- solib_add ((char *) 0, 0, (struct target_ops *) 0);
+ if (auto_solib_add)
+ solib_add ((char *) 0, 0, (struct target_ops *) 0);
stop_soon_quietly = 0;
}
void
_initialize_solib()
{
-
add_com ("sharedlibrary", class_files, sharedlibrary_command,
"Load shared object library symbols for files matching REGEXP.");
add_info ("sharedlibrary", info_sharedlibrary_command,
"Status of loaded shared object libraries.");
+
+ add_show_from_set
+ (add_set_cmd ("auto-solib-add", class_support, var_zinteger,
+ (char *) &auto_solib_add,
+ "Set autoloading of shared library symbols.\n\
+If nonzero, symbols from all shared object libraries will be loaded\n\
+automatically when the inferior begins execution or when the dynamic linker\n\
+informs gdb that a new library has been loaded. Otherwise, symbols\n\
+must be loaded manually, using `sharedlibrary'.",
+ &setlist),
+ &showlist);
}