mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 14:49:38 +08:00
Fix bug reported and analyzed by Olivier Crete:
* symfile.c (copy_section_addr_info): New function. (symbol_file_add_with_addrs_or_offsets): Use it to save the original set of address arguments, instead of handwritten code that uses one length to allocate and a different length to initialize. Use make_cleanup_free_section_addr_info. * symfile.h (copy_section_addr_info): New declaration. * utils.c: #include "symfile.h". (do_free_section_addr_info, make_cleanup_free_section_addr_info): New functions. * defs.h (make_cleanup_free_section_addr_info): New declaration. * Makefile.in (utils.o): Update dependencies.
This commit is contained in:
@ -198,6 +198,11 @@ extern struct objfile *symbol_file_add_from_bfd (bfd *, int,
|
||||
extern struct section_addr_info *alloc_section_addr_info (size_t
|
||||
num_sections);
|
||||
|
||||
/* Return a freshly allocated copy of ADDRS. The section names, if
|
||||
any, are also freshly allocated copies of those in ADDRS. */
|
||||
extern struct section_addr_info *(copy_section_addr_info
|
||||
(struct section_addr_info *addrs));
|
||||
|
||||
/* Build (allocate and populate) a section_addr_info struct from an
|
||||
existing section table. */
|
||||
|
||||
|
Reference in New Issue
Block a user