summaryrefslogtreecommitdiff
path: root/package/eglibc
diff options
context:
space:
mode:
Diffstat (limited to 'package/eglibc')
-rw-r--r--package/eglibc/Makefile12
-rw-r--r--package/eglibc/files/libc.so.mips645
2 files changed, 17 insertions, 0 deletions
diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile
index c93fbbefe..1ee599707 100644
--- a/package/eglibc/Makefile
+++ b/package/eglibc/Makefile
@@ -44,14 +44,26 @@ eglibc-dev-install:
# install linker script
-cp ./files/libc.so.$(CPU_ARCH) $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
ifeq ($(ADK_TARGET_ABI_O32),y)
+ifeq ($(ADK_big),y)
+ $(SED) "s#@@ELFTARGET@@#elf32-tradbigmips#" $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
+else
$(SED) "s#@@ELFTARGET@@#elf32-tradlittlemips#" $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
endif
+endif
ifeq ($(ADK_TARGET_ABI_N32),y)
+ifeq ($(ADK_big),y)
+ $(SED) "s#@@ELFTARGET@@#elf32-ntradbigmips#" $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
+else
$(SED) "s#@@ELFTARGET@@#elf32-ntradlittlemips#" $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
endif
+endif
ifeq ($(ADK_TARGET_ABI_N64),y)
+ifeq ($(ADK_big),y)
+ $(SED) "s#@@ELFTARGET@@#elf64-tradbigmips#" $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
+else
$(SED) "s#@@ELFTARGET@@#elf64-tradlittlemips#" $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
endif
+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 libcrypt libdl libm libresolv libutil libnsl; do \
diff --git a/package/eglibc/files/libc.so.mips64 b/package/eglibc/files/libc.so.mips64
new file mode 100644
index 000000000..9e73ea39c
--- /dev/null
+++ b/package/eglibc/files/libc.so.mips64
@@ -0,0 +1,5 @@
+/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+ OUTPUT_FORMAT(@@ELFTARGET@@)
+ GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld.so.1 ) )