import gdb-1999-08-16 snapshot

This commit is contained in:
Jason Molenda
1999-08-16 19:57:19 +00:00
parent ed288bb597
commit 7be570e7ce
144 changed files with 14050 additions and 581 deletions

View File

@@ -1,25 +1,44 @@
VPATH = @srcdir@
srcdir = @srcdir@
PROGS = ambiguous ctti-add exception gen-so-thresh namespace \
optimize pxdb so-thresh templ-hp watch-hp xdb
SUBDIRS = @subdirs@
MISCELLANEOUS = \
lib00-so-thresh.c lib00-so-thresh.sl \
lib01-so-thresh.c lib01-so-thresh.sl \
lib02-so-thresh.c lib02-so-thresh.sl \
so-thresh.c so-thresh.linkopts
all:
all:
@echo "Nothing to be done for all..."
#### host, target, and site specific Makefile frags come in here.
info:
install-info:
dvi:
install:
uninstall: force
installcheck:
check:
clean mostlyclean:
-rm -f *.ci *.o $(OBJS) $(PROGS) $(MISCELLANEOUS) *~ core
-rm -f *~ core *.o
if [ x"${SUBDIRS}" != x ] ; then \
for dir in ${SUBDIRS}; \
do \
echo "$$dir:"; \
if [ -d $$dir ]; then \
(cd $$dir; $(MAKE) clean); \
fi; \
done ; \
else true; fi
distclean maintainer-clean realclean: clean
-rm -f Makefile config.status config.log
-rm -f *-init.exp
-rm -fr *.log summary detail *.plog *.sum *.psum site.*
if [ x"${SUBDIRS}" != x ] ; then \
for dir in ${SUBDIRS}; \
do \
echo "$$dir:"; \
if [ -d $$dir ]; then \
(cd $$dir; $(MAKE) distclean); \
fi; \
done ; \
else true; fi
Makefile: $(srcdir)/Makefile.in $(srcdir)/configure.in
$(SHELL) ./config.status --recheck

1008
gdb/testsuite/gdb.hp/configure vendored Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
dnl Process this file file with autoconf to produce a configure script.
dnl This file is a shell script fragment that supplies the information
dnl necessary to tailor a template configure script into the configure
dnl script appropriate for this directory. For more information, check
dnl any existing configure script.
AC_PREREQ(2.5)
AC_INIT(gdb.aCC)
CC=${CC-cc}
AC_SUBST(CC)
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..)
AC_CANONICAL_SYSTEM
AC_CONFIG_SUBDIRS(gdb.aCC gdb.base-hp gdb.compat gdb.defects gdb.objdbg gdb.threads-hp)
AC_OUTPUT(Makefile)

View File

@@ -0,0 +1,27 @@
VPATH = @srcdir@
srcdir = @srcdir@
EXECUTABLES = exception namespace optimize run
all:
@echo "Nothing to be done for all..."
info:
install-info:
dvi:
install:
uninstall: force
installcheck:
check:
clean mostlyclean:
-rm -f *~ *.o *.ci
-rm -f core $(EXECUTABLES)
distclean maintainer-clean realclean: clean
-rm -f Makefile config.status config.log
-rm -f *-init.exp
-rm -fr *.log summary detail *.plog *.sum *.psum site.*
Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in
$(SHELL) ./config.status --recheck

899
gdb/testsuite/gdb.hp/gdb.aCC/configure vendored Executable file
View File

