standard_testfile
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
gdb_breakpoint "[gdb_get_line_number "ldxr"]" \
standard_testfile
if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile}]} {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
# Number of expected SIGTRAP's to get. This needs to be kept in sync
standard_testfile
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
set endianness [get_endianness]
standard_testfile
if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile}]} {
- return -1
+ return
}
set binfile [standard_output_file ${testfile}]
if {![runto_main]} {
- return -1
+ return
}
set crash_breakpoint "crash point"
standard_testfile
if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile}]} {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
set reg_main_value "0x3fff7fc049"
standard_testfile
if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile}]} {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
gdb_test_multiple "info register \$fpmr" "Test FPMR SRC1 E5M2" {
if { [prepare_for_testing "failed to prepare" ${testfile} \
"${srcfile}" {debug}] } {
- return -1
+ return
}
if {![runto_main]} {
standard_testfile
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
[list debug additional_flags=-march=armv9.3-a]] } {
- return -1
+ return
}
# If the inferior is rescheduled to another CPU while a main or epilogue
}
if {![runto_main]} {
- return -1
+ return
}
gdb_breakpoint ${srcfile}:[gdb_get_line_number "Break memset"]
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
[list debug additional_flags=-march=armv9.3-a]] } {
- return -1
+ return
}
set linespec ${srcfile}:[gdb_get_line_number "Break here"]
if {![runto ${linespec}]} {
- return -1
+ return
}
gdb_test "watch -location a\[28\]" \
standard_testfile
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
# Targets that don't support memory tagging should not execute the
# runtime memory tagging tests.
if {![supports_memtag]} {
unsupported "memory tagging unsupported"
- return -1
+ return
}
gdb_breakpoint "access_memory"
if {[gdb_continue "access_memory"]} {
- return -1
+ return
}
# Fetch a known pointer to an area mapped with PROT_MTE.
if {$tagged_ptr_addr == -1} {
unresolved "unexpected pointer or tag value"
- return -1
+ return
}
# Fetch a known pointer to an area not mapped with PROT_MTE.
if {$untagged_ptr_addr == -1} {
unresolved "unexpected pointer or tag value"
- return -1
+ return
}
with_test_prefix "literals" {
standard_testfile
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
# We need to iterate over two distinct ranges, separated by a single bit.
# If we couldn't compile, just bail out.
if {!$compilation_ok} {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
gdb_breakpoint [ gdb_get_line_number "break here" ]
standard_testfile
if { [prepare_for_testing "failed to prepare" $testfile $srcfile {nodebug}]} {
- return -1
+ return
}
if {![runto_main]} {
if { [prepare_for_testing "failed to prepare" ${testfile} \
"${srcfile} ${srcfile2}" {debug}] } {
- return -1
+ return
}
clean_restart $testfile
standard_testfile
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} ${compile_flags}] } {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
set endianness [get_endianness]
set compile_flags {"debug" "macros" "additional_flags=-march=armv8.5-a+sve"}
standard_testfile
if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile} ${compile_flags}]} {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
# Adjust the repeat count for the test.
standard_testfile
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
gdb_breakpoint [gdb_get_line_number "breakpoint here"]
standard_testfile .S
if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
proc test_reg_vals {} {
standard_testfile
if { [prepare_for_testing "failed to prepare" $testfile $srcfile {nodebug}]} {
- return -1
+ return
}
if {![runto_main]} {
untested "could not run to main"
- return -1
+ return
}
array set w_values {
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
[list debug text_segment=0xb0000000]] } {
- return -1
+ return
}
if { ![runto_main] } {
- return -1
+ return
}
gdb_test "next" "${::decimal}\\s+return 0;"
standard_testfile
if { [prepare_for_testing "failed to prepare" $testfile $srcfile ]} {
- return -1
+ return
}
if {![runto_main]} {
standard_testfile .S
if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
- return -1
+ return
}
gdb_test_no_output "set displaced-stepping off"
if {![runto_main]} {
- return 0
+ return
}
gdb_test_no_output "set displaced-stepping on"
standard_testfile
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {debug quiet}] } {
unsupported "ARM NEON is not supported"
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
# Test passing vectors in function argument in the inferior call.
if { [prepare_for_testing "failed to prepare" ${testfile} \
"${srcfile} ${srcfile2}" {debug additional_flags=-marm}] } {
- return -1
+ return
}
clean_restart $testfile
if { [prepare_for_testing "failed to prepare" ${testfile} \
"${srcfile} ${srcfile2}" {debug additional_flags=-marm}] } {
- return -1
+ return
}
clean_restart $testfile
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
[list debug]] } {
- return -1
+ return
}
if { ![runto_main] } {
- return -1
+ return
}
# Initialize kernel_user_helper_version.
if { !$kernel_helper_supported } {
unsupported "kernel doesn't have helpers"
- return 0
+ return
}
# Get the instruction branching to kernel helper, they can be
#
if {![runto_main]} {
- return 0
+ return
}
# Set all the registers to arbitrary values.
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable debug] != "" } {
untested "failed to compile"
- return -1
+ return
}
clean_restart $testfile
set opts {}
if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $opts]} {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
gdb_test "stepi" "$hex in main \\(\\)" "stepi for bx pc"
# fragments.
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {"additional_flags=-mthumb"}] != "" } {
untested "ARM prologue tests"
- return -1
+ return
}
#
if {![runto_main]} {
- return -1
+ return
}
# Testcase for TPCS prologue.
set additional_flags "additional_flags=-mthumb"
if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile} [list debug $additional_flags]]} {
- return -1
+ return
}
if {![runto_main]} {
- return -1
+ return
}
# GDB doesn't skip prologue for asm files, so do one single step to
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable debug] != "" } {
untested "failed to compile"
- return -1
+ return
}
clean_restart $testfile
if {![runto_main]} {
- return -1
+ return
}
# Make sure that the compiler options allow Thumb-2.