| Index: gdb/testsuite/gdb.base/gcore.exp
|
| diff --git a/gdb/testsuite/gdb.base/gcore.exp b/gdb/testsuite/gdb.base/gcore.exp
|
| index faa8fa7f5204a8cd8400bbe189717a4bcff7d108..0807a60fb3900fd2095724deae428162a2698662 100644
|
| --- a/gdb/testsuite/gdb.base/gcore.exp
|
| +++ b/gdb/testsuite/gdb.base/gcore.exp
|
| @@ -1,4 +1,4 @@
|
| -# Copyright 2002-2004, 2007-2012 Free Software Foundation, Inc.
|
| +# Copyright 2002-2013 Free Software Foundation, Inc.
|
|
|
| # This program is free software; you can redistribute it and/or modify
|
| # it under the terms of the GNU General Public License as published by
|
| @@ -17,28 +17,19 @@
|
| # This is a test for the gdb command "generate-core-file".
|
|
|
|
|
| -set testfile "gcore"
|
| -set srcfile ${testfile}.c
|
| -set binfile ${objdir}/${subdir}/${testfile}
|
| +standard_testfile
|
|
|
| -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
|
| - untested gcore.exp
|
| - return -1
|
| +if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
|
| + untested $testfile.exp
|
| + return -1
|
| }
|
|
|
| -# Start with a fresh gdb.
|
| -
|
| -gdb_exit
|
| -gdb_start
|
| -gdb_reinitialize_dir $srcdir/$subdir
|
| -gdb_load ${binfile}
|
| -
|
| # Does this gdb support gcore?
|
| gdb_test_multiple "help gcore" "help gcore" {
|
| -re "Undefined command: .gcore.*$gdb_prompt $" {
|
| # gcore command not supported -- nothing to test here.
|
| unsupported "gdb does not support gcore on this target"
|
| - return -1;
|
| + return -1
|
| }
|
| -re "Save a core file .*$gdb_prompt $" {
|
| pass "help gcore"
|
| @@ -74,6 +65,7 @@ set print_prefix ".\[0123456789\]* = "
|
| set pre_corefile_backtrace [capture_command_output "backtrace" ""]
|
| set pre_corefile_regs [capture_command_output "info registers" ""]
|
| set pre_corefile_allregs [capture_command_output "info all-reg" ""]
|
| +set pre_corefile_sysregs [capture_command_output "info reg system" ""]
|
| set pre_corefile_static_array \
|
| [capture_command_output "print static_array" "$print_prefix"]
|
| set pre_corefile_uninit_array \
|
| @@ -85,24 +77,8 @@ set pre_corefile_local_array \
|
| set pre_corefile_extern_array \
|
| [capture_command_output "print extern_array" "$print_prefix"]
|
|
|
| -set escapedfilename [string_to_regexp ${objdir}/${subdir}/gcore.test]
|
| -
|
| -set core_supported 0
|
| -gdb_test_multiple "gcore ${objdir}/${subdir}/gcore.test" \
|
| - "save a corefile" \
|
| -{
|
| - -re "Saved corefile ${escapedfilename}\[\r\n\]+$gdb_prompt $" {
|
| - pass "save a corefile"
|
| - global core_supported
|
| - set core_supported 1
|
| - }
|
| - -re "Can't create a corefile\[\r\n\]+$gdb_prompt $" {
|
| - unsupported "save a corefile"
|
| - global core_supported
|
| - set core_supported 0
|
| - }
|
| -}
|
| -
|
| +set corefile [standard_output_file gcore.test]
|
| +set core_supported [gdb_gcore_cmd "$corefile" "save a corefile"]
|
| if {!$core_supported} {
|
| return -1
|
| }
|
| @@ -113,24 +89,10 @@ gdb_start
|
| gdb_reinitialize_dir $srcdir/$subdir
|
| gdb_load ${binfile}
|
|
|
| -gdb_test_multiple "core ${objdir}/${subdir}/gcore.test" \
|
| - "re-load generated corefile" {
|
| - -re ".* is not a core dump:.*$gdb_prompt $" {
|
| - fail "re-load generated corefile (bad file format)"
|
| - # No use proceeding from here.
|
| - return;
|
| - }
|
| - -re ".*: No such file or directory.*$gdb_prompt $" {
|
| - fail "re-load generated corefile (file not found)"
|
| - # No use proceeding from here.
|
| - return;
|
| - }
|
| - -re ".*Couldn't find .* registers in core file.*$gdb_prompt $" {
|
| - fail "re-load generated corefile (incomplete note section)"
|
| - }
|
| - -re "Core was generated by .*$gdb_prompt $" {
|
| - pass "re-load generated corefile"
|
| - }
|
| +set core_loaded [gdb_core_cmd "$corefile" "re-load generated corefile"]
|
| +if { $core_loaded == -1 } {
|
| + # No use proceeding from here.
|
| + return
|
| }
|
|
|
| gdb_test_sequence "where" "where in corefile" {
|
| @@ -159,6 +121,13 @@ if ![string compare $pre_corefile_allregs $post_corefile_allregs] then {
|
| fail "corefile restored all registers"
|
| }
|
|
|
| +set post_corefile_sysregs [capture_command_output "info reg system" ""]
|
| +if ![string compare $pre_corefile_sysregs $post_corefile_sysregs] then {
|
| + pass "corefile restored system registers"
|
| +} else {
|
| + fail "corefile restored system registers"
|
| +}
|
| +
|
| set post_corefile_extern_array \
|
| [capture_command_output "print extern_array" "$print_prefix"]
|
| if ![string compare $pre_corefile_extern_array $post_corefile_extern_array] {
|
|
|