Port-m68k archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: libm compilation failing in -current



On Mon, Jan 04, 2010 at 07:10:48PM +0100, Frank Wille wrote:
> 
> I analyzed some object files and found out that there are indeed 36 objects
> in libm_pic.a which have a .rela.text section. For example in s_atan.so the
> relocation looks like this:
> 
> 00000000 <atan>:
>    0:   60ff 0000 0000  bral 2 <atan+0x2>
>                         2: R_68K_PC32   __fplsp060_0038
> 
> All are coming from src/lib/libm/arch/m68060 and calling functions from
> Motorola's 68060 floating point library (which is the reason it didn't
> happen to anybody else before ;).
> 
> Those 32-bit PC-relative relocs are definitely those which cause the
> warning "creating a DT_TEXTREL in a shared object", although I fail to
> understand why a PC-relative reference inside the same .text section needs
> a DT_TEXTREL? The linker should resolve the reference and the reloc entry
> disappears...

Only if you ask it to ...
The default for elf is to allow an application to override symbols provided
by a library - even for calls withing the library itself.
There is a linker option to do the immediate fixups.

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index