bfd/elfnn-aarch64.c: Fix calculation of DT_RELASZ
authorWill Newton <will.newton@linaro.org>
Fri, 14 Mar 2014 11:45:32 +0000 (11:45 +0000)
committerWill Newton <will.newton@linaro.org>
Tue, 25 Mar 2014 09:01:50 +0000 (09:01 +0000)
commitc955de363b91edba8a92877f97b1be68357d9582
treeec54faa2f116cfd2a1f1c65720fc92e86ab52403
parent3e60bf4df86f323dde4281886a355589488149aa
bfd/elfnn-aarch64.c: Fix calculation of DT_RELASZ

The current code subtracts the size of the output section containing
relplt from RELASZ. In some cases this will be the same output
section as the dynamic relocs causing a value of zero to be output.
Calculating the size from input sections seems to make more sense.

bfd/ChangeLog:

2014-03-25  Will Newton  <will.newton@linaro.org>

 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
 Set value of DT_PLTRELSZ and DT_RELASZ based on the size
 of input sections rather than output sections.

ld/testsuite/ChangeLog:

2014-03-25  Will Newton  <will.newton@linaro.org>

 * ld-aarch64/aarch64-elf.exp: Add relasz dump test.
 * ld-aarch64/relasz.d: New file.
 * ld-aarch64/relasz.s: Likewise.
bfd/ChangeLog
bfd/elfnn-aarch64.c
ld/testsuite/ChangeLog
ld/testsuite/ld-aarch64/aarch64-elf.exp
ld/testsuite/ld-aarch64/relasz.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/relasz.s [new file with mode: 0644]