binutils-gdb/gdb/testsuite/gdb.threads/tls-shared.exp
Andrew Burgess b8ffa8b327 gdb/testsuite: remove use of then keyword from gdb.threads/*.exp
The canonical form of 'if' in modern TCL is 'if {} {}'.  But there's
still a bunch of places in the testsuite where we make use of the
'then' keyword, and sometimes these get copies into new tests, which
just spreads poor practice.

This commit removes all use of the 'then' keyword from the gdb.threads/
test script directory.

There should be no changes in what is tested after this commit.
2022-11-28 21:04:09 +00:00

57 lines
2 KiB
Text

# Copyright 2003-2022 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 <http://www.gnu.org/licenses/>. */
# tls-shared.exp -- Expect script to test thread local storage in gdb, with
# shared libraries.
standard_testfile tls-main.c
set libfile tls-shared
set srcfile_lib ${libfile}.c
set binfile_lib [standard_output_file ${libfile}.so]
remote_exec build "rm -f ${binfile}"
if { [gdb_compile_shlib_pthreads ${srcdir}/${subdir}/${srcfile_lib} ${binfile_lib} {debug}] != ""
|| [gdb_compile_pthreads ${srcdir}/${subdir}/${srcfile} ${binfile} executable [list debug shlib=${binfile_lib}]] != ""} {
return -1
}
clean_restart ${binfile}
gdb_load_shlib ${binfile_lib}
if {![runto_main]} {
return 0
}
gdb_test "print i_tls" "2" "print thread local storage variable"
gdb_test "ptype i_tls" "int" "ptype of thread local storage variable"
gdb_test "info address i_tls" \
"Symbol \\\"i_tls\\\" is a thread-local variable at offset 0x0 in the thread-local storage for .*tls-shared.." \
"print storage info for thread local storage variable"
set line_number [gdb_get_line_number "break here to check result"]
gdb_test "break $line_number" \
"Breakpoint.*at.*file.*tls-main.c.*line ${line_number}." \
"break at and of main"
gdb_test "continue" \
"main .* at .*:.*return 0.*break here to check result.*" \
"continue to break"
# This is more of a gcc/glibc test, really.
#
gdb_test "print result" "3"