Subject: Re: [PATCH bpf-next] scripts/bpf: Emit an #error directive known types list needs updating

From: Jakub Sitnicki <[email-masked]>
Date: Thu, 17 Oct 2019 11:50:30 +0200

On Wed, Oct 16, 2019 at 10:29 PM CEST, Andrii Nakryiko wrote:
> On Wed, Oct 16, 2019 at 6:21 AM Jakub Sitnicki <[email-masked]> wrote:
>>
>> Make the compiler report a clear error when bpf_helpers_doc.py needs
>> updating rather than rely on the fact that Clang fails to compile
>> English:
>>
>> ../../../lib/bpf/bpf_helper_defs.h:2707:1: error: unknown type name 'Unrecognized'
>> Unrecognized type 'struct bpf_inet_lookup', please add it to known types!
>>
>> Signed-off-by: Jakub Sitnicki <[email-masked]>
>> ---
>>  scripts/bpf_helpers_doc.py | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/scripts/bpf_helpers_doc.py b/scripts/bpf_helpers_doc.py
>> index 7df9ce598ff9..08300bc024da 100755
>> --- a/scripts/bpf_helpers_doc.py
>> +++ b/scripts/bpf_helpers_doc.py
>> @@ -489,7 +489,7 @@ class PrinterHelpers(Printer):
>>          if t in self.mapped_types:
>>              return self.mapped_types[t]
>>          print("")
>> -        print("Unrecognized type '%s', please add it to known types!" % t)
>> +        print("#error \"Unrecognized type '%s', please add it to known types!\"" % t)
>
> My bad, this was intended to be printed to stderr, not to stdout
> output. Can you please do a follow up patch turning this into eprint
> instead?
>
> This shouldn't be reported by Clang, rather by tool. And we should
> ensure in libbpf's Makefile that bpf_helper_defs.h is deleted on
> error. I'll do it a bit later, unless you'll beat me to it.

This sounds sensible. I could have guessed it. Here's the fix:

https://lore.kernel.org/bpf/[email-masked]/T/#u

-Jakub