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-10-03 05:13:35.925579962 +0200 @@ -1,3 +1,9 @@ +2012-08-21 Pierre Muller + + * symfile.c (allocate_symtab): Use host_address_to_string + function instead of cast of pointer to long which is not + compatible with x86_64-w64-mingw32 build. + 2012-08-17 Joel Brobecker * version.in: Update GDB version number to 7.5. 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-10-03 05:13:35.926579978 +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 %s for module %s.\n", + host_address_to_string (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-10-03 05:13:35.932580071 +0200 @@ -1,3 +1,8 @@ +2012-07-31 Mike Frysinger + + * 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 * 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-10-03 05:13:35.933580087 +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-10-03 05:13:35.934580102 +0200 @@ -1,3 +1,8 @@ +2012-07-19 Ralf Corsépius + + * common/sim-events.c: Include . + Avoid bogus pointer to int casts. + 2012-06-15 Joel Brobecker * 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-10-03 05:13:35.935580117 +0200 @@ -38,6 +38,8 @@ #include #endif +#include + #include /* 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-10-03 05:13:35.935580117 +0200 @@ -1,3 +1,18 @@ +2012-08-16 Ralf Corsépius + + * func.c, sis.c: Include . + Apply PRI* macros to print 64 bit types. + * sis.h: Include . + Derive 64 bit types from POSIX 64 types. + Don't define UINT64_MAX if already defined. + +2012-07-20 Ralf Corsépius + + * 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 * 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-10-03 05:13:35.938580164 +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-10-03 05:13:35.938580164 +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-10-03 05:13:35.939580180 +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-10-03 05:13:35.939580180 +0200 @@ -25,6 +25,7 @@ #include #include #include +#include #include "sis.h" #include "end.h" #include @@ -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-10-03 05:13:35.936580132 +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-10-03 05:13:35.940580196 +0200 @@ -28,6 +28,7 @@ #endif #include #include +#include #include #include "sis.h" #include @@ -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-10-03 05:13:35.940580196 +0200 @@ -22,6 +22,8 @@ #include "config.h" #include "ansidecl.h" +#include + #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/microblaze/ChangeLog gdb-7.5/sim/microblaze/ChangeLog --- gdb-7.5.orig/sim/microblaze/ChangeLog 2012-06-15 19:20:04.000000000 +0200 +++ gdb-7.5/sim/microblaze/ChangeLog 2012-10-03 05:13:35.940580196 +0200 @@ -1,3 +1,17 @@ +2012-10-02 Ralf Corsépius + + * interp.c: Define SIGBUS, SIGTRAP, SIGQUIT on mingw32. + Extend comment on _POSIX/__MINGW32__. + +2012-10-02 Ralf Corsépius + + Backport from rtems-4.11-gdb-7.4: + + 2012-04-29 Ralf Corsépius + + * interp.c: Don't include , . + Define _POSIX on mingw32. + 2012-06-15 Joel Brobecker * config.in, configure: Regenerate. diff -Naur gdb-7.5.orig/sim/microblaze/interp.c gdb-7.5/sim/microblaze/interp.c --- gdb-7.5.orig/sim/microblaze/interp.c 2012-06-06 23:50:03.000000000 +0200 +++ gdb-7.5/sim/microblaze/interp.c 2012-10-03 05:13:35.941580211 +0200 @@ -19,11 +19,29 @@ 02110-1301, USA. */ #include "config.h" + +#ifdef __MINGW32__ +/* mingw-w64 defines the SIG* defines if _POSIX is defined */ +#define _POSIX +#endif + #include + +#ifdef __MINGW32__ +#ifndef SIGTRAP +#define SIGTRAP 5 +#endif +#ifndef SIGBUS +#define SIGBUS 10 +#endif +#ifndef SIGQUIT +#define SIGQUIT 3 +#endif +#endif + #include "sysdep.h" -#include #include -#include /* for byte ordering macros */ + #include "bfd.h" #include "gdb/callback.h" #include "libiberty.h" 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-10-03 05:13:35.942580226 +0200 @@ -1,3 +1,10 @@ +2012-09-28 Ralf Corsépius + + 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 * 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-10-03 05:13:35.943580241 +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-10-03 05:13:35.944580256 +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-10-03 05:13:35.944580256 +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);