From owner-cvs-all Tue Feb 9 09:18:59 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA11187 for cvs-all-outgoing; Tue, 9 Feb 1999 09:18:59 -0800 (PST) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from arc.hq.cti.ru (arc.hq.cti.ru [195.34.40.3]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id JAA11158; Tue, 9 Feb 1999 09:18:32 -0800 (PST) (envelope-from tejblum@arc.hq.cti.ru) Received: from arc.hq.cti.ru (localhost [127.0.0.1]) by arc.hq.cti.ru (8.9.0/8.9.0) with ESMTP id UAA20795; Tue, 9 Feb 1999 20:17:42 +0300 (MSK) Message-Id: <199902091717.UAA20795@arc.hq.cti.ru> X-Mailer: exmh version 2.0zeta 7/24/97 To: Bruce Evans cc: cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, dt@FreeBSD.ORG Subject: Re: cvs commit: src/include stdio.h src/lib/libc/stdio Makefile.inc fgetpos.c fseek.3 fseek.c fsetpos.c ftell.c In-reply-to: Your message of "Wed, 10 Feb 1999 02:17:39 +1100." <199902091517.CAA16311@godzilla.zeta.org.au> Date: Tue, 09 Feb 1999 20:17:42 +0300 From: Dmitrij Tejblum Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk > >However, there is a change I omitted that would, IMO, require a major > >version bump: addition of (not so) new errno values to sys_errlist. :-| > >As I understand, applications dynamically linked with old libc will be > >confused by a change of size of this array... > > No. The old code should use sys_nerr to avoid accessing beyond the end > of sys_errlist[], even if it is too crufty to use strerror(), etc. As I understand, sys_nerr don't help here. ld(1) relocate sys_errlist to some address while link the program, as well as any other symbol, and use its size stored in the "old" libc. So, larger sys_errlist from newer libc simple won't fit in the place relocated to it. The program will see new value of sys_nerr, though... Actually, I forgot details since I last looked. This issue is a bit different in a.out and elf. Apparently, for this reason NetBSD changed sys_errlist to be a pointer. A standard Terry's lecture "why dynamic linking with LGPL'ed library still don't make your program comply with LGPL" may be relevant here... Dima To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message