Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH 0/3] remove-symbol-file
@ 2013-04-16 11:22 Nicolas Blanc
  2013-04-16 11:51 ` [PATCH 2/3] Test adding and removing a symbol file at runtime Nicolas Blanc
                   ` (5 more replies)
  0 siblings, 6 replies; 25+ messages in thread
From: Nicolas Blanc @ 2013-04-16 11:22 UTC (permalink / raw)
  To: gdb-patches; +Cc: Nicolas Blanc

This patch adds a command for removing individual symbol files.

The symbol-file command without parameter can be used to clear
all symbol-file information. This command is not practical if
the user needs to remove just one file, however.

Apple provides its own remove-symbol-file command but the code
was not upstreamed [1]. I provide here my own implementation.
There are two main differences between the command from Apple and
mine:

1) The remove-symbol-file command from Apple takes as parameter
   the file to remove whereas this implementation requires the load
   address of the file. Hence, this command is able to unload
   symbol for files that have been loaded multiple times.

2) This implementation sends a notification when an object file is
   deleted. The notification mechanism simplifies the implementation of
   the command because it is then the responsibility of the observers
   to clean dangling references. GDB removes shared libraries in this
   way already.

I would appreciate feedback from the maintainers of GDB at Apple to
help upstream a command that satisfies the community at large.

GDB can currently interface with one shared-library loader and one
JIT loader at runtime. Combined with Python, add-symbol-file and
remove-symbol-file can be used for supporting additional custom library
loaders with greater flexibility. This is the motivation for this work.

Regards,

Nicolas Blanc


[1]: http://www.opensource.apple.com/source/gdb/gdb-1822/




Nicolas Blanc (3):
  Command remove-symbol-file.
  Test adding and removing a symbol file at runtime.
  Documentation for the remove-symbol-file command.

 gdb/breakpoint.c                       |   65 ++++++-
 gdb/doc/gdb.texinfo                    |   15 ++-
 gdb/doc/observer.texi                  |    4 +
 gdb/objfiles.c                         |    3 +
 gdb/printcmd.c                         |   11 +-
 gdb/solib.c                            |   26 +++
 gdb/symfile.c                          |   63 ++++++-
 gdb/testsuite/gdb.base/sym-file-lib.c  |   21 ++
 gdb/testsuite/gdb.base/sym-file-main.c |  369 ++++++++++++++++++++++++++++++++
 gdb/testsuite/gdb.base/sym-file.exp    |  155 +++++++++++++
 10 files changed, 721 insertions(+), 11 deletions(-)
 create mode 100644 gdb/testsuite/gdb.base/sym-file-lib.c
 create mode 100644 gdb/testsuite/gdb.base/sym-file-main.c
 create mode 100644 gdb/testsuite/gdb.base/sym-file.exp

-- 
1.7.6.5


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2013-05-28 11:25 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-16 11:22 [PATCH 0/3] remove-symbol-file Nicolas Blanc
2013-04-16 11:51 ` [PATCH 2/3] Test adding and removing a symbol file at runtime Nicolas Blanc
2013-04-24 12:18   ` Tom Tromey
2013-04-24 12:18     ` Tom Tromey
2013-04-16 12:18 ` [PATCH 1/3] Command remove-symbol-file Nicolas Blanc
2013-04-16 13:25 ` [PATCH 1/3] Added command remove-symbol-file Nicolas Blanc
2013-04-22 13:32   ` Yao Qi
2013-04-24 18:54   ` Tom Tromey
2013-04-25 19:24     ` Blanc, Nicolas
2013-04-25 20:07       ` Tom Tromey
2013-04-26 14:13       ` Yao Qi
2013-04-26 20:23   ` Pedro Alves
2013-04-30  7:30     ` Blanc, Nicolas
2013-04-30  9:28       ` Pedro Alves
2013-04-30 16:53         ` Blanc, Nicolas
2013-05-08 17:56           ` Pedro Alves
2013-05-28 11:25             ` Blanc, Nicolas
2013-04-16 14:18 ` [PATCH 3/3] Documentation for the remove-symbol-file command Nicolas Blanc
2013-04-16 15:12   ` Eli Zaretskii
2013-04-24  9:22 ` [PATCH 0/3] remove-symbol-file Tom Tromey
2013-04-24 20:40   ` Blanc, Nicolas
2013-04-24 20:49     ` Pedro Alves
2013-04-25 17:25       ` Blanc, Nicolas
2013-04-26 19:13         ` Pedro Alves
2013-04-24 17:46 ` Pedro Alves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox