]>
Commit | Line | Data |
---|---|---|
a10e6b21 | 1 | # Expect script for various PIE tests. |
2571583a | 2 | # Copyright (C) 2006-2017 Free Software Foundation, Inc. |
a10e6b21 | 3 | # |
f96b4a7b NC |
4 | # This file is part of the GNU Binutils. |
5 | # | |
6 | # This program is free software; you can redistribute it and/or modify | |
a10e6b21 | 7 | # it under the terms of the GNU General Public License as published by |
f96b4a7b | 8 | # the Free Software Foundation; either version 3 of the License, or |
a10e6b21 L |
9 | # (at your option) any later version. |
10 | # | |
11 | # This program is distributed in the hope that it will be useful, | |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | # GNU General Public License for more details. | |
15 | # | |
16 | # You should have received a copy of the GNU General Public License | |
17 | # along with this program; if not, write to the Free Software | |
f96b4a7b NC |
18 | # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
19 | # MA 02110-1301, USA. | |
a10e6b21 L |
20 | # |
21 | ||
5940a93c | 22 | if { ![istarget *-*-linux*] |
aab322db | 23 | && ![istarget *-*-nacl*] |
5940a93c | 24 | && ![istarget *-*-gnu*] } { |
a10e6b21 L |
25 | return |
26 | } | |
27 | ||
44a260c1 | 28 | # Check if -pie is supported or not. |
4bf27aa9 L |
29 | send_log "$CC -fpie -pie $srcdir/$subdir/pie.c -o tmpdir/pie" |
30 | catch "exec $CC -fpie -pie $srcdir/$subdir/pie.c -o tmpdir/pie" exec_output | |
44a260c1 L |
31 | send_log "$exec_output\n" |
32 | if { ![string match "" $exec_output] } { | |
33 | return | |
34 | } | |
35 | ||
a10e6b21 | 36 | set array_tests { |
d9816402 AM |
37 | {"weak undefined" "-pie" "" |
38 | {weakundef.c} "weakundef" "weakundef.out" "-fPIC"} | |
39 | {"weak undefined data" "-pie" "" | |
40 | {weakundef-data.c} "weakundef-data" "weakundef.out" "-fPIC"} | |
a10e6b21 L |
41 | } |
42 | ||
982c6f26 | 43 | run_ld_link_exec_tests $array_tests |
4bf27aa9 L |
44 | |
45 | set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]] | |
46 | foreach t $test_list { | |
47 | # We need to strip the ".d", but can leave the dirname. | |
48 | verbose [file rootname $t] | |
49 | run_dump_test [file rootname $t] | |
50 | } |