summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/gdbserver/patches/patch-gdb_common_linux-ptrace_h11
-rw-r--r--package/w3m/Makefile2
-rw-r--r--target/arch.lst1
-rw-r--r--target/config/Config.in.cpu4
-rw-r--r--target/config/Config.in.libc.choice2
-rw-r--r--target/config/Config.in.toolchain1
-rw-r--r--target/m68k/uclibc.config4
-rw-r--r--target/tile/Makefile9
-rw-r--r--target/tile/systems/toolchain-tile10
-rw-r--r--toolchain/uclibc/Makefile2
-rw-r--r--toolchain/uclibc/patches/0.9.34-git/0001-fix-linuxthreads-for-coldfire-nommu.patch106
11 files changed, 148 insertions, 4 deletions
diff --git a/package/gdbserver/patches/patch-gdb_common_linux-ptrace_h b/package/gdbserver/patches/patch-gdb_common_linux-ptrace_h
new file mode 100644
index 000000000..1f8e5b9b4
--- /dev/null
+++ b/package/gdbserver/patches/patch-gdb_common_linux-ptrace_h
@@ -0,0 +1,11 @@
+--- gdb-7.8.orig/gdb/common/linux-ptrace.h 2014-07-29 14:37:42.000000000 +0200
++++ gdb-7.8/gdb/common/linux-ptrace.h 2014-10-04 08:25:08.000000000 +0200
+@@ -23,7 +23,7 @@ struct buffer;
+ #include <sys/ptrace.h>
+
+ #ifdef __UCLIBC__
+-#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__))
++#if !defined(__UCLIBC_HAS_MMU__)
+ /* PTRACE_TEXT_ADDR and friends. */
+ #include <asm/ptrace.h>
+ #define HAS_NOMMU
diff --git a/package/w3m/Makefile b/package/w3m/Makefile
index 9f5f7c942..2be9aec05 100644
--- a/package/w3m/Makefile
+++ b/package/w3m/Makefile
@@ -10,7 +10,7 @@ PKG_MD5SUM:= 1b845a983a50b8dec0169ac48479eacc
PKG_DESCR:= console web browser
PKG_SECTION:= app/browser
PKG_DEPENDS:= libgc libncurses
-PKG_BUILDDEP:= libgc ncurses
+PKG_BUILDDEP:= libgc-host libgc ncurses
PKG_URL:= http://w3m.sourceforge.net/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=w3m/}
diff --git a/target/arch.lst b/target/arch.lst
index 703793bb0..fd5c9f80c 100644
--- a/target/arch.lst
+++ b/target/arch.lst
@@ -14,6 +14,7 @@ ppc64
sparc
sparc64
sh
+tile
x86
x86_64
xtensa
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index c191d9f37..6039c01b4 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -46,6 +46,9 @@ config ADK_CPU_ATHLON
config ADK_CPU_ARC
boolean
+config ADK_CPU_TILE
+ boolean
+
config ADK_CPU_CRIS_V10
boolean
@@ -160,6 +163,7 @@ config ADK_TARGET_CPU_ARCH
default "sh4eb" if ADK_LINUX_SH && ADK_big
default "sparc" if ADK_LINUX_SPARC
default "sparc64" if ADK_LINUX_SPARC64
+ default "tilegx" if ADK_CPU_TILE
default "x86_64" if ADK_CPU_X86_64
default "x86_64" if ADK_CPU_AMDFAM10
default "xtensa" if ADK_LINUX_XTENSA
diff --git a/target/config/Config.in.libc.choice b/target/config/Config.in.libc.choice
index 01391f453..9f4772876 100644
--- a/target/config/Config.in.libc.choice
+++ b/target/config/Config.in.libc.choice
@@ -15,6 +15,7 @@ config ADK_TARGET_LIB_UCLIBC_NG
!ADK_LINUX_MICROBLAZE && \
!ADK_LINUX_SPARC64 && \
!ADK_LINUX_PPC64 && \
+ !ADK_LINUX_TILE && \
!ADK_x32
help
http://uclibc-ng.org
@@ -59,6 +60,7 @@ config ADK_TARGET_LIB_UCLIBC
!ADK_LINUX_MICROBLAZE && \
!ADK_LINUX_SPARC64 && \
!ADK_LINUX_PPC64 && \
+ !ADK_LINUX_TILE && \
!ADK_x32
help
http://uclibc.org
diff --git a/target/config/Config.in.toolchain b/target/config/Config.in.toolchain
index 0fcdc442b..47165b978 100644
--- a/target/config/Config.in.toolchain
+++ b/target/config/Config.in.toolchain
@@ -41,6 +41,7 @@ config ADK_TOOLCHAIN_GCC_4_8_3
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
depends on !ADK_LINUX_CRIS
+ depends on !ADK_LINUX_TILE
config ADK_TOOLCHAIN_GCC_4_9_1
prompt "4.9.1"
diff --git a/target/m68k/uclibc.config b/target/m68k/uclibc.config
index 7abadef09..8c7ca1104 100644
--- a/target/m68k/uclibc.config
+++ b/target/m68k/uclibc.config
@@ -83,8 +83,8 @@ LDSO_LD_LIBRARY_PATH=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
-LINUXTHREADS_OLD=y
-# LINUXTHREADS_NEW is not set
+# LINUXTHREADS_OLD is not set
+LINUXTHREADS_NEW=y
# UCLIBC_HAS_THREADS_NATIVE is not set
UCLIBC_HAS_THREADS=y
PTHREADS_DEBUG_SUPPORT=y
diff --git a/target/tile/Makefile b/target/tile/Makefile
new file mode 100644
index 000000000..ebc17340e
--- /dev/null
+++ b/target/tile/Makefile
@@ -0,0 +1,9 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+include $(ADK_TOPDIR)/mk/kernel.mk
+include $(ADK_TOPDIR)/mk/modules.mk
+include $(ADK_TOPDIR)/mk/kernel-build.mk
+include $(ADK_TOPDIR)/mk/image.mk
+
diff --git a/target/tile/systems/toolchain-tile b/target/tile/systems/toolchain-tile
new file mode 100644
index 000000000..bd6837dd8
--- /dev/null
+++ b/target/tile/systems/toolchain-tile
@@ -0,0 +1,10 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_TILE
+ bool "Toolchain only"
+ select ADK_tile
+ select ADK_toolchain_tile
+ select ADK_CPU_TILE
+ select ADK_TARGET_TOOLCHAIN
+ select ADK_TARGET_PACKAGE_TXZ
+ help
+ TILE toolchain.
+
diff --git a/toolchain/uclibc/Makefile b/toolchain/uclibc/Makefile
index 759db985e..c13ff9cc9 100644
--- a/toolchain/uclibc/Makefile
+++ b/toolchain/uclibc/Makefile
@@ -152,7 +152,7 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.install_headers
$(WRKBUILD)/.fixup:
ifeq ($(ADK_UCLIBC_TEST),y)
- PATH='$(HOST_PATH)' $(MAKE) ${UCLIBC_MAKEOPTS} -C $(WRKBUILD) \
+ PATH='$(HOST_PATH)' $(MAKE) -C $(WRKBUILD) \
TEST_INSTALLED_UCLIBC=1 \
UCLIBC_ONLY=1 \
UCLIBC_EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
diff --git a/toolchain/uclibc/patches/0.9.34-git/0001-fix-linuxthreads-for-coldfire-nommu.patch b/toolchain/uclibc/patches/0.9.34-git/0001-fix-linuxthreads-for-coldfire-nommu.patch
new file mode 100644
index 000000000..4f8320c34
--- /dev/null
+++ b/toolchain/uclibc/patches/0.9.34-git/0001-fix-linuxthreads-for-coldfire-nommu.patch
@@ -0,0 +1,106 @@
+From 45064565100b67ff2f960e93d580449b720a66c9 Mon Sep 17 00:00:00 2001
+From: Waldemar Brodkorb <wbx@openadk.org>
+Date: Sat, 6 Sep 2014 01:52:10 +0200
+Subject: [PATCH] fix linuxthreads for coldfire nommu
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+---
+ libpthread/linuxthreads/sysdeps/m68k/pspinlock.c | 20 +++++++++++++++-----
+ libpthread/linuxthreads/sysdeps/m68k/pt-machine.h | 11 +++++++++--
+ libpthread/linuxthreads/sysdeps/pthread/herrno-loc.c | 2 ++
+ 3 files changed, 26 insertions(+), 7 deletions(-)
+
+diff --git a/libpthread/linuxthreads/sysdeps/m68k/pspinlock.c b/libpthread/linuxthreads/sysdeps/m68k/pspinlock.c
+index c26a278..af77c2a 100644
+--- a/libpthread/linuxthreads/sysdeps/m68k/pspinlock.c
++++ b/libpthread/linuxthreads/sysdeps/m68k/pspinlock.c
+@@ -27,10 +27,15 @@ __pthread_spin_lock (pthread_spinlock_t *lock)
+ unsigned int val;
+
+ do
+- __asm__ __volatile__ ("tas %1; sne %0"
+- : "=dm" (val), "=m" (*lock)
+- : "m" (*lock)
+- : "cc");
++ __asm__ __volatile__ (
++#if !defined(__mcoldfire__) && !defined(__mcf5200__) && !defined(__m68000)
++ "tas %1; sne %0"
++#else
++ "bset #7,%1; sne %0"
++#endif
++ : "=dm" (val), "=m" (*lock)
++ : "m" (*lock)
++ : "cc");
+ while (val);
+
+ return 0;
+@@ -43,7 +48,12 @@ __pthread_spin_trylock (pthread_spinlock_t *lock)
+ {
+ unsigned int val;
+
+- __asm__ __volatile__ ("tas %1; sne %0"
++ __asm__ __volatile__ (
++#if !defined(__mcoldfire__) && !defined(__mcf5200__) && !defined(__m68000)
++ "tas %1; sne %0"
++#else
++ "bset #7,%1; sne %0"
++#endif
+ : "=dm" (val), "=m" (*lock)
+ : "m" (*lock)
+ : "cc");
+diff --git a/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h b/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h
+index e2d7bdc..1eb9fd5 100644
+--- a/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h
++++ b/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h
+@@ -28,12 +28,18 @@
+ #endif
+
+ /* Spinlock implementation; required. */
++PT_EI long int testandset (int *spinlock);
+ PT_EI long int
+ testandset (int *spinlock)
+ {
+ char ret;
+
+- __asm__ __volatile__("tas %1; sne %0"
++ __asm__ __volatile__(
++#if !defined(__mcoldfire__) && !defined(__mcf5200__) && !defined(__m68000)
++ "tas %1; sne %0"
++#else
++ "bset #7,%1; sne %0"
++#endif
+ : "=dm"(ret), "=m"(*spinlock)
+ : "m"(*spinlock)
+ : "cc");
+@@ -50,6 +56,7 @@ register char * stack_pointer __asm__ ("%sp");
+
+ /* Compare-and-swap for semaphores. */
+
++#if !defined(__mcoldfire__) && !defined(__mcf5200__) && !defined(__mc68000)
+ #define HAS_COMPARE_AND_SWAP
+ PT_EI int
+ __compare_and_swap (long int *p, long int oldval, long int newval)
+@@ -63,5 +70,5 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
+
+ return ret;
+ }
+-
++#endif
+ #endif /* pt-machine.h */
+diff --git a/libpthread/linuxthreads/sysdeps/pthread/herrno-loc.c b/libpthread/linuxthreads/sysdeps/pthread/herrno-loc.c
+index 706faef..634c752 100644
+--- a/libpthread/linuxthreads/sysdeps/pthread/herrno-loc.c
++++ b/libpthread/linuxthreads/sysdeps/pthread/herrno-loc.c
+@@ -16,7 +16,9 @@
+ <http://www.gnu.org/licenses/>. */
+
+ #include <netdb.h>
++#ifdef __UCLIBC_HAS_TLS__
+ #include <tls.h>
++#endif
+ #include <linuxthreads/internals.h>
+ #include <sysdep-cancel.h>
+
+--
+2.0.1
+