@@ -0,0 +1,899 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.12.1
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
# Defaults:
ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
# Initialize some variables set by options.
# The variables have the same names as the options, with
# dashes changed to underlines.
build=NONE
cache_file=./config.cache
exec_prefix=NONE
host=NONE
no_create=
nonopt=NONE
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
target=NONE
verbose=
x_includes=NONE
x_libraries=NONE
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
infodir='${prefix}/info'
mandir='${prefix}/man'
# Initialize some other variables.
subdirs=
MFLAGS= MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
# Maximum number of lines to put in a shell here document.
ac_max_here_lines=12
ac_prev=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval "$ac_prev=\$ac_option"
ac_prev=
continue
fi
case "$ac_option" in
-*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) ac_optarg= ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case "$ac_option" in
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir="$ac_optarg" ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build="$ac_optarg" ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file="$ac_optarg" ;;
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
| --da=*)
datadir="$ac_optarg" ;;
-disable-* | --disable-*)
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
eval "enable_${ac_feature}=no" ;;
-enable-* | --enable-*)
ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "enable_${ac_feature}='$ac_optarg'" ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix="$ac_optarg" ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he)
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat << EOF
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
--cache-file=FILE cache test results in FILE
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[same as prefix]
--bindir=DIR user executables in DIR [EPREFIX/bin]
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data in DIR
[PREFIX/share]
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data in DIR
[PREFIX/com]
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
--includedir=DIR C header files in DIR [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
--infodir=DIR info documentation in DIR [PREFIX/info]
--mandir=DIR man documentation in DIR [PREFIX/man]
--srcdir=DIR find the sources in DIR [configure dir or ..]
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM
run sed PROGRAM on installed program names
EOF
cat << EOF
Host type:
--build=BUILD configure for building on BUILD [BUILD=HOST]
--host=HOST configure for HOST [guessed]
--target=TARGET configure for TARGET [TARGET=HOST]
Features and packages:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
EOF
if test -n "$ac_help"; then
echo "--enable and --with options recognized:$ac_help"
fi
exit 0 ;;
-host | --host | --hos | --ho)
ac_prev=host ;;
-host=* | --host=* | --hos=* | --ho=*)
host="$ac_optarg" ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir="$ac_optarg" ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir="$ac_optarg" ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir="$ac_optarg" ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir="$ac_optarg" ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst \
| --locals | --local | --loca | --loc | --lo)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
localstatedir="$ac_optarg" ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir="$ac_optarg" ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir="$ac_optarg" ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix="$ac_optarg" ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix="$ac_optarg" ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix="$ac_optarg" ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name="$ac_optarg" ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir="$ac_optarg" ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir="$ac_optarg" ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir="$ac_optarg" ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir="$ac_optarg" ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target="$ac_optarg" ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
echo "configure generated by autoconf version 2.12.1"
exit 0 ;;
-with-* | --with-*)
ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "with_${ac_package}='$ac_optarg'" ;;
-without-* | --without-*)
ac_package=`echo $ac_option|sed -e 's/-*without-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
eval "with_${ac_package}=no" ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes="$ac_optarg" ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries="$ac_optarg" ;;
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
;;
*)
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
echo "configure: warning: $ac_option: invalid host type" 1>&2
fi
if test "x$nonopt" != xNONE; then
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
fi
nonopt="$ac_option"
;;
esac
done
if test -n "$ac_prev"; then
{ echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
fi
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
# File descriptor usage:
# 0 standard input
# 1 file creation
# 2 errors and warnings
# 3 some systems may open it to /dev/tty
# 4 used on the Kubota Titan
# 6 checking for... messages and results
# 5 compiler messages saved in config.log
if test "$silent" = yes; then
exec 6>/dev/null
else
exec 6>&1
fi
exec 5>./config.log
echo "\
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
" 1>&5
# Strip out --no-create and --no-recursion so they do not pile up.
# Also quote any args containing shell metacharacters.
ac_configure_args=
for ac_arg
do
case "$ac_arg" in
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c) ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
esac
done
# NLS nuisances.
# Only set these to C if already set. These must not be set unconditionally
# because not all systems understand e.g. LANG=C (notably SCO).
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
# Non-C LC_CTYPE values break the ctype check.
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -rf conftest* confdefs.h
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
echo > confdefs.h
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
ac_unique_file=exception.exp
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then its parent.
ac_prog=$0
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
srcdir=$ac_confdir
if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r $srcdir/$ac_unique_file; then
if test "$ac_srcdir_defaulted" = yes; then
{ echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
else
{ echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
fi
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"
fi
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
echo "loading site script $ac_site_file"
. "$ac_site_file"
fi
done
if test -r "$cache_file"; then
echo "loading cache $cache_file"
. $cache_file
else
echo "creating cache $cache_file"
> $cache_file
fi
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
ac_n= ac_c='
' ac_t=' '
else
ac_n=-n ac_c= ac_t=
fi
else
ac_n= ac_c='\c' ac_t=
fi
CC=${CC-cc}
ac_aux_dir=
for ac_dir in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../..; do
if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
elif test -f $ac_dir/install.sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
fi
done
if test -z "$ac_aux_dir"; then
{ echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../.." 1>&2; exit 1; }
fi
ac_config_guess=$ac_aux_dir/config.guess
ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# Do some error checking and defaulting for the host and target type.
# The inputs are:
# configure --host=HOST --target=TARGET --build=BUILD NONOPT
#
# The rules are:
# 1. You are not allowed to specify --host, --target, and nonopt at the
# same time.
# 2. Host defaults to nonopt.
# 3. If nonopt is not specified, then host defaults to the current host,
# as determined by config.guess.
# 4. Target and build default to nonopt.
# 5. If nonopt is not specified, then target and build default to host.
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
case $host---$target---$nonopt in
NONE---*---* | *---NONE---* | *---*---NONE) ;;
*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
esac
# Make sure we can run config.sub.
if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
echo "configure:573: checking host system type" >&5
host_alias=$host
case "$host_alias" in
NONE)
case $nonopt in
NONE)
if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
fi ;;
*) host_alias=$nonopt ;;
esac ;;
esac
host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
echo "configure:594: checking target system type" >&5
target_alias=$target
case "$target_alias" in
NONE)
case $nonopt in
NONE) target_alias=$host_alias ;;
*) target_alias=$nonopt ;;
esac ;;
esac
target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
echo "configure:612: checking build system type" >&5
build_alias=$build
case "$build_alias" in
NONE)
case $nonopt in
NONE) build_alias=$host_alias ;;
*) build_alias=$nonopt ;;
esac ;;
esac
build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$build" 1>&6
test "$host_alias" != "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
# If it contains results you don't want to keep, you may remove or edit it.
#
# By default, configure uses ./config.cache as the cache file,
# creating it if it does not exist already. You can give configure
# the --cache-file=FILE option to use a different cache file; that is
# what configure does when it calls configure scripts in
# subdirectories, so they share the cache.
# Giving --cache-file=/dev/null disables caching, for debugging configure.
# config.status only pays attention to the cache file if you give it the
# --recheck option to rerun configure.
#
EOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, don't put newlines in cache variables' values.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
case `(ac_space=' '; set) 2>&1 | grep ac_space` in
*ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
sed -n \
-e "s/'/'\\\\''/g" \
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
;;
esac >> confcache
if cmp -s $cache_file confcache; then
:
else
if test -w $cache_file; then
echo "updating cache $cache_file"
cat confcache > $cache_file
else
echo "not updating unwritable cache $cache_file"
fi
fi
rm -f confcache
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# Any assignment to VPATH causes Sun make to only execute
# the first set of double-colon rules, so remove it if not needed.
# If there is a colon in the path, we need to keep it.
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
fi
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
cat > conftest.defs <<\EOF
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
s%\[%\\&%g
s%\]%\\&%g
s%\$%$$%g
EOF
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
rm -f conftest.defs
# Without the "./", some shells look in PATH for config.status.
: ${CONFIG_STATUS=./config.status}
echo creating $CONFIG_STATUS
rm -f $CONFIG_STATUS
cat > $CONFIG_STATUS <<EOF
#! /bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# $0 $ac_configure_args
#
# Compiler output produced by configure, useful for debugging
# configure, is in ./config.log if it exists.
ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
for ac_option
do
case "\$ac_option" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
*) echo "\$ac_cs_usage"; exit 1 ;;
esac
done
ac_given_srcdir=$srcdir
trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
# Protect against being on the right side of a sed subst in config.status.
sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
$ac_vpsub
$extrasub
s%@SHELL@%$SHELL%g
s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g
s%@DEFS@%$DEFS%g
s%@LDFLAGS@%$LDFLAGS%g
s%@LIBS@%$LIBS%g
s%@exec_prefix@%$exec_prefix%g
s%@prefix@%$prefix%g
s%@program_transform_name@%$program_transform_name%g
s%@bindir@%$bindir%g
s%@sbindir@%$sbindir%g
s%@libexecdir@%$libexecdir%g
s%@datadir@%$datadir%g
s%@sysconfdir@%$sysconfdir%g
s%@sharedstatedir@%$sharedstatedir%g
s%@localstatedir@%$localstatedir%g
s%@libdir@%$libdir%g
s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
s%@CC@%$CC%g
s%@host@%$host%g
s%@host_alias@%$host_alias%g
s%@host_cpu@%$host_cpu%g
s%@host_vendor@%$host_vendor%g
s%@host_os@%$host_os%g
s%@target@%$target%g
s%@target_alias@%$target_alias%g
s%@target_cpu@%$target_cpu%g
s%@target_vendor@%$target_vendor%g
s%@target_os@%$target_os%g
s%@build@%$build%g
s%@build_alias@%$build_alias%g
s%@build_cpu@%$build_cpu%g
s%@build_vendor@%$build_vendor%g
s%@build_os@%$build_os%g
CEOF
EOF
cat >> $CONFIG_STATUS <<\EOF
# Split the substitutions into bite-sized pieces for seds with
# small command number limits, like on Digital OSF/1 and HP-UX.
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
ac_file=1 # Number of current file.
ac_beg=1 # First line for current file.
ac_end=$ac_max_sed_cmds # Line after last line for current file.
ac_more_lines=:
ac_sed_cmds=""
while $ac_more_lines; do
if test $ac_beg -gt 1; then
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
else
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
fi
if test ! -s conftest.s$ac_file; then
ac_more_lines=false
rm -f conftest.s$ac_file
else
if test -z "$ac_sed_cmds"; then
ac_sed_cmds="sed -f conftest.s$ac_file"
else
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
fi
ac_file=`expr $ac_file + 1`
ac_beg=$ac_end
ac_end=`expr $ac_end + $ac_max_sed_cmds`
fi
done
if test -z "$ac_sed_cmds"; then
ac_sed_cmds=cat
fi
EOF
cat >> $CONFIG_STATUS <<EOF
CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case "$ac_file" in
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
*) ac_file_in="${ac_file}.in" ;;
esac
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
# Remove last slash and all that follows it. Not all systems have dirname.
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
# The file is in a subdirectory.
test ! -d "$ac_dir" && mkdir "$ac_dir"
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
# A "../" for each directory in $ac_dir_suffix.
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
else
ac_dir_suffix= ac_dots=
fi
case "$ac_given_srcdir" in
.) srcdir=.
if test -z "$ac_dots"; then top_srcdir=.
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
*) # Relative path.
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
echo creating "$ac_file"
rm -f "$ac_file"
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
case "$ac_file" in
*Makefile*) ac_comsub="1i\\
# $configure_input" ;;
*) ac_comsub= ;;
esac
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
sed -e "$ac_comsub
s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g
s%@top_srcdir@%$top_srcdir%g
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
fi; done
rm -f conftest.s*
EOF
cat >> $CONFIG_STATUS <<EOF
EOF
cat >> $CONFIG_STATUS <<\EOF
exit 0
EOF
chmod +x $CONFIG_STATUS
rm -fr confdefs* $ac_clean_files
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1

View File

@@ -0,0 +1,15 @@
dnl Process this file file with autoconf to produce a configure script.
dnl This file is a shell script fragment that supplies the information
dnl necessary to tailor a template configure script into the configure
dnl script appropriate for this directory. For more information, check
dnl any existing configure script.
AC_PREREQ(2.5)
AC_INIT(exception.exp)
CC=${CC-cc}
AC_SUBST(CC)
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../../..)
AC_CANONICAL_SYSTEM
AC_OUTPUT(Makefile)

View File

@@ -0,0 +1,48 @@
// Test file for exception handling support.
#include <iostream.h>
int foo (int i)
{
if (i < 32)
throw (int) 13;
else
return i * 2;
}
extern "C" int bar (int k, unsigned long eharg, int flag);
int bar (int k, unsigned long eharg, int flag)
{
cout << "k is " << k << " eharg is " << eharg << " flag is " << flag << endl;
return 1;
}
int main()
{
int j;
try {
j = foo (20);
}
catch (int x) {
cout << "Got an except " << x << endl;
}
try {
try {
j = foo (20);
}
catch (int x) {
cout << "Got an except " << x << endl;
throw;
}
}
catch (int y) {
cout << "Got an except (rethrown) " << y << endl;
}
// Not caught
foo (20);
}

View File

@@ -0,0 +1,439 @@
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
#
# tests for exception-handling support
# Written by Satish Pai <pai@apollo.hp.com> 1997-07-23
# This file is part of the gdb testsuite
# Note: These tests are geared to the HP aCC compiler,
# which has an idiosyncratic way of emitting debug info
# for exceptions -- it uses a callback mechanism, which
# is different from the way g++ records exception info
# for debugging
# The tests are in two parts; the first part deals with
# statically linked (archive-bound) executables, and the
# second part repeats those tests with dynamically linked
# (shared bound) executables. (In the latter case we use
# a different mechanism to get the address of the notification
# hook in the C++ support library.) The tests themselves are
# the same in both parts.
#
# IMPORTANT:
# ---------
# IF YOU CHANGE A TEST IN ONE PART MAKE SURE YOU CHANGE IT
# --------------------------------------------------------
# IN THE OTHER PART TOO!
# ----------------------
if $tracelevel then {
strace $tracelevel
}
if { [skip_hp_tests] } then { continue }
#
# test running programs
#
# Part I : Archive-bound executables
# ----------------------------------
set testfile "exception"
set srcfile ${testfile}.cc
set binfile ${objdir}/${subdir}/${testfile}
if [get_compiler_info ${binfile} "c++"] {
return -1;
}
if { $gcc_compiled } then { continue }
set cmdline "$CXX_FOR_TARGET ${srcdir}/${subdir}/${srcfile} +A -Wl,-a,archive -g -o ${binfile}"
remote_exec build $cmdline
# Start with a fresh gdb
set prms_id 0
set bug_id 0
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
}
# Set a catch catchpoint
send_gdb "catch catch\n"
gdb_expect {
-re "Catchpoint \[0-9\]* \\(catch\\)\r\n$gdb_prompt $" {
pass "catch catch (static executable)"
}
-re ".*$gdb_prompt $" { fail "catch catch (static executable)" }
timeout { fail "(timeout) catch catch (static executable)" }
}
# Set a throw catchpoint
send_gdb "catch throw\n"
gdb_expect {
-re "Catchpoint \[0-9\]* \\(throw\\)\r\n$gdb_prompt $" {
pass "catch throw (static executable)"
}
-re ".*$gdb_prompt $" { fail "catch throw (static executable)" }
timeout { fail "(timeout) catch throw (static executable)" }
}
# The catchpoints should be listed in the list of breakpoints.
send_gdb "info break\n"
gdb_expect {
-re ".*\[0-9\]*\[ \]*catch catch\[ \]*keep y\[ \]*exception catch\[ \]*\r\n\[0-9\]*\[ \]*catch throw\[ \]*keep y\[ \]*exception throw\[ \]*\r\n$gdb_prompt $" {
pass "info break with catchpoints (static executable)"
}
-re ".*$gdb_prompt $" { fail "info break (static executable)" }
timeout { fail "(timeout) info break (static executable)" }
}
# Info catch currently does not work with HP aCC. No easy way to
# list the active handlers on the stack.
send_gdb "info catch\n"
gdb_expect {
-re "Info catch not supported with this target/compiler combination.\r\n$gdb_prompt $" {
pass "info catch (static executable)"
}
-re ".*$gdb_prompt $" { fail "info catch (static executable)" }
timeout { fail "(timeout) info catch (static executable)" }
}
# Get the first exception thrown
send_gdb "continue\n"
gdb_expect {
-re "Continuing.*Catchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" {
pass "caught a throw (static executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a throw (static executable)" }
timeout { fail "(timeout) after continue -- didn't catch a throw? (static executable)" }
}
send_gdb "backtrace\n"
gdb_expect {
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_THROW.*\r\n#2\[ \]*$hex in __eh_notify_throw.*\r\n#3\[ \]*$hex in foo \\(i=20\\) at .*exception\\.cc:8\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:26\r\n$gdb_prompt $" {
pass "backtrace after throw (static executable)"
}
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n#2\[ \]*$hex in __eh_notify_throw.*\r\n#3\[ \]*$hex in foo \\(i=20\\) at .*exception\\.cc:8\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:26\r\n$gdb_prompt $" {
pass "backtrace after throw (static executable)"
}
-re ".*$gdb_prompt $" { fail "backtrace after throw (static executable)" }
timeout { fail "(timeout) backtrace after throw (static executable)" }
}
# Now intercept it when it is caught.
send_gdb "continue\n"
gdb_expect {
-re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" {
pass "caught a catch (static executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a catch (static executable)" }
timeout { fail "(timeout) after continue -- didn't catch a catch? (static executable)" }
}
send_gdb "backtrace\n"
gdb_expect {
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __throw__.*\r\n#4\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#5\[ \]*$hex in main.* at .*exception.cc:26\r\n$gdb_prompt $" {
pass "backtrace after catch (static executable)"
}
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n.*\r\n#3\[ \]*$hex in __throw__.*\r\n#4\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#5\[ \]*$hex in main.* at .*exception.cc:26\r\n$gdb_prompt $" {
pass "backtrace after catch (static executable)"
}
-re ".*$gdb_prompt $" { fail "backtrace after catch (static executable)" }
timeout { fail "(timeout) backtrace after catch (static executable)" }
}
send_gdb "continue\n"
gdb_expect {
-re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" {
pass "caught a throw (2) (static executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a throw (2) (static executable)" }
timeout { fail "(timeout) after continue -- didn't catch a throw (2)? (static executable)" }
}
send_gdb "continue\n"
gdb_expect {
-re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" {
pass "caught a catch (2) (static executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a catch (2) (static executable)" }
timeout { fail "(timeout) after continue -- didn't catch a catch (2)? (static executable)" }
}
# Now the exception will be rethrown.
send_gdb "continue\n"
gdb_expect {
-re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:38, catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" {
pass "caught a rethrow (static executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a rethrow (static executable)" }
timeout { fail "(timeout) after continue -- didn't catch a rethrow? (static executable)" }
}
send_gdb "continue\n"
gdb_expect {
-re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:3\[68\], catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" {
# FIXME: guo: why XFAIL? need comment
xfail "caught a catch (3) (static executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a catch (3) (static executable)" }
timeout { fail "(timeout) after continue -- didn't catch a catch (3)? (static executable)" }
}
send_gdb "backtrace\n"
gdb_expect {
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __rethrow.*\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:3\[68\]\r\n#5\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#6\[ \]*$hex in main.* at .*exception.cc:34\r\n$gdb_prompt $" {
# FIXME: guo: why XFAIL? need comment
xfail "backtrace after catch (3) (static executable)"
}
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n.*\r\n#3\[ \]*$hex in __rethrow.*\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:3\[68\]\r\n#5\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#6\[ \]*$hex in main.* at .*exception.cc:34\r\n$gdb_prompt $" {
# FIXME: guo: why XFAIL? need comment
xfail "backtrace after catch (3) (static executable)"
}
-re ".*$gdb_prompt $" { fail "backtrace after catch (3) (static executable)" }
timeout { fail "(timeout) backtrace after catch (3) (static executable)" }
}
# Now the exception will be thrown, but not catch-able anywhere.
send_gdb "continue\n"
gdb_expect {
-re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location unknown\r\n.*$gdb_prompt $" {
pass "caught an uncatchable throw (static executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch an uncatchable throw (static executable)" }
timeout { fail "(timeout) after continue -- didn't catch an uncatchable throw? (static executable)" }
}
# Part II : Shared-bound executables
# ----------------------------------
# Start with a fresh gdb
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
set prms_id 0
set bug_id 0
set testfile "exception"
set srcfile ${testfile}.cc
set binfile ${objdir}/${subdir}/${testfile}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will a
utomatically fail."
}
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
}
# Set a catch catchpoint
send_gdb "catch catch\n"
gdb_expect {
-re "Catchpoint \[0-9\]* \\(catch\\)\r\n$gdb_prompt $" {
pass "catch catch (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "catch catch (dynamic executable)" }
timeout { fail "(timeout) catch catch (dynamic executable)" }
}
# Set a throw catchpoint
send_gdb "catch throw\n"
gdb_expect {
-re "Catchpoint \[0-9\]* \\(throw\\)\r\n$gdb_prompt $" {
pass "catch throw (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "catch throw (dynamic executable)" }
timeout { fail "(timeout) catch throw (dynamic executable)" }
}
# The catchpoints should be listed in the list of breakpoints.
send_gdb "info break\n"
gdb_expect {
-re ".*\[0-9\]*\[ \]*catch catch\[ \]*keep y\[ \]*exception catch\[ \]*\r\n\[0-9\]*\[ \]*catch throw\[ \]*keep y\[ \]*exception throw\[ \]*\r\n$gdb_prompt $" {
pass "info break with catchpoints (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "info break (dynamic executable)" }
timeout { fail "(timeout) info break (dynamic executable)" }
}
# Info catch currently does not work with HP aCC. No easy way to
# list the active handlers on the stack.
send_gdb "info catch\n"
gdb_expect {
-re "Info catch not supported with this target/compiler combination.\r\n$gdb_prompt $" {
pass "info catch (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "info catch (dynamic executable)" }
timeout { fail "(timeout) info catch (dynamic executable)" }
}
# Get the first exception thrown
send_gdb "continue\n"
gdb_expect {
-re "Continuing.*Catchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" {
pass "caught a throw (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a throw (dynamic executable)" }
timeout { fail "(timeout) after continue -- didn't catch a throw? (dynamic executable)" }
}
send_gdb "backtrace\n"
gdb_expect {
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_THROW.*\r\n#2\[ \]*$hex in __eh_notify_throw.*\r\n#3\[ \]*$hex in foo \\(i=20\\) at .*exception\\.cc:8\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:26\r\n$gdb_prompt $" {
pass "backtrace after throw (dynamic executable)"
}
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n#2\[ \]*$hex in __eh_notify_throw.*\r\n#3\[ \]*$hex in foo \\(i=20\\) at .*exception\\.cc:8\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:26\r\n$gdb_prompt $" {
pass "backtrace after throw (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "backtrace after throw (dynamic executable)" }
timeout { fail "(timeout) backtrace after throw (dynamic executable)" }
}
# Now intercept it when it is caught.
send_gdb "continue\n"
gdb_expect {
-re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" {
pass "caught a catch (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a catch (dynamic executable)" }
timeout { fail "(timeout) after continue -- didn't catch a catch? (dynamic executable)" }
}
send_gdb "backtrace\n"
gdb_expect {
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __throw__.*\r\n#4\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#5\[ \]*$hex in main.* at .*exception.cc:26\r\n$gdb_prompt $" {
pass "backtrace after catch (dynamic executable)"
}
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n.*\r\n#3\[ \]*$hex in __throw__.*\r\n#4\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#5\[ \]*$hex in main.* at .*exception.cc:26\r\n$gdb_prompt $" {
pass "backtrace after catch (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "backtrace after catch (dynamic executable)" }
timeout { fail "(timeout) backtrace after catch (dynamic executable)" }
}
send_gdb "continue\n"
gdb_expect {
-re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" {
pass "caught a throw (2) (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a throw (2) (dynamic executable)" }
timeout { fail "(timeout) after continue -- didn't catch a throw (2)? (dynamic executable)" }
}
send_gdb "continue\n"
gdb_expect {
-re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" {
pass "caught a catch (2) (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a catch (2) (dynamic executable)" }
timeout { fail "(timeout) after continue -- didn't catch a catch (2)? (dynamic executable)" }
}
# Now the exception will be rethrown.
send_gdb "continue\n"
gdb_expect {
-re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:38, catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" {
pass "caught a rethrow (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a rethrow (dynamic executable)" }
timeout { fail "(timeout) after continue -- didn't catch a rethrow? (dynamic executable)" }
}
#DTS CLLbs14858
#The throw location should be at line 38 instead of 36.
setup_xfail hppa*-*-* CLLbs14858
send_gdb "continue\n"
gdb_expect {
-re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:3\[68\], catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" {
# FIXME: guo: according to comment above the RE is wrong!
pass "caught a catch (3) (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch a catch (3) (dynamic executable)" }
timeout { fail "(timeout) after continue -- didn't catch a catch (3)? (dynamic executable)" }
}
#DTS CLLbs14858
#The line number for main() should be at exception.cc:38 instead of exception.cc:36
setup_xfail hppa*-*-* CLLbs14858
send_gdb "backtrace\n"
gdb_expect {
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __rethrow.*\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:3\[68\]\r\n#5\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#6\[ \]*$hex in main.* at .*exception.cc:34\r\n$gdb_prompt $" {
# FIXME: guo: according to comment above the RE is wrong!
pass "backtrace after catch (3) (dynamic executable)"
}
-re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=\[0-9\].*\r\n.*\r\n#3\[ \]*$hex in __rethrow.*\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:3\[68\]\r\n#5\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#6\[ \]*$hex in main.* at .*exception.cc:34\r\n$gdb_prompt $" {
# FIXME: guo: according to comment above the RE is wrong!
pass "backtrace after catch (3) (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "backtrace after catch (3) (dynamic executable)" }
timeout { fail "(timeout) backtrace after catch (3) (dynamic executable)" }
}
# Now the exception will be thrown, but not catch-able anywhere.
send_gdb "continue\n"
gdb_expect {
-re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location unknown\r\n.*$gdb_prompt $" {
pass "caught an uncatchable throw (dynamic executable)"
}
-re ".*$gdb_prompt $" { fail "didn't catch an uncatchable throw (dynamic executable)" }
timeout { fail "(timeout) after continue -- didn't catch an uncatchable throw? (dynamic executable)" }
}

View File

@@ -0,0 +1,103 @@
namespace AAA {
char c;
int i;
int A_xyzq (int);
char xyzq (char);
class inA {
public:
int xx;
int fum (int);
};
};
int AAA::inA::fum (int i)
{
return 10 + i;
}
namespace BBB {
char c;
int i;
int B_xyzq (int);
char xyzq (char);
namespace CCC {
char xyzq (char);
};
class Class {
public:
char xyzq (char);
int dummy;
};
};
int AAA::A_xyzq (int x)
{
return 2 * x;
}
char AAA::xyzq (char c)
{
return 'a';
}
int BBB::B_xyzq (int x)
{
return 3 * x;
}
char BBB::xyzq (char c)
{
return 'b';
}
char BBB::CCC::xyzq (char c)
{
return 'z';
}
char BBB::Class::xyzq (char c)
{
return 'o';
}
void marker1(void)
{
return;
}
int main ()
{
using AAA::inA;
char c1;
using namespace BBB;
c1 = xyzq ('x');
c1 = AAA::xyzq ('x');
c1 = BBB::CCC::xyzq ('m');
inA ina;
ina.xx = 33;
int y;
y = AAA::A_xyzq (33);
y += B_xyzq (44);
BBB::Class cl;
c1 = cl.xyzq('e');
marker1();
}

View File

@@ -0,0 +1,193 @@
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# tests for namespaces
# Written by Satish Pai <pai@apollo.hp.com> 1997-07-23
# This file is part of the gdb testsuite
# Note: These tests are geared to the HP aCC compiler,
# which has an idiosyncratic way of emitting debug info
# for namespaces.
if $tracelevel then {
strace $tracelevel
}
set prms_id 0
set bug_id 0
if { [skip_hp_tests] } then { continue }
set testfile "namespace"
set srcfile ${testfile}.cc
set binfile ${objdir}/${subdir}/${testfile}
if [get_compiler_info ${binfile}] {
return -1;
}
if { $gcc_compiled } then { continue }
if {[skip_hp_tests]} then { continue }
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will a
utomatically fail."
}
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
#
# set it up at a breakpoint so we can play with the variable values
#
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
}
send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
send_gdb "cont\n"
gdb_expect {
-re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" {
send_gdb "up\n"
gdb_expect {
-re ".*$gdb_prompt $" { pass "up from marker1" }
timeout { fail "up from marker1" }
}
}
-re "$gdb_prompt $" { fail "continue to marker1" }
timeout { fail "(timeout) continue to marker1" }
}
# Access a data item inside a namespace using colons and
# single quotes :-(
send_gdb "print 'AAA::c'\n"
gdb_expect {
-re "\\$\[0-9\]* = 0 '\\\\000'\r\n$gdb_prompt $" { pass "print 'AAA::c'" }
-re ".*$gdb_prompt $" { fail "print 'AAA::c'" }
timeout { fail "(timeout) print 'AAA::c'" }
}
# An object declared using "using".
send_gdb "print ina\n"
gdb_expect {
-re "\\$\[0-9\]+ = {xx = 33}.*$gdb_prompt $" {
pass "print ina"
}
-re ".*$gdb_prompt $" { fail "print ina" }
timeout { fail "(timeout) print ina" }
}
send_gdb "ptype ina\n"
gdb_expect {
-re "type = class AAA::inA \{\r\n\[ \]*public:\r\n\[ \]*int xx;\r\n\[ \]*\r\n\[ \]*int fum\\(int\\);\r\n\}\r\n$gdb_prompt $" {
pass "ptype ina"
}
-re ".*$gdb_prompt $" { fail "ptype ina" }
timeout { fail "(timeout) ptype ina" }
}
# Check all functions are known to GDB
setup_xfail hppa*-*-*11* CLLbs14869
send_gdb "info func xyzq\n"
gdb_expect {
-re "All functions.*File.*namespace.cc:\r\nint AAA::A_xyzq\\(int\\);\r\nint BBB::B_xyzq\\(int\\);\r\nchar AAA::xyzq\\(char\\);\r\nchar BBB::xyzq\\(char\\);\r\nchar BBB::CCC::xyzq\\(char\\);\r\nchar BBB::Class::xyzq\\(char\\);\r\n$gdb_prompt $" {
pass "info func xyzq"
}
-re ".*$gdb_prompt $" { fail "info func xyzq" }
timeout { fail "(timeout) info func xyzq" }
}
# Call a function in a namespace
send_gdb "print 'AAA::xyzq'('x')\n"
gdb_expect {
-re "\\$\[0-9\]* = 97 'a'\r\n$gdb_prompt $" {
pass "print 'AAA::xyzq'('x')"
}
-re ".*$gdb_prompt $" { fail "print 'AAA::xyzq'('x')" }
timeout { fail "(timeout) print 'AAA::xyzq'('x')" }
}
# Break on a function in a namespace
send_gdb "break AAA::xyzq\n"
gdb_expect {
-re "Breakpoint.*at $hex: file.*namespace.cc, line 42\\.\r\n$gdb_prompt $" {
pass "break AAA::xyzq"
}
-re ".*$gdb_prompt $" { fail "break AAA::xyzq" }
timeout { fail "(timeout) break AAA::xyzq" }
}
# Call a function in a nested namespace
send_gdb "print 'BBB::CCC::xyzq'('x')\n"
gdb_expect {
-re "\\$\[0-9\]* = 122 'z'\r\n$gdb_prompt $" {
pass "print 'BBB::CCC::xyzq'('x')"
}
-re ".*$gdb_prompt $" { fail "print 'BBB::CCC::xyzq'('x')" }
timeout { fail "(timeout) print 'BBB::CCC::xyzq'('x')" }
}
# Break on a function in a nested namespace
send_gdb "break BBB::CCC::xyzq\n"
gdb_expect {
-re "Breakpoint.*at $hex: file.*namespace.cc, line 58\\.\r\n$gdb_prompt $" {
pass "break BBB::CCC::xyzq"
}
-re ".*$gdb_prompt $" { fail "break BBB::CCC::xyzq" }
timeout { fail "(timeout) break BBB::CCC::xyzq" }
}
# Print address of a function in a class in a namespace
send_gdb "print 'BBB::Class'::xyzq\n"
gdb_expect {
-re "\\$\[0-9\]* = \{char \\(BBB::Class \\*, char\\)\} $hex <BBB::Class::xyzq\\(char\\)>\r\n$gdb_prompt $" {
pass "print 'BBB::Class'::xyzq"
}
-re ".*$gdb_prompt $" { fail "print 'BBB::Class'::xyzq" }
timeout { fail "(timeout) print 'BBB::Class'::xyzq" }
}
# Break on a function in a class in a namespace
send_gdb "break BBB::Class::xyzq\n"
gdb_expect {
-re "Breakpoint.*at $hex: file.*namespace.cc, line 63\\.\r\n$gdb_prompt $" {
pass "break BBB::Class::xyzq"
}
-re ".*$gdb_prompt $" { fail "break BBB::Class::xyzq" }
timeout { fail "(timeout) break BBB::Class::xyzq" }
}

View File

@@ -0,0 +1,76 @@
/* Source for debugging optimimzed code test.
cc -g -O -o optimize optimize.c
*/
int callee();
int test_opt;
int main()
{
int a,b,c,d,e,f,g,h;
a = 10;;
/* Value propagate
*/
b = 2 * a + 1;
c = 3 * b + 2;
/* Re-use expressions
*/
d = (2 * a + 1) * (3 * b + 2);
e = (2 * a + 1) * (3 * b + 2);
/* Create dead stores--do lines still exist?
*/
d = (2 * a + 1) * (3 * b + 2);
e = (2 * a + 1) * (3 * b + 2);
d = (2 * a + 1) * (3 * b + 2);
e = (2 * a + 1) * (3 * b + 2);
/* Alpha and psi motion
*/
if( test_opt ) {
f = e - d;
f = f--;
}
else {
f = e - d;
f = f + d * e;
}
/* Chi and Rho motion
*/
h = 0;
do {
h++;
a = b * c + d * e; /* Chi */
f = f + d * e;
g = f + d * e; /* Rho */
callee( g+1 );
test_opt = (test_opt != 1); /* Cycles */
} while( g && h < 10);
/* Opps for tail recursion, unrolling,
* folding, evaporating
*/
for( a = 0; a < 100; a++ ) {
callee( callee ( callee( a )));
callee( callee ( callee( a )));
callee( callee ( callee( a )));
}
return callee( test_opt );
}
/* defined late to keep line numbers the same
*/
int callee( x )
int x; /* not used! */
{
test_opt++; /* side effect */
return test_opt;
}
/* end */

View File

@@ -0,0 +1,149 @@
# Copyright (C) 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# optimize.exp -- Expect script for testing apps compiled with -O
# There is no DOC support for gdb yet, return 0 for now.
return 0
global timeout
# use this to debug:
#
#log_user 1
if $tracelevel then {
strace $tracelevel
}
if { [skip_hp_tests] } then { continue }
set testfile optimize
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
if [get_compiler_info ${binfile}] {
return -1;
}
if { $gcc_compiled } then { continue }
# Vanilla -O, which is the same as +O2
#
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug optimize=+O2}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
send_gdb "file $binfile\n"
gdb_expect {
-re ".*no debugging symbols found.*$gdb_prompt $" {
fail "Didn't find debug symbols; CHFts23488"
}
-re ".*No header section (PXDB data).*$gdb_prompt $" {
fail "pointless warning"
}
-re ".*done.*$gdb_prompt $" {
pass "load debug symbols"
}
timeout { fail "timeout on file" }
}
# Two lines at the same place after opt.
#
gdb_test "b 28" ".*"
gdb_test "b 26" ".*also set at.*" "same line"
gdb_test "b 47" ".*"
gdb_test "b 48" ".*also set at.*" "same line"
gdb_test "tb main" ".*"
set old_timeout $timeout
set timeout [expr "$timeout + 200"]
send_gdb "r\n"
gdb_expect {
-re ".*No header section (PXDB data).*$gdb_prompt $" {
fail "pointless warning"
}
-re ".*main.*2\[12].*$gdb_prompt $" {
# All the lines before line 21 or 22 are
# evaporated by the compiler.
#
pass "hit main"
}
-re ".*$gdb_prompt $" {
fail "didn't hit main"
}
timeout { fail "timeout on run" }
}
set timeout $old_timeout
gdb_test "c" ".*Breakpoint 1.*33.*"
gdb_test "c" ".*51.*"
gdb_test "cle" ".*Deleted breakpoints.*" "set 2, so del 2"
gdb_test "b callee" ".*"
gdb_test "c" ".*callee.*" "hit called rtn"
gdb_exit
# +O4, don't use -g
#
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {optimize=+O4}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
send_gdb "file $binfile\n"
gdb_expect {
-re ".*no debugging symbols found.*$gdb_prompt $" {
pass "Didn't find debug symbols, as expected"
}
-re ".*No header section (PXDB data).*$gdb_prompt $" {
fail "pointless warning"
}
-re ".*done.*$gdb_prompt $" {
fail "Somehow found debug symbols--make this a pass?"
}
timeout { fail "timeout on file" }
}
gdb_test "b main" ".*"
gdb_test "b callee" ".*"
gdb_test "r" ".*Breakpoint 1.*main.*"
gdb_test "si 3" ".*main.*" "steps"
gdb_test "x/4i \$pc" ".*main.*main+4.*main+8.*"
gdb_test "c" ".*callee.*" "hit bp"
gdb_test "disas" ".*callee.*callee+4.*callee+12.*"
gdb_test "si" ".*callee.*"
gdb_test "fin" ".*Run till exit.*main.*" "finish"
gdb_test "x/i \$pc" ".*main+.*" "back in main"
gdb_exit
#remote_exec build "rm -f ${binfile}"
return 0

View File

@@ -0,0 +1,72 @@
/*
* This simple classical example of recursion is useful for
* testing stack backtraces and such.
*/
#ifdef vxworks
# include <stdio.h>
/* VxWorks does not supply atoi. */
static int
atoi (char *z)
/* char *z;*/
{
int i = 0;
while (*z >= '0' && *z <= '9')
i = i * 10 + (*z++ - '0');
return i;
}
/* I don't know of any way to pass an array to VxWorks. This function
can be called directly from gdb. */
void vxmain (char *arg)
/*char *arg;*/
{
char *argv[2];
argv[0] = "";
argv[1] = arg;
main (2, argv, (char **) 0);
}
#else /* ! vxworks */
# include <stdio.h>
# include <stdlib.h>
#endif /* ! vxworks */
int main (int argc, char *argv[], char **envp)
/*int argc;
char *argv[], **envp;*/
{
int factorial (int);
#ifdef usestubs
set_debug_traps();
breakpoint();
#endif
#ifdef FAKEARGV
printf ("%d\n", factorial (1));
#else
if (argc != 2) {
printf ("usage: factorial <number>\n");
return 1;
} else {
printf ("%d\n", factorial (atoi (argv[1])));
}
#endif
return 0;
}
int factorial (int value)
/*int value;*/
{
int local_var;
if (value > 1) {
value *= factorial (value - 1);
}
local_var = value;
return (value);
}

View File

@@ -0,0 +1,157 @@
# Copyright (C) 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
if $tracelevel then {
strace $tracelevel
}
#
# test special commands
#
set prms_id 0
set bug_id 0
if { [skip_hp_tests] } then { continue }
set testfile "run"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DFAKEARGV}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
if [get_compiler_info ${binfile}] {
return -1;
}
if { $gcc_compiled } then { continue }
gdb_exit
gdb_start
delete_breakpoints
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
proc watchpoint_command_test {} {
global gdb_prompt
if [target_info exists noargs] {
verbose "Skipping watchpoint_command_test because of noargs."
return
}
if { ![runto factorial] } then { gdb_suppress_tests }
# Don't depend upon argument passing, since most simulators don't currently
# support it. Bash value variable to be what we want.
gdb_test "p value=6" "" "set value to 6 in watchpoint_command_test"
delete_breakpoints
# Verify that we can create a watchpoint, and give it a commands
# list that continues the inferior. We set the watchpoint on a
# local variable, too, so that it self-deletes when the watched
# data goes out of scope.
#
# What should happen is: Each time the watchpoint triggers, it
# continues the inferior. Eventually, the watchpoint will self-
# delete, when the watched variable is out of scope. But by that
# time, the inferior should have exited. GDB shouldn't crash or
# anything untoward as a result of this.
#
send_gdb "watch local_var\n"
gdb_expect {
-re ".*\[Ww\]atchpoint (\[0-9\]*): local_var.*$gdb_prompt $"\
{ pass "watch local_var"
set wp_id $expect_out(1,string)
send_gdb "commands $wp_id\n"
gdb_expect {
-re "Type commands for when breakpoint $wp_id is hit, one per line.*>"\
{ pass "begin commands on watch"}
-re "$gdb_prompt $"\
{fail "begin commands on watch"}
timeout {fail "(timeout) begin commands on watch"}
}
}
-re "$gdb_prompt $"\
{fail "watch local_var"}
timeout {fail "(timeout) watch local_var"}
}
# set wp_id $expect_out(1,string)
# send_gdb "commands $wp_id\n"
# gdb_expect {
# -re "Type commands for when breakpoint $wp_id is hit, one per line.*>"\
# {pass "begin commands on watch"}
# -re "$gdb_prompt $"\
# {fail "begin commands on watch"}
# timeout {fail "(timeout) begin commands on watch"}
# }
send_gdb "print value\n"
gdb_expect {
-re ">"\
{pass "add print command to watch"}
-re "$gdb_prompt $"\
{fail "add print command to watch"}
timeout {fail "(timeout) add print command to watch"}
}
send_gdb "continue\n"
gdb_expect {
-re ">"\
{pass "add continue command to watch"}
-re "$gdb_prompt $"\
{fail "add continue command to watch"}
timeout {fail "(timeout) add continue command to watch"}
}
send_gdb "end\n"
gdb_expect {
-re "$gdb_prompt $"\
{pass "begin commands on watch"}
timeout {fail "(timeout) begin commands on watch"}
}
send_gdb "continue\n"
gdb_expect {
-re "Continuing.*\[Ww\]atchpoint $wp_id deleted because the program has left the block in.*which its expression is valid.*in main.*$gdb_prompt $"\
{pass "continue with watch"}
-re "$gdb_prompt $"\
{fail "continue with watch"}
timeout {fail "(timeout) continue with watch"}
}
send_gdb "continue\n"
gdb_expect {
-re "Continuing.*$gdb_prompt $"\
{pass "continue until exit"}
-re "$gdb_prompt $"\
{fail "continue until exit"}
timeout {fail "(timeout) continue until exit"}
}
}
watchpoint_command_test

View File

@@ -0,0 +1,32 @@
VPATH = @srcdir@
srcdir = @srcdir@
EXECUTABLES = dollar hwwatchbus.bak pxdb reg reg-pa64 \
so-thresh genso-thresh sized-enum
MISCELLANEOUS = so-thresh.c so-thresh.lopt so-thresh.make.out \
lib*-so-thresh.*
all:
@echo "Nothing to be done for all..."
info:
install-info:
dvi:
install:
uninstall: force
installcheck:
check:
clean mostlyclean:
-rm -f *~ *.o *.ci
-rm -f core $(EXECUTABLES)
-rm -f $(MISCELLANEOUS)
distclean maintainer-clean realclean: clean
-rm -f Makefile config.status config.log
-rm -f *-init.exp
-rm -fr *.log summary detail *.plog *.sum *.psum site.*
Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in
$(SHELL) ./config.status --recheck

899
gdb/testsuite/gdb.hp/gdb.base-hp/configure vendored Executable file
View File

@@ -0,0 +1,899 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.12.1
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
# Defaults:
ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
# Initialize some variables set by options.
# The variables have the same names as the options, with
# dashes changed to underlines.
build=NONE
cache_file=./config.cache
exec_prefix=NONE
host=NONE
no_create=
nonopt=NONE
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
target=NONE
verbose=
x_includes=NONE
x_libraries=NONE
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
infodir='${prefix}/info'
mandir='${prefix}/man'
# Initialize some other variables.
subdirs=
MFLAGS= MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
# Maximum number of lines to put in a shell here document.
ac_max_here_lines=12
ac_prev=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval "$ac_prev=\$ac_option"
ac_prev=
continue
fi
case "$ac_option" in
-*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) ac_optarg= ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case "$ac_option" in
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir="$ac_optarg" ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build="$ac_optarg" ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file="$ac_optarg" ;;
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
| --da=*)
datadir="$ac_optarg" ;;
-disable-* | --disable-*)
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
eval "enable_${ac_feature}=no" ;;
-enable-* | --enable-*)
ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "enable_${ac_feature}='$ac_optarg'" ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix="$ac_optarg" ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he)
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat << EOF
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
--cache-file=FILE cache test results in FILE
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[same as prefix]
--bindir=DIR user executables in DIR [EPREFIX/bin]
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data in DIR
[PREFIX/share]
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data in DIR
[PREFIX/com]
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
--includedir=DIR C header files in DIR [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
--infodir=DIR info documentation in DIR [PREFIX/info]
--mandir=DIR man documentation in DIR [PREFIX/man]
--srcdir=DIR find the sources in DIR [configure dir or ..]
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM
run sed PROGRAM on installed program names
EOF
cat << EOF
Host type:
--build=BUILD configure for building on BUILD [BUILD=HOST]
--host=HOST configure for HOST [guessed]
--target=TARGET configure for TARGET [TARGET=HOST]
Features and packages:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
EOF
if test -n "$ac_help"; then
echo "--enable and --with options recognized:$ac_help"
fi
exit 0 ;;
-host | --host | --hos | --ho)
ac_prev=host ;;
-host=* | --host=* | --hos=* | --ho=*)
host="$ac_optarg" ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir="$ac_optarg" ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir="$ac_optarg" ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir="$ac_optarg" ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir="$ac_optarg" ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst \
| --locals | --local | --loca | --loc | --lo)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
localstatedir="$ac_optarg" ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir="$ac_optarg" ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir="$ac_optarg" ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix="$ac_optarg" ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix="$ac_optarg" ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix="$ac_optarg" ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name="$ac_optarg" ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir="$ac_optarg" ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir="$ac_optarg" ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir="$ac_optarg" ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir="$ac_optarg" ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target="$ac_optarg" ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
echo "configure generated by autoconf version 2.12.1"
exit 0 ;;
-with-* | --with-*)
ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "with_${ac_package}='$ac_optarg'" ;;
-without-* | --without-*)
ac_package=`echo $ac_option|sed -e 's/-*without-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
eval "with_${ac_package}=no" ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes="$ac_optarg" ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries="$ac_optarg" ;;
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
;;
*)
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
echo "configure: warning: $ac_option: invalid host type" 1>&2
fi
if test "x$nonopt" != xNONE; then
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
fi
nonopt="$ac_option"
;;
esac
done
if test -n "$ac_prev"; then
{ echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
fi
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
# File descriptor usage:
# 0 standard input
# 1 file creation
# 2 errors and warnings
# 3 some systems may open it to /dev/tty
# 4 used on the Kubota Titan
# 6 checking for... messages and results
# 5 compiler messages saved in config.log
if test "$silent" = yes; then
exec 6>/dev/null
else
exec 6>&1
fi
exec 5>./config.log
echo "\
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
" 1>&5
# Strip out --no-create and --no-recursion so they do not pile up.
# Also quote any args containing shell metacharacters.
ac_configure_args=
for ac_arg
do
case "$ac_arg" in
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c) ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
esac
done
# NLS nuisances.
# Only set these to C if already set. These must not be set unconditionally
# because not all systems understand e.g. LANG=C (notably SCO).
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
# Non-C LC_CTYPE values break the ctype check.
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -rf conftest* confdefs.h
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
echo > confdefs.h
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
ac_unique_file=dollar.exp
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then its parent.
ac_prog=$0
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
srcdir=$ac_confdir
if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r $srcdir/$ac_unique_file; then
if test "$ac_srcdir_defaulted" = yes; then
{ echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
else
{ echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
fi
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"
fi
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
echo "loading site script $ac_site_file"
. "$ac_site_file"
fi
done
if test -r "$cache_file"; then
echo "loading cache $cache_file"
. $cache_file
else
echo "creating cache $cache_file"
> $cache_file
fi
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
ac_n= ac_c='
' ac_t=' '
else
ac_n=-n ac_c= ac_t=
fi
else
ac_n= ac_c='\c' ac_t=
fi
CC=${CC-cc}
ac_aux_dir=
for ac_dir in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../..; do
if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
elif test -f $ac_dir/install.sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
fi
done
if test -z "$ac_aux_dir"; then
{ echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../.." 1>&2; exit 1; }
fi
ac_config_guess=$ac_aux_dir/config.guess
ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# Do some error checking and defaulting for the host and target type.
# The inputs are:
# configure --host=HOST --target=TARGET --build=BUILD NONOPT
#
# The rules are:
# 1. You are not allowed to specify --host, --target, and nonopt at the
# same time.
# 2. Host defaults to nonopt.
# 3. If nonopt is not specified, then host defaults to the current host,
# as determined by config.guess.
# 4. Target and build default to nonopt.
# 5. If nonopt is not specified, then target and build default to host.
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
case $host---$target---$nonopt in
NONE---*---* | *---NONE---* | *---*---NONE) ;;
*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
esac
# Make sure we can run config.sub.
if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
echo "configure:573: checking host system type" >&5
host_alias=$host
case "$host_alias" in
NONE)
case $nonopt in
NONE)
if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
fi ;;
*) host_alias=$nonopt ;;
esac ;;
esac
host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
echo "configure:594: checking target system type" >&5
target_alias=$target
case "$target_alias" in
NONE)
case $nonopt in
NONE) target_alias=$host_alias ;;
*) target_alias=$nonopt ;;
esac ;;
esac
target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
echo "configure:612: checking build system type" >&5
build_alias=$build
case "$build_alias" in
NONE)
case $nonopt in
NONE) build_alias=$host_alias ;;
*) build_alias=$nonopt ;;
esac ;;
esac
build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$build" 1>&6
test "$host_alias" != "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
# If it contains results you don't want to keep, you may remove or edit it.
#
# By default, configure uses ./config.cache as the cache file,
# creating it if it does not exist already. You can give configure
# the --cache-file=FILE option to use a different cache file; that is
# what configure does when it calls configure scripts in
# subdirectories, so they share the cache.
# Giving --cache-file=/dev/null disables caching, for debugging configure.
# config.status only pays attention to the cache file if you give it the
# --recheck option to rerun configure.
#
EOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, don't put newlines in cache variables' values.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
case `(ac_space=' '; set) 2>&1 | grep ac_space` in
*ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
sed -n \
-e "s/'/'\\\\''/g" \
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
;;
esac >> confcache
if cmp -s $cache_file confcache; then
:
else
if test -w $cache_file; then
echo "updating cache $cache_file"
cat confcache > $cache_file
else
echo "not updating unwritable cache $cache_file"
fi
fi
rm -f confcache
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# Any assignment to VPATH causes Sun make to only execute
# the first set of double-colon rules, so remove it if not needed.
# If there is a colon in the path, we need to keep it.
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
fi
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
cat > conftest.defs <<\EOF
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
s%\[%\\&%g
s%\]%\\&%g
s%\$%$$%g
EOF
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
rm -f conftest.defs
# Without the "./", some shells look in PATH for config.status.
: ${CONFIG_STATUS=./config.status}
echo creating $CONFIG_STATUS
rm -f $CONFIG_STATUS
cat > $CONFIG_STATUS <<EOF
#! /bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# $0 $ac_configure_args
#
# Compiler output produced by configure, useful for debugging
# configure, is in ./config.log if it exists.
ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
for ac_option
do
case "\$ac_option" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
*) echo "\$ac_cs_usage"; exit 1 ;;
esac
done
ac_given_srcdir=$srcdir
trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
# Protect against being on the right side of a sed subst in config.status.
sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
$ac_vpsub
$extrasub
s%@SHELL@%$SHELL%g
s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g
s%@DEFS@%$DEFS%g
s%@LDFLAGS@%$LDFLAGS%g
s%@LIBS@%$LIBS%g
s%@exec_prefix@%$exec_prefix%g
s%@prefix@%$prefix%g
s%@program_transform_name@%$program_transform_name%g
s%@bindir@%$bindir%g
s%@sbindir@%$sbindir%g
s%@libexecdir@%$libexecdir%g
s%@datadir@%$datadir%g
s%@sysconfdir@%$sysconfdir%g
s%@sharedstatedir@%$sharedstatedir%g
s%@localstatedir@%$localstatedir%g
s%@libdir@%$libdir%g
s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
s%@CC@%$CC%g
s%@host@%$host%g
s%@host_alias@%$host_alias%g
s%@host_cpu@%$host_cpu%g
s%@host_vendor@%$host_vendor%g
s%@host_os@%$host_os%g
s%@target@%$target%g
s%@target_alias@%$target_alias%g
s%@target_cpu@%$target_cpu%g
s%@target_vendor@%$target_vendor%g
s%@target_os@%$target_os%g
s%@build@%$build%g
s%@build_alias@%$build_alias%g
s%@build_cpu@%$build_cpu%g
s%@build_vendor@%$build_vendor%g
s%@build_os@%$build_os%g
CEOF
EOF
cat >> $CONFIG_STATUS <<\EOF
# Split the substitutions into bite-sized pieces for seds with
# small command number limits, like on Digital OSF/1 and HP-UX.
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
ac_file=1 # Number of current file.
ac_beg=1 # First line for current file.
ac_end=$ac_max_sed_cmds # Line after last line for current file.
ac_more_lines=:
ac_sed_cmds=""
while $ac_more_lines; do
if test $ac_beg -gt 1; then
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
else
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
fi
if test ! -s conftest.s$ac_file; then
ac_more_lines=false
rm -f conftest.s$ac_file
else
if test -z "$ac_sed_cmds"; then
ac_sed_cmds="sed -f conftest.s$ac_file"
else
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
fi
ac_file=`expr $ac_file + 1`
ac_beg=$ac_end
ac_end=`expr $ac_end + $ac_max_sed_cmds`
fi
done
if test -z "$ac_sed_cmds"; then
ac_sed_cmds=cat
fi
EOF
cat >> $CONFIG_STATUS <<EOF
CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case "$ac_file" in
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
*) ac_file_in="${ac_file}.in" ;;
esac
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
# Remove last slash and all that follows it. Not all systems have dirname.
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
# The file is in a subdirectory.
test ! -d "$ac_dir" && mkdir "$ac_dir"
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
# A "../" for each directory in $ac_dir_suffix.
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
else
ac_dir_suffix= ac_dots=
fi
case "$ac_given_srcdir" in
.) srcdir=.
if test -z "$ac_dots"; then top_srcdir=.
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
*) # Relative path.
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
echo creating "$ac_file"
rm -f "$ac_file"
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
case "$ac_file" in
*Makefile*) ac_comsub="1i\\
# $configure_input" ;;
*) ac_comsub= ;;
esac
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
sed -e "$ac_comsub
s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g
s%@top_srcdir@%$top_srcdir%g
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
fi; done
rm -f conftest.s*
EOF
cat >> $CONFIG_STATUS <<EOF
EOF
cat >> $CONFIG_STATUS <<\EOF
exit 0
EOF
chmod +x $CONFIG_STATUS
rm -fr confdefs* $ac_clean_files
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1

View File

@@ -0,0 +1,15 @@
dnl Process this file file with autoconf to produce a configure script.
dnl This file is a shell script fragment that supplies the information
dnl necessary to tailor a template configure script into the configure
dnl script appropriate for this directory. For more information, check
dnl any existing configure script.
AC_PREREQ(2.5)
AC_INIT(dollar.exp)
CC=${CC-cc}
AC_SUBST(CC)
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../../..)
AC_CANONICAL_SYSTEM
AC_OUTPUT(Makefile)

View File

@@ -0,0 +1,10 @@
#ifdef PROTOTYPES
int main (int argc, char **argv)
#else
main (argc, argv, envp)
int argc;
char **argv;
#endif
{
return 0;
}

View File

