Date: Thu, 22 Aug 2019 21:43:22 +0000 (UTC) From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r351409 - in head: lib/libc/mips/gen lib/libproc lib/libthread_db/arch/mips sys/mips/include tests/sys/kern Message-ID: <201908222143.x7MLhMhS041510@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kevans Date: Thu Aug 22 21:43:21 2019 New Revision: 351409 URL: https://svnweb.freebsd.org/changeset/base/351409 Log: mips: hide regnum definitions behind _KERNEL/_WANT_MIPS_REGNUM machine/regnum.h ends up being included by sys/procfs.h and sys/ptrace.h via machine/reg.h. Many of the regnum definitions are too short and too generic to be exposing to any userland application including one of these two headers. Moreover, these actively cause build failures in googletest (template <typename T1 ...> expanding to template <typename 9 ...>). Hide the definitions behind _KERNEL or _WANT_MIPS_REGNUM, and patch all of the userland consumers to define as needed. Discussed with: imp, jhb Reviewed by: imp, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D21330 Modified: head/lib/libc/mips/gen/_setjmp.S head/lib/libc/mips/gen/makecontext.c head/lib/libc/mips/gen/setjmp.S head/lib/libc/mips/gen/sigsetjmp.S head/lib/libproc/proc_regs.c head/lib/libthread_db/arch/mips/libpthread_md.c head/sys/mips/include/regnum.h head/tests/sys/kern/ptrace_test.c Modified: head/lib/libc/mips/gen/_setjmp.S ============================================================================== --- head/lib/libc/mips/gen/_setjmp.S Thu Aug 22 21:42:11 2019 (r351408) +++ head/lib/libc/mips/gen/_setjmp.S Thu Aug 22 21:43:21 2019 (r351409) @@ -34,7 +34,6 @@ #include <machine/asm.h> __FBSDID("$FreeBSD$"); -#include <machine/regnum.h> #include "SYS.h" Modified: head/lib/libc/mips/gen/makecontext.c ============================================================================== --- head/lib/libc/mips/gen/makecontext.c Thu Aug 22 21:42:11 2019 (r351408) +++ head/lib/libc/mips/gen/makecontext.c Thu Aug 22 21:43:21 2019 (r351409) @@ -39,6 +39,7 @@ __RCSID("$NetBSD: makecontext.c,v 1.5 2009/12/14 01:07 #include <sys/param.h> #include <machine/abi.h> +#define _WANT_MIPS_REGNUM #include <machine/regnum.h> #include <stdarg.h> Modified: head/lib/libc/mips/gen/setjmp.S ============================================================================== --- head/lib/libc/mips/gen/setjmp.S Thu Aug 22 21:42:11 2019 (r351408) +++ head/lib/libc/mips/gen/setjmp.S Thu Aug 22 21:43:21 2019 (r351409) @@ -34,7 +34,6 @@ #include <machine/asm.h> __FBSDID("$FreeBSD$"); -#include <machine/regnum.h> #if defined(LIBC_SCCS) && !defined(lint) ASMSTR("from: @(#)setjmp.s 8.1 (Berkeley) 6/4/93") Modified: head/lib/libc/mips/gen/sigsetjmp.S ============================================================================== --- head/lib/libc/mips/gen/sigsetjmp.S Thu Aug 22 21:42:11 2019 (r351408) +++ head/lib/libc/mips/gen/sigsetjmp.S Thu Aug 22 21:43:21 2019 (r351409) @@ -34,7 +34,6 @@ #include <machine/asm.h> __FBSDID("$FreeBSD$"); -#include <machine/regnum.h> #if defined(LIBC_SCCS) && !defined(lint) ASMSTR("from: @(#)setjmp.s 8.1 (Berkeley) 6/4/93") ASMSTR("$NetBSD: sigsetjmp.S,v 1.8 2005/09/17 11:49:39 tsutsui Exp $") Modified: head/lib/libproc/proc_regs.c ============================================================================== --- head/lib/libproc/proc_regs.c Thu Aug 22 21:42:11 2019 (r351408) +++ head/lib/libproc/proc_regs.c Thu Aug 22 21:43:21 2019 (r351409) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include <sys/types.h> +#define _WANT_MIPS_REGNUM #include <sys/ptrace.h> #include <err.h> Modified: head/lib/libthread_db/arch/mips/libpthread_md.c ============================================================================== --- head/lib/libthread_db/arch/mips/libpthread_md.c Thu Aug 22 21:42:11 2019 (r351408) +++ head/lib/libthread_db/arch/mips/libpthread_md.c Thu Aug 22 21:43:21 2019 (r351409) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include <sys/types.h> +#define _WANT_MIPS_REGNUM #include <sys/procfs.h> #include <ucontext.h> #include <string.h> Modified: head/sys/mips/include/regnum.h ============================================================================== --- head/sys/mips/include/regnum.h Thu Aug 22 21:42:11 2019 (r351408) +++ head/sys/mips/include/regnum.h Thu Aug 22 21:43:21 2019 (r351409) @@ -44,11 +44,15 @@ #ifndef _MACHINE_REGNUM_H_ #define _MACHINE_REGNUM_H_ +#define NUMSAVEREGS 40 +#define NUMFPREGS 34 + /* * Location of the saved registers relative to ZERO. * This must match struct trapframe defined in frame.h exactly. * This must also match regdef.h. */ +#if defined(_KERNEL) || defined(_WANT_MIPS_REGNUM) #define ZERO 0 #define AST 1 #define V0 2 @@ -105,7 +109,6 @@ */ #define IC 38 #define DUMMY 39 /* for 8 byte alignment */ -#define NUMSAVEREGS 40 /* * Pseudo registers so we save a complete set of registers regardless of @@ -164,10 +167,6 @@ #define FSR (FPBASE+32) #define FIR (FPBASE+33) -#define NUMFPREGS 34 - -#define NREGS (NUMSAVEREGS + NUMFPREGS) - /* * Index of FP registers in 'struct frame', relative to the base * of the FP registers in frame (i.e., *not* including the general @@ -207,5 +206,7 @@ #define F31_NUM (31) #define FSR_NUM (32) #define FIR_NUM (33) + +#endif /* _KERNEL || _WANT_MIPS_REGNUM */ #endif /* !_MACHINE_REGNUM_H_ */ Modified: head/tests/sys/kern/ptrace_test.c ============================================================================== --- head/tests/sys/kern/ptrace_test.c Thu Aug 22 21:42:11 2019 (r351408) +++ head/tests/sys/kern/ptrace_test.c Thu Aug 22 21:43:21 2019 (r351409) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include <sys/time.h> #include <sys/procctl.h> #include <sys/procdesc.h> +#define _WANT_MIPS_REGNUM #include <sys/ptrace.h> #include <sys/queue.h> #include <sys/runq.h>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908222143.x7MLhMhS041510>