This is the mail archive of the
gsl-discuss@sourceware.cygnus.com
mailing list for the GSL project.
["Khimenko Victor" <khim@sch57.msk.ru>] Can not compile some GSL-based programs with SHARED GLIBC 2.1.1
- To: GSL discussion list <gsl-discuss@sourceware.cygnus.com>
- Subject: ["Khimenko Victor" <khim@sch57.msk.ru>] Can not compile some GSL-based programs with SHARED GLIBC 2.1.1
- From: Mark Galassi <rosalia@cygnus.com>
- Date: 05 May 1999 09:20:55 +0200
------- Start of forwarded message -------
To: bugs@gnu.org
Message-Id: <AFBXpBtuiC@khim.mccme.ru>
Organization: MCCME
From: "Khimenko Victor" <khim@sch57.msk.ru>
Date: Tue, 4 May 1999 22:11:23 +0400 (MSD)
Subject: Can not compile some GSL-based programs with SHARED GLIBC 2.1.1
>Submitter-Id: net
>Originator: khim@sch57.msk.ru
>Organization: The Moscow State 57th School
>Confidential: no
>Synopsis: Problems with __setfpucw, used in GSL
>Severity: non-critical
>Priority: low
>Category: libc
>Class: sw-bug
>Release: libc-2.1.1
>Environment:
Host type: i586-ksi-linux-gnu
System: Linux khim.sch57.msk.ru 2.2.2-ac5 #1 SMP Sat Feb 27 12:19:08 EET 1999 i586 unknown
Architecture: i586
Addons: crypt glibc-compat linuxthreads
Build CFLAGS: -D__USE_STRING_INLINES -O3 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -fstrict-aliasing -g -march=pentium -mcpu=pentium -pipe
Build CC: gcc
Compiler version: egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
Kernel headers: 2.2.2-ac5
Symbol versioning: yes
Build static: yes
Build shared: yes
Build pic-default: no
Build profile: yes
Build omitfp: no
Build bounded: no
Build static-nss: no
Stdio: libio
>Description:
I can not link some GSL-programs with SHARED GLIBC 2.1.1 ... I tracked problem
down to __setfpucw() function usage. __setfpucw is in libc.a but not in
libc.so.2.2.1 nor in libc_nonshared.a ...
The question: who is wrong ? GSL or GLIBC ? Or may be I'm just miscompiled
GLIBC ? Looks like this function is now replaced with macro _FPU_SETCW in
fpu_control.h, but if this function is not needed why it's in libc.a ?
>How-To-Repeat:
-- cut --
[khim@khim test]$ gcc -static test.c
[khim@khim test]$ gcc test.c
/tmp/ccW3MNYl.o: In function `main':
/tmp/ccW3MNYl.o(.text+0x6): undefined reference to `__setfpucw'
collect2: ld returned 1 exit status
[khim@khim test]$ cat test.c
main() {
__setfpucw(1);
}
[khim@khim test]$
-- cut --
>Fix:
Now know which one will be right :-/ For now I just changed GSL to use
_FPU_SETCW instead of __setfpucw ...
------- End of forwarded message -------