RFC: libkse*.a in 7.0

Alfred Perlstein alfred at freebsd.org
Wed Nov 28 13:22:54 PST 2007


I don't see the harm in this.

If we do nuke it we will still not be able to run statics without
some weird hooks to emulate it.

* Brooks Davis <brooks at freebsd.org> [071128 13:10] wrote:
> 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.



-- 
- Alfred Perlstein


More information about the freebsd-arch mailing list