1# Copyright 2014-2020 Free Software Foundation, Inc. 2 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16if {[skip_shlib_tests]} { 17 return 0 18} 19 20standard_testfile .c symtab-search-order-1.c symtab-search-order-shlib-1.c 21set srcfile $srcdir/$subdir/$srcfile 22set srcfile2 $srcdir/$subdir/$srcfile2 23set lib1src $srcdir/$subdir/$srcfile3 24set lib1 [standard_output_file symtab-search-order-1.sl] 25 26set lib_opts "debug" 27set exec_opts [list debug shlib=$lib1] 28 29if [get_compiler_info] { 30 return -1 31} 32 33if { [gdb_compile_shlib $lib1src $lib1 $lib_opts] != "" 34 || [gdb_compile [list $srcfile $srcfile2] $binfile executable \ 35 $exec_opts] != ""} { 36 untested "failed to compile" 37 return -1 38} 39 40# Start with a fresh gdb. 41 42clean_restart $binfile 43gdb_load_shlib $lib1 44 45if ![runto_main] { 46 fail "can't run to main" 47 return -1 48} 49 50# PR 17564 51# Expand something in the shared library, 52# and then try to print static_global in the binary. 53# We should get the static_global in the binary. 54# Note: static_global in the binary needs to be in a file 55# other than the one with "main" because gdb will expand 56# the symtab with main when starting. 57 58gdb_test "p shlib_1_func" "= .*<shlib_1_func>" 59gdb_test "p static_global" " = 23" 60