From b3b93b5d6c43789bbd0d4bc5bac2900609ca4087 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Wed, 12 Oct 2011 05:54:51 +0200
Subject: respect choosen ABI

---
 package/eglibc/Makefile           | 9 +++++++++
 package/eglibc/files/libc.so.mips | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

(limited to 'package/eglibc')

diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile
index 5bf290fe9..5466ddb85 100644
--- a/package/eglibc/Makefile
+++ b/package/eglibc/Makefile
@@ -91,6 +91,15 @@ eglibc-dev-install:
 	${INSTALL_DIR} $(IDIR_EGLIBC_DEV)/lib $(IDIR_EGLIBC_DEV)/usr/lib
 	# install linker script
 	-cp ./files/libc.so.$(ARCH) $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
+ifeq ($(ADK_TARGET_ABI_O32),y)
+	$(SED) "s#@@ELFFORMAT@@#elf32-tradlittlemips#" $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
+endif
+ifeq ($(ADK_TARGET_ABI_N32),y)
+	$(SED) "s#@@ELFFORMAT@@#elf32-ntradlittlemips#" $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
+endif
+ifeq ($(ADK_TARGET_ABI_N64),y)
+	$(SED) "s#@@ELFFORMAT@@#elf64-tradlittlemips#" $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
+endif
 	${CP} ${STAGING_TARGET_DIR}/usr/lib/crt* ${IDIR_EGLIBC_DEV}/usr/lib
 	${CP} ${STAGING_TARGET_DIR}/usr/lib/libc_nonshared.a ${IDIR_EGLIBC_DEV}/usr/lib
 	-for file in libc libcrypt libdl libm libresolv librt libutil; do \
diff --git a/package/eglibc/files/libc.so.mips b/package/eglibc/files/libc.so.mips
index 6165d3e9c..9e73ea39c 100644
--- a/package/eglibc/files/libc.so.mips
+++ b/package/eglibc/files/libc.so.mips
@@ -1,5 +1,5 @@
 /* GNU ld script
    Use the shared library, but some functions are only in
       the static library, so try that secondarily.  */
-      OUTPUT_FORMAT(elf64-tradlittlemips)
+      OUTPUT_FORMAT(@@ELFTARGET@@)
       GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld.so.1 ) )
-- 
cgit v1.2.3