diff options
author | Jim Blandy <jimb@codesourcery.com> | 2004-09-08 21:58:19 +0000 |
---|---|---|
committer | Jim Blandy <jimb@codesourcery.com> | 2004-09-08 21:58:19 +0000 |
commit | 7b90c3f96efc132cac934b3f2b43da899d46eae0 (patch) | |
tree | c956505ed511fa6e4ec307ae552a7492570a7351 /gdb/defs.h | |
parent | 10b016c223f165a06dbd20e46307c9a0bfbf0ee2 (diff) | |
download | gdb-7b90c3f96efc132cac934b3f2b43da899d46eae0.zip gdb-7b90c3f96efc132cac934b3f2b43da899d46eae0.tar.gz gdb-7b90c3f96efc132cac934b3f2b43da899d46eae0.tar.bz2 |
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.
Diffstat (limited to 'gdb/defs.h')
-rw-r--r-- | gdb/defs.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -360,6 +360,10 @@ extern struct cleanup *make_cleanup_freeargv (char **); struct ui_file; extern struct cleanup *make_cleanup_ui_file_delete (struct ui_file *); +struct section_addr_info; +extern struct cleanup *(make_cleanup_free_section_addr_info + (struct section_addr_info *)); + extern struct cleanup *make_cleanup_close (int fd); extern struct cleanup *make_cleanup_bfd_close (bfd *abfd); |