aboutsummaryrefslogtreecommitdiff
path: root/gdb/defs.h
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2004-09-08 21:58:19 +0000
committerJim Blandy <jimb@codesourcery.com>2004-09-08 21:58:19 +0000
commit7b90c3f96efc132cac934b3f2b43da899d46eae0 (patch)
treec956505ed511fa6e4ec307ae552a7492570a7351 /gdb/defs.h
parent10b016c223f165a06dbd20e46307c9a0bfbf0ee2 (diff)
downloadgdb-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.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/defs.h b/gdb/defs.h
index 45bc805..1be691d 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -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);