[PATCH]Replace -shared with -r -nostdlib in gcc.dg/lto/pr61526 pr54709 pr64415 test cases.
Mon Feb 29 16:14:00 GMT 2016
The gcc.dg/lto/pr54709, pr61526, pr64415 linking testcases keep failing on
arm/aarch64 bare-metal target.
It's because statically built newlib library is used to link with shared object.
And the linker complains about relocations which cannot be used in
For example, the following errors are produced:
crtbegin.o: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be
used when making a shared object; recompile with -fPIC
crtbegin.o: relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not
be used when making a shared object; recompile with -fPIC
librdimon.a(rdimon-syscalls.o): relocation R_AARCH64_ADR_PREL_PG_HI21 against
external symbol `_impure_ptr' can not be used when making a shared object;
recompile with -fPIC
Presumably, bare-metal toolchain for other architecture have those test case
failures as well?
In this patch, -shared option is replace by -r -nostdlib. So that the standard
system startup files or libraries are not used when linking.
arm-none-eabi, aarch64-none-elf regression test OK, OK for trunk?
2016-02-29 Renlin Li<firstname.lastname@example.org>
* gcc.dg/lto/pr54709_0.c: Replace -shard with -r -nostdlib.
* gcc.dg/lto/pr61526_0.c: Ditto.
* gcc.dg/lto/pr64415_0.c: Ditto.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1592 bytes
Desc: not available
More information about the Gcc-patches