aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/patches/7.2.0/800-arm_v5te_no_ldrd_strd.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2018-01-27 14:28:46 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2018-01-27 19:54:52 +0100
commit1a8523c83530fcfc2607723e803e347dd5c50ec4 (patch)
tree2197bbab6c8be659021e16422389d2b315f494cd /toolchain/gcc/patches/7.2.0/800-arm_v5te_no_ldrd_strd.patch
parent241e6dd3e92c4f215b8ac75379a4b5aeaeb92171 (diff)
downloadupstream-1a8523c83530fcfc2607723e803e347dd5c50ec4.tar.gz
upstream-1a8523c83530fcfc2607723e803e347dd5c50ec4.tar.bz2
upstream-1a8523c83530fcfc2607723e803e347dd5c50ec4.zip
toolchain: gcc: update 7.x to 7.3.0
This version still generates broken code in our setup for MIPS. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'toolchain/gcc/patches/7.2.0/800-arm_v5te_no_ldrd_strd.patch')
-rw-r--r--toolchain/gcc/patches/7.2.0/800-arm_v5te_no_ldrd_strd.patch32
1 files changed, 0 insertions, 32 deletions
diff --git a/toolchain/gcc/patches/7.2.0/800-arm_v5te_no_ldrd_strd.patch b/toolchain/gcc/patches/7.2.0/800-arm_v5te_no_ldrd_strd.patch
deleted file mode 100644
index 76200a1661..0000000000
--- a/toolchain/gcc/patches/7.2.0/800-arm_v5te_no_ldrd_strd.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-commit b050f87d13b5dc7ed82feb9a90f4529de58bdf25
-Author: Felix Fietkau <nbd@openwrt.org>
-Date: Wed Feb 19 19:20:10 2014 +0000
-
- gcc: prevent the use of LDRD/STRD on ARMv5TE
-
- These instructions are for 64-bit load/store. On ARMv5TE, the CPU
- requires addresses to be aligned to 64-bit. When misaligned, behavior is
- undefined (effectively either loads the same word twice on LDRD, or
- corrupts surrounding memory on STRD).
-
- On ARMv6 and newer, unaligned access is safe.
-
- Removing these instructions for ARMv5TE is necessary, because GCC
- ignores alignment information in pointers and does unsafe optimizations
- that have shown up as bugs in various places.
-
- Signed-off-by: Felix Fietkau <nbd@openwrt.org>
-
- SVN-Revision: 39638
-
---- a/gcc/config/arm/arm.h
-+++ b/gcc/config/arm/arm.h
-@@ -150,7 +150,7 @@ extern tree arm_fp16_type_node;
- /* Thumb-1 only. */
- #define TARGET_THUMB1_ONLY (TARGET_THUMB1 && !arm_arch_notm)
-
--#define TARGET_LDRD (arm_arch5e && ARM_DOUBLEWORD_ALIGN \
-+#define TARGET_LDRD (arm_arch6 && ARM_DOUBLEWORD_ALIGN \
- && !TARGET_THUMB1)
-
- #define TARGET_CRC32 (arm_arch_crc)