Browse Source

microblaze works with linuxthreads, add required gcc patch for uClibc-ng support

Waldemar Brodkorb 9 years ago
parent
commit
fb8b1cae20
2 changed files with 21 additions and 1 deletions
  1. 1 1
      target/config/Config.in.cpu
  2. 20 0
      toolchain/gcc/patches/5.3.0/microblaze-uclibc.patch

+ 1 - 1
target/config/Config.in.cpu

@@ -642,7 +642,7 @@ config ADK_TARGET_CPU_METAG
 # microblaze
 # microblaze
 config ADK_TARGET_CPU_MICROBLAZE
 config ADK_TARGET_CPU_MICROBLAZE
 	bool "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_MMU if !ADK_LINUX_UCLINUX
 	select ADK_TARGET_WITH_NPTL if ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_MUSL
 	select ADK_TARGET_WITH_NPTL if ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_MUSL
 	depends on ADK_TARGET_ARCH_MICROBLAZE
 	depends on ADK_TARGET_ARCH_MICROBLAZE

+ 20 - 0
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 }