[parisc-linux] More unaligned references

amodra@one.net.au amodra@one.net.au
Tue, 22 May 2001 10:37:40 +0930


On Mon, May 21, 2001 at 11:40:50PM +0100, Matthew Wilcox wrote:
> On Mon, May 21, 2001 at 04:27:07PM -0600, Paul Bame wrote:
> > FYI in case others run across it, this was discovered to be the ".plt-1" bug.
> > To find out, use 'objdump -h' to figure out where .plt is loaded.  Then add
> > 0x4800 plus 0xfb plus the dp register (r27).  If that's .plt-1 you've found
> > the bug which is/should-be squashed in recent bits.
> 
> Not convinced.  Yes, this is in fact .plt-1.  However, that bug is
> supposed to be both fixed in this version of binutils and an assert
> added to catch it happening.  However, no assert is being tripped.
> FWIW, the offending caller is:
> 
>      1d0:       eb e0 00 00     b,l 1d8 <create_server_config+0x5c>,r31
>                         1d0: R_PARISC_PCREL17F  $$dyncall

A shared library created with the "bad" binutils exports millicode syms it
isn't supposed to, which the linker later rejects, resulting in .plt-1
references.  The assert should still have triggered...

A quick check whether a library is good is:
nm --dynamic <lib> | grep '\$\$'

This will show exported millicode syms since they start with '$$'.

Alan