This diff is totally broke. He never even tested it. Stay away
from it.
> So, here's the same diff with shlib glue.
>
> If you think that's slightly insane, blame bsd.lib.mk !
>
> Note: for now, there's only arch/libamd64.
> I don't feel qualified to comment/test/do the other arches if need be.
>
>
> Index: libl/Makefile
> ===================================================================
> RCS file: /cvs/src/lib/libl/Makefile,v
> retrieving revision 1.4
> diff -u -p -r1.4 Makefile
> --- libl/Makefile 24 Nov 2005 20:49:18 -0000 1.4
> +++ libl/Makefile 19 Jun 2012 17:19:25 -0000
> @@ -4,7 +4,6 @@
> LIB= l
> WANTLINT=
> SRCS= libmain.c libyywrap.c
> -NOPIC=
>
> .PATH: ${.CURDIR}/../../usr.bin/lex
>
> @@ -13,6 +12,13 @@ NOPIC=
> LINKS= ${LIBDIR}/libl.a ${LIBDIR}/libfl.a
> .if !defined(NOPROFILE)
> LINKS+= ${LIBDIR}/libl_p.a ${LIBDIR}/libfl_p.a
> +.endif
> +
> +.if !defined (NOPIC)
> +.if (${MACHINE_CPU} != "mips64")
> +LINKS+= ${LIBDIR}/libl_pic.a ${LIBDIR}/libfl_pic.a
> +.endif
> +LINKS+= ${LIBDIR}/libl.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
> ${LIBDIR}/libfl.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
> .endif
>
> .include <bsd.lib.mk>
> Index: libl/shlib_version
> ===================================================================
> RCS file: libl/shlib_version
> diff -N libl/shlib_version
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ libl/shlib_version 19 Jun 2012 17:19:25 -0000
> @@ -0,0 +1,3 @@
> +# $OpenBSD$
> +major=0
> +minor=0
> Index: libarch/amd64/Makefile
> ===================================================================
> RCS file: /cvs/src/lib/libarch/amd64/Makefile,v
> retrieving revision 1.10
> diff -u -p -r1.10 Makefile
> --- libarch/amd64/Makefile 13 Apr 2011 02:49:12 -0000 1.10
> +++ libarch/amd64/Makefile 19 Jun 2012 17:19:25 -0000
> @@ -9,7 +9,7 @@ MLINKS+=amd64_get_ioperm.2 amd64_set_iop
>
> .if ${MACHINE_ARCH} == "amd64"
> .PATH: ${LIBC}/amd64
> -NOPIC=
> +
> SRCS+= amd64_iopl.c amd64_get_ioperm.c amd64_set_ioperm.c \
> amd64_get_fsbase.c amd64_set_fsbase.c
> .include <bsd.lib.mk>
> Index: libarch/amd64/shlib_version
> ===================================================================
> RCS file: libarch/amd64/shlib_version
> diff -N libarch/amd64/shlib_version
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ libarch/amd64/shlib_version 19 Jun 2012 17:19:25 -0000
> @@ -0,0 +1,3 @@
> +# $OpenBSD$
> +major=0
> +minor=0