Skip to contentSkip to conversation

Don't rebuild gcc/glibc yet

parisc-linux David Huggins-Daines 2 participants 3 messages Jul 11, 2000

lore
Share & tools
lore
#0 lore raw

Hi,

glibc is currently a bit borken, probably because I foolishly tried to enable 'long double' support in gcc:

/home/dhd/src/parisc/glibc-build/libc.a(vfscanf.o): In function `_IO_vfscanf':
/home/dhd/src/parisc/glibc/stdio-common/vfscanf.c:1582: undefined reference to _U_Qfneg' /home/dhd/src/parisc/glibc-build/libc.a(strtold.o): In function __strtold_internal':
/home/dhd/src/parisc/glibc/stdlib/strtod.c:532: undefined reference to `_U_Qfcnvff_sgl_to_quad'

Is the long double stuff in gcc supposed to work at all? (i.e. are there definitions of those functions anywhere?) I get 'sizeof(long double) == 0' when configuring glibc, but strangely enough it still wants to use them...

For now I'll back out that bit in gcc. Sorry about this.

Signature · 2 lines
[email protected], http://www.linuxcare.com/
Linuxcare. Support for the revolution.
#1 lore raw

In message <[email protected]>you write:

Quoted 1 line

Is the long double stuff in gcc supposed to work at all?

Yes.

Quoted 1 line

(i.e. are there definitions of those functions anywhere?)

I believe they're in libc.a or milli.a on hpux systems.

Quoted 1 line

I get 'sizeof(long double) == 0' when configuring glibc, but

. strangely enough it still wants to use them...
You should never get sizeof long double == 0 -- if long doubles are not supported, they should be treated like doubles.
jeff

#2 lore raw
Quoted 2 lines · Jeffrey A Law
Quoted 1 line

(i.e. are there definitions of those functions anywhere?)

I believe they're in libc.a or milli.a on hpux systems.

Yes, actually, gcc/config/pa/quadlib.c, as I discovered when looking at the other PA targets.

Quoted 4 lines
Quoted 1 line

I get 'sizeof(long double) == 0' when configuring glibc, but

. strangely enough it still wants to use them...
You should never get sizeof long double == 0 -- if long doubles are not supported, they should be treated like doubles.

Yeah, I realized why that is, it's because glibc's configure.in does:

dnl check for the size of 'long double'.
AC_CHECK_SIZEOF(long double, 0)

Which makes sense :-)

Signature · 2 lines
[email protected], http://www.linuxcare.com/
Linuxcare. Support for the revolution.