1*4882a593SmuzhiyunFrom 70406ad5668a15fedce2ae1ed3bc4fad04d9f040 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Matt Weber <matthew.weber@rockwellcollins.com>
3*4882a593SmuzhiyunDate: Wed, 5 Jul 2017 20:47:42 -0500
4*4882a593SmuzhiyunSubject: [PATCH] paxtest: page alignment ARM and NIOS2 arch
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun- Extended ARM range from ARMv6-v7 to also include anything below v7
7*4882a593Smuzhiyun- Added NIOS2 arch to conditionally have smaller alignment
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunSubmitted Upstream to pageexec@freemail.hu.  Also posted a
10*4882a593Smuzhiyunbug to both (Hardened) Suse and Gentoo's bugtrackers.
11*4882a593Smuzhiyunhttps://bugzilla.opensuse.org/show_bug.cgi?id=1047422
12*4882a593Smuzhiyunhttps://bugs.gentoo.org/show_bug.cgi?id=623946
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunSigned-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
15*4882a593Smuzhiyun---
16*4882a593Smuzhiyun paxtest.h | 12 ++++++++++--
17*4882a593Smuzhiyun 1 file changed, 10 insertions(+), 2 deletions(-)
18*4882a593Smuzhiyun
19*4882a593Smuzhiyundiff --git a/paxtest.h b/paxtest.h
20*4882a593Smuzhiyunindex 8623bfb..a230c1a 100644
21*4882a593Smuzhiyun--- a/paxtest.h
22*4882a593Smuzhiyun+++ b/paxtest.h
23*4882a593Smuzhiyun@@ -5,13 +5,21 @@
24*4882a593Smuzhiyun #include <unistd.h>
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun /*
27*4882a593Smuzhiyun- * ARMv6 and ARMv7 do not like 64k alignment, 32k is ok
28*4882a593Smuzhiyun+ * Earlier ARMv# through ARMv7 do not like 64k alignment, 32k is ok
29*4882a593Smuzhiyun  */
30*4882a593Smuzhiyun-#if defined(__arm__) && __ARM_ARCH >= 6 && __ARM_ARCH <= 7
31*4882a593Smuzhiyun+#if defined(__arm__) && __ARM_ARCH <= 7
32*4882a593Smuzhiyun #define PAGE_SIZE_MAX  (32768)
33*4882a593Smuzhiyun #else
34*4882a593Smuzhiyun #define PAGE_SIZE_MAX	0x10000	/* 64k should cover most arches */
35*4882a593Smuzhiyun #endif
36*4882a593Smuzhiyun+
37*4882a593Smuzhiyun+/*
38*4882a593Smuzhiyun+ * NIOS2's assemblier doesn't like 64k alignment
39*4882a593Smuzhiyun+ */
40*4882a593Smuzhiyun+#if defined(__nios2_arch__)
41*4882a593Smuzhiyun+#define PAGE_SIZE_MAX  (32768)
42*4882a593Smuzhiyun+#endif
43*4882a593Smuzhiyun+
44*4882a593Smuzhiyun #ifndef __aligned
45*4882a593Smuzhiyun #define __aligned(x)	__attribute__((aligned(x)))
46*4882a593Smuzhiyun #endif
47*4882a593Smuzhiyun--
48*4882a593Smuzhiyun1.9.1
49*4882a593Smuzhiyun
50