Hello, R_ARM_TARGET2 relocs are interpreted as got-relative by the VxWorks 7 system linker for RTPs.
This patch, contributed by Jérôme Lambourg, adjusts the ARM_TARGET2_DWARF_FORMAT definition for VxWorks RTPs accordingly. This isn't conditioned on TARGET_VXWORKS7 because Vx6 uses dwarf eh on ARM, so the definition is currently valid for all the VxWorks ports relying on ARM unwind info. This has been exercised extensively on gcc-7 based toolchains in-house, where it fixes broken exception handling on binaries produced by the system linker. Committing to mainline, where the patch applies untouched. With Kind Regards, Olivier 2018-10-03 Jérôme Lambourg <lambo...@adacore.com> * config/arm/vxworks.h (ARM_TARGET2_DWARF_FORMAT): Adjust to DW_EH_PE_pcrel | DW_EH_PE_indirect for RTPs.
vxarm-target2.diff
Description: Binary data