This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Missing symbols (Was: glibc 2.1.93)
- To: "Martin v. Loewis" <martin at loewis dot home dot cs dot tu-berlin dot de>
- Subject: Re: Missing symbols (Was: glibc 2.1.93)
- From: Andreas Jaeger <aj at suse dot de>
- Date: 05 Sep 2000 09:47:10 +0200
- Cc: drepper at cygnus dot com, libc-alpha at sourceware dot cygnus dot com
- References: <m366ogq5qq.fsf@otr.mynet.cygnus.com><200009050727.JAA01354@loewis.home.cs.tu-berlin.de>
>>>>> Martin v Loewis writes:
>> Send success stories and bug reports to libc-alpha@sourceware.cygnus.com.
> I have a problem using the Perl IO module. Perl reports
> Can't load '/usr/lib/perl5/5.6.0/i586-linux/auto/IO/IO.so' for module IO: symbol fsetpos64, version GLIBC_2.1 not defined in file libc.so.6 with link time reference at /usr/lib/perl5/5.6.0/i586-linux/XSLoader.pm line 73.
> Indeed, looking for fsetpos64 in glibc 2.1.3, I get
> 0004b200 t _IO_fsetpos64
> 0004b200 W fsetpos64
> With 2.1.93, I get
> 000666b0 T _IO_fsetpos64@@GLIBC_2.2
> 0006bf30 t _IO_fsetpos64@GLIBC_2.0
> 000666b0 t _IO_new_fsetpos64
> 0006bf30 t _IO_old_fsetpos64
> 000666b0 t __new_fsetpos64
> 000666b0 T fsetpos64@@GLIBC_2.2
> That looks like an incompatibility to me.
You're right. fsetpos64 and fgetpos64 were introduced in glibc 2.1.
Here's a patch. Shall I commit it?
Andreas
2000-09-05 Andreas Jaeger <aj@suse.de>
* libio/oldiofsetpos64.c: iofsetpos was introduced in glibc 2.1,
change symbol version.
* libio/oldiofgetpos64.c: Likewise.
Reported by Martin v. Loewis <martin@loewis.home.cs.tu-berlin.de>.
============================================================
Index: libio/oldiofsetpos64.c
--- libio/oldiofsetpos64.c 2000/03/27 05:18:31 1.2
+++ libio/oldiofsetpos64.c 2000/09/05 07:46:54
@@ -61,9 +61,9 @@
}
#ifdef weak_alias
-compat_symbol (libc, _IO_old_fsetpos64, _IO_fsetpos64, GLIBC_2_0);
+compat_symbol (libc, _IO_old_fsetpos64, _IO_fsetpos64, GLIBC_2_1);
strong_alias (_IO_fsetpos64, __old_fsetpos64)
-compat_symbol (libc, __old_fsetpos64, _IO_fsetpos64, GLIBC_2_0);
+compat_symbol (libc, __old_fsetpos64, _IO_fsetpos64, GLIBC_2_1);
#endif
#endif
============================================================
Index: libio/oldiofgetpos64.c
--- libio/oldiofgetpos64.c 2000/03/27 05:18:31 1.2
+++ libio/oldiofgetpos64.c 2000/09/05 07:46:54
@@ -63,9 +63,9 @@
}
#ifdef weak_alias
-compat_symbol (libc, _IO_old_fgetpos64, _IO_fgetpos64, GLIBC_2_0);
+compat_symbol (libc, _IO_old_fgetpos64, _IO_fgetpos64, GLIBC_2_1);
strong_alias (_IO_old_fgetpos64, __old_fgetpos64)
-compat_symbol (libc, __old_fgetpos64, fgetpos64, GLIBC_2_0);
+compat_symbol (libc, __old_fgetpos64, fgetpos64, GLIBC_2_1);
#endif
#endif
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj