1# Test that the linker reports undefined symbol line number correctly. 2# 3# Copyright (C) 2007-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 22if { !([istarget "ia64-*-elf*"] 23 || [istarget "ia64-*-linux*"]) } { 24 return 25} 26 27set testline "undefined line" 28 29if ![ld_assemble $as "-x $srcdir/$subdir/undefined.s" tmpdir/undefined.o] { 30 verbose "Unable to assemble test file!" 1 31 unresolved $testline 32 return 33} 34 35remote_file host delete "tmpdir/undefined" 36 37# Using -e start prevents the SunOS linker from trying to build a 38# shared library. 39send_log "$ld -e start -o tmpdir/undefined tmpdir/undefined.o\n" 40set exec_output [run_host_cmd "$ld" "-e start -o tmpdir/undefined tmpdir/undefined.o"] 41 42send_log "$exec_output\n" 43verbose "$exec_output" 44 45proc checkund { string testname } { 46 global exec_output 47 48 if [string match "*$string*" $exec_output] { 49 pass $testname 50 } else { 51 fail $testname 52 } 53} 54 55set ml "undefined.c:9: undefined reference to `*this_function_is_not_defined'" 56 57checkund $ml $testline 58