summaryrefslogtreecommitdiff
path: root/scripts/build/debug/300-gdb.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build/debug/300-gdb.sh')
-rw-r--r--scripts/build/debug/300-gdb.sh34
1 files changed, 25 insertions, 9 deletions
diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh
index 418e85c..ee4753e 100644
--- a/scripts/build/debug/300-gdb.sh
+++ b/scripts/build/debug/300-gdb.sh
@@ -69,7 +69,11 @@ do_debug_gdb_build() {
cross_extra_config=("${extra_config[@]}")
cross_extra_config+=("--with-expat")
- cross_extra_config+=("--with-libexpat-prefix=${CT_HOST_COMPLIBS_DIR}")
+ # NOTE: DO NOT USE --with-libexpat-prefix (until GDB configure is smarter)!!!
+ # It conflicts with a static build: GDB's configure script will find the shared
+ # version of expat and will attempt to link that, despite the -static flag.
+ # The link will fail, and configure will abort with "expat missing or unusable"
+ # message.
case "${CT_THREADS}" in
none) cross_extra_config+=("--disable-threads");;
*) cross_extra_config+=("--enable-threads");;
@@ -88,17 +92,24 @@ do_debug_gdb_build() {
cross_extra_config+=("--disable-nls")
fi
- CC_for_gdb=
- LD_for_gdb=
+ CC_for_gdb="${CT_HOST}-gcc ${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="${CT_HOST}-gcc -static"
- LD_for_gdb="${CT_HOST}-ld -static"
+ CC_for_gdb+=" -static"
+ LD_for_gdb+=" -static"
fi
- # Disable binutils options when building from the binutils-gdb repo.
- cross_extra_config+=("--disable-binutils")
- cross_extra_config+=("--disable-ld")
- cross_extra_config+=("--disable-gas")
+ # 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.
+ CC_for_gdb=`echo $CC_for_gdb`
+ LD_for_gdb=`echo $LD_for_gdb`
+
+ # Disable binutils options when building from the binutils-gdb repo.
+ cross_extra_config+=("--disable-binutils")
+ cross_extra_config+=("--disable-ld")
+ cross_extra_config+=("--disable-gas")
CT_DoLog DEBUG "Extra config passed: '${cross_extra_config[*]}'"
@@ -162,6 +173,11 @@ do_debug_gdb_build() {
fi
native_extra_config+=("--with-expat")
+ # NOTE: DO NOT USE --with-libexpat-prefix (until GDB configure is smarter)!!!
+ # It conflicts with a static build: GDB's configure script will find the shared
+ # version of expat and will attempt to link that, despite the -static flag.
+ # The link will fail, and configure will abort with "expat missing or unusable"
+ # message.
CT_DoLog EXTRA "Configuring native gdb"