diff options
author | Simon Marchi <simon.marchi@ericsson.com> | 2017-04-28 17:16:18 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2017-04-28 17:16:18 -0400 |
commit | 9ccbfd7bc1b7228d67f2d4ca878224d493918264 (patch) | |
tree | 4c939fccccc9457bef276ff571bd15888527eb99 /gdb/solib-darwin.c | |
parent | 76e75227c37bc058449a09fe5017eeb40cda0781 (diff) | |
download | gdb-9ccbfd7bc1b7228d67f2d4ca878224d493918264.zip gdb-9ccbfd7bc1b7228d67f2d4ca878224d493918264.tar.gz gdb-9ccbfd7bc1b7228d67f2d4ca878224d493918264.tar.bz2 |
Class-ify lm_info_darwin
This patch makes lm_info_darwin a "real" class. It initializes the
field and replaces XCNEW/xfree with new/delete.
gdb/ChangeLog:
* solib-darwin.c (struct lm_info_darwin): Initialize field.
(darwin_current_sos): Allocate lm_info_darwin with new, remove
cleanup.
(darwin_free_so): Free lm_info_darwin with delete.
Diffstat (limited to 'gdb/solib-darwin.c')
-rw-r--r-- | gdb/solib-darwin.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c index 03211cf..3651929 100644 --- a/gdb/solib-darwin.c +++ b/gdb/solib-darwin.c @@ -156,7 +156,7 @@ darwin_load_image_infos (struct darwin_info *info) struct lm_info_darwin : public lm_info_base { /* The target location of lm. */ - CORE_ADDR lm_addr; + CORE_ADDR lm_addr = 0; }; /* Lookup the value for a specific symbol. */ @@ -296,7 +296,7 @@ darwin_current_sos (void) newobj = XCNEW (struct so_list); old_chain = make_cleanup (xfree, newobj); - lm_info_darwin *li = XCNEW (lm_info_darwin); + lm_info_darwin *li = new lm_info_darwin; newobj->lm_info = li; strncpy (newobj->so_name, file_path, SO_NAME_MAX_PATH_SIZE - 1); @@ -578,7 +578,9 @@ darwin_clear_solib (void) static void darwin_free_so (struct so_list *so) { - xfree (so->lm_info); + lm_info_darwin *li = (lm_info_darwin *) so->lm_info; + + delete li; } /* The section table is built from bfd sections using bfd VMAs. |