
This commit is the result of the following actions: - Running gdb/copyright.py to update all of the copyright headers to include 2024, - Manually updating a few files the copyright.py script told me to update, these files had copyright headers embedded within the file, - Regenerating gdbsupport/Makefile.in to refresh it's copyright date, - Using grep to find other files that still mentioned 2023. If these files were updated last year from 2022 to 2023 then I've updated them this year to 2024. I'm sure I've probably missed some dates. Feel free to fix them up as you spot them.
74 lines
2.5 KiB
Text
74 lines
2.5 KiB
Text
# Copyright 2004-2024 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/>.
|
|
#
|
|
# This file is part of the gdb testsuite.
|
|
|
|
# Test rs6000 prologue analyzer.
|
|
|
|
|
|
require {istarget "powerpc-*-aix*"}
|
|
|
|
set testfile "powerpc-aix-prologue"
|
|
set srcfile ${testfile}.c
|
|
set binfile ${objdir}/${subdir}/${testfile}
|
|
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {}] != "" } {
|
|
unsupported "failed to compile"
|
|
return -1
|
|
}
|
|
|
|
clean_restart $binfile
|
|
|
|
# Insert a breakpoint in FUNCTION and verifies that the breakpoint was
|
|
# inserted at the expected location. EXPECTED_LOCATION should be an
|
|
# offset relative to the function start address.
|
|
proc insert_breakpoint {function expected_location} {
|
|
global gdb_prompt
|
|
global expect_out
|
|
global hex
|
|
|
|
set address ""
|
|
|
|
# Insert a breakpoint using the given function name, and extract
|
|
# the breakpoint address for the output.
|
|
gdb_test_multiple "break $function" "set breakpoint in $function" {
|
|
-re "Breakpoint .* at ($hex).*$gdb_prompt $" {
|
|
set address $expect_out(1,string)
|
|
}
|
|
default {
|
|
fail "set breakpoint in $function"
|
|
}
|
|
}
|
|
|
|
# If we managed to get the breakpoing address, then check that
|
|
# we inserted it at the expected location by examining the
|
|
# instruction at that address (we're not interested in the insn
|
|
# itself, but rather at the address printed at the begining of
|
|
# the instruction).
|
|
if {$address != ""} {
|
|
gdb_test "x /i $address" \
|
|
".*<$function\\+$expected_location>.*" \
|
|
"check $function breakpoint address"
|
|
} else {
|
|
fail "unable to compute breakpoint address"
|
|
}
|
|
|
|
}
|
|
|
|
insert_breakpoint "li_stw" 12
|
|
insert_breakpoint "stack_check_probe_1" 16
|
|
insert_breakpoint "stack_check_probe_2" 40
|
|
insert_breakpoint "stack_check_probe_loop_1" 68
|
|
insert_breakpoint "stack_check_probe_loop_2" 60
|
|
|