# Copyright 2014-2020 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 . if { [skip_shlib_tests] } { return 0 } standard_testfile set lib1name $testfile-solib1 set srcfile_lib1 $srcdir/$subdir/$lib1name.c set binfile_lib1 [standard_output_file $lib1name.so] set lib2name $testfile-solib2 set srcfile_lib2 $srcdir/$subdir/$lib2name.c set binfile_lib2 [standard_output_file $lib2name.so] if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 \ [list debug additional_flags=-fPIC]] != "" } { untested "failed to compile shared library 1" return -1 } if { [gdb_compile_shlib $srcfile_lib2 $binfile_lib2 \ [list debug additional_flags=-fPIC]] != "" } { untested "failed to compile shared library 2" return -1 } if { [gdb_compile $srcdir/$subdir/$srcfile $binfile executable \ [list debug shlib=$binfile_lib1 shlib=$binfile_lib2]] != "" } { return -1 } clean_restart $binfile gdb_load_shlib $binfile_lib1 gdb_load_shlib $binfile_lib2 if { ![runto_main] } { return -1 } gdb_test "next" "$decimal.*b_main \\(\\);" gdb_test "next" "$decimal.*return 0;" gdb_test "print test" " = 42"