This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
gdb and binutils branch master updated. 93ee1e3683a12f4774b8beb4f821910982e21ce2
- From: amodra at sourceware dot org
- To: binutils-cvs at sourceware dot org
- Date: 24 Apr 2014 12:34:39 -0000
- Subject: gdb and binutils branch master updated. 93ee1e3683a12f4774b8beb4f821910982e21ce2
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 93ee1e3683a12f4774b8beb4f821910982e21ce2 (commit)
from aaca88efb450bff71523d7d6f23a67f47a4d5fb3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=93ee1e3683a12f4774b8beb4f821910982e21ce2
commit 93ee1e3683a12f4774b8beb4f821910982e21ce2
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 24 21:59:56 2014 +0930
PR16867, linking object with separate debug file
This teaches the DWARF2 find_line functions how to deal with separate
debug relocatable object files. Also fixes a major bug:
When _bfd_dwarf2_slurp_debug_info was split out, place_sections ran
after .debug_info was relocated. This defeated the whole purpose of
place_sections. See the comment I added before place_sections.
Fixes some minor bugs too:
- place_sections didn't set VMA for alloc but non-load sections (bss).
- zero size sections can have symbols, so they need their VMA set too.
- last_vma was incorrectly adjusted.
- my last change to place_sections left VMA unchanged for .debug_info
when the linker has mapped input to output sections, but this is
wrong since bfd_simple_get_relocated_section_contents unmaps debug
sections.
PR 16867
* dwarf2.c: Formatting.
(struct dwarf2_debug): Make adjusted_section_count signed.
(unset_sections): Make i signed.
(set_debug_vma): New function.
(place_sections): Handle separate debug object file. Set VMA
on debug sections, even if they have an output section. Also
set VMA on zero size sections, and non-load but alloc sections.
Set adjusted_section_count to -1 when no section adjustment.
Malloc adjusted_sections. Don't double last_vma. Transfer
alloc section VMAs to separate debug file.
(_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
(_bfd_dwarf2_slurp_debug_info): Add do_place parameter. Drop
test on symbols being the same before using old stash. Read
and use separate debug file symbols. Call place_sections.
(find_line): Don't call place_sections here.
* libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
* libbfd.h: Regenerate.
* mach-o.c (bfd_mach_o_find_nearest_line): Adjust
_bfd_dwarf2_slurp_debug_info call.
* simple.c (simple_save_output_info): Clarify comment.
-----------------------------------------------------------------------
Summary of changes:
bfd/ChangeLog | 24 +++++
bfd/dwarf2.c | 306 +++++++++++++++++++++++++++++++------------------------
bfd/libbfd-in.h | 3 +-
bfd/libbfd.h | 3 +-
bfd/mach-o.c | 3 +-
bfd/simple.c | 25 +++--
6 files changed, 217 insertions(+), 147 deletions(-)
hooks/post-receive
--
gdb and binutils