summaryrefslogtreecommitdiff
path: root/scripts/build/debug
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build/debug')
-rw-r--r--scripts/build/debug/200-duma.sh6
-rw-r--r--scripts/build/debug/300-gdb.sh66
-rw-r--r--scripts/build/debug/500-strace.sh18
3 files changed, 49 insertions, 41 deletions
diff --git a/scripts/build/debug/200-duma.sh b/scripts/build/debug/200-duma.sh
index 0e5291c..7196fcf 100644
--- a/scripts/build/debug/200-duma.sh
+++ b/scripts/build/debug/200-duma.sh
@@ -40,9 +40,9 @@ do_debug_duma_build() {
libs="${libs# }"
CT_DoLog EXTRA "Building libraries '${libs}'"
CT_DoExecLog ALL \
- make HOSTCC="${CT_BUILD}-gcc" \
- CC="${CT_TARGET}-gcc" \
- CXX="${CT_TARGET}-gcc" \
+ make HOSTCC="${CT_BUILD}-gcc" \
+ CC="${CT_TARGET}-${CT_CC}" \
+ CXX="${CT_TARGET}-g++" \
RANLIB="${CT_TARGET}-ranlib" \
DUMA_CPP="${DUMA_CPP}" \
${libs}
diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh
index ba13591..fe7787b 100644
--- a/scripts/build/debug/300-gdb.sh
+++ b/scripts/build/debug/300-gdb.sh
@@ -10,26 +10,17 @@ do_debug_gdb_get() {
CT_GetCustom "gdb" "${CT_GDB_CUSTOM_VERSION}" \
"${CT_GDB_CUSTOM_LOCATION}"
else
- # Account for the Linaro versioning
- linaro_version="$( echo "${CT_GDB_VERSION}" \
- |sed -r -e 's/^linaro-//;' \
- )"
- linaro_series="$( echo "${linaro_version}" \
- |sed -r -e 's/-.*//;' \
- )"
-
- if [ x"${linaro_version}" = x"${CT_GDB_VERSION}" ]; then
- CT_GetFile "gdb-${CT_GDB_VERSION}" \
- http://mirrors.kernel.org/sourceware/gdb \
- {http,ftp,https}://ftp.gnu.org/pub/gnu/gdb \
- ftp://{sourceware.org,gcc.gnu.org}/pub/gdb/releases
- else
- YYMM=`echo ${CT_GDB_VERSION} |cut -d- -f3 |sed -e 's,^..,,'`
- CT_GetFile "gdb-${CT_GDB_VERSION}" \
- "http://launchpad.net/gdb-linaro/${linaro_series}/${linaro_version}/+download" \
- https://releases.linaro.org/${YYMM}/components/toolchain/gdb-linaro \
- http://cbuild.validation.linaro.org/snapshots
- fi
+ case "${CT_GDB_VERSION}" in
+ linaro-*)
+ CT_GetLinaro "gdb" "${CT_GDB_VERSION}"
+ ;;
+ *)
+ CT_GetFile "gdb-${CT_GDB_VERSION}" \
+ http://mirrors.kernel.org/sourceware/gdb \
+ {http,ftp,https}://ftp.gnu.org/pub/gnu/gdb \
+ ftp://{sourceware.org,gcc.gnu.org}/pub/gdb/releases
+ ;;
+ esac
fi
}
@@ -99,18 +90,30 @@ do_debug_gdb_build() {
cross_extra_config+=("--disable-nls")
fi
+ CPP_for_gdb="${CT_HOST}-cpp ${CT_CFLAGS_FOR_HOST}"
CC_for_gdb="${CT_HOST}-gcc ${CT_CFLAGS_FOR_HOST} ${CT_LDFLAGS_FOR_HOST}"
+ CXX_for_gdb="${CT_HOST}-g++ ${CT_CFLAGS_FOR_HOST} ${CT_LDFLAGS_FOR_HOST}"
LD_for_gdb="${CT_HOST}-ld ${CT_LDFLAGS_FOR_HOST}"
if [ "${CT_GDB_CROSS_STATIC}" = "y" ]; then
CC_for_gdb+=" -static"
+ CXX_for_gdb+=" -static"
LD_for_gdb+=" -static"
fi
+ case "${CT_HOST}" in
+ *darwin*)
+ # FIXME: Really, we should be testing for host compiler being clang.
+ CC_for_gdb+=" -Qunused-arguments"
+ CXX_for_gdb+=" -Qunused-arguments"
+ ;;
+ esac
# Fix up whitespace. Some older GDB releases (e.g. 6.8a) get confused if there
# are multiple consecutive spaces: sub-configure scripts replace them with a
# single space and then complain that $CC value changed from that in
# the master directory.
+ CPP_for_gdb=`echo $CPP_for_gdb`
CC_for_gdb=`echo $CC_for_gdb`
+ CXX_for_gdb=`echo $CXX_for_gdb`
LD_for_gdb=`echo $LD_for_gdb`
# Disable binutils options when building from the binutils-gdb repo.
@@ -121,7 +124,9 @@ do_debug_gdb_build() {
CT_DoLog DEBUG "Extra config passed: '${cross_extra_config[*]}'"
CT_DoExecLog CFG \
+ CPP="${CPP_for_gdb}" \
CC="${CC_for_gdb}" \
+ CXX="${CXX_for_gdb}" \
LD="${LD_for_gdb}" \
"${gdb_src_dir}/configure" \
--build=${CT_BUILD} \
@@ -168,7 +173,6 @@ do_debug_gdb_build() {
if [ "${CT_GDB_NATIVE}" = "y" ]; then
local -a native_extra_config
- local -a gdb_native_CFLAGS
CT_DoStep INFO "Installing native gdb"
@@ -211,12 +215,14 @@ do_debug_gdb_build() {
[ "${CT_TOOLCHAIN_ENABLE_NLS}" != "y" ] && \
native_extra_config+=("--disable-nls")
+ CPP_for_gdb="${CT_TARGET}-cpp"
+ CC_for_gdb="${CT_TARGET}-${CT_CC}"
+ CXX_for_gdb="${CT_TARGET}-g++"
+ LD_for_gdb="${CT_TARGET}-ld"
if [ "${CT_GDB_NATIVE_STATIC}" = "y" ]; then
- CC_for_gdb="${CT_TARGET}-gcc -static"
- LD_for_gdb="${CT_TARGET}-ld -static"
- else
- CC_for_gdb="${CT_TARGET}-gcc"
- LD_for_gdb="${CT_TARGET}-ld"
+ CC_for_gdb+=" -static"
+ CXX_for_gdb+=" -static"
+ LD_for_gdb+=" -static"
fi
export ac_cv_func_strncmp_works=yes
@@ -229,9 +235,10 @@ do_debug_gdb_build() {
CT_DoLog DEBUG "Extra config passed: '${native_extra_config[*]}'"
CT_DoExecLog CFG \
+ CPP="${CPP_for_gdb}" \
CC="${CC_for_gdb}" \
+ CXX="${CXX_for_gdb}" \
LD="${LD_for_gdb}" \
- CFLAGS="${gdb_native_CFLAGS[*]}" \
"${gdb_src_dir}/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
@@ -249,7 +256,7 @@ do_debug_gdb_build() {
"${native_extra_config[@]}"
CT_DoLog EXTRA "Building native gdb"
- CT_DoExecLog ALL make ${JOBSFLAGS} CC=${CT_TARGET}-${CT_CC}
+ CT_DoExecLog ALL make ${JOBSFLAGS}
CT_DoLog EXTRA "Installing native gdb"
CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" install
@@ -264,6 +271,7 @@ do_debug_gdb_build() {
if [ "${CT_GDB_GDBSERVER}" = "y" ]; then
local -a gdbserver_extra_config
+ local gdbserver_LDFLAGS
CT_DoStep INFO "Installing gdbserver"
CT_DoLog EXTRA "Configuring gdbserver"
@@ -297,7 +305,7 @@ do_debug_gdb_build() {
gdbserver_extra_config+=("--disable-gas")
CT_DoExecLog CFG \
- CC="${CT_TARGET}-gcc" \
+ CC="${CT_TARGET}-${CT_CC}" \
CPP="${CT_TARGET}-cpp" \
LD="${CT_TARGET}-ld" \
LDFLAGS="${gdbserver_LDFLAGS}" \
diff --git a/scripts/build/debug/500-strace.sh b/scripts/build/debug/500-strace.sh
index 0d33ca0..2d8c7df 100644
--- a/scripts/build/debug/500-strace.sh
+++ b/scripts/build/debug/500-strace.sh
@@ -14,17 +14,17 @@ do_debug_strace_extract() {
do_debug_strace_build() {
CT_DoStep INFO "Installing strace"
- mkdir -p "${CT_BUILD_DIR}/build-strace"
- CT_Pushd "${CT_BUILD_DIR}/build-strace"
+
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-strace"
CT_DoLog EXTRA "Configuring strace"
- CT_DoExecLog CFG \
- CC="${CT_TARGET}-gcc" \
- CPP="${CT_TARGET}-cpp" \
- LD="${LD_TARGET}-ld" \
- "${CT_SRC_DIR}/strace-${CT_STRACE_VERSION}/configure" \
- --build=${CT_BUILD} \
- --host=${CT_TARGET} \
+ CT_DoExecLog CFG \
+ CC="${CT_TARGET}-${CT_CC}" \
+ CPP="${CT_TARGET}-cpp" \
+ LD="${CT_TARGET}-ld" \
+ "${CT_SRC_DIR}/strace-${CT_STRACE_VERSION}/configure" \
+ --build=${CT_BUILD} \
+ --host=${CT_TARGET} \
--prefix=/usr
CT_DoLog EXTRA "Building strace"