@@ -0,0 +1,155 @@
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# GDB tests for names beginning with '$'
# This is aimed at HP-UX systems where a lot of system
# routines and names begin with '$' or '$$'. GDB 4.16 was
# unable to deal with these names as they clashed with
# convenience variables. Wildebeest should accept such
# names in preference to convenience variables.
# This file was written by Satish Pai <pai@apollo.hp.com>
# 1997-09-24
if $tracelevel then {
strace $tracelevel
}
#
# test running programs
#
set prms_id 0
set bug_id 0
if { [skip_hp_tests] } { continue }
set testfile "dollar"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
#source ${binfile}.ci
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
#
# set it up at a breakpoint so we can play with the variable values
#
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
}
# Test for millicode routines
# hppa2.0w does not support dyncall
if ![istarget "hppa2.0w*-*-*"] {
send_gdb "print \$\$dyncall\n"
gdb_expect {
-re "\\$\[0-9\]* = \\{<text variable, no debug info>\\} $hex <>.*$gdb_prompt $" { pass "print \$\$dyncall" }
-re "\\$\[0-9\]* = \\{<text variable, no debug info>\\} $hex <.*dyncall>.*$gdb_prompt $" { pass "print \$\$dyncall" }
-re "\\$\[0-9\]* = void" { fail "print \$\$dyncall -- interpreted as convenience var" }
-re "$gdb_prompt $" { fail "print \$\$dyncall" }
timeout { fail "(timeout) print \$\$dyncall" }
}
send_gdb "print \$\$dyncall_external\n"
gdb_expect {
-re "\\$\[0-9\]* = \\{<text variable, no debug info>\\} $hex <>.*$gdb_prompt $" { pass "print \$\$dyncall_external" }
-re "\\$\[0-9\]* = \\{<text variable, no debug info>\\} $hex <.*dyncall_external>.*$gdb_prompt $" { pass "print \$\$dyncall_external" }
-re "\\$\[0-9\]* = void" { fail "print \$\$dyncall_external -- interpreted as convenience var" }
-re "$gdb_prompt $" { fail "print \$\$dyncall_external" }
timeout { fail "(timeout) print \$\$dyncall_external" }
}
# Set a breakpoint on a millicode routine
send_gdb "break \$\$dyncall\n"
gdb_expect {
-re "Breakpoint \[0-9\]* at $hex.*$gdb_prompt $" { pass "break \$\$dyncall" }
-re "Function.*not defined.*$gdb_prompt $" {fail "break \$\$dyncall -- no \$\$dyncall?" }
-re "Convenience variables used in line specs must have integer values\\..*$gdb_prompt $" {
fail "break \$\$dyncall -- treated as convenince variable"
}
-re "$gdb_prompt $" { fail "print break \$\$dyncall" }
timeout { fail "(timeout) print break \$\$dyncall" }
}
# Disassemble $$dyncall
send_gdb "disassemble \$\$dyncall\n"
gdb_expect {
-re "Dump of assembler code for function.*$gdb_prompt $" { pass "disas \$\$dyncall" }
-re "$gdb_prompt $" { fail "disas \$\$dyncall" }
timeout { fail "(timeout) disas \$\$dyncall" }
}
# Try to set $$dyncall like a convenience var.
send_gdb "set \$\$dyncall = 77\n"
gdb_expect {
-re "Invalid cast.*$gdb_prompt $" { pass "set \$\$dyncall = 77" }
-re "$gdb_prompt $" { fail "set \$\$dyncall = 77" }
timeout { fail "(timeout) set \$\$dyncall = 77" }
}
}
# Try out some other $ name, not millicode
if [istarget "hppa2.0w*-*-*"] {
#hppa2.0w uses __argv instead of $ARGV.
send_gdb "print \__argv\n"
gdb_expect {
-re "\\$\[0-9\]* = \[0-9\]*.*$gdb_prompt $" { pass "print \__argv" }
-re "\\$\[0-9\]* = void.*$gdb_prompt $" {
fail "print \__argv (interpreted as convenience var)"
}
-re "$gdb_prompt $" { fail "print \__argv" }
timeout { fail "(timeout) print \__argv" }
}
send_gdb "ptype \__argv\n"
gdb_expect {
-re "type = <data variable, no debug info>.*$gdb_prompt $" {
pass "ptype \__argv"
}
-re "type = void.*$gdb_prompt $" {
fail "ptype \__argv (interpreted as convenience var)"
}
-re "$gdb_prompt $" { fail "ptype \__argv" }
timeout { fail "(timeout) ptype \__argv" }
}
} else {
send_gdb "print \$ARGV\n"
gdb_expect {
-re "\\$\[0-9\]* = \[0-9\]*.*$gdb_prompt $" { pass "print \$ARGV" }
-re "\\$\[0-9\]* = void.*$gdb_prompt $" { fail "print \$ARGV (interpreted as convenience var)" }
-re "$gdb_prompt $" { fail "print \$ARGV" }
timeout { fail "(timeout) print \$ARGV" }
}
send_gdb "ptype \$ARGV\n"
gdb_expect {
-re "type = <data variable, no debug info>.*$gdb_prompt $" { pass "ptype \$ARGV" }
-re "type = void.*$gdb_prompt $" { fail "ptype \$ARGV (interpreted as convenience var)" }
-re "$gdb_prompt $" { fail "ptype \$ARGV" }
timeout { fail "(timeout) ptype \$ARGV" }
}
}

View File

@@ -0,0 +1,229 @@
/*
* Program to generate the so-thresh testcase,
* including associated linked-against shared libraries.
* Build as:
*
* cc -g -o genso-thresh genso-thresh.c
*
* Invoke as:
*
* genso-thresh
*
* It will put all the code in the current directory (".").
*
* A makefile can also be generated if the -makemake option is used.
* To use the makefile:
*
* make -f so-thresh.mk all
*
* The name of the application is
*
* so-thresh
*
* (Revised from a program by John Bishop. --rehrauer)
*/
#include <stdio.h>
#include <sys/stat.h>
#include <sys/fcntl.h>
int main (argc, argv)
int argc;
char **argv;
{
#define NUMBER_OF_INT_VARS 1500
#define NUMBER_OF_LIBS 3
int lib_num = NUMBER_OF_LIBS;
int i;
int i2;
FILE *main_file;
FILE *lib_file;
FILE *make_file;
FILE *link_file;
char testcase_name [1000];
char linkfile_name [1000];
char makefile_name [1000];
char mainfile_name [1000];
char file_name[100];
/*
* 0123456789 <-- length of field
* "./fil0000000002.c"; <-- typical filename
* 12345678901234567890 <-- length of string
* 10 20
* ^where null goes
*/
char file_name_core[100];
/* Verify input.
*/
if ((argc < 1) || (argc > 2) || (argv == NULL) ||
((argc == 2) && (strcmp (argv[1], "-makemake") != 0)))
{
printf ("** Syntax: %s [-makemake]\n", argv[0]);
return;
}
if (strncmp (argv[0], "gen", 3) != 0)
{
printf ("** This tool expected to be named \"gen<something>\"\n");
return;
}
strcpy (testcase_name, argv[0]+3);
strcpy (linkfile_name, testcase_name);
strcat (linkfile_name, ".lopt");
link_file = fopen (linkfile_name, "w");
fprintf (link_file, "# Linker options for %s test\n", testcase_name);
/* Generate the makefile, if requested.
*/
if (argc == 2)
{
strcpy (makefile_name, testcase_name);
strcat (makefile_name, ".mk.new");
make_file = fopen (makefile_name, "w");
printf (" Note: New makefile (%s) generated.\n", makefile_name);
printf (" May want to update existing makefile, if any.\n");
fprintf (make_file, "# Generated automatically by %s\n", argv[0]);
fprintf (make_file, "# Make file for %s test\n", testcase_name);
fprintf (make_file, "\n");
fprintf (make_file, "CFLAGS = +DA1.1 -g\n");
fprintf (make_file, "\n");
fprintf (make_file, "# This is how to build this generator.\n");
fprintf (make_file, "%s.o: %s.c\n", argv[0], argv[0]);
fprintf (make_file, "\t$(CC) $(CFLAGS) -o %s.o -c %s.c\n", argv[0], argv[0]);
fprintf (make_file, "%s: %s.o\n", argv[0], argv[0]);
fprintf (make_file, "\t$(CC) $(CFLAGS) -o %s %s.o\n", argv[0], argv[0]);
fprintf (make_file, "\n");
fprintf (make_file, "# This is how to run this generator.\n");
fprintf (make_file, "# This target should be made before the 'all' target,\n");
fprintf (make_file, "# to ensure that the shlib sources are all available.\n");
fprintf (make_file, "require_shlibs: %s\n", argv[0]);
for (i=0; i < lib_num; i++)
{
fprintf (make_file, "\tif ! [ -a lib%2.2d_%s.c ] ; then \\\n", i, testcase_name);
fprintf (make_file, "\t %s ; \\\n", argv[0]);
fprintf (make_file, "\tfi\n");
}
fprintf (make_file, "\n");
fprintf (make_file, "# This is how to build all the shlibs.\n");
fprintf (make_file, "# Be sure to first make the require_shlibs target!\n");
for (i=0; i < lib_num; i++)
{
fprintf (make_file, "lib%2.2d_%s.o: lib%2.2d_%s.c\n", i, testcase_name, i, testcase_name);
fprintf (make_file, "\t$(CC) $(CFLAGS) +Z -o lib%2.2d_%s.o -c lib%2.2d_%s.c\n", i, testcase_name, i, testcase_name);
fprintf (make_file, "lib%2.2d-%s.sl: lib%2.2d-%s.o\n", i, testcase_name, i, testcase_name);
fprintf (make_file, "\t$(LD) $(LDFLAGS) -b -o lib%2.2d-%s.sl lib%2.2d-%s.o\n", i, testcase_name, i, testcase_name);
}
fprintf (make_file, "\n");
fprintf (make_file, "# For convenience, here's names for all pieces of all shlibs.\n");
fprintf (make_file, "SHLIB_SOURCES = \\\n");
for (i=0; i < lib_num-1; i++)
fprintf (make_file, "\tlib%2.2d-%s.c \\\n", i, testcase_name);
fprintf (make_file, "\tlib%2.2d-%s.c\n", lib_num-1, testcase_name);
fprintf (make_file, "SHLIB_OBJECTS = $(SHLIB_SOURCES:.c=.o)\n");
fprintf (make_file, "SHLIBS = $(SHLIB_SOURCES:.c=.sl)\n");
fprintf (make_file, "SHLIB_NAMES = $(SHLIB_SOURCES:.c=)\n");
fprintf (make_file, "EXECUTABLES = $(SHLIBS) %s %s\n", argv[0], testcase_name);
fprintf (make_file, "OBJECT_FILES = $(SHLIB_OBJECTS) %s.o %s.o\n", argv[0], testcase_name);
fprintf (make_file, "\n");
fprintf (make_file, "shlib_objects: $(SHLIB_OBJECTS)\n");
fprintf (make_file, "shlibs: $(SHLIBS)\n");
fprintf (make_file, "\n");
fprintf (make_file, "# This is how to build the debuggable testcase that uses the shlibs.\n");
fprintf (make_file, "%s.o: %s.c\n", testcase_name, testcase_name);
fprintf (make_file, "\t$(CC) $(CFLAGS) -o %s.o -c %s.c\n", testcase_name, testcase_name);
fprintf (make_file, "%s: shlibs %s.o\n", testcase_name, testcase_name);
fprintf (make_file, "\t$(LD) $(LDFLAGS) -o %s -lc -L. ", testcase_name);
fprintf (make_file, "-c %s /opt/langtools/lib/end.o /lib/crt0.o %s.o\n", linkfile_name, testcase_name);
fprintf (make_file, "\n");
fprintf (make_file, "# Yeah, but you should first make the require_shlibs target!\n");
fprintf (make_file, "all: %s %s\n", testcase_name, argv[0]);
fprintf (make_file, "\n");
fprintf (make_file, "# To remove everything built via this makefile...\n");
fprintf (make_file, "clean:\n");
/* Do this carefully, to avoid hitting silly HP-UX ARG_MAX limits... */
fprintf (make_file, "\trm -f lib0*-%s.*\n", testcase_name);
fprintf (make_file, "\trm -f lib1*-%s.*\n", testcase_name);
fprintf (make_file, "\trm -f lib2*-%s.*\n", testcase_name);
fprintf (make_file, "\trm -f lib3*-%s.*\n", testcase_name);
fprintf (make_file, "\trm -f lib4*-%s.*\n", testcase_name);
fprintf (make_file, "\trm -f lib5*-%s.*\n", testcase_name);
fprintf (make_file, "\trm -f lib6*-%s.*\n", testcase_name);
fprintf (make_file, "\trm -f lib7*-%s.*\n", testcase_name);
fprintf (make_file, "\trm -f lib8*-%s.*\n", testcase_name);
fprintf (make_file, "\trm -f lib9*-%s.*\n", testcase_name);
fprintf (make_file, "\trm -f %s %s %s %s.c\n", argv[0], testcase_name, linkfile_name, testcase_name);
fprintf (make_file, "\n");
fclose (make_file);
}
/* Generate the code for the libraries.
*/
for (i=0; i < lib_num; i++) {
/* Generate the names for the library.
*/
sprintf (file_name, "lib%2.2d-%s.c", i, testcase_name);
sprintf (file_name_core, "lib%2.2d-%s", i, testcase_name);
/* Generate the source code.
*/
lib_file = fopen (file_name, "w");
fprintf (lib_file, "/* Shared library file number %d */\n", i);
fprintf (lib_file, "#include <stdio.h>\n\n");
fprintf (lib_file, "/* The following variables largely exist to bloat this library's debug info. */\n");
fprintf (lib_file, "static char c_static_buf_%d [100];\n", i);
for (i2=0; i2<NUMBER_OF_INT_VARS; i2++)
fprintf (lib_file, "int i_%d_%d;\n", i, i2);
fprintf (lib_file, "\nint r_%d ()\n", i);
fprintf (lib_file, "{\n");
for (i2=0; i2<NUMBER_OF_INT_VARS; i2++)
fprintf (lib_file, " i_%d_%d = %d*%d;\n", i, i2, i2, i2);
fprintf (lib_file, " return 1;\n");
fprintf (lib_file, "}\n\n");
fprintf (lib_file, "/* end of generated file */\n");
fclose (lib_file);
/* Add a linker options line
*/
fprintf (link_file, "-l%2.2d-%s\n", i, testcase_name);
}
/* Generate the "main" file.
*/
strcpy (mainfile_name, testcase_name);
strcat (mainfile_name, ".c");
main_file = fopen (mainfile_name, "w");
fprintf (main_file, "/* Generated test progam with %d shared libraries. */\n\n",
lib_num);
fprintf (main_file, "#include <stdio.h>\n\n");
for (i = 0; i < lib_num; i++) {
fprintf (main_file, "extern int r_%d();\n", i);
}
fprintf (main_file, "\n");
fprintf (main_file, "int main()\n");
fprintf (main_file, "{\n");
fprintf (main_file, " int accum;\n");
fprintf (main_file, " int lib_num = %d;\n", lib_num);
for (i = 0; i < lib_num; i++) {
fprintf (main_file, " accum += r_%d();\n", i);
}
fprintf (main_file, " printf( \"Final value: %%d, should be %%d\\n\", accum, lib_num );\n\n");
fprintf (main_file, " return 0;\n");
fprintf (main_file, "}\n\n");
fprintf (main_file, "/* end of generated file */\n");
fclose (main_file);
/* Finish up the link file and the build file
*/
fclose (link_file);
}
/* End of file */

View File

@@ -0,0 +1,9 @@
/* This program raises a SIGBUS signal on HP-UX when the
pointer "bogus_p" is dereferenced.
*/
int * bogus_p = (int *)3;
int main()
{
*bogus_p = 0xdeadbeef;
}

View File

@@ -0,0 +1,83 @@
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
if $tracelevel then {
strace $tracelevel
}
set prms_id 0
set bug_id 0
if { [skip_hp_tests] } then { continue }
if { ![istarget "hppa*-*-hpux11.*"] } {
verbose "HPUX h/w watch test ignored for non-hppa or pre-HP/UX-10.30 targets."
return 0
}
set testfile "hwwatchbus"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
# build the first test case
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
if [get_compiler_info ${binfile}] {
return -1
}
# Start with a fresh gdb
gdb_exit
remote_exec build "rm -f ${binfile}.bak"
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
# We ought to be able to set a hardware watchpoint, step, and
# get a SIGBUS signal reported.
#
if ![runto_main] then {
fail "can't run to main"
return 0
}
send_gdb "watch bogus_p\n"
gdb_expect {
-re "Hardware watchpoint \[0-9\]*: bogus_p.*$gdb_prompt $"\
{pass "set h/w watchpoint"}
-re "$gdb_prompt $"\
{fail "set h/w watchpoint"}
timeout {fail "(timeout) set h/w watchpoint"}
}
send_gdb "step\n"
gdb_expect {
-re "Program received signal SIGBUS, Bus error.* in main .*${srcfile}:8.*$gdb_prompt $"\
{pass "see real SIGBUS when h/w watchpoint set"}
-re "$gdb_prompt $"\
{fail "see real SIGBUS when h/w watchpoint set"}
timeout {fail "(timeout) see real SIGBUS when h/w watchpoint set"}
}
remote_exec build "mv ${binfile} ${binfile}.bak"
return 0

View File

@@ -0,0 +1,37 @@
#include <stdio.h>
#ifdef PROTOTYPES
int callee (int x)
#else
int callee( x )
int x;
#endif
{
int y = x * x;
return (y - 2);
}
int main()
{
int i;
for (i = 1; i < 10; i++)
{
printf( "%d ", callee( i ));
}
printf( " Goodbye!\n" );
return 0;
}
/* This routine exists only for aCC. The way we compile this test is
that we use aCC for the actual compile into the object file but then
use ld directly for the link. When we do this, we get an undefined
symbol _main(). Therefore, for aCC, we have this routine in here and
ld is happy. */
#ifdef __cplusplus
extern "C" {
void _main()
{
}
}
#endif

View File

@@ -0,0 +1,128 @@
# Copyright (C) 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# This file is part of the gdb testsuite
# pxdb.exp Test that gdb calls pxdb on an application
# built without it.
#
if $tracelevel then {
strace $tracelevel
}
set prms_id 0
set bug_id 0
if { [skip_hp_tests] } then { continue }
set testfile pxdb
set srcfile ${testfile}.c
set objfile ${objdir}/${subdir}/${testfile}.o
set binfile ${objdir}/${subdir}/${testfile}
if [get_compiler_info ${binfile} "c++"] {
return -1;
}
if { $gcc_compiled } then { continue }
# To build a non-pxdb-ed file, use
#
# <compile to .o file>
# export LD_PXDB /dev/null
# ld -o hello_no_pxdb hello.o /opt/langtools/lib/end.o /usr/ccs/lib/crt0.o -lc
#
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
#
# use this to debug:
#log_user 1
# Following should get the error message:
#
# ld: (Warning) Can't exec pxdb using path: /dev/null
#
#execute_anywhere "ksh -c \"export LD_PXDB=/dev/null\""
if [istarget "hppa2.0w-*-*"] {
set cmdline "ksh -c \"LD_PXDB=/dev/null ld -o ${binfile} ${objfile} /opt/langtools/lib/pa20_64/crt0.o /opt/langtools/lib/pa20_64/end.o -lc\""
} else {
set cmdline "ksh -c \"LD_PXDB=/dev/null ld -o ${binfile} ${objfile} /usr/ccs/lib/crt0.o /opt/langtools/lib/end.o -lc\""
}
remote_exec build "rm ${binfile}"
remote_exec build $cmdline
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
# We expect to see this:
#
# "warning: File not processed by pxdb--about to process now.
# "
# ".
# "Procedures: 7
# "Files: 2
# "Reading symbols from ~/c_code.dir/hello_no_pxdb...done.
# "(gdb)
#
send_gdb "file ${binfile}\n"
gdb_expect {
-re ".*warning: File not processed by pxdb.*Procedures: \[0-9\]+.*$gdb_prompt $"\
{ pass "PXDB call" }
-re "$gdb_prompt $" {
if [istarget hppa*-*-hpux*] {
pass "Didn't call pxdb"
} else {
fail "Didn't call pxdb"
}
}
-re ".*$gdb_prompt $" { fail "Some other message" }
timeout { fail "call pxdb (timeout)" }
}
# Make sure the new data makes sense
#
if { ![runto callee] } then { return }
send_gdb "print x\n"
gdb_expect {
-re ".*= 1.*$gdb_prompt $" { pass "Good data after pxdb call" }
-re ".*$gdb_prompt $" { fail "No data after pxdb call" }
timeout { fail "(timeout)" }
}
gdb_exit
return 0

View File

@@ -0,0 +1,189 @@
# Tests of wide register displays for GDB on HPPA 2.0 machines
# Copyright 1994, 1995 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# use this to debug:
#log_user 1
if $tracelevel {
strace $tracelevel
}
if { [skip_hp_tests] } { continue }
if ![istarget "hppa*-*-*"] {
verbose "Wide register test ignored for non-hppa targets."
return 0
}
if ![istarget "hppa2.0w-hp-hpux*"] {
verbose "reg-pa64.exp is only for PA2.0W."
return 0
}
set testfile "reg-pa64"
set srcfile ${testfile}.s
set binfile ${objdir}/${subdir}/${testfile}
# To build a pa 2.0 executable
#
# as +DA2.0W -o reg-pa64 reg-pa64.s
# or
# cc +DA2.0W -g -o reg-pa64 reg-pa64.s
#
# Don't reject if there are warnings, as we expect this warning:
#
# (Warning) At least one PA 2.0 object file (pa2.0_test2.o) was detected.
# The linked output may not run on a PA 1.x system.
#
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
# test machine--there's no 2.0n architecture, so we have
# to try to run the app.
#
gdb_test "break main" "Breakpoint.*" "initial set-up"
send_gdb "run\n"
gdb_expect {
-re ".*Executable file incompatible with hardware.*$gdb_prompt $" {
# Not hppa2.0 machine
#
return 0
}
-re "Cannot exec.*$gdb_prompt $" {
# Not hppa2.0 machine
#
return 0
}
-re ".*Starting program:.*$gdb_prompt $" {
pass "Ready to start test"
}
timeout {
fail "initial set-up, part 2 (timeout)"
return 0
}
}
# Let the program set known values. This secretly deletes
# the breakpoint at main and re-runs to mainend.
#
runto mainend
# Look for known values
#
gdb_test "info reg r1" "r1 1"
gdb_test "info reg r4" "r4 2"
gdb_test "info reg r5" "r5 4"
gdb_test "info reg r6" "r6 8"
gdb_test "info reg r7" "r7 10"
gdb_test "info reg r8" "r8 20"
gdb_test "info reg r9" "r9 40"
gdb_test "info reg r10" "r10 80"
gdb_test "info reg r11" "r11 100"
gdb_test "info reg r12" "r12 200"
gdb_test "info reg r13" "r13 400"
gdb_test "info reg r14" "r14 800"
gdb_test "info reg r15" "r15 1000"
gdb_test "info reg r16" "r16 2000"
# Two odd variants that GDB supports are:
# "1" means "r1", and
# "$1" means "r1"
#
gdb_test "info reg 1 4" "r1 1.*r4 2"
gdb_test "info reg \$1" "r1 1"
# Verify that GDB responds gracefully to a register ID number that
# is out of range.
#
gdb_test "info reg 999" "999: invalid register"
# Make sure the floating point status and error registers
# don't show up as floating point numbers!
#
gdb_test "info reg fpsr" ".*fpsr 0.*" "fpsr"
gdb_test "info reg fpe1" ".*fpe1 .*" "fpe1"
gdb_test "info reg fpe2" ".*fpe2 .*" "fpe2"
gdb_test "info reg fpe3" ".*fpe3 .*" "fpe3"
#DTS CLLbs16708
#info reg should recognize fpe4..fpe7.
setup_xfail hppa2.0w-hp-hpux* CLLbs16708
gdb_test "info reg fpe4" ".*fpe4 .*" "fpe4"
setup_xfail hppa2.0w-hp-hpux* CLLbs16708
gdb_test "info reg fpe5" ".*fpe5 .*" "fpe5"
setup_xfail hppa2.0w-hp-hpux* CLLbs16708
gdb_test "info reg fpe6" ".*fpe6 .*" "fpe6"
setup_xfail hppa2.0w-hp-hpux* CLLbs16708
gdb_test "info reg fpe7" ".*fpe7 .*" "fpe7"
gdb_test "info reg fr4" ".*fr4.*(double precision).* 1.*"
gdb_test "info reg fr5" ".*fr5.*(double precision).* 2.*"
gdb_test "info reg fr6" ".*fr6.*(double precision).* 2.*"
gdb_test "info reg fr7" ".*fr7.*(double precision).* 4.*"
gdb_test "info reg fr8" ".*fr8.*(double precision).* 8.*"
gdb_test "info reg fr9" ".*fr9.*(double precision).* 32.*"
gdb_test "info reg fr10" ".*fr10.*(double precision).* 256.*"
gdb_test "info reg r19" "r19 deadbeefbadcadee"
# Need to add test of use of $<register-name>
#
# Q: How do you say a literal "$" in expect?
# A: You say "\$". A literal "\" is "\\".
#
# Please note that this test will fail as long as we are running
# in 32-bit mode: it will produce "$1 = 0xbadcadee". To fix it
# would require building a real 64-bit gdb (expression evaluation,
# in particular).
#
send_gdb "p/x \$r19\n"
gdb_expect {
-re ".*= 0xdeadbeefbadcadee.*$gdb_prompt $" {
pass "64-bit works"
}
-re ".*= 0xbadcadee.*$gdb_prompt $" {
pass "32-bit extract when using PRINT; expected but not good"
}
-re ".*$gdb_prompt $" {
fail "didn't print any part of right value"
}
timeout {
fail "timeout on print"
}
}
# Need to add tests of setting wide regs too. E.g.
#
# set $r4 = 0x1234567890123456
# p/x $r4
#
# done
#
gdb_exit
return 0

View File

@@ -0,0 +1,104 @@
; assemble as "as -o reg-pa64 reg-pa64.s"
; or
; cc -g -o +DA2.0W
;
; PA-RISC 2.0 register contents test.
;
.level 2.0W
.code
.export main,ENTRY
.export mainend,CODE
.export lab1,CODE
.space $TEXT$
.subspa $CODE$
one
.align 8
.stringz "?\xF0\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00"
main
.proc
.callinfo NO_CALLS,FRAME=0
.entry
;; Test we have right register numbers
;;
ADD %r0,%r0,%r1 ; 0
LDI 1,%r1 ; 1
;;
;; Don't put anything into r2 or r3--they are special registers.
;;
ADD %r1,%r1,%r4 ; 2
ADD %r4,%r4,%r5 ; 4
ADD %r5,%r5,%r6 ; 8
ADD %r6,%r6,%r7 ; 16
ADD %r7,%r7,%r8 ; 32
ADD %r8,%r8,%r9 ; 64
ADD %r9,%r9,%r10 ; 128
ADD %r10,%r10,%r11 ; 256
ADD %r11,%r11,%r12 ; 512
ADD %r12,%r12,%r13 ; 1024
ADD %r13,%r13,%r14 ; 2048
ADD %r14,%r14,%r15 ; 4096
ADD %r15,%r15,%r16 ; 9192
;; Test high bits, to be sure we show them.
;;
LDI 0xde,%r19 ; "de"
DEPD,Z %r19,55,56,%r19 ; "de00"
LDI 0xad,%r18 ; "ad"
ADD %r18,%r19,%r19 ; "dead"
DEPD,Z %r19,55,56,%r19 ; "dead00"
LDI 0xbe,%r18 ; "be"
ADD %r18,%r19,%r19 ; "deadbe"
DEPD,Z %r19,55,56,%r19 ; "deadbe00"
LDI 0xef,%r18 ; "ef"
ADD %r18,%r19,%r19 ; "deadbeef"
;
DEPD,Z %r19,55,56,%r19 ; "deadbeef00"
LDI 0xba,%r18 ; "ba"
ADD %r18,%r19,%r19 ; "deadbeefba"
DEPD,Z %r19,55,56,%r19 ; "deadbeefba00"
LDI 0xdc,%r18 ; "dc"
ADD %r18,%r19,%r19 ; "deadbeefbadc"
DEPD,Z %r19,55,56,%r19 ; "deadbeefbadc00"
LDI 0xad,%r18 ; "ad"
ADD %r18,%r19,%r19 ; "deadbeefbadcad"
DEPD,Z %r19,55,56,%r19 ; "deadbeefbadcad00"
LDI 0xee,%r18 ; "ee"
ADD %r18,%r19,%r19 ; "deadbeefbadcadee"
lab1 ;; Test floating point registers
;;
;; LDIL LR'one,%r22 ;
;; FLDD RR'one(%r22),%fr4 ; 1.0
;; FLDD RR'one+8(%r22),%fr5 ; 2.0
;; FLDD RR'one+8(%r22),%fr6 ; 2.0
B,L here,%r2
NOP
here DEPDI 0x0,63,2,%r2
LDO one-here(%r2),%r2
FLDD 0(%r2),%fr4
FLDD 8(%r2),%fr5
FLDD 8(%r2),%fr6
FMPY,DBL %fr5,%fr6,%fr7 ; 4.0
FMPY,DBL %fr6,%fr7,%fr8 ; 8.0
FMPY,DBL %fr7,%fr8,%fr9 ; 32.0
FMPY,DBL %fr8,%fr9,%fr10 ; 256.0
;; The NOP prevents anything from end.o or crt0.o from
;; being appended immediately after "mainend". If that
;; happens, then we may have other labels that have the
;; same address as "mainend", and thus the debugger
;; may symbolize this PC to something other than "mainend".
mainend
NOP
.exit
.procend
.space $TEXT$
.subspa $CODE$
.subspa $LIT$ ;; <don't use> ,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=16
.end

View File

@@ -0,0 +1,192 @@
# Copyright (C) 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# Tests of wide register displays for GDB on HPPA 2.0 machines
# use this to debug:
#log_user 1
if $tracelevel then {
strace $tracelevel
}
if { [skip_hp_tests] } then { continue }
set testfile "reg"
if [istarget "hppa2.0w-hp-hpux*"] {
verbose "reg.exp is not for PA2.0W."
return 0
}
set srcfile ${testfile}.s
set binfile ${objdir}/${subdir}/${testfile}
# To build a pa 2.0 executable
#
# as -o reg reg.s
# or
# cc -g -o reg reg.s
#
# The +DA2.0N flag doesn't seem to be needed.
#
# Don't reject if there are warnings, as we expect this warning:
#
# (Warning) At least one PA 2.0 object file (pa2.0_test2.o) was detected.
# The linked output may not run on a PA 1.x system.
#
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
# test machine--there's no 2.0n architecture, so we have
# to try to run the app.
#
send_gdb "break main\n"
gdb_expect {
-re "Breakpoint.*$gdb_prompt $" {
pass "initial set-up"
}
-re ".*$gdb_prompt $" {
fail "initial set-up"
}
timeout {
fail "initial set-up (timeout)"
}
}
send_gdb "run\n"
gdb_expect {
-re ".*Executable file incompatible with hardware.*$gdb_prompt $" {
# Not hppa2.0 machine
#
return 0
}
-re "Cannot exec.*$gdb_prompt $" {
# Not hppa2.0 machine
#
return 0
}
-re ".*Starting program:.*$gdb_prompt $" {
pass "Ready to start test"
}
timeout {
fail "initial set-up, part 2 (timeout)"
return 0
}
}
# Let the program set known values. This secretly deletes
# the breakpoint at main and re-runs to mainend.
#
runto mainend
# Look for known values
#
gdb_test "info reg r1" "r1 1"
gdb_test "info reg r4" "r4 2"
gdb_test "info reg r5" "r5 4"
gdb_test "info reg r6" "r6 8"
gdb_test "info reg r7" "r7 10"
gdb_test "info reg r8" "r8 20"
gdb_test "info reg r9" "r9 40"
gdb_test "info reg r10" "r10 80"
gdb_test "info reg r11" "r11 100"
gdb_test "info reg r12" "r12 200"
gdb_test "info reg r13" "r13 400"
gdb_test "info reg r14" "r14 800"
gdb_test "info reg r15" "r15 1000"
gdb_test "info reg r16" "r16 2000"
# Two odd variants that GDB supports are:
# "1" means "r1", and
# "$1" means "r1"
#
gdb_test "info reg 1 4" "r1 1.*r4 2"
gdb_test "info reg \$1" "r1 1"
# Verify that GDB responds gracefully to a register ID number that
# is out of range.
#
gdb_test "info reg 999" "999: invalid register"
# Make sure the floating point status and error registers
# don't show up as floating point numbers!
#
gdb_test "info reg fpsr" ".*fpsr 0.*" "fpsr"
gdb_test "info reg fpe1" ".*fpe1 0.*" "fpe1"
gdb_test "info reg fpe2" ".*fpe2 0.*" "fpe2"
gdb_test "info reg fpe3" ".*fpe3 0.*" "fpe3"
gdb_test "info reg fpe4" ".*fpe4 0.*" "fpe4"
gdb_test "info reg fpe5" ".*fpe5 0.*" "fpe5"
gdb_test "info reg fpe6" ".*fpe6 0.*" "fpe6"
gdb_test "info reg fpe7" ".*fpe7 0.*" "fpe7"
gdb_test "info reg fr4" ".*fr4.*(double precision).* 1"
gdb_test "info reg fr5" ".*fr5.*(double precision).* 2"
gdb_test "info reg fr6" ".*fr6.*(double precision).* 2"
gdb_test "info reg fr7" ".*fr7.*(double precision).* 4"
gdb_test "info reg fr8" ".*fr8.*(double precision).* 8"
gdb_test "info reg fr9" ".*fr9.*(double precision).* 32"
gdb_test "info reg fr10" ".*fr10.*(double precision).* 256"
gdb_test "info reg r19" "r19 deadbeefbadcadee"
# Need to add test of use of $<register-name>
#
# Q: How do you say a literal "$" in expect?
# A: You say "\$". A literal "\" is "\\".
#
# Please note that this test will fail as long as we are running
# in 32-bit mode: it will produce "$1 = 0xbadcadee". To fix it
# would require building a real 64-bit gdb (expression evaluation,
# in particular).
#
send_gdb "p/x \$r19\n"
gdb_expect {
-re ".*= 0xdeadbeefbadcadee.*$gdb_prompt $" {
pass "64-bit works"
}
-re ".*= 0xbadcadee.*$gdb_prompt $" {
pass "32-bit extract when using PRINT; expected but not good"
}
-re ".*$gdb_prompt $" {
fail "didn't print any part of right value"
}
timeout {
fail "timeout on print"
}
}
# Need to add tests of setting wide regs too. E.g.
#
# set $r4 = 0x1234567890123456
# p/x $r4
#
# done
#
gdb_exit
return 0

