diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2015-12-02 16:12:56 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2015-12-02 16:12:56 +0100 |
commit | c74770c68d13e944dfb514dc4a745cee5acd3e69 (patch) | |
tree | 20895baa9d8d9f48712486c9e0dc99e9fcf59451 | |
parent | 4e6e36f25af9c113bdef737600275ca0671dee74 (diff) |
fix gcc 5.2 nios2/tilegx toolchain building
-rw-r--r-- | toolchain/gcc/patches/5.2.0/fix-nios2.patch | 11 | ||||
-rw-r--r-- | toolchain/gcc/patches/5.2.0/fix-tile.patch | 41 |
2 files changed, 52 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/5.2.0/fix-nios2.patch b/toolchain/gcc/patches/5.2.0/fix-nios2.patch new file mode 100644 index 000000000..8fe2589ce --- /dev/null +++ b/toolchain/gcc/patches/5.2.0/fix-nios2.patch @@ -0,0 +1,11 @@ +diff -Nur gcc-4.9.3.orig/libgcc/config/nios2/linux-atomic.c gcc-4.9.3/libgcc/config/nios2/linux-atomic.c +--- gcc-4.9.3.orig/libgcc/config/nios2/linux-atomic.c 2014-01-02 23:25:22.000000000 +0100 ++++ gcc-4.9.3/libgcc/config/nios2/linux-atomic.c 2015-12-01 22:50:00.029946306 +0100 +@@ -20,7 +20,6 @@ + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + +-#include <asm/unistd.h> + #define EFAULT 14 + #define EBUSY 16 + #define ENOSYS 38 diff --git a/toolchain/gcc/patches/5.2.0/fix-tile.patch b/toolchain/gcc/patches/5.2.0/fix-tile.patch new file mode 100644 index 000000000..07aa97200 --- /dev/null +++ b/toolchain/gcc/patches/5.2.0/fix-tile.patch @@ -0,0 +1,41 @@ +diff -Nur gcc-5.2.0.orig/gcc/config/tilegx/linux.h gcc-5.2.0/gcc/config/tilegx/linux.h +--- gcc-5.2.0.orig/gcc/config/tilegx/linux.h 2015-01-05 13:33:28.000000000 +0100 ++++ gcc-5.2.0/gcc/config/tilegx/linux.h 2015-12-02 15:13:59.563521746 +0100 +@@ -55,8 +55,6 @@ + /* For __clear_cache in libgcc2.c. */ + #ifdef IN_LIBGCC2 + +-#include <arch/icache.h> +- + /* Use the minimum page size of 4K. Alternatively we can call + getpagesize() but it introduces a libc dependence. */ + #undef CLEAR_INSN_CACHE +diff -Nur gcc-5.2.0.orig/libgcc/config/tilepro/atomic.h gcc-5.2.0/libgcc/config/tilepro/atomic.h +--- gcc-5.2.0.orig/libgcc/config/tilepro/atomic.h 2015-01-05 13:33:28.000000000 +0100 ++++ gcc-5.2.0/libgcc/config/tilepro/atomic.h 2015-12-02 15:41:08.868942210 +0100 +@@ -46,6 +46,11 @@ + The "exchange" and "compare and exchange" macros may also take + pointer values. We use the pseudo-type "VAL" in the documentation + to indicate the use of an appropriate type. */ ++ ++#ifndef SPR_CMPEXCH_VALUE ++#define SPR_CMPEXCH_VALUE 0x2780 ++#endif ++ + #else + /* Atomic instruction macros + +@@ -92,13 +97,6 @@ + compare-and-exchange routine, so may be potentially less efficient. */ + #endif + +-#ifdef __tilegx__ +-#include <arch/spr_def.h> +-#else +-#include <asm/unistd.h> +-#endif +- +- + /* 32-bit integer compare-and-exchange. */ + static __inline __attribute__ ((always_inline)) + int arch_atomic_val_compare_and_exchange_4 (volatile int *mem, |