tech-toolchain archive

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

Re: sun2 vs. gcc48



On Sun, Feb 01, 2015 at 08:26:49PM -0800, Chuck Silvers wrote:
> On Mon, Feb 02, 2015 at 12:19:56AM +0100, Joerg Sonnenberger wrote:
> > On Sun, Feb 01, 2015 at 02:02:58PM -0800, Chuck Silvers wrote:
> > > I'm pretty sure that's not correct but I don't know what would be better.
> > > without that change I get this error trying to link libc.so:
> > > 
> > > /home/chs/netbsd/trees/sun2-shlib/destdir/sun2/usr/lib/libgcc.a(_float.o): In function `__negsf2':
> > > (.text+0x686): multiple definition of `__negsf2'
> > > libc_pic.a(negsf2.pico):(.text+0x0): first defined here
> > > /home/chs/netbsd/trees/sun2-shlib/destdir/sun2/usr/lib/libgcc.a(_double.o): In function `__negdf2':
> > > (.text+0x8ce): multiple definition of `__negdf2'
> > > libc_pic.a(negdf2.pico):(.text+0x0): first defined here
> > > collect2: error: ld returned 1 exit status
> > > *** [libc.so.12.197] Error code 1
> > 
> > Can you check the spec, please? libc.so should need nothing from
> > libgcc.a that libgcc_s.so doesn't already provide.
> 
> my understanding of that error is that linking libc.so pulled in __neg* from compiler_rt first,
> then it pulled in something else from the libgcc _float.o and _double.o, which both define
> multiple symbols.  it's the subsequent need to pull in _float.o and _double.o for the other symbols
> that caused the conflict with negsf2.pico and negdf2.pico.
> 
> if you still want more information, could you explain what you mean by "check the spec"?

What is missing in libc is a somewhat separate question. It should still
only look at libgcc_s.so and not use the content from libgcc.a.
What does gcc -v for the link show?

Joerg


Home | Main Index | Thread Index | Old Index