[PATCH][gold] Handle ARM-specific --target1-abs, --target1-rel and --target2 options.

Igor Kudrin ikudrin@accesssoftek.com
Thu Jun 30 17:17:00 GMT 2016


Hi,

This patch implements --target1-abs, --target2-rel and --target2
options, which are used to set desired relocation types for
R_ARM_TARGET1 and R_ARM_TARGET2. Pre-existing defaults, which were
R_ARM_ABS32 for R_ARM_TARGET1 and R_ARM_GOT_PREL for R_ARM_TARGET2,
are preserved, so the linker's behavior is not changed if these
options are not used.

This patch is based on the old patch by Doug Kwan, see
https://sourceware.org/ml/binutils/2009-11/msg00281.html.
The tests are based on the corresponding tests from ld.

Best regards,
Igor Kudrin

---
gold/ChangeLog

	* arm.cc (Target_arm::Target_arm): Handle --target1-rel,
	--target1-abs and --target2= options.
	(Target_arm::get_reloc_reloc_type): Remove static, add const.
	(Target_arm::target1_reloc_, Target_arm::target2_reloc_): New
	data members.
	(Target_arm::Scan::local): Adjust call to get_real_reloc_type.
	(Target_arm::Scan::global): Likewise.
	(Target_arm::Relocate::relocate): Likewise.
	(Target_arm::Classify_reloc::get_size_for_reloc): Likewise.
	(Target_arm::get_real_reloc_type): Use the new data members
	to return real types of R_ARM_TARGET1 and R_ARM_TARGET2.
	* options.h (--target1-rel, --target1-abs, --target2): New ARM-only
	options.
	* testsuite/Makefile.am (arm_target1_abs, arm_target1_rel,
	(arm_target2_abs, arm_target2_got_rel, arm_target2_rel): New tests.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/arm_target1.s: New test source file.
	* testsuite/arm_target2.s: Likewise.
	* testsuite/arm_target1_abs.sh: New test script.
	* testsuite/arm_target1_rel.sh: Likewise.
	* testsuite/arm_target2_abs.sh: Likewise.
	* testsuite/arm_target2_got_rel.sh: Likewise.
	* testsuite/arm_target2_rel.sh: Likewise.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gold-arm-target-opts.patch.txt
URL: <https://sourceware.org/pipermail/binutils/attachments/20160630/b2f1148e/attachment.txt>


More information about the Binutils mailing list