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.x86_645
2 files changed, 13 insertions, 4 deletions
diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile
index d9c4cad1e..ea271f4b6 100644
--- a/package/eglibc/Makefile
+++ b/package/eglibc/Makefile
@@ -44,19 +44,23 @@ do-extract:
# do nothing, eglibc is already build in toolchain directory
do-install:
- ${INSTALL_DIR} $(IDIR_EGLIBC)/lib $(IDIR_EGLIBC)/etc
+ ${INSTALL_DIR} $(IDIR_EGLIBC)/lib $(IDIR_EGLIBC)/etc $(IDIR_EGLIBC)/usr/lib
# install /etc/localtime from host system (FIXME)
${CP} /etc/localtime $(IDIR_EGLIBC)/etc
ifeq ($(ADK_SSP),y)
$(CP) $(STAGING_DIR)/lib/libssp.so* $(IDIR_EGLIBC)/lib/
endif
+ $(CP) $(STAGING_DIR)/lib/ld-* $(IDIR_EGLIBC)/lib/
$(CP) $(STAGING_DIR)/lib/libgcc_s.so* $(IDIR_EGLIBC)/lib/
- -for file in libc ld libcrypt libdl libm libresolv librt libutil libnss_compat libnss_dns libnss_files; do \
+ -for file in libc libcrypt libdl libm libresolv librt libutil libnss_compat libnss_dns libnss_files; do \
$(CP) $(STAGING_DIR)/lib/$$file.so* $(IDIR_EGLIBC)/lib/; \
$(CP) $(STAGING_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_EGLIBC)/lib/; \
done
- # create ld.so link for x86 linker and gcc
- cd $(IDIR_EGLIBC)/lib && ln -sf ld-$(PKG_VERSION).so ld-linux.so.2
+ # install linker script
+ -cp ./files/libc.so.$(CPU_ARCH) $(IDIR_EGLIBC)/usr/lib/libc.so
+ cd $(IDIR_EGLIBC)/lib && ln -sf libm.so.6 libm.so
+ cd $(IDIR_EGLIBC)/lib && ln -sf libutil.so.1 libutil.so
+ cd $(IDIR_EGLIBC)/lib && ln -sf librt.so.1 librt.so
# header package
$(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/linux-$(KERNEL_VERSION) ARCH=$(ARCH) V=1 \
INSTALL_HDR_PATH=$(IDIR_EGLIBC_DEV)/usr \
diff --git a/package/eglibc/files/libc.so.x86_64 b/package/eglibc/files/libc.so.x86_64
new file mode 100644
index 000000000..a2e2de87f
--- /dev/null
+++ b/package/eglibc/files/libc.so.x86_64
@@ -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(elf64-x86-64)
+ GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-x86-64.so.2 ) )