[gold commit] PR 19823: Don't allow COPY relocs to protected symbols

Cary Coutant ccoutant@gmail.com
Mon Jun 27 17:40:00 GMT 2016


> Cary, this test fails on powerpc64 and powerpc64le because no copy
> relocs are needed with a PIC executable, and powerpc64 is PIC by
> default.
>
> One way to force a non-PIC reference to the protected visibility
> variable in a read-only section, and thus require a copy reloc is:
>
> int* __attribute__ ((section (".rodata"))) ipp = &ip;
>
> It isn't really clean though, and results in assembler warnings about
> attributes of .rodata.  Using
>
> int* const ipp = &ip;
>
> doesn't work because even at -O1 gcc looks through a *ipp reference
> and omits ipp.
>
> Do you have any suggestions?

Is there any reason we shouldn't just skip that test case for targets
that don't normally use copy relocs?

-cary



More information about the Binutils mailing list