From owner-svn-src-all@freebsd.org Tue Sep 3 20:19:47 2019 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A1C7DD677D; Tue, 3 Sep 2019 20:19:47 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46NJGC3nHQz4JSD; Tue, 3 Sep 2019 20:19:47 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 66AA385D2; Tue, 3 Sep 2019 20:19:47 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x83KJlc1088873; Tue, 3 Sep 2019 20:19:47 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x83KJjEa088865; Tue, 3 Sep 2019 20:19:45 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <201909032019.x83KJjEa088865@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 3 Sep 2019 20:19:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r351792 - in stable: 11/lib/libc/mips/gen 11/lib/libproc 11/lib/libthread_db/arch/mips 11/stand/libsa/mips 11/sys/mips/include 11/tests/sys/kern 12/lib/libc/mips/gen 12/lib/libproc 12/l... X-SVN-Group: stable-12 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in stable: 11/lib/libc/mips/gen 11/lib/libproc 11/lib/libthread_db/arch/mips 11/stand/libsa/mips 11/sys/mips/include 11/tests/sys/kern 12/lib/libc/mips/gen 12/lib/libproc 12/lib/libthread_db/arch/mips... X-SVN-Commit-Revision: 351792 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Sep 2019 20:19:47 -0000 Author: kevans Date: Tue Sep 3 20:19:43 2019 New Revision: 351792 URL: https://svnweb.freebsd.org/changeset/base/351792 Log: MFC r351408-r351410: reduce pollution from mips machine/regnum.h r351408: libsa: mips: use _JB_* from machine/asm.h, remove regnum dep This brings the libsa/mips _setjmp implementation closer to parity with the libc version. r351409: 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 expanding to template ). Hide the definitions behind _KERNEL or _WANT_MIPS_REGNUM, and patch all of the userland consumers to define as needed. r351410: libsa: mips: fix typo that had slipped into the diff on local machine Modified: stable/12/lib/libc/mips/gen/_setjmp.S stable/12/lib/libc/mips/gen/makecontext.c stable/12/lib/libc/mips/gen/setjmp.S stable/12/lib/libc/mips/gen/sigsetjmp.S stable/12/lib/libproc/proc_regs.c stable/12/lib/libthread_db/arch/mips/libpthread_md.c stable/12/stand/libsa/mips/_setjmp.S stable/12/sys/mips/include/regnum.h stable/12/tests/sys/kern/ptrace_test.c Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/lib/libc/mips/gen/_setjmp.S stable/11/lib/libc/mips/gen/makecontext.c stable/11/lib/libc/mips/gen/setjmp.S stable/11/lib/libc/mips/gen/sigsetjmp.S stable/11/lib/libproc/proc_regs.c stable/11/lib/libthread_db/arch/mips/libpthread_md.c stable/11/stand/libsa/mips/_setjmp.S stable/11/sys/mips/include/regnum.h stable/11/tests/sys/kern/ptrace_test.c Directory Properties: stable/11/ (props changed) Modified: stable/12/lib/libc/mips/gen/_setjmp.S ============================================================================== --- stable/12/lib/libc/mips/gen/_setjmp.S Tue Sep 3 20:15:06 2019 (r351791) +++ stable/12/lib/libc/mips/gen/_setjmp.S Tue Sep 3 20:19:43 2019 (r351792) @@ -34,7 +34,6 @@ #include __FBSDID("$FreeBSD$"); -#include #include "SYS.h" Modified: stable/12/lib/libc/mips/gen/makecontext.c ============================================================================== --- stable/12/lib/libc/mips/gen/makecontext.c Tue Sep 3 20:15:06 2019 (r351791) +++ stable/12/lib/libc/mips/gen/makecontext.c Tue Sep 3 20:19:43 2019 (r351792) @@ -39,6 +39,7 @@ __RCSID("$NetBSD: makecontext.c,v 1.5 2009/12/14 01:07 #include #include +#define _WANT_MIPS_REGNUM #include #include Modified: stable/12/lib/libc/mips/gen/setjmp.S ============================================================================== --- stable/12/lib/libc/mips/gen/setjmp.S Tue Sep 3 20:15:06 2019 (r351791) +++ stable/12/lib/libc/mips/gen/setjmp.S Tue Sep 3 20:19:43 2019 (r351792) @@ -34,7 +34,6 @@ #include __FBSDID("$FreeBSD$"); -#include #if defined(LIBC_SCCS) && !defined(lint) ASMSTR("from: @(#)setjmp.s 8.1 (Berkeley) 6/4/93") Modified: stable/12/lib/libc/mips/gen/sigsetjmp.S ============================================================================== --- stable/12/lib/libc/mips/gen/sigsetjmp.S Tue Sep 3 20:15:06 2019 (r351791) +++ stable/12/lib/libc/mips/gen/sigsetjmp.S Tue Sep 3 20:19:43 2019 (r351792) @@ -34,7 +34,6 @@ #include __FBSDID("$FreeBSD$"); -#include #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: stable/12/lib/libproc/proc_regs.c ============================================================================== --- stable/12/lib/libproc/proc_regs.c Tue Sep 3 20:15:06 2019 (r351791) +++ stable/12/lib/libproc/proc_regs.c Tue Sep 3 20:19:43 2019 (r351792) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include +#define _WANT_MIPS_REGNUM #include #include Modified: stable/12/lib/libthread_db/arch/mips/libpthread_md.c ============================================================================== --- stable/12/lib/libthread_db/arch/mips/libpthread_md.c Tue Sep 3 20:15:06 2019 (r351791) +++ stable/12/lib/libthread_db/arch/mips/libpthread_md.c Tue Sep 3 20:19:43 2019 (r351792) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include +#define _WANT_MIPS_REGNUM #include #include #include Modified: stable/12/stand/libsa/mips/_setjmp.S ============================================================================== --- stable/12/stand/libsa/mips/_setjmp.S Tue Sep 3 20:15:06 2019 (r351791) +++ stable/12/stand/libsa/mips/_setjmp.S Tue Sep 3 20:19:43 2019 (r351792) @@ -36,7 +36,6 @@ * $FreeBSD$ */ -#include #include #if 0 @@ -59,19 +58,19 @@ LEAF(_setjmp) .set noreorder - REG_LI v0, 0xACEDBADE # sigcontext magic number - REG_S ra, (2 * SZREG)(a0) # sc_pc = return address - REG_S v0, (3 * SZREG)(a0) # saved in sc_regs[0] - REG_S s0, ((S0 + 3) * SZREG)(a0) - REG_S s1, ((S1 + 3) * SZREG)(a0) - REG_S s2, ((S2 + 3) * SZREG)(a0) - REG_S s3, ((S3 + 3) * SZREG)(a0) - REG_S s4, ((S4 + 3) * SZREG)(a0) - REG_S s5, ((S5 + 3) * SZREG)(a0) - REG_S s6, ((S6 + 3) * SZREG)(a0) - REG_S s7, ((S7 + 3) * SZREG)(a0) - REG_S sp, ((SP + 3) * SZREG)(a0) - REG_S s8, ((S8 + 3) * SZREG)(a0) + REG_LI v0, _JB_MAGIC__SETJMP # sigcontext magic number + REG_S v0, (_JB_MAGIC * SZREG)(a0) # saved in sc_regs[0] + REG_S ra, (_JB_REG_RA * SZREG)(a0) # sc_pc = return address + REG_S s0, (_JB_REG_S0 * SZREG)(a0) + REG_S s1, (_JB_REG_S1 * SZREG)(a0) + REG_S s2, (_JB_REG_S2 * SZREG)(a0) + REG_S s3, (_JB_REG_S3 * SZREG)(a0) + REG_S s4, (_JB_REG_S4 * SZREG)(a0) + REG_S s5, (_JB_REG_S5 * SZREG)(a0) + REG_S s6, (_JB_REG_S6 * SZREG)(a0) + REG_S s7, (_JB_REG_S7 * SZREG)(a0) + REG_S sp, (_JB_REG_SP * SZREG)(a0) + REG_S s8, (_JB_REG_S8 * SZREG)(a0) j ra move v0, zero END(_setjmp) @@ -82,21 +81,21 @@ LEAF(_longjmp) .cprestore 16 #endif .set noreorder - REG_L v0, (3 * SZREG)(a0) # get magic number - REG_L ra, (2 * SZREG)(a0) - bne v0, 0xACEDBADE, botch # jump if error + REG_L v0, (_JB_MAGIC * SZREG)(a0) # get magic number + REG_L ra, (_JB_REG_RA * SZREG)(a0) + bne v0, _JB_MAGIC__SETJMP, botch # jump if error addu sp, sp, 32 # does not matter, sanity - REG_L s0, ((S0 + 3) * SZREG)(a0) - REG_L s1, ((S1 + 3) * SZREG)(a0) - REG_L s2, ((S2 + 3) * SZREG)(a0) - REG_L s3, ((S3 + 3) * SZREG)(a0) - REG_L s4, ((S4 + 3) * SZREG)(a0) - REG_L s5, ((S5 + 3) * SZREG)(a0) - REG_L s6, ((S6 + 3) * SZREG)(a0) - REG_L s7, ((S7 + 3) * SZREG)(a0) - REG_L sp, ((SP + 3) * SZREG)(a0) - REG_L s8, ((S8 + 3) * SZREG)(a0) + REG_L s0, (_JB_REG_S0 * SZREG)(a0) + REG_L s1, (_JB_REG_S1 * SZREG)(a0) + REG_L s2, (_JB_REG_S2 * SZREG)(a0) + REG_L s3, (_JB_REG_S3 * SZREG)(a0) + REG_L s4, (_JB_REG_S4 * SZREG)(a0) + REG_L s5, (_JB_REG_S5 * SZREG)(a0) + REG_L s6, (_JB_REG_S6 * SZREG)(a0) + REG_L s7, (_JB_REG_S7 * SZREG)(a0) + REG_L sp, (_JB_REG_SP * SZREG)(a0) + REG_L s8, (_JB_REG_S8 * SZREG)(a0) j ra move v0, a1 Modified: stable/12/sys/mips/include/regnum.h ============================================================================== --- stable/12/sys/mips/include/regnum.h Tue Sep 3 20:15:06 2019 (r351791) +++ stable/12/sys/mips/include/regnum.h Tue Sep 3 20:19:43 2019 (r351792) @@ -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: stable/12/tests/sys/kern/ptrace_test.c ============================================================================== --- stable/12/tests/sys/kern/ptrace_test.c Tue Sep 3 20:15:06 2019 (r351791) +++ stable/12/tests/sys/kern/ptrace_test.c Tue Sep 3 20:19:43 2019 (r351792) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#define _WANT_MIPS_REGNUM #include #include #include