From 6e73d59506332fd0325445070952950f24b366a9 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 28 Jan 2008 11:07:44 +0000 Subject: [PATCH] PR ld/5652 * genscripts.sh: Check for the existence of BASH_LINENO not just the BASH shell before generating line numbers in the emulation file. --- ld/ChangeLog | 7 +++++++ ld/genscripts.sh | 13 +++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 2a72f890a39..b6ac62f93c0 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2008-01-28 Vincent Riviere + + PR ld/5652 + * genscripts.sh: Check for the existence of BASH_LINENO not just + the BASH shell before generating line numbers in the emulation + file. + 2008-01-28 Alan Modra * emultempl/spu_ovl.S: Rewrite. diff --git a/ld/genscripts.sh b/ld/genscripts.sh index fd2409769a6..f89b3cba8a4 100755 --- a/ld/genscripts.sh +++ b/ld/genscripts.sh @@ -1,6 +1,6 @@ #!/bin/sh # genscripts.sh - generate the ld-emulation-target specific files -# Copyright 2007 Free Software Foundation, Inc. +# Copyright 2007, 2008 Free Software Foundation, Inc. # # This file is part of the Gnu Linker. # @@ -422,7 +422,16 @@ case " $EMULATION_LIBPATH " in *" ${EMULATION_NAME} "*) COMPILE_IN=true;; esac -if test -n "${BASH+set}"; then +# PR ld/5652: +# Determine if the shell has support for the variable BASH_LINENO. +# When it is the case, it is only available inside functions. +has_lineno() +{ + test "x$BASH_LINENO" != "x" +} + +# Enable accruate error source in the compiler error messages, if possible. +if has_lineno; then . ${srcdir}/genscrba.sh else source_em() -- 2.30.2