[PATCH] Fix default_binds_local_p_2 for extern protected data

Bernd Schmidt bschmidt@redhat.com
Wed Sep 30 15:02:00 GMT 2015

On 09/17/2015 11:15 AM, Szabolcs Nagy wrote:
> ping 2.
> this patch is needed for working visibility ("protected")
> attribute for extern data on targets using default_binds_local_p_2.
> https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01871.html

I hesitate to review this one since I don't think I understand the 
issues on the various affected arches well enough. It looks like Jakub 
had some input on the earlier changes, maybe he could take a look? Or 
maybe rth knows best. Adding Ccs.

It would help to have examples of code generation demonstrating the 
problem and how you would solve it. Input from the s390 maintainers 
whether this is correct for their port would also be appreciated.

>>> Needs a further binutils patch too to emit R_*_GLOB_DAT
>>> instead of R_*_RELATIVE relocs for protected data.
>>> The glibc elf/tst-protected1a and elf/tst-protected1b
>>> tests depend on this.

What is the consequence of not having this binutils patch? Is the gcc 
patch and improvement, a null, or are there situations where it causes 
regressions without the binutils patch?

>>> Tested ARM and AArch64 targets.

Tested how, with or without this binutils patch?


More information about the Gcc-patches mailing list