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
 

Reply via email to