Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Yao Qi <yao@codesourcery.com>
To: Tom Tromey <tromey@redhat.com>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [PATCH v5] don't keep a gdb-specific date
Date: Wed, 26 Jun 2013 02:45:00 -0000	[thread overview]
Message-ID: <51CA4CDB.6010405@codesourcery.com> (raw)
In-Reply-To: <1371835865-15879-1-git-send-email-tromey@redhat.com>

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


  parent reply	other threads:[~2013-06-26  2:08 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-21 17:33 Tom Tromey
2013-06-21 18:00 ` Pedro Alves
2013-06-24 14:56 ` Tom Tromey
2013-06-24 19:22   ` Joel Brobecker
2013-06-24 22:41   ` [commit] Fix host_name and target_name generation by common/create-version.sh Joel Brobecker
2013-06-24 22:59   ` [PATCH v5] don't keep a gdb-specific date Joel Brobecker
2013-06-24 23:58     ` [commit] Adapt sim to new version number & date locations Joel Brobecker
2013-06-25  0:52       ` Mike Frysinger
2013-06-25  1:53         ` Joel Brobecker
2013-06-25 15:51           ` Tom Tromey
2013-06-25 15:57             ` Tom Tromey
2013-06-25 15:46         ` Tom Tromey
2013-06-25 16:01           ` Eli Zaretskii
2013-06-25 15:28       ` Tom Tromey
2013-06-25 16:41         ` Mike Frysinger
2013-06-25  1:08     ` [PATCH v5] don't keep a gdb-specific date Hans-Peter Nilsson
2013-06-25 14:16       ` Tom Tromey
2013-06-25 14:25         ` Joel Brobecker
2013-06-25 14:43           ` Tom Tromey
2013-06-25 15:27             ` Tom Tromey
2013-06-26 11:23               ` sim checkout broken (was: [PATCH v5] don't keep a gdb-specific date) Hans-Peter Nilsson
2013-06-26 16:52                 ` sim checkout broken Tom Tromey
2013-06-26 17:58                   ` Hans-Peter Nilsson
2013-06-27  3:22                     ` Tom Tromey
2013-06-27  4:05                       ` Hans-Peter Nilsson
2013-06-27 15:22                         ` Tom Tromey
2013-06-27 16:30                           ` Tom Tromey
2013-06-27 17:09                             ` RFC: move common/version.in to gdb/ (Was: sim checkout broken) Tom Tromey
2013-06-28  3:18                               ` Hans-Peter Nilsson
2013-06-28 18:17                                 ` RFC: move common/version.in to gdb/ Tom Tromey
2013-06-27 17:27                             ` sim checkout broken Hans-Peter Nilsson
2013-06-27  8:19                       ` Andreas Schwab
2013-06-25 14:50         ` [PATCH v5] don't keep a gdb-specific date Pedro Alves
2013-06-25 14:53           ` Joel Brobecker
2013-06-25 15:01           ` Tom Tromey
2013-06-25 15:14             ` Pedro Alves
2013-06-26  2:45 ` Yao Qi [this message]
2013-06-26 16:06   ` Tom Tromey
2013-06-27  2:11     ` Yao Qi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51CA4CDB.6010405@codesourcery.com \
    --to=yao@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tromey@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox