Hi Faust. Thanks for the patch. OK for master.
> The BPF-specific .BTF.ext section is always generated for BPF programs > if -gbtf is specified, and generating it requires BTF information and > assumes that the BTF info has already been generated. > > Compiling non-C languages to BPF is not supported, nor is generating > CTF/BTF for non-C. But, compiling another language like C++ to BPF > with -gbtf specified meant that we would try to generate the .BTF.ext > section anyway, and then ICE because no BTF information was available. > > Add a check to bail out of btf_ext_output if the TU CTFC does not exist, > meaning no BTF info is available. > > Tested on x86_64-linux-gnu host for bpf-unknown-none. > > gcc/ > PR target/117447 > * config/bpf/btfext-out.cc (btf_ext_output): Bail if TU CTFC is null. > --- > gcc/config/bpf/btfext-out.cc | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/gcc/config/bpf/btfext-out.cc b/gcc/config/bpf/btfext-out.cc > index ca6241aa52e..760b2b59ff6 100644 > --- a/gcc/config/bpf/btfext-out.cc > +++ b/gcc/config/bpf/btfext-out.cc > @@ -611,6 +611,9 @@ btf_ext_init (void) > void > btf_ext_output (void) > { > + if (!ctf_get_tu_ctfc ()) > + return; > + > output_btfext_header (); > output_btfext_func_info (btf_ext); > if (TARGET_BPF_CORE)