From 648c8448f829fcc389446af897db2117f4d53e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=99=A8=E5=8D=89?= Date: Thu, 20 Feb 2025 09:41:30 +0800 Subject: [PATCH] Fix src.rpm build error. (cherry picked from commit c2d74d29f0b44f0f42a08477409526c466a522b8) --- gcc-cross.spec | 18 +++- gcc_arm32le.tar.gz | Bin 0 -> 3324 bytes gcc_arm32le/build.sh | 23 ---- gcc_arm32le/gcc_arm_linux_release.sh | 130 ---------------------- gcc_arm32le/gcc_update_sourcecode.sh | 41 ------- gcc_arm32le/pre_construction.sh | 27 ----- gcc_arm64le.tar.gz | Bin 0 -> 3353 bytes gcc_arm64le/build.sh | 21 ---- gcc_arm64le/gcc_aarch64_linux_release.sh | 131 ----------------------- gcc_arm64le/gcc_update_sourcecode.sh | 39 ------- gcc_arm64le/pre_construction.sh | 25 ----- 11 files changed, 15 insertions(+), 440 deletions(-) create mode 100644 gcc_arm32le.tar.gz delete mode 100755 gcc_arm32le/build.sh delete mode 100755 gcc_arm32le/gcc_arm_linux_release.sh delete mode 100755 gcc_arm32le/gcc_update_sourcecode.sh delete mode 100755 gcc_arm32le/pre_construction.sh create mode 100644 gcc_arm64le.tar.gz delete mode 100755 gcc_arm64le/build.sh delete mode 100755 gcc_arm64le/gcc_aarch64_linux_release.sh delete mode 100755 gcc_arm64le/gcc_update_sourcecode.sh delete mode 100755 gcc_arm64le/pre_construction.sh diff --git a/gcc-cross.spec b/gcc-cross.spec index 81dbfc5..29480c9 100644 --- a/gcc-cross.spec +++ b/gcc-cross.spec @@ -1,11 +1,17 @@ Summary: C/C++ Cross Compiler Toolchain Name: gcc-cross Version: 1.0 -Release: 7 +Release: 8 # libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD URL: http://gcc.gnu.org +Source0: build.sh +Source1: config.xml +Source2: download.sh +Source3: gcc_arm32le.tar.gz +Source4: gcc_arm64le.tar.gz +Source5: README.en.md BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: binutils, gettext, gmp-devel, isl-devel, libmpc-devel, mpfr-devel, python3-sphinx, sharutils @@ -25,9 +31,9 @@ cp -r %{_sourcedir}/* ./ %build cd %{_builddir}/%{name}-%{version} -files=$(ls *.tar 2> /dev/null | wc -l) +files=$(ls *.tar.gz 2> /dev/null | wc -l) if [ "$files" != 0 ]; then - ls *.tar | xargs -n1 tar xvf + ls *.tar.gz | xargs -n1 tar xvf fi bash download.sh bash build.sh gcc_arm64le & @@ -44,6 +50,12 @@ cp %{_builddir}/output/gcc_arm32le/gcc_arm32le.tar.gz %{buildroot}/tmp %attr(755, root, root) /tmp/gcc_arm32le.tar.gz %changelog +* Thu Feb 20 2025 zhengchenhui - 1.0-8 +-Type:Fix +-ID:NA +-SUG:NA +-DESC: Fix src.rpm build error. + * Tue Feb 11 2025 zhengchenhui - 1.0-7 -Type:Fix -ID:NA diff --git a/gcc_arm32le.tar.gz b/gcc_arm32le.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..2c3f3baa9dba5e0f7d5b30d67dfc686ec8a86692 GIT binary patch literal 3324 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 GPyhhZK8!8^ literal 0 HcmV?d00001 diff --git a/gcc_arm32le/build.sh b/gcc_arm32le/build.sh deleted file mode 100755 index 8f79f25..0000000 --- a/gcc_arm32le/build.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -set -e -set -x - -readonly LOG_PATH="$PWD/../logs" - -if [[ -z "$COMPILER_INFO" ]];then - source $PWD/../config.xml -fi - -[ -e "$LOG_PATH/gcc_arm32le_patch.log" ] && rm $LOG_PATH/gcc_arm32le_patch.log -[ -e "$LOG_PATH/gcc_arm32le_build.log" ] && rm $LOG_PATH/gcc_arm32le_build.log -mkdir -p $LOG_PATH - -source pre_construction.sh 2>&1 | tee $LOG_PATH/gcc_arm32le_patch.log - -echo "------------------------------------------" -echo "Now building the "gcc_arm32le" toolchain ..." -echo "The entire build process takes about 45 minutes (build time is related to machine preformance), you can view the detailed build log in the ${LOG_PATH} file" -source gcc_update_sourcecode.sh -source gcc_arm_linux_release.sh 2>&1 | tee $LOG_PATH/gcc_arm32le_build.log -echo "Build gcc_arm32le toolchain completed!" diff --git a/gcc_arm32le/gcc_arm_linux_release.sh b/gcc_arm32le/gcc_arm_linux_release.sh deleted file mode 100755 index 2e67652..0000000 --- a/gcc_arm32le/gcc_arm_linux_release.sh +++ /dev/null @@ -1,130 +0,0 @@ -#!/bin/bash - -set -e -set -x - -# Target root directory,should be adapted according to your environment -readonly ROOT_TAR_DIR="$PWD/arm32le_build_dir" -readonly ROOT_TAR_SRC="$PWD/../../open_source" -readonly INSTALL="gcc_arm32le" -readonly PREFIX="$PWD/arm32le_build_dir/$INSTALL" -readonly OUTPUT="$PWD/../../output/$INSTALL" - -readonly SECURE_LDFLAGS="-z relro -z now -z noexecstack" -readonly SECURE_CFLAGS="-O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wno-stringop-overflow -fPIE" -readonly SECURE_CXXFLAGS="-O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wno-stringop-overflow -fPIE" -readonly SECURE_CFLAGS_FOR_TARGET="-O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wno-stringop-overflow -march=armv7-a -mfloat-abi=soft -mfpu=vfp" -readonly SECURE_CXXFLAGS_FOR_TARGET="-O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wno-stringop-overflow -march=armv7-a -mfloat-abi=soft -mfpu=vfp" - -readonly TARGET="arm-linux-gnueabi" -readonly HOST="$(gcc -dumpmachine)" -readonly BUILD="$(gcc -dumpmachine)" - -readonly SYSROOT="$PREFIX/sysroot" - -#OTHER CONFIG -readonly ARCH="armv7-a" - -if [[ -z "$COMPILER_INFO" ]];then - source $PWD/../config.xml -fi - -declare -x CFLAGS_FOR_TARGET="-O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wno-stringop-overflow -march=armv7-a -mfloat-abi=soft -mfpu=vfp" -declare -x CXXFLAGS_FOR_TARGET="$CFLAGS_FOR_TARGET" - -#Create an empty file -create_new_file(){ -while [ $# != 0 ] ; do -[ -n "$1" ] && rm -rf $1 ; mkdir -p $1; shift; done } - -create_new_file $ROOT_TAR_DIR/obj $PREFIX $OUTPUT $ROOT_TAR_DIR/obj/build-gmp $ROOT_TAR_DIR/obj/build-mpfr $ROOT_TAR_DIR/obj/build-isl $ROOT_TAR_DIR/obj/build-mpc $ROOT_TAR_DIR/obj/build-binutils $ROOT_TAR_DIR/obj/build-gcc-first $ROOT_TAR_DIR/obj/glibc-headers $ROOT_TAR_DIR/obj/build-gcc-second $ROOT_TAR_DIR/obj/build-eglibc $ROOT_TAR_DIR/obj/build-gcc-final - -# Change libstdc++.so option -sed -i "s#^\\t\$(OPT_LDFLAGS).*#\\t\$(OPT_LDFLAGS) \$(SECTION_LDFLAGS) \$(AM_CXXFLAGS) \$(LTLDFLAGS) -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -o \$\@#g" $ROOT_TAR_SRC/$GCC/$GCC_DIR/libstdc++-v3/src/Makefile.in - -echo "Building gmp..." && pushd $ROOT_TAR_DIR/obj/build-gmp -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$GMP/$GMP_DIR/configure --build=$BUILD --prefix=$PREFIX --disable-shared --host=$HOST --enable-cxx -make -j 32 && make install && popd - -echo "Building mpfr..." && pushd $ROOT_TAR_DIR/obj/build-mpfr -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$MPFR/$MPFR_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --disable-shared --host=$HOST --with-gmp=$PREFIX -make -j 32 && make install && popd - -echo "Building isl..." && pushd $ROOT_TAR_DIR/obj/build-isl -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$ISL/$ISL_DIR/configure --build=$BUILD --host=$HOST --prefix=$PREFIX --with-gmp-prefix=$PREFIX --disable-shared -make -j 32 && make install && popd - -echo "Building mpc..." && pushd $ROOT_TAR_DIR/obj/build-mpc -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$MPC/$MPC_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --disable-shared --host=$HOST --with-gmp=$PREFIX -make -j 32 && make install && popd - -echo "Building binutils..." && pushd $ROOT_TAR_DIR/obj/build-binutils -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$BINUTILS/$BINUTILS_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --host=$HOST --with-pkgversion="${COMPILER_INFO}" --with-sysroot=$SYSROOT --enable-plugins --enable-ld=yes --disable-gdb --libdir=$PREFIX/lib -make -j 32 && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib && popd - -echo "Installing kernel headers..." && pushd $ROOT_TAR_SRC/$KERNEL_HEADERS/ -mkdir -p $SYSROOT/usr/ && cp -r include $SYSROOT/usr/ -mkdir -p $SYSROOT/usr/include/bits $SYSROOT/usr/include/gnu && popd - -echo "Building GCC first..." && pushd $ROOT_TAR_DIR/obj/build-gcc-first -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --prefix=$PREFIX --disable-multilib --disable-libmudflap --without-headers --with-newlib --enable-threads=no --disable-shared --disable-nls --with-arch=$ARCH --with-gnu-as --with-gnu-ld --enable-poison-system-directories --disable-libssp --enable-symvers=gnu --enable-__cxa_atexit --disable-libgomp --disable-libstdcxx-pch --disable-libquadmath --disable-lto --enable-languages=c --with-pkgversion="${COMPILER_INFO}" --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib --disable-bootstrap --disable-libatomic --disable-libcilkrts --disable-libstdcxx-dual-abi --with-system-zlib -make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib && popd - -echo "Installing eglibc headers for little-endian..." && mkdir -p $SYSROOT/lib/ $SYSROOT/usr/lib/ && pushd "$ROOT_TAR_DIR/obj/glibc-headers" -cp -f $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/include/gnu/stubs.h $SYSROOT/usr/include/gnu -CC="$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET" $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/configure --prefix=/usr --with-headers=$SYSROOT/usr/include --build=$BUILD --host=$TARGET --disable-profile --without-gd --without-cvs --disable-multi-arch --enable-add-ons libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes --with-float=soft --with-fp=no --enable-stack-protector=strong libc_cv_ssp=yes -make install-bootstrap-headers=yes install-headers install_root=$SYSROOT && make -j 32 csu/subdir_lib -cp csu/crt1.o csu/crti.o csu/crtn.o $SYSROOT/usr/lib/ -$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET -o "$SYSROOT/usr/lib/libc.so" -nostdlib -nostartfiles -shared -x c /dev/null && popd - -echo "Building GCC second..." && pushd $ROOT_TAR_DIR/obj/build-gcc-second -# Fix this issue https://gitee.com/src-openeuler/gcc-cross/issues/I7KWH4. The reason is that gcc_arm32le/sysroot/usr/include/bits/stdio_lim.h is generated after glibc is upgraded. -#cp $ROOT_TAR_DIR/obj/glibc-headers/bits/stdio_lim.h $SYSROOT/usr/include/bits -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --prefix=$PREFIX --disable-multilib --disable-libmudflap --enable-shared --with-arch=$ARCH --enable-__cxa_atexit --with-gnu-as --with-gnu-ld --disable-nls --disable-libssp --disable-libgomp --enable-lto --disable-libquadmath --enable-poison-system-directories --enable-symvers=gnu --enable-languages=c --with-pkgversion="${COMPILER_INFO}" --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib --disable-bootstrap --disable-libatomic --disable-libcilkrts --disable-libstdcxx-dual-abi --with-system-zlib -make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT build_tooldir=$PREFIX/$TARGET && make install-gcc install-target-libgcc prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib && popd - -echo "Building eglibc for little-endian..." && mkdir -p $SYSROOT/lib/ $SYSROOT/usr/lib/ && pushd $ROOT_TAR_DIR/obj/build-eglibc -CC="$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET" CXX="$PREFIX/bin/$TARGET-g++ $CXXFLAGS_FOR_TARGET" LDFLAGS="${SECURE_LDFLAGS}" $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/configure --prefix=/usr --with-headers=$SYSROOT/usr/include --build=$BUILD --host=$TARGET --disable-profile --without-gd --enable-obsolete-rpc --without-cvs --with-__thread --with-tls --disable-multi-arch --enable-shared --with-fp --enable-add-ons libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes --libdir=/usr/lib --with-float=soft --with-fp=no --enable-stack-protector=strong libc_cv_ssp=yes -make -j 32 && make install_root=$SYSROOT slibdir=/lib rtlddir=/lib install && popd - -echo "Building GCC final..." && pushd $ROOT_TAR_DIR/obj/build-gcc-final -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --with-arch=$ARCH --prefix=$PREFIX --disable-multilib --enable-__cxa_atexit --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-libgomp --disable-libquadmath --enable-threads --enable-plugin --enable-c99 --enable-long-long --disable-nls --enable-shared --enable-poison-system-directories --enable-symvers=gnu --with-pkgversion="${COMPILER_INFO}" --enable-languages=c,c++,fortran --with-headers=$SYSROOT/usr/include --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib --disable-bootstrap --disable-libcilkrts --disable-libstdcxx-dual-abi --enable-default-pie --with-system-zlib -make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib && popd - -# handle rpath -for file in $(find "$PREFIX" -name "lib*so*.0") ; do - chrpath --delete $file -done - -for file in $(find "$PREFIX/sysroot/usr/lib/gconv" -name "*so") ; do - chrpath --delete $file -done - -for file in $(find "$PREFIX" -name "*") ; do - if [ -f "$file" ] - then - result=$(file $file) - res=$(echo $result | grep "ELF" | cat) - if [[ "$res" != "" ]] - then - get_arch=`arch` - if [[ $get_arch =~ "x86_64" ]] - then - res1=$(echo $result | grep "ARM" | cat) - if [[ "$res1" != "" ]] - then - $PREFIX/bin/$TARGET-strip $file - else - strip $file - fi - else - strip $file - fi - fi - fi -done - -pushd $PREFIX/.. && chmod 750 $INSTALL -R -tar --format=gnu -czf $OUTPUT/$INSTALL.tar.gz $INSTALL && popd - -echo "Build Complete!" && echo "To use this newly-built $INSTALL cross toolchain, add $PREFIX/bin to your PATH!" diff --git a/gcc_arm32le/gcc_update_sourcecode.sh b/gcc_arm32le/gcc_update_sourcecode.sh deleted file mode 100755 index 4dbfed6..0000000 --- a/gcc_arm32le/gcc_update_sourcecode.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -set -e -set -x - -readonly ROOT_TOUCH_SRC="$PWD/../../open_source" - -if [[ -z "$COMPILER_INFO" ]];then - source $PWD/../config.xml -fi - -#[task 002/007] touch .info files in source code for binutils -find $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR -name "*.info"|xargs -i bash -c "touch {}" - -touch $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR/binutils/doc/binutils.texi - -find $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR -name "*.1"|xargs -i bash -c "touch {}" - -touch $ROOT_TOUCH_SRC/$GCC/$GCC_DIR/gcc/config/arm/iterators.md - -find $ROOT_TOUCH_SRC/$GCC/$GCC_DIR -name "*.1"|xargs -i bash -c "touch {}" - -find $ROOT_TOUCH_SRC/$GCC/$GCC_DIR -name "*.info"|xargs -i bash -c "touch {}" - -touch $ROOT_TOUCH_SRC/$GLIBC/$GLIBC_DIR/locale/programs/*-kw.h - -touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/*.m4 -touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/configure -touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/Makefile.* -touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/doc/* -touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/*.m4 -touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/configure -touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/Makefile.* -touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/doc/* -touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/*.m4 -touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/configure -touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/Makefile.* -touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/doc/* -touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/*.m4 -touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/configure -touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/Makefile.* diff --git a/gcc_arm32le/pre_construction.sh b/gcc_arm32le/pre_construction.sh deleted file mode 100755 index 919b2c3..0000000 --- a/gcc_arm32le/pre_construction.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -set -e -set -x - -readonly ROOT_BUILD_SRC="$PWD/../../open_source" -readonly OUTPUT_INSTALL="$PWD/../../output/gcc_arm32le" - -if [[ -z "$COMPILER_INFO" ]];then - source $PWD/../config.xml -fi - -#clear history build legacy files -clean(){ - [ -n "$OUTPUT_INSTALL" ] && rm -rf $OUTPUT_INSTALL - mkdir -p $OUTPUT_INSTALL -} - -#clean the build direcoty -clean - -chmod 777 $ROOT_BUILD_SRC -R - -# Extract kernel header files -cd $ROOT_BUILD_SRC/$LINUX_KERNEL -make headers_install ARCH=arm INSTALL_HDR_PATH=$ROOT_BUILD_SRC/$KERNEL_HEADERS -cd - diff --git a/gcc_arm64le.tar.gz b/gcc_arm64le.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..7b3b74c8b4b4700fcca166ad9e287ad6703ec882 GIT binary patch literal 3353 zcmV+!4d(J6iwFP!000001MOS?bK1BP@2|&Sp*p-y)7B8ue7P^fo0k&OGLM7|A#?3C zeLf=#@Wr}|8ZbiM#F#bd5ZPlEnWZC%l*am-`?NdeuTCjT9BghH(&pa$IY?nG{?F>tJQqM zkV@pgd9CIV-Jp(jgZhKl+UddQOe@^hn&#>Z&lL!HoWL%GEFcF`5 z0cIw3z#-7~KcBSFABYjMQqUT~Gl~?oa#6w_C-fQ#0ZnI$*bHWy8bCpeQVY*?(?N|! zBkD5(GU71PBeE+9PciX*#PmzzBYjK*hIV$5Z8`yiil>r_nKnVDk33@OjKDKRwvK0} zBW6FLo~=8WY`#D@G(cE)(3MH9g-ixvx@kcd$p|KlKqB5!{}?Ie6Pf^t66urAB5(~D zNRu^~8U&P@Zr61W&-QjS3*?+@AQsVmQc3a2l1h!d5^|*|Qi{XWb}a%Eeyr5~Y`^=f zlr;XAt<>j^u>$|McVF%=;QwB0e~tfNrIh18N(F%7U@+1~gY(WC?QGad!T|hHmpGxh zEDs19@0spjB3SPxn8OF~%K*<%!*nK80EW+zB<#-(4*?FLF$XTw@@o^*F;G1#N3;H_ zcXB@J_0N)T+F@^qR7VGZQ=SRt${%yxoBBvK5uYVeF;e8%A3uS_@@qxT%}Ac6L2>-h zU}SFA?kQsHe)7HU$PXbEIBuxwW{9LslMzp6)bks*Q6^fNM|FYj!t4I}f8FoBivEc? zS`_PmQ4rv!o^JciXX@p3V^-S#`1EKfKSl3n4SS~|sZ?a(k&5)k5Nf&oHl9`Nz)h!= z_Vw|p_*f}*hH$0K8S2#%XULbzdweQCDrh-HSV6}r>M9yekuR0Ech(mlE9K1)u9P=J zos##@hWC{v9sdh5-v=3EMf~5|-&>6TyW4v^>-hgQN~Qguu=ZEyz5e0y@E>;=oR3b= zM_TXXY;@4?XFCMU4OlvdUy(Lo*bI1RX8I7#ZlZk$ndffSNrb|c5E)$q)w2HM}>4-p~O5mJZH9d+l- z(=kJr#B+#+W}qM9MPeI^otpJNqzG@de|Lu`-M+TBQ?mg{!d|{+f@kWMg${rMCIusb~CJYifl!KKCgzicP=IX1T3|F`$Hw_A((|K85l+W)^s zS?2#6Xat!XJb08cY5UvkF&Mq+4pC=t za@2dB^bmng2}Mke7ilnzRjP

