gdb and binutils branch master updated. a3e60ddb0b43a3aed32f2982d472ab305c7e8f67
amodra@sourceware.org
amodra@sourceware.org
Wed Nov 26 03:00:00 GMT 2014
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 a3e60ddb0b43a3aed32f2982d472ab305c7e8f67 (commit)
from aa4893954a75660d2aa66245cb9d020049cb9546 (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=a3e60ddb0b43a3aed32f2982d472ab305c7e8f67
commit a3e60ddb0b43a3aed32f2982d472ab305c7e8f67
Author: Alan Modra <amodra@gmail.com>
Date: Wed Nov 26 11:10:29 2014 +1030
Retry powerpc gold stub grouping when groups prove too large
An unusually large number of stubs can result in the default section
group size being too large; sections plus stubs exceed the range of a
branch. Restarting the relaxation pass with a smaller group size can
sometimes help.
* powerpc.cc (struct Stub_table_owner): New.
(Powerpc_relobj): Rename stub_table_ to stub_table_index_, an
unsigned int vector. Update all references.
(powerpc_relobj::set_stub_table): Take an unsigned int param
rather than a Stub_table. Update callers.
(Powerpc_relobj::clear_stub_table): New function.
(Target_powerpc): Add relax_failed_, relax_fail_count_ and
stub_group_size_ vars.
(Target_powerpc::new_stub_table): Delete.
(max_branch_delta): New function, extracted from..
(Target_powerpc::Relocate::relocate): ..here..
(Target_powerpc::Branch_info::make_stub): ..and here. Return
status on whether stub created successfully.
(Stub_control::Stub_control): Add "no_size_errors" param. Move
default sizing to..
(Target_powerpc::do_relax): ..here. Init stub_group_size_ and
reduce on relax failure.
(Target_powerpc::group_sections): Add "no_size_errors" param.
Use stub_group_size_. Set up group info in a temp vector,
before building Stub_table vector. Account for input sections
possibly already converted to relaxed sections.
(Stub_table::init): Delete. Merge into..
(Stub_table::Stub_table): ..here.
(Stub_table::can_reach_stub): New function.
(Stub_table::add_plt_call_entry): Add "from" parameter and
return true iff stub could be reached.
(Stub_table::add_long_branch_entry): Similarly. Add "r_type"
param too.
(Stub_table::clear_stubs): Add "all" param.
-----------------------------------------------------------------------
Summary of changes:
gold/ChangeLog | 32 +++++
gold/powerpc.cc | 343 ++++++++++++++++++++++++++++++++++---------------------
2 files changed, 243 insertions(+), 132 deletions(-)
hooks/post-receive
--
gdb and binutils
More information about the Binutils-cvs
mailing list