Module Name:    src
Committed By:   mrg
Date:           Fri Dec 23 10:19:58 UTC 2016

Modified Files:
        src/sbin/savecore: Makefile
        src/usr.bin/fstat: Makefile
        src/usr.bin/netstat: Makefile
        src/usr.bin/pmap: Makefile
        src/usr.bin/systat: Makefile
        src/usr.sbin/crash: Makefile
        src/usr.sbin/kgmon: Makefile
        src/usr.sbin/pstat: Makefile
        src/usr.sbin/trpt: Makefile
Added Files:
        src/compat: exec.mk

Log Message:
for 64 bit mips platforms where we built userland largely as n32 by
default, build a handful of tools as n64 so they work properly.

unfortunately, they're also static as dynamic n64 has a problem.

of these tools pstat is probably the lowest hanging fruit to convert
to sysctl.  systat would be close were it not for the netstat screen,
which includes netstat itself.

the rest are difficult to perhaps foolish.

the upside is that netstat, pmap and fstat all work properly now.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/compat/exec.mk
cvs rdiff -u -r1.25 -r1.26 src/sbin/savecore/Makefile
cvs rdiff -u -r1.24 -r1.25 src/usr.bin/fstat/Makefile
cvs rdiff -u -r1.43 -r1.44 src/usr.bin/netstat/Makefile
cvs rdiff -u -r1.7 -r1.8 src/usr.bin/pmap/Makefile
cvs rdiff -u -r1.39 -r1.40 src/usr.bin/systat/Makefile
cvs rdiff -u -r1.32 -r1.33 src/usr.sbin/crash/Makefile
cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/kgmon/Makefile
cvs rdiff -u -r1.16 -r1.17 src/usr.sbin/pstat/Makefile
cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/trpt/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sbin/savecore/Makefile
diff -u src/sbin/savecore/Makefile:1.25 src/sbin/savecore/Makefile:1.26
--- src/sbin/savecore/Makefile:1.25	Wed Jun 13 23:16:27 2001
+++ src/sbin/savecore/Makefile	Fri Dec 23 10:19:57 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.25 2001/06/13 23:16:27 wiz Exp $
+#	$NetBSD: Makefile,v 1.26 2016/12/23 10:19:57 mrg Exp $
 #	@(#)Makefile	8.2 (Berkeley) 4/17/94
 
 PROG=	savecore
@@ -9,4 +9,6 @@ MAN=	savecore.8
 LDADD=	-lkvm -lutil -lz
 DPADD=	${LIBKVM} ${LIBUTIL} ${LIBZ}
 
+.include "../../compat/exec.mk"
+
 .include <bsd.prog.mk>

Index: src/usr.bin/fstat/Makefile
diff -u src/usr.bin/fstat/Makefile:1.24 src/usr.bin/fstat/Makefile:1.25
--- src/usr.bin/fstat/Makefile:1.24	Sat Jan 23 16:12:03 2016
+++ src/usr.bin/fstat/Makefile	Fri Dec 23 10:19:57 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.24 2016/01/23 16:12:03 christos Exp $
+#	$NetBSD: Makefile,v 1.25 2016/12/23 10:19:57 mrg Exp $
 #	from: @(#)Makefile	8.1 (Berkeley) 6/6/93
 
 .include <bsd.own.mk>
@@ -21,4 +21,6 @@ CPPFLAGS+=-D_KMEMUSER
 LDADD+=-lutil
 DPADD+=${LIBUTIL}
 
+.include "../../compat/exec.mk"
+
 .include <bsd.prog.mk>

Index: src/usr.bin/netstat/Makefile
diff -u src/usr.bin/netstat/Makefile:1.43 src/usr.bin/netstat/Makefile:1.44
--- src/usr.bin/netstat/Makefile:1.43	Sat Jun  6 13:48:37 2015
+++ src/usr.bin/netstat/Makefile	Fri Dec 23 10:19:57 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.43 2015/06/06 13:48:37 joerg Exp $
+#	$NetBSD: Makefile,v 1.44 2016/12/23 10:19:57 mrg Exp $
 #	from: @(#)Makefile	8.1 (Berkeley) 6/12/93
 
 .include <bsd.own.mk>
