gdb, testsuite: Extend core_find procedure to save program output.

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 coredump files, too.  So include it in this patch series.

Abridged-by: Christina Schimpe <christina.schimpe@intel.com>
Approved-By: Luis Machado <luis.machado@arm.com>
Approved-By: Andrew Burgess <aburgess@redhat.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.
This commit is contained in:
Christina Schimpe
2025-06-27 09:09:17 -07:00
parent b340cd71e6
commit 364e3c2ec7

View File

@@ -9568,7 +9568,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"
@@ -9590,7 +9596,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 \