Re: [PATCH v5 01/12] gdb, testsuite: Extend core_find procedure to save program output.

Andrew Burgess
2025-07-14T12:24:17Z

Christina Schimpe <christina.schimpe@intel.com> writes:

> From: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
>
> The change comes from ARM's GCS series:
>
> [PATCH v3 5/9] GDB, gdbserver: aarch64-linux: Initial Guarded Control Stack support.
>
> We need it for testing coredmp files, too. So include it in this
> patch series.

Typo: "corecmp"

With that fixed:

Approved-By: Andrew Burgess <aburgess@redhat.com>

Thanks,
Andrew

>
> Abridged-by: Christina Schimpe <christina.schimpe@intel.com>
> ---
> This is the patch mentioned above:
>
> https://sourceware.org/pipermail/gdb-patches/2025-June/218892.html
>
> Minus everything except for the change in gdb.exp's corefind procedure.
> ---
> gdb/testsuite/lib/gdb.exp | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
> index 3f1cd55d727..bb17c4e91a5 100644
> --- a/gdb/testsuite/lib/gdb.exp
> +++ b/gdb/testsuite/lib/gdb.exp
> @@ -9352,7 +9352,13 @@ proc remove_core {pid {test ""}} {
> }
> }
>
> -proc core_find {binfile {deletefiles {}} {arg ""}} {
> +# Runs ${binfile} expecting it to crash and generate a core file.
> +# If DELETEFILES is provided, remove these files after running the program.
> +# If ARG is provided, pass it as a command line argument to the program.
> +# If OUTPUT_FILE is provided, save the program output to it.
> +# Returns the name of the core dump, or empty string if not found.
> +
> +proc core_find {binfile {deletefiles {}} {arg ""} {output_file "/dev/null"}} {
> global objdir subdir
>
> set destcore "$binfile.core"
> @@ -9374,7 +9380,7 @@ proc core_find {binfile {deletefiles {}} {arg ""}} {
> set found 0
> set coredir [standard_output_file coredir.[getpid]]
> file mkdir $coredir
> - catch "system \"(cd ${coredir}; ulimit -c unlimited; ${binfile} ${arg}; true) >/dev/null 2>&1\""
> + catch "system \"(cd ${coredir}; ulimit -c unlimited; ${binfile} ${arg}; true) >${output_file} 2>&1\""
> # remote_exec host "${binfile}"
> set binfile_basename [file tail $binfile]
> foreach i [list \
> --
> 2.43.0