@@ -28,4 +28,6 @@ RUMPSRCS+= if_indextoname.c getifaddrs.c
 CPPFLAGS+= -DINET6
 .endif
 
+.include "../../compat/exec.mk"
+
 .include <bsd.prog.mk>

Index: src/usr.bin/pmap/Makefile
diff -u src/usr.bin/pmap/Makefile:1.7 src/usr.bin/pmap/Makefile:1.8
--- src/usr.bin/pmap/Makefile:1.7	Sat Jan 23 21:22:49 2016
+++ src/usr.bin/pmap/Makefile	Fri Dec 23 10:19:57 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.7 2016/01/23 21:22:49 christos Exp $
+#	$NetBSD: Makefile,v 1.8 2016/12/23 10:19:57 mrg Exp $
 
 USE_FORT?=	yes	# setgid
 PROG=		pmap
@@ -11,4 +11,6 @@ DPADD=		${LIBUTIL} ${LIBKVM}
 CWARNFLAGS.clang+=	-Wno-format-extra-args
 CPPFLAGS+=	-D_KMEMUSER
 
+.include "../../compat/exec.mk"
+
 .include <bsd.prog.mk>

Index: src/usr.bin/systat/Makefile
diff -u src/usr.bin/systat/Makefile:1.39 src/usr.bin/systat/Makefile:1.40
--- src/usr.bin/systat/Makefile:1.39	Tue Aug  2 15:56:09 2016
+++ src/usr.bin/systat/Makefile	Fri Dec 23 10:19:57 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.39 2016/08/02 15:56:09 scole Exp $
+#	$NetBSD: Makefile,v 1.40 2016/12/23 10:19:57 mrg Exp $
 #	@(#)Makefile	8.1 (Berkeley) 6/6/93
 
 .include <bsd.own.mk>
@@ -27,4 +27,6 @@ CPPFLAGS+=-DINET6
 SRCS+=	ip6.c
 .endif
 
+.include "../../compat/exec.mk"
+
 .include <bsd.prog.mk>

Index: src/usr.sbin/crash/Makefile
diff -u src/usr.sbin/crash/Makefile:1.32 src/usr.sbin/crash/Makefile:1.33
--- src/usr.sbin/crash/Makefile:1.32	Sat Dec 10 10:42:43 2016
+++ src/usr.sbin/crash/Makefile	Fri Dec 23 10:19:57 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.32 2016/12/10 10:42:43 mrg Exp $
+#	$NetBSD: Makefile,v 1.33 2016/12/23 10:19:57 mrg Exp $
 
 PROG=		crash
 MAN=		crash.8
@@ -97,5 +97,7 @@ SRCS+=	unsupported.c
 
 .endif				# }
 
+.include "../../compat/exec.mk"
+
 .include <bsd.prog.mk>
 .include <bsd.klinks.mk>

Index: src/usr.sbin/kgmon/Makefile
diff -u src/usr.sbin/kgmon/Makefile:1.10 src/usr.sbin/kgmon/Makefile:1.11
--- src/usr.sbin/kgmon/Makefile:1.10	Wed Apr 22 15:23:04 2009
+++ src/usr.sbin/kgmon/Makefile	Fri Dec 23 10:19:57 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.10 2009/04/22 15:23:04 lukem Exp $
+#	$NetBSD: Makefile,v 1.11 2016/12/23 10:19:57 mrg Exp $
 #	from: @(#)Makefile	8.1 (Berkeley) 6/6/93
 
 PROG=	kgmon
@@ -13,4 +13,6 @@ LDADD=	-lkvm
 #BINOWN=root
 #BINMODE=4555
 
