Port-m68k archive

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

Re: libm compilation failing in -current



John Klos wrote:

>> Do you have any local diffs? Did you try a clean build?
>
> I just tried a completely fresh tree on an amd64 system and got the
> same issue. I'm about to try on a macppc machine.

While I was trying to reproduce your 68060 userland build problem I ran into
exactly this DT_TEXTREL warning. How did you solve it?

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...

So either the linker's warning is wrong or the 68060-fplsp part has to be
changed to use PLT-relocs.

-- 
Frank Wille



Home | Main Index | Thread Index | Old Index