summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/mtd/mtd-utils/fix-armv7-neon-alignment.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/mtd/mtd-utils/fix-armv7-neon-alignment.patch')
-rw-r--r--meta/recipes-devtools/mtd/mtd-utils/fix-armv7-neon-alignment.patch21
1 files changed, 16 insertions, 5 deletions
diff --git a/meta/recipes-devtools/mtd/mtd-utils/fix-armv7-neon-alignment.patch b/meta/recipes-devtools/mtd/mtd-utils/fix-armv7-neon-alignment.patch
index a279d84c4e..6fc594f00b 100644
--- a/meta/recipes-devtools/mtd/mtd-utils/fix-armv7-neon-alignment.patch
+++ b/meta/recipes-devtools/mtd/mtd-utils/fix-armv7-neon-alignment.patch
@@ -1,16 +1,25 @@
1Upstream-Status: Pending 1From 7d026a85946a08b8167dcd792ea6660bf6a49e08 Mon Sep 17 00:00:00 2001
2From: Yuanjie Huang <Yuanjie.Huang@windriver.com>
3Date: Thu, 2 Mar 2017 10:43:56 +0100
4Subject: [PATCH] Fix alignment trap triggered by NEON instructions
2 5
3NEON instruction VLD1.64 was used to copy 64 bits data after type 6NEON instruction VLD1.64 was used to copy 64 bits data after type
4casting, and they will trigger alignment trap. 7casting, and they will trigger alignment trap.
5This patch uses memcpy to avoid alignment problem. 8This patch uses memcpy to avoid alignment problem.
6 9
10Upstream-Status: Backport
11
7Signed-off-by: Yuanjie Huang <Yuanjie.Huang@windriver.com> 12Signed-off-by: Yuanjie Huang <Yuanjie.Huang@windriver.com>
13Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
14---
15 ubifs-utils/mkfs.ubifs/key.h | 16 ++++++++++------
16 1 file changed, 10 insertions(+), 6 deletions(-)
8 17
9diff --git a/mkfs.ubifs/key.h b/mkfs.ubifs/key.h 18diff --git a/ubifs-utils/mkfs.ubifs/key.h b/ubifs-utils/mkfs.ubifs/key.h
10index d3a02d4..e7e9218 100644 19index 39379fd..118858b 100644
11--- a/ubifs-utils/mkfs.ubifs/key.h 20--- a/ubifs-utils/mkfs.ubifs/key.h
12+++ b/ubifs-utils/mkfs.ubifs/key.h 21+++ b/ubifs-utils/mkfs.ubifs/key.h
13@@ -141,10 +141,12 @@ static inline void data_key_init(union ubifs_key *key, ino_t inum, 22@@ -159,10 +159,12 @@ static inline void data_key_init(union ubifs_key *key, ino_t inum,
14 */ 23 */
15 static inline void key_write(const union ubifs_key *from, void *to) 24 static inline void key_write(const union ubifs_key *from, void *to)
16 { 25 {
@@ -26,7 +35,7 @@ index d3a02d4..e7e9218 100644
26 memset(to + 8, 0, UBIFS_MAX_KEY_LEN - 8); 35 memset(to + 8, 0, UBIFS_MAX_KEY_LEN - 8);
27 } 36 }
28 37
29@@ -156,10 +158,12 @@ static inline void key_write(const union ubifs_key *from, void *to) 38@@ -174,10 +176,12 @@ static inline void key_write(const union ubifs_key *from, void *to)
30 */ 39 */
31 static inline void key_write_idx(const union ubifs_key *from, void *to) 40 static inline void key_write_idx(const union ubifs_key *from, void *to)
32 { 41 {
@@ -42,3 +51,5 @@ index d3a02d4..e7e9218 100644
42 } 51 }
43 52
44 /** 53 /**
54--
552.6.1