Subject: Re: can't profile on Shark
To: None <Richard.Earnshaw@arm.com>
From: Ben Harris <bjh21@netbsd.org>
List: port-arm
Date: 06/26/2003 18:26:16
On Thu, 26 Jun 2003, Richard Earnshaw wrote:

> > and libc_p is missing a __fixunssfsi function which is needed by gmon.o.
> > libgcc_p (the second instance) provides it, but it doesn't provide
> > __gesf2; and by that time it's too late to go back and search libc_p.a
> > again.
>
> I've tracked down why these functions aren't in libc, but I've no idea why
> Ben has removed them from ELF.

They were only provided on ELF systems for an hour and a half in July
2000, and that was because I'd made a mistake.  Thus, the question isn't
why I removed them, but why I didn't provide them in the first place.

As far as I can tell, I asked what I should do on tech-toolchain in August
2000[1], and Todd Vierling replied[2]:

# If you need it in order to support -msoft-float, and compiling libc does
# _not_ generate references to it, simply enable its generation in libgcc,
# unconditionally--it just won't be used by a program that doesn't need it.

I suspect I confirmed that libc.a didn't have any references to
__fixunssfsi or __fixunssfdi, and thus left them out of libc.  I doubt I
thought to check libc_p.a.

> Ben, why only legacy builds?

Because old a.out dynamic binaries would have used __fixunssfsi from
libc.so, and hence not pulled in the version from libgcc.a.  This meant
that we couldn't remove the symbol from libc even though new builds
wouldn't need it.

[1] <http://mail-index.netbsd.org/tech-toolchain/2000/08/01/0000.html>
[2] <http://mail-index.netbsd.org/tech-toolchain/2000/08/01/0001.html>

-- 
Ben Harris                                                   <bjh21@netbsd.org>
Portmaster, NetBSD/acorn26           <URL:http://www.netbsd.org/Ports/acorn26/>