summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2016-05-24 22:32:55 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2016-05-24 22:33:08 +0200
commitfb8b1cae200ec1871f35b046788dfbe859735124 (patch)
treebd69e52c24a67e9a604116ddceb799c348c55c16
parentebdaaf7135e5ffaea593d6948799e644f5213cdf (diff)
microblaze works with linuxthreads, add required gcc patch for uClibc-ng support
-rw-r--r--target/config/Config.in.cpu2
-rw-r--r--toolchain/gcc/patches/5.3.0/microblaze-uclibc.patch20
2 files changed, 21 insertions, 1 deletions
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index 35be2979d..096b99010 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -642,7 +642,7 @@ config ADK_TARGET_CPU_METAG
# microblaze
config ADK_TARGET_CPU_MICROBLAZE
bool "microblaze"
- select ADK_TARGET_WITHOUT_THREADS if ADK_TARGET_LIB_UCLIBC_NG
+ select ADK_TARGET_WITH_LT if ADK_TARGET_LIB_UCLIBC_NG
select ADK_TARGET_WITH_MMU if !ADK_LINUX_UCLINUX
select ADK_TARGET_WITH_NPTL if ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_MUSL
depends on ADK_TARGET_ARCH_MICROBLAZE
diff --git a/toolchain/gcc/patches/5.3.0/microblaze-uclibc.patch b/toolchain/gcc/patches/5.3.0/microblaze-uclibc.patch
new file mode 100644
index 000000000..5d71fd78f
--- /dev/null
+++ b/toolchain/gcc/patches/5.3.0/microblaze-uclibc.patch
@@ -0,0 +1,20 @@
+diff -Nur gcc-5.3.0.orig/gcc/config/microblaze/linux.h gcc-5.3.0/gcc/config/microblaze/linux.h
+--- gcc-5.3.0.orig/gcc/config/microblaze/linux.h 2015-05-28 16:08:19.000000000 +0200
++++ gcc-5.3.0/gcc/config/microblaze/linux.h 2016-05-13 09:21:01.579262885 +0200
+@@ -28,7 +28,15 @@
+ #undef TLS_NEEDS_GOT
+ #define TLS_NEEDS_GOT 1
+
+-#define DYNAMIC_LINKER "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++
++#if DEFAULT_LIBC == LIBC_UCLIBC
++#define DYNAMIC_LINKER UCLIBC_DYNAMIC_LINKER
++#else
++#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
++#endif
++
+ #undef SUBTARGET_EXTRA_SPECS
+ #define SUBTARGET_EXTRA_SPECS \
+ { "dynamic_linker", DYNAMIC_LINKER }