From 141bcc0f9d8ebfd06865420653333347d19dc39d Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 30 May 2009 13:44:34 +0200 Subject: 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 --- package/gcc/Makefile | 10 +++++++--- package/mpfr/Makefile | 1 + package/uclibc/Makefile | 4 +++- scripts/rstrip.sh | 7 ++++--- 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 -- cgit v1.2.3