Module Name: src
Committed By: nia
Date: Mon Nov 1 10:05:19 UTC 2021
Modified Files:
src/external/mit/xorg/server/drivers: Makefile.xf86-driver
src/external/mit/xorg/server/xorg-server: Makefile.Xserver
Makefile.serverlib Makefile.servermod
src/external/mit/xorg/server/xorg-server.old: Makefile.Xserver
Makefile.serverlib Makefile.servermod
src/share/mk: bsd.README bsd.sys.mk
Log Message:
mk: Add support for conditional compilation of parts of the tree with
partial RELRO when MKRELRO=full is set.
Currently the X server needs to be compiled with only partial RELRO
due to the way certain (but not all - it seems wsfb works with full
RELRO) graphics driver modules are loaded.
To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 \
src/external/mit/xorg/server/drivers/Makefile.xf86-driver
cvs rdiff -u -r1.22 -r1.23 \
src/external/mit/xorg/server/xorg-server/Makefile.Xserver
cvs rdiff -u -r1.13 -r1.14 \
src/external/mit/xorg/server/xorg-server/Makefile.serverlib
cvs rdiff -u -r1.6 -r1.7 \
src/external/mit/xorg/server/xorg-server/Makefile.servermod
cvs rdiff -u -r1.2 -r1.3 \
src/external/mit/xorg/server/xorg-server.old/Makefile.Xserver
cvs rdiff -u -r1.4 -r1.5 \
src/external/mit/xorg/server/xorg-server.old/Makefile.serverlib \
src/external/mit/xorg/server/xorg-server.old/Makefile.servermod
cvs rdiff -u -r1.421 -r1.422 src/share/mk/bsd.README
cvs rdiff -u -r1.307 -r1.308 src/share/mk/bsd.sys.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/mit/xorg/server/drivers/Makefile.xf86-driver
diff -u src/external/mit/xorg/server/drivers/Makefile.xf86-driver:1.28 src/external/mit/xorg/server/drivers/Makefile.xf86-driver:1.29
--- src/external/mit/xorg/server/drivers/Makefile.xf86-driver:1.28 Mon May 31 21:45:41 2021
+++ src/external/mit/xorg/server/drivers/Makefile.xf86-driver Mon Nov 1 10:05:18 2021
@@ -1,8 +1,10 @@
-# $NetBSD: Makefile.xf86-driver,v 1.28 2021/05/31 21:45:41 joerg Exp $
+# $NetBSD: Makefile.xf86-driver,v 1.29 2021/11/01 10:05:18 nia Exp $
LIBISMODULE= yes
SHLIB_MAJOR= ${PACKAGE_MAJOR}
+NOFULLRELRO= yes
+
.include <bsd.own.mk>
.include <bsd.x11.mk>
Index: src/external/mit/xorg/server/xorg-server/Makefile.Xserver
diff -u src/external/mit/xorg/server/xorg-server/Makefile.Xserver:1.22 src/external/mit/xorg/server/xorg-server/Makefile.Xserver:1.23
--- src/external/mit/xorg/server/xorg-server/Makefile.Xserver:1.22 Fri Jan 18 23:05:30 2019
+++ src/external/mit/xorg/server/xorg-server/Makefile.Xserver Mon Nov 1 10:05:19 2021
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.Xserver,v 1.22 2019/01/18 23:05:30 mrg Exp $
+# $NetBSD: Makefile.Xserver,v 1.23 2021/11/01 10:05:19 nia Exp $
.for _SL in \
mi \
@@ -63,6 +63,9 @@ DPADD.${_SL}= ${LIBDIR.${_SL}}/lib${_SL:
LDADD.XORG_CORE= ${LDADD.dix} ${LDADD.config}
DPADD.XORG_CORE= ${DPADD.dix} ${DPADD.config}
+# X servers cannot load certain modules when built with BIND_NOW
+NOFULLRELRO= yes
+
# X servers need all symbols exported
LDFLAGS+= -Wl,--export-dynamic
Index: src/external/mit/xorg/server/xorg-server/Makefile.serverlib
diff -u src/external/mit/xorg/server/xorg-server/Makefile.serverlib:1.13 src/external/mit/xorg/server/xorg-server/Makefile.serverlib:1.14
--- src/external/mit/xorg/server/xorg-server/Makefile.serverlib:1.13 Mon Apr 12 03:57:06 2021
+++ src/external/mit/xorg/server/xorg-server/Makefile.serverlib Mon Nov 1 10:05:19 2021
@@ -1,4 +1,6 @@
-# $NetBSD: Makefile.serverlib,v 1.13 2021/04/12 03:57:06 mrg Exp $
+# $NetBSD: Makefile.serverlib,v 1.14 2021/11/01 10:05:19 nia Exp $
+
+NOFULLRELRO= yes
.include <bsd.own.mk> # for NETBSDSRCDIR and mk.conf processing
Index: src/external/mit/xorg/server/xorg-server/Makefile.servermod
diff -u src/external/mit/xorg/server/xorg-server/Makefile.servermod:1.6 src/external/mit/xorg/server/xorg-server/Makefile.servermod:1.7
--- src/external/mit/xorg/server/xorg-server/Makefile.servermod:1.6 Mon Apr 12 03:57:06 2021
+++ src/external/mit/xorg/server/xorg-server/Makefile.servermod Mon Nov 1 10:05:19 2021
@@ -1,4 +1,6 @@
-# $NetBSD: Makefile.servermod,v 1.6 2021/04/12 03:57:06 mrg Exp $
+# $NetBSD: Makefile.servermod,v 1.7 2021/11/01 10:05:19 nia Exp $
+
+NOFULLRELRO= yes
.include <bsd.own.mk> # For /etc/mk.conf processing
Index: src/external/mit/xorg/server/xorg-server.old/Makefile.Xserver
diff -u src/external/mit/xorg/server/xorg-server.old/Makefile.Xserver:1.2 src/external/mit/xorg/server/xorg-server.old/Makefile.Xserver:1.3
--- src/external/mit/xorg/server/xorg-server.old/Makefile.Xserver:1.2 Fri Mar 8 10:00:06 2019
+++ src/external/mit/xorg/server/xorg-server.old/Makefile.Xserver Mon Nov 1 10:05:19 2021
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.Xserver,v 1.2 2019/03/08 10:00:06 mrg Exp $
+# $NetBSD: Makefile.Xserver,v 1.3 2021/11/01 10:05:19 nia Exp $
.for _SL in \
mi \
@@ -73,6 +73,9 @@ DPADD.${_SL}= ${LIBDIR.${_SL}}/lib${_SL:
LDADD.XORG_CORE= ${LDADD.dix} ${LDADD.config}
DPADD.XORG_CORE= ${DPADD.dix} ${DPADD.config}
+# X servers cannot load certain modules when built with BIND_NOW
+NOFULLRELRO= yes
+
# X servers need all symbols exported
LDFLAGS+= -Wl,--export-dynamic
Index: src/external/mit/xorg/server/xorg-server.old/Makefile.serverlib
diff -u src/external/mit/xorg/server/xorg-server.old/Makefile.serverlib:1.4 src/external/mit/xorg/server/xorg-server.old/Makefile.serverlib:1.5
--- src/external/mit/xorg/server/xorg-server.old/Makefile.serverlib:1.4 Mon May 3 08:44:05 2021
+++ src/external/mit/xorg/server/xorg-server.old/Makefile.serverlib Mon Nov 1 10:05:19 2021
@@ -1,4 +1,6 @@
-# $NetBSD: Makefile.serverlib,v 1.4 2021/05/03 08:44:05 nakayama Exp $
+# $NetBSD: Makefile.serverlib,v 1.5 2021/11/01 10:05:19 nia Exp $
+
+NOFULLRELRO= yes
.include <bsd.own.mk> # for NETBSDSRCDIR and mk.conf processing
Index: src/external/mit/xorg/server/xorg-server.old/Makefile.servermod
diff -u src/external/mit/xorg/server/xorg-server.old/Makefile.servermod:1.4 src/external/mit/xorg/server/xorg-server.old/Makefile.servermod:1.5
--- src/external/mit/xorg/server/xorg-server.old/Makefile.servermod:1.4 Mon May 3 08:44:05 2021
+++ src/external/mit/xorg/server/xorg-server.old/Makefile.servermod Mon Nov 1 10:05:19 2021
@@ -1,4 +1,6 @@
-# $NetBSD: Makefile.servermod,v 1.4 2021/05/03 08:44:05 nakayama Exp $
+# $NetBSD: Makefile.servermod,v 1.5 2021/11/01 10:05:19 nia Exp $
+
+NOFULLRELRO= yes
.include <bsd.own.mk> # For /etc/mk.conf processing
Index: src/share/mk/bsd.README
diff -u src/share/mk/bsd.README:1.421 src/share/mk/bsd.README:1.422
--- src/share/mk/bsd.README:1.421 Wed Oct 27 03:06:59 2021
+++ src/share/mk/bsd.README Mon Nov 1 10:05:19 2021
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.README,v 1.421 2021/10/27 03:06:59 ryo Exp $
+# $NetBSD: bsd.README,v 1.422 2021/11/01 10:05:19 nia Exp $
# @(#)bsd.README 8.2 (Berkeley) 4/2/94
This is the README file for the make "include" files for the NetBSD
@@ -438,6 +438,9 @@ MKRELRO If "partial", set the non-PLT G
also force immediate symbol binding.
Default: no
+NOFULLRELRO Don't compile with immediate symbol binding during build.
+ It is set internally for standalone programs.
+
MKREPRO If "yes", create reproducible builds. This enables
different switches to make two builds from the same source tree
result in the same build results.
Index: src/share/mk/bsd.sys.mk
diff -u src/share/mk/bsd.sys.mk:1.307 src/share/mk/bsd.sys.mk:1.308
--- src/share/mk/bsd.sys.mk:1.307 Sat Sep 11 21:30:46 2021
+++ src/share/mk/bsd.sys.mk Mon Nov 1 10:05:19 2021
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.sys.mk,v 1.307 2021/09/11 21:30:46 andvar Exp $
+# $NetBSD: bsd.sys.mk,v 1.308 2021/11/01 10:05:19 nia Exp $
#
# Build definitions used for NetBSD source tree builds.
@@ -140,7 +140,8 @@ CFLAGS+= -Wno-maybe-uninitialized
.if ${MKRELRO:Uno} != "no"
LDFLAGS+= -Wl,-z,relro
.endif
-.if ${MKRELRO:Uno} == "full"
+
+.if ${MKRELRO:Uno} == "full" && ${NOFULLRELRO:Uno} == "no"
LDFLAGS+= -Wl,-z,now
.endif