summaryrefslogtreecommitdiff
path: root/package/eglibc
diff options
context:
space:
mode:
authorWaldemar Brodkorb <mail@waldemar-brodkorb.de>2013-11-10 14:35:23 +0100
committerWaldemar Brodkorb <mail@waldemar-brodkorb.de>2013-11-10 14:35:23 +0100
commit8e662a391ec4d384473d4cc9e31a907cba078cb4 (patch)
tree6b2b5b04fbc5e6aa855fd2c55f13cef71771fc96 /package/eglibc
parent656a95dc692c19425974ff238dea9a68fb113e40 (diff)
support for mips64 big endian
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 ) )