From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26533 invoked by alias); 18 Jun 2013 14:47:43 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 26499 invoked by uid 89); 18 Jun 2013 14:47:43 -0000 X-Spam-SWARE-Status: No, score=-5.3 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,RP_MATCHES_RCVD,TW_BJ,TW_RG autolearn=ham version=3.3.1 Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Tue, 18 Jun 2013 14:47:42 +0000 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by azsmga101.ch.intel.com with ESMTP; 18 Jun 2013 07:47:40 -0700 X-ExtLoop1: 1 Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga001.fm.intel.com with ESMTP; 18 Jun 2013 07:48:14 -0700 Received: from ulslx001.iul.intel.com (ulslx001.iul.intel.com [172.28.207.63]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id r5IElbM1027592; Tue, 18 Jun 2013 15:47:37 +0100 Received: from ulslx001.iul.intel.com (localhost [127.0.0.1]) by ulslx001.iul.intel.com with ESMTP id r5IEla2w004755; Tue, 18 Jun 2013 16:47:36 +0200 Received: (from nblanc@localhost) by ulslx001.iul.intel.com with id r5IElZQb004751; Tue, 18 Jun 2013 16:47:35 +0200 From: Nicolas Blanc To: gdb-patches@sourceware.org, Hafiz_Abid@mentor.com, palves@redhat.com, tromey@redhat.com, eliz@gnu.org, yao@codesourcery.com, lgustavo@codesourcery.com, dje@google.com Cc: nicolas.blanc@intel.com Subject: [patch v9 0/5] remove-symbol-file Date: Tue, 18 Jun 2013 14:47:00 -0000 Message-Id: <1371566833-4713-1-git-send-email-nicolas.blanc@intel.com> X-SW-Source: 2013-06/txt/msg00415.txt.bz2 Hello, As discussed in http://sourceware.org/ml/gdb-patches/2013-05/msg01029.html, GDB has no command for listing files that have been added via add-symbol-file. In particular, 'info files' does not list the sections of user-added symbol files because add-symbol-file does not update the target sections (current_target_sections). Patch 4 implements this. So technically, Patch 4 is a fix for add-symbol-file. I send it, for convinience, as new revision for the remove-symbol-file command because Patch 4 depends on Patch 1, which is not checked in, and this issue was raised in its context. Patch 1 and 3 are identical in V8 and V9. Patch 2 is also identical to the previous version except for a minor typo in symbol-file.exp that I corrected. I hope you will find this fix for add-symbol-file useful. Please let me know if you like this patch series. Thank you, Nicolas Changes between v8 abd v9: * Patch 4: New patch. * Patch 5: New patch. * sym-file.exp: Fixed test name string. Changes between v7 and v8: * sym-file.exp: Call gdb_get_line_number with ${libfile}.c intead of $libsrc. * Fixed typo in commit message for Patch 2/3. Changes between v6 and v7: * Changed disable_breakpoints_in_freed_objfile () from feedback: Use is_breakpoint () and is_tracepoint (). Add call to mark_breakpoint_location_modified (). * Changed command description according to suggestion. * Changed commit log message for new functions according to feedback. * Fixed nits in gdb/solib.c and testsuite/gdb.base/sym-file.exp. Changes between v5 and v6: * Changed syntax of the command according to feedback: remove-symbol-file FILENAME remove-symbol-file -a ADDRESS * Updated the documentation for the new syntax. * Updated the test for the new syntax. * Added check to only remove objfiles from the current program space. Changes between v4 and v5: * The address parameter can now be any address mapping into one of the sections of the file to remove. This is more flexible and more judicious because the symbol file may have no text section, as pointed out in some reviews. * Move is_addr_in_objfile from breakpoint.c to objfiles.c. This new function is now used in both symfile.c and breakpoint.c. * is_addr_in_objfile returns now 0 if OBJFILE is NULL. * Updated the documentation to reflect the command change. * Removed double blank lines. * Reworded the log entries in the commit messages, as suggested. * The test was simplified using prepare_for_testing, as suggested. Changes between v3 and v4: * gdb/symfile.c: add missing space character in output string. * gdb/doc/gdb.texinfo: add usage example. Changes between v2 and v3: * gdb/breakpoints.c (disable_breakpoints_in_freed_objfile): Changed name of disable_breakpoints_in_free_objfile to disable_breakpoints_in_freed_objfile. Call observer_breakpoint_modified at most one time per breakpoint. * gdb/objfiles.h (struct objfile): Add comment for low_addr. * gdb/solib.c (remove_user_added_objfile): Don't check OBJF_SHARED anymore to avoid leaving dangling pointers. * gdb/symfile.c (add_symbol_file_command): Parse and evaluate the address parameter only once. * gdb/symfile.c (remove_symbol_file_command): Don't use gdb_buildargv anymore. Ask the user for confirmation before removing a file. * gdb/doc/gdb.texinfo: The parameter of the command is now referred to as "the address of the text section". * gdb/NEWS: Move the entry for remove-symbol-file to "Changes since GDB 7.6". The address parameter is now referred to as "the beginning of the text section". * Fixed letter case of variables in comments. * Fixed indentation typos. Nicolas Blanc (5): New remove-symbol-file command. Test adding and removing a symbol file at runtime. Documentation for the remove-symbol-file command. 'add-symbol-file' should update the current target sections. Test 'info files' after 'add-symbol-file' and 'remove-symbol-file'. gdb/NEWS | 6 + gdb/breakpoint.c | 67 ++++++- gdb/doc/gdb.texinfo | 26 ++- gdb/doc/observer.texi | 4 + gdb/objfiles.c | 23 ++ gdb/objfiles.h | 2 + gdb/printcmd.c | 15 +- gdb/solib.c | 22 ++ gdb/symfile.c | 153 +++++++++++++- gdb/testsuite/gdb.base/sym-file-lib.c | 19 ++ gdb/testsuite/gdb.base/sym-file-main.c | 365 ++++++++++++++++++++++++++++++++ gdb/testsuite/gdb.base/sym-file.exp | 155 ++++++++++++++ 12 files changed, 844 insertions(+), 13 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