binutils dhd

Alan Modra alan@linuxcare.com.au
Wed, 27 Sep 2000 10:57:32 +1100 (EST)


On Tue, 26 Sep 2000, David Huggins-Daines wrote:

> Sometimes we get the "split field selectors" problem in import stubs
> if the distance between the GP and the PLT is not a multiple of 8
> bytes.  Use alignment constraints on .plt, .got, and .data to fix
> this.

Ouch.  But aligning doesn't fix the problem (well, it may in a particular
case).  The reason aligning won't always work is that import and long
branch stubs are interspersed in the stub section, and PIC long branch
stubs happen to be 12 bytes long.  Which messes with your carefully
constructed 8 byte alignment.

The proper fix is to use lr_sel and rr_sel when building the import stubs,
so I'm reverting your change unless you have some other reason for wanting
8 byte alignment.

Alan
-- 
Linuxcare.  Support for the Revolution.