From 64d9ffd412afafae7129245968776d72aa6b9862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=99=A8=E5=8D=89?= Date: Tue, 26 Mar 2024 16:07:29 +0800 Subject: [PATCH 1/3] [gcc-cross] Fix cross-compilation tool chain. --- config.xml | 4 ++-- gcc-cross.spec | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/config.xml b/config.xml index be530d1..acab2b0 100644 --- a/config.xml +++ b/config.xml @@ -3,9 +3,9 @@ COMPILER_INFO="gcc 12.3.1" GCC="gcc" GCC_DIR="gcc-12.3.0" BINUTILS="binutils" -BINUTILS_DIR="binutils-2.40" +BINUTILS_DIR="binutils-2.41" MPFR="mpfr" -MPFR_DIR="mpfr-4.2.0" +MPFR_DIR="mpfr-4.2.1" GMP="gmp" GMP_DIR="gmp-6.3.0" MPC="libmpc" diff --git a/gcc-cross.spec b/gcc-cross.spec index e3d7c1e..ea61bd3 100644 --- a/gcc-cross.spec +++ b/gcc-cross.spec @@ -1,7 +1,7 @@ Summary: C/C++ Cross Compiler Toolchain Name: gcc-cross Version: 1.0 -Release: 5 +Release: 6 # 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 @@ -11,7 +11,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: binutils, gettext, gmp-devel, isl-devel, libmpc-devel, mpfr-devel, python3-sphinx, sharutils BuildRequires: audit-libs-devel, gd-devel, libcap-devel, libpng-devel, libselinux-devel, libstdc++-static, systemtap-sdt-devel, valgrind BuildRequires: jansson-devel -BuildRequires: gcc, gcc-c++, make, git, flex, bison, rpm-build, automake, autoconf +BuildRequires: gdb, native-turbo-tools, gcc, gcc-c++, make, git, flex, bison, rpm-build, automake, autoconf BuildRequires: libtool, ncurses-devel, bc, zlib-devel, openssl-devel, texinfo, rsync, chrpath #ExclusiveArch: i386 x86-64 @@ -44,6 +44,12 @@ cp %{_builddir}/output/gcc_arm32le/gcc_arm32le.tar.gz %{buildroot}/tmp %attr(755, root, root) /tmp/gcc_arm32le.tar.gz %changelog +* Mon Mar 11 2024 zhengchenhui - 1.0-6 +-Type:Fix +-ID:NA +-SUG:NA +-DESC: Fix cross-compilation tool chain + * Mon Aug 07 2023 dingguangya - 1.0-5 -Type:Fix -ID:NA -- Gitee From 79efee88d27d288ac341cac56a312b2fa7eb74f9 Mon Sep 17 00:00:00 2001 From: Qian Li Date: Thu, 11 Apr 2024 17:53:20 +0800 Subject: [PATCH 2/3] [gcc-cross] fix spec files are packaged in src.rpm without source code files --- gcc-cross.spec | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gcc-cross.spec b/gcc-cross.spec index ea61bd3..0430c11 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: 6 +Release: 7 # 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 +Source4: gcc_arm64le +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 @@ -44,6 +50,13 @@ cp %{_builddir}/output/gcc_arm32le/gcc_arm32le.tar.gz %{buildroot}/tmp %attr(755, root, root) /tmp/gcc_arm32le.tar.gz %changelog +* Thu Apr 11 2024 liqian - 1.0-7 +-Type:Fix +-ID:NA +-SUG:NA +-DESC: Fix Only the spec file is packaged in src.rpm without the source code file, + so it cannot be directly decompressed and compiled using src.rpm + * Mon Mar 11 2024 zhengchenhui - 1.0-6 -Type:Fix -ID:NA -- Gitee From f897ec343b4ed292f37fa1de2364883baac84c3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=99=A8=E5=8D=89?= Date: Mon, 9 Dec 2024 14:49:58 +0800 Subject: [PATCH 3/3] Fix src.rpm build error. --- gcc-cross.spec | 16 ++- gcc_arm32le.tar.gz | Bin 0 -> 3320 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 -> 3348 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, 11 insertions(+), 442 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 0430c11..223acce 100644 --- a/gcc-cross.spec +++ b/gcc-cross.spec @@ -1,7 +1,7 @@ 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 @@ -9,8 +9,8 @@ URL: http://gcc.gnu.org Source0: build.sh Source1: config.xml Source2: download.sh -Source3: gcc_arm32le -Source4: gcc_arm64le +Source3: gcc_arm32le.tar.gz +Source4: gcc_arm64le.tar.gz Source5: README.en.md BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -31,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 & @@ -50,6 +50,12 @@ cp %{_builddir}/output/gcc_arm32le/gcc_arm32le.tar.gz %{buildroot}/tmp %attr(755, root, root) /tmp/gcc_arm32le.tar.gz %changelog +* Mon Dec 9 2024 zhengchenhui - 1.0-8 +-Type:Fix +-ID:NA +-SUG:NA +-DESC: Fix src.rpm build error. + * Thu Apr 11 2024 liqian - 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..9489a432519eb219205e46bf9f80e47a78b9fae1 GIT binary patch literal 3320 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 C_je)y 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..14c74bc9a4f9024107b74f2b5b38e117f9a5fa1c GIT binary patch literal 3348 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 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