[PATCH v5] don't keep a gdb-specific date

Yao Qi yao@codesourcery.com
Wed Jun 26 02:45:00 GMT 2013


On 06/22/2013 01:31 AM, Tom Tromey wrote:
> +# Create version.c from version.in.
> +# Usage:
> +#    create-version.sh PATH-TO-GDB-SRCDIR HOST_ALIAS \
> +#        TARGET_ALIAS OUTPUT-FILE-NAME
> +
> +srcdir="$1"
> +host_alias="$2"
> +target_alias="$3"
> +output="$4"
> +
> +rm -f version.c-tmp $output version.tmp
> +date=`sed -n -e 's/^.* BFD_VERSION_DATE \(.*\)$$/\1/p' $srcdir/../bfd/version.h`
> +sed -e "s/DATE/$date/" < $srcdir/common/version.in > version.tmp
> +echo '#include "version.h"' >> version.c-tmp
> +echo 'const char version[] = "'"`sed q version.tmp`"'";' >> version.c-tmp
> +echo 'const char host_name[] = "$host_alias";' >> version.c-tmp
> +echo 'const char target_name[] = "$target_alias";' >> version.c-tmp
> +mv version.c-tmp $output
> +rm -f version.tmp

This script breaks the build of GDBServer,

/bin/sh ../../git/gdb/gdbserver/../common/create-version.sh
../../git/gdb/gdbserver/.. \
    mips-linux  version.c
mv: missing destination file operand after `version.c-tmp'
Try `mv --help' for more information.
mips-linux-gnu-gcc -g -O2    -I. -I../../git/gdb/gdbserver
-I../../git/gdb/gdbserver/../common -I../../git/gdb/gdbserver/../regformats
-I../../git/gdb/gdbserver/../../include -I../../git/gdb/gdbserver/../gnulib/import
-Ibuild-gnulib-gdbserver/import -Wall -Wdeclaration-after-statement
-Wpointer-arith -Wformat-nonliteral -Wno-char-subscripts -Wempty-body
-Werror -DGDBSERVER -c -o version.o -MT version.o -MMD -MP -MF
.deps/version.Tpo version.c
mips-linux-gnu-gcc: error: version.c: No such file or directory

the gdbserver is configured as

  ../../git/gdb/gdbserver/configure --host=mips-linux

the target_alias is empty.  The doc of autoconf says

"The variables ‘build_alias’, ‘host_alias’, and ‘target_alias’ are
always exactly the arguments of --build, --host, and --target; in
particular, they are left empty if the user did not use them, even if
the corresponding AC_CANONICAL macro was run.", so target_alias can be
empty.

> diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
> index e8470a8..e5ecdd3 100644
> --- a/gdb/gdbserver/Makefile.in
> +++ b/gdb/gdbserver/Makefile.in
> @@ -389,13 +389,9 @@ am--refresh:
>   
>   force:
>   
> -version.c: Makefile $(srcdir)/../version.in
> -	rm -f version.c-tmp version.c
> -	echo '#include "server.h"' >> version.c-tmp
> -	echo 'const char version[] = "'"`sed q ${srcdir}/../version.in`"'";' >> version.c-tmp
> -	echo 'const char host_name[] = "$(host_alias)";' >> version.c-tmp
> -	mv version.c-tmp version.c
> -version.o: version.c $(server_h)
> +version.c: Makefile $(srcdir)/../common/version.in $(srcdir)/../../bfd/version.h $(srcdir)/../common/create-version.sh
> +	$(SHELL) $(srcdir)/../common/create-version.sh $(srcdir)/.. \
> +	    $(host_alias) $(target_alias) version.c

On the other hand, original code here only echo 'host_alias'
to version.c.

This patch is to handle the case that 'target_alias' is empty, and
unbreak the gdbserver build.

-- 
Yao (齐尧)

gdb:

2013-06-26  Yao Qi  <yao@codesourcery.com>

	* common/create-version.sh: Update comments.  Handle the case
	that TARGET_ALIAS is empty.
---
 gdb/common/create-version.sh |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/gdb/common/create-version.sh b/gdb/common/create-version.sh
index 2bf1a9b..53d6173 100755
--- a/gdb/common/create-version.sh
+++ b/gdb/common/create-version.sh
@@ -20,12 +20,17 @@
 # Create version.c from version.in.
 # Usage:
 #    create-version.sh PATH-TO-GDB-SRCDIR HOST_ALIAS \
-#        TARGET_ALIAS OUTPUT-FILE-NAME
+#        [TARGET_ALIAS] OUTPUT-FILE-NAME
 
 srcdir="$1"
 host_alias="$2"
-target_alias="$3"
-output="$4"
+
+if [ "$#" = "4" ]; then
+    target_alias="$3"
+    output="$4"
+else
+    output="$3"
+fi
 
 rm -f version.c-tmp $output version.tmp
 date=`sed -n -e 's/^.* BFD_VERSION_DATE \(.*\)$/\1/p' $srcdir/../bfd/version.h`
@@ -33,6 +38,10 @@ sed -e "s/DATE/$date/" < $srcdir/common/version.in > version.tmp
 echo '#include "version.h"' >> version.c-tmp
 echo 'const char version[] = "'"`sed q version.tmp`"'";' >> version.c-tmp
 echo 'const char host_name[] = "'"$host_alias"'";' >> version.c-tmp
-echo 'const char target_name[] = "'"$target_alias"'";' >> version.c-tmp
+
+if [ "$#" = "4" ]; then
+    echo 'const char target_name[] = "'"$target_alias"'";' >> version.c-tmp
+fi
+
 mv version.c-tmp $output
 rm -f version.tmp
-- 
1.7.7.6



More information about the Gdb-patches mailing list