[DTrace-devel] [PATCH] btf: ensure BTF-to-CTF conversion works for modules
Alan Maguire
alan.maguire at oracle.com
Thu Jul 25 10:49:56 UTC 2024
On 25/07/2024 05:56, Kris Van Hees via DTrace-devel wrote:
> The recent introduction of code to always load BTF data for modules
> broke the BTF-to-CTF conversion for modules. This patch ensures that
> the BTF-to-CTF convertor code is called from any module that does not
> contain CTF data.
>
> Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
Tested-by: Alan Maguire <alan.maguire at oracle.com>
Tested with patches 1 and 3 from [1] applied.
[1]
https://lore.kernel.org/dtrace/20240708145404.1673045-1-alan.maguire@oracle.com/
> ---
> libdtrace/dt_module.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/libdtrace/dt_module.c b/libdtrace/dt_module.c
> index 5e608446..cbbb1d3c 100644
> --- a/libdtrace/dt_module.c
> +++ b/libdtrace/dt_module.c
> @@ -962,8 +962,8 @@ dt_kern_module_find_ctf(dtrace_hdl_t *dtp, dt_module_t *dmp)
> dt_dprintf("Cannot open CTF archive %s: %s; "
> "looking for in-module CTF instead.\n",
> ctfa_name, ctf_errmsg(dtp->dt_ctferr));
> -#endif
> return;
> +#endif
> }
>
> if (dtp->dt_ctfa_path == NULL)
> @@ -1018,6 +1018,11 @@ dt_kern_module_find_ctf(dtrace_hdl_t *dtp, dt_module_t *dmp)
>
> dmp->dm_flags |= DT_DM_CTF_ARCHIVED;
> ctf_setspecific(dmp->dm_ctfp, dmp);
> +#ifdef HAVE_LIBCTF
> + } else {
> + /* Generate CTF from BTF for the module. */
> + dt_kern_module_ctf_from_btf(dtp, dmp);
> +#endif
> }
>
> /*
More information about the DTrace-devel
mailing list