summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-05-30 13:44:34 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2009-05-30 13:44:34 +0200
commit141bcc0f9d8ebfd06865420653333347d19dc39d (patch)
tree8e498c7bb1df59a89e6bf35d7141b55dc796165c
parent1298200f89501407736f0657de5d96a3e7a453b0 (diff)
fix gcc package
- simple test c program compiles in qemu-mips with the cross-compiled compiler - don't know if rstrip.sh change is good, need to check, but crt*.o symbols might not be stripped - create helper links for libgcc + libc needed for ld
-rw-r--r--package/gcc/Makefile10
-rw-r--r--package/mpfr/Makefile1
-rw-r--r--package/uclibc/Makefile4
-rw-r--r--scripts/rstrip.sh7
4 files changed, 15 insertions, 7 deletions
diff --git a/package/gcc/Makefile b/package/gcc/Makefile
index d2a05cbdb..db44c8e3a 100644
--- a/package/gcc/Makefile
+++ b/package/gcc/Makefile
@@ -16,6 +16,7 @@ ifeq ($(ADK_LINUX_MIPS64_LEMOTE),y)
CONFIGURE_ARGS+= --with-abi=64
endif
CONFIGURE_ARGS+= --enable-languages=c \
+ --libexecdir=/usr/lib \
--host=$(REAL_GNU_TARGET_NAME) \
--target=$(REAL_GNU_TARGET_NAME) \
--disable-__cxa_atexit \
@@ -32,9 +33,12 @@ INSTALL_STYLE:= auto
INSTALL_TARGET:= install-gcc install-target-libgcc
post-install:
- ${INSTALL_DIR} ${IDIR_GCC}/usr/lib
- ${INSTALL_DIR} ${IDIR_GCC}/usr/bin
+ ${INSTALL_DIR} ${IDIR_GCC}/usr/lib/gcc ${IDIR_GCC}/usr/bin
${INSTALL_BIN} ${WRKINST}/usr/bin/gcc ${IDIR_GCC}/usr/bin/
- ${INSTALL_BIN} ${WRKINST}/usr/bin/ccp ${IDIR_GCC}/usr/bin/
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/cpp ${IDIR_GCC}/usr/bin/
+ ${CP} ${WRKINST}/usr/lib/gcc/* ${IDIR_GCC}/usr/lib/gcc/
+ ${CP} ${STAGING_DIR}/lib/crt* ${IDIR_GCC}/usr/lib
+ rm -rf ${IDIR_GCC}/usr/lib/gcc/*/*/include-fixed
+ rm -rf ${IDIR_GCC}/usr/lib/gcc/*/*/install-tools
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/mpfr/Makefile b/package/mpfr/Makefile
index cc229020f..a97faac1e 100644
--- a/package/mpfr/Makefile
+++ b/package/mpfr/Makefile
@@ -15,5 +15,6 @@ INSTALL_STYLE= auto
post-install:
${INSTALL_DIR} ${IDIR_MPFR}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libmpfr.so.* ${IDIR_MPFR}/usr/lib/
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/uclibc/Makefile b/package/uclibc/Makefile
index 87714561c..bd5e2687b 100644
--- a/package/uclibc/Makefile
+++ b/package/uclibc/Makefile
@@ -28,11 +28,13 @@ endif
$(CP) $(STAGING_DIR)/lib/$$file.so.* $(IDIR_UCLIBC)/lib/; \
$(CP) $(STAGING_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_UCLIBC)/lib/; \
done
- # create ld.so link for ldd
+ # create links for ldd / gcc
ifneq (${CPU_ARCH},x86_64)
cd $(IDIR_UCLIBC)/lib && ln -sf ld-uClibc.so.0 ld.so
else
cd $(IDIR_UCLIBC)/lib && ln -sf ld64-uClibc.so.0 ld.so
endif
+ cd $(IDIR_UCLIBC)/lib && ln -sf libc.so.0 libc.so
+ cd $(IDIR_UCLIBC)/lib && ln -sf libgcc_s.so.1 libgcc_s.so
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/scripts/rstrip.sh b/scripts/rstrip.sh
index 453f0cc89..272460be0 100644
--- a/scripts/rstrip.sh
+++ b/scripts/rstrip.sh
@@ -37,6 +37,9 @@ find $TARGETS -type f -a -exec file {} \; | \
*ELF*executable*statically\ linked*)
echo >&2 "$SELF: *WARNING* '$V' is not dynamically linked!"
;;
+ *ELF*relocatable*,\ not\ stripped*)
+ echo >&2 "$SELF: *WARNING* '$V' is a relocatable!"
+ ;;
esac
case $line in
*ELF*executable*,\ not\ stripped*)
@@ -48,14 +51,12 @@ find $TARGETS -type f -a -exec file {} \; | \
sed -n -e '/__param_/s/^.*__param_/-K /p' \
-e '/__module_parm_/s/^.*__module_parm_/-K /p'))"
S='kernel module' ;;
- *ELF*relocatable*,\ not\ stripped*)
- S=relocatable ;;
*ELF*shared\ object*,\ not\ stripped*)
S='shared object' ;;
*)
continue ;;
esac
echo "$SELF: $V:$S"
- #echo "+ $T $F"
+ echo "-> $T $F"
eval "$T $F"
done