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