[Buildroot] [git commit] uclibc: add microblaze support

Peter Korsgaard peter at korsgaard.com
Sun Jun 5 20:16:45 UTC 2016


commit: https://git.buildroot.net/buildroot/commit/?id=843fc192594e66db0068906ca8eac9cc92decfb3
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Latest uClibc-ng 1.0.15 release fixed open issues with
microblaze shared library and linuxthreads support.
gcc 4.9.3 and gcc 5.3.0 require a small patch.

Signed-off-by: Waldemar Brodkorb <wbx at openadk.org>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 package/gcc/4.9.3/901-microblaze-uclibc.patch | 21 +++++++++++++++++++++
 package/gcc/5.3.0/892-microblaze-uclibc.patch | 24 ++++++++++++++++++++++++
 package/uclibc/Config.in                      |  5 +++--
 toolchain/toolchain-buildroot/Config.in       |  4 ++--
 4 files changed, 50 insertions(+), 4 deletions(-)

diff --git a/package/gcc/4.9.3/901-microblaze-uclibc.patch b/package/gcc/4.9.3/901-microblaze-uclibc.patch
new file mode 100644
index 0000000..82c44e1
--- /dev/null
+++ b/package/gcc/4.9.3/901-microblaze-uclibc.patch
@@ -0,0 +1,21 @@
+Add dynamic linker support for uClibc
+
+Signed-off-by: Waldemar Brodkorb <wbx at uclibc-ng.org>
+
+diff -Nur gcc-4.9.3.orig/gcc/config/microblaze/linux.h gcc-4.9.3/gcc/config/microblaze/linux.h
+--- gcc-4.9.3.orig/gcc/config/microblaze/linux.h	2016-06-04 21:21:09.430646655 +0200
++++ gcc-4.9.3/gcc/config/microblaze/linux.h	2016-06-04 21:21:44.596003509 +0200
+@@ -36,10 +36,13 @@
+ 
+ #undef MUSL_DYNAMIC_LINKER
+ #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1"
++#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+ 
+ #if DEFAULT_LIBC == LIBC_MUSL
+ #define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER
++#elif DEFAULT_LIBC == LIBC_UCLIBC
++#define DYNAMIC_LINKER UCLIBC_DYNAMIC_LINKER
+ #else
+ #define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
+ #endif
diff --git a/package/gcc/5.3.0/892-microblaze-uclibc.patch b/package/gcc/5.3.0/892-microblaze-uclibc.patch
new file mode 100644
index 0000000..a8eb5a6
--- /dev/null
+++ b/package/gcc/5.3.0/892-microblaze-uclibc.patch
@@ -0,0 +1,24 @@
+Add dynamic linker support for uClibc
+
+Signed-off-by: Waldemar Brodkorb <wbx at uclibc-ng.org>
+
+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 }
diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
index 1aad9a0..f5a3310 100644
--- a/package/uclibc/Config.in
+++ b/package/uclibc/Config.in
@@ -59,14 +59,14 @@ choice
 	config BR2_PTHREADS
 		bool "linuxthreads"
 		select BR2_TOOLCHAIN_HAS_THREADS
-		depends on BR2_m68k || BR2_arm || BR2_armeb || BR2_xtensa
+		depends on BR2_m68k || BR2_microblaze || BR2_arm || BR2_armeb || BR2_xtensa
 
 	config BR2_PTHREADS_NATIVE
 		bool "Native POSIX Threading (NPTL)"
 		select BR2_TOOLCHAIN_HAS_THREADS
 		select BR2_TOOLCHAIN_HAS_THREADS_NPTL
 		depends on BR2_USE_MMU
-		depends on !BR2_m68k
+		depends on !BR2_m68k && !BR2_microblaze
 endchoice
 
 config BR2_PTHREAD_DEBUG
@@ -121,6 +121,7 @@ config BR2_UCLIBC_TARGET_ARCH
 	default "arc"	   if BR2_arcle || BR2_arceb
 	default "arm"	   if BR2_arm	|| BR2_armeb
 	default "m68k"	   if BR2_m68k
+	default "microblaze"   if BR2_microblaze
 	default "mips"	   if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
 	default "powerpc"  if BR2_powerpc
 	default "sh"	   if BR2_sh
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 2b0ebc1..52009c4 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -24,13 +24,13 @@ choice
 	prompt "C library"
 	default BR2_TOOLCHAIN_UCLIBC
 	default BR2_TOOLCHAIN_BUILDROOT_GLIBC if BR2_aarch64 || BR2_aarch64_be \
-		|| BR2_microblaze || BR2_powerpc64
+		|| BR2_powerpc64
 
 config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
 	bool "uClibc"
 	select BR2_TOOLCHAIN_USES_UCLIBC
 	depends on BR2_arcle   || BR2_arceb  || BR2_arm    || BR2_armeb    || \
-		   BR2_bfin    || BR2_i386   || BR2_m68k   || \
+		   BR2_bfin    || BR2_i386   || BR2_m68k   || BR2_microblaze || \
 		   BR2_mips    || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
 		   BR2_powerpc || BR2_sh2a   || BR2_sh4	   || BR2_sh4eb    || \
 		   BR2_sparc   || BR2_xtensa || BR2_x86_64


More information about the buildroot mailing list