From 9c3c512a92e8028ecc59d964774386e38f257424 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Tue, 29 Apr 2008 04:01:12 +0000 Subject: Once more rework erc32 simulator configuration. --- .../patches/gdb-6.8-rtems4.9-20080429.diff | 597 +++++++++++++++++++++ 1 file changed, 597 insertions(+) create mode 100644 contrib/crossrpms/patches/gdb-6.8-rtems4.9-20080429.diff (limited to 'contrib') diff --git a/contrib/crossrpms/patches/gdb-6.8-rtems4.9-20080429.diff b/contrib/crossrpms/patches/gdb-6.8-rtems4.9-20080429.diff new file mode 100644 index 0000000000..87a8b463a0 --- /dev/null +++ b/contrib/crossrpms/patches/gdb-6.8-rtems4.9-20080429.diff @@ -0,0 +1,597 @@ +diff -Naur gdb-6.8.orig/sim/common/aclocal.m4 gdb-6.8/sim/common/aclocal.m4 +--- gdb-6.8.orig/sim/common/aclocal.m4 2006-06-13 10:06:48.000000000 +0200 ++++ gdb-6.8/sim/common/aclocal.m4 2008-04-28 07:18:30.000000000 +0200 +@@ -18,7 +18,7 @@ + # + # SIM_AC_OUTPUT + +-AC_DEFUN(SIM_AC_COMMON, ++AC_DEFUN([SIM_AC_COMMON], + [ + # autoconf.info says this should be called right after AC_INIT. + AC_CONFIG_HEADER(ifelse([$1],,config.h,[$1]):config.in) +@@ -245,7 +245,7 @@ + dnl supported. + dnl ??? Until there is demonstrable value in doing something more complicated, + dnl let's not. +-AC_DEFUN(SIM_AC_OPTION_ENVIRONMENT, ++AC_DEFUN([SIM_AC_OPTION_ENVIRONMENT], + [ + AC_ARG_ENABLE(sim-environment, + [ --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.], +@@ -269,7 +269,7 @@ + dnl Without this option all possible alignment restrictions are accommodated. + dnl arg[1] is hardwired target alignment + dnl arg[2] is default target alignment +-AC_DEFUN(SIM_AC_OPTION_ALIGNMENT, ++AC_DEFUN([SIM_AC_OPTION_ALIGNMENT], + wire_alignment="[$1]" + default_alignment="[$2]" + [ +@@ -318,7 +318,7 @@ + + + dnl Conditionally compile in assertion statements. +-AC_DEFUN(SIM_AC_OPTION_ASSERT, ++AC_DEFUN([SIM_AC_OPTION_ASSERT], + [ + AC_ARG_ENABLE(sim-assert, + [ --enable-sim-assert Specify whether to perform random assertions.], +@@ -342,7 +342,7 @@ + dnl arg[3] is the number of bits in an address + dnl arg[4] is the number of bits in an OpenFirmware cell. + dnl FIXME: this information should be obtained from bfd/archure +-AC_DEFUN(SIM_AC_OPTION_BITSIZE, ++AC_DEFUN([SIM_AC_OPTION_BITSIZE], + wire_word_bitsize="[$1]" + wire_word_msb="[$2]" + wire_address_bitsize="[$3]" +@@ -408,7 +408,7 @@ + dnl that support both big and little endian targets. + dnl arg[1] is hardwired target endianness. + dnl arg[2] is default target endianness. +-AC_DEFUN(SIM_AC_OPTION_ENDIAN, ++AC_DEFUN([SIM_AC_OPTION_ENDIAN], + [ + wire_endian="[$1]" + default_endian="[$2]" +@@ -458,7 +458,7 @@ + dnl --enable-sim-hostendian is for users of the simulator when + dnl they find that AC_C_BIGENDIAN does not function correctly + dnl (for instance in a canadian cross) +-AC_DEFUN(SIM_AC_OPTION_HOSTENDIAN, ++AC_DEFUN([SIM_AC_OPTION_HOSTENDIAN], + [ + AC_ARG_ENABLE(sim-hostendian, + [ --enable-sim-hostendian=end Specify host byte endian orientation.], +@@ -490,7 +490,7 @@ + dnl And optionally the bitsize of the floating point register. + dnl arg[1] specifies the presence (or absence) of floating point hardware + dnl arg[2] specifies the number of bits in a floating point register +-AC_DEFUN(SIM_AC_OPTION_FLOAT, ++AC_DEFUN([SIM_AC_OPTION_FLOAT], + [ + default_sim_float="[$1]" + default_sim_float_bitsize="[$2]" +@@ -519,7 +519,7 @@ + + + dnl The argument is the default cache size if none is specified. +-AC_DEFUN(SIM_AC_OPTION_SCACHE, ++AC_DEFUN([SIM_AC_OPTION_SCACHE], + [ + default_sim_scache="ifelse([$1],,0,[$1])" + AC_ARG_ENABLE(sim-scache, +@@ -539,7 +539,7 @@ + + + dnl The argument is the default model if none is specified. +-AC_DEFUN(SIM_AC_OPTION_DEFAULT_MODEL, ++AC_DEFUN([SIM_AC_OPTION_DEFAULT_MODEL], + [ + default_sim_default_model="ifelse([$1],,0,[$1])" + AC_ARG_ENABLE(sim-default-model, +@@ -559,7 +559,7 @@ + dnl arg[1] Enable sim-hw by default? ("yes" or "no") + dnl arg[2] is a space separated list of devices that override the defaults + dnl arg[3] is a space separated list of extra target specific devices. +-AC_DEFUN(SIM_AC_OPTION_HARDWARE, ++AC_DEFUN([SIM_AC_OPTION_HARDWARE], + [ + if test x"[$1]" = x"yes"; then + sim_hw_p=yes +@@ -621,7 +621,7 @@ + dnl performance by inlining functions. + dnl Guarantee that unconfigured simulators do not do any inlining + sim_inline="-DDEFAULT_INLINE=0" +-AC_DEFUN(SIM_AC_OPTION_INLINE, ++AC_DEFUN([SIM_AC_OPTION_INLINE], + [ + default_sim_inline="ifelse([$1],,,-DDEFAULT_INLINE=[$1])" + AC_ARG_ENABLE(sim-inline, +@@ -666,7 +666,7 @@ + AC_SUBST(sim_inline) + + +-AC_DEFUN(SIM_AC_OPTION_PACKAGES, ++AC_DEFUN([SIM_AC_OPTION_PACKAGES], + [ + AC_ARG_ENABLE(sim-packages, + [ --enable-sim-packages=list Specify the packages to be included in the build.], +@@ -692,7 +692,7 @@ + AC_SUBST(sim_packages) + + +-AC_DEFUN(SIM_AC_OPTION_REGPARM, ++AC_DEFUN([SIM_AC_OPTION_REGPARM], + [ + AC_ARG_ENABLE(sim-regparm, + [ --enable-sim-regparm=nr-parm Pass parameters in registers instead of on the stack - x86/GCC specific.], +@@ -709,7 +709,7 @@ + AC_SUBST(sim_regparm) + + +-AC_DEFUN(SIM_AC_OPTION_RESERVED_BITS, ++AC_DEFUN([SIM_AC_OPTION_RESERVED_BITS], + [ + default_sim_reserved_bits="ifelse([$1],,1,[$1])" + AC_ARG_ENABLE(sim-reserved-bits, +@@ -726,7 +726,7 @@ + AC_SUBST(sim_reserved_bits) + + +-AC_DEFUN(SIM_AC_OPTION_SMP, ++AC_DEFUN([SIM_AC_OPTION_SMP], + [ + default_sim_smp="ifelse([$1],,5,[$1])" + AC_ARG_ENABLE(sim-smp, +@@ -746,7 +746,7 @@ + AC_SUBST(sim_smp) + + +-AC_DEFUN(SIM_AC_OPTION_STDCALL, ++AC_DEFUN([SIM_AC_OPTION_STDCALL], + [ + AC_ARG_ENABLE(sim-stdcall, + [ --enable-sim-stdcall=type Use an alternative function call/return mechanism - x86/GCC specific.], +@@ -763,7 +763,7 @@ + AC_SUBST(sim_stdcall) + + +-AC_DEFUN(SIM_AC_OPTION_XOR_ENDIAN, ++AC_DEFUN([SIM_AC_OPTION_XOR_ENDIAN], + [ + default_sim_xor_endian="ifelse([$1],,8,[$1])" + AC_ARG_ENABLE(sim-xor-endian, +@@ -782,7 +782,7 @@ + + dnl --enable-build-warnings is for developers of the simulator. + dnl it enables extra GCC specific warnings. +-AC_DEFUN(SIM_AC_OPTION_WARNINGS, ++AC_DEFUN([SIM_AC_OPTION_WARNINGS], + [ + # NOTE: Don't add -Wall or -Wunused, they both include + # -Wunused-parameter which reports bogus warnings. +@@ -866,7 +866,7 @@ + dnl one afterwards. The two pieces of the common fragment are inserted into + dnl the target's fragment at the appropriate points. + +-AC_DEFUN(SIM_AC_OUTPUT, ++AC_DEFUN([SIM_AC_OUTPUT], + [ + AC_LINK_FILES($sim_link_files, $sim_link_links) + dnl Make @cgen_breaks@ non-null only if the sim uses CGEN. +@@ -895,7 +895,7 @@ + sinclude(../../config/gettext-sister.m4) + + dnl --enable-cgen-maint support +-AC_DEFUN(SIM_AC_OPTION_CGEN_MAINT, ++AC_DEFUN([SIM_AC_OPTION_CGEN_MAINT], + [ + cgen_maint=no + dnl Default is to use one in build tree. +diff -Naur gdb-6.8.orig/sim/erc32/configure gdb-6.8/sim/erc32/configure +--- gdb-6.8.orig/sim/erc32/configure 2006-12-20 23:35:51.000000000 +0100 ++++ gdb-6.8/sim/erc32/configure 2008-04-29 05:18:03.000000000 +0200 +@@ -309,7 +309,7 @@ + # include + #endif" + +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS sim_environment sim_alignment sim_assert sim_bitsize sim_endian sim_hostendian sim_float sim_scache sim_default_model sim_hw_cflags sim_hw_objs sim_hw sim_inline sim_packages sim_regparm sim_reserved_bits sim_smp sim_stdcall sim_xor_endian WARN_CFLAGS WERROR_CFLAGS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC_FOR_BUILD HDEFINES AR RANLIB ac_ct_RANLIB USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CPP EGREP MAINT sim_bswap sim_cflags sim_debug sim_stdio sim_trace sim_profile TERMCAP READLINE cgen_breaks LIBOBJS LTLIBOBJS' ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS sim_environment sim_alignment sim_assert sim_bitsize sim_endian sim_hostendian sim_float sim_scache sim_default_model sim_hw_cflags sim_hw_objs sim_hw sim_inline sim_packages sim_regparm sim_reserved_bits sim_smp sim_stdcall sim_xor_endian WARN_CFLAGS WERROR_CFLAGS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC_FOR_BUILD HDEFINES AR RANLIB ac_ct_RANLIB USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CPP EGREP MAINT sim_bswap sim_cflags sim_debug sim_stdio sim_trace sim_profile READLINE READLINE_DEPS READLINE_CFLAGS cgen_breaks LIBOBJS LTLIBOBJS' + ac_subst_files='' + + # Initialize some variables set by options. +@@ -858,6 +858,11 @@ + --enable-sim-trace=opts Enable tracing flags + --enable-sim-profile=opts Enable profiling flags + ++Optional Packages: ++ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] ++ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-system-readline use installed readline library ++ + Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags +@@ -4493,57 +4498,36 @@ + done + + +-# In the Cygwin environment, we need some additional flags. +-echo "$as_me:$LINENO: checking for cygwin" >&5 +-echo $ECHO_N "checking for cygwin... $ECHO_C" >&6 +-if test "${sim_cv_os_cygwin+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ + +-#ifdef __CYGWIN__ +-lose +-#endif +-_ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "lose" >/dev/null 2>&1; then +- sim_cv_os_cygwin=yes +-else +- sim_cv_os_cygwin=no +-fi +-rm -f conftest* ++# Check whether --with-system-readline or --without-system-readline was given. ++if test "${with_system_readline+set}" = set; then ++ withval="$with_system_readline" + +-fi +-echo "$as_me:$LINENO: result: $sim_cv_os_cygwin" >&5 +-echo "${ECHO_T}$sim_cv_os_cygwin" >&6 ++fi; + +-if test x$sim_cv_os_cygwin = xyes; then +- TERMCAP='`if test -r ../../libtermcap/libtermcap.a; then echo ../../libtermcap/libtermcap.a; else echo -ltermcap; fi` -luser32' +-else +- echo "$as_me:$LINENO: checking for main in -ltermcap" >&5 +-echo $ECHO_N "checking for main in -ltermcap... $ECHO_C" >&6 +-if test "${ac_cv_lib_termcap_main+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-ltermcap $LIBS" +-cat >conftest.$ac_ext <<_ACEOF ++if test "$with_system_readline" = yes; then ++ echo "$as_me:$LINENO: checking for readline" >&5 ++echo $ECHO_N "checking for readline... $ECHO_C" >&6 ++ save_LIBS="$LIBS" ++ LIBS="-lreadline $save_LIBS" ++ cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + +- ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char add_history (); + int + main () + { +-main (); ++add_history (); + ; + return 0; + } +@@ -4570,41 +4554,13 @@ + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then +- ac_cv_lib_termcap_main=yes ++ READLINE=-lreadline + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +-ac_cv_lib_termcap_main=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_main" >&5 +-echo "${ECHO_T}$ac_cv_lib_termcap_main" >&6 +-if test $ac_cv_lib_termcap_main = yes; then +- TERMCAP=-ltermcap +-else +- TERMCAP="" +-fi +- +-fi +- +- +-# We prefer the in-tree readline. Top-level dependencies make sure +-# src/readline (if it's there) is configured before src/sim. +-if test -r ../../readline/Makefile; then +- READLINE=../../readline/libreadline.a +-else +- echo "$as_me:$LINENO: checking for readline in -lreadline" >&5 +-echo $ECHO_N "checking for readline in -lreadline... $ECHO_C" >&6 +-if test "${ac_cv_lib_readline_readline+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lreadline $TERMCAP $LIBS" +-cat >conftest.$ac_ext <<_ACEOF ++ LIBS="-lreadline -lncurses $save_LIBS" ++ cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext +@@ -4617,11 +4573,11 @@ + #endif + /* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +-char readline (); ++char add_history (); + int + main () + { +-readline (); ++add_history (); + ; + return 0; + } +@@ -4648,28 +4604,34 @@ + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then +- ac_cv_lib_readline_readline=yes ++ READLINE="-lreadline -lncurses" + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +-ac_cv_lib_readline_readline=no ++{ { echo "$as_me:$LINENO: error: unable to detect readline" >&5 ++echo "$as_me: error: unable to detect readline" >&2;} ++ { (exit 1); exit 1; }; } + fi + rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS ++ + fi +-echo "$as_me:$LINENO: result: $ac_cv_lib_readline_readline" >&5 +-echo "${ECHO_T}$ac_cv_lib_readline_readline" >&6 +-if test $ac_cv_lib_readline_readline = yes; then +- READLINE=-lreadline +-else +- { { echo "$as_me:$LINENO: error: the required \"readline\" library is missing" >&5 +-echo "$as_me: error: the required \"readline\" library is missing" >&2;} +- { (exit 1); exit 1; }; } ++rm -f conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ LIBS="$save_LIBS" ++ echo "$as_me:$LINENO: result: $READLINE" >&5 ++echo "${ECHO_T}$READLINE" >&6 ++ READLINE_DEPS= ++ READLINE_CFLAGS= ++else ++ READLINE='$(READLINE_DIR)/libreadline.a' ++ READLINE_DEPS='$(READLINE)' ++ READLINE_CFLAGS='-I$(READLINE_SRC)/..' + fi + +-fi ++ ++ + + + ac_sources="$sim_link_files" +@@ -5389,8 +5351,9 @@ + s,@sim_stdio@,$sim_stdio,;t t + s,@sim_trace@,$sim_trace,;t t + s,@sim_profile@,$sim_profile,;t t +-s,@TERMCAP@,$TERMCAP,;t t + s,@READLINE@,$READLINE,;t t ++s,@READLINE_DEPS@,$READLINE_DEPS,;t t ++s,@READLINE_CFLAGS@,$READLINE_CFLAGS,;t t + s,@cgen_breaks@,$cgen_breaks,;t t + s,@LIBOBJS@,$LIBOBJS,;t t + s,@LTLIBOBJS@,$LTLIBOBJS,;t t +diff -Naur gdb-6.8.orig/sim/erc32/configure.ac gdb-6.8/sim/erc32/configure.ac +--- gdb-6.8.orig/sim/erc32/configure.ac 2006-12-20 23:35:51.000000000 +0100 ++++ gdb-6.8/sim/erc32/configure.ac 2008-04-29 05:18:00.000000000 +0200 +@@ -11,27 +11,32 @@ + + AC_CHECK_HEADERS(stdlib.h) + +-# In the Cygwin environment, we need some additional flags. +-AC_CACHE_CHECK([for cygwin], sim_cv_os_cygwin, +-[AC_EGREP_CPP(lose, [ +-#ifdef __CYGWIN__ +-lose +-#endif],[sim_cv_os_cygwin=yes],[sim_cv_os_cygwin=no])]) ++AC_ARG_WITH([system-readline], ++ [AS_HELP_STRING([--with-system-readline], ++ [use installed readline library])]) + +-if test x$sim_cv_os_cygwin = xyes; then +- TERMCAP='`if test -r ../../libtermcap/libtermcap.a; then echo ../../libtermcap/libtermcap.a; else echo -ltermcap; fi` -luser32' ++if test "$with_system_readline" = yes; then ++ AC_MSG_CHECKING([for readline]) ++ save_LIBS="$LIBS" ++ LIBS="-lreadline $save_LIBS" ++ AC_LINK_IFELSE([AC_LANG_CALL([], ++ [add_history])], [READLINE=-lreadline], ++ [ LIBS="-lreadline -lncurses $save_LIBS" ++ AC_LINK_IFELSE([AC_LANG_CALL([], ++ [add_history])], [READLINE="-lreadline -lncurses"], ++ [AC_MSG_ERROR([unable to detect readline])]) ++ ]) ++ LIBS="$save_LIBS" ++ AC_MSG_RESULT($READLINE) ++ READLINE_DEPS= ++ READLINE_CFLAGS= + else +- AC_CHECK_LIB(termcap, main, TERMCAP=-ltermcap, TERMCAP="") +-fi +-AC_SUBST(TERMCAP) +- +-# We prefer the in-tree readline. Top-level dependencies make sure +-# src/readline (if it's there) is configured before src/sim. +-if test -r ../../readline/Makefile; then +- READLINE=../../readline/libreadline.a +-else +- AC_CHECK_LIB(readline, readline, READLINE=-lreadline, +- AC_ERROR([the required "readline" library is missing]), $TERMCAP) ++ READLINE='$(READLINE_DIR)/libreadline.a' ++ READLINE_DEPS='$(READLINE)' ++ READLINE_CFLAGS='-I$(READLINE_SRC)/..' + fi + AC_SUBST(READLINE) ++AC_SUBST(READLINE_DEPS) ++AC_SUBST(READLINE_CFLAGS) ++ + SIM_AC_OUTPUT +diff -Naur gdb-6.8.orig/sim/erc32/erc32.c gdb-6.8/sim/erc32/erc32.c +--- gdb-6.8.orig/sim/erc32/erc32.c 1999-04-16 03:35:00.000000000 +0200 ++++ gdb-6.8/sim/erc32/erc32.c 2008-04-28 07:18:30.000000000 +0200 +@@ -24,6 +24,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -413,7 +414,7 @@ + if (rom8) mec_memcfg &= ~0x20000; + else mec_memcfg |= 0x20000; + +- mem_ramsz = (256 * 1024) << ((mec_memcfg >> 10) & 7); ++ mem_ramsz = (512 * 1024) << ((mec_memcfg >> 10) & 7); + mem_romsz = (128 * 1024) << ((mec_memcfg >> 18) & 7); + + if (sparclite_board) { +@@ -1659,7 +1660,7 @@ + errmec = 0; + return(1); + } +-#endif; ++#endif + + if ((addr >= mem_ramstart) && (addr < (mem_ramstart + mem_ramsz))) { + fetch_bytes (asi, &ramb[addr & mem_rammask], data, sz); +@@ -1736,7 +1737,7 @@ + errmec = 0; + return(1); + } +-#endif; ++#endif + + if ((addr >= mem_ramstart) && (addr < (mem_ramstart + mem_ramsz))) { + if (mem_accprot) { +diff -Naur gdb-6.8.orig/sim/erc32/exec.c gdb-6.8/sim/erc32/exec.c +--- gdb-6.8.orig/sim/erc32/exec.c 2005-03-07 12:09:05.000000000 +0100 ++++ gdb-6.8/sim/erc32/exec.c 2008-04-28 07:18:30.000000000 +0200 +@@ -1713,7 +1713,7 @@ + sregs->fdp[rs2 | 1] = sregs->fs[rs2 & ~1]; + sregs->fdp[rs2 & ~1] = sregs->fs[rs2 | 1]; + default: +- ; ++ break; + } + #endif + +@@ -1886,7 +1886,7 @@ + sregs->fs[rd & ~1] = sregs->fdp[rd | 1]; + sregs->fs[rd | 1] = sregs->fdp[rd & ~1]; + default: +- ; ++ break; + } + #endif + if (sregs->fpstate == FP_EXC_PE) { +diff -Naur gdb-6.8.orig/sim/erc32/Makefile.in gdb-6.8/sim/erc32/Makefile.in +--- gdb-6.8.orig/sim/erc32/Makefile.in 2008-01-01 23:53:24.000000000 +0100 ++++ gdb-6.8/sim/erc32/Makefile.in 2008-04-28 07:18:30.000000000 +0200 +@@ -18,12 +18,12 @@ + + ## COMMON_PRE_CONFIG_FRAG + +-TERMCAP_LIB = @TERMCAP@ ++# TERMCAP_LIB = -lncurses + READLINE_LIB = @READLINE@ + + SIM_OBJS = exec.o erc32.o func.o help.o float.o interf.o + SIM_EXTRA_LIBS = $(READLINE_LIB) $(TERMCAP_LIB) -lm +-SIM_EXTRA_ALL = sis ++SIM_EXTRA_ALL = sis$(EXEEXT) + SIM_EXTRA_INSTALL = install-sis + SIM_EXTRA_CLEAN = clean-sis + +@@ -37,8 +37,8 @@ + # `sis' doesn't need interf.o. + SIS_OFILES = exec.o erc32.o func.o help.o float.o + +-sis: sis.o $(SIS_OFILES) $(COMMON_OBJS) $(LIBDEPS) +- $(CC) $(ALL_CFLAGS) -o sis \ ++sis$(EXEEXT): sis.o $(SIS_OFILES) $(COMMON_OBJS) $(LIBDEPS) ++ $(CC) $(ALL_CFLAGS) -o sis$(EXEEXT) \ + sis.o $(SIS_OFILES) $(COMMON_OBJS) $(EXTRA_LIBS) + + # FIXME: This computes the build host's endianness, doesn't it? +@@ -51,11 +51,11 @@ + + # Copy the files into directories where they will be run. + install-sis: installdirs +- n=`echo sis | sed '$(program_transform_name)'`; \ +- $(INSTALL_PROGRAM) sis$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT) ++ n=`echo sis$(EXEEXT) | sed '$(program_transform_name)'`; \ ++ $(INSTALL_PROGRAM) sis$(EXEEXT) $(DESTDIR)$(bindir)/$$n + + clean-sis: +- rm -f sis end end.h ++ rm -f sis$(EXEEXT) end end.h + + configure: + @echo "Rebuilding configure..." +diff -Naur gdb-6.8.orig/sim/ppc/ppc-instructions gdb-6.8/sim/ppc/ppc-instructions +--- gdb-6.8.orig/sim/ppc/ppc-instructions 2006-11-29 16:20:55.000000000 +0100 ++++ gdb-6.8/sim/ppc/ppc-instructions 2008-04-28 07:18:30.000000000 +0200 +@@ -3402,6 +3402,14 @@ + case spr_dec: + *rT = cpu_get_decrementer(processor); + break; ++ case spr_tbrl: ++ if (is_64bit_implementation) *rT = TB; ++ else *rT = EXTRACTED64(TB, 32, 63); ++ break; ++ case spr_tbru: ++ if (is_64bit_implementation) *rT = EXTRACTED64(TB, 0, 31); ++ else *rT = EXTRACTED64(TB, 0, 31); ++ break; + case spr_tbu: + case spr_tbl: + /* NOTE - these SPR's are not readable. Use mftb[ul] */ +diff -Naur gdb-6.8.orig/sim/ppc/ppc-spr-table gdb-6.8/sim/ppc/ppc-spr-table +--- gdb-6.8.orig/sim/ppc/ppc-spr-table 2003-06-22 18:48:12.000000000 +0200 ++++ gdb-6.8/sim/ppc/ppc-spr-table 2008-04-28 07:18:30.000000000 +0200 +@@ -32,6 +32,8 @@ + SRR0:26:0:0 + SRR1:27:0:0 + VRSAVE:256:0:0 ++TBRL:268:0:0 ++TBRU:269:0:0 + SPRG0:272:0:0 + SPRG1:273:0:0 + SPRG2:274:0:0 -- cgit v1.2.3