On Tue, Jan 5, 2021 at 11:50 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > On Tue, Jan 05, 2021 at 11:37:09AM -0800, Alexei Starovoitov wrote: > > On Tue, Jan 5, 2021 at 7:39 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > > > > > The kernel image can contain multiple types (structs/unions) > > > with the same name. This causes distinct type hierarchies in > > > BTF data and makes resolve_btfids fail with error like: > > > > > > BTFIDS vmlinux > > > FAILED unresolved symbol udp6_sock > > > > > > as reported by Qais Yousef [1]. > > > > > > This change adds warning when multiple types of the same name > > > are detected: > > > > > > BTFIDS vmlinux > > > WARN: multiple IDs found for 'file' (526, 113351) > > > WARN: multiple IDs found for 'sk_buff' (2744, 113958) > > > > > > We keep the lower ID for the given type instance and let the > > > build continue. > > > > I think it would make sense to mention this decision in the warning. > > 'WARN: multiple IDs' is ambiguous and confusing when action is not specified. > > ok, how about: > > WARN: multiple IDs found for 'file': 526, 113351 - using 526 yep. much better imo. Please add a comment to .c file with the suggestion that such types should be renamed to avoid ambiguity. Adding 'please rename' to WARN is probably overkill.