View File

@@ -0,0 +1,96 @@
; assemble as "as -o reg reg.s"
; or
; cc -g -o +DA2.0N
;
; PA-RISC 2.0 register contents test.
;
.level 2.0
.code
.export main,ENTRY
.export mainend,CODE
.export lab1,CODE
.space $TEXT$
.subspa $CODE$
main
.proc
.callinfo NO_CALLS,FRAME=0
.entry
;; Test we have right register numbers
;;
ADD %r0,%r0,%r1 ; 0
LDI 1,%r1 ; 1
;;
;; Don't put anything into r2 or r3--they are special registers.
;;
ADD %r1,%r1,%r4 ; 2
ADD %r4,%r4,%r5 ; 4
ADD %r5,%r5,%r6 ; 8
ADD %r6,%r6,%r7 ; 16
ADD %r7,%r7,%r8 ; 32
ADD %r8,%r8,%r9 ; 64
ADD %r9,%r9,%r10 ; 128
ADD %r10,%r10,%r11 ; 256
ADD %r11,%r11,%r12 ; 512
ADD %r12,%r12,%r13 ; 1024
ADD %r13,%r13,%r14 ; 2048
ADD %r14,%r14,%r15 ; 4096
ADD %r15,%r15,%r16 ; 9192
;; Test high bits, to be sure we show them.
;;
LDI 0xde,%r19 ; "de"
DEPD,Z %r19,55,56,%r19 ; "de00"
LDI 0xad,%r18 ; "ad"
ADD %r18,%r19,%r19 ; "dead"
DEPD,Z %r19,55,56,%r19 ; "dead00"
LDI 0xbe,%r18 ; "be"
ADD %r18,%r19,%r19 ; "deadbe"
DEPD,Z %r19,55,56,%r19 ; "deadbe00"
LDI 0xef,%r18 ; "ef"
ADD %r18,%r19,%r19 ; "deadbeef"
;
DEPD,Z %r19,55,56,%r19 ; "deadbeef00"
LDI 0xba,%r18 ; "ba"
ADD %r18,%r19,%r19 ; "deadbeefba"
DEPD,Z %r19,55,56,%r19 ; "deadbeefba00"
LDI 0xdc,%r18 ; "dc"
ADD %r18,%r19,%r19 ; "deadbeefbadc"
DEPD,Z %r19,55,56,%r19 ; "deadbeefbadc00"
LDI 0xad,%r18 ; "ad"
ADD %r18,%r19,%r19 ; "deadbeefbadcad"
DEPD,Z %r19,55,56,%r19 ; "deadbeefbadcad00"
LDI 0xee,%r18 ; "ee"
ADD %r18,%r19,%r19 ; "deadbeefbadcadee"
lab1 ;; Test floating point registers
;;
LDIL LR'one,%r22 ;
FLDD RR'one(%r22),%fr4 ; 1.0
FLDD RR'one+8(%r22),%fr5 ; 2.0
FLDD RR'one+8(%r22),%fr6 ; 2.0
FMPY,DBL %fr5,%fr6,%fr7 ; 4.0
FMPY,DBL %fr6,%fr7,%fr8 ; 8.0
FMPY,DBL %fr7,%fr8,%fr9 ; 32.0
FMPY,DBL %fr8,%fr9,%fr10 ; 256.0
;; The NOP prevents anything from end.o or crt0.o from
;; being appended immediately after "mainend". If that
;; happens, then we may have other labels that have the
;; same address as "mainend", and thus the debugger
;; may symbolize this PC to something other than "mainend".
mainend
NOP
.exit
.procend
.space $TEXT$
.subspa $CODE$
.subspa $LIT$ ;; <don't use> ,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=16
one
.align 8
.stringz "?\xF0\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00"
.end

View File

@@ -0,0 +1,43 @@
enum Normal {
red,
blue,
green
};
short enum Small {
pink,
cyan,
grey
};
char enum Tiny {
orange,
yellow,
brown
};
main()
{
enum Normal normal[3];
short enum Small small[3];
char enum Tiny tiny[3];
int i;
for (i=0; i < 3; i++)
{
normal[i] = (enum Normal) i;
small[i] = (short enum Small) i;
tiny[i] = (char enum Tiny) i;
}
normal[0] = 0; /* place to hang a breakpoint */
}

View File

@@ -0,0 +1,165 @@
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# GDB tests for sized enumerations
# This is aimed at HP-UX systems. The HP C compiler
# allows specifying "char" or "short" for an enum, to
# indicate that it is 1 or 2 bytes long.
# This file was written by Satish Pai <pai@apollo.hp.com>
# 1997-09-24
if $tracelevel then {
strace $tracelevel
}
#
# test running programs
#
set prms_id 0
set bug_id 0
if { [skip_hp_tests] } then { continue }
set testfile "sized-enum"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
if [get_compiler_info ${binfile}] {
return -1
}
if { $gcc_compiled } then { continue }
if {$hp_aCC_compiler} {continue}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
#
# set it up at a breakpoint so we can play with the variable values
#
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
}
# set a breakpoint and go there
send_gdb "break 34\n"
gdb_expect {
-re "Breakpoint.*line 34.*$gdb_prompt $" { pass "set break 34" }
-re "$gdb_prompt $" { fail "set break 34" }
timeout { fail "(timeout) set break 34" }
}
send_gdb "continue\n"
gdb_expect {
-re "Continuing\\.\r\n\r\nBreakpoint \[0-9\]*, main....at.*sized-enum\\.c:34\r\n34.*\r\n$gdb_prompt $" { pass "continue" }
-re "$gdb_prompt $" { fail "continue" }
timeout { fail "(timeout) continue" }
}
# print stuff
send_gdb "print normal\n"
gdb_expect {
-re "\\$\[0-9\]* = \\{red, blue, green\\}.*$gdb_prompt $" { pass "print normal" }
-re "$gdb_prompt $" { fail "print normal" }
timeout { fail "(timeout) print normal" }
}
send_gdb "print small\n"
gdb_expect {
-re "\\$\[0-9\]* = \\{pink, cyan, grey\\}.*$gdb_prompt $" { pass "print small" }
-re "$gdb_prompt $" { fail "print small" }
timeout { fail "(timeout) print small" }
}
send_gdb "print tiny\n"
gdb_expect {
-re "\\$\[0-9\]* = \\{orange, yellow, brown\\}.*$gdb_prompt $" { pass "print tiny" }
-re "$gdb_prompt $" { fail "print tiny" }
timeout { fail "(timeout) print tiny" }
}
# print type sizes
send_gdb "print sizeof (Normal)\n"
gdb_expect {
-re "\\$\[0-9\]* = 4.*$gdb_prompt $" { pass "print sizeof (Normal)" }
-re "$gdb_prompt $" { fail "print sizeof (Normal)" }
timeout { fail "(timeout) print sizeof (Normal)" }
}
send_gdb "print sizeof (Small)\n"
gdb_expect {
-re "\\$\[0-9\]* = 2.*$gdb_prompt $" { pass "print sizeof (Small)" }
-re "$gdb_prompt $" { fail "print sizeof (Small)" }
timeout { fail "(timeout) print sizeof (Small)" }
}
send_gdb "print sizeof (Tiny)\n"
gdb_expect {
-re "\\$\[0-9\]* = 1.*$gdb_prompt $" { pass "print sizeof (Tiny)" }
-re "$gdb_prompt $" { fail "print sizeof (Tiny)" }
timeout { fail "(timeout) print sizeof (Tiny)" }
}
# print types
send_gdb "ptype normal\n"
gdb_expect {
-re "type = enum Normal \\{red, blue, green\\} \\\[3\\\].*$gdb_prompt $" { pass "ptype normal" }
-re "$gdb_prompt $" { fail "ptype normal" }
timeout { fail "(timeout) ptype normal" }
}
send_gdb "ptype small\n"
gdb_expect {
-re "type = short enum Small \\{pink, cyan, grey\\} \\\[3\\\].*$gdb_prompt $" { pass "ptype small" }
-re "$gdb_prompt $" { fail "ptype small" }
timeout { fail "(timeout) ptype small" }
}
send_gdb "ptype tiny\n"
gdb_expect {
-re "type = char enum Tiny \\{orange, yellow, brown\\} \\\[3\\\].*$gdb_prompt $" { pass "ptype tiny" }
-re "$gdb_prompt $" { fail "ptype tiny" }
timeout { fail "(timeout) ptype tiny" }
}
# convert to int
send_gdb "print (int) blue\n"
gdb_expect {
-re "\\$\[0-9\]* = 1.*$gdb_prompt $" { pass "print (int) blue" }
-re "$gdb_prompt $" { fail "print (int) blue" }
timeout { fail "(timeout) print (int) blue" }
}
send_gdb "print (int) cyan\n"
gdb_expect {
-re "\\$\[0-9\]* = 1.*$gdb_prompt $" { pass "print (int) cyan" }
-re "$gdb_prompt $" { fail "print (int) cyan" }
timeout { fail "(timeout) print (int) cyan" }
}
send_gdb "print (int) yellow\n"
gdb_expect {
-re "\\$\[0-9\]* = 1.*$gdb_prompt $" { pass "print (int) yellow" }
-re "$gdb_prompt $" { fail "print (int) yellow" }
timeout { fail "(timeout) print (int) yellow" }
}

View File

@@ -0,0 +1,346 @@
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
if $tracelevel then {
strace $tracelevel
}
set prms_id 0
set bug_id 0
if { [skip_hp_tests] } then { continue }
set testfile "so-thresh"
set binfile ${objdir}/${subdir}/${testfile}
if [get_compiler_info ${binfile}] {
return -1
}
# This testcase is relatively large, and therefore can take awhile to
# load. We'd best set the timeout to something suitable, or we may
# seem to fail...
#
set timeout 60
# Build procedure for this testcase:
# ${srcdir}/${subdir}/so-thresh.sh ${subdir}
# which calls,
# make -f ${srcdir}/${subdir}/so-thresh.mk <targets> <macros>
# which builds,
# genso-thresh (from genso-thresh.c)
# which generates,
# lib00-so-thresh.c
# lib01-so-thresh.c
# lib02-so-thresh.c
# so-thresh.lopt (link options file)
# lib0*-so-thresh.sl (from .c files above)
# so-thresh (from so-thresh.c)
# using lib0*-so-thresh.sl and so-thresh.lopt
#
# Since so-thresh.mk requires SRCDIR and OBJDIR macro definitions,
# and SRCDIR / OBJDIR could be in relative path format, we use
# so-thresh.sh script to pin down SRCDIR / OBJDIR (using $PWD/ prefix
# when detected relative path values for srcdir / objdir), before the
# 'cd $subdir' call (when this can be done in TCL here, we can call
# make directly instead).
#
# remote_exec build "sh -c \\\"cd ${objdir}/${subdir}\\; make -v -f ${srcdir}/${subdir}/${testfile}.mk clean require_shlibs all SRCDIR=${srcdir}/${subdir} OBJDIR=${objdir}/${subdir}\\\""
send_user "Making with '${srcdir}/${subdir}/${testfile}.sh $subdir ...\n"
remote_exec build "${srcdir}/${subdir}/${testfile}.sh $subdir"
# Only HP-UX (and any other platforms using SOM shared libraries, I
# guess) interprets the auto-solib-add variable as a threshhold,
# rather than a boolean that strictly enables or disables automatic
# loading of shlib symbol tables.
#
# On HP-UX, it is the size threshhold (in megabytes) at which to
# stop auto loading of symbol tables.
#
if ![istarget "hppa*-hp-hpux*"] then {
setup_xfail "*-*-*"
}
# Start with a fresh gdb
#
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
# This is a test of gdb's ability on HP-UX to stop automatically
# loading symbols of shared libraries, when the total size of the
# debugger's symbol table reaches a specified threshhold.
#
# On HP-UX, the help text for auto-solib-add mentions that it
# serves as a threshhold.
#
send_gdb "help set auto-solib-add\n"
gdb_expect {
-re "Set autoloading size threshold .in megabytes. of shared library symbols.*
If nonzero, symbols from all shared object libraries will be loaded.*
automatically when the inferior begins execution or when the dynamic linker.*
informs gdb that a new library has been loaded, until the symbol table.*
of the program and libraries exceeds this threshold.*
Otherwise, symbols must be loaded manually, using `sharedlibrary'.*$gdb_prompt $"\
{pass "help set auto-solib-add"}
-re "$gdb_prompt $"\
{fail "help set auto-solib-add"}
timeout {fail "(timeout) help set auto-solib-add"}
}
# On HP-UX, the threshhold is by default set to 50, which means
# 50 megabytes.
#
send_gdb "show auto-solib-add\n"
gdb_expect {
-re "Autoloading size threshold .in megabytes. of shared library symbols is $decimal.*$gdb_prompt $"\
{pass "show auto-solib-add "}
-re "Autoloading size threshold \(in megabytes\) of shared library symbols is $decimal.$gdb_prompt $"\
{pass "show auto-solib-add "}
-re "$gdb_prompt $"\
{fail "show auto-solib-add "}
timeout {fail "(timeout) show auto-solib-add "}
}
send_gdb "set auto-solib-add 1\n"
gdb_expect {
-re ".*$gdb_prompt $"
{pass "set auto-solib-add to 1"}
-re ".*$gdb_prompt $"
{fail "set auto-solib-add to 1"}
timeout {fail "(timeout) set auto-solib-add to 1"}
}
# We have manually verified that our testcase exceeds 1 Mbytes
# of heap space in GDB to hold the symbols for the main program
# and all associated linked-against libraries. Thus, when we
# run to the program's main, and therefore notice all the linked-
# against shlibs, we expect to hit the threshhold.
#
# (Note that we're not using the expect [runto main] function here,
# 'cause we want to match on output from the run command.
#
send_gdb "break main\n"
gdb_expect {
-re "Breakpoint \[0-9\]* at.*$gdb_prompt $"\
{pass "1 set break at main"}
-re "$gdb_prompt $"\
{fail "1 set break at main"}
timeout {fail "(timeout) 1 set break at main"}
}
send_gdb "run\n"
gdb_expect {
-re ".*warning. Symbols for some libraries have not been loaded, because.*
doing so would exceed the size threshold specified by auto-solib-add.*
To manually load symbols, use the 'sharedlibrary' command.*
To raise the threshold, set auto-solib-add to a larger value and rerun.*
the program.*$gdb_prompt $"\
{pass "run to main hit auto-solib-add threshold"}
-re "$gdb_prompt $"\
{fail "run to main hit auto-solib-add threshold"}
timeout {fail "(timeout) run to main hit auto-solib-add threshold"}
}
# Verify that "info share" mentions something about libraries whose
# symbols weren't loaded.
#
# We'll assume that at least the last two shlib's symbols weren't
# loaded. As a side-effect of matching this pattern, the text start
# address of the last one is captured in expect_out(1,string).
# (we'll need it for the 'add-symbol-file' command in a nonce...)
#
send_gdb "info sharedlibrary\n"
gdb_expect {
-re ".*lib01_$testfile.sl .*symbols not loaded.*0x\[0-9\]* (0x\[0-9a-fA-F\]*).*$gdb_prompt $"\
{ send_gdb "add-symbol-file lib02_$testfile.sl $expect_out(1,string)\n"
gdb_expect {
-re "add symbol table.*y or n.*$"\
{send_gdb "y\n"
gdb_expect {
-re "$gdb_prompt $" {pass "add-symbol-file and info sharedlib"}
timeout {fail "(timeout) add-symbol-file and info sharedlib"}
}}
-re "$gdb_prompt $"\
{fail "add-symbol-file and info sharedlib"}
timeout {fail "(timeout) add-symbol-file and info sharedlib"}
}
}
-re "$gdb_prompt $" {
setup_xfail hppa*-*-* CHFts24108
fail "info sharedlibrary shows shlibs with unloaded symbols"
}
timeout {fail "(timeout) info sharedlibrary shows shlibs with unloaded symbols"}
}
# Verify that we can manually load the symbol table of a library
# whose symbols weren't loaded. (We'll pick the last one.)
#
# I moved this test inside the one above, because the expect_out array is not ok if the
# previous test has failed, and expect would error out (elz)
#
#send_gdb "add-symbol-file lib02_$testfile.sl $expect_out(1,string)\n"
#gdb_expect {
# -re "add symbol table.*y or n.*$"\
# {send_gdb "y\n"
# gdb_expect {
# -re "$gdb_prompt $" {pass "add-symbol-file"}
# timeout {fail "(timeout) add-symbol-file"}
# }}
# -re "$gdb_prompt $"\
# {fail "add-symbol-file"}
# timeout {fail "(timeout) add-symbol-file"}
#}
# Verify that we can manually load the symbols for all libraries
# which weren't already loaded.
#
# Warning! On a machine with little free swap space, this may
# fail!
#
send_gdb "sharedlibrary\n"
gdb_expect {
-re "Reading symbols from.*done.*$gdb_prompt $"\
{pass "sharedlibrary"}
-re "$gdb_prompt $" {
setup_xfail hppa*-*-* CHFts24108
fail "sharedlibrary"
}
timeout {fail "(timeout) sharedlibrary"}
}
# Rerun the program, this time verifying that we can set the
# threshhold high enough to avoid hitting it.
#
# It appears that gdb isn't freeing memory when rerunning, as one
# would expect. To avoid potentially hitting a virtual memory
# ceiling, start with a fresh gdb.
#
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
send_gdb "break main\n"
gdb_expect {
-re "Breakpoint \[0-9\]* at.*$gdb_prompt $"\
{pass "2 set break at main"}
-re "$gdb_prompt $"\
{fail "2 set break at main"}
timeout {fail "(timeout) 2 set break at main"}
}
send_gdb "set auto-solib-add 9999\n"
gdb_expect {
-re "$gdb_prompt $"\
{pass "set auto-solib-add threshold to practical infinity"}
timeout {fail "(timeout) set auto-solib-add threshold to practical infinity"}
}
send_gdb "run\n"
gdb_expect {
-re ".*warning. Symbols for some libraries have not been loaded, because.*
doing so would exceed the size threshold specified by auto-solib-add.*
To manually load symbols, use the 'sharedlibrary' command.*
To raise the threshold, set auto-solib-add to a larger value and rerun.*
the program.*$gdb_prompt $"\
{fail "rerun threshold at practical infinity (still hit threshold)"}
-re "$gdb_prompt $"\
{pass "rerun with threshold at practical infinity"}
timeout {fail "(timeout) rerun with threshold at practical infinity"}
}
# Rerun the program, this time altogether disabling the auto loading
# feature. There should be no information at all about shared
# libraries now.
#
# ??rehrauer: Personally, I'd call that a bug, since it doesn't give
# you the ability to manually load single shlibs (you need the text
# start address that 'info share' normall gives you). On the other
# hand, one can easily choose to load them all...
#
# It appears that gdb isn't freeing memory when rerunning, as one
# would expect. To avoid potentially hitting a virtual memory
# ceiling, start with a fresh gdb.
#
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
send_gdb "break main\n"
gdb_expect {
-re "Breakpoint \[0-9\]* at.*$gdb_prompt $"\
{pass "3 set break at main"}
-re "$gdb_prompt $"\
{fail "3 set break at main"}
timeout {fail "(timeout) 3 set break at main"}
}
send_gdb "set auto-solib-add 0\n"
gdb_expect {
-re "$gdb_prompt $"\
{pass "set auto-solib-add threshold to 0"}
timeout {fail "(timeout) set auto-solib-add threshold to 0"}
}
send_gdb "run\n"
gdb_expect {
-re ".*warning. Symbols for some libraries have not been loaded, because.*
doing so would exceed the size threshold specified by auto-solib-add.*
To manually load symbols, use the 'sharedlibrary' command.*
To raise the threshold, set auto-solib-add to a larger value and rerun.*
the program.*$gdb_prompt $"\
{fail "rerun threshold at 0 (still hit threshold)"}
-re "$gdb_prompt $"\
{pass "rerun with threshold at 0"}
timeout {fail "(timeout) rerun with threshold at 0"}
}
# Verify that we can still manually load symbols for all libraries.
# (We'll assume that if the last shlib's symbols are loaded, that
# all of them were.)
#
# Note that we set the GDB "height" variable to prevent GDB from
# prompting
#
# Warning! On a machine with little free swap space, this may
# fail!
#
send_gdb "set height 9999\n"
gdb_expect {
-re "$gdb_prompt $"\
{pass "set screen page height to practical infinity"}
timeout {fail "(timeout) set screen page height to practical infinity"}
}
send_gdb "sharedlibrary\n"
gdb_expect {
-re ".*Reading symbols from .*/lib02-so-thresh\\.sl\\.\\.\\.done\\..*$gdb_prompt $"\
{pass "manually load all symbols"}
-re "$gdb_prompt $" {
setup_xfail hppa*-*-* CHFts24108
fail "manually load all symbols (CHFts24108)"
}
timeout {fail "(timeout) manually load all symbols"}
}
return 0

View File

@@ -0,0 +1,73 @@
# Make file for so-thresh test
OBJDIR=.
SRCDIR=.
CFLAGS = +DA1.1 -g
# This is how to build this generator.
genso-thresh.o: ${SRCDIR}/genso-thresh.c
$(CC) $(CFLAGS) -o genso-thresh.o -c ${SRCDIR}/genso-thresh.c
genso-thresh: genso-thresh.o
$(CC) $(CFLAGS) -o genso-thresh genso-thresh.o
# This is how to run this generator.
# This target should be made before the 'all' target,
# to ensure that the shlib sources are all available.
require_shlibs: genso-thresh
if ! [ -a lib00-so-thresh.c ] ; then \
genso-thresh ; \
fi
if ! [ -a lib01-so-thresh.c ] ; then \
genso-thresh ; \
fi
if ! [ -a lib02-so-thresh.c ] ; then \
genso-thresh ; \
fi
# This is how to build all the shlibs.
# Be sure to first make the require_shlibs target!
lib00-so-thresh.o: lib00-so-thresh.c
$(CC) $(CFLAGS) +Z -o lib00-so-thresh.o -c lib00-so-thresh.c
lib00-so-thresh.sl: lib00-so-thresh.o
$(LD) $(LDFLAGS) -b -o lib00-so-thresh.sl lib00-so-thresh.o
lib01-so-thresh.o: lib01-so-thresh.c
$(CC) $(CFLAGS) +Z -o lib01-so-thresh.o -c lib01-so-thresh.c
lib01-so-thresh.sl: lib01-so-thresh.o
$(LD) $(LDFLAGS) -b -o lib01-so-thresh.sl lib01-so-thresh.o
lib02-so-thresh.o: lib02-so-thresh.c
$(CC) $(CFLAGS) +Z -o lib02-so-thresh.o -c lib02-so-thresh.c
lib02-so-thresh.sl: lib02-so-thresh.o
$(LD) $(LDFLAGS) -b -o lib02-so-thresh.sl lib02-so-thresh.o
# For convenience, here's names for all pieces of all shlibs.
SHLIB_SOURCES = \
lib00-so-thresh.c \
lib01-so-thresh.c \
lib02-so-thresh.c
SHLIB_OBJECTS = $(SHLIB_SOURCES:.c=.o)
SHLIBS = $(SHLIB_SOURCES:.c=.sl)
SHLIB_NAMES = $(SHLIB_SOURCES:.c=)
EXECUTABLES = $(SHLIBS) genso-thresh so-thresh
OBJECT_FILES = $(SHLIB_OBJECTS) genso-thresh.o so-thresh.o
shlib_objects: $(SHLIB_OBJECTS)
shlibs: $(SHLIBS)
# This is how to build the debuggable testcase that uses the shlibs.
so-thresh.o: so-thresh.c
$(CC) $(CFLAGS) -o so-thresh.o -c so-thresh.c
so-thresh: shlibs so-thresh.o
$(LD) $(LDFLAGS) -o so-thresh -lc -L${OBJDIR} -c so-thresh.lopt /opt/langtools/lib/end.o /lib/crt0.o so-thresh.o
# Yeah, but you should first make the require_shlibs target!
all: so-thresh genso-thresh
# To remove everything built via this makefile...
clean:
rm -f lib0*-so-thresh.*
rm -f *.o genso-thresh so-thresh.lopt so-thresh.c
rm -f so-thresh

View File

@@ -0,0 +1,34 @@
#!/bin/ksh
# so-thresh.sh
#
# This script is a "wrapper" to use the so-thresh.mk
# Makefile. See the comments in so-thresh.exp
# regarding why this script exists.
#set -o xtrace
#set -o verbose
if [ "$srcdir" = "${srcdir#/}" ]
then
srcdir="$PWD/$srcdir"
fi
if [ "$objdir" = "${objdir#/}" ]
then
objdir="$PWD/$objdir"
fi
subdir="$1"
HERE=$PWD
cd $subdir
MAKEFLAGS=
make -f ${srcdir}/${subdir}/so-thresh.mk clean require_shlibs all SRCDIR=${srcdir}/${subdir} OBJDIR=${objdir}/${subdir} > ${objdir}/${subdir}/so-thresh.make.out 2>&1
STATUS=$?
cd $HERE
echo "return STATUS is $STATUS"
exit $STATUS

View File

@@ -0,0 +1,27 @@
VPATH = @srcdir@
srcdir = @srcdir@
EXECUTABLES = xdb xdb-test
all:
@echo "Nothing to be done for all..."
info:
install-info:
dvi:
install:
uninstall: force
installcheck:
check:
clean mostlyclean:
-rm -f *~ *.o *.ci
-rm -f core $(EXECUTABLES)
distclean maintainer-clean realclean: clean
-rm -f Makefile config.status config.log
-rm -f *-init.exp
-rm -fr *.log summary detail *.plog *.sum *.psum site.*
Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in
$(SHELL) ./config.status --recheck

View File

@@ -0,0 +1,46 @@
/* This is a sample program for the HP WDB debugger. */
#include <stdio.h>
#include <stdlib.h>
#ifdef PROTOTYPES
extern int sum(int *, int, int);
#else
extern int sum();
#endif
#define num 10
static int my_list[num] = {3,4,2,0,2,1,8,3,6,7};
#ifdef __STDC__
void print_average(int *list, int low, int high)
#else
void print_average(list, low, high)
int *list, low, high;
#endif
{
int total = 0, num_elements = 0, average = 0;
total = sum(list, low, high);
num_elements = high - low; /* note this is an off-by-one bug */
average = total / num_elements;
printf("%10.d\n", average);
}
#ifdef __STDC__
int main(void)
#else
main ()
#endif
{
char c;
int first = 0, last = 0;
last = num-1;
/* Try two test cases. */
print_average (my_list, first, last);
print_average (my_list, first, last - 3);
exit(0);
}

899
gdb/testsuite/gdb.hp/gdb.compat/configure vendored Executable file
View File

@@ -0,0 +1,899 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.12.1
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
# Defaults:
ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
# Initialize some variables set by options.
# The variables have the same names as the options, with
# dashes changed to underlines.
build=NONE
cache_file=./config.cache
exec_prefix=NONE
host=NONE
no_create=
nonopt=NONE
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
target=NONE
verbose=
x_includes=NONE
x_libraries=NONE
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
infodir='${prefix}/info'
mandir='${prefix}/man'
# Initialize some other variables.
subdirs=
MFLAGS= MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
# Maximum number of lines to put in a shell here document.
ac_max_here_lines=12
ac_prev=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval "$ac_prev=\$ac_option"
ac_prev=
continue
fi
case "$ac_option" in
-*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) ac_optarg= ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case "$ac_option" in
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir="$ac_optarg" ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build="$ac_optarg" ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file="$ac_optarg" ;;
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
| --da=*)
datadir="$ac_optarg" ;;
-disable-* | --disable-*)
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
eval "enable_${ac_feature}=no" ;;
-enable-* | --enable-*)
ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "enable_${ac_feature}='$ac_optarg'" ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix="$ac_optarg" ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he)
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat << EOF
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
--cache-file=FILE cache test results in FILE
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[same as prefix]
--bindir=DIR user executables in DIR [EPREFIX/bin]
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data in DIR
[PREFIX/share]
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data in DIR
[PREFIX/com]
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
--includedir=DIR C header files in DIR [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
--infodir=DIR info documentation in DIR [PREFIX/info]
--mandir=DIR man documentation in DIR [PREFIX/man]
--srcdir=DIR find the sources in DIR [configure dir or ..]
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM
run sed PROGRAM on installed program names
EOF
cat << EOF
Host type:
--build=BUILD configure for building on BUILD [BUILD=HOST]
--host=HOST configure for HOST [guessed]
--target=TARGET configure for TARGET [TARGET=HOST]
Features and packages:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
EOF
if test -n "$ac_help"; then
echo "--enable and --with options recognized:$ac_help"
fi
exit 0 ;;
-host | --host | --hos | --ho)
ac_prev=host ;;
-host=* | --host=* | --hos=* | --ho=*)
host="$ac_optarg" ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir="$ac_optarg" ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir="$ac_optarg" ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir="$ac_optarg" ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir="$ac_optarg" ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst \
| --locals | --local | --loca | --loc | --lo)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
localstatedir="$ac_optarg" ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir="$ac_optarg" ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir="$ac_optarg" ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix="$ac_optarg" ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix="$ac_optarg" ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix="$ac_optarg" ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name="$ac_optarg" ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir="$ac_optarg" ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir="$ac_optarg" ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir="$ac_optarg" ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir="$ac_optarg" ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target="$ac_optarg" ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
echo "configure generated by autoconf version 2.12.1"
exit 0 ;;
-with-* | --with-*)
ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "with_${ac_package}='$ac_optarg'" ;;
-without-* | --without-*)
ac_package=`echo $ac_option|sed -e 's/-*without-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
eval "with_${ac_package}=no" ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes="$ac_optarg" ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries="$ac_optarg" ;;
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
;;
*)
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
echo "configure: warning: $ac_option: invalid host type" 1>&2
fi
if test "x$nonopt" != xNONE; then
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
fi
nonopt="$ac_option"
;;
esac
done
if test -n "$ac_prev"; then
{ echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
fi
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
# File descriptor usage:
# 0 standard input
# 1 file creation
# 2 errors and warnings
# 3 some systems may open it to /dev/tty
# 4 used on the Kubota Titan
# 6 checking for... messages and results
# 5 compiler messages saved in config.log
if test "$silent" = yes; then
exec 6>/dev/null
else
exec 6>&1
fi
exec 5>./config.log
echo "\
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
" 1>&5
# Strip out --no-create and --no-recursion so they do not pile up.
# Also quote any args containing shell metacharacters.
ac_configure_args=
for ac_arg
do
case "$ac_arg" in
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c) ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
esac
done
# NLS nuisances.
# Only set these to C if already set. These must not be set unconditionally
# because not all systems understand e.g. LANG=C (notably SCO).
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
# Non-C LC_CTYPE values break the ctype check.
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -rf conftest* confdefs.h
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
echo > confdefs.h
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
ac_unique_file=xdb1.exp
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then its parent.
ac_prog=$0
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
srcdir=$ac_confdir
if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r $srcdir/$ac_unique_file; then
if test "$ac_srcdir_defaulted" = yes; then
{ echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
else
{ echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
fi
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"
fi
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
echo "loading site script $ac_site_file"
. "$ac_site_file"
fi
done
if test -r "$cache_file"; then
echo "loading cache $cache_file"
. $cache_file
else
echo "creating cache $cache_file"
> $cache_file
fi
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
ac_n= ac_c='
' ac_t=' '
else
ac_n=-n ac_c= ac_t=
fi
else
ac_n= ac_c='\c' ac_t=
fi
CC=${CC-cc}
ac_aux_dir=
for ac_dir in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../..; do
if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
elif test -f $ac_dir/install.sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
fi
done
if test -z "$ac_aux_dir"; then
{ echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../.." 1>&2; exit 1; }
fi
ac_config_guess=$ac_aux_dir/config.guess
ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# Do some error checking and defaulting for the host and target type.
# The inputs are:
# configure --host=HOST --target=TARGET --build=BUILD NONOPT
#
# The rules are:
# 1. You are not allowed to specify --host, --target, and nonopt at the
# same time.
# 2. Host defaults to nonopt.
# 3. If nonopt is not specified, then host defaults to the current host,
# as determined by config.guess.
# 4. Target and build default to nonopt.
# 5. If nonopt is not specified, then target and build default to host.
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
case $host---$target---$nonopt in
NONE---*---* | *---NONE---* | *---*---NONE) ;;
*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
esac
# Make sure we can run config.sub.
if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
echo "configure:573: checking host system type" >&5
host_alias=$host
case "$host_alias" in
NONE)
case $nonopt in
NONE)
if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
fi ;;
*) host_alias=$nonopt ;;
esac ;;
esac
host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
echo "configure:594: checking target system type" >&5
target_alias=$target
case "$target_alias" in
NONE)
case $nonopt in
NONE) target_alias=$host_alias ;;
*) target_alias=$nonopt ;;
esac ;;
esac
target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
echo "configure:612: checking build system type" >&5
build_alias=$build
case "$build_alias" in
NONE)
case $nonopt in
NONE) build_alias=$host_alias ;;
*) build_alias=$nonopt ;;
esac ;;
esac
build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$build" 1>&6
test "$host_alias" != "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
# If it contains results you don't want to keep, you may remove or edit it.
#
# By default, configure uses ./config.cache as the cache file,
# creating it if it does not exist already. You can give configure
# the --cache-file=FILE option to use a different cache file; that is
# what configure does when it calls configure scripts in
# subdirectories, so they share the cache.
# Giving --cache-file=/dev/null disables caching, for debugging configure.
# config.status only pays attention to the cache file if you give it the
# --recheck option to rerun configure.
#
EOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, don't put newlines in cache variables' values.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
case `(ac_space=' '; set) 2>&1 | grep ac_space` in
*ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
sed -n \
-e "s/'/'\\\\''/g" \
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
;;
esac >> confcache
if cmp -s $cache_file confcache; then
:
else
if test -w $cache_file; then
echo "updating cache $cache_file"
cat confcache > $cache_file
else
echo "not updating unwritable cache $cache_file"
fi
fi
rm -f confcache
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# Any assignment to VPATH causes Sun make to only execute
# the first set of double-colon rules, so remove it if not needed.
# If there is a colon in the path, we need to keep it.
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
fi
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
cat > conftest.defs <<\EOF
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
s%\[%\\&%g
s%\]%\\&%g
s%\$%$$%g
EOF
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
rm -f conftest.defs
# Without the "./", some shells look in PATH for config.status.
: ${CONFIG_STATUS=./config.status}
echo creating $CONFIG_STATUS
rm -f $CONFIG_STATUS
cat > $CONFIG_STATUS <<EOF
#! /bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# $0 $ac_configure_args
#
# Compiler output produced by configure, useful for debugging
# configure, is in ./config.log if it exists.
ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
for ac_option
do
case "\$ac_option" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
*) echo "\$ac_cs_usage"; exit 1 ;;
esac
done
ac_given_srcdir=$srcdir
trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
# Protect against being on the right side of a sed subst in config.status.
sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
$ac_vpsub
$extrasub
s%@SHELL@%$SHELL%g
s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g
s%@DEFS@%$DEFS%g
s%@LDFLAGS@%$LDFLAGS%g
s%@LIBS@%$LIBS%g
s%@exec_prefix@%$exec_prefix%g
s%@prefix@%$prefix%g
s%@program_transform_name@%$program_transform_name%g
s%@bindir@%$bindir%g
s%@sbindir@%$sbindir%g
s%@libexecdir@%$libexecdir%g
s%@datadir@%$datadir%g
s%@sysconfdir@%$sysconfdir%g
s%@sharedstatedir@%$sharedstatedir%g
s%@localstatedir@%$localstatedir%g
s%@libdir@%$libdir%g
s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
s%@CC@%$CC%g
s%@host@%$host%g
s%@host_alias@%$host_alias%g
s%@host_cpu@%$host_cpu%g
s%@host_vendor@%$host_vendor%g
s%@host_os@%$host_os%g
s%@target@%$target%g
s%@target_alias@%$target_alias%g
s%@target_cpu@%$target_cpu%g
s%@target_vendor@%$target_vendor%g
s%@target_os@%$target_os%g
s%@build@%$build%g
s%@build_alias@%$build_alias%g
s%@build_cpu@%$build_cpu%g
s%@build_vendor@%$build_vendor%g
s%@build_os@%$build_os%g
CEOF
EOF
cat >> $CONFIG_STATUS <<\EOF
# Split the substitutions into bite-sized pieces for seds with
# small command number limits, like on Digital OSF/1 and HP-UX.
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
ac_file=1 # Number of current file.
ac_beg=1 # First line for current file.
ac_end=$ac_max_sed_cmds # Line after last line for current file.
ac_more_lines=:
ac_sed_cmds=""
while $ac_more_lines; do
if test $ac_beg -gt 1; then
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
else
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
fi
if test ! -s conftest.s$ac_file; then
ac_more_lines=false
rm -f conftest.s$ac_file
else
if test -z "$ac_sed_cmds"; then
ac_sed_cmds="sed -f conftest.s$ac_file"
else
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
fi
ac_file=`expr $ac_file + 1`
ac_beg=$ac_end
ac_end=`expr $ac_end + $ac_max_sed_cmds`
fi
done
if test -z "$ac_sed_cmds"; then
ac_sed_cmds=cat
fi
EOF
cat >> $CONFIG_STATUS <<EOF
CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case "$ac_file" in
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
*) ac_file_in="${ac_file}.in" ;;
esac
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
# Remove last slash and all that follows it. Not all systems have dirname.
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
# The file is in a subdirectory.
test ! -d "$ac_dir" && mkdir "$ac_dir"
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
# A "../" for each directory in $ac_dir_suffix.
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
else
ac_dir_suffix= ac_dots=
fi
case "$ac_given_srcdir" in
.) srcdir=.
if test -z "$ac_dots"; then top_srcdir=.
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
*) # Relative path.
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
echo creating "$ac_file"
rm -f "$ac_file"
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
case "$ac_file" in
*Makefile*) ac_comsub="1i\\
# $configure_input" ;;
*) ac_comsub= ;;
esac
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
sed -e "$ac_comsub
s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g
s%@top_srcdir@%$top_srcdir%g
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
fi; done
rm -f conftest.s*
EOF
cat >> $CONFIG_STATUS <<EOF
EOF
cat >> $CONFIG_STATUS <<\EOF
exit 0
EOF
chmod +x $CONFIG_STATUS
rm -fr confdefs* $ac_clean_files
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1

