X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=toolchain%2Fgcc%2Fpatches%2F7.4.0%2F800-arm_v5te_no_ldrd_strd.patch;fp=toolchain%2Fgcc%2Fpatches%2F7.4.0%2F800-arm_v5te_no_ldrd_strd.patch;h=0000000000000000000000000000000000000000;hb=e5c18dad14956ef41488fc7016ef0aa57e7347c7;hp=76200a16614d93e7d3e02b8b65237e07ed0519d4;hpb=7533087565005ecb41954790d4991cb7c32bb066;p=openwrt%2Fstaging%2Fwigyori.git diff --git a/toolchain/gcc/patches/7.4.0/800-arm_v5te_no_ldrd_strd.patch b/toolchain/gcc/patches/7.4.0/800-arm_v5te_no_ldrd_strd.patch deleted file mode 100644 index 76200a1661..0000000000 --- a/toolchain/gcc/patches/7.4.0/800-arm_v5te_no_ldrd_strd.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit b050f87d13b5dc7ed82feb9a90f4529de58bdf25 -Author: Felix Fietkau -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 - - 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)