Avoid producing broken non-native core files

gdb/
	* linux-tdep.c (linux_corefile_thread_callback): Propagate any
	failure from register information collection.

	gdb/testsuite/
	* lib/gdb.exp (gdb_gcore_cmd): Also handle a "Target does not
	support core file generation" reply.
This commit is contained in:
Maciej W. Rozycki 2013-10-24 20:37:49 +01:00 committed by Tom Tromey
parent 72ee449576
commit bbe769cc07
4 changed files with 15 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2013-10-24 Maciej W. Rozycki <macro@codesourcery.com>
* linux-tdep.c (linux_corefile_thread_callback): Propagate any
failure from register information collection.
2013-10-24 Maciej W. Rozycki <macro@codesourcery.com>
* linux-tdep.c (linux_corefile_thread_data): Remove `num_notes'

View File

@ -1209,14 +1209,15 @@ linux_corefile_thread_callback (struct thread_info *info, void *data)
args->note_data, args->note_size,
args->stop_signal);
if (siginfo_data != NULL)
{
/* Don't return anything if we got no register information above,
such a core file is useless. */
if (args->note_data != NULL)
if (siginfo_data != NULL)
args->note_data = elfcore_write_note (args->obfd,
args->note_data,
args->note_size,
"CORE", NT_SIGINFO,
siginfo_data, siginfo_size);
}
do_cleanups (old_chain);
}

View File

@ -1,3 +1,8 @@
2013-10-24 Maciej W. Rozycki <macro@codesourcery.com>
* lib/gdb.exp (gdb_gcore_cmd): Also handle a "Target does not
support core file generation" reply.
2013-10-21 Jose E. Marchesi <jose.marchesi@oracle.com>
PR gdb/15986

View File

@ -3183,7 +3183,7 @@ proc gdb_gcore_cmd {core test} {
verbose -log "'gcore' command undefined in gdb_gcore_cmd"
}
-re "Can't create a corefile\[\r\n\]+$gdb_prompt $" {
-re "(?:Can't create a corefile|Target does not support core file generation\\.)\[\r\n\]+$gdb_prompt $" {
unsupported $test
}
}