View File

@@ -0,0 +1,15 @@
dnl Process this file file with autoconf to produce a configure script.
dnl This file is a shell script fragment that supplies the information
dnl necessary to tailor a template configure script into the configure
dnl script appropriate for this directory. For more information, check
dnl any existing configure script.
AC_PREREQ(2.5)
AC_INIT(xdb1.exp)
CC=${CC-cc}
AC_SUBST(CC)
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../../..)
AC_CANONICAL_SYSTEM
AC_OUTPUT(Makefile)

View File

@@ -0,0 +1,15 @@
/* This is a sample program for the HP/DDE debugger. */
#include <stdio.h>
#ifdef __STDC__
int sum(int *list, int low, int high)
#else
int sum(list, low, high)
int *list, low, high;
#endif
{
int i = 0, s = 0;
for (i = low; i <= high; i++)
s += list[i];
return(s);
}

View File

@@ -0,0 +1,20 @@
#include <stdio.h>
int callee( x )
int x;
{
int y = x * x;
return (y - 2);
}
main()
{
int i;
for (i = 1; i < 10; i++)
{
printf( "%d ", callee( i ));
}
printf( " Goodbye!\n" );
}

View File

@@ -0,0 +1,42 @@
#include "xdb0.h"
main ()
{
int x;
#ifdef usestubs
set_debug_traps();
breakpoint();
#endif
x = 0;
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
}
static void
unused ()
{
/* Not used for anything */
}

View File

