[GOLD] correct grouping of stubs
authorAlan Modra <amodra@gmail.com>
Tue, 30 Aug 2016 02:28:05 +0000 (11:58 +0930)
committerAlan Modra <amodra@gmail.com>
Tue, 30 Aug 2016 02:50:27 +0000 (12:20 +0930)
commit57f6d32deafcfec43bef5e963e12aacc0783a1e4
tree47dbfd928fc73626acffbe23cd52a6f155f17da3
parent7229b687db8c5fe9c1534b763dea6d1211ff3993
[GOLD] correct grouping of stubs

This patch rewrites the rather obscure can_add_to_stub_group, fixing
a problem with the handling of sections containing conditional
external branches.  When a section group contains any such section,
the group size needs to be limited to a much smaller size than groups
with only non-conditional external branches.

PR 20523
* powerpc.cc (class Stub_control): Add has14_.  Comment owner_.
(Stub_control::can_add_to_stub_group): Correct grouping of
sections containing 14-bit external branches.  When returning
false, set state_ to reflect the fact that we have one section
for the next group.  Rewrite most of function for clarity.
Add and expand comments.
(Target_powerpc::do_relax): Print stub group size retry in hex.
gold/ChangeLog
gold/powerpc.cc