Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 May 1998 15:31:21 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        jb@FreeBSD.ORG
Cc:        current@FreeBSD.ORG
Subject:   errno change breaks old shared library linkage
Message-ID:  <199805030531.PAA06287@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199805030531.PAA06287>