@@ -0,0 +1,36 @@
/* An include file that actually causes code to be generated in the
including file. This is known to cause problems on some systems. */
static void
foo (x)
int x;
{
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
bar (x++);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,78 @@
# Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# This file was written by Fred Fish. (fnf@cygnus.com)
if $tracelevel then {
strace $tracelevel
}
if { [skip_hp_tests] } then { continue }
global usestubs
#
# test running programs
#
set prms_id 0
set bug_id 0
set testfile "xdb"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
if [get_compiler_info ${binfile}] {
return -1;
}
if { $gcc_compiled } then { continue }
global GDBFLAGS
set saved_gdbflags $GDBFLAGS
set GDBFLAGS "$GDBFLAGS --xdb"
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
gdb_test "set pagination off" ""
gdb_test "show pagination" "State of pagination is off."
gdb_test "set pagination on" ""
gdb_test "show pagination" "State of pagination is on."
gdb_test "txbreak callee" "Breakpoint.*at.*"
gdb_test "info break" "Num.*Type.*Disp.*Enb.*Address.*What\r\n.*breakpoint.*del.*y.*"
gdb_test "xbreak callee" "Breakpoint.*at.*.*"
gdb_test "info break" "Num.*Type.*Disp.*Enb.*Address.*What\r\n.*breakpoint.*keep.*y.*"
gdb_exit
set GDBFLAGS $saved_gdbflags
return 0

View File

@@ -0,0 +1,105 @@
# Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# This file was written by Fred Fish. (fnf@cygnus.com)
if $tracelevel then {
strace $tracelevel
}
if { [skip_hp_tests] } then { continue }
global message
#
# test running programs
#
set prms_id 0
set bug_id 0
set testfile "xdb"
set binfile ${objdir}/${subdir}/${testfile}
if { [gdb_compile "${srcdir}/${subdir}/xdb0.c" "${binfile}0.o" object {debug}] != "" } {
perror "Couldn't compile ${testfile}0.c to object"
return -1
}
if { [gdb_compile "${srcdir}/${subdir}/xdb1.c" "${binfile}1.o" object {debug}] != "" } {
perror "Couldn't compile ${testfile}1.c to object"
return -1
}
if { [gdb_compile "${binfile}0.o ${binfile}1.o" ${binfile} executable {debug}] != "" } {
perror "Couldn't link ${testfile}."
return -1
}
if [get_compiler_info ${binfile}] {
return -1;
}
if { $gcc_compiled } then { continue }
global GDBFLAGS
set saved_gdbflags $GDBFLAGS
set GDBFLAGS "$GDBFLAGS --xdb"
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
gdb_test "break main" ""
gdb_test "run" ""
gdb_test "go +2" "Breakpoint.*at.*file.*xdb0\.c, line 12\.\r\nContinuing at.*\r\nmain \\(\\) at.*xdb0\.c:12\r\n12\[ \t\]+foo \\(x\\+\\+\\);"
gdb_test "go -2" "Note: breakpoint.*also set at pc.*\.\r\nBreakpoint.*at.*file.*xdb0\.c, line 10\.\r\nContinuing at.*\.\r\n\r\nBreakpoint.*, main \\(\\) at.*xdb0\.c:10.*"
gdb_test "go 16" "Breakpoint.*at.*file.*xdb0\.c, line 16\.\r\nContinuing at.*\.\r\nmain \\(\\) at.*xdb0\.c:16\r\n16\[ \t\]+foo \\(x\\+\\+\\);"
send_gdb "go bar\n"
gdb_expect {
-re ".*Line 5 is not in .main.. Jump anyway.*y or n. $" {
send_gdb "y\n"
gdb_expect {
-re "$gdb_prompt $"\
{pass "go bar"}
timeout {fail "(timeout) go bar"}
}
}
-re "Continuing at.*\.\r\nbar \\(x=0\\) at.*xdb1\.c:5" {}
timeout { perror "(timeout) go bar" ; return }
}
# Verify that GDB responds gracefully to a "go" command without
# an argument.
#
gdb_test "go" "Usage: go <location>"
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
gdb_test "break bar" ""
gdb_test "run" ""
gdb_test "backtrace full" ".*bar \\(x=0\\) at.*xdb1\.c:5\r\nNo locals\.\r\n.1.* in foo \\(x=1\\) at.*xdb0\.h:8\r\nNo locals\.\r\n.2.* in main \\(\\) at.*xdb0\.c:11\r\n.*x = 1"
gdb_test "bt 1 full" ".*bar \\(x=0\\) at.*xdb1\.c:5\r\nNo locals\.\r\n\\(More stack frames follow\.\.\.\\)"
gdb_test "bt full 2" ".*bar \\(x=0\\) at.*xdb1\.c:5\r\nNo locals\.\r\n.1.* in foo \\(x=1\\) at.*xdb0\.h:8\r\nNo locals\.\r\n\\(More stack frames follow\.\.\.\\)"
set GDBFLAGS $saved_gdbflags
return 0

View File

@@ -0,0 +1,321 @@
# Copyright (C) 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
if $tracelevel then {
strace $tracelevel
}
if { [skip_hp_tests] } then { continue }
set testfile1 "average"
set testfile2 "sum"
set testfile "xdb-test"
set binfile1 ${objdir}/${subdir}/${testfile1}
set binfile2 ${objdir}/${subdir}/${testfile2}
set binfile ${objdir}/${subdir}/${testfile}
if { [gdb_compile "${srcdir}/${subdir}/average.c" "${binfile1}.o" object {debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
if { [gdb_compile "${srcdir}/${subdir}/sum.c" "${binfile2}.o" object {debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
if { [gdb_compile "${binfile1}.o ${binfile2}.o" ${binfile} executable {debug}] != "" } {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
if [get_compiler_info ${binfile}] {
return -1;
}
if { $gcc_compiled } then { continue }
proc xdb_reinitialize_dir { subdir } {
global gdb_prompt
send_gdb "D\n"
gdb_expect {
-re "Reinitialize source path to empty.*y or n. " {
send_gdb "y\n"
gdb_expect {
-re "Source directories searched.*$gdb_prompt $" {
send_gdb "D $subdir\n"
gdb_expect {
-re "Source directories searched.*$gdb_prompt $" {
verbose "Dir set to $subdir"
}
-re ".*$gdb_prompt $" {
perror "Dir \"$subdir\" failed."
}
}
}
-re ".*$gdb_prompt $" {
perror "Dir \"$subdir\" failed."
}
}
}
-re ".*$gdb_prompt $" {
perror "Dir \"$subdir\" failed."
}
}
}
#
#test_search
#
proc test_search { } {
gdb_test "set listsize 4" ""
gdb_test "list average.c:1" "1\[ \t\]+/. This is a sample .*"
gdb_test "/ print_average" "17\[ \t\]+void print_average\\(int \\*list.*"
gdb_test "/ print_average" "19\[ \t\]+void print_average\\(list, low, high\\)"
gdb_test "/ print_average" "42\[ \t\]+print_average \\(my_list, first, last\\);"
gdb_test "? print_average" "19\[ \t\]+void print_average\\(list, low, high\\)"
gdb_test "? sum" "9\[ \t]+extern int sum\\(\\);"
}
#
#test_viewing_loc
#
proc test_viewing_loc { } {
gdb_test "L" "No stack."
gdb_test "break main" ""
gdb_test "R" ""
gdb_test "L" "#0\[ \t\]+main \\(\\) at.*average.c:38\r\n38\[ \t\]+int first = 0, last = 0;"
}
#
#test_dir_list
#
proc test_dir_list { } {
gdb_test "ld" "Source directories searched: .*"
}
#
#test_list_sources
#
proc test_list_sources { } {
if [istarget "hppa2.0w-*-*"] {
gdb_test "lf" "Source files for which symbols have been read in:\r\n\r\n.*average\\.c.*Source files for which symbols will be read in on demand:\r\n\r\nglobals,.*\[se\]\[un\]\[md\]\\.c.*\[se\]\[un\]\[md\]\\.c"
} else {
gdb_test "lf" "Source files for which symbols have been read in:\r\n\r\n.*average\\.c.*\r\n\r\nSource files for which symbols will be read in on demand:\r\n\r\nglobals, end\\.c,.*sum\\.c"
}
}
#
#test_vlist
#
proc test_vlist { } {
gdb_test "v main" "34\[ \t\]+main \\(\\)\r\n35\[ \t\]+#endif\r\n36\[ \t\]+.\r\n37\[ \t\]+char c;"
}
#
#test_va
#
proc test_va { } {
if [istarget "hppa2.0w-*-*"] {
gdb_test "va main" "Dump of assembler code for function main:\r\n.*0x.* <main>:\[ \t\]+std %rp,-0x10\\(%sp\\)\r\n0x.* <main\\+4>:\[ \t\]+std,ma %r3,0xd0\\(%sp\\)\r\n.*0x.* <main\\+8>:\[ \t\]+std %r4,-0xc8\\(%sp\\)\r\n.*0x.* <main\\+12>:\[ \t\]+copy %ret1,%r3\r\n.*"
} else {
gdb_test "va main" "Dump of assembler code for function main:\r\n.*0x.* <main>:\[ \t\]+stw %rp,-0x14\\(%sr0,%sp\\)\r\n0x.* <main\\+4>:\[ \t\]+ldo 0x\[48\]0\\(%sp\\),%sp\r\n.*0x.* <main\\+8>:\[ \t\]+stw %r0,-0x.*\\(%sr0,%sp\\)\r\n.*0x.* <main\\+12>:\[ \t\]+stw %r0,-0x.*\\(%sr0,%sp\\)\r\n.*"
}
}
#
#test_list_globals
#
proc test_list_globals { } {
gdb_test "lg" "All defined variables:\r\n\r\nFile globals:.*"
# gdb_test "lg" "All defined variables:\r\n\r\nFile globals:\r\nchar __buffer.512.;\r\nint __d_eh_catch_catch;\r\nint __d_eh_catch_throw;.*"
}
#
#test_list_registers
#
proc test_list_registers { } {
if [istarget "hppa2.0w-*-*"] {
gdb_test "lr" "\[ \t\]+flags:.*r17:.*pcsqh:.*cr0:.*\r\n\[ \t\]+r1:.*r18:.*pcoqt:.*cr8:.*"
} else {
gdb_test "lr" "\[ \t\]+flags:.*r18:.*pcsqt:.*ccr:.*\r\n\[ \t\]+r1:.*r19:.*eiem:.*cr12:.*"
}
gdb_test "lr r1" "r1 .*"
}
#
#test_backtrace
#
proc test_backtrace { } {
gdb_test "t" "#0 main \\(\\) at.*average.c:39"
gdb_test "T" "#0 main \\(\\) at.*average.c:39\r\n\[ \t\]+c = *.*\r\n\[ \t\]+first = 0\r\n\[ \t\]+last = 0"
gdb_test "break sum" ""
gdb_test "cont" ""
gdb_test "next"
gdb_test "t" "#0 sum \\(list=0x.*, low=0, high=9\\) at.*sum\.c:12\r\n#1 0x.* in print_average \\(list=0x.*, low=0, high=9\\) at.*average\.c:24\r\n#2 0x.* in main \\(\\) at.*average\.c:42"
gdb_test "t 1" "#0 sum \\(list=0x.*, low=0, high=9\\) at.*sum\.c:12\r\n\\(More stack frames follow\.\.\.\\)"
gdb_test "T" "#0 sum \\(list=0x.*, low=0, high=9\\) at.*sum\.c:12\r\n\[ \t\]+i = 0\r\n\[ \t\]+s = 0\r\n#1 0x.* in print_average \\(list=0x.*, low=0, high=9\\) at.*average\.c:24\r\n\[ \t\]+total = 0\r\n\[ \t\]+num_elements = 0\r\n\[ \t\]+average = 0\r\n#2 0x.* in main \\(\\) at.*average\.c:42\r\n\[ \t\]+c = *.*\r\n\[ \t\]+first = 0\r\n\[ \t\]+last = 9"
gdb_test "T 1" "#0 sum \\(list=0x.*, low=0, high=9\\) at.*sum\.c:12\r\n\[ \t\]+i = 0\r\n\[ \t\]+s = 0\r\n\\(More stack frames follow\.\.\.\\)"
gdb_test "V" "#0 sum \\(list=0x.*, low=0, high=9\\) at.*sum\.c:12\r\n\\12\[ \t\]+for \\(i = low;.*\\)"
gdb_test "V 1" "#1 0x.* in print_average \\(list=0x.*, low=0, high=9\\) at.*average\.c:24\r\n24\[ \t\]+total = sum\\(list, low, high\\);"
}
#
# test_go
#
proc test_go { } {
gdb_test "break main" ""
gdb_test "R" ""
gdb_test "g +1" "Breakpoint.*at 0x.*: file.*average\.c, line 39\.\r\nContinuing at 0x.*\.\r\nmain \\(\\) at.*average\.c:39\r\n39\[ \t\]+last = num-1;"
gdb_test "g 42" "Breakpoint.*at 0x.*: file.*average\.c, line 42\.\r\nContinuing at 0x.*\.\r\nmain \\(\\) at.*average\.c:42\r\n42\[ \t\]+print_average \\(my_list, first, last\\);"
}
#
#test_breakpoints
#
proc test_breakpoints { } {
global gdb_prompt
gdb_test "sb" ""
gdb_test "lb" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep n.*in main at.*average\.c:38.*"
gdb_test "ab" ""
gdb_test "lb" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep y.*in main at.*average\.c:38.*"
gdb_test "ba sum" "Breakpoint.*at.*: file.*sum\.c, line 11\."
gdb_test "cont" ""
gdb_test "bx" "Breakpoint.*at.*: file.*sum.c, line 15\."
#gdb_test "bx if (1)" "Breakpoint.*at.*: file.*sum.c, line 15\."
gdb_test "bx 1" "Breakpoint.*at.*: file.*average.c, line 29\."
gdb_test "bx 1 if (1)" "Breakpoint.*at.*: file.*average.c, line 29\."
gdb_test "bc 1 2" "Will ignore next 2 crossings of breakpoint 1\."
gdb_test "lb 1" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep y.*in main at.*average\.c:38\r\n.*breakpoint already hit 1 time\r\n.*ignore next 2 hits.*"
send_gdb "db\n"
gdb_expect {
-re "Delete all breakpoints.*y or n. $" {
send_gdb "y\n"
exp_continue
}
-re "y\r\n$gdb_prompt $" {}
-re ".*$gdb_prompt $" { # This happens if there were no breakpoints
}
timeout { perror "Delete all breakpoints (timeout)" ; return }
}
send_gdb "lb\n"
gdb_expect {
-re "No breakpoints or watchpoints..*$gdb_prompt $" {}
-re ".*$gdb_prompt $" { perror "breakpoints not deleted" ; return }
timeout { perror "info breakpoints (timeout)" ; return }
}
gdb_test "xbreak" "Breakpoint.*at.*file.*sum.c, line 15."
gdb_test "xbreak print_average" "Breakpoint.*at.*file.*average.c, line 29."
gdb_test "xbreak if (1)" "Note: breakpoint.*also set at pc.*Breakpoint.*at.*file.*sum.c, line 15."
gdb_test "xbreak print_average if (1)" "Note: breakpoint.*also set at pc.*Breakpoint.*at.*file.*average.c, line 29."
send_gdb "lb\n"
gdb_expect {
-re "Num Type Disp Enb Address What.*breakpoint keep y.*sum.c:15.*breakpoint keep y.*average.c:29.*breakpoint keep y.*sum.c:15.*stop only if 1.*breakpoint keep y.*average.c:29.*stop only if 1.*$gdb_prompt $" {pass "lb on xbreaks"}
-re ".*$gdb_prompt $" { fail "breakpoints not deleted"}
timeout { fail "info breakpoints (timeout)" }
}
}
#
# test_signals
#
proc test_signals { } {
gdb_test "handle SIGTERM nostop noprint" ""
gdb_test "z 15 s" "Signal.*Stop.*Print.*Pass to program.*Description\r\nSIGTERM.*Yes.*Yes.*Yes.*Terminated"
gdb_test "z 15 r" "Signal.*Stop.*Print.*Pass to program.*Description\r\nSIGTERM.*No.*No.*Yes.*Terminated"
gdb_test "z 15 i" "Signal.*Stop.*Print.*Pass to program.*Description\r\nSIGTERM.*No.*No.*No.*Terminated"
gdb_test "z 15 r" "Signal.*Stop.*Print.*Pass to program.*Description\r\nSIGTERM.*No.*Yes.*No.*Terminated"
gdb_test "z 15 Q" "Signal.*Stop.*Print.*Pass to program.*Description\r\nSIGTERM.*No.*No.*No.*Terminated"
gdb_test "lz" "Signal.*Stop.*Print.*Pass to program.*Description\r\n\r\nSIGHUP.*Yes.*"
}
# Start with a fresh gdb.
global GDBFLAGS
set saved_gdbflags $GDBFLAGS
set GDBFLAGS "$GDBFLAGS --xdb"
gdb_exit
gdb_start
xdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
send_gdb "set width 0\n"
gdb_expect -re "$gdb_prompt $"
test_search
test_viewing_loc
test_dir_list
test_list_sources
test_vlist
test_va
gdb_test "next"
gdb_test "l" "No arguments.\r\nc = *.*\r\nfirst = 0\r\nlast = 0"
#test_list_globals
test_list_registers
test_backtrace
# Start with a fresh gdb.
gdb_exit
gdb_start
xdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
send_gdb "set width 0\n"
gdb_expect -re "$gdb_prompt $"
test_go
gdb_exit
gdb_start
xdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
send_gdb "set width 0\n"
gdb_expect -re "$gdb_prompt $"
gdb_test "break main" ""
gdb_test "R" ""
gdb_test "S" "39\[ \t\]+last = num-1;"
test_breakpoints
test_signals
gdb_test "sm" ""
gdb_test "info set" ".*pagination: State of pagination is off.*"
gdb_test "am" ""
gdb_test "info set" ".*pagination: State of pagination is on.*"
gdb_exit
set GDBFLAGS $saved_gdbflags
return 0

View File

@@ -0,0 +1,27 @@
VPATH = @srcdir@
srcdir = @srcdir@
EXECUTABLES = bs14602 bs15503 solib-d solib-d1.sl solib-d2.sl
all:
@echo "Nothing to be done for all..."
info:
install-info:
dvi:
install:
uninstall: force
installcheck:
check:
clean mostlyclean:
-rm -f *~ *.o *.ci
-rm -f core $(EXECUTABLES)
distclean maintainer-clean realclean: clean
-rm -f Makefile config.status config.log
-rm -f *-init.exp
-rm -fr *.log summary detail *.plog *.sum *.psum site.*
Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in
$(SHELL) ./config.status --recheck

View File

@@ -0,0 +1,9 @@
/* Test file for bs14602.exp */
double v_double = 0;
long double v_long_double = 12345.67890;
int main () {
v_double = 0;
v_long_double = 12345.67890;
}

View File

@@ -0,0 +1,110 @@
# This file was written by Sue Kimura. (sue_kimura@hp.com)
#
# Test for CLLbs14602 -- problem with recognizing long double on 10.20.
#
# Source file: bs14602.c
if $tracelevel {
strace $tracelevel
}
if { [skip_hp_tests] } { continue }
#
# test running programs
#
set prms_id 0
set bug_id 0
# set up appropriate compile option to recognize long double
set ansi_option ""
if [istarget "hppa*-*-*"] {
set ansi_option "-Ae"
}
set testfile bs14602
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "$binfile" executable "debug {additional_flags=${ansi_option}}"] != "" } {
perror "Couldn't compile ${srcfile}"
return -1
}
# Start with a fresh gdb.
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load $binfile
# get to end of main so we can check out some stuff
if ![runto main] {
perror "couldn't run to breakpoint main"
continue
}
gdb_test "txbreak" \
"Breakpoint $decimal at $hex: file .*bs14602.c, line 9." \
"set breakpoint at end of main"
gdb_test "continue" \
"Continuing.\r\n$hex in main* \\(\\) at .*bs14602.c:9\r\n.*" \
"continue to end of main"
# test some simple things about long double
gdb_test "whatis v_long_double" \
"type = long double" \
"whatis v_long_double"
gdb_test "ptype v_long_double" \
"type = long double" \
"ptype v_long_double"
gdb_test "print sizeof \(long double\)" \
" = 16" \
"print sizeof long double"
gdb_test "print sizeof \(v_long_double\)" \
" = 16" \
"print sizeof v_long_double"
gdb_test "print v_long_double" \
" = 12345.67890000000079453457146883011" \
"print v_long_double - 1"
gdb_test "set variable v_long_double = 98765.43210" \
"" \
"set variable v_long_double to constant value"
gdb_test "print v_long_double" \
" = 98765.43210000000544823706150054932" \
"print v_long_double - 2"
gdb_test "set variable v_double = v_long_double" \
"" \
" set variable v_double with v_long_double"
gdb_test "print v_double" \
" = 98765.432100000005" \
" print v_double"
#reset v_long_double
gdb_test "set variable v_long_double = 0" \
"" \
"reset v_long_double to 0"
gdb_test "print v_long_double" \
" = 0" \
"print v_long_double - 3"
gdb_test "set variable v_long_double = v_double" \
"" \
" set variable v_long_double with v_long_double"
gdb_test "print v_long_double" \
" = 98765.43210000000544823706150054932" \
"print v_long_double - 4 "

View File

@@ -0,0 +1,52 @@
#include <string>
#include <iostream.h>
template <class T>
class StringTest {
public:
virtual void runTest();
void testFunction();
};
template <class T>
void StringTest<T>:: runTest() {
testFunction ();
}
template <class T>
void StringTest <T>::testFunction() {
// initialize s with string literal
cout << "in StringTest" << endl;
string s("I am a shot string");
cout << s << endl;
// insert 'r' to fix "shot"
s.insert(s.begin()+10,'r' );
cout << s << endl;
// concatenate another string
s += "and now a longer string";
cout << s << endl;
// find position where blank needs to be inserted
string::size_type spos = s.find("and");
s.insert(spos, " ");
cout << s << endl;
// erase the concatenated part
s.erase(spos);
cout << s << endl;
}
int main() {
StringTest<wchar_t> ts;
ts.runTest();
}
/* output:
I am a shot string
I am a short string
I am a short stringand now a longer string
I am a short string and now a longer string
I am a short string
*/

View File

@@ -0,0 +1,76 @@
# Copyright (C) 1992 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Test case for CLLbs15503
# This file was written by Sue Kimura (sue_kimura@hp.com)
if $tracelevel {
strace $tracelevel
}
if { [skip_hp_tests] } { continue }
set testfile "bs15503"
set srcfile ${testfile}.cc
set binfile ${objdir}/${subdir}/${testfile}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "debug c++"] != "" } {
perror "Couldn't compile ${srcfile}"
return -1
}
# Start with a fresh gdb.
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
# Load $binfile -- there should be no warnings about "Procedure ... spans
# file or module boundaries", "No symbols in psymtab for file ..." or
# "File ... has ending address after starting address of next file..."
if [istarget "hppa2.0w-hp-hpux*" ] {
gdb_test "file $binfile" \
"Detected 64-bit executable..*Invoking .*gdb64..*Use \"run\" to continue execution." \
"loading $binfile"
} else {
gdb_test "file $binfile" \
"Reading symbols from $binfile...done." \
"loading $binfile"
}
# Test setting breakpoint on template function
#
gdb_test "break StringTest<wchar_t>::testFunction" \
"Breakpoint $decimal at $hex: file .*bs15503.cc, line 19." \
"break point on function"
gdb_test "run" \
"Starting program:.*Breakpoint $decimal, StringTest<wchar_t>::testFunction \\(this=$hex\\).*cout << \"in StringTest\" << endl;.*" \
"run to function breakpoint"
#restart with fresh gdb
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load $binfile
gdb_test "break 32" \
"Breakpoint $decimal at $hex: file .*bs15503.cc, line 32." \
"break point on line in function"
gdb_test "run" \
".*32.*string::size_type spos = s.find\\(\"and\"\\);.*" \
"run to break point on line in function"

899
gdb/testsuite/gdb.hp/gdb.defects/configure vendored Executable file
View File

@@ -0,0 +1,899 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.12.1
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
# Defaults:
ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
# Initialize some variables set by options.
# The variables have the same names as the options, with
# dashes changed to underlines.
build=NONE
cache_file=./config.cache
exec_prefix=NONE
host=NONE
no_create=
nonopt=NONE
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
target=NONE
verbose=
x_includes=NONE
x_libraries=NONE
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
infodir='${prefix}/info'
mandir='${prefix}/man'
# Initialize some other variables.
subdirs=
MFLAGS= MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
# Maximum number of lines to put in a shell here document.
ac_max_here_lines=12
ac_prev=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval "$ac_prev=\$ac_option"
ac_prev=
continue
fi
case "$ac_option" in
-*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) ac_optarg= ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case "$ac_option" in
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir="$ac_optarg" ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build="$ac_optarg" ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file="$ac_optarg" ;;
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
| --da=*)
datadir="$ac_optarg" ;;
-disable-* | --disable-*)
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
eval "enable_${ac_feature}=no" ;;
-enable-* | --enable-*)
ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "enable_${ac_feature}='$ac_optarg'" ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix="$ac_optarg" ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he)
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat << EOF
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
--cache-file=FILE cache test results in FILE
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[same as prefix]
--bindir=DIR user executables in DIR [EPREFIX/bin]
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data in DIR
[PREFIX/share]
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data in DIR
[PREFIX/com]
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
--includedir=DIR C header files in DIR [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
--infodir=DIR info documentation in DIR [PREFIX/info]
--mandir=DIR man documentation in DIR [PREFIX/man]
--srcdir=DIR find the sources in DIR [configure dir or ..]
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM
run sed PROGRAM on installed program names
EOF
cat << EOF
Host type:
--build=BUILD configure for building on BUILD [BUILD=HOST]
--host=HOST configure for HOST [guessed]
--target=TARGET configure for TARGET [TARGET=HOST]
Features and packages:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
EOF
if test -n "$ac_help"; then
echo "--enable and --with options recognized:$ac_help"
fi
exit 0 ;;
-host | --host | --hos | --ho)
ac_prev=host ;;
-host=* | --host=* | --hos=* | --ho=*)
host="$ac_optarg" ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir="$ac_optarg" ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir="$ac_optarg" ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir="$ac_optarg" ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir="$ac_optarg" ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst \
| --locals | --local | --loca | --loc | --lo)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
localstatedir="$ac_optarg" ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir="$ac_optarg" ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir="$ac_optarg" ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix="$ac_optarg" ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix="$ac_optarg" ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix="$ac_optarg" ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name="$ac_optarg" ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir="$ac_optarg" ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir="$ac_optarg" ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir="$ac_optarg" ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir="$ac_optarg" ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target="$ac_optarg" ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
echo "configure generated by autoconf version 2.12.1"
exit 0 ;;
-with-* | --with-*)
ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "with_${ac_package}='$ac_optarg'" ;;
-without-* | --without-*)
ac_package=`echo $ac_option|sed -e 's/-*without-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
eval "with_${ac_package}=no" ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes="$ac_optarg" ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries="$ac_optarg" ;;
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
;;
*)
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
echo "configure: warning: $ac_option: invalid host type" 1>&2
fi
if test "x$nonopt" != xNONE; then
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
fi
nonopt="$ac_option"
;;
esac
done
if test -n "$ac_prev"; then
{ echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
fi
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
# File descriptor usage:
# 0 standard input
# 1 file creation
# 2 errors and warnings
# 3 some systems may open it to /dev/tty
# 4 used on the Kubota Titan
# 6 checking for... messages and results
# 5 compiler messages saved in config.log
if test "$silent" = yes; then
exec 6>/dev/null
else
exec 6>&1
fi
exec 5>./config.log
echo "\
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
" 1>&5
# Strip out --no-create and --no-recursion so they do not pile up.
# Also quote any args containing shell metacharacters.
ac_configure_args=
for ac_arg
do
case "$ac_arg" in
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c) ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
esac
done
# NLS nuisances.
# Only set these to C if already set. These must not be set unconditionally
# because not all systems understand e.g. LANG=C (notably SCO).
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
# Non-C LC_CTYPE values break the ctype check.
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -rf conftest* confdefs.h
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
echo > confdefs.h
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
ac_unique_file=bs14602.exp
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then its parent.
ac_prog=$0
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
srcdir=$ac_confdir
if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r $srcdir/$ac_unique_file; then
if test "$ac_srcdir_defaulted" = yes; then
{ echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
else
{ echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
fi
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"
fi
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
echo "loading site script $ac_site_file"
. "$ac_site_file"
fi
done
if test -r "$cache_file"; then
echo "loading cache $cache_file"
. $cache_file
else
echo "creating cache $cache_file"
> $cache_file
fi
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
ac_n= ac_c='
' ac_t=' '
else
ac_n=-n ac_c= ac_t=
fi
else
ac_n= ac_c='\c' ac_t=
fi
CC=${CC-cc}
ac_aux_dir=
for ac_dir in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../..; do
if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
elif test -f $ac_dir/install.sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
fi
done
if test -z "$ac_aux_dir"; then
{ echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../.." 1>&2; exit 1; }
fi
ac_config_guess=$ac_aux_dir/config.guess
ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# Do some error checking and defaulting for the host and target type.
# The inputs are:
# configure --host=HOST --target=TARGET --build=BUILD NONOPT
#
# The rules are:
# 1. You are not allowed to specify --host, --target, and nonopt at the
# same time.
# 2. Host defaults to nonopt.
# 3. If nonopt is not specified, then host defaults to the current host,
# as determined by config.guess.
# 4. Target and build default to nonopt.
# 5. If nonopt is not specified, then target and build default to host.
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
case $host---$target---$nonopt in
NONE---*---* | *---NONE---* | *---*---NONE) ;;
*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
esac
# Make sure we can run config.sub.
if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
echo "configure:573: checking host system type" >&5
host_alias=$host
case "$host_alias" in
NONE)
case $nonopt in
NONE)
if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
fi ;;
*) host_alias=$nonopt ;;
esac ;;
esac
host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
echo "configure:594: checking target system type" >&5
target_alias=$target
case "$target_alias" in
NONE)
case $nonopt in
NONE) target_alias=$host_alias ;;
*) target_alias=$nonopt ;;
esac ;;
esac
target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
echo "configure:612: checking build system type" >&5
build_alias=$build
case "$build_alias" in
NONE)
case $nonopt in
NONE) build_alias=$host_alias ;;
*) build_alias=$nonopt ;;
esac ;;
esac
build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$build" 1>&6
test "$host_alias" != "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
# If it contains results you don't want to keep, you may remove or edit it.
#
# By default, configure uses ./config.cache as the cache file,
# creating it if it does not exist already. You can give configure
# the --cache-file=FILE option to use a different cache file; that is
# what configure does when it calls configure scripts in
# subdirectories, so they share the cache.
# Giving --cache-file=/dev/null disables caching, for debugging configure.
# config.status only pays attention to the cache file if you give it the
# --recheck option to rerun configure.
#
EOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, don't put newlines in cache variables' values.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
case `(ac_space=' '; set) 2>&1 | grep ac_space` in
*ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
sed -n \
-e "s/'/'\\\\''/g" \
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
;;
esac >> confcache
if cmp -s $cache_file confcache; then
:
else
if test -w $cache_file; then
echo "updating cache $cache_file"
cat confcache > $cache_file
else
echo "not updating unwritable cache $cache_file"
fi
fi
rm -f confcache
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# Any assignment to VPATH causes Sun make to only execute
# the first set of double-colon rules, so remove it if not needed.
# If there is a colon in the path, we need to keep it.
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
fi
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
cat > conftest.defs <<\EOF
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
s%\[%\\&%g
s%\]%\\&%g
s%\$%$$%g
EOF
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
rm -f conftest.defs
# Without the "./", some shells look in PATH for config.status.
: ${CONFIG_STATUS=./config.status}
echo creating $CONFIG_STATUS
rm -f $CONFIG_STATUS
cat > $CONFIG_STATUS <<EOF
#! /bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# $0 $ac_configure_args
#
# Compiler output produced by configure, useful for debugging
# configure, is in ./config.log if it exists.
ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
for ac_option
do
case "\$ac_option" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
*) echo "\$ac_cs_usage"; exit 1 ;;
esac
done
ac_given_srcdir=$srcdir
trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
# Protect against being on the right side of a sed subst in config.status.
sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
$ac_vpsub
$extrasub
s%@SHELL@%$SHELL%g
s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g
s%@DEFS@%$DEFS%g
s%@LDFLAGS@%$LDFLAGS%g
s%@LIBS@%$LIBS%g
s%@exec_prefix@%$exec_prefix%g
s%@prefix@%$prefix%g
s%@program_transform_name@%$program_transform_name%g
s%@bindir@%$bindir%g
s%@sbindir@%$sbindir%g
s%@libexecdir@%$libexecdir%g
s%@datadir@%$datadir%g
s%@sysconfdir@%$sysconfdir%g
s%@sharedstatedir@%$sharedstatedir%g
s%@localstatedir@%$localstatedir%g
s%@libdir@%$libdir%g
s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
s%@CC@%$CC%g
s%@host@%$host%g
s%@host_alias@%$host_alias%g
s%@host_cpu@%$host_cpu%g
s%@host_vendor@%$host_vendor%g
s%@host_os@%$host_os%g
s%@target@%$target%g
s%@target_alias@%$target_alias%g
s%@target_cpu@%$target_cpu%g
s%@target_vendor@%$target_vendor%g
s%@target_os@%$target_os%g
s%@build@%$build%g
s%@build_alias@%$build_alias%g
s%@build_cpu@%$build_cpu%g
s%@build_vendor@%$build_vendor%g
s%@build_os@%$build_os%g
CEOF
EOF
cat >> $CONFIG_STATUS <<\EOF
# Split the substitutions into bite-sized pieces for seds with
# small command number limits, like on Digital OSF/1 and HP-UX.
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
ac_file=1 # Number of current file.
ac_beg=1 # First line for current file.
ac_end=$ac_max_sed_cmds # Line after last line for current file.
ac_more_lines=:
ac_sed_cmds=""
while $ac_more_lines; do
if test $ac_beg -gt 1; then
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
else
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
fi
if test ! -s conftest.s$ac_file; then
ac_more_lines=false
rm -f conftest.s$ac_file
else
if test -z "$ac_sed_cmds"; then
ac_sed_cmds="sed -f conftest.s$ac_file"
else
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
fi
ac_file=`expr $ac_file + 1`
ac_beg=$ac_end
ac_end=`expr $ac_end + $ac_max_sed_cmds`
fi
done
if test -z "$ac_sed_cmds"; then
ac_sed_cmds=cat
fi
EOF
cat >> $CONFIG_STATUS <<EOF
CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case "$ac_file" in
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
*) ac_file_in="${ac_file}.in" ;;
esac
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
# Remove last slash and all that follows it. Not all systems have dirname.
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
# The file is in a subdirectory.
test ! -d "$ac_dir" && mkdir "$ac_dir"
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
# A "../" for each directory in $ac_dir_suffix.
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
else
ac_dir_suffix= ac_dots=
fi
case "$ac_given_srcdir" in
.) srcdir=.
if test -z "$ac_dots"; then top_srcdir=.
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
*) # Relative path.
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
echo creating "$ac_file"
rm -f "$ac_file"
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
case "$ac_file" in
*Makefile*) ac_comsub="1i\\
# $configure_input" ;;
*) ac_comsub= ;;
esac
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
sed -e "$ac_comsub
s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g
s%@top_srcdir@%$top_srcdir%g
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
fi; done
rm -f conftest.s*
EOF
cat >> $CONFIG_STATUS <<EOF
EOF
cat >> $CONFIG_STATUS <<\EOF
exit 0
EOF
chmod +x $CONFIG_STATUS
rm -fr confdefs* $ac_clean_files
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1

View File

@@ -0,0 +1,15 @@
dnl Process this file file with autoconf to produce a configure script.
dnl This file is a shell script fragment that supplies the information
dnl necessary to tailor a template configure script into the configure
dnl script appropriate for this directory. For more information, check
dnl any existing configure script.
AC_PREREQ(2.5)
AC_INIT(bs14602.exp)
CC=${CC-cc}
AC_SUBST(CC)
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../../..)
AC_CANONICAL_SYSTEM
AC_OUTPUT(Makefile)

View File

@@ -0,0 +1,6 @@
main()
{
function_from_primary();
function_from_secondary();
}

View File

@@ -0,0 +1,262 @@
# Copyright (C) 1997 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# This file was written by srikanth (with huge chunks borrowed from old ones)
#
# Regression test for
#
# CLLbs14756
#
# o catch load command does not stop for implicit loads.
#
# CLLbs15382
#
# o sharedlibrary command ignores its argument and ends
# up loading every shared library there is ...
#
# CLLbs15582
#
# o info line non-existent-function dumps core
# o clear non-existent function dumps core
# o xbreak non-existent-function dumps core
#
# CLLbs15725
#
# o gdb prints static and extern variables in shlibs incorrectly.
#
# CLLbs16090
#
# o deferred breakpoints should kick in for shlibs loaded explicitly
# with the sharedlibrary command.
# o GDB confuses export stubs with actual function.
#
#
if $tracelevel {
strace $tracelevel
}
if { [skip_hp_tests] } { continue }
set prms_id 0
set bug_id 0
# are we on a target board
if ![isnative] {
return
}
# This test is presently only valid on HP-UX, since it requires
# that we use HP-UX-specific compiler & linker options to build
# the testcase.
#
setup_xfail "*-*-*"
clear_xfail "hppa*-*-*hpux*"
set prototypes 0
set testfile "solib-d"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
set testfile1 ${objdir}/${subdir}/${testfile}1.o
set testfile2 ${objdir}/${subdir}/${testfile}2.o
set libfile1 ${objdir}/${subdir}/${testfile}1.sl
set libfile2 ${objdir}/${subdir}/${testfile}2.sl
# Build the shared libraries this test case needs.
#
#cd ${subdir}
if { [gdb_compile "${srcdir}/${subdir}/${testfile}1.c" "${testfile1}" object {debug additional_flags=+z}] != "" } {
perror "Couldn't compile ${testfile}1.c"
return -1
}
if { [gdb_compile "${srcdir}/${subdir}/${testfile}2.c" "${testfile2}" object {debug additional_flags=+z}] != ""} {
perror "Couldn't compile ${testfile}2.c"
return -1
}
remote_exec build "ld -b ${testfile1} -o ${libfile1}"
remote_exec build "ld -b ${testfile2} -o ${libfile2}"
# Build the test case
if { [gdb_compile "${srcdir}/${subdir}/${srcfile} ${libfile1} ${libfile2}" "${binfile}" executable {debug additional_flags=-Ae -Wl,-aarchive}] != "" } {
perror "Couldn't build ${binfile}"
return -1
}
# Start with a fresh gdb
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
# Verify that we can set a generic catchpoint on shlib loads. I.e., that
# we can catch any shlib load, without specifying the name.
#
gdb_test "catch load" "Catchpoint \[0-9\]* .load <any library>.*" \
"set generic catch load"
# Verify that implicit shlib loads are caught and reported.
send_gdb "run\n"
gdb_expect {
-re ".*solib-d1.*$gdb_prompt $" {
pass "Catch implicit load at startup"
}
-re "Program exited.*$gdb_prompt $" {
fail "CLLbs14756 || CLLbs16090 came back ???"
}
timeout { fail "(timeout) implicit library load" }
}
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
if ![runto_main] { fail "breakpoint at main did not trigger ?" }
# verify that we print globals from shlibs correctly.
gdb_test "p global_from_primary" " = 5678" \
"print global from shlib (CLLbs15725)"
gdb_test "p global_from_secondary" " = 9012" \
"print global from shlib (CLLbs15725)"
# verify that we print static variables from shlibs correctly.
if { ![runto function_from_primary] } { return }
gdb_test "p file_static" " = 1234" "print file static variable (CLLbs15725)"
if { ![runto function_from_secondary] } { return }
gdb_test "p local_static" " = 3456" "print local static variable (CLLbs15725)"
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
gdb_test "set auto-solib-add 0" "" "turn off auto shlib debug loading"
if ![runto_main] {
perror "C function calling tests suppressed"
}
# verify that "clear non-existent-symbol" does not crash
gdb_test "clear junkfunc" "Location not found.*" \
"clear non-existent function does not dump core !"
# verify that "info line non-existent-symbol" does not crash
gdb_test "info line junkfunc" "Location not found.*" \
"info line junkfunc does not dump core !"
# verify that "xbreak non-existent-symbol" does not crash
gdb_test "xbreak junkfunc" "Function \"junkfunc\" not defined.*" \
"xbreak junkfunc does not dump core !"
gdb_test "list function_from_primary" \
"No line number known for function_from_primary.*" \
"turning off auto shlib debug loading"
send_gdb "sharedlibrary solib-d1\n"
gdb_expect {
-re "Reading symbols from.*solib-d1.*$gdb_prompt $" {
pass "loading primary library on demand (1)"
}
-re "--Adding symbols for shared library.*solib-d1.*$gdb_prompt $" {
pass "loading primary library on demand (2)"
}
-re "$gdb_prompt $" { fail "loading primary library on demand (3)" }
timeout { fail "(timeout) loading primary library on demand" }
}
# make sure that load above of primary also did not pull in secondary.
send_gdb "list function_from_secondary\n"
gdb_expect {
-re "No symbol.*context.*$gdb_prompt $" {
pass "loaded only what we needed (1)"
}
-re "No line number known for function_from_secondary.*$gdb_prompt $" {
pass "loaded only what we needed (2)"
}
-re ".*9012.*$gdb_prompt $" { fail "Oops ! CLLbs15382 came back ?" }
timeout { fail "(timeout) printing global" }
}
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
gdb_test "set auto-solib-add 0" "" "turn off auto shlib debug loading"
gdb_test "set stop-on-solib-event 1" "" "stop-on-solib-event"
# verify that we set breakpoint on the function and not the export stub
# used to be that we set bp on the export stub of _start and thus miss
# shlib loads in some cases (where the stub exists)
send_gdb "run\n"
gdb_expect {
-re "Stopped due to shared library event.*$gdb_prompt $" {
pass "stop for shlib event"
}
-re "Program exited.*$gdb_prompt $" {
fail "Bug CLLbs16090 came back ?"
}
timeout { fail "(timeout) stop for shlib event " }
}
gdb_test "b main" "Breakpoint 1 at.*" "set breakpoint on main"
gdb_test "set stop-on-solib-event 0" "" "stop-on-solib-event (timeout)"
# verify that we set breakpoint on the function and not the export stub
gdb_test "cont" "Breakpoint 1.*main.*" "run to main"
# On PA64 we read in the unwind info and linker symbol table which lets
# us set the breakpoint and not defer it.
send_gdb "b garbage\n"
gdb_expect {
-re "Breakpoint.*deferred.*garbage.*library containing.*is loaded.*$gdb_prompt $" {
pass " set deferred breakpoint (1)"
}
-re "Breakpoint 2 at 0x.*$gdb_prompt $" {
pass " set deferred breakpoint (2)"
}
-re "$gdb_prompt $" { fail " set deferred breakpoint (3)" }
timeout { fail "(timeout) set deferred breakpoint" }
}
# make sure that the sharedlibrary command enables any deferred breakpoints
# that it should.
send_gdb "sharedlibrary lib\n"
gdb_expect {
-re "Reading.*solib-d1.*$gdb_prompt $" {
pass "load up all shared libs (1)"
}
-re "Loading.*dld.sl.*--Adding symbols.*solib-d1.*$gdb_prompt $" {
pass "load up all shared libs (2)"
}
-re "$gdb_prompt $" { fail "load up all libraries" }
timeout { fail "(timeout) load all libraries " }
}
# do we stop at garbage ? If yes ok.
gdb_test "cont" "Breakpoint.*garbage.*" "deferred breakpoint enabled"
gdb_exit
return 0

View File

@@ -0,0 +1,12 @@
static int file_static = 1234;
int global_from_primary = 5678;
int function_from_primary()
{
garbage();
}
force_generation_of_export_stub()
{
_start(); /* force main module to have an export stub for _start() */
}

View File

@@ -0,0 +1,11 @@
int global_from_secondary = 9012;
int function_from_secondary()
{
static int local_static = 3456;
return 0;
}
garbage()
{
return 0;
}

View File

@@ -0,0 +1,28 @@
VPATH = @srcdir@
srcdir = @srcdir@
EXECUTABLES = objdbg01/test0 objdbg01/test1 objdbg02/test \
objdbg03/test objdbg04/test0 objdbg04/test1
all:
@echo "Nothing to be done for all..."
info:
install-info:
dvi:
install:
uninstall: force
installcheck:
check:
clean mostlyclean:
-rm -f *~ objdbg*/*.o objdbg*/*.ci
-rm -f core $(EXECUTABLES)
distclean maintainer-clean realclean: clean
-rm -f Makefile config.status config.log
-rm -f *-init.exp
-rm -fr *.log summary detail *.plog *.sum *.psum site.*
Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in
$(SHELL) ./config.status --recheck

992
gdb/testsuite/gdb.hp/gdb.objdbg/configure vendored Executable file
View File

@@ -0,0 +1,992 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.12.1
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
# Defaults:
ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
# Initialize some variables set by options.
# The variables have the same names as the options, with
# dashes changed to underlines.
build=NONE
cache_file=./config.cache
exec_prefix=NONE
host=NONE
no_create=
nonopt=NONE
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
target=NONE
verbose=
x_includes=NONE
x_libraries=NONE
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
infodir='${prefix}/info'
mandir='${prefix}/man'
# Initialize some other variables.
subdirs=
MFLAGS= MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
# Maximum number of lines to put in a shell here document.
ac_max_here_lines=12
ac_prev=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval "$ac_prev=\$ac_option"
ac_prev=
continue
fi
case "$ac_option" in
-*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) ac_optarg= ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case "$ac_option" in
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir="$ac_optarg" ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build="$ac_optarg" ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file="$ac_optarg" ;;
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
| --da=*)
datadir="$ac_optarg" ;;
-disable-* | --disable-*)
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
eval "enable_${ac_feature}=no" ;;
-enable-* | --enable-*)
ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "enable_${ac_feature}='$ac_optarg'" ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix="$ac_optarg" ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he)
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat << EOF
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
--cache-file=FILE cache test results in FILE
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[same as prefix]
--bindir=DIR user executables in DIR [EPREFIX/bin]
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data in DIR
[PREFIX/share]
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data in DIR
[PREFIX/com]
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
--includedir=DIR C header files in DIR [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
--infodir=DIR info documentation in DIR [PREFIX/info]
--mandir=DIR man documentation in DIR [PREFIX/man]
--srcdir=DIR find the sources in DIR [configure dir or ..]
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM
run sed PROGRAM on installed program names
EOF
cat << EOF
Host type:
--build=BUILD configure for building on BUILD [BUILD=HOST]
--host=HOST configure for HOST [guessed]
--target=TARGET configure for TARGET [TARGET=HOST]
Features and packages:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
EOF
if test -n "$ac_help"; then
echo "--enable and --with options recognized:$ac_help"
fi
exit 0 ;;
-host | --host | --hos | --ho)
ac_prev=host ;;
-host=* | --host=* | --hos=* | --ho=*)
host="$ac_optarg" ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir="$ac_optarg" ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir="$ac_optarg" ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir="$ac_optarg" ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir="$ac_optarg" ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst \
| --locals | --local | --loca | --loc | --lo)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
localstatedir="$ac_optarg" ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir="$ac_optarg" ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir="$ac_optarg" ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix="$ac_optarg" ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix="$ac_optarg" ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix="$ac_optarg" ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name="$ac_optarg" ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir="$ac_optarg" ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir="$ac_optarg" ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir="$ac_optarg" ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir="$ac_optarg" ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target="$ac_optarg" ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
echo "configure generated by autoconf version 2.12.1"
exit 0 ;;
-with-* | --with-*)
ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "with_${ac_package}='$ac_optarg'" ;;
-without-* | --without-*)
ac_package=`echo $ac_option|sed -e 's/-*without-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
eval "with_${ac_package}=no" ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes="$ac_optarg" ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries="$ac_optarg" ;;
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
;;
*)
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
echo "configure: warning: $ac_option: invalid host type" 1>&2
fi
if test "x$nonopt" != xNONE; then
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
fi
nonopt="$ac_option"
;;
esac
done
if test -n "$ac_prev"; then
{ echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
fi
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
# File descriptor usage:
# 0 standard input
# 1 file creation
# 2 errors and warnings
# 3 some systems may open it to /dev/tty
# 4 used on the Kubota Titan
# 6 checking for... messages and results
# 5 compiler messages saved in config.log
if test "$silent" = yes; then
exec 6>/dev/null
else
exec 6>&1
fi
exec 5>./config.log
echo "\
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
" 1>&5
# Strip out --no-create and --no-recursion so they do not pile up.
# Also quote any args containing shell metacharacters.
ac_configure_args=
for ac_arg
do
case "$ac_arg" in
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c) ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
esac
done
# NLS nuisances.
# Only set these to C if already set. These must not be set unconditionally
# because not all systems understand e.g. LANG=C (notably SCO).
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
# Non-C LC_CTYPE values break the ctype check.
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -rf conftest* confdefs.h
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
echo > confdefs.h
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
ac_unique_file=objdbg01.exp
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then its parent.
ac_prog=$0
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
srcdir=$ac_confdir
if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r $srcdir/$ac_unique_file; then
if test "$ac_srcdir_defaulted" = yes; then
{ echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
else
{ echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
fi
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"
fi
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
echo "loading site script $ac_site_file"
. "$ac_site_file"
fi
done
if test -r "$cache_file"; then
echo "loading cache $cache_file"
. $cache_file
else
echo "creating cache $cache_file"
> $cache_file
fi
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
ac_n= ac_c='
' ac_t=' '
else
ac_n=-n ac_c= ac_t=
fi
else
ac_n= ac_c='\c' ac_t=
fi
CC=${CC-cc}
ac_aux_dir=
for ac_dir in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../..; do
if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
elif test -f $ac_dir/install.sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
fi
done
if test -z "$ac_aux_dir"; then
{ echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../.." 1>&2; exit 1; }
fi
ac_config_guess=$ac_aux_dir/config.guess
ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# Do some error checking and defaulting for the host and target type.
# The inputs are:
# configure --host=HOST --target=TARGET --build=BUILD NONOPT
#
# The rules are:
# 1. You are not allowed to specify --host, --target, and nonopt at the
# same time.
# 2. Host defaults to nonopt.
# 3. If nonopt is not specified, then host defaults to the current host,
# as determined by config.guess.
# 4. Target and build default to nonopt.
# 5. If nonopt is not specified, then target and build default to host.
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
case $host---$target---$nonopt in
NONE---*---* | *---NONE---* | *---*---NONE) ;;
*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
esac
# Make sure we can run config.sub.
if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
echo "configure:573: checking host system type" >&5
host_alias=$host
case "$host_alias" in
NONE)
case $nonopt in
NONE)
if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
fi ;;
*) host_alias=$nonopt ;;
esac ;;
esac
host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
echo "configure:594: checking target system type" >&5
target_alias=$target
case "$target_alias" in
NONE)
case $nonopt in
NONE) target_alias=$host_alias ;;
*) target_alias=$nonopt ;;
esac ;;
esac
target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
echo "configure:612: checking build system type" >&5
build_alias=$build
case "$build_alias" in
NONE)
case $nonopt in
NONE) build_alias=$host_alias ;;
*) build_alias=$nonopt ;;
esac ;;
esac
build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$build" 1>&6
test "$host_alias" != "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
subdirs="objdbg01 objdbg02 objdbg03 objdbg04"
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
# If it contains results you don't want to keep, you may remove or edit it.
#
# By default, configure uses ./config.cache as the cache file,
# creating it if it does not exist already. You can give configure
# the --cache-file=FILE option to use a different cache file; that is
# what configure does when it calls configure scripts in
# subdirectories, so they share the cache.
# Giving --cache-file=/dev/null disables caching, for debugging configure.
# config.status only pays attention to the cache file if you give it the
# --recheck option to rerun configure.
#
EOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, don't put newlines in cache variables' values.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
case `(ac_space=' '; set) 2>&1 | grep ac_space` in
*ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
sed -n \
-e "s/'/'\\\\''/g" \
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
;;
esac >> confcache
if cmp -s $cache_file confcache; then
:
else
if test -w $cache_file; then
echo "updating cache $cache_file"
cat confcache > $cache_file
else
echo "not updating unwritable cache $cache_file"
fi
fi
rm -f confcache
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# Any assignment to VPATH causes Sun make to only execute
# the first set of double-colon rules, so remove it if not needed.
# If there is a colon in the path, we need to keep it.
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
fi
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
cat > conftest.defs <<\EOF
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
s%\[%\\&%g
s%\]%\\&%g
s%\$%$$%g
EOF
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
rm -f conftest.defs
# Without the "./", some shells look in PATH for config.status.
: ${CONFIG_STATUS=./config.status}
echo creating $CONFIG_STATUS
rm -f $CONFIG_STATUS
cat > $CONFIG_STATUS <<EOF
#! /bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# $0 $ac_configure_args
#
# Compiler output produced by configure, useful for debugging
# configure, is in ./config.log if it exists.
ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
for ac_option
do
case "\$ac_option" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
*) echo "\$ac_cs_usage"; exit 1 ;;
esac
done
ac_given_srcdir=$srcdir
trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
# Protect against being on the right side of a sed subst in config.status.
sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
$ac_vpsub
$extrasub
s%@SHELL@%$SHELL%g
s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g
s%@DEFS@%$DEFS%g
s%@LDFLAGS@%$LDFLAGS%g
s%@LIBS@%$LIBS%g
s%@exec_prefix@%$exec_prefix%g
s%@prefix@%$prefix%g
s%@program_transform_name@%$program_transform_name%g
s%@bindir@%$bindir%g
s%@sbindir@%$sbindir%g
s%@libexecdir@%$libexecdir%g
s%@datadir@%$datadir%g
s%@sysconfdir@%$sysconfdir%g
s%@sharedstatedir@%$sharedstatedir%g
s%@localstatedir@%$localstatedir%g
s%@libdir@%$libdir%g
s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
s%@CC@%$CC%g
s%@host@%$host%g
s%@host_alias@%$host_alias%g
s%@host_cpu@%$host_cpu%g
s%@host_vendor@%$host_vendor%g
s%@host_os@%$host_os%g
s%@target@%$target%g
s%@target_alias@%$target_alias%g
s%@target_cpu@%$target_cpu%g
s%@target_vendor@%$target_vendor%g
s%@target_os@%$target_os%g
s%@build@%$build%g
s%@build_alias@%$build_alias%g
s%@build_cpu@%$build_cpu%g
s%@build_vendor@%$build_vendor%g
s%@build_os@%$build_os%g
CEOF
EOF
cat >> $CONFIG_STATUS <<\EOF
# Split the substitutions into bite-sized pieces for seds with
# small command number limits, like on Digital OSF/1 and HP-UX.
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
ac_file=1 # Number of current file.
ac_beg=1 # First line for current file.
ac_end=$ac_max_sed_cmds # Line after last line for current file.
ac_more_lines=:
ac_sed_cmds=""
while $ac_more_lines; do
if test $ac_beg -gt 1; then
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
else
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
fi
if test ! -s conftest.s$ac_file; then
ac_more_lines=false
rm -f conftest.s$ac_file
else
if test -z "$ac_sed_cmds"; then
ac_sed_cmds="sed -f conftest.s$ac_file"
else
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
fi
ac_file=`expr $ac_file + 1`
ac_beg=$ac_end
ac_end=`expr $ac_end + $ac_max_sed_cmds`
fi
done
if test -z "$ac_sed_cmds"; then
ac_sed_cmds=cat
fi
EOF
cat >> $CONFIG_STATUS <<EOF
CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case "$ac_file" in
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
*) ac_file_in="${ac_file}.in" ;;
esac
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
# Remove last slash and all that follows it. Not all systems have dirname.
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
# The file is in a subdirectory.
test ! -d "$ac_dir" && mkdir "$ac_dir"
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
# A "../" for each directory in $ac_dir_suffix.
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
else
ac_dir_suffix= ac_dots=
fi
case "$ac_given_srcdir" in
.) srcdir=.
if test -z "$ac_dots"; then top_srcdir=.
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
*) # Relative path.
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
echo creating "$ac_file"
rm -f "$ac_file"
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
case "$ac_file" in
*Makefile*) ac_comsub="1i\\
# $configure_input" ;;
*) ac_comsub= ;;
esac
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
sed -e "$ac_comsub
s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g
s%@top_srcdir@%$top_srcdir%g
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
fi; done
rm -f conftest.s*
EOF
cat >> $CONFIG_STATUS <<EOF
EOF
cat >> $CONFIG_STATUS <<\EOF
exit 0
EOF
chmod +x $CONFIG_STATUS
rm -fr confdefs* $ac_clean_files
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
if test "$no_recursion" != yes; then
# Remove --cache-file and --srcdir arguments so they do not pile up.
ac_sub_configure_args=
ac_prev=
for ac_arg in $ac_configure_args; do
if test -n "$ac_prev"; then
ac_prev=
continue
fi
case "$ac_arg" in
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
;;
*) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
esac
done
for ac_config_dir in objdbg01 objdbg02 objdbg03 objdbg04; do
# Do not complain, so a configure script can configure whichever
# parts of a large source tree are present.
if test ! -d $srcdir/$ac_config_dir; then
continue
fi
echo configuring in $ac_config_dir
case "$srcdir" in
.) ;;
*)
if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
else
{ echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
fi
;;
esac
ac_popdir=`pwd`
cd $ac_config_dir
# A "../" for each directory in /$ac_config_dir.
ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
case "$srcdir" in
.) # No --srcdir option. We are building in place.
ac_sub_srcdir=$srcdir ;;
/*) # Absolute path.
ac_sub_srcdir=$srcdir/$ac_config_dir ;;
*) # Relative path.
ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
esac
# Check for guested configure; otherwise get Cygnus style configure.
if test -f $ac_sub_srcdir/configure; then
ac_sub_configure=$ac_sub_srcdir/configure
elif test -f $ac_sub_srcdir/configure.in; then
ac_sub_configure=$ac_configure
else
echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
ac_sub_configure=
fi
# The recursion is here.
if test -n "$ac_sub_configure"; then
# Make the cache file name correct relative to the subdirectory.
case "$cache_file" in
/*) ac_sub_cache_file=$cache_file ;;
*) # Relative path.
ac_sub_cache_file="$ac_dots$cache_file" ;;
esac
echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
# The eval makes quoting arguments work.
if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
then :
else
{ echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
fi
fi
cd $ac_popdir
done
fi

View File

@@ -0,0 +1,16 @@
dnl Process this file file with autoconf to produce a configure script.
dnl This file is a shell script fragment that supplies the information
dnl necessary to tailor a template configure script into the configure
dnl script appropriate for this directory. For more information, check
dnl any existing configure script.
AC_PREREQ(2.5)
AC_INIT(objdbg01.exp)
CC=${CC-cc}
AC_SUBST(CC)
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../../..)
AC_CANONICAL_SYSTEM
AC_CONFIG_SUBDIRS(objdbg01 objdbg02 objdbg03 objdbg04)
AC_OUTPUT(Makefile)

View File

@@ -0,0 +1,212 @@
# Test reading debug information from in object files.
if { [skip_hp_tests] } { continue }
if { ![istarget "hppa*-*-hpux*"] } {
verbose "HPUX test ignored for non-hppa targets."
return 0
}
set testfile "test"
set srcsubdir ${srcdir}/${subdir}/objdbg01
set toolssubdir ${srcdir}/${subdir}/tools
set objdbgdir ${objdir}/${subdir}/objdbg01
set binfile ${objdbgdir}/${testfile}
set symaddrfile ${toolssubdir}/symaddr
if { [gdb_compile "${toolssubdir}/test-objdbg.cc" "${objdbgdir}/test-objdbg.o" object "debug c++ {additional_flags=-I${toolssubdir} +objdebug}"] != "" } {
gdb_suppress_entire_file "WARNING: +objdebug option is not supported in this compiler version, test ignored."
}
if { [gdb_compile "${srcsubdir}/x1.cc" "${objdbgdir}/x1.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x1.cc"
return -1
}
if { [gdb_compile "${srcsubdir}/x2.cc" "${objdbgdir}/x2.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x2.cc"
return -1
}
if { [gdb_compile "${srcsubdir}/x3.cc" "${objdbgdir}/x3.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x3.cc"
return -1
}
if { [gdb_compile "${objdbgdir}/x1.o ${objdbgdir}/x2.o ${objdbgdir}/x3.o" "${binfile}0" executable "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile ${binfile}0"
return -1
}
if {[gdb_compile "${objdbgdir}/x3.o ${objdbgdir}/x2.o ${objdbgdir}/x1.o" "${binfile}1" executable "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile ${binfile}1"
return -1
}
# Test two executables. The first has x1.cc linked first, the second
# has x3.cc linked first. The difference is that in the first one,
# the Info<PP> instantiation from x1.cc is taken, in the second, its
# from x3.cc.
for {set filenum 0} {$filenum < 2} {incr filenum 1} {
# Lets test some commons
# Need to restart each to to make sure objects are not loaded
# Also cross check the address with what is actually in the
# object file (call the executable ${symaddrfile} to retrieve the
# information).
set exec_output [lindex [remote_exec build "${symaddrfile} ${binfile}${filenum} acomm"] 1]
regsub -all "\[\r\n\]" ${exec_output} "" exec_output
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "p &acomm" "..* = \\(int \[*\]\\) 0x${exec_output}.*"
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "b main" "Breakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file ..*/x1.cc, line 20."
gdb_test "run" "Starting program:.*Breakpoint \[0-9\]+, main .*/x1.cc:20.*20.*acomm.*=.*1.*"
gdb_test "s 1" "21.*"
gdb_test "p acomm" ".* = 1.*"
gdb_test "p &acomm" "..* = \\(int \[*\]\\) 0x${exec_output}.*"
# Step through each line.
# Do this three times.
# First round: Test that things are okay after printing commons
# above.
# Second round: Restart gdb and make sure we can walk through
# Third round: Do NOT restrart gdb to verify that the debug information
# was not messed up by loading additional object files from
# the first run through.
for {set i 0} {$i < 3} {incr i 1} {
if $i==1 then {
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
}
if $i!=2 then {
gdb_test "b main" \
"Breakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file ..*/x1.cc, line 20."
}
if $i!=0 then {
gdb_test "run" \
"Starting program:.*Breakpoint \[0-9\]+, main .*/x1.cc:20.*"
gdb_test "s 1" "21.*"
}
gdb_test "s 1" "Info<PP>::p .*/x3.h:11.*"
gdb_test "s 1" "PP::print .*/x2.cc:8.*"
gdb_test "s 1" ".*9.*"
gdb_test "s 1" "Info<PP>::p .*/x3.h:12.*"
gdb_test "s 1" "main .*/x1.cc:22.*"
gdb_test "s 1" "foo .*/x3.cc:5.*"
gdb_test "s 1" "Info<PP>::p .*/x3.h:11.*"
gdb_test "s 1" "PP::print .*/x2.cc:8.*"
gdb_test "s 1" ".*9.*"
gdb_test "s 1" "Info<PP>::p .*/x3.h:12.*"
gdb_test "s 1" "foo .*/x3.cc:6.*"
gdb_test "s 1" "Info<QQ>::p .*/x3.h:11.*"
gdb_test "s 1" "QQ::print .*/x2.cc:13.*"
gdb_test "s 1" ".*14.*"
gdb_test "s 1" "Info<QQ>::p .*/x3.h:12.*"
gdb_test "s 1" "foo .*/x3.cc:7.*"
gdb_test "s 1" "main .*/x1.cc:24.*"
gdb_test "s 1" ".*25.*"
if [istarget "hppa2.0w-*-*"] {
gdb_test "s 1" "0x\[0-9a-f\]+ in .*"
gdb_test "c" ".*Program exited normally.*"
} else {
gdb_test "s 1" "0x\[0-9a-f\]+ in _start .*"
gdb_test "s 1" ".*Program exited normally.*"
}
}
# Test various ptypes, and combinations of them
# Test things multiple times in each set to make sure that the debug
# information did not get messed up.
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "ptype QQ" "type = (class |)QQ {..*void print( |)..*}.*"
gdb_test "ptype PP" "type = (class |)PP {..*void print( |)..*}.*"
gdb_test "ptype QQ" "type = (class |)QQ {..*void print( |)..*}.*"
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "ptype PP" "type = (class |)PP {..*void print( |)..*}.*"
gdb_test "ptype QQ" "type = (class |)QQ {..*void print( |)..*}.*"
gdb_test "ptype PP" "type = (class |)PP {..*void print( |)..*}.*"
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "ptype Info<QQ>" "type = (class |)Info<QQ> {..*void p( |)..*}.*"
gdb_test "ptype Info<PP>" "type = (class |)Info<PP> {..*void p( |)..*}.*"
gdb_test "ptype Info<QQ>" "type = (class |)Info<QQ> {..*void p( |)..*}.*"
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "ptype Info<PP>" "type = (class |)Info<PP> {..*void p( |)..*}.*"
gdb_test "ptype Info<QQ>" "type = (class |)Info<QQ> {..*void p( |)..*}.*"
gdb_test "ptype Info<PP>" "type = (class |)Info<PP> {..*void p( |)..*}.*"
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "ptype Info" "type = template <..*> (class |)Info {..*}.*"
gdb_test "ptype Info<PP>" "type = (class |)Info<PP> {..*void p( |)..*}.*"
gdb_test "ptype Info<QQ>" "type = (class |)Info<QQ> {..*void p( |)..*}.*"
gdb_test "ptype Info" "type = template <..*> (class |)Info {..*}.*"
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "ptype class QQ" "type = (class |)QQ {..*void print( |)..*}.*"
gdb_test "ptype class PP" "type = (class |)PP {..*void print( |)..*}.*"
gdb_test "ptype class QQ" "type = (class |)QQ {..*void print( |)..*}.*"
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "ptype class PP" "type = (class |)PP {..*void print( |)..*}.*"
gdb_test "ptype class QQ" "type = (class |)QQ {..*void print( |)..*}.*"
gdb_test "ptype class PP" "type = (class |)PP {..*void print( |)..*}.*"
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "ptype class Info<QQ>" \
"type = (class |)Info<QQ> {..*void p( |)..*}.*"
gdb_test "ptype class Info<PP>" \
"type = (class |)Info<PP> {..*void p( |)..*}.*"
gdb_test "ptype class Info<QQ>" \
"type = (class |)Info<QQ> {..*void p( |)..*}.*"
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "ptype class Info<PP>" \
"type = (class |)Info<PP> {..*void p( |)..*}.*"
gdb_test "ptype class Info<QQ>" \
"type = (class |)Info<QQ> {..*void p( |)..*}.*"
gdb_test "ptype class Info<PP>" \
"type = (class |)Info<PP> {..*void p( |)..*}.*"
}

