[rtems-crossrpms commit] New.
Ralf Corsepius
ralf at rtems.org
Mon Oct 1 14:19:37 UTC 2012
Module: rtems-crossrpms
Branch: master
Commit: 4d24724693cf3bf43c0d6472c2fc3b71ee2ed8d1
Changeset: http://git.rtems.org/rtems-crossrpms/commit/?id=4d24724693cf3bf43c0d6472c2fc3b71ee2ed8d1
Author: Ralf Corsépius <ralf.corsepius at rtems.org>
Date: Mon Oct 1 12:19:50 2012 +0200
New.
---
patches/gdb-7.5-rtems4.11-20120928.diff | 778 +++++++++++++++++++++++++++++++
1 files changed, 778 insertions(+), 0 deletions(-)
diff --git a/patches/gdb-7.5-rtems4.11-20120928.diff b/patches/gdb-7.5-rtems4.11-20120928.diff
new file mode 100644
index 0000000..5d03a33
--- /dev/null
+++ b/patches/gdb-7.5-rtems4.11-20120928.diff
@@ -0,0 +1,778 @@
+diff -Naur gdb-7.5.orig/gdb/ChangeLog gdb-7.5/gdb/ChangeLog
+--- gdb-7.5.orig/gdb/ChangeLog 2012-08-17 19:21:44.000000000 +0200
++++ gdb-7.5/gdb/ChangeLog 2012-09-30 06:50:23.124729087 +0200
+@@ -101,6 +101,10 @@
+ "set/show use-deprecated-index-sections".
+ * main.c (captured_main): Delete --use-deprecated-index-sections.
+
++2012-07-19 Ralf Corsépius <ralf.corsepius at rtems.org>
++
++ * symfile.c: Avoid bogus pointer to int cast.
++
+ 2012-07-18 Joel Brobecker <brobecker at adacore.com>
+
+ * version.in: Set version to 7.4.91.20120718-cvs.
+diff -Naur gdb-7.5.orig/gdb/symfile.c gdb-7.5/gdb/symfile.c
+--- gdb-7.5.orig/gdb/symfile.c 2012-06-26 22:14:02.000000000 +0200
++++ gdb-7.5/gdb/symfile.c 2012-09-30 06:50:23.126729118 +0200
+@@ -2889,8 +2889,8 @@
+ last_objfile_name);
+ }
+ fprintf_unfiltered (gdb_stdlog,
+- "Created symtab 0x%lx for module %s.\n",
+- (long) symtab, filename);
++ "Created symtab 0x%p for module %s.\n",
++ symtab, filename);
+ }
+
+ return (symtab);
+diff -Naur gdb-7.5.orig/libiberty/ChangeLog gdb-7.5/libiberty/ChangeLog
+--- gdb-7.5.orig/libiberty/ChangeLog 2012-07-14 01:39:45.000000000 +0200
++++ gdb-7.5/libiberty/ChangeLog 2012-09-30 06:50:23.128729149 +0200
+@@ -1,3 +1,8 @@
++2012-07-31 Mike Frysinger <vapier at gentoo.org>
++
++ * md5.c (md5_finish_ctx): Declare swap_bytes. Assign SWAP() output
++ to swap_bytes, and then call memcpy to move it to ctx->buffer.
++
+ 2012-07-13 Doug Evans <dje at google.com>
+
+ * filename_cmp.c (filename_hash, filename_eq): New functions.
+diff -Naur gdb-7.5.orig/libiberty/md5.c gdb-7.5/libiberty/md5.c
+--- gdb-7.5.orig/libiberty/md5.c 2011-09-23 22:01:11.000000000 +0200
++++ gdb-7.5/libiberty/md5.c 2012-09-30 06:50:23.129729165 +0200
+@@ -103,6 +103,7 @@
+ {
+ /* Take yet unprocessed bytes into account. */
+ md5_uint32 bytes = ctx->buflen;
++ md5_uint32 swap_bytes;
+ size_t pad;
+
+ /* Now count remaining bytes. */
+@@ -113,10 +114,13 @@
+ pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes;
+ memcpy (&ctx->buffer[bytes], fillbuf, pad);
+
+- /* Put the 64-bit file length in *bits* at the end of the buffer. */
+- *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3);
+- *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) |
+- (ctx->total[0] >> 29));
++ /* Put the 64-bit file length in *bits* at the end of the buffer.
++ Use memcpy to avoid aliasing problems. On most systems, this
++ will be optimized away to the same code. */
++ swap_bytes = SWAP (ctx->total[0] << 3);
++ memcpy (&ctx->buffer[bytes + pad], &swap_bytes, sizeof (swap_bytes));
++ swap_bytes = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29));
++ memcpy (&ctx->buffer[bytes + pad + 4], &swap_bytes, sizeof (swap_bytes));
+
+ /* Process last bytes. */
+ md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
+diff -Naur gdb-7.5.orig/sim/ChangeLog gdb-7.5/sim/ChangeLog
+--- gdb-7.5.orig/sim/ChangeLog 2012-06-15 19:19:56.000000000 +0200
++++ gdb-7.5/sim/ChangeLog 2012-09-30 06:50:23.130729180 +0200
+@@ -1,3 +1,8 @@
++2012-07-19 Ralf Corsépius <ralf.corsepius at rtems.org>
++
++ * common/sim-events.c: Include <inttypes.h>.
++ Avoid bogus pointer to int casts.
++
+ 2012-06-15 Joel Brobecker <brobecker at adacore.com>
+
+ * configure: Regenerate.
+diff -Naur gdb-7.5.orig/sim/common/sim-events.c gdb-7.5/sim/common/sim-events.c
+--- gdb-7.5.orig/sim/common/sim-events.c 2012-01-04 09:28:06.000000000 +0100
++++ gdb-7.5/sim/common/sim-events.c 2012-09-30 06:50:23.131729196 +0200
+@@ -38,6 +38,8 @@
+ #include <stdlib.h>
+ #endif
+
++#include <inttypes.h>
++
+ #include <signal.h> /* For SIGPROCMASK et al. */
+
+ typedef enum {
+@@ -418,14 +420,14 @@
+ event = event->next, i++)
+ {
+ ETRACE ((_ETRACE,
+- "event time-from-event - time %ld, delta %ld - event %d, tag 0x%lx, time %ld, handler 0x%lx, data 0x%lx%s%s\n",
+- (long)current_time,
+- (long)events->time_from_event,
++ "event time-from-event - time %" PRId64 ", delta %" PRId64 " - event %d, tag 0x%p, time %" PRId64 ", handler 0x%p, data 0x%p%s%s\n",
++ current_time,
++ events->time_from_event,
+ i,
+- (long)event,
+- (long)event->time_of_event,
+- (long)event->handler,
+- (long)event->data,
++ event,
++ event->time_of_event,
++ event->handler,
++ event->data,
+ (event->trace != NULL) ? ", " : "",
+ (event->trace != NULL) ? event->trace : ""));
+ }
+@@ -525,12 +527,12 @@
+ new_event->trace = NULL;
+ insert_sim_event (sd, new_event, delta_time);
+ ETRACE ((_ETRACE,
+- "event scheduled at %ld - tag 0x%lx - time %ld, handler 0x%lx, data 0x%lx%s%s\n",
++ "event scheduled at %ld - tag 0x%p - time %ld, handler 0x%p, data 0x%p%s%s\n",
+ (long)sim_events_time (sd),
+- (long)new_event,
++ new_event,
+ (long)new_event->time_of_event,
+- (long)new_event->handler,
+- (long)new_event->data,
++ new_event->handler,
++ new_event->data,
+ (new_event->trace != NULL) ? ", " : "",
+ (new_event->trace != NULL) ? new_event->trace : ""));
+ return new_event;
+@@ -577,12 +579,12 @@
+ #endif
+
+ ETRACE ((_ETRACE,
+- "signal scheduled at %ld - tag 0x%lx - time %ld, handler 0x%lx, data 0x%lx\n",
+- (long)sim_events_time (sd),
+- (long)new_event,
+- (long)new_event->time_of_event,
+- (long)new_event->handler,
+- (long)new_event->data));
++ "signal scheduled at %" PRId64 " - tag 0x%p - time %" PRId64 ", handler 0x%p, data 0x%p\n",
++ sim_events_time (sd),
++ new_event,
++ new_event->time_of_event,
++ new_event->handler,
++ new_event->data));
+ }
+ #endif
+
+@@ -613,12 +615,12 @@
+ events->watchpoints = new_event;
+ events->work_pending = 1;
+ ETRACE ((_ETRACE,
+- "event watching clock at %ld - tag 0x%lx - wallclock %ld, handler 0x%lx, data 0x%lx\n",
+- (long)sim_events_time (sd),
+- (long)new_event,
+- (long)new_event->wallclock,
+- (long)new_event->handler,
+- (long)new_event->data));
++ "event watching clock at %" PRId64 " - tag 0x%p - wallclock %d, handler 0x%p, data 0x%p\n",
++ sim_events_time (sd),
++ new_event,
++ new_event->wallclock,
++ new_event->handler,
++ new_event->data));
+ return new_event;
+ }
+ #endif
+@@ -689,14 +691,14 @@
+ events->watchpoints = new_event;
+ events->work_pending = 1;
+ ETRACE ((_ETRACE,
+- "event watching host at %ld - tag 0x%lx - host-addr 0x%lx, 0x%lx..0x%lx, handler 0x%lx, data 0x%lx\n",
+- (long)sim_events_time (sd),
+- (long)new_event,
+- (long)new_event->host_addr,
+- (long)new_event->lb,
+- (long)new_event->ub,
+- (long)new_event->handler,
+- (long)new_event->data));
++ "event watching host at %" PRId64 " - tag 0x%p - host-addr 0x%p, 0x%x..0x%x, handler 0x%p, data 0x%p\n",
++ sim_events_time (sd),
++ new_event,
++ new_event->host_addr,
++ new_event->lb,
++ new_event->ub,
++ new_event->handler,
++ new_event->data));
+ return new_event;
+ }
+ #endif
+@@ -769,14 +771,14 @@
+ events->watchpoints = new_event;
+ events->work_pending = 1;
+ ETRACE ((_ETRACE,
+- "event watching host at %ld - tag 0x%lx - host-addr 0x%lx, 0x%lx..0x%lx, handler 0x%lx, data 0x%lx\n",
+- (long)sim_events_time (sd),
+- (long)new_event,
+- (long)new_event->host_addr,
+- (long)new_event->lb,
+- (long)new_event->ub,
+- (long)new_event->handler,
+- (long)new_event->data));
++ "event watching host at %" PRId64 " - tag 0x%p - host-addr 0x%p, 0x%x..0x%x, handler 0x%p, data 0x%p\n",
++ sim_events_time (sd),
++ new_event,
++ new_event->host_addr,
++ new_event->lb,
++ new_event->ub,
++ new_event->handler,
++ new_event->data));
+ return new_event;
+ }
+ #endif
+@@ -803,12 +805,12 @@
+ sim_event *dead = *ptr_to_current;
+ *ptr_to_current = dead->next;
+ ETRACE ((_ETRACE,
+- "event/watch descheduled at %ld - tag 0x%lx - time %ld, handler 0x%lx, data 0x%lx%s%s\n",
+- (long) sim_events_time (sd),
+- (long) event_to_remove,
+- (long) dead->time_of_event,
+- (long) dead->handler,
+- (long) dead->data,
++ "event/watch descheduled at %" PRId64 " - tag 0x%p - time %" PRId64 ", handler 0x%p, data 0x%p%s%s\n",
++ sim_events_time (sd),
++ event_to_remove,
++ dead->time_of_event,
++ dead->handler,
++ dead->data,
+ (dead->trace != NULL) ? ", " : "",
+ (dead->trace != NULL) ? dead->trace : ""));
+ sim_events_free (sd, dead);
+@@ -819,9 +821,9 @@
+ }
+ }
+ ETRACE ((_ETRACE,
+- "event/watch descheduled at %ld - tag 0x%lx - not found\n",
+- (long) sim_events_time (sd),
+- (long) event_to_remove));
++ "event/watch descheduled at %" PRId64 " - tag 0x%p - not found\n",
++ sim_events_time (sd),
++ event_to_remove));
+ }
+ #endif
+
+@@ -1146,11 +1148,11 @@
+ sim_event_handler *handler = to_do->handler;
+ void *data = to_do->data;
+ ETRACE ((_ETRACE,
+- "event issued at %ld - tag 0x%lx - handler 0x%lx, data 0x%lx%s%s\n",
+- (long) event_time,
+- (long) to_do,
+- (long) handler,
+- (long) data,
++ "event issued at %" PRId64 " - tag 0x%p - handler 0x%p, data 0x%p%s%s\n",
++ event_time,
++ to_do,
++ handler,
++ data,
+ (to_do->trace != NULL) ? ", " : "",
+ (to_do->trace != NULL) ? to_do->trace : ""));
+ sim_events_free (sd, to_do);
+@@ -1174,11 +1176,11 @@
+ events->queue = to_do->next;
+ update_time_from_event (sd);
+ ETRACE ((_ETRACE,
+- "event issued at %ld - tag 0x%lx - handler 0x%lx, data 0x%lx%s%s\n",
+- (long) event_time,
+- (long) to_do,
+- (long) handler,
+- (long) data,
++ "event issued at %" PRId64 " - tag 0x%p - handler 0x%p, data 0x%p%s%s\n",
++ event_time,
++ to_do,
++ handler,
++ data,
+ (to_do->trace != NULL) ? ", " : "",
+ (to_do->trace != NULL) ? to_do->trace : ""));
+ sim_events_free (sd, to_do);
+diff -Naur gdb-7.5.orig/sim/erc32/ChangeLog gdb-7.5/sim/erc32/ChangeLog
+--- gdb-7.5.orig/sim/erc32/ChangeLog 2012-06-15 19:20:30.000000000 +0200
++++ gdb-7.5/sim/erc32/ChangeLog 2012-09-30 06:50:23.131729196 +0200
+@@ -1,3 +1,18 @@
++2012-08-16 Ralf Corsépius <ralf.corsepius at rtems.org>
++
++ * func.c, sis.c: Include <inttypes.h>.
++ Apply PRI* macros to print 64 bit types.
++ * sis.h: Include <stdint.h>.
++ Derive 64 bit types from POSIX 64 types.
++ Don't define UINT64_MAX if already defined.
++
++2012-07-20 Ralf Corsépius <ralf.corsepius at rtems.org>
++
++ * Makefile.in, configure.ac: Backport from rtems-4.11-gdb-7.4.1.
++ Use system-readline. Fix EXEEXT handling.
++ * erc32.c: Backport from rtems-4.11-gdb-7.4.1.
++ * configure: Regenerate.
++
+ 2012-06-15 Joel Brobecker <brobecker at adacore.com>
+
+ * sys.h: Include "config.h".
+diff -Naur gdb-7.5.orig/sim/erc32/configure gdb-7.5/sim/erc32/configure
+--- gdb-7.5.orig/sim/erc32/configure 2012-06-15 19:20:00.000000000 +0200
++++ gdb-7.5/sim/erc32/configure 2012-09-30 06:50:23.133729228 +0200
+@@ -591,8 +591,9 @@
+ ac_subst_vars='LTLIBOBJS
+ LIBOBJS
+ cgen_breaks
++READLINE_CFLAGS
++READLINE_DEPS
+ READLINE
+-TERMCAP
+ REPORT_BUGS_TEXI
+ REPORT_BUGS_TO
+ PKGVERSION
+@@ -723,6 +724,7 @@
+ enable_sim_profile
+ with_pkgversion
+ with_bugurl
++with_system_readline
+ '
+ ac_precious_vars='build_alias
+ host_alias
+@@ -1365,6 +1367,7 @@
+ --with-zlib include zlib support (auto/yes/no) default=auto
+ --with-pkgversion=PKG Use PKG in the version string in place of "GDB"
+ --with-bugurl=URL Direct users to URL to report a bug
++ --with-system-readline use installed readline library
+
+ Some influential environment variables:
+ CC C compiler command
+@@ -4811,42 +4814,19 @@
+ done
+
+
+-# In the Cygwin environment, we need some additional flags.
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cygwin" >&5
+-$as_echo_n "checking for cygwin... " >&6; }
+-if test "${sim_cv_os_cygwin+set}" = set; then :
+- $as_echo_n "(cached) " >&6
+-else
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* 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
++# Check whether --with-system-readline was given.
++if test "${with_system_readline+set}" = set; then :
++ withval=$with_system_readline;
+ fi
+-rm -f conftest*
+
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_cv_os_cygwin" >&5
+-$as_echo "$sim_cv_os_cygwin" >&6; }
+
+-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
+- # Keep in sync with gdb's configure.ac list.
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5
+-$as_echo_n "checking for library containing tgetent... " >&6; }
+-if test "${ac_cv_search_tgetent+set}" = set; then :
+- $as_echo_n "(cached) " >&6
+-else
+- ac_func_search_save_LIBS=$LIBS
+-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++if test "$with_system_readline" = yes; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline" >&5
++$as_echo_n "checking for readline... " >&6; }
++ save_LIBS="$LIBS"
++ LIBS="-lreadline $save_LIBS"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ /* Override any GCC internal prototype to avoid an error.
+@@ -4855,65 +4835,20 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char tgetent ();
++char add_history ();
+ int
+ main ()
+ {
+-return tgetent ();
++return add_history ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-for ac_lib in '' termcap tinfo curses ncurses; do
+- if test -z "$ac_lib"; then
+- ac_res="none required"
+- else
+- ac_res=-l$ac_lib
+- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+- fi
+- if ac_fn_c_try_link "$LINENO"; then :
+- ac_cv_search_tgetent=$ac_res
+-fi
+-rm -f core conftest.err conftest.$ac_objext \
+- conftest$ac_exeext
+- if test "${ac_cv_search_tgetent+set}" = set; then :
+- break
+-fi
+-done
+-if test "${ac_cv_search_tgetent+set}" = set; then :
+-
+-else
+- ac_cv_search_tgetent=no
+-fi
+-rm conftest.$ac_ext
+-LIBS=$ac_func_search_save_LIBS
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_tgetent" >&5
+-$as_echo "$ac_cv_search_tgetent" >&6; }
+-ac_res=$ac_cv_search_tgetent
+-if test "$ac_res" != no; then :
+- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+- TERMCAP=$ac_cv_search_tgetent
+-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
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5
+-$as_echo_n "checking for readline in -lreadline... " >&6; }
+-if test "${ac_cv_lib_readline_readline+set}" = set; then :
+- $as_echo_n "(cached) " >&6
++if ac_fn_c_try_link "$LINENO"; then :
++ READLINE=-lreadline
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lreadline $TERMCAP $LIBS"
+-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ LIBS="-lreadline -lncurses $save_LIBS"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ /* Override any GCC internal prototype to avoid an error.
+@@ -4922,33 +4857,39 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char readline ();
++char add_history ();
+ int
+ main ()
+ {
+-return readline ();
++return add_history ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- ac_cv_lib_readline_readline=yes
++ READLINE="-lreadline -lncurses"
+ else
+- ac_cv_lib_readline_readline=no
++ as_fn_error "unable to detect readline" "$LINENO" 5
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_readline" >&5
+-$as_echo "$ac_cv_lib_readline_readline" >&6; }
+-if test "x$ac_cv_lib_readline_readline" = x""yes; then :
+- READLINE=-lreadline
+-else
+- as_fn_error "the required \"readline\" library is missing" "$LINENO" 5
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++ LIBS="$save_LIBS"
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READLINE" >&5
++$as_echo "$READLINE" >&6; }
++ READLINE_DEPS=
++ READLINE_CFLAGS=
++else
++ READLINE='../../readline/libreadline.a -lncurses'
++ READLINE_DEPS='$(READLINE)'
++ READLINE_CFLAGS='-I$(READLINE_SRC)/..'
+ fi
+
+-fi
++
++
+
+
+ ac_sources="$sim_link_files"
+diff -Naur gdb-7.5.orig/sim/erc32/configure.ac gdb-7.5/sim/erc32/configure.ac
+--- gdb-7.5.orig/sim/erc32/configure.ac 2011-12-31 08:06:47.000000000 +0100
++++ gdb-7.5/sim/erc32/configure.ac 2012-09-30 06:50:23.134729243 +0200
+@@ -7,29 +7,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
+- # Keep in sync with gdb's configure.ac list.
+- AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses],
+- [TERMCAP=$ac_cv_search_tgetent], [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/libreadline.a -lncurses'
++ 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-7.5.orig/sim/erc32/erc32.c gdb-7.5/sim/erc32/erc32.c
+--- gdb-7.5.orig/sim/erc32/erc32.c 2010-05-11 16:18:20.000000000 +0200
++++ gdb-7.5/sim/erc32/erc32.c 2012-09-30 06:50:23.135729257 +0200
+@@ -414,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) {
+diff -Naur gdb-7.5.orig/sim/erc32/func.c gdb-7.5/sim/erc32/func.c
+--- gdb-7.5.orig/sim/erc32/func.c 2010-05-11 16:18:20.000000000 +0200
++++ gdb-7.5/sim/erc32/func.c 2012-09-30 06:50:23.135729257 +0200
+@@ -25,6 +25,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <ctype.h>
++#include <inttypes.h>
+ #include "sis.h"
+ #include "end.h"
+ #include <dis-asm.h>
+@@ -640,8 +641,8 @@
+ sregs->nbranch;
+ #endif
+
+- printf("\n Cycles : %9d\n\r", ebase.simtime - sregs->simstart);
+- printf(" Instructions : %9d\n", sregs->ninst);
++ printf("\n Cycles : %9" PRId64 "\n\r", ebase.simtime - sregs->simstart);
++ printf(" Instructions : %9" PRId64 "\n", sregs->ninst);
+
+ #ifdef STAT
+ printf(" integer : %9.2f %%\n", 100.0 * (float) iinst / (float) sregs->ninst);
+@@ -671,8 +672,8 @@
+ printf(" Processor utilisation : %5.2f %%\n", 100.0 * (1.0 - ((float) sregs->pwdtime / (float) stime)));
+ printf(" Real-time / simulator-time : 1/%.2f \n",
+ ((float) sregs->tottime) / ((float) (stime) / (sregs->freq * 1.0E6)));
+- printf(" Simulator performance : %d KIPS\n",sregs->ninst/tottime/1000);
+- printf(" Used time (sys + user) : %3d s\n\n", sregs->tottime);
++ printf(" Simulator performance : %" PRId64 " KIPS\n",sregs->ninst/tottime/1000);
++ printf(" Used time (sys + user) : %3" PRId64 " s\n\n", sregs->tottime);
+ }
+
+
+diff -Naur gdb-7.5.orig/sim/erc32/Makefile.in gdb-7.5/sim/erc32/Makefile.in
+--- gdb-7.5.orig/sim/erc32/Makefile.in 2012-01-04 09:28:09.000000000 +0100
++++ gdb-7.5/sim/erc32/Makefile.in 2012-09-30 06:50:23.132729212 +0200
+@@ -19,12 +19,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
+
+@@ -38,8 +38,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?
+@@ -52,11 +52,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-7.5.orig/sim/erc32/sis.c gdb-7.5/sim/erc32/sis.c
+--- gdb-7.5.orig/sim/erc32/sis.c 2010-05-11 16:18:20.000000000 +0200
++++ gdb-7.5/sim/erc32/sis.c 2012-09-30 06:50:23.136729272 +0200
+@@ -28,6 +28,7 @@
+ #endif
+ #include <stdio.h>
+ #include <time.h>
++#include <inttypes.h>
+ #include <sys/fcntl.h>
+ #include "sis.h"
+ #include <dis-asm.h>
+@@ -124,7 +125,7 @@
+ sregs->histind = 0;
+ }
+ if (dis) {
+- printf(" %8u ", ebase.simtime);
++ printf(" %8" PRIu64, ebase.simtime);
+ dis_mem(sregs->pc, 1, &dinfo);
+ }
+ }
+@@ -279,7 +280,7 @@
+ case CTRL_C:
+ printf("\b\bInterrupt!\n");
+ case TIME_OUT:
+- printf(" Stopped at time %d (%.3f ms)\n", ebase.simtime,
++ printf(" Stopped at time %" PRId64 " (%.3f ms)\n", ebase.simtime,
+ ((double) ebase.simtime / (double) sregs.freq) / 1000.0);
+ break;
+ case BPT_HIT:
+@@ -289,7 +290,7 @@
+ case ERROR:
+ printf("IU in error mode (%d)\n", sregs.trap);
+ stat = 0;
+- printf(" %8d ", ebase.simtime);
++ printf(" %8" PRId64, ebase.simtime);
+ dis_mem(sregs.pc, 1, &dinfo);
+ break;
+ default:
+diff -Naur gdb-7.5.orig/sim/erc32/sis.h gdb-7.5/sim/erc32/sis.h
+--- gdb-7.5.orig/sim/erc32/sis.h 2012-06-15 19:20:30.000000000 +0200
++++ gdb-7.5/sim/erc32/sis.h 2012-09-30 06:50:23.136729272 +0200
+@@ -22,6 +22,8 @@
+
+ #include "config.h"
+ #include "ansidecl.h"
++#include <stdint.h>
++
+ #include "gdb/callback.h"
+ #include "gdb/remote-sim.h"
+
+@@ -53,10 +55,12 @@
+ typedef double float64; /* 64-bit float */
+
+ /* FIXME: what about host compilers that don't support 64-bit ints? */
+-typedef unsigned long long uint64; /* 64-bit unsigned int */
+-typedef long long int64; /* 64-bit signed int */
++typedef uint64_t uint64; /* 64-bit unsigned int */
++typedef int64_t int64; /* 64-bit signed int */
+
++#ifndef UINT64_MAX
+ #define UINT64_MAX 18446744073709551615ULL
++#endif
+
+ struct pstate {
+
+diff -Naur gdb-7.5.orig/sim/ppc/ChangeLog gdb-7.5/sim/ppc/ChangeLog
+--- gdb-7.5.orig/sim/ppc/ChangeLog 2012-06-15 19:20:07.000000000 +0200
++++ gdb-7.5/sim/ppc/ChangeLog 2012-09-30 06:50:23.144729398 +0200
+@@ -1,3 +1,10 @@
++2012-09-28 Ralf Corsépius <ralf.corsepius at rtems.org>
++
++ Backport from gcc-7.4-rtems4.11:
++
++ * device.c, device.h: Use (void) device_error.
++ * hw_glue.c: Use %zd to print sizes.
++
+ 2012-06-15 Joel Brobecker <brobecker at adacore.com>
+
+ * configure: Regenerate.
+diff -Naur gdb-7.5.orig/sim/ppc/device.c gdb-7.5/sim/ppc/device.c
+--- gdb-7.5.orig/sim/ppc/device.c 2011-02-14 06:14:27.000000000 +0100
++++ gdb-7.5/sim/ppc/device.c 2012-09-30 06:50:23.145729413 +0200
+@@ -1816,7 +1816,7 @@
+ /* I/O */
+
+ EXTERN_DEVICE\
+-(void volatile)
++(void)
+ device_error(device *me,
+ const char *fmt,
+ ...)
+diff -Naur gdb-7.5.orig/sim/ppc/device.h gdb-7.5/sim/ppc/device.h
+--- gdb-7.5.orig/sim/ppc/device.h 2001-12-14 01:22:12.000000000 +0100
++++ gdb-7.5/sim/ppc/device.h 2012-09-30 06:50:23.145729413 +0200
+@@ -727,7 +727,7 @@
+ */
+
+ EXTERN_DEVICE\
+-(void volatile) device_error
++(void) device_error
+ (device *me,
+ const char *fmt,
+ ...) __attribute__ ((format (printf, 2, 3)));
+diff -Naur gdb-7.5.orig/sim/ppc/hw_glue.c gdb-7.5/sim/ppc/hw_glue.c
+--- gdb-7.5.orig/sim/ppc/hw_glue.c 1999-04-16 03:35:09.000000000 +0200
++++ gdb-7.5/sim/ppc/hw_glue.c 2012-09-30 06:50:23.146729429 +0200
+@@ -194,13 +194,13 @@
+ if (glue->sizeof_output == 0)
+ device_error(me, "at least one reg property size must be nonzero");
+ if (glue->sizeof_output % sizeof(unsigned_word) != 0)
+- device_error(me, "reg property size must be %d aligned", sizeof(unsigned_word));
++ device_error(me, "reg property size must be %zd aligned", sizeof(unsigned_word));
+ /* and the address */
+ device_address_to_attach_address(device_parent(me),
+ &unit.address, &glue->space, &glue->address,
+ me);
+ if (glue->address % (sizeof(unsigned_word) * max_nr_interrupts) != 0)
+- device_error(me, "reg property address must be %d aligned",
++ device_error(me, "reg property address must be %zd aligned",
+ sizeof(unsigned_word) * max_nr_interrupts);
+ glue->nr_outputs = glue->sizeof_output / sizeof(unsigned_word);
+ glue->output = zalloc(glue->sizeof_output);
More information about the vc
mailing list