diff options
Diffstat (limited to 'ld/testsuite/ld-elf/sec-to-seg.exp')
-rw-r--r-- | ld/testsuite/ld-elf/sec-to-seg.exp | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/ld/testsuite/ld-elf/sec-to-seg.exp b/ld/testsuite/ld-elf/sec-to-seg.exp deleted file mode 100644 index a576fcefcd2..00000000000 --- a/ld/testsuite/ld-elf/sec-to-seg.exp +++ /dev/null @@ -1,97 +0,0 @@ -# Test the assigment of sections to segments. -# -# Copyright 2008 Free Software Foundation, Inc. -# Contributed by Red Hat. -# -# This file is part of the GNU Binutils. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, -# MA 02110-1301, USA. - -set testname "assignment of ELF sections to segments" - -if {! [is_elf_format] } { - unsupported $testname - return -} - -if { ! [ld_assemble $as $srcdir/$subdir/sec-to-seg1.s tmpdir/sec-to-seg1.o] - || ! [ld_assemble $as $srcdir/$subdir/sec-to-seg2.s tmpdir/sec-to-seg2.o]} then { - unresolved $testname - return -} - -proc sec_to_seg_test { testname scriptname same_seg } { - global srcdir - global subdir - global ld - global exec_output - global READELF - - if {! [ld_simple_link $ld tmpdir/sec-to-seg "-T $srcdir/$subdir/$scriptname tmpdir/sec-to-seg1.o tmpdir/sec-to-seg2.o"] } then { - fail $testname - return 0 - } - - send_log "$READELF --program-headers --section-headers tmpdir/sec-to-seg\n" - set exec_output [run_host_cmd "$READELF" "--program-headers --section-headers tmpdir/sec-to-seg"] - - if { $same_seg == 1 } { - if {! [regexp ".*.sec1 .sec2" $exec_output] } { - fail $testname - return 0 - } - } else { - if { [regexp ".*.sec1 .sec2" $exec_output] } { - fail $testname - return 0 - } - } - - pass $testname - return 1 -} - -# Assuming a pagesize of 0x1000 then: -# -# Test Sec1 End Sec 2 Start Expected Result -# ---- -------- ----------- --------------- -# A 00001042 00001043 Both sections on same page: assign to same segment. -# B 00001042 00002044 Sections on adjacent pages: assign to same segment. -# C 00001042 00003044 Sections on disjoint pages: assign to separate segments. - -# These targets have a pagesize of 1, so they will always end up -# placing the two sections in separate segments in the B test. -if { [istarget avr-*-*] - || [istarget cr16-*-*] - || [istarget crx-*-*] - || [istarget dlx-*-*] - || [istarget h8300-*-*] - || [istarget ip2k-*-*] - || [istarget m32r-*-*] - || [istarget m88k-*-*] - || [istarget msp430-*-*] - } { - set B_test_same_seg 0 -} else { - set B_test_same_seg 1 -} - -sec_to_seg_test "assignment of ELF sections to segments (same page)" "sec-to-seg-script-same-page.t" 1 -sec_to_seg_test "assignment of ELF sections to segments (adjacent pages)" "sec-to-seg-script-adjoining-pages.t" $B_test_same_seg -sec_to_seg_test "assignment of ELF sections to segments (disjoint pages)" "sec-to-seg-script-disjoint-pages.t" 0 - - -# FIXME: Add more tests to check other rules of section to segment assignment. |