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.
This commit is contained in:
Simon Marchi 2017-04-28 17:16:18 -04:00
parent 76e75227c3
commit 9ccbfd7bc1
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2017-04-28 Simon Marchi <simon.marchi@ericsson.com>
* 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.
2017-04-28 Simon Marchi <simon.marchi@ericsson.com>
* solib-svr4.h (struct lm_info_svr4): Initialize fields.

View File

@ -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.