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