RFC: Disallow protected data symbol with copy relocation?

H. J. Lu hjl@lucon.org
Fri Jan 21 05:18:00 GMT 2005


On Fri, Jan 21, 2005 at 12:07:01AM -0500, Ian Lance Taylor wrote:
> "H. J. Lu" <hjl@lucon.org> writes:
> 
> > Protected data symbol with copy relocation never works as intended.
> > The problem is with copy relocation, main and DSO see different
> > copies of the protected data symbol. Updating one won't change
> > the other. You can't compare their addresses either. There is no
> > easy way to get it to work unless the psABI is changed. I am proposing
> > to make linker to reject protected data symbol with copy relocation.
> > Any comments?
> 
> Why would the linker ever generate a copy relocation for a protected
> symbol?  I don't see how that makes sense.
> 

For some psABIs, copy relocation is the normal way for main to access
data symbol on DSO. On ia32, you may generate writable text section
to work around it or compile main with PIC to avoid copy relocation.
But on x86_64, you may have to compile main with PIC.


H.J.



More information about the Binutils mailing list