View File

@@ -0,0 +1,25 @@
#include <stdio.h>
#include "x3.h"
extern void foo();
extern int acomm;
int main3()
{
return 1;
}
int main2()
{
return 0;
}
int main()
{
acomm = 1;
(new Info<PP>)->p(new PP);
foo();
return 0;
}

View File

@@ -0,0 +1,14 @@
#include "x3.h"
#include <stdio.h>
int acomm;
void PP::print()
{
printf("In PP::print()\n");
}
void QQ::print()
{
printf("In QQ::print()\n");
}

View File

@@ -0,0 +1,7 @@
#include "x3.h"
void foo()
{
(new Info<PP>)->p(new PP);
(new Info<QQ>)->p(new QQ);
}

View File

@@ -0,0 +1,22 @@
template <class T>
class Info {
public:
void p(T *x);
};
template <class T>
void Info<T>::p(T *x)
{
x->print();
}
class PP {
public:
void print();
};
class QQ {
public:
void print();
};

View File

@@ -0,0 +1,75 @@
# Test reading debug information from in object files.
if { [skip_hp_tests] } { continue }
if { ![istarget "hppa*-*-hpux*"] } {
verbose "HPUX test ignored for non-hppa targets."
return 0
}
set testfile "test"
set srcsubdir ${srcdir}/${subdir}/objdbg02
set objdbgdir ${objdir}/${subdir}/objdbg02
set binfile ${objdbgdir}/${testfile}
set toolssubdir ${srcdir}/${subdir}/tools
if { [gdb_compile "${toolssubdir}/test-objdbg.cc" "${objdbgdir}/test-objdbg.o" object "debug c++ {additional_flags=-I${toolssubdir} +objdebug}"] != "" } {
gdb_suppress_entire_file "WARNING: +objdebug option is not supported in this compiler version, test ignored."
}
if { [gdb_compile "${srcsubdir}/x1.cc" "${objdbgdir}/x1.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x1.cc"
return -1
}
if { [gdb_compile "${srcsubdir}/x2.cc" "${objdbgdir}/x2.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x2.cc"
return -1
}
if { [gdb_compile "${srcsubdir}/x3.cc" "${objdbgdir}/x3.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x3.cc"
return -1
}
remote_exec build "rm -f ${objdbgdir}/test.a"
set status [remote_exec build "ar cr ${objdbgdir}/test.a ${objdbgdir}/x2.o ${objdbgdir}/x3.o"]
if { [lindex $status 0] != 0 } {
perror "Couldn't compile test.a"
return -1
}
remote_exec build "rm -f ${objdbgdir}/x2.o ${objdbgdir}/x3.o"
if { [gdb_compile "${objdbgdir}/x1.o ${objdbgdir}/test.a" "$binfile" executable "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile ${binfile}"
return -1
}
# Test loading debug information from an archive file
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}
gdb_test "b main" "Breakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file ..*/x1.cc, line 12."
gdb_test "run" "Starting program:.*Breakpoint \[0-9\]+, main .*/x1.cc:12.*"
gdb_test "s 1" ".*13.*"
gdb_test "s 1" "foo1 .*/x2.cc:15.*"
gdb_test "s 1" ".*16.*"
gdb_test "s 1" "foo2 .*/x2.cc:10.*"
gdb_test "s 1" ".*11.*"
gdb_test "s 1" "foo1 .*/x2.cc:17.*"
gdb_test "s 1" "main .*/x1.cc:14.*"
gdb_test "s 1" "foo3 .*/x3.cc:5.*"
gdb_test "s 1" ".*6.*"
gdb_test "s 1" "main .*/x1.cc:15.*"
gdb_test "s 1" ".*16.*"
if [istarget "hppa2.0w-*-*"] {
gdb_test "s 1" "0x\[0-9a-f\]+ in .*START.*"
gdb_test "c" ".*Program exited normally.*"
} else {
gdb_test "s 1" "0x\[0-9a-f\]+ in _start .*"
gdb_test "s 1" ".*Program exited normally.*"
}

View File

@@ -0,0 +1,16 @@
#include <stdio.h>
extern void foo1();
extern void foo3();
struct foo_type;
int main()
{
struct foo_type *x;
printf("In main.\n");
foo1();
foo3();
return 0;
}

View File

@@ -0,0 +1,17 @@
#include <stdio.h>
struct foo_type {
int t1;
int t2;
};
static void foo2()
{
printf("In foo2.\n");
}
void foo1()
{
printf("In foo1.\n");
foo2();
}

View File

@@ -0,0 +1,6 @@
#include <stdio.h>
void foo3()
{
printf("In foo3.\n");
}

View File

@@ -0,0 +1,154 @@
# Test reading debug information from in object files.
if { [skip_hp_tests] } { continue }
if { ![istarget "hppa*-*-hpux*"] } {
verbose "HPUX test ignored for non-hppa targets."
return 0
}
set testfile "test"
set srcsubdir ${srcdir}/${subdir}/objdbg03
set objdbgdir ${objdir}/${subdir}/objdbg03
set binfile ${objdbgdir}/${testfile}
set toolssubdir ${srcdir}/${subdir}/tools
if [istarget "hppa2.0w-*-*"] {
set symaddrfile ${toolssubdir}/symaddr.pa64
} else {
set symaddrfile ${toolssubdir}/symaddr
}
if { [gdb_compile "${toolssubdir}/test-objdbg.cc" "${objdbgdir}/test-objdbg.o" object "debug c++ {additional_flags=-I${toolssubdir} +objdebug}"] != "" } {
gdb_suppress_entire_file "WARNING: +objdebug option is not supported in this compiler version, test ignored."
}
if { [gdb_compile "${srcsubdir}/x1.cc" "${objdbgdir}/x1.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x1.cc"
return -1
}
if { [gdb_compile "${srcsubdir}/x2.cc" "${objdbgdir}/x2.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x2.cc"
return -1
}
if { [gdb_compile "${srcsubdir}/x3.cc" "${objdbgdir}/x3.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x3.cc"
return -1
}
if { [gdb_compile "${objdbgdir}/x1.o ${objdbgdir}/x2.o ${objdbgdir}/x3.o" "${binfile}" executable "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile ${binfile}"
return -1
}
#
# Test some normal commons
#
# Print the types
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}
gdb_test "ptype common1" "type = int"
gdb_test "ptype common2" "type = int"
gdb_test "ptype common3" "type = int"
gdb_test "ptype data1" "type = int"
gdb_test "ptype data2" "type = int"
gdb_test "ptype data3" "type = int"
gdb_test "ptype common11" "type = int"
gdb_test "ptype common10" "type = int"
gdb_test "ptype data10" "type = int"
gdb_test "ptype data11" "type = int"
# Print the values
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}
gdb_test "b main" "Breakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file ..*/x1.cc, line 11."
gdb_test "run" "Starting program:.*Breakpoint \[0-9\]+, main .*/x1.cc:11.*"
gdb_test "p data1" "..* = 1"
gdb_test "p data2" "..* = 2"
gdb_test "p data3" "..* = 3"
gdb_test "p data10" "..* = 10"
gdb_test "p data11" "..* = 11"
gdb_test "n" ".*12.*"
gdb_test "p common11" "..* = 11"
gdb_test "s 1" "foo .*/x3.cc:15.*"
gdb_test "s 4" ".*20.*"
gdb_test "p data4" "..* = 4"
gdb_test "p common4" "..* = 4"
gdb_test "n" ".*21.*"
gdb_test "n" "main .*/x1.cc:14.*"
gdb_test "p common1" "..* = 1"
gdb_test "p common2" "..* = 2"
gdb_test "p common3" "..* = 3"
# Verify that addresses match those in the executable
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}
set exec_output_data1 [lindex [remote_exec build "${symaddrfile} ${binfile} data1"] 1]
regsub -all "\[\r\n\]" ${exec_output_data1} "" exec_output_data1
set exec_output_data2 [lindex [remote_exec build "${symaddrfile} ${binfile} data2"] 1]
regsub -all "\[\r\n\]" ${exec_output_data2} "" exec_output_data2
set exec_output_data3 [lindex [remote_exec build "${symaddrfile} ${binfile} data3"] 1]
regsub -all "\[\r\n\]" ${exec_output_data3} "" exec_output_data3
set exec_output_data10 [lindex [remote_exec build "${symaddrfile} ${binfile} data10"] 1]
regsub -all "\[\r\n\]" ${exec_output_data10} "" exec_output_data10
set exec_output_data11 [lindex [remote_exec build "${symaddrfile} ${binfile} data11"] 1]
regsub -all "\[\r\n\]" ${exec_output_data11} "" exec_output_data11
set exec_output_common1 [lindex [remote_exec build "${symaddrfile} ${binfile} common1"] 1]
regsub -all "\[\r\n\]" ${exec_output_common1} "" exec_output_common1
set exec_output_common2 [lindex [remote_exec build "${symaddrfile} ${binfile} common2"] 1]
regsub -all "\[\r\n\]" ${exec_output_common2} "" exec_output_common2
set exec_output_common3 [lindex [remote_exec build "${symaddrfile} ${binfile} common3"] 1]
regsub -all "\[\r\n\]" ${exec_output_common3} "" exec_output_common3
set exec_output_common10 [lindex [remote_exec build "${symaddrfile} ${binfile} common10"] 1]
regsub -all "\[\r\n\]" ${exec_output_common10} "" exec_output_common10
set exec_output_common11 [lindex [remote_exec build "${symaddrfile} ${binfile} common11"] 1]
regsub -all "\[\r\n\]" ${exec_output_common11} "" exec_output_common11
if [istarget "hppa2.0w-*-*"] {
gdb_test "p &data1" "..* = \\(int \[*\]\\) ${exec_output_data1}"
gdb_test "p &data2" "..* = \\(int \[*\]\\) ${exec_output_data2}"
gdb_test "p &data3" "..* = \\(int \[*\]\\) ${exec_output_data3}"
gdb_test "p &data10" "..* = \\(int \[*\]\\) ${exec_output_data10}"
gdb_test "p &data11" "..* = \\(int \[*\]\\) ${exec_output_data11}"
gdb_test "p &common1" "..* = \\(int \[*\]\\) ${exec_output_common1}"
gdb_test "p &common2" "..* = \\(int \[*\]\\) ${exec_output_common2}"
gdb_test "p &common3" "..* = \\(int \[*\]\\) ${exec_output_common3}"
gdb_test "p &common10" "..* = \\(int \[*\]\\) ${exec_output_common10}"
gdb_test "p &common11" "..* = \\(int \[*\]\\) ${exec_output_common11}"
} else {
gdb_test "p &data1" "..* = \\(int \[*\]\\) 0x${exec_output_data1}"
gdb_test "p &data2" "..* = \\(int \[*\]\\) 0x${exec_output_data2}"
gdb_test "p &data3" "..* = \\(int \[*\]\\) 0x${exec_output_data3}"
gdb_test "p &data10" "..* = \\(int \[*\]\\) 0x${exec_output_data10}"
gdb_test "p &data11" "..* = \\(int \[*\]\\) 0x${exec_output_data11}"
gdb_test "p &common1" "..* = \\(int \[*\]\\) 0x${exec_output_common1}"
gdb_test "p &common2" "..* = \\(int \[*\]\\) 0x${exec_output_common2}"
gdb_test "p &common3" "..* = \\(int \[*\]\\) 0x${exec_output_common3}"
gdb_test "p &common10" "..* = \\(int \[*\]\\) 0x${exec_output_common10}"
gdb_test "p &common11" "..* = \\(int \[*\]\\) 0x${exec_output_common11}"
}

View File

@@ -0,0 +1,15 @@
#include <stdio.h>
extern int foo();
extern int common3;
extern int data3;
extern int common11;
extern int data11;
int main()
{
common11 = 11;
printf("In main: %d %d %d\n", data3, common3, foo(), common11, data11);
return 0;
}

View File

@@ -0,0 +1,7 @@
#include <stdio.h>
int common10;
int common11;
int data10 = 10;
int data11 = 11;

View File

@@ -0,0 +1,21 @@
#include <stdio.h>
int common1;
int common2;
int common3;
static int common4;
int data1 = 1;
int data2 = 2;
int data3 = 3;
static int data4 = 4;
int foo()
{
common1 = 1;
common2 = 2;
common3 = 3;
common4 = 4;
return data1 + data2 + data3 + data4 + common1 + common2 + common3 + common4;
}

View File

@@ -0,0 +1,55 @@
# Test reading debug information from in object files.
if { [skip_hp_tests] } { continue }
if { ![istarget "hppa*-*-hpux*"] } {
verbose "HPUX test ignored for non-hppa targets."
return 0
}
set testfile "test"
set srcsubdir ${srcdir}/${subdir}/objdbg04
set objdbgdir ${objdir}/${subdir}/objdbg04
set binfile ${objdbgdir}/${testfile}
set toolssubdir ${srcdir}/${subdir}/tools
set symaddrfile ${toolssubdir}/symaddr
if { [gdb_compile "${toolssubdir}/test-objdbg.cc" "${objdbgdir}/test-objdbg.o" object "debug c++ {additional_flags=-I${toolssubdir} +objdebug}"] != "" } {
gdb_suppress_entire_file "WARNING: +objdebug option is not supported in this compiler version, test ignored."
}
if { [gdb_compile "${srcsubdir}/x1.cc" "${objdbgdir}/x1.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x1.cc"
return -1
}
if { [gdb_compile "${srcsubdir}/x2.cc" "${objdbgdir}/x2.o" object "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x2.cc"
return -1
}
if { [gdb_compile "${objdbgdir}/x1.o ${objdbgdir}/x2.o" "${binfile}0" executable "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x1.cc"
return -1
}
if { [gdb_compile "${objdbgdir}/x2.o ${objdbgdir}/x1.o" "${binfile}1" executable "debug c++ {additional_flags=-I${srcsubdir} +objdebug}"] != "" } {
perror "Couldn't compile x1.cc"
return -1
}
# Test two executables. The first has x1.cc linked first, the second
# has x2.cc linked first. The difference is which COMDAT section was
# picked.
for {set filenum 0} {$filenum < 2} {incr filenum 1} {
gdb_exit
gdb_start
gdb_reinitialize_dir ${srcsubdir}
gdb_load ${binfile}${filenum}
gdb_test "ptype Adder" "type = template <class T> (class |)Adder {..*T val.*;.*}(.*template instantiations:.*Adder<int>|)"
gdb_test "ptype Adder<int>" "type = (class |)Adder<int> {.*private:.*int val;.*public:.*void set( |)\\(int\\);.*int get( |)\\(void\\);.*int add( |)\\(int\\);.*}"
gdb_test "ptype Adder" "type = template <class T> (class |)Adder {..*T val.*;.*}(.*template instantiations:.*Adder<int>|)"
}

View File

@@ -0,0 +1,30 @@
template <class T>
class Adder {
public:
void set(T);
T get();
T add(T);
private:
T val;
};
template <class T>
void Adder<T>::set(T new_val)
{
val = new_val;
}
template <class T>
T Adder<T>::get()
{
return val;
}
template <class T>
T Adder<T>::add(T new_val)
{
val += new_val;
return val;
}

View File

@@ -0,0 +1,15 @@
#include <stdio.h>
#include "x.h"
template class Adder<int>;
int main()
{
Adder<int> add;
add.set(3);
add.add(3);
printf("In main: %d\n", add.get());
return 0;
}

View File

@@ -0,0 +1,3 @@
#include "x.h"
template class Adder<int>;

View File

@@ -0,0 +1,8 @@
#!/bin/ksh
# Get the address of a symbol in Hex.
# $1 = object/executable file name
# $2 = symbol name
${srcdir}/gdb.hp/tools/odump -sym "$1" | grep "$2"$ | awk '{print $1}'
exit 0

View File

@@ -0,0 +1,8 @@
#!/bin/ksh
# Get the address of a symbol in Hex.
# $1 = object/executable file name
# $2 = symbol name
/usr/ccs/bin/elfdump -t +s .symtab "$1" | grep "$2"$ | awk '{print $6}'
exit 0

View File

@@ -0,0 +1,4 @@
int main()
{
return 0;
}

View File

@@ -0,0 +1,27 @@
VPATH = @srcdir@
srcdir = @srcdir@
EXECUTABLES = usrthbasic usrthcore usrthfork
all:
@echo "Nothing to be done for all..."
info:
install-info:
dvi:
install:
uninstall: force
installcheck:
check:
clean mostlyclean:
-rm -f *~ *.o *.ci
-rm -f core $(EXECUTABLES)
distclean maintainer-clean realclean: clean
-rm -f Makefile config.status config.log
-rm -f *-init.exp
-rm -fr *.log summary detail *.plog *.sum *.psum site.*
Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in
$(SHELL) ./config.status --recheck

899
gdb/testsuite/gdb.hp/gdb.threads-hp/configure vendored Executable file
View File

@@ -0,0 +1,899 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.12.1
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
# Defaults:
ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
# Initialize some variables set by options.
# The variables have the same names as the options, with
# dashes changed to underlines.
build=NONE
cache_file=./config.cache
exec_prefix=NONE
host=NONE
no_create=
nonopt=NONE
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
target=NONE
verbose=
x_includes=NONE
x_libraries=NONE
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
infodir='${prefix}/info'
mandir='${prefix}/man'
# Initialize some other variables.
subdirs=
MFLAGS= MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
# Maximum number of lines to put in a shell here document.
ac_max_here_lines=12
ac_prev=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval "$ac_prev=\$ac_option"
ac_prev=
continue
fi
case "$ac_option" in
-*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) ac_optarg= ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case "$ac_option" in
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir="$ac_optarg" ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build="$ac_optarg" ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file="$ac_optarg" ;;
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
| --da=*)
datadir="$ac_optarg" ;;
-disable-* | --disable-*)
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
eval "enable_${ac_feature}=no" ;;
-enable-* | --enable-*)
ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
fi
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "enable_${ac_feature}='$ac_optarg'" ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix="$ac_optarg" ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he)
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat << EOF
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
--cache-file=FILE cache test results in FILE
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[same as prefix]
--bindir=DIR user executables in DIR [EPREFIX/bin]
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data in DIR
[PREFIX/share]
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data in DIR
[PREFIX/com]
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
--includedir=DIR C header files in DIR [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
--infodir=DIR info documentation in DIR [PREFIX/info]
--mandir=DIR man documentation in DIR [PREFIX/man]
--srcdir=DIR find the sources in DIR [configure dir or ..]
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM
run sed PROGRAM on installed program names
EOF
cat << EOF
Host type:
--build=BUILD configure for building on BUILD [BUILD=HOST]
--host=HOST configure for HOST [guessed]
--target=TARGET configure for TARGET [TARGET=HOST]
Features and packages:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
EOF
if test -n "$ac_help"; then
echo "--enable and --with options recognized:$ac_help"
fi
exit 0 ;;
-host | --host | --hos | --ho)
ac_prev=host ;;
-host=* | --host=* | --hos=* | --ho=*)
host="$ac_optarg" ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir="$ac_optarg" ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir="$ac_optarg" ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir="$ac_optarg" ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir="$ac_optarg" ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst \
| --locals | --local | --loca | --loc | --lo)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
localstatedir="$ac_optarg" ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir="$ac_optarg" ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir="$ac_optarg" ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix="$ac_optarg" ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix="$ac_optarg" ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix="$ac_optarg" ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name="$ac_optarg" ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir="$ac_optarg" ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir="$ac_optarg" ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir="$ac_optarg" ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir="$ac_optarg" ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target="$ac_optarg" ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
echo "configure generated by autoconf version 2.12.1"
exit 0 ;;
-with-* | --with-*)
ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
case "$ac_option" in
*=*) ;;
*) ac_optarg=yes ;;
esac
eval "with_${ac_package}='$ac_optarg'" ;;
-without-* | --without-*)
ac_package=`echo $ac_option|sed -e 's/-*without-//'`
# Reject names that are not valid shell variable names.
if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
fi
ac_package=`echo $ac_package| sed 's/-/_/g'`
eval "with_${ac_package}=no" ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes="$ac_optarg" ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries="$ac_optarg" ;;
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
;;
*)
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
echo "configure: warning: $ac_option: invalid host type" 1>&2
fi
if test "x$nonopt" != xNONE; then
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
fi
nonopt="$ac_option"
;;
esac
done
if test -n "$ac_prev"; then
{ echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
fi
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
# File descriptor usage:
# 0 standard input
# 1 file creation
# 2 errors and warnings
# 3 some systems may open it to /dev/tty
# 4 used on the Kubota Titan
# 6 checking for... messages and results
# 5 compiler messages saved in config.log
if test "$silent" = yes; then
exec 6>/dev/null
else
exec 6>&1
fi
exec 5>./config.log
echo "\
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
" 1>&5
# Strip out --no-create and --no-recursion so they do not pile up.
# Also quote any args containing shell metacharacters.
ac_configure_args=
for ac_arg
do
case "$ac_arg" in
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c) ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
esac
done
# NLS nuisances.
# Only set these to C if already set. These must not be set unconditionally
# because not all systems understand e.g. LANG=C (notably SCO).
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
# Non-C LC_CTYPE values break the ctype check.
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -rf conftest* confdefs.h
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
echo > confdefs.h
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
ac_unique_file=usrthbasic.exp
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then its parent.
ac_prog=$0
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
srcdir=$ac_confdir
if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r $srcdir/$ac_unique_file; then
if test "$ac_srcdir_defaulted" = yes; then
{ echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
else
{ echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
fi
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"
fi
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
echo "loading site script $ac_site_file"
. "$ac_site_file"
fi
done
if test -r "$cache_file"; then
echo "loading cache $cache_file"
. $cache_file
else
echo "creating cache $cache_file"
> $cache_file
fi
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
ac_n= ac_c='
' ac_t=' '
else
ac_n=-n ac_c= ac_t=
fi
else
ac_n= ac_c='\c' ac_t=
fi
CC=${CC-cc}
ac_aux_dir=
for ac_dir in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../..; do
if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
elif test -f $ac_dir/install.sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
fi
done
if test -z "$ac_aux_dir"; then
{ echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../../.. $srcdir/`cd $srcdir;pwd`/../../../.." 1>&2; exit 1; }
fi
ac_config_guess=$ac_aux_dir/config.guess
ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# Do some error checking and defaulting for the host and target type.
# The inputs are:
# configure --host=HOST --target=TARGET --build=BUILD NONOPT
#
# The rules are:
# 1. You are not allowed to specify --host, --target, and nonopt at the
# same time.
# 2. Host defaults to nonopt.
# 3. If nonopt is not specified, then host defaults to the current host,
# as determined by config.guess.
# 4. Target and build default to nonopt.
# 5. If nonopt is not specified, then target and build default to host.
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
case $host---$target---$nonopt in
NONE---*---* | *---NONE---* | *---*---NONE) ;;
*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
esac
# Make sure we can run config.sub.
if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
echo "configure:573: checking host system type" >&5
host_alias=$host
case "$host_alias" in
NONE)
case $nonopt in
NONE)
if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
fi ;;
*) host_alias=$nonopt ;;
esac ;;
esac
host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
echo "configure:594: checking target system type" >&5
target_alias=$target
case "$target_alias" in
NONE)
case $nonopt in
NONE) target_alias=$host_alias ;;
*) target_alias=$nonopt ;;
esac ;;
esac
target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
echo "configure:612: checking build system type" >&5
build_alias=$build
case "$build_alias" in
NONE)
case $nonopt in
NONE) build_alias=$host_alias ;;
*) build_alias=$nonopt ;;
esac ;;
esac
build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$build" 1>&6
test "$host_alias" != "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
# If it contains results you don't want to keep, you may remove or edit it.
#
# By default, configure uses ./config.cache as the cache file,
# creating it if it does not exist already. You can give configure
# the --cache-file=FILE option to use a different cache file; that is
# what configure does when it calls configure scripts in
# subdirectories, so they share the cache.
# Giving --cache-file=/dev/null disables caching, for debugging configure.
# config.status only pays attention to the cache file if you give it the
# --recheck option to rerun configure.
#
EOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, don't put newlines in cache variables' values.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
case `(ac_space=' '; set) 2>&1 | grep ac_space` in
*ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
sed -n \
-e "s/'/'\\\\''/g" \
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
;;
esac >> confcache
if cmp -s $cache_file confcache; then
:
else
if test -w $cache_file; then
echo "updating cache $cache_file"
cat confcache > $cache_file
else
echo "not updating unwritable cache $cache_file"
fi
fi
rm -f confcache
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# Any assignment to VPATH causes Sun make to only execute
# the first set of double-colon rules, so remove it if not needed.
# If there is a colon in the path, we need to keep it.
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
fi
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
cat > conftest.defs <<\EOF
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
s%\[%\\&%g
s%\]%\\&%g
s%\$%$$%g
EOF
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
rm -f conftest.defs
# Without the "./", some shells look in PATH for config.status.
: ${CONFIG_STATUS=./config.status}
echo creating $CONFIG_STATUS
rm -f $CONFIG_STATUS
cat > $CONFIG_STATUS <<EOF
#! /bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# $0 $ac_configure_args
#
# Compiler output produced by configure, useful for debugging
# configure, is in ./config.log if it exists.
ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
for ac_option
do
case "\$ac_option" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
*) echo "\$ac_cs_usage"; exit 1 ;;
esac
done
ac_given_srcdir=$srcdir
trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
# Protect against being on the right side of a sed subst in config.status.
sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
$ac_vpsub
$extrasub
s%@SHELL@%$SHELL%g
s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g
s%@DEFS@%$DEFS%g
s%@LDFLAGS@%$LDFLAGS%g
s%@LIBS@%$LIBS%g
s%@exec_prefix@%$exec_prefix%g
s%@prefix@%$prefix%g
s%@program_transform_name@%$program_transform_name%g
s%@bindir@%$bindir%g
s%@sbindir@%$sbindir%g
s%@libexecdir@%$libexecdir%g
s%@datadir@%$datadir%g
s%@sysconfdir@%$sysconfdir%g
s%@sharedstatedir@%$sharedstatedir%g
s%@localstatedir@%$localstatedir%g
s%@libdir@%$libdir%g
s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
s%@CC@%$CC%g
s%@host@%$host%g
s%@host_alias@%$host_alias%g
s%@host_cpu@%$host_cpu%g
s%@host_vendor@%$host_vendor%g
s%@host_os@%$host_os%g
s%@target@%$target%g
s%@target_alias@%$target_alias%g
s%@target_cpu@%$target_cpu%g
s%@target_vendor@%$target_vendor%g
s%@target_os@%$target_os%g
s%@build@%$build%g
s%@build_alias@%$build_alias%g
s%@build_cpu@%$build_cpu%g
s%@build_vendor@%$build_vendor%g
s%@build_os@%$build_os%g
CEOF
EOF
cat >> $CONFIG_STATUS <<\EOF
# Split the substitutions into bite-sized pieces for seds with
# small command number limits, like on Digital OSF/1 and HP-UX.
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
ac_file=1 # Number of current file.
ac_beg=1 # First line for current file.
ac_end=$ac_max_sed_cmds # Line after last line for current file.
ac_more_lines=:
ac_sed_cmds=""
while $ac_more_lines; do
if test $ac_beg -gt 1; then
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
else
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
fi
if test ! -s conftest.s$ac_file; then
ac_more_lines=false
rm -f conftest.s$ac_file
else
if test -z "$ac_sed_cmds"; then
ac_sed_cmds="sed -f conftest.s$ac_file"
else
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
fi
ac_file=`expr $ac_file + 1`
ac_beg=$ac_end
ac_end=`expr $ac_end + $ac_max_sed_cmds`
fi
done
if test -z "$ac_sed_cmds"; then
ac_sed_cmds=cat
fi
EOF
cat >> $CONFIG_STATUS <<EOF
CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case "$ac_file" in
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
*) ac_file_in="${ac_file}.in" ;;
esac
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
# Remove last slash and all that follows it. Not all systems have dirname.
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
# The file is in a subdirectory.
test ! -d "$ac_dir" && mkdir "$ac_dir"
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
# A "../" for each directory in $ac_dir_suffix.
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
else
ac_dir_suffix= ac_dots=
fi
case "$ac_given_srcdir" in
.) srcdir=.
if test -z "$ac_dots"; then top_srcdir=.
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
*) # Relative path.
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
echo creating "$ac_file"
rm -f "$ac_file"
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
case "$ac_file" in
*Makefile*) ac_comsub="1i\\
# $configure_input" ;;
*) ac_comsub= ;;
esac
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
sed -e "$ac_comsub
s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g
s%@top_srcdir@%$top_srcdir%g
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
fi; done
rm -f conftest.s*
EOF
cat >> $CONFIG_STATUS <<EOF
EOF
cat >> $CONFIG_STATUS <<\EOF
exit 0
EOF
chmod +x $CONFIG_STATUS
rm -fr confdefs* $ac_clean_files
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1

