svn commit: r228307 - in head: secure/lib/libcrypto share/mk
Konstantin Belousov
kib at FreeBSD.org
Tue Dec 6 11:28:17 UTC 2011
Author: kib
Date: Tue Dec 6 11:28:17 2011
New Revision: 228307
URL: http://svn.freebsd.org/changeset/base/228307
Log:
Force linker error when created shared library contains a relocation
against text. Provide the override switch to turn off the strict
behaviour. Apparently, openssl libcrypto needs it due to assembler
code not being PIC.
Discussed with: bf
MFC after: 2 weeks
Modified:
head/secure/lib/libcrypto/Makefile
head/share/mk/bsd.lib.mk
Modified: head/secure/lib/libcrypto/Makefile
==============================================================================
--- head/secure/lib/libcrypto/Makefile Tue Dec 6 11:24:03 2011 (r228306)
+++ head/secure/lib/libcrypto/Makefile Tue Dec 6 11:28:17 2011 (r228307)
@@ -7,6 +7,7 @@ SUBDIR= engines
LIB= crypto
SHLIB_MAJOR= 6
+ALLOW_SHARED_TEXTREL=
NO_LINT=
Modified: head/share/mk/bsd.lib.mk
==============================================================================
--- head/share/mk/bsd.lib.mk Tue Dec 6 11:24:03 2011 (r228306)
+++ head/share/mk/bsd.lib.mk Tue Dec 6 11:28:17 2011 (r228307)
@@ -167,6 +167,11 @@ SOBJS+= ${OBJS:.o=.So}
.if defined(SHLIB_NAME)
_LIBS+= ${SHLIB_NAME}
+SOLINKOPTS= -shared -Wl,-x
+.if !defined(ALLOW_SHARED_TEXTREL)
+SOLINKOPTS+= -Wl,--fatal-warnings -Wl,--warn-shared-textrel
+.endif
+
.if target(beforelinking)
${SHLIB_NAME}: ${SOBJS} beforelinking
.else
@@ -178,11 +183,11 @@ ${SHLIB_NAME}: ${SOBJS}
@ln -fs ${.TARGET} ${SHLIB_LINK}
.endif
.if !defined(NM)
- @${CC} ${LDFLAGS} ${SSP_CFLAGS} -shared -Wl,-x \
+ @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
-o ${.TARGET} -Wl,-soname,${SONAME} \
`lorder ${SOBJS} | tsort -q` ${LDADD}
.else
- @${CC} ${LDFLAGS} ${SSP_CFLAGS} -shared -Wl,-x \
+ @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
-o ${.TARGET} -Wl,-soname,${SONAME} \
`NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD}
.endif
More information about the svn-src-all
mailing list