This is the mail archive of the glibc-linux@ricardo.ecn.wfu.edu 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 upgrade questions


I've recently upgraded my libc5 linux-2.2.12 i586 to glibc-2.1.2 (as the primary 
library) using gcc-2.96.1.  Two unrelated problems have surfaced:

1.  Even though I moved all my old shared libraries to a safe place,
and added this to /etc/ld.so.conf with a =libc5 tag, a small fraction
of my old applications still don't work.  For the most part, this
hasn't proved to be a big problem; I simply rebuild the package.  One
exception is ftptool--it no longer compiles under glibc2 (I also
rebuilt XFree86-3.3.5) and I'd really like to get the glibc1 versions running
again.  If I run ldd on it here's what it shows:

 libxview.so.3 => /usr/i586-pc-linux-gnulibc1/lib/libxview.so.3 (0x4000e000)
 libolgx.so.3 => /usr/i586-pc-linux-gnulibc1/lib/libolgx.so.3 (0x4010e000)
* libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40119000)
* libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40127000)
 libm.so.5 => /lib/libm.so.5 (0x401eb000)
 libc.so.5 => /lib/libc.so.5 (0x401f3000)
* libc.so.6 => /lib/libc.so.6 (0x402b0000)
 ld-linux.so.2 => /lib/ld-linux.so.2 (0x403ad000)

The starred lines are wrong (there are libc5 versions of libXext and
libX11 in usr/i586-pc-linux-gnulibc1/lib, but somehow these aren't
being picked up).  I'm also not sure if the ld-linux.so.2 line is
correct.  (Prior to the upgrade I was using version 1.9.9, and this is
still in /lib).

2.  I have some code that traps floating exceptions using __setfpucw.
I gather this is no longer supported in glibc2, and the documention
tells me how to query for various exceptions using fetestexcept(), but
I'd like to enable the old behavior and the documentation strongly
suggests that this should be possible.  I tried the following which
didn't work:

	#include <stdio.h>
	#include <fenv.h>
	static void __attribute__ ((constructor))trapfpe ()
	{
	  fenv_t env;
	  fegetenv(&env);
	  env.__control_word=FE_INVALID|FE_OVERFLOW|FE_DIVBYZERO;
	  fesetenv(&env);
	}

Any suggestions would be most appreciated.


David


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