+.include "../../compat/exec.mk"
+
 .include <bsd.prog.mk>

Index: src/usr.sbin/pstat/Makefile
diff -u src/usr.sbin/pstat/Makefile:1.16 src/usr.sbin/pstat/Makefile:1.17
--- src/usr.sbin/pstat/Makefile:1.16	Wed Jan  2 10:43:11 2013
+++ src/usr.sbin/pstat/Makefile	Fri Dec 23 10:19:57 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.16 2013/01/02 10:43:11 dsl Exp $
+#	$NetBSD: Makefile,v 1.17 2016/12/23 10:19:57 mrg Exp $
 #	from: @(#)Makefile	8.1 (Berkeley) 6/6/93
 
 .include <bsd.own.mk>
@@ -19,4 +19,6 @@ CPPFLAGS+=-D_KMEMUSER
 
 .PATH: ${NETBSDSRCDIR}/sbin/swapctl
 
+.include "../../compat/exec.mk"
+
 .include <bsd.prog.mk>

Index: src/usr.sbin/trpt/Makefile
diff -u src/usr.sbin/trpt/Makefile:1.10 src/usr.sbin/trpt/Makefile:1.11
--- src/usr.sbin/trpt/Makefile:1.10	Mon May 28 12:06:42 2007
+++ src/usr.sbin/trpt/Makefile	Fri Dec 23 10:19:58 2016
@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.1 (Berkeley) 6/6/93
-#	$NetBSD: Makefile,v 1.10 2007/05/28 12:06:42 tls Exp $
+#	$NetBSD: Makefile,v 1.11 2016/12/23 10:19:58 mrg Exp $
 
 .include <bsd.own.mk>
 
@@ -15,4 +15,6 @@ LDADD=	-lkvm
 CPPFLAGS+=	-DINET6
 .endif
 
+.include "../../compat/exec.mk"
+
 .include <bsd.prog.mk>

Added files:

Index: src/compat/exec.mk
diff -u /dev/null src/compat/exec.mk:1.1
--- /dev/null	Fri Dec 23 10:19:58 2016
+++ src/compat/exec.mk	Fri Dec 23 10:19:57 2016
@@ -0,0 +1,42 @@
+#	$NetBSD: exec.mk,v 1.1 2016/12/23 10:19:57 mrg Exp $
+
+# this makefile fragment can be included to modify the default
+# ABI a program is compiled with.  this is designed to be used
+# by tools that must match the kernel image like savecore(8)
+# and kvm(3) using tools.
+
+# currently this file is used by these Makefiles:
+#
+#   sbin/savecore/Makefile
+#   usr.bin/fstat/Makefile
+#   usr.bin/netstat/Makefile
+#   usr.bin/pmap/Makefile
+#   usr.bin/systat/Makefile
+#   usr.sbin/crash/Makefile
+#   usr.sbin/kgmon/Makefile
+#   usr.sbin/pstat/Makefile
+#   usr.sbin/trpt/Makefile
+#
+# of these, savecore, crash and kgmon are the only ones that
+# can be considered "not a bug".  all the *stat tools should
+# be converted to use sysctl(3) on the running kernel, and
+# anyone who needs kvm-access on crash dumps can build their
+# own 64 bit version as necessary.
+
+# mips64 defaults to 32 bit userland, but with a 64 bit kernel
+# most kvm-using tools are happier with 64 bit.
+
+.if ${MACHINE_ARCH} == "mips64el" || ${MACHINE_ARCH} == "mips64eb"
+
+# XXX -pie makes n64 crash
+NOPIE=1
+# XXX interesting dynamic binaries crash (hello.c works.)
+LDSTATIC=-static
+
+. include <bsd.own.mk>
+
+. if ${MKCOMPAT} != "no" && !defined(RESCUEDIR)
+.  include "${.PARSEDIR}/mips64/64/bsd.64.mk"
+. endif # ${MKCOMPAT} != "no"
+
+.endif # mips64

Reply via email to