# Copyright (C) 2013-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 . # This test case is to test the speed of GDB when it is doing disassemble # some large functions in GDB. load_lib perftest.exp if [skip_perf_tests] { return 0 } global GDB standard_testfile .c # Overwrite $binfile set binfile $GDB PerfTest::assemble { # Don't have compilation step. return 0 } { global srcdir subdir global binfile gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir # When GDB is debugging GDB, the prompt is changed to "(top-gdb) ". # In order to avoid the confusion of pattern matching, set the # gdb_prompt to '(top-gdb)' temporarily. with_gdb_prompt "(top-gdb)" { gdb_load ${binfile} } # The prompt of both parent GDB and child GDB is '(gdb)', but # child GDB's prompt doesn't confuse pattern matching because but # we only run to main function of child GDB, so child GDB's # prompt can't be printed out. if ![runto_main] { return -1 } return 0 } { gdb_test "python Disassemble\(\).run()" return 0 }