]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - ld/testsuite/ld-dynamic/export-dynamic-symbol.exp
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-dynamic / export-dynamic-symbol.exp
1 # Expect script for ld --export-dynamic-symbol tests
2 # Copyright (C) 2020-2021 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 if ![is_elf_format] {
23 return
24 }
25
26 # Skip targets where -shared or -pie is not supported
27 if { ![check_shared_lib_support] || ![check_pie_support] } {
28 return
29 }
30
31 # Skip targets that have poor PIE support, resulting in failures due to
32 # PHDR segment not covered by LOAD segment errors.
33 if { ([istarget "bfin-*-*"] && ![istarget "bfin-*-linux*"])
34 || [istarget "mn10300-*-*"]
35 || [istarget "score-*-*"] } {
36 return
37 }
38
39 set old_ASFLAGS $ASFLAGS
40
41 # These targets require extra GAS options when building code for shared
42 # libraries.
43 if [istarget "nds32*-*"] {
44 append ASFLAGS " -mpic"
45 }
46 if [istarget "tic6x-*-*"] {
47 append ASFLAGS " -mpic -mpid=near"
48 }
49 if [istarget "sparc*-*-*"] {
50 append ASFLAGS " -K PIC -Av9"
51 }
52
53 set old_LDFLAGS $LDFLAGS
54
55 # These targets require a non-default emulation for successful shared
56 # library/executable builds.
57 if [istarget "tic6x-*-*"] {
58 append LDFLAGS " -melf32_tic6x_le"
59 }
60
61 set build_tests {
62 {"Build libpr25910.a"
63 "" "" ""
64 {foo.s} {} "libpr25910.a"}
65 }
66
67 run_ld_link_tests $build_tests
68
69 set test_list [lsort [glob -nocomplain $srcdir/$subdir/export-dynamic-symbol-*.d]]
70 foreach test_file $test_list {
71 set test_name [file rootname $test_file]
72 verbose $test_name
73 run_dump_test $test_name
74 }
75
76 set ASFLAGS $old_ASFLAGS
77 set LDFLAGS $old_LDFLAGS