Re: [PATCH v3 2/2] gdb/testsuite: reduce gdb.threads/threadcrash.exp reliance on libc symbols

Tom de Vries
2024-03-06T17:16:07Z

On 2/14/24 10:17, Guinevere Larsen wrote:
> The test gdb.threads/threadcrash.exp demanded GDB to fully unwind and
> print the names of all functions. However, some of the functions are
> from the libc library, and so the test implicitly demanded libc symbols
> to be available, and would fail otherwise, as was raised in PR
> gdb/31293.
>
> This commit changes it so we only explicitly check for functions that
> are provided by threadcrash.c to fix that

Hi Gwen,

Nit: Missing dot at end of line.

With that fixed, LGTM.

Approved-By: Tom de Vries <tdevries@suse.de>

Thanks,
- Tom

>
> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31293
> ---
> gdb/testsuite/gdb.threads/threadcrash.exp | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/gdb/testsuite/gdb.threads/threadcrash.exp b/gdb/testsuite/gdb.threads/threadcrash.exp
> index bf4534179e2..2bbedcce58e 100644
> --- a/gdb/testsuite/gdb.threads/threadcrash.exp
> +++ b/gdb/testsuite/gdb.threads/threadcrash.exp
> @@ -40,26 +40,23 @@ proc thread_apply_all {} {
> exp_continue
> }
> -re "\[^\n\]*syscall_task .location=SIGNAL_ALT_STACK\[^\n\]*" {
> - lappend test_list [multi_line ".*sleep.*" \
> - ".*do_syscall_task .location=SIGNAL_ALT_STACK.*" \
> + lappend test_list [multi_line ".*do_syscall_task .location=SIGNAL_ALT_STACK.*" \
> ".*signal_handler.*" \
> ".*signal handler called.*" \
> - ".*pthread_kill.*" \
> + ".*" \
> ".*thread_function.*"]
> exp_continue
> }
> -re "\[^\n\]*syscall_task .location=SIGNAL_HANDLER\[^\n\]*" {
> - lappend test_list [multi_line ".*sleep.*" \
> - ".*do_syscall_task .location=SIGNAL_HANDLER.*" \
> + lappend test_list [multi_line ".*do_syscall_task .location=SIGNAL_HANDLER.*" \
> ".*signal_handler.*" \
> ".*signal handler called.*" \
> - ".*pthread_kill.*" \
> + ".*" \
> ".*thread_function.*"]
> exp_continue
> }
> -re "\[^\n\]*syscall_task .location=NORMAL\[^\n\]*" {
> - lappend test_list [multi_line ".*sleep.*" \
> - ".*do_syscall_task .location=NORMAL.*" \
> + lappend test_list [multi_line ".*do_syscall_task .location=NORMAL.*" \
> ".*thread_function.*"]
> exp_continue
> }
> @@ -67,7 +64,7 @@ proc thread_apply_all {} {
> lappend test_list [multi_line ".*do_spin_task .location=SIGNAL_ALT_STACK.*" \
> ".*signal_handler.*" \
> ".*signal handler called.*" \
> - ".*pthread_kill.*" \
> + ".*" \
> ".*thread_function.*"]
> exp_continue
> }
> @@ -75,7 +72,7 @@ proc thread_apply_all {} {
> lappend test_list [multi_line ".*do_spin_task .location=SIGNAL_HANDLER.*" \
> ".*signal_handler.*" \
> ".*signal handler called.*" \
> - ".*pthread_kill.*" \
> + ".*" \
> ".*thread_function.*"]
> exp_continue
> }