[RFA/doco/commit] Make the "info dll" command available on all platform.
Commit Message
Hello,
A follow-up on a discussion we had a while back:
https://www.sourceware.org/ml/gdb-patches/2015-01/msg00050.html
The "info dll", an alias of the "info sharedlibrary" command, is
currently only defined in windows native versions. This patch makes
it universally available by moving the alias declaration to solib.c,
and adjusts the documentation accordingly.
Making it universally available has two benefits:
- Windows users moving to a Unix platforms are still able to use
the same command for getting the list of shared libraries;
- Unix to Windows cross debuggers now provide that command also.
gdb/ChangeLog:
* solib.c (_initialize_solib): Add "info dll" alias creation.
* windows-nat.c (set_windows_aliases): Delete.
(_initialize_windows_nat): Remove deprecated_init_ui_hook
assignment.
* NEWS: Add news entry about "info dll" now being available
on all platforms.
gdb/doc/ChangeLog:
* gdb.texinfo (Files): Add "info dll" documentation.
(Cygwin Native): Remove "info dll" documentation.
Tested on x86_64-linux, no regression (obviously).
I'll push the patch once documentation is reviewed.
Note that I looked at getting rid of deprecated_init_ui_hook,
but I found that insight might still be needing it :-( (to be
confirmed, though, as my sources are fairly old).
Thanks,
Comments
> From: Joel Brobecker <brobecker@adacore.com>
> Date: Tue, 5 May 2015 11:02:49 -0700
>
> A follow-up on a discussion we had a while back:
> https://www.sourceware.org/ml/gdb-patches/2015-01/msg00050.html
>
> The "info dll", an alias of the "info sharedlibrary" command, is
> currently only defined in windows native versions. This patch makes
> it universally available by moving the alias declaration to solib.c,
> and adjusts the documentation accordingly.
>
> Making it universally available has two benefits:
> - Windows users moving to a Unix platforms are still able to use
> the same command for getting the list of shared libraries;
> - Unix to Windows cross debuggers now provide that command also.
>
> gdb/ChangeLog:
>
> * solib.c (_initialize_solib): Add "info dll" alias creation.
> * windows-nat.c (set_windows_aliases): Delete.
> (_initialize_windows_nat): Remove deprecated_init_ui_hook
> assignment.
> * NEWS: Add news entry about "info dll" now being available
> on all platforms.
>
> gdb/doc/ChangeLog:
>
> * gdb.texinfo (Files): Add "info dll" documentation.
> (Cygwin Native): Remove "info dll" documentation.
The documentation parts are OK.
Thanks.
On 05/05/2015 07:02 PM, Joel Brobecker wrote:
> Note that I looked at getting rid of deprecated_init_ui_hook,
> but I found that insight might still be needing it :-( (to be
> confirmed, though, as my sources are fairly old).
>
From current insight git:
$ grep -rn deprecated_init_ui_hook
binutils-gdb/gdb/windows-nat.c:2604: deprecated_init_ui_hook = set_windows_aliases;
binutils-gdb/gdb/ChangeLog-2004:9403: (deprecated_memory_changed_hook, deprecated_init_ui_hook)
binutils-gdb/gdb/ChangeLog-2013:3969: * top.c (quit_confirm): Remove use of deprecated_init_ui_hook.
binutils-gdb/gdb/ChangeLog-2013:4011: to deprecated_init_ui_hook.
binutils-gdb/gdb/defs.h:637: deprecated_init_ui_hook with the per-interpreter implementation. */
binutils-gdb/gdb/defs.h:638:/* FIXME: deprecated_init_ui_hook should be moved here. */
binutils-gdb/gdb/defs.h:647:extern void (*deprecated_init_ui_hook) (char *argv0);
binutils-gdb/gdb/interps.c:365: deprecated_init_ui_hook = 0;
binutils-gdb/gdb/top.c:181:void (*deprecated_init_ui_hook) (char *argv0);
binutils-gdb/gdb/top.c:1975: deprecated_init_ui_hook. */
binutils-gdb/gdb/top.c:1976: if (deprecated_init_ui_hook)
binutils-gdb/gdb/top.c:1977: deprecated_init_ui_hook (argv0);
binutils-gdb/gdb/ChangeLog-2005:1299: deprecated_init_ui_hook to allow late setting of "info dll" alias.
binutils-gdb/gdb/main.c:863: control of the console via the deprecated_init_ui_hook (). */
gdbtk/ChangeLog:227: (_initialize_gdbtk): No longer set deprecated_init_ui_hook.
gdbtk/ChangeLog:
...
2013-09-20 Andrew Burgess <aburgess@broadcom.com>
* generic/gdbtk.c: Add include of "main.h".
(gdbtk_init_1): Remove.
(argv0): Remove.
(_initialize_gdbtk): No longer set deprecated_init_ui_hook.
(gdbtk_init): Use get_gdb_program_name function from main.h.
...
https://www.sourceware.org/ml/insight/2013-q3/msg00042.html
Thanks,
Pedro Alves
> > gdb/ChangeLog:
> >
> > * solib.c (_initialize_solib): Add "info dll" alias creation.
> > * windows-nat.c (set_windows_aliases): Delete.
> > (_initialize_windows_nat): Remove deprecated_init_ui_hook
> > assignment.
> > * NEWS: Add news entry about "info dll" now being available
> > on all platforms.
> >
> > gdb/doc/ChangeLog:
> >
> > * gdb.texinfo (Files): Add "info dll" documentation.
> > (Cygwin Native): Remove "info dll" documentation.
>
> The documentation parts are OK.
Thank you, Eli. I've now pushed that patch to master.
@@ -23,6 +23,9 @@
present in the debug info. This typically includes the compiler version
and may include things like its command line arguments.
+* The "info dll", an alias of the "info sharedlibrary" command,
+ is now available on all platforms.
+
* Directory names supplied to the "set sysroot" commands may be
prefixed with "target:" to tell GDB to access shared libraries from
the target system, be it local or remote. This replaces the prefix
@@ -17854,6 +17854,10 @@ Print the names of the shared libraries which are currently loaded
that match @var{regex}. If @var{regex} is omitted then print
all shared libraries that are loaded.
+@kindex info dll
+@item info dll @var{regex}
+This is an alias of @code{info sharedlibrary}.
+
@kindex sharedlibrary
@kindex share
@item sharedlibrary @var{regex}
@@ -20701,10 +20705,6 @@ This command displays thread specific information stored in the
Thread Information Block (readable on the X86 CPU family using @code{$fs}
selector for 32-bit programs and @code{$gs} for 64-bit programs).
-@kindex info dll
-@item info dll
-This is a Cygwin-specific alias of @code{info shared}.
-
@kindex set cygwin-exceptions
@cindex debugging the Cygwin DLL
@cindex Cygwin DLL, debugging
@@ -1675,6 +1675,7 @@ _initialize_solib (void)
_("Load shared object library symbols for files matching REGEXP."));
add_info ("sharedlibrary", info_sharedlibrary_command,
_("Status of loaded shared object libraries."));
+ add_info_alias ("dll", "sharedlibrary", 1);
add_com ("nosharedlibrary", class_files, no_shared_libraries,
_("Unload all shared object library symbols."));
@@ -2502,12 +2502,6 @@ windows_target (void)
return t;
}
-static void
-set_windows_aliases (char *argv0)
-{
- add_info_alias ("dll", "sharedlibrary", 1);
-}
-
/* -Wmissing-prototypes */
extern initialize_file_ftype _initialize_windows_nat;
@@ -2601,7 +2595,6 @@ Show whether to display kernel exceptions in child process."), NULL,
add_cmd ("selector", class_info, display_selectors,
_("Display selectors infos."),
&info_w32_cmdlist);
- deprecated_init_ui_hook = set_windows_aliases;
}
/* Hardware watchpoint support, adapted from go32-nat.c code. */