]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - ld/testsuite/ld-scripts/map-address.exp
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-scripts / map-address.exp
1 # Test address printed by --print-map
2 # Copyright (C) 2002-2022 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 set testname "map addresses"
22
23 # The source file doesn't matter. Pinch one from the sizeof test.
24 if {![ld_assemble $as $srcdir/$subdir/sizeof.s tmpdir/map-address.o]} {
25 unsupported $testname
26 return
27 }
28
29 if { [is_pecoff_format] } then {
30 set IMAGE_BASE "--image-base 0"
31 } else {
32 set IMAGE_BASE ""
33 }
34
35 if {![ld_link $ld tmpdir/map-address \
36 "$LDFLAGS -T $srcdir/$subdir/map-address.t \
37 $IMAGE_BASE tmpdir/map-address.o \
38 -Map tmpdir/map-address.map"]} {
39 fail $testname
40 return
41 }
42
43 if [is_remote host] then {
44 remote_upload host "tmpdir/map_address.map"
45 }
46
47 if {[regexp_diff \
48 "tmpdir/map-address.map" \
49 "$srcdir/$subdir/map-address.d"]} {
50 fail $testname
51 } else {
52 pass $testname
53 }
54
55
56 set testname "map to directory"
57
58 if {![ld_link $ld tmpdir/map-address \
59 "$LDFLAGS -T $srcdir/$subdir/map-address.t \
60 $IMAGE_BASE tmpdir/map-address.o \
61 -Map tmpdir --output fred"]} {
62 fail $testname
63 return
64 }
65
66 if [is_remote host] then {
67 remote_upload host "tmpdir/fred.map"
68 }
69
70 if {[regexp_diff \
71 "tmpdir/fred.map" \
72 "$srcdir/$subdir/map-address.d"]} {
73 fail $testname
74 } else {
75 pass $testname
76 }
77
78
79 set testname "map to % directory"
80
81 if {![ld_link $ld tmpdir/map-address \
82 "$LDFLAGS -T $srcdir/$subdir/map-address.t \
83 $IMAGE_BASE tmpdir/map-address.o \
84 -Map=tmpdir/% --output fred"]} {
85 fail $testname
86 return
87 }
88
89 if [is_remote host] then {
90 remote_upload host "tmpdir/fred.map"
91 }
92
93 if {[regexp_diff \
94 "tmpdir/fred.map" \
95 "$srcdir/$subdir/map-address.d"]} {
96 fail $testname
97 } else {
98 pass $testname
99 }
100
101
102 set testname "map to %.foo directory"
103
104 if {![ld_link $ld tmpdir/map-address \
105 "$LDFLAGS -T $srcdir/$subdir/map-address.t \
106 $IMAGE_BASE tmpdir/map-address.o \
107 -Map=tmpdir/%.foo --output fred"]} {
108 fail $testname
109 return
110 }
111
112 if [is_remote host] then {
113 remote_upload host "tmpdir/fred.foo"
114 }
115
116 if {[regexp_diff \
117 "tmpdir/fred.foo" \
118 "$srcdir/$subdir/map-address.d"]} {
119 fail $testname
120 } else {
121 pass $testname
122 }