Fix alpha-elf relaxation
authorRichard Henderson <rth@twiddle.net>
Mon, 21 Apr 2014 15:14:18 +0000 (08:14 -0700)
committerRichard Henderson <rth@twiddle.net>
Mon, 21 Apr 2014 15:14:18 +0000 (08:14 -0700)
commitd1c109de72f880ea2a761fccb41f330672674fd9
treedb6a544f157d14f9ef7048598df7a80334c5ec42
parentcc75d373fdb9668f367959f99f0b67e056a6c18a
Fix alpha-elf relaxation

ld/
* emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes.
bfd/
* elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge
parameter; honor it and disable got merging when false.
(elf64_alpha_relax_got_load): Do not relax to GPREL relocs during
the first pass of relaxation.
(elf64_alpha_relax_with_lituse): Likewise.  Move relaxed relocs to
the end of the LITERAL+LITUSE chain.
(elf64_alpha_relax_section): Only process LITERAL relocs during the
second pass of relaxation.
bfd/ChangeLog
bfd/elf64-alpha.c
ld/ChangeLog
ld/emultempl/alphaelf.em