diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2010-01-31 11:11:18 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2010-01-31 11:11:18 +0100 |
commit | cae7454e8151e56da5f0b9f14a06fbcefe153a72 (patch) | |
tree | 5d97f0f7bf2ab079f3aac17015838f9b7665c0a1 | |
parent | 657effffde51e2cf9181d71524a6eef1b968e9f7 (diff) |
rework libc-dev package, add linker script for x86
-rw-r--r-- | package/eglibc/Makefile | 6 | ||||
-rw-r--r-- | package/eglibc/files/libc.so.x86 | 5 | ||||
-rw-r--r-- | package/gcc/Makefile | 6 | ||||
-rw-r--r-- | package/glibc/Makefile | 7 | ||||
-rw-r--r-- | package/glibc/files/libc.so.x86 | 5 | ||||
-rw-r--r-- | package/glibc/files/libc.so.x86_64 | 5 | ||||
-rw-r--r-- | package/uclibc/Makefile | 1 |
7 files changed, 25 insertions, 10 deletions
diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile index 02065328b..83d74ab10 100644 --- a/package/eglibc/Makefile +++ b/package/eglibc/Makefile @@ -58,9 +58,11 @@ do-install: ${SUB_INSTALLS-m} ${SUB_INSTALLS-y} done eglibc-dev-install: - ${INSTALL_DIR} $(IDIR_EGLIBC_DEV)/lib + ${INSTALL_DIR} $(IDIR_EGLIBC_DEV)/lib $(IDIR_EGLIBC_DEV)/usr/lib # install linker script - -cp ./files/libc.so.$(CPU_ARCH) $(IDIR_EGLIBC_DEV)/usr/lib/libc.so + -cp ./files/libc.so.$(ARCH) $(IDIR_EGLIBC_DEV)/usr/lib/libc.so + ${CP} ${STAGING_DIR}/usr/lib/crt* ${IDIR_EGLIBC_DEV}/usr/lib + ${CP} ${STAGING_DIR}/usr/lib/libc_nonshared.a ${IDIR_EGLIBC_DEV}/usr/lib cd $(IDIR_EGLIBC_DEV)/lib && ln -sf libm.so.6 libm.so cd $(IDIR_EGLIBC_DEV)/lib && ln -sf libutil.so.1 libutil.so cd $(IDIR_EGLIBC_DEV)/lib && ln -sf librt.so.1 librt.so diff --git a/package/eglibc/files/libc.so.x86 b/package/eglibc/files/libc.so.x86 new file mode 100644 index 000000000..cd8724cc5 --- /dev/null +++ b/package/eglibc/files/libc.so.x86 @@ -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(elf32-i386) +GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.2 ) ) diff --git a/package/gcc/Makefile b/package/gcc/Makefile index f2820d144..4e613efef 100644 --- a/package/gcc/Makefile +++ b/package/gcc/Makefile @@ -51,12 +51,6 @@ post-install: ${CP} ${WRKINST}/usr/include/c++/* ${IDIR_GCC}/usr/include/c++/ cd ${IDIR_GCC}/lib && ln -sf ../usr/bin/cpp . ${CP} ${WRKINST}/usr/lib/gcc/* ${IDIR_GCC}/usr/lib/gcc/ -ifeq ($(ADK_TARGET_LIB_UCLIBC),y) - ${CP} ${STAGING_DIR}/lib/crt* ${IDIR_GCC}/usr/lib -else - ${CP} ${STAGING_DIR}/usr/lib/crt* ${IDIR_GCC}/usr/lib - ${CP} ${STAGING_DIR}/usr/lib/libc_nonshared.a ${IDIR_GCC}/usr/lib -endif rm -rf ${IDIR_GCC}/usr/lib/gcc/*/*/install-tools include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/glibc/Makefile b/package/glibc/Makefile index 103452469..27f5baafc 100644 --- a/package/glibc/Makefile +++ b/package/glibc/Makefile @@ -47,8 +47,11 @@ do-install: ${SUB_INSTALLS-m} ${SUB_INSTALLS-y} done glibc-dev-install: - ${INSTALL_DIR} $(IDIR_GLIBC_DEV)/lib - cd $(IDIR_GLIBC_DEV)/lib && ln -sf ld-linux.so.2 ld.so.1 + ${INSTALL_DIR} $(IDIR_GLIBC_DEV)/lib $(IDIR_GLIBC_DEV)/usr/lib + # install linker script + -cp ./files/libc.so.$(ARCH) $(IDIR_GLIBC_DEV)/usr/lib/libc.so + ${CP} ${STAGING_DIR}/usr/lib/crt* ${IDIR_GLIBC_DEV}/usr/lib + ${CP} ${STAGING_DIR}/usr/lib/libc_nonshared.a ${IDIR_GLIBC_DEV}/usr/lib # header package $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/linux-$(KERNEL_VERSION) \ HOSTCC=$(HOSTCC) ARCH=$(ARCH) V=1 \ diff --git a/package/glibc/files/libc.so.x86 b/package/glibc/files/libc.so.x86 new file mode 100644 index 000000000..cd8724cc5 --- /dev/null +++ b/package/glibc/files/libc.so.x86 @@ -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(elf32-i386) +GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.2 ) ) diff --git a/package/glibc/files/libc.so.x86_64 b/package/glibc/files/libc.so.x86_64 new file mode 100644 index 000000000..a2e2de87f --- /dev/null +++ b/package/glibc/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 ) ) diff --git a/package/uclibc/Makefile b/package/uclibc/Makefile index e6d080a37..5ee7b280c 100644 --- a/package/uclibc/Makefile +++ b/package/uclibc/Makefile @@ -34,6 +34,7 @@ do-install: ${SUB_INSTALLS-m} ${SUB_INSTALLS-y} done uclibc-dev-install: + ${CP} ${STAGING_DIR}/lib/crt* ${IDIR_UCLIBC_DEV}/usr/lib # header package $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/linux-$(KERNEL_VERSION) ARCH=$(ARCH) V=1 \ INSTALL_HDR_PATH=$(IDIR_UCLIBC_DEV)/usr \ |