d70ade160e
For musl we need patches for bintils 2.25.1 and 2.26.1. Binutils 2.27 and gcc 6.2.x does not work for microblaze, even not for uClibc-ng or glibc. For gcc 5.4.x the existing patch need reworking so that musl and uClibc-ng is supported. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> [Thomas: - Add proper description for the binutils patches - Use BR2_microblaze instead of BR2_microblazeel and BR2_microblazebz] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
37 lines
1.1 KiB
Diff
37 lines
1.1 KiB
Diff
Add dynamic linker support for uClibc-ng/musl
|
|
|
|
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
|
|
|
|
|
|
diff -Nur gcc-5.4.0.orig/gcc/config/microblaze/linux.h gcc-5.4.0/gcc/config/microblaze/linux.h
|
|
--- gcc-5.4.0.orig/gcc/config/microblaze/linux.h 2015-05-28 16:08:19.000000000 +0200
|
|
+++ gcc-5.4.0/gcc/config/microblaze/linux.h 2016-10-23 17:09:46.962010871 +0200
|
|
@@ -28,7 +28,26 @@
|
|
#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 TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */
|
|
+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
|
|
+#else
|
|
+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
|
|
+#endif
|
|
+
|
|
+#undef MUSL_DYNAMIC_LINKER
|
|
+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1"
|
|
+
|
|
+#if DEFAULT_LIBC == LIBC_UCLIBC
|
|
+#define DYNAMIC_LINKER UCLIBC_DYNAMIC_LINKER
|
|
+#elif DEFAULT_LIBC == LIBC_MUSL
|
|
+#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER
|
|
+#else
|
|
+#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
|
|
+#endif
|
|
+
|
|
#undef SUBTARGET_EXTRA_SPECS
|
|
#define SUBTARGET_EXTRA_SPECS \
|
|
{ "dynamic_linker", DYNAMIC_LINKER }
|