This is the mail archive of the libc-alpha@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

glibc2.1 and Xlib compiled with glibc2.0 (libio incompatibility)


>Submitter-Id: net
>Originator: Eugene M. Indenbom
>Organization:  Space Research Institute, Moscow, Russia
>Confidential: no
>Synopsis: glibc2.1 applications linked with Xlib linked against glibc2.0 are not working
>Severity: serious
>Priority: medium
>Category: libc
>Class:  sw-bug
>Release: libc-2.1.0
>Environment:
Host type: i586-pc-linux-gnu
System: Linux tver 2.2.0 #1 SMP Tue Jan 26 10:42:08 MSK 1999 i686 unknown
Architecture: i686
 Addons: crypt linuxthreads
 Build CC: gcc
Compiler version: egcs-2.91.60 19981201 (egcs-1.1.1 release)
Kernel headers: 2.2.0
Symbol versioning: yes
Build static: yes
Build shared: yes
Build pic-default: no
Build profile: yes
Build omitfp: yes
Build bounded: no
Build static-nss: no
Stdio: libio
 
Binutils: 2.9.1.0.19a
 
>Description:
glibc2.1 applications linked with Xlib linked against glibc2.0 will terminate with SIGSEGV
when DISPLAY points to non-existent host.
The problem: X11 libs are using old libio _IO_stderr_ pointer, but newer programs
has _IO_stdio_used defined in crt1.c that forces new libio behavior => SIGSEGV
when called in old format. (Old IO is fprintf in Xtrans library when it can not resolve hostname)
The question is how to overcome this problem?
Is glibc2.1 binary incompatible with glibc2.0 so everything has to be recompiled?
Or only shared libraries has to be recompiled?
Or I have to use stdio library instead of libio on Linux.
 >How-To-Repeat:
1. Take XFree86 binary distribution for glibc 2.0, compile any X application with this X libraries
provided and glibc2.1. (I try xtetris-2.6)
2. DISPLAY=tcp/nohost:0.0
3. Run it : got SIGSEGV
>Fix: ???
Sincerely Yours, Eugene

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]