aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuinevere Larsen <guinevere@redhat.com>2025-01-23 16:42:53 -0300
committerGuinevere Larsen <guinevere@redhat.com>2025-01-28 09:06:48 -0300
commitb601c58034ed755fb765fc13782b6876bffd25d4 (patch)
tree675ed6b06d3823d6c4f15c87751dff7c60bc21f4
parentbff157a0c6f91cb8c4894c0e7f116af2d0a1d041 (diff)
downloadgdb-b601c58034ed755fb765fc13782b6876bffd25d4.zip
gdb-b601c58034ed755fb765fc13782b6876bffd25d4.tar.gz
gdb-b601c58034ed755fb765fc13782b6876bffd25d4.tar.bz2
gdb/configure: fail configure if all targets requested with 32bit bfd
As PR sim/28684 explains, it isn't possible to compile GDB with all targets enabled and not enabling 64 bit bfd. In 64 bit hosts, 64 bit bfd is forced, so the build works, but in 32 bit hosts, that has to be explicitly enabled. I ran into this when I tried compiling GDB on a mips64 machine running a 32 bit OS. Along with the errors in the PR, several other architectures are also required, notably aarch64 and other explicitly 64bit targets. Additionally, some 32 bit files required for the gdb mips target aren't added to the makefile. Considering the last comment in the bug says this isn't going to be fixed on the binutils side, I didn't think it was worth trying to fix the GDB side. Instead, this commit causes the configure script to fail if all targets were requested and 64 bit bfd isn't enabled. If that is ever fixed, we can revert this commit. I considered adding this to the top level configure script, but couldn't figure out how to detect the situation in there, so this was my next best idea. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28684 Approved-by: Kevin Buettner <kevinb@redhat.com>
-rwxr-xr-xgdb/configure4
-rw-r--r--gdb/configure.ac4
2 files changed, 6 insertions, 2 deletions
diff --git a/gdb/configure b/gdb/configure
index 1531f62..cfb4f44 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -25005,7 +25005,9 @@ if test x${all_targets} = xtrue; then
if test x${enable_64_bit_bfd} = xyes; then
TARGET_OBS='$(ALL_TARGET_OBS) $(ALL_64_TARGET_OBS)'
else
- TARGET_OBS='$(ALL_TARGET_OBS)'
+ # If all targets were requested, but 64 bit bfd is not enabled,
+ # the build will fail. See PR 28684.
+ as_fn_error $? "--enable-targets=all requires --enable-64-bit-bfd" "$LINENO" 5
fi
fi
diff --git a/gdb/configure.ac b/gdb/configure.ac
index e9312b1..77f774e 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -257,7 +257,9 @@ if test x${all_targets} = xtrue; then
if test x${enable_64_bit_bfd} = xyes; then
TARGET_OBS='$(ALL_TARGET_OBS) $(ALL_64_TARGET_OBS)'
else
- TARGET_OBS='$(ALL_TARGET_OBS)'
+ # If all targets were requested, but 64 bit bfd is not enabled,
+ # the build will fail. See PR 28684.
+ AC_MSG_ERROR([--enable-targets=all requires --enable-64-bit-bfd])
fi
fi