CVS commit: src/tests/lib/libc/arch/sparc64
Module Name:src Committed By: joerg Date: Mon Feb 8 23:50:25 UTC 2021 Modified Files: src/tests/lib/libc/arch/sparc64: return_one.S Log Message: Don't define a label twice. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/arch/sparc64/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/sparc64/return_one.S diff -u src/tests/lib/libc/arch/sparc64/return_one.S:1.2 src/tests/lib/libc/arch/sparc64/return_one.S:1.3 --- src/tests/lib/libc/arch/sparc64/return_one.S:1.2 Sat Dec 31 11:51:20 2016 +++ src/tests/lib/libc/arch/sparc64/return_one.S Mon Feb 8 23:50:25 2021 @@ -1,11 +1,10 @@ -/* $NetBSD: return_one.S,v 1.2 2016/12/31 11:51:20 martin Exp $ */ +/* $NetBSD: return_one.S,v 1.3 2021/02/08 23:50:25 joerg Exp $ */ #include .global return_one_end ENTRY(return_one) -return_one: retl mov 1, %o0 return_one_end:
CVS commit: src/tests/lib/libc/arch/mips
Module Name:src Committed By: simonb Date: Thu Jan 21 00:56:41 UTC 2021 Modified Files: src/tests/lib/libc/arch/mips: return_one.S Log Message: Use .set noreorder and use reg names. atf- lib/libc/sys/t_mprotect mprotect_mremap_exec is a bit happier now. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/arch/mips/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/mips/return_one.S diff -u src/tests/lib/libc/arch/mips/return_one.S:1.2 src/tests/lib/libc/arch/mips/return_one.S:1.3 --- src/tests/lib/libc/arch/mips/return_one.S:1.2 Thu Feb 14 10:36:33 2019 +++ src/tests/lib/libc/arch/mips/return_one.S Thu Jan 21 00:56:41 2021 @@ -1,11 +1,13 @@ -/* $NetBSD: return_one.S,v 1.2 2019/02/14 10:36:33 mrg Exp $ */ +/* $NetBSD: return_one.S,v 1.3 2021/01/21 00:56:41 simonb Exp $ */ #include +.set noreorder + .globl return_one, return_one_end; return_one: - jr $31 - li $2,1 + jr ra + li v0,1 return_one_end:
CVS commit: src/tests/lib/libc/arch
Module Name:src Committed By: mrg Date: Thu Feb 14 10:36:33 UTC 2019 Modified Files: src/tests/lib/libc/arch/hppa: return_one.S src/tests/lib/libc/arch/mips: return_one.S src/tests/lib/libc/arch/powerpc64: return_one.S src/tests/lib/libc/arch/vax: return_one.S Log Message: implement return_one for hppa, mips, ppc64, and vax. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/hppa/return_one.S cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/mips/return_one.S cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/powerpc64/return_one.S cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/vax/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/hppa/return_one.S diff -u src/tests/lib/libc/arch/hppa/return_one.S:1.1 src/tests/lib/libc/arch/hppa/return_one.S:1.2 --- src/tests/lib/libc/arch/hppa/return_one.S:1.1 Mon Jul 18 23:16:09 2011 +++ src/tests/lib/libc/arch/hppa/return_one.S Thu Feb 14 10:36:33 2019 @@ -1,8 +1,10 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:09 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2019/02/14 10:36:33 mrg Exp $ */ #include .globl return_one, return_one_end; -return_one: return_one_end: - nop +return_one: + bv %r0(%r2) + ldi 1,%r28 +return_one_end: Index: src/tests/lib/libc/arch/mips/return_one.S diff -u src/tests/lib/libc/arch/mips/return_one.S:1.1 src/tests/lib/libc/arch/mips/return_one.S:1.2 --- src/tests/lib/libc/arch/mips/return_one.S:1.1 Mon Jul 18 23:16:10 2011 +++ src/tests/lib/libc/arch/mips/return_one.S Thu Feb 14 10:36:33 2019 @@ -1,8 +1,11 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:10 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2019/02/14 10:36:33 mrg Exp $ */ #include .globl return_one, return_one_end; -return_one: return_one_end: - nop +return_one: + jr $31 + li $2,1 + +return_one_end: Index: src/tests/lib/libc/arch/powerpc64/return_one.S diff -u src/tests/lib/libc/arch/powerpc64/return_one.S:1.1 src/tests/lib/libc/arch/powerpc64/return_one.S:1.2 --- src/tests/lib/libc/arch/powerpc64/return_one.S:1.1 Mon Jul 18 23:16:10 2011 +++ src/tests/lib/libc/arch/powerpc64/return_one.S Thu Feb 14 10:36:33 2019 @@ -1,8 +1,10 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:10 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2019/02/14 10:36:33 mrg Exp $ */ #include .globl return_one, return_one_end; -return_one: return_one_end: - nop +return_one: + li 3,1 + blr +return_one_end: Index: src/tests/lib/libc/arch/vax/return_one.S diff -u src/tests/lib/libc/arch/vax/return_one.S:1.1 src/tests/lib/libc/arch/vax/return_one.S:1.2 --- src/tests/lib/libc/arch/vax/return_one.S:1.1 Mon Jul 18 23:16:10 2011 +++ src/tests/lib/libc/arch/vax/return_one.S Thu Feb 14 10:36:33 2019 @@ -1,8 +1,12 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:10 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2019/02/14 10:36:33 mrg Exp $ */ #include .globl return_one, return_one_end; -return_one: return_one_end: - nop +return_one: + .word 0 + subl2 $4,%sp + movl $1,%r0 + ret +return_one_end:
CVS commit: src/tests/lib/libc/arch/m68k
Module Name:src Committed By: mlelstv Date: Sun Feb 10 09:54:39 UTC 2019 Modified Files: src/tests/lib/libc/arch/m68k: return_one.S Log Message: provide a test function, avoids crashing tests with SIGSEGV. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/m68k/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/m68k/return_one.S diff -u src/tests/lib/libc/arch/m68k/return_one.S:1.1 src/tests/lib/libc/arch/m68k/return_one.S:1.2 --- src/tests/lib/libc/arch/m68k/return_one.S:1.1 Mon Jul 18 23:16:09 2011 +++ src/tests/lib/libc/arch/m68k/return_one.S Sun Feb 10 09:54:39 2019 @@ -1,8 +1,9 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:09 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2019/02/10 09:54:39 mlelstv Exp $ */ #include -.globl return_one, return_one_end; - -return_one: return_one_end: - nop +_ENTRY(return_one) + moveq #1,%d0 + rts + .globl return_one_end +return_one_end:
CVS commit: src/tests/lib/libc/arch/aarch64
Module Name:src Committed By: ryo Date: Fri Jul 27 07:09:15 UTC 2018 Modified Files: src/tests/lib/libc/arch/aarch64: exec_prot_support.c Log Message: aarch64 support per page execute protection To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/aarch64/exec_prot_support.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/aarch64/exec_prot_support.c diff -u src/tests/lib/libc/arch/aarch64/exec_prot_support.c:1.1 src/tests/lib/libc/arch/aarch64/exec_prot_support.c:1.2 --- src/tests/lib/libc/arch/aarch64/exec_prot_support.c:1.1 Sun Aug 10 05:47:38 2014 +++ src/tests/lib/libc/arch/aarch64/exec_prot_support.c Fri Jul 27 07:09:15 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: exec_prot_support.c,v 1.1 2014/08/10 05:47:38 matt Exp $ */ +/* $NetBSD: exec_prot_support.c,v 1.2 2018/07/27 07:09:15 ryo Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -30,12 +30,12 @@ */ #include -__RCSID("$NetBSD: exec_prot_support.c,v 1.1 2014/08/10 05:47:38 matt Exp $"); +__RCSID("$NetBSD: exec_prot_support.c,v 1.2 2018/07/27 07:09:15 ryo Exp $"); #include "../../common/exec_prot.h" int exec_prot_support(void) { - return NOTIMPL; + return PERPAGE_XP; }
CVS commit: src/tests/lib/libc/arch/sparc
Module Name:src Committed By: martin Date: Sun Jan 14 19:59:52 UTC 2018 Modified Files: src/tests/lib/libc/arch/sparc: exec_prot_support.c return_one.S Log Message: Sync sparc with sparc64 To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/sparc/exec_prot_support.c \ src/tests/lib/libc/arch/sparc/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/sparc/exec_prot_support.c diff -u src/tests/lib/libc/arch/sparc/exec_prot_support.c:1.1 src/tests/lib/libc/arch/sparc/exec_prot_support.c:1.2 --- src/tests/lib/libc/arch/sparc/exec_prot_support.c:1.1 Mon Jul 18 23:16:10 2011 +++ src/tests/lib/libc/arch/sparc/exec_prot_support.c Sun Jan 14 19:59:51 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: exec_prot_support.c,v 1.1 2011/07/18 23:16:10 jym Exp $ */ +/* $NetBSD: exec_prot_support.c,v 1.2 2018/01/14 19:59:51 martin Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -30,12 +30,13 @@ */ #include -__RCSID("$NetBSD: exec_prot_support.c,v 1.1 2011/07/18 23:16:10 jym Exp $"); +__RCSID("$NetBSD: exec_prot_support.c,v 1.2 2018/01/14 19:59:51 martin Exp $"); #include "../../common/exec_prot.h" int exec_prot_support(void) { - return NOTIMPL; + + return PERPAGE_XP; } Index: src/tests/lib/libc/arch/sparc/return_one.S diff -u src/tests/lib/libc/arch/sparc/return_one.S:1.1 src/tests/lib/libc/arch/sparc/return_one.S:1.2 --- src/tests/lib/libc/arch/sparc/return_one.S:1.1 Mon Jul 18 23:16:10 2011 +++ src/tests/lib/libc/arch/sparc/return_one.S Sun Jan 14 19:59:51 2018 @@ -1,8 +1,11 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:10 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2018/01/14 19:59:51 martin Exp $ */ #include -.globl return_one, return_one_end; +.global return_one_end -return_one: return_one_end: - nop +ENTRY(return_one) +return_one: + retl + mov 1, %o0 +return_one_end:
CVS commit: src/tests/lib/libc/arch/alpha
Module Name:src Committed By: martin Date: Sat Dec 30 16:35:03 UTC 2017 Modified Files: src/tests/lib/libc/arch/alpha: return_one.S Log Message: Implement helper function for alpha To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/alpha/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/alpha/return_one.S diff -u src/tests/lib/libc/arch/alpha/return_one.S:1.1 src/tests/lib/libc/arch/alpha/return_one.S:1.2 --- src/tests/lib/libc/arch/alpha/return_one.S:1.1 Mon Jul 18 23:16:09 2011 +++ src/tests/lib/libc/arch/alpha/return_one.S Sat Dec 30 16:35:03 2017 @@ -1,8 +1,11 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:09 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2017/12/30 16:35:03 martin Exp $ */ #include .globl return_one, return_one_end; -return_one: return_one_end: +return_one: + lda v0,1 + ret +return_one_end: nop
CVS commit: src/tests/lib/libc/arch/sh3
Module Name:src Committed By: uwe Date: Thu Jul 20 01:13:47 UTC 2017 Modified Files: src/tests/lib/libc/arch/sh3: return_one.S Log Message: Don't execute random garbage. Fixes mprotect_mremap_exec test. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/sh3/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/sh3/return_one.S diff -u src/tests/lib/libc/arch/sh3/return_one.S:1.1 src/tests/lib/libc/arch/sh3/return_one.S:1.2 --- src/tests/lib/libc/arch/sh3/return_one.S:1.1 Mon Jul 18 23:16:10 2011 +++ src/tests/lib/libc/arch/sh3/return_one.S Thu Jul 20 01:13:47 2017 @@ -1,8 +1,10 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:10 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2017/07/20 01:13:47 uwe Exp $ */ #include -.globl return_one, return_one_end; - -return_one: return_one_end: - nop +NENTRY(return_one) + rts + mov #1, r0 + SET_ENTRY_SIZE(return_one) + .globl return_one_end +return_one_end:
CVS commit: src/tests/lib/libc/arch/sparc64
Module Name:src Committed By: martin Date: Sat Dec 31 11:51:20 UTC 2016 Modified Files: src/tests/lib/libc/arch/sparc64: exec_prot_support.c return_one.S Log Message: All sparc64 CPUs support per page execute protection. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/sparc64/exec_prot_support.c \ src/tests/lib/libc/arch/sparc64/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/sparc64/exec_prot_support.c diff -u src/tests/lib/libc/arch/sparc64/exec_prot_support.c:1.1 src/tests/lib/libc/arch/sparc64/exec_prot_support.c:1.2 --- src/tests/lib/libc/arch/sparc64/exec_prot_support.c:1.1 Mon Jul 18 23:16:10 2011 +++ src/tests/lib/libc/arch/sparc64/exec_prot_support.c Sat Dec 31 11:51:20 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: exec_prot_support.c,v 1.1 2011/07/18 23:16:10 jym Exp $ */ +/* $NetBSD: exec_prot_support.c,v 1.2 2016/12/31 11:51:20 martin Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -30,12 +30,13 @@ */ #include -__RCSID("$NetBSD: exec_prot_support.c,v 1.1 2011/07/18 23:16:10 jym Exp $"); +__RCSID("$NetBSD: exec_prot_support.c,v 1.2 2016/12/31 11:51:20 martin Exp $"); #include "../../common/exec_prot.h" int exec_prot_support(void) { - return NOTIMPL; + + return PERPAGE_XP; } Index: src/tests/lib/libc/arch/sparc64/return_one.S diff -u src/tests/lib/libc/arch/sparc64/return_one.S:1.1 src/tests/lib/libc/arch/sparc64/return_one.S:1.2 --- src/tests/lib/libc/arch/sparc64/return_one.S:1.1 Mon Jul 18 23:16:10 2011 +++ src/tests/lib/libc/arch/sparc64/return_one.S Sat Dec 31 11:51:20 2016 @@ -1,8 +1,11 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:10 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2016/12/31 11:51:20 martin Exp $ */ #include -.globl return_one, return_one_end; +.global return_one_end -return_one: return_one_end: - nop +ENTRY(return_one) +return_one: + retl + mov 1, %o0 +return_one_end:
CVS commit: src/tests/lib/libc/arch/ia64
Module Name:src Committed By: scole Date: Fri Aug 5 15:02:29 UTC 2016 Modified Files: src/tests/lib/libc/arch/ia64: return_one.S Log Message: PR port-ia64/51261 Fix for ia64 To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/ia64/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/ia64/return_one.S diff -u src/tests/lib/libc/arch/ia64/return_one.S:1.1 src/tests/lib/libc/arch/ia64/return_one.S:1.2 --- src/tests/lib/libc/arch/ia64/return_one.S:1.1 Mon Jul 18 23:16:09 2011 +++ src/tests/lib/libc/arch/ia64/return_one.S Fri Aug 5 15:02:29 2016 @@ -1,8 +1,11 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:09 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2016/08/05 15:02:29 scole Exp $ */ #include -.globl return_one, return_one_end; +.globl return_one_end -return_one: return_one_end: - nop +ENTRY(return_one,0) + mov ret0=1 + br.ret.sptk.few rp +return_one_end: +END(return_one)
CVS commit: src/tests/lib/libc/arch/powerpc
Module Name:src Committed By: matt Date: Sun Mar 29 00:38:36 UTC 2015 Modified Files: src/tests/lib/libc/arch/powerpc: return_one.S Log Message: add return_one_start To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/arch/powerpc/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/powerpc/return_one.S diff -u src/tests/lib/libc/arch/powerpc/return_one.S:1.2 src/tests/lib/libc/arch/powerpc/return_one.S:1.3 --- src/tests/lib/libc/arch/powerpc/return_one.S:1.2 Fri Mar 16 08:51:47 2012 +++ src/tests/lib/libc/arch/powerpc/return_one.S Sun Mar 29 00:38:36 2015 @@ -1,10 +1,11 @@ -/* $NetBSD: return_one.S,v 1.2 2012/03/16 08:51:47 matt Exp $ */ +/* $NetBSD: return_one.S,v 1.3 2015/03/29 00:38:36 matt Exp $ */ #include machine/asm.h -.globl return_one, return_one_end +.globl return_one_start, return_one_end _ENTRY(return_one) +return_one_start: li %r3, 1 blr return_one_end:
CVS commit: src/tests/lib/libc/arch/riscv
Module Name:src Committed By: matt Date: Sat Mar 28 07:07:54 UTC 2015 Modified Files: src/tests/lib/libc/arch/riscv: return_one.S Log Message: Update for new RISCV ABI To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/riscv/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/riscv/return_one.S diff -u src/tests/lib/libc/arch/riscv/return_one.S:1.1 src/tests/lib/libc/arch/riscv/return_one.S:1.2 --- src/tests/lib/libc/arch/riscv/return_one.S:1.1 Fri Sep 19 17:36:26 2014 +++ src/tests/lib/libc/arch/riscv/return_one.S Sat Mar 28 07:07:54 2015 @@ -1,11 +1,11 @@ -/* $NetBSD: return_one.S,v 1.1 2014/09/19 17:36:26 matt Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2015/03/28 07:07:54 matt Exp $ */ #include machine/asm.h .globl return_one_end ENTRY_NP(return_one) - li v0, 1 + li a0, 1 ret return_one_end: END(return_one)
CVS commit: src/tests/lib/libc/arch/arm
Module Name:src Committed By: matt Date: Sun Jan 26 20:42:06 UTC 2014 Modified Files: src/tests/lib/libc/arch/arm: return_one.S Log Message: Make this real even though it isn't yet used. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/arm/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/arm/return_one.S diff -u src/tests/lib/libc/arch/arm/return_one.S:1.1 src/tests/lib/libc/arch/arm/return_one.S:1.2 --- src/tests/lib/libc/arch/arm/return_one.S:1.1 Mon Jul 18 23:16:09 2011 +++ src/tests/lib/libc/arch/arm/return_one.S Sun Jan 26 20:42:06 2014 @@ -1,8 +1,11 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:09 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2014/01/26 20:42:06 matt Exp $ */ #include machine/asm.h -.globl return_one, return_one_end; - -return_one: return_one_end: - nop +ENTRY_NP(return_one) + mov r0, #1 + RET + .align 0 + .globl return_one_end +return_one_end: +END(return_one)
CVS commit: src/tests/lib/libc/arch/powerpc
Module Name:src Committed By: matt Date: Fri Mar 16 08:51:47 UTC 2012 Modified Files: src/tests/lib/libc/arch/powerpc: exec_prot_support.c return_one.S Log Message: Allow testing of exec pages on PowerPC BookE. Make return_one actually do the right thing. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/arch/powerpc/exec_prot_support.c \ src/tests/lib/libc/arch/powerpc/return_one.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/arch/powerpc/exec_prot_support.c diff -u src/tests/lib/libc/arch/powerpc/exec_prot_support.c:1.1 src/tests/lib/libc/arch/powerpc/exec_prot_support.c:1.2 --- src/tests/lib/libc/arch/powerpc/exec_prot_support.c:1.1 Mon Jul 18 23:16:10 2011 +++ src/tests/lib/libc/arch/powerpc/exec_prot_support.c Fri Mar 16 08:51:47 2012 @@ -1,11 +1,11 @@ -/* $NetBSD: exec_prot_support.c,v 1.1 2011/07/18 23:16:10 jym Exp $ */ +/* $NetBSD: exec_prot_support.c,v 1.2 2012/03/16 08:51:47 matt Exp $ */ /*- - * Copyright (c) 2011 The NetBSD Foundation, Inc. + * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation - * by Jean-Yves Migeon. + * by Matt Thomas of 3am Software Foundry. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -30,12 +30,23 @@ */ #include sys/cdefs.h -__RCSID($NetBSD: exec_prot_support.c,v 1.1 2011/07/18 23:16:10 jym Exp $); +__RCSID($NetBSD: exec_prot_support.c,v 1.2 2012/03/16 08:51:47 matt Exp $); #include ../../common/exec_prot.h +#include sys/sysctl.h + int exec_prot_support(void) { - return NOTIMPL; + int execprot = 0; + size_t len = sizeof(execprot); + + if (sysctlbyname(machdep.execprot, execprot, len, NULL, 0) 0) + return NOTIMPL; + + if (execprot) + return PERPAGE_XP; + + return NO_XP; } Index: src/tests/lib/libc/arch/powerpc/return_one.S diff -u src/tests/lib/libc/arch/powerpc/return_one.S:1.1 src/tests/lib/libc/arch/powerpc/return_one.S:1.2 --- src/tests/lib/libc/arch/powerpc/return_one.S:1.1 Mon Jul 18 23:16:10 2011 +++ src/tests/lib/libc/arch/powerpc/return_one.S Fri Mar 16 08:51:47 2012 @@ -1,8 +1,11 @@ -/* $NetBSD: return_one.S,v 1.1 2011/07/18 23:16:10 jym Exp $ */ +/* $NetBSD: return_one.S,v 1.2 2012/03/16 08:51:47 matt Exp $ */ #include machine/asm.h -.globl return_one, return_one_end; +.globl return_one, return_one_end -return_one: return_one_end: - nop +_ENTRY(return_one) + li %r3, 1 + blr +return_one_end: +END(return_one)