View File

@@ -0,0 +1,15 @@
dnl Process this file file with autoconf to produce a configure script.
dnl This file is a shell script fragment that supplies the information
dnl necessary to tailor a template configure script into the configure
dnl script appropriate for this directory. For more information, check
dnl any existing configure script.
AC_PREREQ(2.5)
AC_INIT(usrthbasic.exp)
CC=${CC-cc}
AC_SUBST(CC)
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../../..)
AC_CANONICAL_SYSTEM
AC_OUTPUT(Makefile)

View File

@@ -0,0 +1,171 @@
#include <stdio.h>
/* #include "config.h" */
#define HAVE_PTHREAD_H
#define __hpux__
#define __osf__
#ifndef HAVE_PTHREAD_H
/* Don't even try to compile. In fact, cause a syntax error that we can
look for as a compiler error message and know that we have no pthread
support. In that case we can just suppress the test completely. */
#error "no posix threads support"
#else
/* OK. We have the right header. If we try to compile this and fail, then
there is something wrong and the user should know about it so the testsuite
should issue an ERROR result.. */
#ifdef __linux__
#define _MIT_POSIX_THREADS 1 /* Linux (or at least RedHat 4.0) needs this */
#endif
#include <pthread.h>
/* Under OSF 2.0 & 3.0 and HPUX 10, the second arg of pthread_create
is prototyped to be just a "pthread_attr_t", while under Solaris it
is a "pthread_attr_t *". Arg! */
#if defined (__osf__) || defined (__hpux__)
#define PTHREAD_CREATE_ARG2(arg) arg
#define PTHREAD_CREATE_NULL_ARG2 null_attr
static pthread_attr_t null_attr;
#else
#define PTHREAD_CREATE_ARG2(arg) &arg
#define PTHREAD_CREATE_NULL_ARG2 NULL
#endif
static int verbose = 0;
static void
common_routine (arg)
int arg;
{
static int from_thread1;
static int from_thread2;
static int from_main;
static int hits;
static int full_coverage;
if (verbose) printf("common_routine (%d)\n", arg);
hits++;
switch (arg)
{
case 0:
from_main++;
break;
case 1:
from_thread1++;
break;
case 2:
from_thread2++;
break;
}
if (from_main && from_thread1 && from_thread2)
full_coverage = 1;
}
static void *
thread1 (void *arg)
{
int i;
int z = 0;
if (verbose) printf ("thread1 (%0x) ; pid = %d\n", arg, getpid ());
for (i=1; i <= 10000000; i++)
{
if (verbose) printf("thread1 %d\n", pthread_self ());
z += i;
common_routine (1);
sleep(1);
}
}
static void *
thread2 (void * arg)
{
int i;
int k = 0;
if (verbose) printf ("thread2 (%0x) ; pid = %d\n", arg, getpid ());
for (i=1; i <= 10000000; i++)
{
if (verbose) printf("thread2 %d\n", pthread_self ());
k += i;
common_routine (2);
sleep(1);
}
sleep(100);
}
int
foo (a, b, c)
int a, b, c;
{
int d, e, f;
if (verbose) printf("a=%d\n", a);
}
main(argc, argv)
int argc;
char **argv;
{
pthread_t tid1, tid2;
int j;
int t = 0;
void (*xxx) ();
pthread_attr_t attr;
if (verbose) printf ("pid = %d\n", getpid());
foo (1, 2, 3);
#ifndef __osf__
if (pthread_attr_init (&attr))
{
perror ("pthread_attr_init 1");
exit (1);
}
#endif
#ifdef PTHREAD_SCOPE_SYSTEM
if (pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM))
{
perror ("pthread_attr_setscope 1");
exit (1);
}
#endif
if (pthread_create (&tid1, pthread_attr_default, thread1, (void *) 0xfeedface))
{
perror ("pthread_create 1");
exit (1);
}
if (verbose) printf ("Made thread %d\n", tid1);
sleep (1);
if (pthread_create (&tid2, null_attr, thread2, (void *) 0xdeadbeef))
{
perror ("pthread_create 2");
exit (1);
}
if (verbose) printf("Made thread %d\n", tid2);
sleep (1);
for (j = 1; j <= 10000000; j++)
{
if (verbose) printf("top %d\n", pthread_self ());
common_routine (0);
sleep(1);
t += j;
}
exit(0);
}
#endif /* ifndef HAVE_PTHREAD_H */

View File

@@ -0,0 +1,107 @@
# usrthbasic.exp -- Expect script to test gdb with user threads
# Copyright (C) 1992 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# use this to debug:
#
#log_user 1
if $tracelevel {
strace $tracelevel
}
if { [skip_hp_tests] } { continue }
if { ![istarget "hppa*-*-hpux*"] || [istarget "hppa2.0w-*-*"] } {
verbose "HPUX thread test ignored for non-hppa or PA64 targets."
return 0
}
set testfile usrthbasic
set srcfile ${srcdir}/${subdir}/${testfile}.c
set binfile ${srcdir}/${subdir}/${testfile}
# To build the executable we need to link against the thread library.
#
# /opt/ansic/bin/cc -Ae +DAportable -g -o usrthbasic -lcma usrthbasic.c
#
## we have trouble building it on 11.0, so we use the prebuilt
## executable instead.
##
##if { [gdb_compile "${srcdir}/${subdir}/${testfile}.c" "${binfile}" executable {debug additional_flags=-Ae ldflags=-lcma}] != "" } {
## gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
##}
# We don't really seem to need longer waits.
#
##set oldtimeout $timeout
##set timeout [expr "$timeout + 0"]
##set oldverbose $verbose
##set verbose 40
#=========================
#
# Test looking at threads.
#
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
gdb_test "b main" ".*Breakpoint 1.*" "b main"
gdb_test "run" "Breakpoint 1, main.*:119.*" "run to main"
gdb_test "b thread1" ".*Breakpoint 2.*" "b thread1"
gdb_test "info threads" "\\* 1 system thread.*:119\[^(\]*" \
"info threads at main"
gdb_test "c" "Breakpoint 2, thread1.*" "continue to thread1"
gdb_test "info threads" \
"\\* 3 system thread.*thread1.*libcma.1.*libcma.1\[^(\]*" \
"info threads at main"
gdb_test "b 165" "Breakpoint 3.*165.*" "break at main counter"
gdb_test "c" "Breakpoint 3, main.*" "continue to main counter"
gdb_test "info threads" " 4 system thread.*\\* 1 system thread.*main.*" \
"info threads at main counter"
gdb_test "b 97" "Breakpoint 4.*97.*" "break at thread2 counter"
gdb_test "b 81" "Breakpoint 5.*81.*" "break at thread1 counter"
gdb_test "bt" "#0 main.* at \[^(\]*" "backtrace at main counter"
# After switching to thread 4, the cma scheduler should schedule it next
# and we should hit its breakpoint in thread2.
gdb_test "thread 4" ".Switching to thread 4.*cma__dispatch.*" \
"switch to thread 4"
gdb_test "bt" "#0 .*thread2.*" "backtrace at thread 4"
sleep 1
gdb_test "c" ".*Breakpoint 4, thread2.*" "continue and get to thread 4"
# After switching to thread 1, the cma scheduler should schedule it next
# and we should hit its breakpoint (in main).
gdb_test "thread 1" ".*Switching to thread 1.*cma__dispatch.*" \
"switch to thread 1"
sleep 1
gdb_test "c" ".*Breakpoint 3, main.*usrthbasic.c:165.*" \
"continue and get to thread 1"
# Done!
#
gdb_exit
##set timeout $oldtimeout
##set verbose $oldverbose
return 0

View File

@@ -0,0 +1,177 @@
#include <stdio.h>
/* #include "config.h" */
#define HAVE_PTHREAD_H
#define __hpux__
#define __osf__
#ifndef HAVE_PTHREAD_H
/* Don't even try to compile. In fact, cause a syntax error that we can
look for as a compiler error message and know that we have no pthread
support. In that case we can just suppress the test completely. */
#error "no posix threads support"
#else
/* OK. We have the right header. If we try to compile this and fail, then
there is something wrong and the user should know about it so the testsuite
should issue an ERROR result.. */
#ifdef __linux__
#define _MIT_POSIX_THREADS 1 /* Linux (or at least RedHat 4.0) needs this */
#endif
#include <pthread.h>
/* Under OSF 2.0 & 3.0 and HPUX 10, the second arg of pthread_create
is prototyped to be just a "pthread_attr_t", while under Solaris it
is a "pthread_attr_t *". Arg! */
#if defined (__osf__) || defined (__hpux__)
#define PTHREAD_CREATE_ARG2(arg) arg
#define PTHREAD_CREATE_NULL_ARG2 null_attr
static pthread_attr_t null_attr;
#else
#define PTHREAD_CREATE_ARG2(arg) &arg
#define PTHREAD_CREATE_NULL_ARG2 NULL
#endif
static int verbose = 0;
static void
common_routine (arg)
int arg;
{
static int from_thread1;
static int from_thread2;
static int from_main;
static int hits;
static int full_coverage;
if (verbose) printf("common_routine (%d)\n", arg);
hits++;
switch (arg)
{
case 0:
from_main++;
break;
case 1:
from_thread1++;
break;
case 2:
from_thread2++;
break;
}
if (from_main && from_thread1 && from_thread2)
full_coverage = 1;
}
static void *
thread1 (void *arg)
{
int i;
int z = 0;
if (verbose) printf ("thread1 (%0x) ; pid = %d\n", arg, getpid ());
for (i=1; i <= 10000000; i++)
{
if (verbose) printf("thread1 %d\n", pthread_self ());
z += i;
common_routine (1);
sleep(1);
}
}
static void *
thread2 (void * arg)
{
int i;
int k = 0;
if (verbose) printf ("thread2 (%0x) ; pid = %d\n", arg, getpid ());
for (i=1; i <= 10000000; i++)
{
if (verbose) printf("thread2 %d\n", pthread_self ());
k += i;
common_routine (2);
sleep(1);
}
sleep(100);
}
int
foo (a, b, c)
int a, b, c;
{
int d, e, f;
if (verbose) printf("a=%d\n", a);
}
main(argc, argv)
int argc;
char **argv;
{
pthread_t tid1, tid2;
int j;
int t = 0;
void (*xxx) ();
pthread_attr_t attr;
if (verbose) printf ("pid = %d\n", getpid());
foo (1, 2, 3);
#ifndef __osf__
if (pthread_attr_init (&attr))
{
perror ("pthread_attr_init 1");
exit (1);
}
#endif
#ifdef PTHREAD_SCOPE_SYSTEM
if (pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM))
{
perror ("pthread_attr_setscope 1");
exit (1);
}
#endif
if (pthread_create (&tid1, pthread_attr_default, thread1, (void *) 0xfeedface))
{
perror ("pthread_create 1");
exit (1);
}
if (verbose) printf ("Made thread %d\n", tid1);
sleep (1);
if (pthread_create (&tid2, null_attr, thread2, (void *) 0xdeadbeef))
{
perror ("pthread_create 2");
exit (1);
}
if (verbose) printf("Made thread %d\n", tid2);
sleep (1);
for (j = 1; j <= 10000000; j++)
{
if (verbose) printf("top %d\n", pthread_self ());
common_routine (0);
sleep(1);
t += j;
if (j > 3)
{
int* int_p;
int_p = 0;
*int_p = 1;
}
}
exit(0);
}
#endif /* ifndef HAVE_PTHREAD_H */

View File

@@ -0,0 +1,89 @@
# usrthcore.exp -- Expect script to test gdb with user threads
# Copyright (C) 1992 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# use this to debug:
#
#log_user 1
if $tracelevel {
strace $tracelevel
}
if { [skip_hp_tests] } { continue }
if { ![istarget "hppa*-*-hpux*"] || [istarget "hppa2.0w-*-*"] } {
verbose "HPUX thread test ignored for non-hppa or PA64 targets."
return 0
}
set testfile usrthcore
set srcfile ${srcdir}/${subdir}/${testfile}.c
set binfile ${srcdir}/${subdir}/${testfile}
# To build the executable we need to link against the thread library.
#
# /opt/ansic/bin/cc -Ae +DAportable -g -o usrthcore -lcma usrthcore.c
#
## we have trouble building it on 11.0, so we use the prebuilt
## executable instead.
##
##if { [gdb_compile "${srcdir}/${subdir}/${testfile}.c -lcma" "${binfile}" executable {debug additional_flags=-Ae ldflags=-lcma}] != "" } {
## gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
##}
#=========================
#
# Test looking at threads in a core file
#
remote_exec build "rm -f core"
remote_exec build "${binfile}"
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
gdb_test "core-file core" \
".*Core was generated by `usrthcore'.*in main.*usrthcore.c:170.*" \
"load corefile"
gdb_test "info thread" \
" 4 .*cma__dispatch.*\\* 1 .*in main.*usrthcore.c:170.*" \
"info thread on core file"
gdb_test "bt" "#0.*in main.*usrthcore.c:170" "backtrace on active thread"
gdb_test "thread 4" ".*Switching to thread 4.*cma__dispatch.*" \
"switch to thread 4 (thread2 procedure)"
gdb_test "bt" "#0.*cma__dispatch.*thread2.*usrthcore.c:99.*" \
"Backtrace on inactive thread (thread2 procedure)"
gdb_test "b thread1" "Breakpoint 1.*usrthcore.c, line 75.*" \
"break on thread1"
gdb_test "run" "Starting program.*Breakpoint 1, thread1.*usrthcore.c:75.*" \
"run program, get to thread1 procedure"
gdb_test "info threads" "\\* \[23\] .*thread1.* 1 .*cma__dispatch.*" \
"info threads after running core"
# Done!
#
gdb_exit
remote_exec build "rm -f core"
return 0

View File

@@ -0,0 +1,17 @@
#include <stdio.h>
#include <pthread.h>
#include <sys/types.h>
int main(void){
pid_t pid;
switch (pid = fork()){
case 0:
printf("child\n");
break;
default:
printf("parent\n");
break;
}
return 0;
}

View File

@@ -0,0 +1,72 @@
# user_th_basic.exp -- Expect script to test gdb with user threads
# Copyright (C) 1992 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
if $tracelevel {
strace $tracelevel
}
if { ![istarget "hppa*-*-hpux*"] || [istarget "hppa2.0w-*-*"] } {
verbose "HPUX thread test ignored for non-hppa or PA64 targets."
return 0
}
set testfile usrthfork
set srcfile ${srcdir}/${subdir}/${testfile}.c
set binfile ${srcdir}/${subdir}/${testfile}
# To build the executable we need to link against the thread library.
#
# /opt/ansic/bin/cc -Ae -g -o usrthfork -lcma usrthfork.c
#
## we have trouble building it on 11.0, so we use the prebuilt
## executable instead.
##
##if { [gdb_compile "${srcdir}/${subdir}/${testfile}.c" "${binfile}" executable {debug additional_flags=-Ae ldflags=-lcma}] != "" } {
## gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
##}
#=========================
#
# Test looking at threads.
#
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
gdb_test "set follow-fork-mode parent" ".*" "set follow-fork-mode parent"
gdb_test "b main" "Breakpoint 1.*" "b main"
gdb_test "run" "Breakpoint 1, main.*:8.*" "run to main"
##gdb_test "next" \
## ".*New process.*Detaching after fork from process.*13.*parent.*" \
## "next on CMA fork"
send_gdb "next\n"
gdb_expect {
-re ".*Detaching after fork from.*$gdb_prompt $" {
pass "next on CMA fork"
}
-re ".*$gdb_prompt $" { fail "next on CMA fork" }
timeout { fail "(timeout) next on CMA fork" }
}
exec sleep 1
gdb_exit
return 0

View File

@@ -0,0 +1,7 @@
#!/bin/ksh
# First source /app/appserver
. /app/appserver
# Exec the executable.
exec $APPROOT/usr/contrib/bin/$(basename $0) "$@"