From afa36fe3bc7bf01bcebdc594028d8e45c42320bf Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
Date: Fri, 24 Oct 2014 00:15:58 +0000
Subject: [PATCH] toolchain: fix mips64 musl linker names

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 43035
---
 .../patches/4.8-linaro/221-musl_mips64.patch  | 22 +++++++++++++++++++
 .../patches/4.9-linaro/221-musl_mips64.patch  | 22 +++++++++++++++++++
 2 files changed, 44 insertions(+)
 create mode 100644 toolchain/gcc/patches/4.8-linaro/221-musl_mips64.patch
 create mode 100644 toolchain/gcc/patches/4.9-linaro/221-musl_mips64.patch

diff --git a/toolchain/gcc/patches/4.8-linaro/221-musl_mips64.patch b/toolchain/gcc/patches/4.8-linaro/221-musl_mips64.patch
new file mode 100644
index 0000000000..7447dbd307
--- /dev/null
+++ b/toolchain/gcc/patches/4.8-linaro/221-musl_mips64.patch
@@ -0,0 +1,22 @@
+Index: gcc-linaro-4.8-2014.04/gcc/config/mips/linux64.h
+===================================================================
+--- gcc-linaro-4.8-2014.04.orig/gcc/config/mips/linux64.h	2014-10-23 15:52:48.999134219 -0700
++++ gcc-linaro-4.8-2014.04/gcc/config/mips/linux64.h	2014-10-23 15:59:19.815116979 -0700
+@@ -27,6 +27,16 @@
+ #define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
+ #define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
++
++#if TARGET_ENDIAN_DEFAULT == 0 /* LE */
++#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
++#else
++#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
++#endif
++
++#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+ #define GNU_USER_DYNAMIC_LINKERN32 \
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
+-			 BIONIC_DYNAMIC_LINKERN32)
++			 BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKERN32)
diff --git a/toolchain/gcc/patches/4.9-linaro/221-musl_mips64.patch b/toolchain/gcc/patches/4.9-linaro/221-musl_mips64.patch
new file mode 100644
index 0000000000..7447dbd307
--- /dev/null
+++ b/toolchain/gcc/patches/4.9-linaro/221-musl_mips64.patch
@@ -0,0 +1,22 @@
+Index: gcc-linaro-4.8-2014.04/gcc/config/mips/linux64.h
+===================================================================
+--- gcc-linaro-4.8-2014.04.orig/gcc/config/mips/linux64.h	2014-10-23 15:52:48.999134219 -0700
++++ gcc-linaro-4.8-2014.04/gcc/config/mips/linux64.h	2014-10-23 15:59:19.815116979 -0700
+@@ -27,6 +27,16 @@
+ #define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
+ #define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
++
++#if TARGET_ENDIAN_DEFAULT == 0 /* LE */
++#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
++#else
++#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
++#endif
++
++#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+ #define GNU_USER_DYNAMIC_LINKERN32 \
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
+-			 BIONIC_DYNAMIC_LINKERN32)
++			 BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKERN32)
-- 
GitLab