Use better test for usable compiler in ld testsuite.
[external/binutils.git] / ld / testsuite / ld-elf / audit.exp
1 # Expect script for various ELF tests.
2 #   Copyright (C) 2009-2019 Free Software Foundation, Inc.
3 #
4 # This file is part of the GNU Binutils.
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
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
18 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
19 # MA 02110-1301, USA.
20 #
21
22 # Exclude non-ELF targets.
23
24 if ![is_elf_format] {
25     return
26 }
27
28 # Skip targets where -shared is not supported
29
30 if ![check_shared_lib_support] {
31     return
32 }
33
34 # Check if compiler works
35 if { ![check_compiler_available] } {
36     return
37 }
38
39 set build_tests {
40   {"Run with -paudit.so"
41      "-Wl,--audit=tmpdir/audit.so" ""
42      {main.c} {{"readelf" {-d} "audit.rd"}} "audit.out"}
43   {"Run with -Paudit.so"
44      "-Wl,-Ptmpdir/audit.so" ""
45      {main.c} {{"readelf" {-d} "depaudit.rd"}} "depaudit.out"}
46   {"Run with --depaudit=audit.so"
47      "-Wl,--depaudit=tmpdir/audit.so" ""
48      {main.c} {{"readelf" {-d} "depaudit.rd"}} "depaudit2.out"}
49   {"Run with shared with --audit"
50      "-shared -Wl,--audit=tmpdir/audit.so" "-fPIC"
51      {main.c} {} "libusesaudit.so"}
52   {"Run with shared with three --audit"
53      "-shared -Wl,--audit=tmpdir/audit.so -Wl,--audit=tmpdir/audit2.so \
54      -Wl,--audit=tmpdir/audit3.so"
55      "-fPIC"
56      {main.c} {} "libusesaudit2.so"}
57   {"Run with -lusesaudit"
58      "-Ltmpdir/ -lusesaudit" ""
59      {main.c} {{"readelf" {-d} "depaudit.rd"}} "useslibusesaudit.out"}
60   {"Run with -lusesaudit -lusesaudit2"
61      "-Ltmpdir/ -lusesaudit -lusesaudit2" ""
62      {main.c} {{"readelf" {-d} "depaudit2.rd"}} "useslibusesaudit2.out"}
63   {"Link with -z globalaudit"
64      "-Wl,-Paudit.so -Wl,-z,globalaudit" ""
65      {main.c} {{"readelf" {-d} "globalaudit.rd"}} "globalaudit.out"}    
66 }
67
68 run_cc_link_tests $build_tests
69