From owner-freebsd-current Sat May 2 22:36:07 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id WAA09874 for freebsd-current-outgoing; Sat, 2 May 1998 22:36:07 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id WAA09783; Sat, 2 May 1998 22:35:52 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id PAA06287; Sun, 3 May 1998 15:31:21 +1000 Date: Sun, 3 May 1998 15:31:21 +1000 From: Bruce Evans Message-Id: <199805030531.PAA06287@godzilla.zeta.org.au> To: jb@FreeBSD.ORG Subject: errno change breaks old shared library linkage Cc: current@FreeBSD.ORG Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG The errno changes break old binaries linked to the current libtermcap.so in the usual way: $ less~ /etc/passwd /sbin/ld.so: Undefined symbol "___error" called from less~:/lib/libtermcap.so.2.1 at 0x2002212c $ ldd `which less~` /usr/bde/bin/less~: -ltermcap.2 => /lib/libtermcap.so.2.1 (0x2001f000) -lgcc.261 => /usr/lib/compat/libgcc.so.261.0 (0x20023000) -lc.2 => /usr/lib/compat/libc.so.2.2 (0x20027000) An interface change like errno -> (*__error()) requires bumping the major numbers of all shared libraries that use the interface, although it doesn't necessarily require bumping even the minor number of the shared library that implements the interface. libtermcap was last broken by the issetugid() changes. The errno change probably affects more libraries and is harder to kludge around. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message