# Copyright 2017 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 # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . standard_testfile if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ executable { debug }] != "" } { return -1 } clean_restart ${binfile} runto thread_proc # # Generate corefile. # set corefile [standard_output_file gcore.test] set core_supported [gdb_gcore_cmd "$corefile" "save a corefile"] if {!$core_supported} { return 0 } # # Restart gdb and load generated corefile. # clean_restart ${binfile} set core_loaded [gdb_core_cmd "$corefile" "load generated corefile"] if { $core_loaded != 1 } { # No use proceeding from here. return 0 } # This fails in cross-debugging due to the use of native `libthread_db'. if {![string match $host_triplet $target_triplet]} { setup_kfail "threads/22381" "*-*-*" } gdb_test "p/x foo" \ "\\$\[0-9]+ = 0xdeadbeef" \ "print thread-local storage variable" gdb_exit