* elf-m10300.c (mn10300_elf_relax_section): Allow for alignment relocs when
[deliverable/binutils-gdb.git] / ld / testsuite / ld-mn10300 / mn10300.exp
CommitLineData
bfff1642
NC
1# Expect script for ld-mn10300 tests
2# Copyright (C) 2007 Free Software Foundation
3#
4# This file is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 3 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17#
18
19if {!([istarget "am3*-*-*"]) && !([istarget "mn10300*-*-*"]) } {
20 return
21}
22
23# Set up a list as described in ld-lib.exp
24
569006e5 25set mn10300_tests {
bfff1642
NC
26 {
27 "am33 string merging"
569006e5 28 "-relax -Ttext 0x8000074"
bfff1642
NC
29 ""
30 { "i36434.s" "i36434-2.s" }
31 { {objdump -dz i36434.d} }
32 "i36434.x"
33 }
34 {
569006e5 35 "difference of two same-section symbols"
bfff1642
NC
36 "-Ttext 0"
37 ""
38 { "i112045-1.s" }
39 { {objdump -d i112045-1.d} }
40 "i112045-1.x"
41 }
42 {
569006e5
NC
43 "difference of two same-section symbols where the difference is held in another section"
44 "-relax -Ttext 100"
bfff1642 45 ""
569006e5
NC
46 { "i112045-3.s" }
47 { {objdump -D i112045-3.d} }
48 "i112045-3.x"
bfff1642 49 }
b5f5fd96
NC
50 {
51 "relaxation and alignment directives"
62d7f790 52 "-relax -Ttext 100 -Tbss 300"
b5f5fd96
NC
53 ""
54 { "i127740.s" }
55 { {objdump -d i127740.d} }
56 "i127740.x"
57 }
bfff1642
NC
58 {
59 "adjustment of symbols due to relaxation"
569006e5
NC
60 "-Tdata 1f -Ttext 0 -relax"
61 ""
62 { "i135409-1.s" }
63 { {readelf --syms i135409-1.d} }
64 "i135409-1.x"
65 }
66 {
67 "adjustment of symbols due to relaxation (with alignment directives)"
68 "-Tdata 1f -Ttext 0 -relax"
69 ""
70 { "i135409-2.s" }
71 { {readelf --syms i135409-2.d} }
72 "i135409-2.x"
73 }
b5f5fd96
NC
74 {
75 "adjustment of symbols due to relaxation (with a symbol in the deleted region)"
76 "-Tdata 1f -Ttext 0 -relax"
77 ""
78 { "i135409-3.s" }
79 { {objdump -d i135409-3.d} }
80 "i135409-3.x"
81 }
fc91707c
NC
82 {
83 "adjusting a 16 bit branch"
84 "-Ti135409-4.t -relax"
85 ""
86 { "i135409-4.s" }
87 { {objdump -d i135409-4.d} }
88 "i135409-4.x"
89 }
569006e5
NC
90}
91
92run_ld_link_tests $mn10300_tests
93
94if {!([istarget "am3*-*-*"])} {
95 return
96}
97
98set am33_tests {
99 {
100 "difference of two same-section symbols (in a shared library)"
101 "-shared"
bfff1642 102 ""
569006e5
NC
103 { "i112045-2.s" }
104 { {objdump -R i112045-2.d} }
105 "i112045-2.x"
bfff1642
NC
106 }
107}
108
109run_ld_link_tests $am33_tests
110
111proc i126256-test { } {
112 global CC
113 global ld
114 global srcdir
115 global subdir
116
117 set tmpdir tmpdir
569006e5
NC
118 set testname "Seg fault whilst linking one shared library into another when relaxation is enabled."
119
120 if {![is_remote host] && [which $CC] == 0} then {
121 return
122 }
bfff1642
NC
123
124 if { ![ld_compile "$CC -mrelax -fPIC" $srcdir/$subdir/i126256-1.c $tmpdir/i126256-1.o] } {
125 unresolved $testname
126 return
127 }
128
129 if { ![ld_compile "$CC -mrelax -fPIC" $srcdir/$subdir/i126256-2.c $tmpdir/i126256-2.o] } {
130 unresolved $testname
131 return
132 }
133
134 if { ![ld_simple_link $ld $tmpdir/i126256-1.so "-shared $tmpdir/i126256-1.o -e 0"]} {
135 unresolved $testname
136 return
137 }
138
139 if { ![ld_simple_link $ld $tmpdir/i126256-2.so "--relax -shared $tmpdir/i126256-2.o $tmpdir/i126256-1.so -e 0"]} {
140 fail $testname
141 return
142 }
143
144 pass $testname
145}
146
147i126256-test
This page took 0.032609 seconds and 4 git commands to generate.