diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-09-03 13:14:44 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-09-03 13:14:44 +0000 |
commit | 86ba95601acaf56808a827656dc53c2431728bcb (patch) | |
tree | 928cd8de8c0204b8364a5532964e1e959fec01ab /toolchain | |
parent | efb08b96024e98ca48721e63bb4220e57d934193 (diff) | |
download | upstream-86ba95601acaf56808a827656dc53c2431728bcb.tar.gz upstream-86ba95601acaf56808a827656dc53c2431728bcb.tar.bz2 upstream-86ba95601acaf56808a827656dc53c2431728bcb.zip |
gcc: add ARM codegen fix from PR 65932
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 46774
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/gcc/Config.in | 1 | ||||
-rw-r--r-- | toolchain/gcc/patches/5.2.0/030-fix-arm-codegen-PR-65932.patch | 21 |
2 files changed, 21 insertions, 1 deletions
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index f5de52db6f..8a68056e9a 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -23,7 +23,6 @@ choice config GCC_USE_VERSION_5 select GCC_VERSION_5 bool "gcc 5.x" - depends on BROKEN endchoice diff --git a/toolchain/gcc/patches/5.2.0/030-fix-arm-codegen-PR-65932.patch b/toolchain/gcc/patches/5.2.0/030-fix-arm-codegen-PR-65932.patch new file mode 100644 index 0000000000..7f0b43c0e9 --- /dev/null +++ b/toolchain/gcc/patches/5.2.0/030-fix-arm-codegen-PR-65932.patch @@ -0,0 +1,21 @@ +Fix from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65932 + +--- a/gcc/config/arm/arm.h ++++ b/gcc/config/arm/arm.h +@@ -628,16 +628,10 @@ extern int arm_arch_crc; + type, but kept valid in the wider mode. The signedness of the + extension may differ from that of the type. */ + +-/* It is far faster to zero extend chars than to sign extend them */ +- + #define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \ + if (GET_MODE_CLASS (MODE) == MODE_INT \ + && GET_MODE_SIZE (MODE) < 4) \ + { \ +- if (MODE == QImode) \ +- UNSIGNEDP = 1; \ +- else if (MODE == HImode) \ +- UNSIGNEDP = 1; \ + (MODE) = SImode; \ + } + |