This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: A patch to add --with-oldest-abi=ABI. [Re: A patch to add --disable-old-version.]
- To: Ulrich Drepper <drepper at cygnus dot com>
- Subject: Re: A patch to add --with-oldest-abi=ABI. [Re: A patch to add --disable-old-version.]
- From: "H . J . Lu" <hjl at valinux dot com>
- Date: Sat, 2 Dec 2000 09:36:32 -0800
- Cc: GNU C Library <libc-alpha at sourceware dot cygnus dot com>
- References: <20001130132922.A11034@valinux.com> <20001130172636.A19978@valinux.com> <m3lmtzchws.fsf@otr.mynet.cygnus.com>
On Sat, Dec 02, 2000 at 01:05:23AM -0800, Ulrich Drepper wrote:
> I have applied this patch now although I'm still not 100% satisfied:
Thanks. But there are no ChangeLog entries for this patch. BTW, have
you looked at my syscall patch for SHLIB_COMPAT?
>
> - res_init is not handled correctly
What is wrong? There is
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2)
# undef res_init
weak_alias (__res_init, res_init);
#endif
It indicates that res_init is obsoleted by GLIBC_2.2.
# objdump --dynamic-sym libc.so.6 | grep res_init
000eaad0 g DF .text 00000078 GLIBC_2.2 __res_init
res_init is gone with --with-oldest-abi=2.2.
>
> - applications using the old interfaces start up with the reduced library
> and will crash later. This really has to be avoided. Looking through
This a.out was compiled on glibc 2.0.
# objdump --dynamic-sym a.out| grep GLIBC
08048324 w DF *UND* 00000074 GLIBC_2.0 __register_frame_info
08048334 DF *UND* 00000024 GLIBC_2.0 fprintf
08048344 w DF *UND* 000000a2 GLIBC_2.0 __deregister_frame_info
08048354 DF *UND* 000000ed GLIBC_2.0 fclose
08048364 DF *UND* 0000006e GLIBC_2.0 fopen
08048374 DF *UND* 00000105 GLIBC_2.0 __libc_start_main
# /work/build/gnu/bin/glibc-current/elf/ld-linux.so.2 --library-path /work/build/gnu/bin/glibc-current ./a.out
./a.out: error while loading shared libraries: ./a.out: symbol fopen, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
I must have missed something.
H.J.