0c24e04d393fbc88bab4782c9ae752ba09a34e5c
[external/binutils.git] / gas / testsuite / gas / sparc-solaris / addend.exp
1 # Copyright (C) 2012-2017 Free Software Foundation, Inc.
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
7
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
12
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software
15 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  
16
17 #
18 # Solaris on SPARC tests
19 #
20
21 if [istarget sparc*-*-solaris2*] then {
22     set x1 0
23     set x2 0
24     set x3 0
25     set x4 0
26     set x5 0
27     set x6 0
28     set testname "addends (part 2)"
29     if [gas_test_old "addend.s" "" "addends (part 1)"] then {
30         objdump_start_no_subdir "a.out" "-r"
31         while 1 {
32             # These are what we get using the Solaris assembler.
33             expect {
34                 -re "08 R_SPARC_WDISP22 +foo1\[+\]+0x0+04\[^\n\]*\n"    { incr x1 }
35                 -re "0c R_SPARC_WDISP22 +foo1\[+\]+0x0+04\[^\n\]*\n"    { incr x2 }
36                 -re "10 R_SPARC_WDISP22 +foo1\[^\n\]*\n"                { incr x3 }
37                 -re "14 R_SPARC_WDISP22 +foo1\[^\n\]*\n"                { incr x4 }
38                 -re "1c R_SPARC_32 +foo1\[^\n\]*\n"                     { incr x5 }
39                 -re "20 R_SPARC_32 +foo1\[+\]+0x0+04\[^\n\]*\n"         { incr x6 }
40                 -re "\[^\n\]*\n"                                        { }
41                 timeout                         { perror "timeout\n"; break }
42                 eof                             { break }
43             }
44         }
45         objdump_finish
46         if [all_ones $x1 $x2 $x3 $x4 $x5 $x6] then {
47             pass $testname
48         } else {
49             fail $testname
50         }
51     }
52 }