[RFA/testsuite] asm-source.exp
Fernando Nasser
fnasser@redhat.com
Fri Apr 5 14:40:00 GMT 2002
It must work from the install tree.
Unless someone has a better solution, lets do it.
Thanks for detecting and fixing it.
Fernando
Elena Zannoni wrote:
>
> Install tree testing for asm-source.exp doesn't work, because the
> arch.inc file is not found.
>
> For instance on linux:
>
> Running /bart/ezannoni/uberbaum/src/gdb/testsuite/gdb.asm/asm-source.exp ...
> Executing on host: as /bart/ezannoni/uberbaum/src/gdb/testsuite/gdb.asm/asmsrc1.s -gstabs -I/bart/ezannoni/uberbaum/src/gdb/testsuite/gdb.asm -I/bart/ezannoni/tests-installed/i686-pc-linux-gnu-20020405/gdb/testsuite/gdb.asm -o asmsrc1.o (timeout = 300)
> spawn as /bart/ezannoni/uberbaum/src/gdb/testsuite/gdb.asm/asmsrc1.s -gstabs -I/bart/ezannoni/uberbaum/src/gdb/testsuite/gdb.asm -I/bart/ezannoni/tests-installed/i686-pc-linux-gnu-20020405/gdb/testsuite/gdb.asm -o asmsrc1.o
> /bart/ezannoni/uberbaum/src/gdb/testsuite/gdb.asm/asmsrc1.s: Assembler messages:
> /bart/ezannoni/uberbaum/src/gdb/testsuite/gdb.asm/asmsrc1.s:2: Error: can't open arch.inc for reading
> /bart/ezannoni/uberbaum/src/gdb/testsuite/gdb.asm/asmsrc1.s:2: arch.inc: No such file or directory
>
> How about the following patch? Seems to work for me.
>
> Elena
>
> 2002-04-05 Elena Zannoni <ezannoni@redhat.com>
>
> * gdb.asm/asm-source.exp: Build symbolic link to arch specific
> instructions file at run time instead of configure time.
> Sometimes we run the test in a directory that is not the one we
> configured in.
>
> Index: asm-source.exp
> ===================================================================
> RCS file: /cvs/uberbaum/gdb/testsuite/gdb.asm/asm-source.exp,v
> retrieving revision 1.19
> diff -u -p -r1.19 asm-source.exp
> --- asm-source.exp 2002/04/05 02:48:23 1.19
> +++ asm-source.exp 2002/04/05 20:51:22
> @@ -72,6 +72,10 @@ set binfile ${objdir}/${subdir}/${testfi
> set src1 ${srcdir}/${subdir}/asmsrc1.s
> set src2 ${srcdir}/${subdir}/asmsrc2.s
>
> +set insn_file ${srcdir}/${subdir}/${asm-arch}.inc
> +remote_exec build "rm -f ${objdir}/${subdir}/arch.inc"
> +remote_exec build "ln -s ${insn_file} ${objdir}/${subdir}/arch.inc"
> +
> if { "${asm-flags}" == "" } {
> #set asm-flags "-Wa,-gstabs,-I${srcdir}/${subdir},-I${objdir}/${subdir}"
> set asm-flags "-gstabs -I${srcdir}/${subdir} -I${objdir}/${subdir}"
> Index: configure
> ===================================================================
> RCS file: /cvs/uberbaum/gdb/testsuite/gdb.asm/configure,v
> retrieving revision 1.9
> diff -u -p -r1.9 configure
> --- configure 2002/04/05 02:48:23 1.9
> +++ configure 2002/04/05 20:51:22
> @@ -28,6 +28,7 @@ program_suffix=NONE
> program_transform_name=s,x,x,
> silent=
> site=
> +sitefile=
> srcdir=
> target=NONE
> verbose=
> @@ -142,6 +143,7 @@ Configuration:
> --help print this message
> --no-create do not create output files
> --quiet, --silent do not print \`checking...' messages
> + --site-file=FILE use FILE as the site file
> --version print the version of autoconf that created configure
> Directory and file names:
> --prefix=PREFIX install architecture-independent files in PREFIX
> @@ -312,6 +314,11 @@ EOF
> -site=* | --site=* | --sit=*)
> site="$ac_optarg" ;;
>
> + -site-file | --site-file | --site-fil | --site-fi | --site-f)
> + ac_prev=sitefile ;;
> + -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
> + sitefile="$ac_optarg" ;;
> +
> -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
> ac_prev=srcdir ;;
> -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
> @@ -477,12 +484,16 @@ fi
> srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
>
> # Prefer explicitly selected file to automatically selected ones.
> -if test -z "$CONFIG_SITE"; then
> - if test "x$prefix" != xNONE; then
> - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
> - else
> - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
> +if test -z "$sitefile"; then
> + if test -z "$CONFIG_SITE"; then
> + if test "x$prefix" != xNONE; then
> + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
> + else
> + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
> + fi
> fi
> +else
> + CONFIG_SITE="$sitefile"
> fi
> for ac_site_file in $CONFIG_SITE; do
> if test -r "$ac_site_file"; then
> @@ -571,7 +582,7 @@ else { echo "configure: error: can not r
> fi
>
> echo $ac_n "checking host system type""... $ac_c" 1>&6
> -echo "configure:575: checking host system type" >&5
> +echo "configure:586: checking host system type" >&5
>
> host_alias=$host
> case "$host_alias" in
> @@ -592,7 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-
> echo "$ac_t""$host" 1>&6
>
> echo $ac_n "checking target system type""... $ac_c" 1>&6
> -echo "configure:596: checking target system type" >&5
> +echo "configure:607: checking target system type" >&5
>
> target_alias=$target
> case "$target_alias" in
> @@ -610,7 +621,7 @@ target_os=`echo $target | sed 's/^\([^-]
> echo "$ac_t""$target" 1>&6
>
> echo $ac_n "checking build system type""... $ac_c" 1>&6
> -echo "configure:614: checking build system type" >&5
> +echo "configure:625: checking build system type" >&5
>
> build_alias=$build
> case "$build_alias" in
> @@ -633,20 +644,6 @@ test "$host_alias" != "$target_alias" &&
> program_prefix=${target_alias}-
>
>
> -archinc=common.inc
> -case ${target} in
> -*arm-*-*) archinc=arm.inc ;;
> -xscale-*-*) archinc=arm.inc ;;
> -d10v-*-*) archinc=d10v.inc ;;
> -s390-*-*) archinc=s390.inc ;;
> -i[3456]86*) archinc=i386.inc ;;
> -m32r*-*) archinc=m32r.inc ;;
> -powerpc*-*) archinc=powerpc.inc ;;
> -sparc-*-*) archinc=sparc.inc ;;
> -xstormy16-*-*) archinc=xstormy16.inc ;;
> -esac
> -
> -
> trap '' 1 2 15
> cat > confcache <<\EOF
> # This file is a shell script that caches the results of configure
> @@ -902,51 +899,6 @@ s%@top_srcdir@%$top_srcdir%g
> fi; done
> rm -f conftest.s*
>
> -EOF
> -
> -cat >> $CONFIG_STATUS <<EOF
> -ac_sources="$archinc"
> -ac_dests="arch.inc"
> -EOF
> -
> -cat >> $CONFIG_STATUS <<\EOF
> -srcdir=$ac_given_srcdir
> -while test -n "$ac_sources"; do
> - set $ac_dests; ac_dest=$1; shift; ac_dests=$*
> - set $ac_sources; ac_source=$1; shift; ac_sources=$*
> -
> - echo "linking $srcdir/$ac_source to $ac_dest"
> -
> - if test ! -r $srcdir/$ac_source; then
> - { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
> - fi
> - rm -f $ac_dest
> -
> - # Make relative symlinks.
> - # Remove last slash and all that follows it. Not all systems have dirname.
> - ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
> - if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
> - # The dest file is in a subdirectory.
> - test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
> - ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
> - # A "../" for each directory in $ac_dest_dir_suffix.
> - ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
> - else
> - ac_dest_dir_suffix= ac_dots=
> - fi
> -
> - case "$srcdir" in
> - [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
> - *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
> - esac
> -
> - # Make a symlink if possible; otherwise try a hard link.
> - if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
> - ln $srcdir/$ac_source $ac_dest; then :
> - else
> - { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
> - fi
> -done
> EOF
> cat >> $CONFIG_STATUS <<EOF
>
> Index: configure.in
> ===================================================================
> RCS file: /cvs/uberbaum/gdb/testsuite/gdb.asm/configure.in,v
> retrieving revision 1.9
> diff -u -p -r1.9 configure.in
> --- configure.in 2002/04/05 02:48:23 1.9
> +++ configure.in 2002/04/05 20:51:22
> @@ -12,19 +12,4 @@ AC_SUBST(CC)
> AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..)
> AC_CANONICAL_SYSTEM
>
> -dnl In default case we need to link with some file so use common.inc.
> -archinc=common.inc
> -case ${target} in
> -*arm-*-*) archinc=arm.inc ;;
> -xscale-*-*) archinc=arm.inc ;;
> -d10v-*-*) archinc=d10v.inc ;;
> -s390-*-*) archinc=s390.inc ;;
> -i[[3456]]86*) archinc=i386.inc ;;
> -m32r*-*) archinc=m32r.inc ;;
> -powerpc*-*) archinc=powerpc.inc ;;
> -sparc-*-*) archinc=sparc.inc ;;
> -xstormy16-*-*) archinc=xstormy16.inc ;;
> -esac
> -AC_LINK_FILES($archinc,arch.inc)
> -
> AC_OUTPUT(Makefile)
--
Fernando Nasser
Red Hat Canada Ltd. E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9
More information about the Gdb-patches
mailing list