summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-01-31 11:11:18 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-01-31 11:11:18 +0100
commitcae7454e8151e56da5f0b9f14a06fbcefe153a72 (patch)
tree5d97f0f7bf2ab079f3aac17015838f9b7665c0a1
parent657effffde51e2cf9181d71524a6eef1b968e9f7 (diff)
rework libc-dev package, add linker script for x86
-rw-r--r--package/eglibc/Makefile6
-rw-r--r--package/eglibc/files/libc.so.x865
-rw-r--r--package/gcc/Makefile6
-rw-r--r--package/glibc/Makefile7
-rw-r--r--package/glibc/files/libc.so.x865
-rw-r--r--package/glibc/files/libc.so.x86_645
-rw-r--r--package/uclibc/Makefile1
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 \