On Tue, Jul 4, 2023 at 7:21 AM Andrea Righi <andrea.righi@xxxxxxxxxxxxx> wrote: > > With commit c1177979af9c ("btf, scripts: Exclude Rust CUs with pahole") > we are now able to use pahole directly to identify Rust compilation > units (CUs) and exclude them from generating BTF debugging information > (when DEBUG_INFO_BTF is enabled). > > And if pahole doesn't support the --lang-exclude flag, we can't enable > both RUST and DEBUG_INFO_BTF at the same time. > > So, in any case, the script is_rust_module.sh is just redundant and we > can drop it. > > NOTE: we may also be able to drop the "Rust loadable module" mark > inside Rust modules, but it seems safer to keep it for now to make sure > we are not breaking any external tool that may potentially rely on it. Just to recall the history of these changes: - The script got added in order to skip the BTF generation in the `BTF [M]` step (under `DEBUG_INFO_BTF_MODULES`, which depends on `DEBUG_INFO_BTF`). - A few months later, it was noticed that C modules couldn't be loaded if Rust was enabled, due to the base BTF info in `vmlinux`. That triggered the eventual addition of `--lang_exclude=` to `pahole`, but meanwhile, we made `DEBUG_INFO_BTF` and `RUST` exclusive. - Now, this patch removes the script because having a newer `pahole` also correctly skips the Rust CUs in the `BTF [M]` steps (i.e. and not just the `vmlinux` one), since we pass `--lang_exclude=` to both cases (`link-vmlinux.sh` and `Makefile.modfinal`), if I understand correctly (the script could, in principle, have been removed even before `pahole` got the new feature, given the exclusivity of the options). If this is all correct, then the patch looks good to me. I am Cc'ing Arnaldo, Martin and the BPF list. If this goes through the Rust tree, I will also pick the older `Reviewed-by`s. Thanks! Cheers, Miguel