| #!/bin/bash |
| |
| SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
| |
| set -o errtrace |
| trap 'echo Fatal error: script $0 aborting at line $LINENO, command \"$BASH_COMMAND\" returned $?; exit 1' ERR |
| |
| gdbserver_version=8.0.1 |
| |
| # Upgrade gdbserver ${gdbserver_version} |
| |
| function build_gdbserver { |
| pushd ${SCRIPT_DIR} |
| |
| local readonly arch=${1} |
| local readonly abi=${2} |
| local readonly name=${arch}-cros-linux-${abi} |
| |
| # 5. Install gdbserver ${gdbserver_version} |
| wget https://ftp.gnu.org/gnu/gdb/gdb-${gdbserver_version}.tar.gz |
| tar -xf gdb-${gdbserver_version}.tar.gz |
| |
| # patch the gdb-8.0.1 to pass compilation w/ glibc 2.32 |
| pushd gdb-${gdbserver_version} |
| patch -p1 < ../fix_gdb-8.0.1_glibc-2.32.patch |
| popd |
| |
| pushd gdb-${gdbserver_version}/gdb/gdbserver |
| PATH=`pwd`/../../../${arch}/usr/bin/:$PATH ; ./configure --host=${name} \ |
| CC=${name}-clang CXX=${name}-clang++ CFLAGS="-stdlib=libc++" LDFLAGS="-stdlib=libc++ --rtlib=compiler-rt" |
| make -j50 |
| popd |
| cp gdb-${gdbserver_version}/gdb/gdbserver/gdbserver ${arch}/usr/${arch}-cros-linux-${abi}/usr/bin/gdbserver |
| rm -rf gdb-* |
| |
| popd # ${SCRIPT_DIR} |
| } |
| |
| build_gdbserver armv7a gnueabihf |
| build_gdbserver aarch64 gnu |