This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb and binutils branch master updated. 4564fb94daa76c3b339507f0f985dc139f2db8ba


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  4564fb94daa76c3b339507f0f985dc139f2db8ba (commit)
       via  da44f4e5464f82dec79eb5885961c6466dd3bf6a (commit)
      from  7f85237141c02e3989311cbaca19038c7c3d5b2c (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=4564fb94daa76c3b339507f0f985dc139f2db8ba

commit 4564fb94daa76c3b339507f0f985dc139f2db8ba
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 22 09:12:09 2014 +0930

    Delete redundant struct cie field
    
    cie->output_sec is used to when merging CIEs to ensure that only CIEs
    from the same output section are merged.  I noticed an assignment to
    this field in _bfd_elf_parse_eh_frame, and thought "That's wrong,
    output_section isn't set properly when _bfd_elf_parse_eh_frame is
    called from gc-sections code".  It turns out that this assignment is
    premature, and in fact a dead store.  find_merged_cie overwrites with
    the correct value before the field is ever used.  On looking a little
    more it becomes apparent that cie->cie_inf.u.cie.u.sec->output_section
    holds the same value, so cie->output_sec is redundant.
    
    	* elf-eh-frame.c (struct cie): Delete "output_sec" field.
    	(cie_eq, cie_compute_hash): Use output_section from cie_inf instead.

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=da44f4e5464f82dec79eb5885961c6466dd3bf6a

commit da44f4e5464f82dec79eb5885961c6466dd3bf6a
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 22 09:07:35 2014 +0930

    Index PowerPC64 linker generated .eh_frame in .eh_frame_hdr
    
    I noticed recently that .eh_frame FDEs generated by the linker for
    call stubs and .glink weren't being indexed in .eh_frame_hdr, due to
    bfd_elf_discard_info being run before the linker generated .eh_frame
    sections were available for parsing.  This patch moves code around in
    elf64-ppc.c and ppc64elf.em to avoid that problem.
    
    Another problem fixed here is that --gc-sections parses .eh_frame
    early, and the existing machinery allows only one go at parsing the
    .eh_frame sections.  That resulted in the linker generated .eh_frame
    CIEs not being merged and no .eh_frame_hdr index entries for those
    FDEs.  It turns out that all the info from parsing .eh_frame is
    attached to the section, so order of parsing isn't important, and
    after parsing sec_info_type being set will prevent a section being
    parsed again.  At least, when parsing doesn't hit an error.  So there
    isn't really any need for "parsed_eh_frame".  "merge_cies" is also
    redundant, which means _bfd_elf_{begin,end}_eh_frame_parsing can also
    disappear.
    
    bfd/
    	* elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and
    	parsed_eh_frames.
    	(_bfd_elf_begin_eh_frame_parsing): Delete.
    	(_bfd_elf_end_eh_frame_parsing): Delete.
    	* elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): Delete.
    	(_bfd_elf_end_eh_frame_parsing): Delete.
    	(_bfd_elf_parse_eh_frame): Don't test parsed_eh_frame.  Test
    	!info->relocatable in place of merge_cies.
    	* elflink.c (bfd_elf_gc_sections, bfd_elf_discard_info): Adjust.
    	* elf64-ppc.c (glink_eh_frame_cie): Pad to multiple of 8.
    	(ppc64_elf_size_stubs): Likewise pad stub FDE.
    	(ppc64_elf_build_stubs): Move code setting glink .eh_frame to..
    	(ppc64_elf_size_stubs): ..here and..
    	(ppc64_elf_finish_dynamic_sections): ..here.
    ld/
    	* emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call
    	bfd_elf_discard_info after generating glink .eh_frame.  Delete
    	redundant test on ppc64_elf_setup_section_lists status.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog            |   22 ++++
 bfd/elf-bfd.h            |    9 --
 bfd/elf-eh-frame.c       |   39 +-----
 bfd/elf64-ppc.c          |  282 ++++++++++++++++++++++++++-------------------
 bfd/elflink.c            |   20 +---
 ld/ChangeLog             |    6 +
 ld/emultempl/ppc64elf.em |   28 +++---
 7 files changed, 218 insertions(+), 188 deletions(-)


hooks/post-receive
-- 
gdb and binutils


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]