From fb8b1cae200ec1871f35b046788dfbe859735124 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 24 May 2016 22:32:55 +0200 Subject: microblaze works with linuxthreads, add required gcc patch for uClibc-ng support --- target/config/Config.in.cpu | 2 +- toolchain/gcc/patches/5.3.0/microblaze-uclibc.patch | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 toolchain/gcc/patches/5.3.0/microblaze-uclibc.patch 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 } -- cgit v1.2.3