1# Test DEFINED in a linker script. 2# By Ian Lance Taylor, Cygnus Support. 3# Copyright (C) 2001-2016 Free Software Foundation, Inc. 4# 5# This file is part of the GNU Binutils. 6# 7# This program is free software; you can redistribute it and/or modify 8# it under the terms of the GNU General Public License as published by 9# the Free Software Foundation; either version 3 of the License, or 10# (at your option) any later version. 11# 12# This program is distributed in the hope that it will be useful, 13# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15# GNU General Public License for more details. 16# 17# You should have received a copy of the GNU General Public License 18# along with this program; if not, write to the Free Software 19# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, 20# MA 02110-1301, USA. 21 22set testname "DEFINED" 23set prms_id 5699 24 25if ![ld_assemble $as $srcdir/$subdir/defined.s tmpdir/def.o] { 26 unresolved $testname 27 return 28} 29 30global LDFLAGS 31set saved_LDFLAGS "$LDFLAGS" 32if [istarget "x86_64-*-mingw*"] then { 33 set LDFLAGS "$LDFLAGS --image-base 0" 34} 35 36if ![ld_simple_link $ld tmpdir/def "$LDFLAGS -T $srcdir/$subdir/defined.t tmpdir/def.o"] { 37 fail $testname 38} else { 39 if ![ld_nm $nm "" tmpdir/def] { 40 unresolved $testname 41 } else { 42 if {![info exists nm_output(value1)] \ 43 || ![info exists nm_output(value2)]} { 44 send_log "bad output from nm\n" 45 verbose "bad output from nm" 46 fail $testname 47 } else { 48 if {$nm_output(value1) != 1} { 49 send_log "value1 == $nm_output(value1)\n" 50 verbose "value1 == $nm_output(value1)" 51 fail $testname 52 } else { 53 if {$nm_output(value2) != 2} { 54 send_log "value2 == $nm_output(value2)\n" 55 verbose "value2 == $nm_output(value2)" 56 fail $testname 57 } else { 58 pass $testname 59 } 60 } 61 } 62 } 63} 64 65set prms_id 0 66run_dump_test "defined2" 67run_dump_test "defined3" 68run_dump_test "defined4" 69if ![is_aout_format] { 70 run_dump_test "defined5" 71} 72if [is_elf_format] { 73 run_dump_test "defined6" 74} 75set LDFLAGS "$saved_LDFLAGS" 76