From: nobody <> Date: Thu, 18 Sep 2003 09:10:43 +0000 (+0000) Subject: This commit was manufactured by cvs2svn to create tag X-Git-Tag: carlton_dictionary-20030917-merge X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=3d64bd45fbf20a1f4e633fed28ee42bf8a5bb388;p=thirdparty%2Fbinutils-gdb.git This commit was manufactured by cvs2svn to create tag 'carlton_dictionary-20030917-merge'. Sprout from kettenis_sparc-20030918-branch 2003-09-18 09:10:42 UTC nobody 'This commit was manufactured by cvs2svn to create branch' Cherrypick from master 2003-09-17 15:42:21 UTC Andrew Cagney '2003-09-17 Andrew Cagney ': ChangeLog bfd/ChangeLog bfd/simple.c bfd/version.h configure configure.in gdb/ChangeLog gdb/Makefile.in gdb/arch-utils.c gdb/arch-utils.h gdb/gdbarch.c gdb/gdbarch.h gdb/gdbarch.sh gdb/ppcnbsd-tdep.c gdb/stabsread.c gdb/testsuite/ChangeLog gdb/version.in Delete: gdb/testsuite/gdb.cp/gdb1355.cc gdb/testsuite/gdb.cp/gdb1355.exp --- diff --git a/ChangeLog b/ChangeLog index 58acd87e42e..6e239e13245 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,3 @@ -2003-09-17 Daniel Jacobowitz - - * configure.in (TOPLEVEL_CONFIGURE_ARGUMENTS, baseargs): Fix - quoting. - * configure: Regenerated. - 2003-09-12 Michael Chastain Fix PR gdb/857. diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a7ead7e54df..a2f8f86e2c9 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,9 +1,3 @@ -2003-09-18 Andreas Schwab - - * simple.c (bfd_simple_get_relocated_section_contents): Use - _bfd_generic_link_hash_table_create instead of - bfd_link_hash_table_create. - 2003-09-10 H.J. Lu * elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections diff --git a/bfd/simple.c b/bfd/simple.c index 9044c28b38d..c2a741c6f90 100644 --- a/bfd/simple.c +++ b/bfd/simple.c @@ -185,7 +185,7 @@ bfd_simple_get_relocated_section_contents (bfd *abfd, memset (&link_info, 0, sizeof (link_info)); link_info.input_bfds = abfd; - link_info.hash = _bfd_generic_link_hash_table_create (abfd); + link_info.hash = bfd_link_hash_table_create (abfd); link_info.callbacks = &callbacks; callbacks.warning = simple_dummy_warning; callbacks.undefined_symbol = simple_dummy_undefined_symbol; diff --git a/bfd/version.h b/bfd/version.h index cd7a5151fad..445ac0fa99c 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,3 +1,3 @@ -#define BFD_VERSION_DATE 20030918 +#define BFD_VERSION_DATE 20030917 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_string@ diff --git a/configure b/configure index a06c8ce584c..b204110f118 100755 --- a/configure +++ b/configure @@ -795,13 +795,19 @@ progname=$0 if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi # Export original configure arguments for use by sub-configures. These -# will be expanded by make, so quote '$'. -tmp="$progname $@" -sed -e 's,\$,$$,g' < conftestsed.out -$tmp +# will be expanded once by make, and once by the shell, so they need to +# have '$' quoted for make, and then each argument quoted for the shell. +# What's more, the 'echo' below might expand backslashes. +cat <<\EOF_SED > conftestsed +s,\\,\\\\,g; s,\$,$$,g EOF_SED -TOPLEVEL_CONFIGURE_ARGUMENTS=`cat conftestsed.out` -rm -f conftestsed.out +tmp="'$progname'" +for ac_arg +do + tmp="$tmp '"`echo "$ac_arg" | sed -f conftestsed` +done +rm -f conftestsed +TOPLEVEL_CONFIGURE_ARGUMENTS="$tmp" moveifchange=${srcdir}/move-if-change @@ -2510,7 +2516,7 @@ serialization_dependencies=serdep.tmp # Base args. Strip norecursion, cache-file, srcdir, host, build, # target and nonopt. These are the ones we might not want to pass -# down to subconfigures. These will be expanded by make, so quote '$'. +# down to subconfigures. cat <<\EOF_SED > conftestsed s/ --no[^ ]* / / s/ --c[a-z-]*[= ][^ ]* / / @@ -2525,13 +2531,10 @@ s/ -build[= ][^ ]* / / s/ -target[= ][^ ]* / / s/ [^' -][^ ]* / / s/^ *//;s/ *$// -s,\$,$$,g -EOF_SED -sed -f conftestsed < conftestsed.out - ${ac_configure_args} +s,\\,\\\\,g; s,\$,$$,g EOF_SED -baseargs=`cat conftestsed.out` -rm -f conftestsed conftestsed.out +baseargs=`echo " ${ac_configure_args} " | sed -f conftestsed` +rm -f conftestsed # For the build-side libraries, we just need to pretend we're native, # and not use the same cache file. Multilibs are neither needed nor @@ -2782,7 +2785,7 @@ test -n "$target_alias" && ncn_target_tool_prefix=$target_alias- # Extract the first word of "${ncn_tool_prefix}ar", so it can be a program name with args. set dummy ${ncn_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2786: checking for $ac_word" >&5 +echo "configure:2789: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2815,7 +2818,7 @@ if test -z "$ac_cv_prog_AR" ; then # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2819: checking for $ac_word" >&5 +echo "configure:2822: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2854,7 +2857,7 @@ fi # Extract the first word of "${ncn_tool_prefix}as", so it can be a program name with args. set dummy ${ncn_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2858: checking for $ac_word" >&5 +echo "configure:2861: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2887,7 +2890,7 @@ if test -z "$ac_cv_prog_AS" ; then # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2891: checking for $ac_word" >&5 +echo "configure:2894: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2926,7 +2929,7 @@ fi # Extract the first word of "${ncn_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ncn_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2930: checking for $ac_word" >&5 +echo "configure:2933: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2959,7 +2962,7 @@ if test -z "$ac_cv_prog_DLLTOOL" ; then # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2963: checking for $ac_word" >&5 +echo "configure:2966: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2998,7 +3001,7 @@ fi # Extract the first word of "${ncn_tool_prefix}ld", so it can be a program name with args. set dummy ${ncn_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3002: checking for $ac_word" >&5 +echo "configure:3005: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3031,7 +3034,7 @@ if test -z "$ac_cv_prog_LD" ; then # Extract the first word of "ld", so it can be a program name with args. set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3035: checking for $ac_word" >&5 +echo "configure:3038: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3070,7 +3073,7 @@ fi # Extract the first word of "${ncn_tool_prefix}nm", so it can be a program name with args. set dummy ${ncn_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3074: checking for $ac_word" >&5 +echo "configure:3077: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3103,7 +3106,7 @@ if test -z "$ac_cv_prog_NM" ; then # Extract the first word of "nm", so it can be a program name with args. set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3107: checking for $ac_word" >&5 +echo "configure:3110: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3142,7 +3145,7 @@ fi # Extract the first word of "${ncn_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ncn_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3146: checking for $ac_word" >&5 +echo "configure:3149: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3175,7 +3178,7 @@ if test -z "$ac_cv_prog_RANLIB" ; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3179: checking for $ac_word" >&5 +echo "configure:3182: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3214,7 +3217,7 @@ fi # Extract the first word of "${ncn_tool_prefix}windres", so it can be a program name with args. set dummy ${ncn_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3218: checking for $ac_word" >&5 +echo "configure:3221: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3247,7 +3250,7 @@ if test -z "$ac_cv_prog_WINDRES" ; then # Extract the first word of "windres", so it can be a program name with args. set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3251: checking for $ac_word" >&5 +echo "configure:3254: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3286,7 +3289,7 @@ fi # Extract the first word of "${ncn_tool_prefix}objcopy", so it can be a program name with args. set dummy ${ncn_tool_prefix}objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3290: checking for $ac_word" >&5 +echo "configure:3293: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3319,7 +3322,7 @@ if test -z "$ac_cv_prog_OBJCOPY" ; then # Extract the first word of "objcopy", so it can be a program name with args. set dummy objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3323: checking for $ac_word" >&5 +echo "configure:3326: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3358,7 +3361,7 @@ fi # Extract the first word of "${ncn_tool_prefix}objdump", so it can be a program name with args. set dummy ${ncn_tool_prefix}objdump; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3362: checking for $ac_word" >&5 +echo "configure:3365: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3391,7 +3394,7 @@ if test -z "$ac_cv_prog_OBJDUMP" ; then # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3395: checking for $ac_word" >&5 +echo "configure:3398: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3439,7 +3442,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}ar", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3443: checking for $ac_word" >&5 +echo "configure:3446: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3472,7 +3475,7 @@ if test -z "$ac_cv_prog_AR_FOR_TARGET" ; then # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3476: checking for $ac_word" >&5 +echo "configure:3479: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3511,7 +3514,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}as", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3515: checking for $ac_word" >&5 +echo "configure:3518: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3544,7 +3547,7 @@ if test -z "$ac_cv_prog_AS_FOR_TARGET" ; then # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3548: checking for $ac_word" >&5 +echo "configure:3551: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3583,7 +3586,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3587: checking for $ac_word" >&5 +echo "configure:3590: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3616,7 +3619,7 @@ if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" ; then # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3620: checking for $ac_word" >&5 +echo "configure:3623: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3655,7 +3658,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}ld", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3659: checking for $ac_word" >&5 +echo "configure:3662: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3688,7 +3691,7 @@ if test -z "$ac_cv_prog_LD_FOR_TARGET" ; then # Extract the first word of "ld", so it can be a program name with args. set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3692: checking for $ac_word" >&5 +echo "configure:3695: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3727,7 +3730,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}nm", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3731: checking for $ac_word" >&5 +echo "configure:3734: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3760,7 +3763,7 @@ if test -z "$ac_cv_prog_NM_FOR_TARGET" ; then # Extract the first word of "nm", so it can be a program name with args. set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3764: checking for $ac_word" >&5 +echo "configure:3767: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3799,7 +3802,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3803: checking for $ac_word" >&5 +echo "configure:3806: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3832,7 +3835,7 @@ if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" ; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3836: checking for $ac_word" >&5 +echo "configure:3839: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3871,7 +3874,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}windres", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3875: checking for $ac_word" >&5 +echo "configure:3878: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3904,7 +3907,7 @@ if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" ; then # Extract the first word of "windres", so it can be a program name with args. set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3908: checking for $ac_word" >&5 +echo "configure:3911: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3971,7 +3974,7 @@ RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target} NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target} echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:3975: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:3978: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" diff --git a/configure.in b/configure.in index 74ea0e13902..ae3ff2ae8c8 100644 --- a/configure.in +++ b/configure.in @@ -67,13 +67,19 @@ progname=$0 if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi # Export original configure arguments for use by sub-configures. These -# will be expanded by make, so quote '$'. -tmp="$progname $@" -sed -e 's,\$,$$,g' < conftestsed.out -$tmp +# will be expanded once by make, and once by the shell, so they need to +# have '$' quoted for make, and then each argument quoted for the shell. +# What's more, the 'echo' below might expand backslashes. +cat <<\EOF_SED > conftestsed +s,\\,\\\\,g; s,\$,$$,g EOF_SED -TOPLEVEL_CONFIGURE_ARGUMENTS=`cat conftestsed.out` -rm -f conftestsed.out +tmp="'$progname'" +for ac_arg +do + tmp="$tmp '"`echo "$ac_arg" | sed -f conftestsed` +done +rm -f conftestsed +TOPLEVEL_CONFIGURE_ARGUMENTS="$tmp" AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS) moveifchange=${srcdir}/move-if-change @@ -1760,7 +1766,7 @@ AC_SUBST_FILE(serialization_dependencies) # Base args. Strip norecursion, cache-file, srcdir, host, build, # target and nonopt. These are the ones we might not want to pass -# down to subconfigures. These will be expanded by make, so quote '$'. +# down to subconfigures. cat <<\EOF_SED > conftestsed s/ --no[[^ ]]* / / s/ --c[[a-z-]]*[[= ]][[^ ]]* / / @@ -1775,13 +1781,10 @@ s/ -build[[= ]][[^ ]]* / / s/ -target[[= ]][[^ ]]* / / s/ [[^' -][^ ]*] / / s/^ *//;s/ *$// -s,\$,$$,g -EOF_SED -sed -f conftestsed < conftestsed.out - ${ac_configure_args} +s,\\,\\\\,g; s,\$,$$,g EOF_SED -baseargs=`cat conftestsed.out` -rm -f conftestsed conftestsed.out +baseargs=`echo " ${ac_configure_args} " | sed -f conftestsed` +rm -f conftestsed # For the build-side libraries, we just need to pretend we're native, # and not use the same cache file. Multilibs are neither needed nor diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 33db947068c..46015972e41 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,24 +1,3 @@ -2003-09-17 Jim Blandy - - * Makefile.in (dis_asm_h): Note that this #includes "bfd.h". - -2003-09-17 Andrew Cagney - - * ppcnbsd-tdep.c (ppcnbsd_use_struct_convention): New function. - (ppcnbsd_init_abi): Set "use_struct_convention" to - "ppcnbsd_use_struct_convention". - -2003-09-17 Mark Kettenis - - * gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Add comment. - * gdbarch.h, gdbarch.c: Regenerate. - (stabs_argument_has_addr): New architecture method. - * arch-utils.h (default_stabs_argument_has_addr): New prototype. - * arch-utils.c: Include "buildsym.h". - (default_stabs_argument_has_addr): New function. - * stabsread.c (define_symbol): Use stabs_argument_has_addr - instead of DEPRECATED_REG_STRUCT_HAS_ADDR. - 2003-09-17 Andrew Cagney * gdbarch.sh (DEPRECATED_NPC_REGNUM): Deprecate NPC_REGNUM. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 7b681e37234..f3a55098554 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -576,7 +576,7 @@ coff_sym_h = $(INCLUDE_DIR)/coff/sym.h coff_symconst_h = $(INCLUDE_DIR)/coff/symconst.h coff_ecoff_h = $(INCLUDE_DIR)/coff/ecoff.h coff_internal_h = $(INCLUDE_DIR)/coff/internal.h -dis_asm_h = $(INCLUDE_DIR)/dis-asm.h $(bfd_h) +dis_asm_h = $(INCLUDE_DIR)/dis-asm.h elf_reloc_macros_h = $(INCLUDE_DIR)/elf/reloc-macros.h elf_sh_h = $(INCLUDE_DIR)/elf/sh.h elf_arm_h = $(INCLUDE_DIR)/elf/arm.h $(elf_reloc_macros_h) diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c index 9289e7adeaf..e344ec05470 100644 --- a/gdb/arch-utils.c +++ b/gdb/arch-utils.c @@ -23,7 +23,6 @@ #include "defs.h" #include "arch-utils.h" -#include "buildsym.h" #include "gdbcmd.h" #include "inferior.h" /* enum CALL_DUMMY_LOCATION et.al. */ #include "gdb_string.h" @@ -360,23 +359,6 @@ legacy_value_to_register (struct frame_info *frame, int regnum, put_frame_register (frame, regnum, to); } -int -default_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type) -{ - if (DEPRECATED_REG_STRUCT_HAS_ADDR_P () - && DEPRECATED_REG_STRUCT_HAS_ADDR (processing_gcc_compilation, type)) - { - CHECK_TYPEDEF (type); - - return (TYPE_CODE (type) == TYPE_CODE_STRUCT - || TYPE_CODE (type) == TYPE_CODE_UNION - || TYPE_CODE (type) == TYPE_CODE_SET - || TYPE_CODE (type) == TYPE_CODE_BITSTRING); - } - - return 0; -} - /* Functions to manipulate the endianness of the target. */ diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h index 06f7bf30bda..d2e682987b9 100644 --- a/gdb/arch-utils.h +++ b/gdb/arch-utils.h @@ -138,9 +138,6 @@ extern void legacy_register_to_value (struct frame_info *frame, int regnum, extern void legacy_value_to_register (struct frame_info *frame, int regnum, struct type *type, const void *from); -extern int default_stabs_argument_has_addr (struct gdbarch *gdbarch, - struct type *type); - /* For compatibility with older architectures, returns (LEGACY_SIM_REGNO_IGNORE) when the register doesn't have a valid name. */ diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 274e67ce841..974a3c03b5f 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -238,7 +238,6 @@ struct gdbarch gdbarch_deprecated_stack_align_ftype *deprecated_stack_align; gdbarch_frame_align_ftype *frame_align; gdbarch_deprecated_reg_struct_has_addr_ftype *deprecated_reg_struct_has_addr; - gdbarch_stabs_argument_has_addr_ftype *stabs_argument_has_addr; int frame_red_zone_size; int parm_boundary; const struct floatformat * float_format; @@ -407,7 +406,6 @@ struct gdbarch startup_gdbarch = 0, /* deprecated_stack_align */ 0, /* frame_align */ 0, /* deprecated_reg_struct_has_addr */ - default_stabs_argument_has_addr, /* stabs_argument_has_addr */ 0, /* frame_red_zone_size */ 0, /* parm_boundary */ 0, /* float_format */ @@ -542,7 +540,6 @@ gdbarch_alloc (const struct gdbarch_info *info, current_gdbarch->frameless_function_invocation = generic_frameless_function_invocation_not; current_gdbarch->deprecated_frame_args_address = get_frame_base; current_gdbarch->deprecated_frame_locals_address = get_frame_base; - current_gdbarch->stabs_argument_has_addr = default_stabs_argument_has_addr; current_gdbarch->convert_from_func_ptr_addr = core_addr_identity; current_gdbarch->addr_bits_remove = core_addr_identity; current_gdbarch->smash_text_address = core_addr_identity; @@ -733,7 +730,6 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of deprecated_stack_align, has predicate */ /* Skip verify of frame_align, has predicate */ /* Skip verify of deprecated_reg_struct_has_addr, has predicate */ - /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */ if (gdbarch->float_format == 0) gdbarch->float_format = default_float_format (gdbarch); if (gdbarch->double_format == 0) @@ -801,9 +797,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) fprintf_unfiltered (file, "gdbarch_dump: register_reggroup_p = 0x%08lx\n", (long) current_gdbarch->register_reggroup_p); - fprintf_unfiltered (file, - "gdbarch_dump: stabs_argument_has_addr = 0x%08lx\n", - (long) current_gdbarch->stabs_argument_has_addr); fprintf_unfiltered (file, "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n", gdbarch_pseudo_register_read_p (current_gdbarch)); @@ -4937,23 +4930,6 @@ set_gdbarch_deprecated_reg_struct_has_addr (struct gdbarch *gdbarch, gdbarch->deprecated_reg_struct_has_addr = deprecated_reg_struct_has_addr; } -int -gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type) -{ - gdb_assert (gdbarch != NULL); - gdb_assert (gdbarch->stabs_argument_has_addr != NULL); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_stabs_argument_has_addr called\n"); - return gdbarch->stabs_argument_has_addr (gdbarch, type); -} - -void -set_gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, - gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr) -{ - gdbarch->stabs_argument_has_addr = stabs_argument_has_addr; -} - int gdbarch_frame_red_zone_size (struct gdbarch *gdbarch) { diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index 9991371240a..65006ca6f5f 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -1939,9 +1939,6 @@ typedef CORE_ADDR (gdbarch_frame_align_ftype) (struct gdbarch *gdbarch, CORE_ADD extern CORE_ADDR gdbarch_frame_align (struct gdbarch *gdbarch, CORE_ADDR address); extern void set_gdbarch_frame_align (struct gdbarch *gdbarch, gdbarch_frame_align_ftype *frame_align); -/* DEPRECATED_REG_STRUCT_HAS_ADDR has been replaced by - stabs_argument_has_addr. */ - #if defined (DEPRECATED_REG_STRUCT_HAS_ADDR) /* Legacy for systems yet to multi-arch DEPRECATED_REG_STRUCT_HAS_ADDR */ #if !defined (DEPRECATED_REG_STRUCT_HAS_ADDR_P) @@ -1967,10 +1964,6 @@ extern void set_gdbarch_deprecated_reg_struct_has_addr (struct gdbarch *gdbarch, #define DEPRECATED_REG_STRUCT_HAS_ADDR(gcc_p, type) (gdbarch_deprecated_reg_struct_has_addr (current_gdbarch, gcc_p, type)) #endif -typedef int (gdbarch_stabs_argument_has_addr_ftype) (struct gdbarch *gdbarch, struct type *type); -extern int gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type); -extern void set_gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, gdbarch_stabs_argument_has_addr_ftype *stabs_argument_has_addr); - extern int gdbarch_frame_red_zone_size (struct gdbarch *gdbarch); extern void set_gdbarch_frame_red_zone_size (struct gdbarch *gdbarch, int frame_red_zone_size); #if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (FRAME_RED_ZONE_SIZE) @@ -2046,7 +2039,7 @@ extern void set_gdbarch_addr_bits_remove (struct gdbarch *gdbarch, gdbarch_addr_ #define ADDR_BITS_REMOVE(addr) (gdbarch_addr_bits_remove (current_gdbarch, addr)) #endif -/* It is not at all clear why SMASH_TEXT_ADDRESS is not folded into +/* It is not at all clear why SMASH_TEXT_ADDRESS is not folded into ADDR_BITS_REMOVE. */ typedef CORE_ADDR (gdbarch_smash_text_address_ftype) (CORE_ADDR addr); @@ -2340,7 +2333,7 @@ typedef int (gdbarch_register_reggroup_p_ftype) (struct gdbarch *gdbarch, int re extern int gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup); extern void set_gdbarch_register_reggroup_p (struct gdbarch *gdbarch, gdbarch_register_reggroup_p_ftype *register_reggroup_p); -/* Fetch the pointer to the ith function argument. */ +/* Fetch the pointer to the ith function argument. */ #if defined (FETCH_POINTER_ARGUMENT) /* Legacy for systems yet to multi-arch FETCH_POINTER_ARGUMENT */ diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh index 47ca465c09f..0884c3cb6fe 100755 --- a/gdb/gdbarch.sh +++ b/gdb/gdbarch.sh @@ -648,10 +648,7 @@ F:2:FRAME_NUM_ARGS:int:frame_num_args:struct frame_info *frame:frame # alignment. F:2:DEPRECATED_STACK_ALIGN:CORE_ADDR:deprecated_stack_align:CORE_ADDR sp:sp M:::CORE_ADDR:frame_align:CORE_ADDR address:address -# DEPRECATED_REG_STRUCT_HAS_ADDR has been replaced by -# stabs_argument_has_addr. F:2:DEPRECATED_REG_STRUCT_HAS_ADDR:int:deprecated_reg_struct_has_addr:int gcc_p, struct type *type:gcc_p, type -m:::int:stabs_argument_has_addr:struct type *type:type:::default_stabs_argument_has_addr::0 v::FRAME_RED_ZONE_SIZE:int:frame_red_zone_size v:2:PARM_BOUNDARY:int:parm_boundary # diff --git a/gdb/ppcnbsd-tdep.c b/gdb/ppcnbsd-tdep.c index 97323d57249..21ab858768e 100644 --- a/gdb/ppcnbsd-tdep.c +++ b/gdb/ppcnbsd-tdep.c @@ -204,30 +204,12 @@ ppcnbsd_pc_in_sigtramp (CORE_ADDR pc, char *func_name) return (nbsd_pc_in_sigtramp (pc, func_name)); } -/* NetBSD is confused. It appears that 1.5 was using the correct SVr4 - convention but, 1.6 switched to the below broken convention. For - the moment use the broken convention. Ulgh!. */ - -static int -ppcnbsd_use_struct_convention (int gcc_p, struct type *value_type) -{ - if ((TYPE_LENGTH (value_type) == 16 || TYPE_LENGTH (value_type) == 8) - && TYPE_VECTOR (value_type)) - return 0; - - return !(TYPE_LENGTH (value_type) == 1 - || TYPE_LENGTH (value_type) == 2 - || TYPE_LENGTH (value_type) == 4 - || TYPE_LENGTH (value_type) == 8); -} - static void ppcnbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) { set_gdbarch_pc_in_sigtramp (gdbarch, ppcnbsd_pc_in_sigtramp); - set_gdbarch_use_struct_convention (gdbarch, ppcnbsd_use_struct_convention); set_solib_svr4_fetch_link_map_offsets (gdbarch, nbsd_ilp32_solib_svr4_fetch_link_map_offsets); } diff --git a/gdb/stabsread.c b/gdb/stabsread.c index 93f61d58ef4..abfbefc6f74 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -1748,20 +1748,17 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type, SYMBOL_DOMAIN (sym) = VAR_DOMAIN; if (within_function) { - /* Sun cc uses a pair of symbols, one 'p' and one 'r', with - the same name to represent an argument passed in a - register. GCC uses 'P' for the same case. So if we find - such a symbol pair we combine it into one 'P' symbol. - For Sun cc we need to do this regardless of - stabs_argument_has_addr, because the compiler puts out - the 'p' symbol even if it never saves the argument onto - the stack. - - On most machines, we want to preserve both symbols, so - that we can still get information about what is going on - with the stack (VAX for computing args_printed, using - stack slots instead of saved registers in backtraces, - etc.). + /* Sun cc uses a pair of symbols, one 'p' and one 'r' with the same + name to represent an argument passed in a register. + GCC uses 'P' for the same case. So if we find such a symbol pair + we combine it into one 'P' symbol. For Sun cc we need to do this + regardless of DEPRECATED_REG_STRUCT_HAS_ADDR, because the compiler puts out + the 'p' symbol even if it never saves the argument onto the stack. + + On most machines, we want to preserve both symbols, so that + we can still get information about what is going on with the + stack (VAX for computing args_printed, using stack slots instead + of saved registers in backtraces, etc.). Note that this code illegally combines main(argc) struct foo argc; { register struct foo argc; } @@ -1771,8 +1768,13 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type, if (local_symbols && local_symbols->nsyms > 0 #ifndef USE_REGISTER_NOT_ARG - && gdbarch_stabs_argument_has_addr (current_gdbarch, - SYMBOL_TYPE (sym)) + && DEPRECATED_REG_STRUCT_HAS_ADDR_P () + && DEPRECATED_REG_STRUCT_HAS_ADDR (processing_gcc_compilation, + SYMBOL_TYPE (sym)) + && (TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_STRUCT + || TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_UNION + || TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_SET + || TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_BITSTRING) #endif ) { @@ -2045,21 +2047,29 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type, break; } - /* Some systems pass variables of certain types by reference instead - of by value, i.e. they will pass the address of a structure (in a - register or on the stack) instead of the structure itself. */ + /* When passing structures to a function, some systems sometimes pass + the address in a register, not the structure itself. */ - if (gdbarch_stabs_argument_has_addr (current_gdbarch, SYMBOL_TYPE (sym)) + if (DEPRECATED_REG_STRUCT_HAS_ADDR_P () + && DEPRECATED_REG_STRUCT_HAS_ADDR (processing_gcc_compilation, SYMBOL_TYPE (sym)) && (SYMBOL_CLASS (sym) == LOC_REGPARM || SYMBOL_CLASS (sym) == LOC_ARG)) { - /* We have to convert LOC_REGPARM to LOC_REGPARM_ADDR (for - variables passed in a register). */ - if (SYMBOL_CLASS (sym) == LOC_REGPARM) - SYMBOL_CLASS (sym) = LOC_REGPARM_ADDR; - /* Likewise for converting LOC_ARG to LOC_REF_ARG (for the 7th - and subsequent arguments on SPARC, for example). */ - else if (SYMBOL_CLASS (sym) == LOC_ARG) - SYMBOL_CLASS (sym) = LOC_REF_ARG; + struct type *symbol_type = check_typedef (SYMBOL_TYPE (sym)); + + if ((TYPE_CODE (symbol_type) == TYPE_CODE_STRUCT) + || (TYPE_CODE (symbol_type) == TYPE_CODE_UNION) + || (TYPE_CODE (symbol_type) == TYPE_CODE_BITSTRING) + || (TYPE_CODE (symbol_type) == TYPE_CODE_SET)) + { + /* If DEPRECATED_REG_STRUCT_HAS_ADDR yields non-zero we have to convert + LOC_REGPARM to LOC_REGPARM_ADDR for structures and unions. */ + if (SYMBOL_CLASS (sym) == LOC_REGPARM) + SYMBOL_CLASS (sym) = LOC_REGPARM_ADDR; + /* Likewise for converting LOC_ARG to LOC_REF_ARG (for the 7th + and subsequent arguments on the sparc, for example). */ + else if (SYMBOL_CLASS (sym) == LOC_ARG) + SYMBOL_CLASS (sym) = LOC_REF_ARG; + } } /* Is there more to parse? For example LRS/alias information? */ diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 347f146a58c..a81f45215e5 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,8 +1,3 @@ -2003-09-17 Michael Chastain - - * gdb.cp/gdb1355.exp: New file. - * gdb.cp/gdb1355.c: New file. - 2003-09-15 Corinna Vinschen * gdb.asm/asm-source.exp: Add sh*-*-* as supported target. @@ -10,8 +5,8 @@ 2003-09-11 David Carlton - * gdb.cp/namespace.exp: Add tests for namespace types. - * gdb.cp/maint.exp (test_help): Test 'help maint cp namespace'. + * gdb.c++/namespace.exp: Add tests for namespace types. + * gdb.c++/maint.exp (test_help): Test 'help maint cp namespace'. (test_namespace): New. 2003-09-11 Elena Zannoni diff --git a/gdb/testsuite/gdb.cp/gdb1355.cc b/gdb/testsuite/gdb.cp/gdb1355.cc deleted file mode 100644 index a53ca20e4d5..00000000000 --- a/gdb/testsuite/gdb.cp/gdb1355.cc +++ /dev/null @@ -1,35 +0,0 @@ -struct mystruct -{ - int m_int; - char m_char; - long int m_long_int; - unsigned int m_unsigned_int; - long unsigned int m_long_unsigned_int; - // long long int m_long_long_int; - // long long unsigned int m_long_long_unsigned_int; - short int m_short_int; - short unsigned int m_short_unsigned_int; - unsigned char m_unsigned_char; - float m_float; - double m_double; - long double m_long_double; - // complex int m_complex_int; - // complex float m_complex_float; - // complex long double m_complex_long_double; - // wchar_t m_wchar_t; - bool m_bool; -}; - -struct mystruct s1 = -{ - 117, 'a', 118, 119, 120, - // 121, 122, - 123, 124, 'b', 125.0, 126.0, 127.0, - // complex int, complex float, complex long double, wchar_t, - true -}; - -int main () -{ - return 0; -} diff --git a/gdb/testsuite/gdb.cp/gdb1355.exp b/gdb/testsuite/gdb.cp/gdb1355.exp deleted file mode 100644 index 11f16d5b639..00000000000 --- a/gdb/testsuite/gdb.cp/gdb1355.exp +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 2003 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. - -# Tests for PR gdb/1355, which is a reference to PR gcc/12066. -# 2003-08-26 Michael Chastain - -# This file is part of the gdb testsuite. - -set ws "\[\r\n\t \]*" -set nl "\[\r\n\]+" - -if $tracelevel then { - strace $tracelevel - } - -if { [skip_cplus_tests] } { continue } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "gdb1355" -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 automatically fail." -} - -if [get_compiler_info ${binfile} "c++"] { - return -1 -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if ![runto_main] then { - perror "couldn't run to main" - continue -} - -# See http://sources.redhat.com/gdb/bugs/1355 -# See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12066 -# -# g++ -gstabs+ does not emit stabs for fundamental types. -# They get emitted later inside other types, so they have no names -# and gdb cannot handle them. - -set s_head "${ws}(struct|class) mystruct \{(${ws}public:|)" -set s_tail ".*" - -set f_i "${ws}int m_int;" -set f_c "${ws}char m_char;" -set f_li "${ws}long int m_long_int;" -set f_ui "${ws}unsigned int m_unsigned_int;" -set f_lui "${ws}long unsigned int m_long_unsigned_int;" -set f_si "${ws}short int m_short_int;" -set f_sui "${ws}short unsigned int m_short_unsigned_int;" -set f_uc "${ws}unsigned char m_unsigned_char;" -set f_f "${ws}float m_float;" -set f_d "${ws}double m_double;" -set f_ld "${ws}long double m_long_double;" -set f_b "${ws}bool m_bool;" - -set itc "" -set bad_i "${ws}(${itc}|int) m_int;"; -set bad_c "${ws}(${itc}|char) m_char;" -set bad_li "${ws}(${itc}|long int) m_long_int;" -set bad_ui "${ws}(${itc}|unsigned int) m_unsigned_int;" -set bad_lui "${ws}(${itc}|long unsigned int) m_long_unsigned_int;" -set bad_si "${ws}(${itc}|short int) m_short_int;" -set bad_sui "${ws}(${itc}|short unsigned int) m_short_unsigned_int;" -set bad_uc "${ws}(${itc}|unsigned char) m_unsigned_char;" -set bad_f "${ws}(${itc}|float) m_float;" -set bad_d "${ws}(${itc}|double) m_double;" -set bad_ld "${ws}(${itc}|long double) m_long_double;" -set bad_b "${ws}(${itc}|bool) m_bool;" - -gdb_test_multiple "ptype s1" "ptype s1" { - -re "type = ${s_head}${f_i}${f_c}${f_li}${f_ui}${f_lui}${f_si}${f_sui}${f_uc}${f_f}${f_d}${f_ld}${f_b}${s_tail}\}$nl$gdb_prompt $" { - pass "ptype s1" - } - -re "type = ${s_head}${bad_i}${bad_c}${bad_li}${bad_ui}${bad_lui}${bad_si}${bad_sui}${bad_uc}${bad_f}${bad_d}${bad_ld}${bad_b}${s_tail}\}$nl$gdb_prompt $" { - # This happened with gcc HEAD 2003-08-20 08:00:00 UTC, -gstabs+. - kfail "gdb/1355" "ptype s1" - } -} - -gdb_test_multiple "print s1" "print s1" { - -re "$decimal = \{m_int = 117, m_char = 97 'a', m_long_int = 118, m_unsigned_int = 119, m_long_unsigned_int = 120, m_short_int = 123, m_short_unsigned_int = 124, m_unsigned_char = 98 'b', m_float = 125, m_double = 126, m_long_double = 127, m_bool = true\}$nl$gdb_prompt $" { - pass "print s1" - } - -re "$decimal = \{m_int = 117, m_char = 97 'a', m_long_int = 118, m_unsigned_int = 119, m_long_unsigned_int = 120, m_short_int = 123, m_short_unsigned_int = 124, m_unsigned_char = 98 'b', m_float = 125, m_double = 126, m_long_double = 127, m_bool = 117\}$nl$gdb_prompt $" { - # This pattern is very picky, but if more different output - # shows up, I can just add more arms. -- chastain 2003-08-26 - # - # This happened with gcc HEAD 2003-08-20 08:00:00 UTC, -gstabs+. - # Look at the value of m_bool. It looks like gdb latched onto - # random int type and then used the data at structure offset 0. - kfail "gdb/1355" "print s1" - } -} diff --git a/gdb/version.in b/gdb/version.in index 4d1b14bd318..a51444879d7 100644 --- a/gdb/version.in +++ b/gdb/version.in @@ -1 +1 @@ -2003-09-18-cvs +2003-09-17-cvs