Delete asection.symbol_ptr_ptr
[binutils-gdb.git] / ld / testsuite / ld-scripts / map-address.exp
blobbc1f5a6a87de772371af25efd97c8bfe1f2b0b47
1 # Test address printed by --print-map
2 # Copyright (C) 2002-2024 Free Software Foundation, Inc.
4 # This file is part of the GNU Binutils.
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.
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.
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.
21 set testname "map addresses"
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
29 if { [is_pecoff_format] } then {
30 set IMAGE_BASE "--image-base 0"
31 } else {
32 set IMAGE_BASE ""
35 setup_xfail "pdp11-*-*"
36 if {![ld_link $ld tmpdir/map-address \
37 "$LDFLAGS -T $srcdir/$subdir/map-address.t \
38 $IMAGE_BASE tmpdir/map-address.o \
39 -Map tmpdir/map-address.map"]} {
40 fail $testname
41 return
44 if [is_remote host] then {
45 remote_upload host "tmpdir/map_address.map"
48 if {[regexp_diff \
49 "tmpdir/map-address.map" \
50 "$srcdir/$subdir/map-address.d"]} {
51 fail $testname
52 } else {
53 pass $testname
57 set testname "map to directory"
59 if {![ld_link $ld tmpdir/map-address \
60 "$LDFLAGS -T $srcdir/$subdir/map-address.t \
61 $IMAGE_BASE tmpdir/map-address.o \
62 -Map tmpdir --output fred"]} {
63 fail $testname
64 return
67 if [is_remote host] then {
68 remote_upload host "tmpdir/fred.map"
71 if {[regexp_diff \
72 "tmpdir/fred.map" \
73 "$srcdir/$subdir/map-address.d"]} {
74 fail $testname
75 } else {
76 pass $testname
80 set testname "map to % directory"
82 if {![ld_link $ld tmpdir/map-address \
83 "$LDFLAGS -T $srcdir/$subdir/map-address.t \
84 $IMAGE_BASE tmpdir/map-address.o \
85 -Map=tmpdir/% --output fred"]} {
86 fail $testname
87 return
90 if [is_remote host] then {
91 remote_upload host "tmpdir/fred.map"
94 if {[regexp_diff \
95 "tmpdir/fred.map" \
96 "$srcdir/$subdir/map-address.d"]} {
97 fail $testname
98 } else {
99 pass $testname
103 set testname "map to %.foo directory"
105 if {![ld_link $ld tmpdir/map-address \
106 "$LDFLAGS -T $srcdir/$subdir/map-address.t \
107 $IMAGE_BASE tmpdir/map-address.o \
108 -Map=tmpdir/%.foo --output fred"]} {
109 fail $testname
110 return
113 if [is_remote host] then {
114 remote_upload host "tmpdir/fred.foo"
117 if {[regexp_diff \
118 "tmpdir/fred.foo" \
119 "$srcdir/$subdir/map-address.d"]} {
120 fail $testname
121 } else {
122 pass $testname
125 if { [is_elf_format] } {
126 set testname "map with locals"
128 if {![ld_link $ld tmpdir/map-address \
129 "$LDFLAGS -T $srcdir/$subdir/map-address.t \
130 $IMAGE_BASE tmpdir/map-address.o \
131 -Map=tmpdir/map-locals.map --print-map-locals"]} {
132 fail $testname
133 return
136 if [is_remote host] then {
137 remote_upload host "tmpdir/map-locals.map"
140 # Some ELF targets do not preserve their local symbols.
141 setup_xfail "d30v-*-*" "dlx-*-*" "pj-*-*" "s12z-*-*" "xgate-*-*"
143 if {[regexp_diff \
144 "tmpdir/map-locals.map" \
145 "$srcdir/$subdir/map-locals.d"]} {
146 fail $testname
147 } else {
148 pass $testname