# Copyright 2012-2014 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 ![is_x86_like_target] { verbose "Skipping x86 SSE stack alignment tests." return } set testfile "i386-sse-stack-align" set srcfile ${testfile}.S set csrcfile ${testfile}.c set executable ${testfile} set binfile ${objdir}/${subdir}/${executable} set opts {} if [info exists COMPILE] { set srcfile ${csrcfile} lappend opts debug optimize=-O2 additional_flags=-msse } if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $opts] != "" } { unsupported "cannot compile ${srcfile}" return -1 } clean_restart $executable if ![runto_main] then { return -1 } set args "" foreach i {0 1 2 3 4} { set test "print g$i ($args)" gdb_test_multiple $test $test { -re " = 2\r\n$gdb_prompt $" { pass $test } -re "Program received signal SIGSEGV, Segmentation fault\\..*\r\n$gdb_prompt $" { fail $test } } if {$args != ""} { set args "$args, " } set args "$args[expr $i + 1]" }