eLB{J~o$U69&PS?h$^x@r~J3TJj=us^{jz725%& zF~DgD5!+=lW2#|MsX63Y3r<2@XLAa7b2AlfcT;BV6L?m$d^&-)OJhTY`dJUZ(2yP8}! zZTrHBnJl3~7fLhmy(Y|KZ>M>oq_K0h^K z=F;gy2mqR~ISn1@XKhTfy)@aa;nPOzLfM!qDScKtP0Jt+KXr~4o*i=Ua-mao2x|d46$O=8=Pe74vyp4v59y^e-t<09d9UbxcJwq>Blot zuU$_4gn`>4)MY}()Y3dremEdStZ7DeAce55{hqw9FU}7)R zu1i*TU!H4|&A1sy9qzM85S6N}5fFYiOH_Q4nqQ!dwsVUUseje7-OqP$RoB7a&9W39 z$p1C{CVtaaX_exahTqFlmAs7ntVPSOk$XA4g1i+n7%pIEaC{26+)(SC91TFGkSN@= zwd>(_E{R*N6-;3rlM0aMhNm5|eN2rpJVAZ|JBLUTnHw&%i3Q1dcB3uS6|r2jrJiKR zttoRFTWV9q$EVHI)uB)YBE{t#unXHGkQ-ZpL9)#yy+YdN*kpcj3+!r3y#g{eB(@?I zQ?O{~^4<7FCU318SysD-FmyYx07J|%*ei4vo3O-^q23ORiKV+CISp8}?~53~?ia`s zcVIJqfZ?|tS_GLIACpr=Kh%<$%=mslz>#5nGLpYt4)c^5ouk zlRo~9&3(Sj%`C3eG(6Weo!@F;*}hY1y9?Z4t1zFdE}muU{~PFrt+PxmqbYEJ-BX}X ziQmR|!k<(iiB}5p*?b*dtb&wkv8n*fM7{Kv<*obiwjWMwH zVSBcqPn}WQ#MwG*T9+PMTt=yQBhW1scDku4@zuWt3JDi=ak)``?H|HU`_=GZ_)cDV zOrdV)^fc#=YF-6j9-QT=M+DB|5)gO32;%ZMDi0U3=o!|BSt5Iqk!1YNEWfrfZ zq_DZ^vtaBuW~Ja=>vWP6PyVJQG!l-+sNl?Q<=|RSnhxu zv&Ov(jD^==kF^>!`f4U$9r#*cl(p){z)x(H0v3F}4W9xgIM#C@ILN0mTt|S#pp~EOL23KDb8#no(31 z(JLez%kqo+#{T<->j%vkzM0s6_s}k1h4WdZMURYoA@B>tioQ!f5GDk*50nzb=oBUd z50eN~c-M00hz$r+(&71Y=#a-B1ucWkKQjSX5$cQcgKPpIgwQm(+lii;wJJBrV%{VL zMEB1cLNiMY;eMG!;jzR*rr<|o$#Fbp8L7ur$6InE@8}f|hm)6n>+qYl-h8;cLqNWN zWGxEexo{fp{uhtSl4tzWPpR%;jN&5~z!%-+zM;5M)Xm517x?+}7vO;qyqt=N^S21y zzV4XJyd~bfqIalggG_WVP1QBidi#u!{@}ay4K&jo0|JBRLMB+_F@l z{*eL?SZ4`2AMQO22BZqVmZQLkAL7=`uu%a()C2XkzA?mhxW4 zGsR1Og->a@VSW%!w$Tu8ALL#1-7OT|PUV--`Q>I+6+h`^68iCNd<#Cl$Jzk0#`HGn zS(K@uPWb!T$0A1we}PO<;1gIJ(?|To`$pg_OE_VV^4}vzKf-;1AfHPwQ+#8XpGdBM jn7c0PvM%egF6*)`>#{EEvM%fLrON*S2JW7<08jt`kaU{} literal 0 HcmV?d00001 diff --git a/gcc_arm64le/build.sh b/gcc_arm64le/build.sh deleted file mode 100755 index 88c575d..0000000 --- a/gcc_arm64le/build.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -e -set -x - -readonly LOG_PATH="$PWD/../logs" - -source $PWD/../config.xml - -[ -e "$LOG_PATH/gcc_arm64le_patch.log" ] && rm $LOG_PATH/gcc_arm64le_patch.log -[ -e "$LOG_PATH/gcc_arm64le_build.log" ] && rm $LOG_PATH/gcc_arm64le_build.log -mkdir -p $LOG_PATH - -source pre_construction.sh 2>&1 | tee $LOG_PATH/gcc_arm64le_patch.log - -echo "------------------------------------------" -echo "Now building the "gcc_arm64le" toolchain ..." -echo "The entire build process takes about 45 minutes (build time is related to machine preformance), you can view the detailed build log in the ${LOG_PATH} file" -source gcc_update_sourcecode.sh -source gcc_aarch64_linux_release.sh 2>&1 | tee $LOG_PATH/gcc_arm64le_build.log -echo "Build gcc_arm64le toolchain completed!" diff --git a/gcc_arm64le/gcc_aarch64_linux_release.sh b/gcc_arm64le/gcc_aarch64_linux_release.sh deleted file mode 100755 index 59561c9..0000000 --- a/gcc_arm64le/gcc_aarch64_linux_release.sh +++ /dev/null @@ -1,131 +0,0 @@ -#!/bin/bash - -set -e -set -x - -# Target root directory,should be adapted according to your environment -readonly ROOT_TAR_DIR="$PWD/arm64le_build_dir" -readonly ROOT_TAR_SRC="$PWD/../../open_source" -readonly INSTALL="gcc_arm64le" -readonly PREFIX="$PWD/arm64le_build_dir/$INSTALL" -readonly OUTPUT="$PWD/../../output/$INSTALL" - -readonly SECURE_LDFLAGS="-z relro -z now -z noexecstack" -readonly SECURE_CFLAGS="-fPIC -O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -fPIE" -readonly SECURE_CXXFLAGS="-fPIC -O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -fPIE" -readonly SECURE_CFLAGS_FOR_TARGET="-fPIC -O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -mlittle-endian -march=armv8-a -DDONT_USE_DC" -readonly SECURE_CXXFLAGS_FOR_TARGET="-fPIC -O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -mlittle-endian -march=armv8-a -DDONT_USE_DC" - -readonly HOST="$(gcc -dumpmachine)" -readonly BUILD="$(gcc -dumpmachine)" - -readonly SYSROOT="$PREFIX/sysroot" - -#OTHER CONFIG -readonly ARCH="armv8-a" -readonly TARGET="aarch64-linux-gnueabi" - -source $PWD/../config.xml - -declare -x CFLAGS_FOR_TARGET="-fPIC -O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -mlittle-endian -march=armv8-a -DDONT_USE_DC" -declare -x CXXFLAGS_FOR_TARGET="$CFLAGS_FOR_TARGET" - -#Create an empty file -create_new_file(){ -while [ $# != 0 ] ; do -[ -n "$1" ] && rm -rf $1 ; mkdir -p $1; shift; done } - -create_new_file $ROOT_TAR_DIR/obj $PREFIX $OUTPUT $ROOT_TAR_DIR/obj/build-gmp $ROOT_TAR_DIR/obj/build-mpfr $ROOT_TAR_DIR/obj/build-isl $ROOT_TAR_DIR/obj/build-mpc $ROOT_TAR_DIR/obj/build-binutils $ROOT_TAR_DIR/obj/build-gcc-first $ROOT_TAR_DIR/obj/glibc-headers-lp64 $ROOT_TAR_DIR/obj/build-gcc-second $ROOT_TAR_DIR/obj/build-eglibc-lp64 $ROOT_TAR_DIR/obj/build-gcc-final - -# Change GLIBC_DYNAMIC_LINKER. -sed -i "s#^\#define GLIBC_DYNAMIC_LINKER.*#\#undef STANDARD_STARTFILE_PREFIX_2\n\#define STANDARD_STARTFILE_PREFIX_2 \"/usr/lib64/\"\n\#define GLIBC_DYNAMIC_LINKER \"/lib%{mabi=lp64:64}%{mabi=ilp32:ilp32}/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1\"#g" $ROOT_TAR_SRC/$GCC/$GCC_DIR/gcc/config/aarch64/aarch64-linux.h - -# Change libstdc++.so option -sed -i "s#^\\t\$(OPT_LDFLAGS).*#\\t\$(OPT_LDFLAGS) \$(SECTION_LDFLAGS) \$(AM_CXXFLAGS) \$(LTLDFLAGS) -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -o \$\@#g" $ROOT_TAR_SRC/$GCC/$GCC_DIR/libstdc++-v3/src/Makefile.in - -echo "Building gmp..." && pushd $ROOT_TAR_DIR/obj/build-gmp -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$GMP/$GMP_DIR/configure --build=$BUILD --prefix=$PREFIX --disable-shared --host=$HOST --enable-cxx -make -j 32 && make install && popd - -echo "Building mpfr..." && pushd $ROOT_TAR_DIR/obj/build-mpfr -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$MPFR/$MPFR_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --disable-shared --host=$HOST --with-gmp=$PREFIX -make -j 32 && make install && popd - -echo "Building isl..." && pushd $ROOT_TAR_DIR/obj/build-isl -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$ISL/$ISL_DIR/configure --build=$BUILD --host=$HOST --prefix=$PREFIX --with-gmp-prefix=$PREFIX --disable-shared -make -j 32 && make install && popd - -echo "Building mpc..." && pushd $ROOT_TAR_DIR/obj/build-mpc -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$MPC/$MPC_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --disable-shared --host=$HOST --with-gmp=$PREFIX -make -j 32 && make install && popd - -echo "Building binutils..." && pushd $ROOT_TAR_DIR/obj/build-binutils -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$BINUTILS/$BINUTILS_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --host=$HOST --with-pkgversion="${COMPILER_INFO}" --with-sysroot=$SYSROOT --enable-plugins --enable-ld=yes --disable-gdb --libdir=$PREFIX/lib64 -make -j 32 && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib64 && popd - -echo "Installing kernel headers..." && pushd $ROOT_TAR_SRC/$KERNEL_HEADERS_64/ -mkdir -p $SYSROOT/usr/ && cp -r include $SYSROOT/usr/ -mkdir -p $SYSROOT/usr/include/bits $SYSROOT/usr/include/gnu && popd - -echo "Building GCC first..." && pushd $ROOT_TAR_DIR/obj/build-gcc-first -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --prefix=$PREFIX --with-multilib-list=lp64 --disable-libmudflap --without-headers --with-newlib --enable-threads=no --disable-shared --disable-nls --with-arch=$ARCH --with-gnu-as --with-gnu-ld --enable-poison-system-directories --disable-libssp --enable-symvers=gnu --enable-__cxa_atexit --disable-libgomp --disable-libstdcxx-pch --disable-libquadmath --disable-lto --enable-languages=c --with-pkgversion="${COMPILER_INFO}" --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib64 --disable-bootstrap --disable-libatomic --disable-libcilkrts --disable-libstdcxx-dual-abi --with-system-zlib -echo $PATH -echo $LD_LIBRARY_PATH -make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib64 && popd - -echo "Installing eglibc headers for lp64..." && mkdir -p $SYSROOT/lib64/ $SYSROOT/usr/lib64/ && pushd "$ROOT_TAR_DIR/obj/glibc-headers-lp64" -cp -af $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/include/gnu/stubs.h $SYSROOT/usr/include/gnu -CC="$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET" $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/configure --prefix=/usr --with-headers=$SYSROOT/usr/include --build=$BUILD --host=$TARGET --enable-obsolete-rpc --disable-profile --without-gd --without-cvs --disable-multi-arch --enable-add-ons libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes --enable-stack-protector=strong libc_cv_ssp=yes -make install-bootstrap-headers=yes install-headers install_root=$SYSROOT && make -j 32 csu/subdir_lib -cp csu/crt1.o csu/crti.o csu/crtn.o $SYSROOT/usr/lib64/ -$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET -o "$SYSROOT/usr/lib64/libc.so" -nostdlib -nostartfiles -shared -x c /dev/null && popd - -echo "Building GCC second..." && pushd $ROOT_TAR_DIR/obj/build-gcc-second -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --prefix=$PREFIX --with-multilib-list=lp64 --disable-libmudflap --enable-shared --with-arch=$ARCH --enable-__cxa_atexit --with-gnu-as --with-gnu-ld --disable-nls --disable-libssp --disable-libgomp --enable-lto --disable-libquadmath --enable-poison-system-directories --enable-symvers=gnu --enable-languages=c --with-pkgversion="${COMPILER_INFO}" --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib64 --disable-bootstrap --disable-libatomic --disable-libcilkrts --disable-libstdcxx-dual-abi --with-system-zlib -make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT build_tooldir=$PREFIX/$TARGET && make install-gcc install-target-libgcc prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib64 && popd - -echo "Building eglibc for lp64..." && mkdir -p $SYSROOT/lib64/ $SYSROOT/usr/lib64/ && pushd $ROOT_TAR_DIR/obj/build-eglibc-lp64 -CC="$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET" CXX="$PREFIX/bin/$TARGET-g++ $CXXFLAGS_FOR_TARGET" LDFLAGS="${SECURE_LDFLAGS}" $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/configure --prefix=/usr --with-headers=$SYSROOT/usr/include --build=$BUILD --host=$TARGET --disable-profile --without-gd --enable-obsolete-rpc --without-cvs --with-__thread --with-tls --disable-multi-arch --enable-shared --with-fp --enable-add-ons libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes --libdir=/usr/lib64 --enable-stack-protector=strong libc_cv_ssp=yes -make -j 32 && make install_root=$SYSROOT slibdir=/lib64 rtlddir=/lib64 install && popd - -echo "Building GCC final..." && pushd $ROOT_TAR_DIR/obj/build-gcc-final -LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --with-arch=$ARCH --prefix=$PREFIX --with-multilib-list=lp64 --enable-__cxa_atexit --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-libgomp --enable-threads --enable-plugin --enable-c99 --enable-long-long --disable-nls --enable-shared --enable-poison-system-directories --enable-symvers=gnu --with-pkgversion="${COMPILER_INFO}" --enable-languages=c,c++,fortran --with-headers=$SYSROOT/usr/include --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib64 --disable-bootstrap --disable-libsanitizer --disable-libcilkrts --disable-libstdcxx-dual-abi --enable-default-pie --with-system-zlib -make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib64 && popd - -# handle rpath -for file in $(find "$PREFIX" -name "lib*so*.0") ; do - chrpath --delete $file -done - -for file in $(find "$PREFIX/sysroot/usr/lib64/gconv" -name "*so") ; do - chrpath --delete $file -done - -for file in $(find "$PREFIX" -name "*") ; do - if [ -f "$file" ] - then - result=$(file $file) - res=$(echo $result | grep "ELF" | cat) - if [[ "$res" != "" ]] - then - get_arch=`arch` - if [[ $get_arch =~ "x86_64" ]] - then - res1=$(echo $result | grep "ARM" | cat) - if [[ "$res1" != "" ]] - then - $PREFIX/bin/$TARGET-strip $file - else - strip $file - fi - else - strip $file - fi - fi - fi -done - -pushd $PREFIX/.. && chmod 750 $INSTALL -R -tar --format=gnu -czf $OUTPUT/$INSTALL.tar.gz $INSTALL && popd - -echo "Build Complete!" && echo "To use this newly-built $INSTALL cross toolchain, add $PREFIX/bin to your PATH!" diff --git a/gcc_arm64le/gcc_update_sourcecode.sh b/gcc_arm64le/gcc_update_sourcecode.sh deleted file mode 100755 index 56718f8..0000000 --- a/gcc_arm64le/gcc_update_sourcecode.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -set -e -set -x - -readonly ROOT_TOUCH_SRC="$PWD/../../open_source" - -source $PWD/../config.xml - -#[task 002/007] touch .info files in source code for binutils -find $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR -name "*.info"|xargs -i bash -c "touch {}" - -touch $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR/binutils/doc/binutils.texi - -find $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR -name "*.1"|xargs -i bash -c "touch {}" - -touch $ROOT_TOUCH_SRC/$GCC/$GCC_DIR/gcc/config/aarch64/iterators.md - -find $ROOT_TOUCH_SRC/$GCC/$GCC_DIR -name "*.1"|xargs -i bash -c "touch {}" - -find $ROOT_TOUCH_SRC/$GCC/$GCC_DIR -name "*.info"|xargs -i bash -c "touch {}" - -touch $ROOT_TOUCH_SRC/$GLIBC/$GLIBC_DIR/locale/programs/*-kw.h - -touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/*.m4 -touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/configure -touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/Makefile.* -touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/doc/* -touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/*.m4 -touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/configure -touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/Makefile.* -touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/doc/* -touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/*.m4 -touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/configure -touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/Makefile.* -touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/doc/* -touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/*.m4 -touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/configure -touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/Makefile.* diff --git a/gcc_arm64le/pre_construction.sh b/gcc_arm64le/pre_construction.sh deleted file mode 100755 index 70639d7..0000000 --- a/gcc_arm64le/pre_construction.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -set -e -set -x - -readonly ROOT_BUILD_SRC="$PWD/../../open_source" -readonly OUTPUT_INSTALL="$PWD/../../output/gcc_arm64le" - -source $PWD/../config.xml - -#clear history build legacy files -clean(){ - [ -n "$OUTPUT_INSTALL" ] && rm -rf $OUTPUT_INSTALL - mkdir -p $OUTPUT_INSTALL -} - -#clean the build direcoty -clean - -chmod 777 $ROOT_BUILD_SRC -R - -# Extract kernel header files -cd $ROOT_BUILD_SRC/$LINUX_KERNEL_64 -make headers_install ARCH=arm64 INSTALL_HDR_PATH=$ROOT_BUILD_SRC/$KERNEL_HEADERS_64 -cd - -- Gitee