[ARM] PR ld/21402, only override the symbol dynamic decision on undefined weak symbol

Renlin Li renlin.li@foss.arm.com
Wed Sep 20 13:26:00 GMT 2017


Hi all,

This is a similar path as this one.
https://sourceware.org/ml/binutils/2017-06/msg00391.html
https://sourceware.org/ml/binutils/2017-05/msg00341.html

Similar as aarch64 backend, arm backend only overrides the decision on undefined weak 
symbols. arm backend part already emits necessary relative relocation for this case.

Few test cases are adjusted. As some symbols is not in the dynamic symbol table, some 
relocations are not generated.


cross/native check-gas/ld have been done without new regressions.
native gcc regression (gcc/g++/gfortran) with new binutils is done without
new regressions.

Okay to commit?

Regards,
Renlin

bfd/ChangeLog:

2017-09-20  Renlin Li  <renlin.li@arm.com>

            PR ld/21402
	(allocate_dynrelocs_for_symbol): Only make undefined weak symbols into
	dynamic.
	(elf32_arm_finish_dynamic_symbol): Add sanity check.

ld/ChangeLog:

2017-09-20  Renlin Li  <renlin.li@arm.com>

            PR ld/21402
	* testsuite/ld-arm/tls-app.d: Update address.
	* testsuite/ld-arm/tls-app.r: Remove relocations.
	* testsuite/ld-arm/unresolved-1-dyn.d: Update.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: arm.diff
Type: text/x-patch
Size: 3864 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20170920/c964e367/attachment.bin>


More information about the Binutils mailing list