summaryrefslogtreecommitdiff
path: root/package/eglibc
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-09-29 20:13:11 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2009-09-29 20:13:11 +0200
commit71c91ce903a90de852b5d66a27a673ff6e785cee (patch)
treef83f6c03989c2c1e091a692d8f7129db6144594b /package/eglibc
parentf53612bc7414c0d9e4700f957d6a1a1742574c67 (diff)
fix some eglibc adk buildsystem problems
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 ) )