diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-03-05 00:51:01 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-03-05 00:51:01 +0000 |
commit | 88093cf36c375d29a3447b7286ecf88dac407239 (patch) | |
tree | 3d261a215e2858639091a3026884f806dd4c1747 /toolchain/gcc/patches/4.6-linaro/870-ppc_no_crtsavres.patch | |
parent | 7485bf2113972b43a86011f12ef120b65c08b044 (diff) |
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
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30814 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/gcc/patches/4.6-linaro/870-ppc_no_crtsavres.patch')
-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 |