summaryrefslogtreecommitdiff
path: root/package/eglibc
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2013-11-29 16:06:00 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2013-11-29 16:06:00 +0100
commit8e8512391c668fc7074f812f15eabe8f176fb01e (patch)
treef9f0862dd6eb962fe3fc4803180b431843f6c5be /package/eglibc
parentc491653a1f9574a42965025805d472c3d145f699 (diff)
parentae3d4616ed9c19a29d656193254657f93d612fa2 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'package/eglibc')
-rw-r--r--package/eglibc/Config.in.manual16
-rw-r--r--package/eglibc/Makefile15
-rw-r--r--package/eglibc/files/libc.so.mips645
3 files changed, 25 insertions, 11 deletions
diff --git a/package/eglibc/Config.in.manual b/package/eglibc/Config.in.manual
index fd6d6fbb8..9c45c4c66 100644
--- a/package/eglibc/Config.in.manual
+++ b/package/eglibc/Config.in.manual
@@ -8,19 +8,19 @@ config ADK_PACKAGE_EGLIBC
help
embedded GNU C library.
-config ADK_PACKAGE_EGLIBC_STATIC
- prompt "eglibc-static........ C library (static version)"
+config ADK_PACKAGE_EGLIBC_DBG
+ prompt "debug symbols package"
tristate
+ depends on ADK_PACKAGE_EGLIBC
+ depends on ADK_PACKAGE_GDB
+ depends on !ADK_DEBUG
default n
- depends on ADK_TARGET_LIB_EGLIBC
help
- embedded GNU C library (static version).
-config ADK_PACKAGE_EGLIBC_DEV
- prompt "eglibc-dev........... C library development files"
+config ADK_PACKAGE_EGLIBC_STATIC
+ prompt "eglibc-static........ C library (static version)"
tristate
default n
depends on ADK_TARGET_LIB_EGLIBC
help
- embedded GNU C library header files.
-
+ embedded GNU C library (static version).
diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile
index 98c6b2de9..1ee599707 100644
--- a/package/eglibc/Makefile
+++ b/package/eglibc/Makefile
@@ -31,9 +31,6 @@ do-install:
$(CP) $(STAGING_TARGET_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_EGLIBC)/$(ADK_TARGET_LIBC_PATH); \
done
$(CP) $(STAGING_TARGET_DIR)/usr/bin/getconf $(IDIR_EGLIBC)/usr/bin
-ifeq ($(ADK_LOCALES),y)
- $(CP) $(STAGING_TARGET_DIR)/usr/bin/locale $(IDIR_EGLIBC)/usr/bin
-endif
${INSTALL_DIR} $(IDIR_EGLIBC)/etc
${INSTALL_DATA} ${STAGING_TARGET_DIR}/etc/gai.conf ${IDIR_EGLIBC}/etc
${INSTALL_DATA} ./files/nsswitch.conf ${IDIR_EGLIBC}/etc
@@ -47,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 ) )