]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
Add support for executables whose debug info has been separated jimb-separate-debug-021223-branch
authorJim Blandy <jimb@codesourcery.com>
Mon, 23 Dec 2002 09:22:59 +0000 (09:22 +0000)
committerJim Blandy <jimb@codesourcery.com>
Mon, 23 Dec 2002 09:22:59 +0000 (09:22 +0000)
commit8b33bfe600d6b3f7bebf89eff06798eac78b7a02
tree707e6bdcf30f78e75ad1c28472d249822760e922
parent6ea97a4f03cf5535b0ae8dc550035425408957b7
Add support for executables whose debug info has been separated
out into a separate file, leaving only a link behind.
* objfiles.h (struct objfile): New fields: separate_debug_objfile
and separate_debug_objfile_backlink.
(put_objfile_before): New declaration.
* symfile.c: #include "filenames.h".
(symbol_file_add_with_addrs_or_offsets): If this objfile has its
debug info in a separate file, read that, too. Save the addrs
argument, so we can use it again to read the separated debug info;
syms_from_objfile modifies the table we pass it.
(reread_symbols): After re-reading an objfile, call
reread_separate_symbols to refresh its separate debug info
objfile, if it has one.
(reread_separate_symbols, find_separate_debug_file,
get_debug_link_info, separate_debug_file_exists): New functions.
(debug_file_directory): New global var.
(_initialize_symfile): Initialize debug_file_directory, and
provide the new `set debug-file-directory' command to let the user
change it.
* objfiles.c (free_objfile): If this objfile has its debug info in
a separate objfile, free that one too.  If this is itself a
separate debug info objfile, clear our parent's backlink.
(put_objfile_before): New function.
* utils.c (gnu_debuglink_crc32): New function.
* defs.h (gnu_debuglink_crc32): New declaration.
* Makefile.in (symfile.o): Note dependency on "filenames.h".
* configure.in: Handle --with-separate-debug-dir config option.
* acinclude.m4 (AC_DEFINE_DIR): New macro.
* acconfig.h (DEBUGDIR): New macro.
* configure, aclocal.m4, config.in: Regenerated.
gdb/symfile.c