diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-03-05 00:51:01 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-03-05 00:51:01 +0000 |
commit | d8c570a1531035c3e26bcd94741e5f5b9c36b5d9 (patch) | |
tree | 25374a136ec66edad39b9af7579de2bb03929888 /toolchain/gcc/patches | |
parent | e308da91e77087e943e0d48a83534cbc68bc03de (diff) | |
download | upstream-d8c570a1531035c3e26bcd94741e5f5b9c36b5d9.tar.gz upstream-d8c570a1531035c3e26bcd94741e5f5b9c36b5d9.tar.bz2 upstream-d8c570a1531035c3e26bcd94741e5f5b9c36b5d9.zip |
gcc: do not emit references to _savegpr_* and _restgpr_* on powerpc, as they are tricky to deal with wrt. libgcc. they cannot be linked dynamically
SVN-Revision: 30814
Diffstat (limited to 'toolchain/gcc/patches')
-rw-r--r-- | toolchain/gcc/patches/4.6-linaro/870-ppc_no_crtsavres.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/4.6-linaro/870-ppc_no_crtsavres.patch b/toolchain/gcc/patches/4.6-linaro/870-ppc_no_crtsavres.patch new file mode 100644 index 0000000000..8747743486 --- /dev/null +++ b/toolchain/gcc/patches/4.6-linaro/870-ppc_no_crtsavres.patch @@ -0,0 +1,20 @@ +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -248,13 +248,13 @@ + + /* Define cutoff for using external functions to save floating point. + When optimizing for size, use external functions when profitable. */ +-#define FP_SAVE_INLINE(FIRST_REG) (optimize_size \ ++#define FP_SAVE_INLINE(FIRST_REG) (1 || (optimize_size \ + ? ((FIRST_REG) == 62 \ + || (FIRST_REG) == 63) \ +- : (FIRST_REG) < 64) ++ : (FIRST_REG) < 64)) + /* And similarly for general purpose registers. */ +-#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32 \ +- && !optimize_size) ++#define GP_SAVE_INLINE(FIRST_REG) (1 || ((FIRST_REG) < 32 \ ++ && !optimize_size)) + + /* Put jump tables in read-only memory, rather than in .text. */ + #define JUMP_TABLES_IN_TEXT_SECTION 0 |