kumquat-buildroot/toolchain/toolchain-external
Thomas Petazzoni 80a24d0965 toolchain/toolchain-external: add BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER option
Some external toolchains do not have gdbserver available, but the
option BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY is always visible. And
when enabled, this option aborts with an error when gdbserver cannot
be found:

  Could not find gdbserver in external toolchain

Due to that, some random configurations fail to build when
BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y, for example with the Bootlin
toolchains for Microblaze or OpenRISC (because there's no GDB support
for those architectures).

One solution could be to make "Could not find gdbserver in external
toolchain" a warning instead of a hard error, but then nobody would
notice about this issue, in cases where it should legitimately abort
with a hard error.

So, the clean solution would be to add a
BR2_TOOLCHAIN_EXTERNAL_HAS_GDBSERVER. But that means all existing
external toolchains would have to be modified to select this option.

Instead, and as an exception, we chose to use inverted logic, and
create an option that is the opposite:
BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER. By default, we assume
external toolchains have gdbserver. If
BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER is enabled, we disallow the
BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY option.

Note that the case of custom external toolchain does not matter: by
definition they are not tested by the autobuilders, and by definition,
we cannot know in menuconfig if the custom toolchain has or does not
have gdbserver. We could make a user-visible option for it, but that
adds no value over simply erroring out because the gdbserver binary
can't be found.

Similarly, we could add
default y if BR2_PACKAGE_GDB_ARCH_SUPPORTS
but that would make it impossible for someone to include a custom
gdbserver in their external toolchain, and gives no benefit at all.

This will help fixing:

  http://autobuild.buildroot.net/results/6315ef7b66ee4ae8f870c92186bc674d65f62f2c/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-06-14 17:21:42 +02:00
..
toolchain-external-andes-nds32 board/andes: rearrange andes folder structure 2022-03-10 21:47:55 +01:00
toolchain-external-arm-aarch64 toolchain/toolchain-external: update Arm AArch64 toolchain 10.3-2021.07 2021-09-11 18:22:02 +02:00
toolchain-external-arm-aarch64-be toolchain/toolchain-external: update Arm AArch64 BE toolchain 10.3-2021.07 2021-09-11 18:23:06 +02:00
toolchain-external-arm-arm toolchain/toolchain-external: add aarch64 as a hostarch for arm tools 2022-05-02 23:56:38 +02:00
toolchain-external-bootlin toolchain/toolchain-external/toolchain-external-bootlin: regenerate after i686 toolchain dependency fixes 2022-06-14 16:49:34 +02:00
toolchain-external-codescape-img-mips toolchain-external: codescape-img-mips: needs shared library support 2022-05-18 21:16:01 +02:00
toolchain-external-codescape-mti-mips toolchain-external: codescape-mti-mips: needs shared library support 2022-05-18 21:16:01 +02:00
toolchain-external-codesourcery-aarch64
toolchain-external-codesourcery-arm
toolchain-external-codesourcery-mips
toolchain-external-codesourcery-niosII
toolchain-external-custom {toolchain, linux-headers}: add support for 5.17.x headers 2022-05-13 18:32:13 +02:00
toolchain-external-linaro-aarch64
toolchain-external-linaro-aarch64-be
toolchain-external-linaro-arm
toolchain-external-linaro-armeb
toolchain-external-synopsys-arc
Config.in toolchain/toolchain-external: add BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER option 2022-06-14 17:21:42 +02:00
pkg-toolchain-external.mk Revert "toolchain/toolchain-external: error if BR2_TOOLCHAIN_EXTERNAL_PATH is not set" 2022-04-29 00:03:01 +02:00
toolchain-external.mk