Fix internal error in do_relocate_sections when using plugins.
authorCary Coutant <ccoutant@gmail.com>
Sun, 22 Mar 2015 00:47:49 +0000 (17:47 -0700)
committerCary Coutant <ccoutant@gmail.com>
Sun, 22 Mar 2015 00:49:21 +0000 (17:49 -0700)
commitbd9e0d4628f1265c42516f90c4f162cefa787294
treeaf18a161c887c88b7ecc8cf55f528dcf51a2c82c
parent71883406817425ea853f6a0dd7847f3e0a17dfc9
Fix internal error in do_relocate_sections when using plugins.

In a previous patch for PR 14675, to fix a problem with
the .eh_frame section when static linking, I added a step to
finalize the .eh_frame section at the end of the first link
pass. This patch caused PR 18152, where a plugin-claimed
object caused a non-claimed object's layout to be deferred
until replacement files were read. The call to
finalize_eh_frame_section() is happening before the layout of
the deferred objects, leading to the internal error in
do_relocate_sections.

This patch moves the finalization of the .eh_frame section to
after deferred objects have been processed.

gold/
PR gold/14675
PR gold/18152
* gold.cc (queue_middle_tasks): Finalize .eh_frame after laying out
deferred objects.
gold/ChangeLog
gold/gold.cc