RFC: libkse*.a in 7.0

Brooks Davis brooks at freebsd.org
Wed Nov 28 13:10:23 PST 2007


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20071128/02a630ed/attachment.pgp


More information about the freebsd-arch mailing list