Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Nov 2007 15:10:22 -0600
From:      Brooks Davis <brooks@freebsd.org>
To:        freebsd-arch@freebsd.org
Subject:   RFC: libkse*.a in 7.0
Message-ID:  <20071128211022.GA74762@lor.one-eyed-alien.net>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
A number of people have proposed a direction in 8.0 that would remove
support for the syscalls and kernel data structures required by libkse.
Apparently this would enable significant simplification of portions of
the kernel, but I have no deeply held personal opinion.  The intent is
that if that happens, alternate versions of the necessicary dynamic
libraries will be supplied in updated compat#x packages.  This will
address most consumers.  The one set of consumers that would not be
addressed is those who have statically linked, threaded binaries using
libkse.

Kris and I realized that if we went that route, life would be
significantly easier if it was difficult to create statically linked,
binaries using libkse under FreeBSD 7.x.  As a result I would like
to commit and MFC the following patch which disables building and
installing libkse*.a in the default case.  This would mean that
significant effort would be required to create a statically linked
application that uses the KSE syscalls.

I believe that removing libkse*.a has little downside and leaves the way
open for either removing or enhancing the KSE system and is the right
thing to do.

-- Brooks

--- /home/brooks/working/freebsd/p4/freebsd/lib/libkse/Makefile	2007-10-29 10:43:55.000000000 -0500
+++ lib/libkse/Makefile	2007-11-20 20:39:22.000000000 -0600
@@ -10,12 +10,15 @@
 
 .include <bsd.own.mk>
 
-.if (${DEFAULT_THREAD_LIB} == "libkse" || ${MK_LIBTHR} == "no") && \
-    ${SHLIBDIR} == "/usr/lib"
+.if (${DEFAULT_THREAD_LIB} == "libkse" || ${MK_LIBTHR} == "no")
+LIB=kse
+.if ${SHLIBDIR} == "/usr/lib"
 SHLIBDIR= /lib
 .endif
+.else
+SHLIB=kse
+.endif
 
-LIB=kse
 SHLIB_MAJOR= 3
 CFLAGS+=-DPTHREAD_KERNEL
 CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \
--- /home/brooks/working/freebsd/p4/freebsd/ObsoleteFiles.inc	2007-11-18 04:16:28.000000000 -0600
+++ ObsoleteFiles.inc	2007-11-20 20:37:39.000000000 -0600
@@ -14,6 +14,12 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# 200711XX: Disabled installing static versions of libkse by default
+.if ${DEFAULT_THREAD_LIB} != "libkse" && ${MK_LIBTHR} != "no"
+OLD_FILES+=usr/lib/libkse.a
+OLD_FILES+=usr/lib/libkse_p.a
+OLD_FILES+=usr/lib/libkse_pic.a
+.endif
 # 20071108: Removed very crunch OLDCARD support file
 OLD_FILES+=etc/defaults/pccard.conf
 # 20071104: Removed bsdlabel, fdisk and gpt from rescue on ia64.

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (FreeBSD)

iD8DBQFHTdk9XY6L6fI4GtQRAp/kAKDUnMXL1A5WBpvjR67qFKco/OVy3wCfYEfy
IJyQ8hDs72ADfzvPxIz3TGU=
=qnCD
-----END PGP SIGNATURE-----

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