Add support for locating separate debug info files via the build-id method.
authorNick Clifton <nickc@redhat.com>
Thu, 12 Jan 2017 16:56:54 +0000 (16:56 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 12 Jan 2017 16:56:54 +0000 (16:56 +0000)
commit2425a30e406a0523020b7e70abb864a06a45bb97
treed6b5cb440da8e0b7123051e3d35c0b4773e7d8ab
parent620214f742f7816e2844e1bb7f78a7a684431927
Add support for locating separate debug info files via the build-id method.

PR binutils/20876
bfd * opncls.c (find_separate_debug_file): Add include_dirs
parameter.  Only include the directory part of the bfd's filename
in search paths if include_dirs is true.  Add a couple of extra
locations for looking for debug files.
( bfd_follow_gnu_debuglink): Update invocation of
find_separate_debug_file.
(bfd_follow_gnu_debugaltlink): Likewise.
(get_build_id): New function: Finds the build-id of the given bfd.
(get_build_id_name): New function: Computes the name of the
separate debug info file for a bfd, based upon its build-id.
(check_build_id_file): New function: Checks to see if a separate
debug info file exists at the given location, and that its
build-id matches that of the original bfd.
(bfd_follow_build_id_debuglink): New function: Finds a separate
debug info file for a given bfd by using the build-id method.
* dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
method of locating a separate debug info file before using the
debuglink method.
* bfd-in2.h: Regenerate.

binutils * NEWS: Mention the new feature.
* testsuite/binutils-all/objdump.exp (test_build_id_debuglink):
New proc to test the location of separate debug info files using
the build-id method.
bfd/ChangeLog
bfd/bfd-in2.h
bfd/dwarf2.c
bfd/opncls.c
binutils/ChangeLog
binutils/NEWS
binutils/testsuite/binutils-all/objdump.exp