12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- diff -Nur gcc-5.3.0.orig/gcc/config/tilegx/linux.h gcc-5.3.0/gcc/config/tilegx/linux.h
- --- gcc-5.3.0.orig/gcc/config/tilegx/linux.h 2015-01-05 13:33:28.000000000 +0100
- +++ gcc-5.3.0/gcc/config/tilegx/linux.h 2016-01-25 12:53:51.975221940 +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.3.0.orig/gcc/config/tilepro/linux.h gcc-5.3.0/gcc/config/tilepro/linux.h
- --- gcc-5.3.0.orig/gcc/config/tilepro/linux.h 2015-01-05 13:33:28.000000000 +0100
- +++ gcc-5.3.0/gcc/config/tilepro/linux.h 2016-01-25 12:56:33.687363200 +0100
- @@ -47,8 +47,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.3.0.orig/libgcc/config/tilepro/atomic.h gcc-5.3.0/libgcc/config/tilepro/atomic.h
- --- gcc-5.3.0.orig/libgcc/config/tilepro/atomic.h 2015-01-05 13:33:28.000000000 +0100
- +++ gcc-5.3.0/libgcc/config/tilepro/atomic.h 2016-01-25 13:16:09.116389975 +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
-
- @@ -90,14 +95,12 @@
- syscall, as is the 64-bit compare-and-exchange. The other 64-bit
- routines are implemented by looping over the 64-bit
- compare-and-exchange routine, so may be potentially less efficient. */
- -#endif
-
- -#ifdef __tilegx__
- -#include <arch/spr_def.h>
- -#else
- -#include <asm/unistd.h>
- -#endif
- +#define __NR_FAST_cmpxchg -1
- +#define __NR_FAST_atomic_update -2
- +#define __NR_FAST_cmpxchg64 -3
-
- +#endif
-
- /* 32-bit integer compare-and-exchange. */
- static __inline __attribute__ ((always_inline))
|