Re: [PATCH] scripts/gdb: fix 'lx-current' for x86

From: Jeff Xie
Date: Tue Feb 07 2023 - 10:48:36 EST


Andrew was added.

Hi Andrew,

I found the patches for the ./scripts/gdb/* were merged by you before,
but the "./scripts/get_maintainer.pl ./scripts/gdb/linux/cpus.py"
can't find your name, so added you.

Can you review this patch ;-)

On Sat, Feb 4, 2023 at 5:02 PM Jeff Xie <xiehuan09@xxxxxxxxx> wrote:
>
> When printing the name of the current process, it will report an error:
> (gdb) p $lx_current().comm
> Python Exception <class 'gdb.error'> No symbol "current_task" in current context.:
> Error occurred in Python: No symbol "current_task" in current context.
>
> Because the commit <e57ef2ed97c1> ("x86: Put hot per CPU variables into a struct")
> changed it.
>
> Signed-off-by: Jeff Xie <xiehuan09@xxxxxxxxx>
> ---
> scripts/gdb/linux/cpus.py | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/gdb/linux/cpus.py b/scripts/gdb/linux/cpus.py
> index 15fc4626d236..9ee99f9fae8d 100644
> --- a/scripts/gdb/linux/cpus.py
> +++ b/scripts/gdb/linux/cpus.py
> @@ -163,7 +163,7 @@ def get_current_task(cpu):
> task_ptr_type = task_type.get_type().pointer()
>
> if utils.is_target_arch("x86"):
> - var_ptr = gdb.parse_and_eval("&current_task")
> + var_ptr = gdb.parse_and_eval("&pcpu_hot.current_task")
> return per_cpu(var_ptr, cpu).dereference()
> elif utils.is_target_arch("aarch64"):
> current_task_addr = gdb.parse_and_eval("$SP_EL0")
> --
> 2.25.1
>

--
Thanks,
JeffXie