3 # split_x32.sh -- test -fstack-split for x32
5 # Copyright (C) 2014-2020 Free Software Foundation, Inc.
6 # Written by Ian Lance Taylor <iant@google.com>.
7 # Modified by H.J. Lu <hongjiu.lu@intel.com>.
9 # This file is part of gold.
11 # This program is free software; you can redistribute it and/or modify
12 # it under the terms of the GNU General Public License as published by
13 # the Free Software Foundation; either version 3 of the License, or
14 # (at your option) any later version.
16 # This program is distributed in the hope that it will be useful,
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 # GNU General Public License for more details.
21 # You should have received a copy of the GNU General Public License
22 # along with this program; if not, write to the Free Software
23 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
28 if ! egrep "$1" "$2" >/dev
/null
2>&1; then
29 echo 1>&2 "could not find '$1' in $2"
36 if egrep "$1" "$2" >/dev
/null
2>&1; then
37 echo 1>&2 "found unexpected '$1' in $2"
42 match
'cmp.*+%fs:[^,]*,%esp' split_x32_1.stdout
43 match
'call.*__morestack>?$' split_x32_1.stdout
44 match
'lea.*-0x200\(%rsp\),' split_x32_1.stdout
46 match
'stc' split_x32_2.stdout
47 match
'call.*__morestack_non_split>?$' split_x32_2.stdout
48 nomatch
'call.*__morestack>?$' split_x32_2.stdout
49 match
'lea.*-0x100200\(%rsp\),' split_x32_2.stdout
51 match
'failed to match' split_x32_3.stdout
53 match
'call.*__morestack>?$' split_x32_4.stdout
55 match
'cannot mix' split_x32_r.stdout