This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH]Replace -shared with -r -nostdlib in gcc.dg/lto/pr61526 pr54709 pr64415 test cases.


On Mon, Feb 29, 2016 at 5:13 PM, Renlin Li <renlin.li@foss.arm.com> wrote:
> Hi all,
>
> 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
> shared object.
>
> 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.

Note that -shared is not equivalent to -r -nostdlib so please verify that the
original issue can be still reproduced with its fix reverted but -r -nostdlib
used with the new -r -nostdlib handling on trunk.

Otherwise simply dg-skip for aarch64.

Richard.

>
> arm-none-eabi, aarch64-none-elf regression test OK, OK for trunk?
>
> Regards,
> Renlin Li
>
> gcc/testsuite/ChangeLog:
>
> 2016-02-29  Renlin Li<renlin.li@arm.com>
>
>         * 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.
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]