From 301c09d303510cda3aed47cbd854f51146c4b07f Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Fri, 9 Oct 2009 03:53:42 +0000 Subject: Housekeeping. --- .../patches/gdb-6.8-rtems4.10-20090122.diff | 1859 ----------------- .../patches/gdb-6.8-rtems4.10-20090312.diff | 2151 -------------------- .../patches/gdb-6.8.91-rtems4.10-20090917.diff | 544 ----- .../patches/gdb-6.8.91-rtems4.10-20090918.diff | 555 ----- .../patches/gdb-6.8.91-rtems4.10-20090926.diff | 666 ------ .../patches/gdb-6.8.92-rtems4.10-20091001.diff | 666 ------ .../patches/newlib-1.17.0-rtems4.10-20090715.diff | 911 --------- .../patches/newlib-1.17.0-rtems4.10-20090727.diff | 923 --------- .../patches/newlib-1.17.0-rtems4.10-20090906.diff | 1266 ------------ .../patches/newlib-1.17.0-rtems4.10-20090909.diff | 1095 ---------- .../patches/newlib-1.17.0-rtems4.10-20090910.diff | 1103 ---------- .../patches/newlib-1.17.0-rtems4.10-20090911.diff | 1116 ---------- .../patches/newlib-1.17.0-rtems4.10-20090916.diff | 1127 ---------- 13 files changed, 13982 deletions(-) delete mode 100644 contrib/crossrpms/patches/gdb-6.8-rtems4.10-20090122.diff delete mode 100644 contrib/crossrpms/patches/gdb-6.8-rtems4.10-20090312.diff delete mode 100644 contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090917.diff delete mode 100644 contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090918.diff delete mode 100644 contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090926.diff delete mode 100644 contrib/crossrpms/patches/gdb-6.8.92-rtems4.10-20091001.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090715.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090727.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090906.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090909.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090910.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090911.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090916.diff (limited to 'contrib') diff --git a/contrib/crossrpms/patches/gdb-6.8-rtems4.10-20090122.diff b/contrib/crossrpms/patches/gdb-6.8-rtems4.10-20090122.diff deleted file mode 100644 index c8dc98cc01..0000000000 --- a/contrib/crossrpms/patches/gdb-6.8-rtems4.10-20090122.diff +++ /dev/null @@ -1,1859 +0,0 @@ -diff -Naur gdb-6.8.orig/bfd/config.bfd gdb-6.8/bfd/config.bfd ---- gdb-6.8.orig/bfd/config.bfd 2008-02-14 16:20:24.000000000 +0100 -+++ gdb-6.8/bfd/config.bfd 2009-01-22 07:10:09.000000000 +0100 -@@ -712,7 +712,7 @@ - targ_defvec=bfd_elf32_iq2000_vec - ;; - -- m32c-*-elf) -+ m32c-*-elf | m32c-*-rtems*) - targ_defvec=bfd_elf32_m32c_vec - ;; - -@@ -728,6 +728,9 @@ - targ_defvec=bfd_elf32_m32rle_vec - targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec" - ;; -+ m32r-*-rtems*) -+ targ_defvec=bfd_elf32_m32r_vec -+ ;; - m32r-*-*) - targ_defvec=bfd_elf32_m32r_vec - ;; -diff -Naur gdb-6.8.orig/gdb/breakpoint.c gdb-6.8/gdb/breakpoint.c ---- gdb-6.8.orig/gdb/breakpoint.c 2008-02-26 09:14:11.000000000 +0100 -+++ gdb-6.8/gdb/breakpoint.c 2009-01-22 07:10:09.000000000 +0100 -@@ -55,6 +55,7 @@ - #include "memattr.h" - #include "ada-lang.h" - #include "top.h" -+#include "wrapper.h" - - #include "gdb-events.h" - #include "mi/mi-common.h" -@@ -826,7 +827,65 @@ - || bpt->type == bp_access_watchpoint); - } - --/* Assuming that B is a hardware breakpoint: -+/* Find the current value of a watchpoint on EXP. Return the value in -+ *VALP and *RESULTP and the chain of intermediate and final values -+ in *VAL_CHAIN. RESULTP and VAL_CHAIN may be NULL if the caller does -+ not need them. -+ -+ If an error occurs while evaluating the expression, *RESULTP will -+ be set to NULL. *RESULTP may be a lazy value, if the result could -+ not be read from memory. It is used to determine whether a value -+ is user-specified (we should watch the whole value) or intermediate -+ (we should watch only the bit used to locate the final value). -+ -+ If the final value, or any intermediate value, could not be read -+ from memory, *VALP will be set to NULL. *VAL_CHAIN will still be -+ set to any referenced values. *VALP will never be a lazy value. -+ This is the value which we store in struct breakpoint. -+ -+ If VAL_CHAIN is non-NULL, *VAL_CHAIN will be released from the -+ value chain. The caller must free the values individually. If -+ VAL_CHAIN is NULL, all generated values will be left on the value -+ chain. */ -+ -+static void -+fetch_watchpoint_value (struct expression *exp, struct value **valp, -+ struct value **resultp, struct value **val_chain) -+{ -+ struct value *mark, *new_mark, *result; -+ -+ *valp = NULL; -+ if (resultp) -+ *resultp = NULL; -+ if (val_chain) -+ *val_chain = NULL; -+ -+ /* Evaluate the expression. */ -+ mark = value_mark (); -+ result = NULL; -+ gdb_evaluate_expression (exp, &result); -+ new_mark = value_mark (); -+ if (mark == new_mark) -+ return; -+ if (resultp) -+ *resultp = result; -+ -+ /* Make sure it's not lazy, so that after the target stops again we -+ have a non-lazy previous value to compare with. */ -+ if (result != NULL -+ && (!value_lazy (result) || gdb_value_fetch_lazy (result))) -+ *valp = result; -+ -+ if (val_chain) -+ { -+ /* Return the chain of intermediate values. We use this to -+ decide which addresses to watch. */ -+ *val_chain = new_mark; -+ value_release_to_mark (mark); -+ } -+} -+ -+/* Assuming that B is a hardware watchpoint: - - Reparse watchpoint expression, is REPARSE is non-zero - - Evaluate expression and store the result in B->val - - Update the list of values that must be watched in B->loc. -@@ -837,7 +896,6 @@ - update_watchpoint (struct breakpoint *b, int reparse) - { - int within_current_scope; -- struct value *mark = value_mark (); - struct frame_id saved_frame_id; - struct bp_location *loc; - bpstat bs; -@@ -889,9 +947,9 @@ - to the user when the old value and the new value may actually - be completely different objects. */ - value_free (b->val); -- b->val = NULL; -+ b->val = NULL; -+ b->val_valid = 0; - } -- - - /* If we failed to parse the expression, for example because - it refers to a global variable in a not-yet-loaded shared library, -@@ -900,43 +958,37 @@ - is different from out-of-scope watchpoint. */ - if (within_current_scope && b->exp) - { -- struct value *v, *next; -+ struct value *val_chain, *v, *result, *next; -+ -+ fetch_watchpoint_value (b->exp, &v, &result, &val_chain); - -- /* Evaluate the expression and make sure it's not lazy, so that -- after target stops again, we have a non-lazy previous value -- to compare with. Also, making the value non-lazy will fetch -- intermediate values as needed, which we use to decide which -- addresses to watch. -- -- The value returned by evaluate_expression is stored in b->val. -- In addition, we look at all values which were created -- during evaluation, and set watchoints at addresses as needed. -- Those values are explicitly deleted here. */ -- v = evaluate_expression (b->exp); - /* Avoid setting b->val if it's already set. The meaning of - b->val is 'the last value' user saw, and we should update - it only if we reported that last value to user. As it - happens, the code that reports it updates b->val directly. */ -- if (b->val == NULL) -- b->val = v; -- value_contents (v); -- value_release_to_mark (mark); -+ if (!b->val_valid) -+ { -+ b->val = v; -+ b->val_valid = 1; -+ } - - /* Look at each value on the value chain. */ -- for (; v; v = next) -+ for (v = val_chain; v; v = next) - { - /* If it's a memory location, and GDB actually needed - its contents to evaluate the expression, then we -- must watch it. */ -+ must watch it. If the first value returned is -+ still lazy, that means an error occurred reading it; -+ watch it anyway in case it becomes readable. */ - if (VALUE_LVAL (v) == lval_memory -- && ! value_lazy (v)) -+ && (v == val_chain || ! value_lazy (v))) - { - struct type *vtype = check_typedef (value_type (v)); - - /* We only watch structs and arrays if user asked - for it explicitly, never if they just happen to - appear in the middle of some value chain. */ -- if (v == b->val -+ if (v == result - || (TYPE_CODE (vtype) != TYPE_CODE_STRUCT - && TYPE_CODE (vtype) != TYPE_CODE_ARRAY)) - { -@@ -1681,6 +1733,7 @@ - if (b->val) - value_free (b->val); - b->val = NULL; -+ b->val_valid = 0; - } - break; - default: -@@ -2103,6 +2156,17 @@ - do_cleanups (old_chain); - } - -+/* Print out the (old or new) value associated with a watchpoint. */ -+ -+static void -+watchpoint_value_print (struct value *val, struct ui_file *stream) -+{ -+ if (val == NULL) -+ fprintf_unfiltered (stream, _("")); -+ else -+ value_print (val, stream, 0, Val_pretty_default); -+} -+ - /* This is the normal print function for a bpstat. In the future, - much of this logic could (should?) be moved to bpstat_stop_status, - by having it set different print_it values. -@@ -2221,26 +2285,21 @@ - - case bp_watchpoint: - case bp_hardware_watchpoint: -- if (bs->old_val != NULL) -- { -- annotate_watchpoint (b->number); -- if (ui_out_is_mi_like_p (uiout)) -- ui_out_field_string -- (uiout, "reason", -- async_reason_lookup (EXEC_ASYNC_WATCHPOINT_TRIGGER)); -- mention (b); -- ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "value"); -- ui_out_text (uiout, "\nOld value = "); -- value_print (bs->old_val, stb->stream, 0, Val_pretty_default); -- ui_out_field_stream (uiout, "old", stb); -- ui_out_text (uiout, "\nNew value = "); -- value_print (b->val, stb->stream, 0, Val_pretty_default); -- ui_out_field_stream (uiout, "new", stb); -- do_cleanups (ui_out_chain); -- ui_out_text (uiout, "\n"); -- value_free (bs->old_val); -- bs->old_val = NULL; -- } -+ annotate_watchpoint (b->number); -+ if (ui_out_is_mi_like_p (uiout)) -+ ui_out_field_string -+ (uiout, "reason", -+ async_reason_lookup (EXEC_ASYNC_WATCHPOINT_TRIGGER)); -+ mention (b); -+ ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "value"); -+ ui_out_text (uiout, "\nOld value = "); -+ watchpoint_value_print (bs->old_val, stb->stream); -+ ui_out_field_stream (uiout, "old", stb); -+ ui_out_text (uiout, "\nNew value = "); -+ watchpoint_value_print (b->val, stb->stream); -+ ui_out_field_stream (uiout, "new", stb); -+ do_cleanups (ui_out_chain); -+ ui_out_text (uiout, "\n"); - /* More than one watchpoint may have been triggered. */ - return PRINT_UNKNOWN; - break; -@@ -2253,7 +2312,7 @@ - mention (b); - ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "value"); - ui_out_text (uiout, "\nValue = "); -- value_print (b->val, stb->stream, 0, Val_pretty_default); -+ watchpoint_value_print (b->val, stb->stream); - ui_out_field_stream (uiout, "value", stb); - do_cleanups (ui_out_chain); - ui_out_text (uiout, "\n"); -@@ -2261,7 +2320,7 @@ - break; - - case bp_access_watchpoint: -- if (bs->old_val != NULL) -+ if (bs->old_val != NULL) - { - annotate_watchpoint (b->number); - if (ui_out_is_mi_like_p (uiout)) -@@ -2271,10 +2330,8 @@ - mention (b); - ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "value"); - ui_out_text (uiout, "\nOld value = "); -- value_print (bs->old_val, stb->stream, 0, Val_pretty_default); -+ watchpoint_value_print (bs->old_val, stb->stream); - ui_out_field_stream (uiout, "old", stb); -- value_free (bs->old_val); -- bs->old_val = NULL; - ui_out_text (uiout, "\nNew value = "); - } - else -@@ -2287,7 +2344,7 @@ - ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "value"); - ui_out_text (uiout, "\nValue = "); - } -- value_print (b->val, stb->stream, 0,Val_pretty_default); -+ watchpoint_value_print (b->val, stb->stream); - ui_out_field_stream (uiout, "new", stb); - do_cleanups (ui_out_chain); - ui_out_text (uiout, "\n"); -@@ -2574,13 +2631,20 @@ - we might be in the middle of evaluating a function call. */ - - struct value *mark = value_mark (); -- struct value *new_val = evaluate_expression (b->exp); -- if (!value_equal (b->val, new_val)) -+ struct value *new_val; -+ -+ fetch_watchpoint_value (b->exp, &new_val, NULL, NULL); -+ if ((b->val != NULL) != (new_val != NULL) -+ || (b->val != NULL && !value_equal (b->val, new_val))) - { -- release_value (new_val); -- value_free_to_mark (mark); -+ if (new_val != NULL) -+ { -+ release_value (new_val); -+ value_free_to_mark (mark); -+ } - bs->old_val = b->val; - b->val = new_val; -+ b->val_valid = 1; - /* We will stop here */ - return WP_VALUE_CHANGED; - } -@@ -5722,10 +5786,9 @@ - exp_end = arg; - exp_valid_block = innermost_block; - mark = value_mark (); -- val = evaluate_expression (exp); -- release_value (val); -- if (value_lazy (val)) -- value_fetch_lazy (val); -+ fetch_watchpoint_value (exp, &val, NULL, NULL); -+ if (val != NULL) -+ release_value (val); - - tok = arg; - while (*tok == ' ' || *tok == '\t') -@@ -5814,6 +5877,7 @@ - b->exp_valid_block = exp_valid_block; - b->exp_string = savestring (exp_start, exp_end - exp_start); - b->val = val; -+ b->val_valid = 1; - b->loc->cond = cond; - if (cond_start) - b->cond_string = savestring (cond_start, cond_end - cond_start); -@@ -7697,11 +7761,11 @@ - if (bpt->val) - value_free (bpt->val); - mark = value_mark (); -- bpt->val = evaluate_expression (bpt->exp); -- release_value (bpt->val); -- if (value_lazy (bpt->val)) -- value_fetch_lazy (bpt->val); -- -+ fetch_watchpoint_value (bpt->exp, &bpt->val, NULL, NULL); -+ if (bpt->val) -+ release_value (bpt->val); -+ bpt->val_valid = 1; -+ - if (bpt->type == bp_hardware_watchpoint || - bpt->type == bp_read_watchpoint || - bpt->type == bp_access_watchpoint) -diff -Naur gdb-6.8.orig/gdb/breakpoint.h gdb-6.8/gdb/breakpoint.h ---- gdb-6.8.orig/gdb/breakpoint.h 2008-02-01 17:24:46.000000000 +0100 -+++ gdb-6.8/gdb/breakpoint.h 2009-01-22 07:10:09.000000000 +0100 -@@ -391,8 +391,13 @@ - /* The largest block within which it is valid, or NULL if it is - valid anywhere (e.g. consists just of global symbols). */ - struct block *exp_valid_block; -- /* Value of the watchpoint the last time we checked it. */ -+ /* Value of the watchpoint the last time we checked it, or NULL -+ when we do not know the value yet or the value was not -+ readable. VAL is never lazy. */ - struct value *val; -+ /* Nonzero if VAL is valid. If VAL_VALID is set but VAL is NULL, -+ then an error occurred reading the value. */ -+ int val_valid; - - /* Holds the address of the related watchpoint_scope breakpoint - when using watchpoints on local variables (might the concept -diff -Naur gdb-6.8.orig/gdb/NEWS gdb-6.8/gdb/NEWS ---- gdb-6.8.orig/gdb/NEWS 2008-03-27 19:14:10.000000000 +0100 -+++ gdb-6.8/gdb/NEWS 2009-01-22 07:10:09.000000000 +0100 -@@ -1,6 +1,9 @@ - What has changed in GDB? - (Organized release by release) - -+* Watchpoints can now be set on unreadable memory locations, e.g. addresses -+which will be allocated using malloc later in program execution. -+ - *** Changes in GDB 6.8 - - * New native configurations -diff -Naur gdb-6.8.orig/gdb/testsuite/gdb.base/watchpoint.c gdb-6.8/gdb/testsuite/gdb.base/watchpoint.c ---- gdb-6.8.orig/gdb/testsuite/gdb.base/watchpoint.c 2003-03-17 20:51:58.000000000 +0100 -+++ gdb-6.8/gdb/testsuite/gdb.base/watchpoint.c 2009-01-22 07:10:09.000000000 +0100 -@@ -39,6 +39,8 @@ - - int doread = 0; - -+char *global_ptr; -+ - void marker1 () - { - } -@@ -110,6 +112,14 @@ - return 73; - } - -+void -+func4 () -+{ -+ buf[0] = 3; -+ global_ptr = buf; -+ buf[0] = 7; -+} -+ - int main () - { - #ifdef usestubs -@@ -185,5 +195,7 @@ - - func3 (); - -+ func4 (); -+ - return 0; - } -diff -Naur gdb-6.8.orig/gdb/testsuite/gdb.base/watchpoint.exp gdb-6.8/gdb/testsuite/gdb.base/watchpoint.exp ---- gdb-6.8.orig/gdb/testsuite/gdb.base/watchpoint.exp 2008-01-01 23:53:19.000000000 +0100 -+++ gdb-6.8/gdb/testsuite/gdb.base/watchpoint.exp 2009-01-22 07:10:09.000000000 +0100 -@@ -645,6 +645,30 @@ - } - } - -+proc test_inaccessible_watchpoint {} { -+ global gdb_prompt -+ -+ # This is a test for watchpoints on currently inaccessible (but later -+ # valid) memory. -+ -+ if [runto func4] then { -+ gdb_test "watch *global_ptr" ".*atchpoint \[0-9\]+: \\*global_ptr" -+ gdb_test "next" ".*global_ptr = buf.*" -+ gdb_test_multiple "next" "next over ptr init" { -+ -re ".*atchpoint \[0-9\]+: \\*global_ptr\r\n\r\nOld value = .*\r\nNew value = 3 .*\r\n.*$gdb_prompt $" { -+ # We can not test for here because NULL may be readable. -+ # This test does rely on *NULL != 3. -+ pass "next over ptr init" -+ } -+ } -+ gdb_test_multiple "next" "next over buffer set" { -+ -re ".*atchpoint \[0-9\]+: \\*global_ptr\r\n\r\nOld value = 3 .*\r\nNew value = 7 .*\r\n.*$gdb_prompt $" { -+ pass "next over buffer set" -+ } -+ } -+ } -+} -+ - # Start with a fresh gdb. - - gdb_exit -@@ -797,6 +821,8 @@ - } - } - -+ test_inaccessible_watchpoint -+ - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit -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 2009-01-22 07:10:09.000000000 +0100 -@@ -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/common/gentmap.c gdb-6.8/sim/common/gentmap.c ---- gdb-6.8.orig/sim/common/gentmap.c 2006-11-07 20:29:59.000000000 +0100 -+++ gdb-6.8/sim/common/gentmap.c 2009-01-22 09:36:08.000000000 +0100 -@@ -2,6 +2,7 @@ - - #include - #include -+#include - - struct tdefs { - char *symbol; -diff -Naur gdb-6.8.orig/sim/common/sim-signal.c gdb-6.8/sim/common/sim-signal.c ---- gdb-6.8.orig/sim/common/sim-signal.c 2008-01-01 23:53:23.000000000 +0100 -+++ gdb-6.8/sim/common/sim-signal.c 2009-01-22 07:12:10.000000000 +0100 -@@ -26,7 +26,7 @@ - to not think the process has died (so it can be debugged at the point of - failure). */ - --#ifdef _MSC_VER -+#ifdef _WIN32 - #ifndef SIGTRAP - #define SIGTRAP 5 - #endif -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 2009-01-22 07:10:09.000000000 +0100 -@@ -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 2009-01-22 07:10:09.000000000 +0100 -@@ -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 2009-01-22 07:10:09.000000000 +0100 -@@ -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 2009-01-22 07:10:09.000000000 +0100 -@@ -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 2009-01-22 07:10:09.000000000 +0100 -@@ -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/h8300/compile.c gdb-6.8/sim/h8300/compile.c ---- gdb-6.8.orig/sim/h8300/compile.c 2007-07-03 19:19:38.000000000 +0200 -+++ gdb-6.8/sim/h8300/compile.c 2009-01-22 08:52:01.000000000 +0100 -@@ -38,6 +38,12 @@ - # define SIGTRAP 5 - #endif - -+#ifdef _WIN32 -+#ifndef SIGBUS -+#define SIGBUS 10 -+#endif -+#endif -+ - int debug; - - host_callback *sim_callback; -@@ -599,7 +605,7 @@ - /* Find the exact opcode/arg combo. */ - for (q = h8_opcodes; q->name; q++) - { -- op_type *nib = q->data.nib; -+ const op_type *nib = q->data.nib; - unsigned int len = 0; - - if ((q->available == AV_H8SX && !h8300sxmode) || -@@ -924,7 +930,7 @@ - #endif - /* Fill in the args. */ - { -- op_type *args = q->args.nib; -+ const op_type *args = q->args.nib; - int hadone = 0; - int nargs; - -diff -Naur gdb-6.8.orig/sim/m32c/gdb-if.c gdb-6.8/sim/m32c/gdb-if.c ---- gdb-6.8.orig/sim/m32c/gdb-if.c 2008-01-01 23:53:25.000000000 +0100 -+++ gdb-6.8/sim/m32c/gdb-if.c 2009-01-22 07:48:07.000000000 +0100 -@@ -534,8 +534,12 @@ - #endif - - case 5: -+#ifdef SIGTRAP - return SIGTRAP; -- -+#else -+ return SIGSEGV; -+#endif -+ - case 10: - #ifdef SIGBUS - return SIGBUS; -diff -Naur gdb-6.8.orig/sim/m32c/Makefile.in gdb-6.8/sim/m32c/Makefile.in ---- gdb-6.8.orig/sim/m32c/Makefile.in 2008-01-01 23:53:24.000000000 +0100 -+++ gdb-6.8/sim/m32c/Makefile.in 2009-01-22 07:10:09.000000000 +0100 -@@ -55,7 +55,7 @@ - ./opc2c -l m32c.out $(srcdir)/m32c.opc > m32c.c - - opc2c : opc2c.o safe-fgets.o -- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $^ -o $@ - - sample.x : $(srcdir)/sample.S $(srcdir)/sample.ld - ../../gcc/xgcc $(CPUFLAGS) -B../../gcc/ -c $(srcdir)/sample.S -o sample.o -@@ -83,8 +83,10 @@ - mem.o : mem.h cpu.h syscalls.h - misc.o : cpu.h misc.h - opc2c.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/opc2c.c - reg.o : cpu.h - safe-fgets.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/safe-fgets.c - srcdest.c : cpu.h mem.h - syscalls.c : cpu.h mem.h syscalls.h - -diff -Naur gdb-6.8.orig/sim/ppc/configure.ac gdb-6.8/sim/ppc/configure.ac ---- gdb-6.8.orig/sim/ppc/configure.ac 2008-03-14 22:35:27.000000000 +0100 -+++ gdb-6.8/sim/ppc/configure.ac 2009-01-22 07:10:09.000000000 +0100 -@@ -209,10 +209,105 @@ - esac - ])dnl - -+AC_CACHE_CHECK([if union semun defined], -+ ac_cv_HAS_UNION_SEMUN, -+ [AC_TRY_COMPILE([ -+#include -+#include -+#include ], -+[union semun arg ;], -+[ac_cv_has_union_semun="yes"], -+[ac_cv_has_union_semun="no"]) -+AC_MSG_RESULT($ac_cv_has_union_semun) -+]) -+ -+ -+if test "$ac_cv_has_union_semun" = "yes"; then -+ AC_CACHE_CHECK(whether System V semaphores are supported, -+ ac_cv_sysv_sem, -+ [ -+ AC_TRY_RUN( -+ [ -+ #include -+ #include -+ #include -+ int main () { -+ union semun arg ; -+ -+ int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400); -+ if (id == -1) -+ exit(1); -+ arg.val = 0; /* avoid implicit type cast to union */ -+ if (semctl(id, 0, IPC_RMID, arg) == -1) -+ exit(1); -+ exit(0); -+ } -+ ], -+ ac_cv_sysv_sem="yes", ac_cv_sysv_sem="no", :) -+ ]) -+else # semun is not defined -+ AC_CACHE_CHECK(whether System V semaphores are supported, -+ ac_cv_sysv_sem, -+ [ -+ AC_TRY_RUN( -+ [ -+ #include -+ #include -+ #include -+ union semun { -+ int val; -+ struct semid_ds *buf; -+ ushort *array; -+ }; -+ int main () { -+ union semun arg ; -+ -+ int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400); -+ if (id == -1) -+ exit(1); -+ arg.val = 0; /* avoid implicit type cast to union */ -+ if (semctl(id, 0, IPC_RMID, arg) == -1) -+ exit(1); -+ exit(0); -+ } -+ ], -+ ac_cv_sysv_sem="yes", ac_cv_sysv_sem="no", :) -+ ]) -+fi -+ -+AC_CACHE_CHECK(whether System V shared memory is supported, -+ac_cv_sysv_shm, -+[ -+AC_TRY_RUN([ -+#include -+#include -+#include -+int main () { -+ int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400); -+ if (id == -1) -+ exit(1); -+ if (shmctl(id, IPC_RMID, 0) == -1) -+ exit(1); -+ exit(0); -+} -+], -+ac_cv_sysv_shm="yes", ac_cv_sysv_shm="no", :) -+]) -+ -+if test x"$ac_cv_sysv_shm" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then -+ sim_sysv_ipc_hw=",sem,shm"; -+else -+ sim_sysv_ipc_hw=""; -+fi -+ -+if test x"$ac_cv_has_union_semun" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then -+ sim_hwflags="-DHAS_UNION_SEMUN"; -+fi -+ - - AC_ARG_ENABLE(sim-hardware, - [ --enable-sim-hardware=list Specify the hardware to be included in the build.], --[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide" -+[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}" - case "${enableval}" in - yes) ;; - no) AC_MSG_ERROR("List of hardware must be specified for --enable-sim-hardware"); hardware="";; -@@ -224,14 +319,13 @@ - sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'` - if test x"$silent" != x"yes" && test x"$hardware" != x""; then - echo "Setting hardware to $sim_hw_src, $sim_hw_obj" --fi],[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide" -+fi],[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}" - sim_hw_src=`echo $hardware | sed -e 's/,/.c hw_/g' -e 's/^/hw_/' -e s'/$/.c/'` - sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'` - if test x"$silent" != x"yes"; then - echo "Setting hardware to $sim_hw_src, $sim_hw_obj" - fi])dnl - -- - AC_ARG_ENABLE(sim-hostbitsize, - [ --enable-sim-hostbitsize=32|64 Specify host bitsize (32 or 64).], - [case "${enableval}" in -diff -Naur gdb-6.8.orig/sim/ppc/debug.c gdb-6.8/sim/ppc/debug.c ---- gdb-6.8.orig/sim/ppc/debug.c 1999-04-16 03:35:08.000000000 +0200 -+++ gdb-6.8/sim/ppc/debug.c 2009-01-22 07:10:09.000000000 +0100 -@@ -70,6 +70,8 @@ - { trace_pass_device, "pass-device" }, - { trace_phb_device, "phb-device" }, - { trace_register_device, "register-device", "Device initializing registers" }, -+ { trace_sem_device, "sem-device" }, -+ { trace_shm_device, "shm-device" }, - { trace_stack_device, "stack-device" }, - { trace_vm_device, "vm-device" }, - /* packages */ -diff -Naur gdb-6.8.orig/sim/ppc/debug.h gdb-6.8/sim/ppc/debug.h ---- gdb-6.8.orig/sim/ppc/debug.h 1999-04-16 03:35:08.000000000 +0200 -+++ gdb-6.8/sim/ppc/debug.h 2009-01-22 07:10:09.000000000 +0100 -@@ -51,6 +51,8 @@ - trace_pal_device, - trace_pass_device, - trace_phb_device, -+ trace_sem_device, -+ trace_shm_device, - trace_stack_device, - trace_register_device, - trace_vm_device, -diff -Naur gdb-6.8.orig/sim/ppc/hw_sem.c gdb-6.8/sim/ppc/hw_sem.c ---- gdb-6.8.orig/sim/ppc/hw_sem.c 1970-01-01 01:00:00.000000000 +0100 -+++ gdb-6.8/sim/ppc/hw_sem.c 2009-01-22 07:10:09.000000000 +0100 -@@ -0,0 +1,301 @@ -+/* This file is part of the program psim. -+ -+ Copyright (C) 1997,2008, Joel Sherrill -+ -+ 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. -+ -+ */ -+ -+ -+#ifndef _HW_SEM_C_ -+#define _HW_SEM_C_ -+ -+#include "device_table.h" -+ -+#ifdef HAVE_STRING_H -+#include -+#else -+#ifdef HAVE_STRINGS_H -+#include -+#endif -+#endif -+ -+#include -+#include -+ -+#include -+ -+/* DEVICE -+ -+ -+ sem - provide access to a unix semaphore -+ -+ -+ DESCRIPTION -+ -+ -+ This device implements an interface to a unix semaphore. -+ -+ -+ PROPERTIES -+ -+ -+ reg =
(required) -+ -+ Determine where the memory lives in the parents address space. -+ -+ key = (required) -+ -+ This is the key of the unix semaphore. -+ -+ EXAMPLES -+ -+ -+ Enable tracing of the sem: -+ -+ | bash$ psim -t sem-device \ -+ -+ -+ Configure a UNIX semaphore using key 0x12345678 mapped into psim -+ address space at 0xfff00000: -+ -+ | -o '/sem@0xfff00000/reg 0xfff00000 0x80000' \ -+ | -o '/sem@0xfff00000/key 0x12345678' \ -+ -+ sim/ppc/run -o '/#address-cells 1' \ -+ -o '/sem@0xc0000000/reg 0xc0000000 0x80000' \ -+ -o '/sem@0xc0000000/key 0x12345678' ../psim-hello/hello -+ -+ REGISTERS -+ -+ offset 0 - lock count -+ offset 4 - lock operation -+ offset 8 - unlock operation -+ -+ All reads return the current or resulting count. -+ -+ BUGS -+ -+ None known. -+ -+ */ -+ -+typedef struct _hw_sem_device { -+ unsigned_word physical_address; -+ key_t key; -+ int id; -+ int initial; -+ int count; -+} hw_sem_device; -+ -+static void -+hw_sem_init_data(device *me) -+{ -+ hw_sem_device *sem = (hw_sem_device*)device_data(me); -+ const device_unit *d; -+ int status; -+#if !HAS_UNION_SEMUN -+ union semun { -+ int val; -+ struct semid_ds *buf; -+ unsigned short int *array; -+#if defined(__linux__) -+ struct seminfo *__buf; -+#endif -+ } ; -+#endif -+ union semun help; -+ -+ /* initialize the properties of the sem */ -+ -+ if (device_find_property(me, "key") == NULL) -+ error("sem_init_data() required key property is missing\n"); -+ -+ if (device_find_property(me, "value") == NULL) -+ error("sem_init_data() required value property is missing\n"); -+ -+ sem->key = (key_t) device_find_integer_property(me, "key"); -+ DTRACE(sem, ("semaphore key (%d)\n", sem->key) ); -+ -+ sem->initial = (int) device_find_integer_property(me, "value"); -+ DTRACE(sem, ("semaphore initial value (%d)\n", sem->initial) ); -+ -+ d = device_unit_address(me); -+ sem->physical_address = d->cells[ d->nr_cells-1 ]; -+ DTRACE(sem, ("semaphore physical_address=0x%x\n", sem->physical_address)); -+ -+ /* Now to initialize the semaphore */ -+ -+ if ( sem->initial != -1 ) { -+ -+ sem->id = semget(sem->key, 1, IPC_CREAT | 0660); -+ if (sem->id == -1) -+ error("hw_sem_init_data() semget failed\n"); -+ -+ help.val = sem->initial; -+ status = semctl( sem->id, 0, SETVAL, help ); -+ if (status == -1) -+ error("hw_sem_init_data() semctl -- set value failed\n"); -+ -+ } else { -+ sem->id = semget(sem->key, 1, 0660); -+ if (sem->id == -1) -+ error("hw_sem_init_data() semget failed\n"); -+ } -+ -+ sem->count = semctl( sem->id, 0, GETVAL, help ); -+ if (sem->count == -1) -+ error("hw_sem_init_data() semctl -- get value failed\n"); -+ DTRACE(sem, ("semaphore OS value (%d)\n", sem->count) ); -+ -+ if (sizeof(int) != 4) -+ error("hw_sem_init_data() typing problem\n"); -+} -+ -+static void -+hw_sem_attach_address_callback(device *me, -+ attach_type attach, -+ int space, -+ unsigned_word addr, -+ unsigned nr_bytes, -+ access_type access, -+ device *client) /*callback/default*/ -+{ -+ hw_sem_device *sem = (hw_sem_device*)device_data(me); -+ -+ if (space != 0) -+ error("sem_attach_address_callback() invalid address space\n"); -+ -+ if (nr_bytes == 12) -+ error("sem_attach_address_callback() invalid size\n"); -+ -+ sem->physical_address = addr; -+ DTRACE(sem, ("semaphore physical_address=0x%x\n", addr)); -+} -+ -+static unsigned -+hw_sem_io_read_buffer(device *me, -+ void *dest, -+ int space, -+ unsigned_word addr, -+ unsigned nr_bytes, -+ cpu *processor, -+ unsigned_word cia) -+{ -+ hw_sem_device *sem = (hw_sem_device*)device_data(me); -+ struct sembuf sb; -+ int status; -+ unsigned32 u32; -+#if !HAS_UNION_SEMUN -+ union semun { -+ int val; -+ struct semid_ds *buf; -+ unsigned short int *array; -+#if defined(__linux__) -+ struct seminfo *__buf; -+#endif -+ } ; -+#endif -+ union semun help; -+ -+ /* do we need to worry about out of range addresses? */ -+ -+ DTRACE(sem, ("semaphore read addr=0x%x length=%d\n", addr, nr_bytes)); -+ -+ if (!(addr >= sem->physical_address && addr <= sem->physical_address + 11)) -+ error("hw_sem_io_read_buffer() invalid address - out of range\n"); -+ -+ if ((addr % 4) != 0) -+ error("hw_sem_io_read_buffer() invalid address - alignment\n"); -+ -+ if (nr_bytes != 4) -+ error("hw_sem_io_read_buffer() invalid length\n"); -+ -+ switch ( (addr - sem->physical_address) / 4 ) { -+ -+ case 0: /* OBTAIN CURRENT VALUE */ -+ break; -+ -+ case 1: /* LOCK */ -+ sb.sem_num = 0; -+ sb.sem_op = -1; -+ sb.sem_flg = 0; -+ -+ status = semop(sem->id, &sb, 1); -+ if (status == -1) { -+ perror( "hw_sem.c: lock" ); -+ error("hw_sem_io_read_buffer() sem lock\n"); -+ } -+ -+ DTRACE(sem, ("semaphore lock %d\n", sem->count)); -+ break; -+ -+ case 2: /* UNLOCK */ -+ sb.sem_num = 0; -+ sb.sem_op = 1; -+ sb.sem_flg = 0; -+ -+ status = semop(sem->id, &sb, 1); -+ if (status == -1) { -+ perror( "hw_sem.c: unlock" ); -+ error("hw_sem_io_read_buffer() sem unlock\n"); -+ } -+ DTRACE(sem, ("semaphore unlock %d\n", sem->count)); -+ break; -+ -+ default: -+ error("hw_sem_io_read_buffer() invalid address - unknown error\n"); -+ break; -+ } -+ -+ /* assume target is big endian */ -+ u32 = H2T_4(semctl( sem->id, 0, GETVAL, help )); -+ -+ DTRACE(sem, ("semaphore OS value (%d)\n", u32) ); -+ if (u32 == 0xffffffff) { -+ perror( "hw_sem.c: getval" ); -+ error("hw_sem_io_read_buffer() semctl -- get value failed\n"); -+ } -+ -+ memcpy(dest, &u32, nr_bytes); -+ return nr_bytes; -+ -+} -+ -+static device_callbacks const hw_sem_callbacks = { -+ { generic_device_init_address, hw_sem_init_data }, -+ { hw_sem_attach_address_callback, }, /* address */ -+ { hw_sem_io_read_buffer, NULL }, /* IO */ -+ { NULL, }, /* DMA */ -+ { NULL, }, /* interrupt */ -+ { NULL, }, /* unit */ -+ NULL, -+}; -+ -+static void * -+hw_sem_create(const char *name, -+ const device_unit *unit_address, -+ const char *args) -+{ -+ hw_sem_device *sem = ZALLOC(hw_sem_device); -+ return sem; -+} -+ -+const device_descriptor hw_sem_device_descriptor[] = { -+ { "sem", hw_sem_create, &hw_sem_callbacks }, -+ { NULL }, -+}; -+ -+#endif /* _HW_SEM_C_ */ -diff -Naur gdb-6.8.orig/sim/ppc/hw_shm.c gdb-6.8/sim/ppc/hw_shm.c ---- gdb-6.8.orig/sim/ppc/hw_shm.c 1970-01-01 01:00:00.000000000 +0100 -+++ gdb-6.8/sim/ppc/hw_shm.c 2009-01-22 07:10:09.000000000 +0100 -@@ -0,0 +1,236 @@ -+/* This file is part of the program psim. -+ -+ Copyright (C) 1997,2008, Joel Sherrill -+ -+ 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. -+ -+ */ -+ -+ -+#ifndef _HW_SHM_C_ -+#define _HW_SHM_C_ -+ -+#include "device_table.h" -+ -+#ifdef HAVE_STRING_H -+#include -+#else -+#ifdef HAVE_STRINGS_H -+#include -+#endif -+#endif -+ -+#include -+#include -+ -+ -+/* DEVICE -+ -+ -+ shm - map unix shared memory into psim address space -+ -+ -+ DESCRIPTION -+ -+ -+ This device implements an area of memory which is mapped into UNIX -+ shared memory. -+ -+ -+ PROPERTIES -+ -+ -+ reg =
(required) -+ -+ Determine where the memory lives in the parents address space. -+ The SHM area is assumed to be of the same length. -+ -+ key = (required) -+ -+ This is the key of the unix shared memory area. -+ -+ EXAMPLES -+ -+ -+ Enable tracing of the shm: -+ -+ | bash$ psim -t shm-device \ -+ -+ -+ Configure a 512 kilobytes of UNIX shared memory with the key 0x12345678 -+ mapped into psim address space at 0x0c000000. -+ -+ | -o '/shm@0x0c000000/reg 0x0c000000 0x80000' \ -+ | -o '/shm@0x0c000000/key 0x12345678' \ -+ -+ sim/ppc/run -o '/#address-cells 1' \ -+ -o '/shm@0x0c000000/reg 0x0c000000 0x80000' \ -+ -o '/shm@0x0c000000/key 0x12345678' ../psim-hello/hello -+ -+ BUGS -+ -+ None known. -+ -+ */ -+ -+typedef struct _hw_shm_device { -+ unsigned_word physical_address; -+ char *shm_address; -+ unsigned sizeof_memory; -+ key_t key; -+ int id; -+} hw_shm_device; -+ -+static void -+hw_shm_init_data(device *me) -+{ -+ hw_shm_device *shm = (hw_shm_device*)device_data(me); -+ const device_unit *d; -+ reg_property_spec reg; -+ int i; -+ -+ /* Obtain the Key Value */ -+ if (device_find_property(me, "key") == NULL) -+ error("shm_init_data() required key property is missing\n"); -+ -+ shm->key = (key_t) device_find_integer_property(me, "key"); -+ DTRACE(shm, ("shm key (0x%08x)\n", shm->key) ); -+ -+ /* Figure out where this memory is in address space and how long it is */ -+ if ( !device_find_reg_array_property(me, "reg", 0, ®) ) -+ error("hw_shm_init_data() no address registered\n"); -+ -+ /* Determine the address and length being as paranoid as possible */ -+ shm->physical_address = 0xffffffff; -+ shm->sizeof_memory = 0xffffffff; -+ -+ for ( i=0 ; iphysical_address != 0xffffffff ) -+ device_error(me, "Only single celled address ranges supported\n"); -+ -+ shm->physical_address = reg.address.cells[i]; -+ DTRACE(shm, ("shm physical_address=0x%x\n", shm->physical_address)); -+ -+ shm->sizeof_memory = reg.size.cells[i]; -+ DTRACE(shm, ("shm length=0x%x\n", shm->sizeof_memory)); -+ } -+ -+ if ( shm->physical_address == 0xffffffff ) -+ device_error(me, "Address not specified\n" ); -+ -+ if ( shm->sizeof_memory == 0xffffffff ) -+ device_error(me, "Length not specified\n" ); -+ -+ /* Now actually attach to or create the shared memory area */ -+ shm->id = shmget(shm->key, shm->sizeof_memory, IPC_CREAT | 0660); -+ if (shm->id == -1) -+ error("hw_shm_init_data() shmget failed\n"); -+ -+ shm->shm_address = shmat(shm->id, (char *)0, SHM_RND); -+ if (shm->shm_address == (void *)-1) -+ error("hw_shm_init_data() shmat failed\n"); -+} -+ -+static void -+hw_shm_attach_address_callback(device *me, -+ attach_type attach, -+ int space, -+ unsigned_word addr, -+ unsigned nr_bytes, -+ access_type access, -+ device *client) /*callback/default*/ -+{ -+ hw_shm_device *shm = (hw_shm_device*)device_data(me); -+ -+ if (space != 0) -+ error("shm_attach_address_callback() invalid address space\n"); -+ -+ if (nr_bytes == 0) -+ error("shm_attach_address_callback() invalid size\n"); -+} -+ -+ -+static unsigned -+hw_shm_io_read_buffer(device *me, -+ void *dest, -+ int space, -+ unsigned_word addr, -+ unsigned nr_bytes, -+ cpu *processor, -+ unsigned_word cia) -+{ -+ hw_shm_device *shm = (hw_shm_device*)device_data(me); -+ -+ /* do we need to worry about out of range addresses? */ -+ -+ DTRACE(shm, ("read %p %x %x %x\n", \ -+ shm->shm_address, shm->physical_address, addr, nr_bytes) ); -+ -+ memcpy(dest, &shm->shm_address[addr - shm->physical_address], nr_bytes); -+ return nr_bytes; -+} -+ -+ -+static unsigned -+hw_shm_io_write_buffer(device *me, -+ const void *source, -+ int space, -+ unsigned_word addr, -+ unsigned nr_bytes, -+ cpu *processor, -+ unsigned_word cia) -+{ -+ hw_shm_device *shm = (hw_shm_device*)device_data(me); -+ -+ /* do we need to worry about out of range addresses? */ -+ -+ DTRACE(shm, ("write %p %x %x %x\n", \ -+ shm->shm_address, shm->physical_address, addr, nr_bytes) ); -+ -+ memcpy(&shm->shm_address[addr - shm->physical_address], source, nr_bytes); -+ return nr_bytes; -+} -+ -+static device_callbacks const hw_shm_callbacks = { -+ { generic_device_init_address, hw_shm_init_data }, -+ { hw_shm_attach_address_callback, }, /* address */ -+ { hw_shm_io_read_buffer, -+ hw_shm_io_write_buffer }, /* IO */ -+ { NULL, }, /* DMA */ -+ { NULL, }, /* interrupt */ -+ { NULL, }, /* unit */ -+ NULL, -+}; -+ -+static void * -+hw_shm_create(const char *name, -+ const device_unit *unit_address, -+ const char *args) -+{ -+ hw_shm_device *shm = ZALLOC(hw_shm_device); -+ return shm; -+} -+ -+ -+ -+const device_descriptor hw_shm_device_descriptor[] = { -+ { "shm", hw_shm_create, &hw_shm_callbacks }, -+ { NULL }, -+}; -+ -+#endif /* _HW_SHM_C_ */ -diff -Naur gdb-6.8.orig/sim/ppc/Makefile.in gdb-6.8/sim/ppc/Makefile.in ---- gdb-6.8.orig/sim/ppc/Makefile.in 2006-05-31 17:14:45.000000000 +0200 -+++ gdb-6.8/sim/ppc/Makefile.in 2009-01-22 07:10:09.000000000 +0100 -@@ -834,6 +834,8 @@ - hw_pal.o: hw_pal.c $(DEVICE_TABLE_H) $(CPU_H) - hw_phb.o: hw_phb.c $(DEVICE_TABLE_H) $(HW_PHB_H) $(COREFILE_H) - hw_register.o: hw_register.c $(DEVICE_TABLE_H) $(PSIM_H) -+hw_sem.o: hw_sem.c $(DEVICE_TABLE_H) $(PSIM_H) -+hw_shm.o: hw_shm.c $(DEVICE_TABLE_H) $(PSIM_H) - hw_trace.o: hw_trace.c $(DEVICE_TABLE_H) - hw_vm.o: hw_vm.c $(DEVICE_TABLE_H) $(CPU_H) - # ignore this line, it stops make from getting confused -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 2009-01-22 07:10:09.000000000 +0100 -@@ -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 2009-01-22 07:10:09.000000000 +0100 -@@ -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 diff --git a/contrib/crossrpms/patches/gdb-6.8-rtems4.10-20090312.diff b/contrib/crossrpms/patches/gdb-6.8-rtems4.10-20090312.diff deleted file mode 100644 index c19d7bbfc9..0000000000 --- a/contrib/crossrpms/patches/gdb-6.8-rtems4.10-20090312.diff +++ /dev/null @@ -1,2151 +0,0 @@ -diff -Naur gdb-6.8.orig/bfd/config.bfd gdb-6.8-rtems4.10-20090312/bfd/config.bfd ---- gdb-6.8.orig/bfd/config.bfd 2008-02-14 16:20:24.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/bfd/config.bfd 2009-03-12 04:56:03.000000000 +0100 -@@ -712,7 +712,7 @@ - targ_defvec=bfd_elf32_iq2000_vec - ;; - -- m32c-*-elf) -+ m32c-*-elf | m32c-*-rtems*) - targ_defvec=bfd_elf32_m32c_vec - ;; - -@@ -728,6 +728,9 @@ - targ_defvec=bfd_elf32_m32rle_vec - targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec" - ;; -+ m32r-*-rtems*) -+ targ_defvec=bfd_elf32_m32r_vec -+ ;; - m32r-*-*) - targ_defvec=bfd_elf32_m32r_vec - ;; -diff -Naur gdb-6.8.orig/gdb/breakpoint.c gdb-6.8-rtems4.10-20090312/gdb/breakpoint.c ---- gdb-6.8.orig/gdb/breakpoint.c 2008-02-26 09:14:11.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/gdb/breakpoint.c 2009-03-12 04:56:03.000000000 +0100 -@@ -55,6 +55,7 @@ - #include "memattr.h" - #include "ada-lang.h" - #include "top.h" -+#include "wrapper.h" - - #include "gdb-events.h" - #include "mi/mi-common.h" -@@ -826,7 +827,65 @@ - || bpt->type == bp_access_watchpoint); - } - --/* Assuming that B is a hardware breakpoint: -+/* Find the current value of a watchpoint on EXP. Return the value in -+ *VALP and *RESULTP and the chain of intermediate and final values -+ in *VAL_CHAIN. RESULTP and VAL_CHAIN may be NULL if the caller does -+ not need them. -+ -+ If an error occurs while evaluating the expression, *RESULTP will -+ be set to NULL. *RESULTP may be a lazy value, if the result could -+ not be read from memory. It is used to determine whether a value -+ is user-specified (we should watch the whole value) or intermediate -+ (we should watch only the bit used to locate the final value). -+ -+ If the final value, or any intermediate value, could not be read -+ from memory, *VALP will be set to NULL. *VAL_CHAIN will still be -+ set to any referenced values. *VALP will never be a lazy value. -+ This is the value which we store in struct breakpoint. -+ -+ If VAL_CHAIN is non-NULL, *VAL_CHAIN will be released from the -+ value chain. The caller must free the values individually. If -+ VAL_CHAIN is NULL, all generated values will be left on the value -+ chain. */ -+ -+static void -+fetch_watchpoint_value (struct expression *exp, struct value **valp, -+ struct value **resultp, struct value **val_chain) -+{ -+ struct value *mark, *new_mark, *result; -+ -+ *valp = NULL; -+ if (resultp) -+ *resultp = NULL; -+ if (val_chain) -+ *val_chain = NULL; -+ -+ /* Evaluate the expression. */ -+ mark = value_mark (); -+ result = NULL; -+ gdb_evaluate_expression (exp, &result); -+ new_mark = value_mark (); -+ if (mark == new_mark) -+ return; -+ if (resultp) -+ *resultp = result; -+ -+ /* Make sure it's not lazy, so that after the target stops again we -+ have a non-lazy previous value to compare with. */ -+ if (result != NULL -+ && (!value_lazy (result) || gdb_value_fetch_lazy (result))) -+ *valp = result; -+ -+ if (val_chain) -+ { -+ /* Return the chain of intermediate values. We use this to -+ decide which addresses to watch. */ -+ *val_chain = new_mark; -+ value_release_to_mark (mark); -+ } -+} -+ -+/* Assuming that B is a hardware watchpoint: - - Reparse watchpoint expression, is REPARSE is non-zero - - Evaluate expression and store the result in B->val - - Update the list of values that must be watched in B->loc. -@@ -837,7 +896,6 @@ - update_watchpoint (struct breakpoint *b, int reparse) - { - int within_current_scope; -- struct value *mark = value_mark (); - struct frame_id saved_frame_id; - struct bp_location *loc; - bpstat bs; -@@ -889,9 +947,9 @@ - to the user when the old value and the new value may actually - be completely different objects. */ - value_free (b->val); -- b->val = NULL; -+ b->val = NULL; -+ b->val_valid = 0; - } -- - - /* If we failed to parse the expression, for example because - it refers to a global variable in a not-yet-loaded shared library, -@@ -900,43 +958,37 @@ - is different from out-of-scope watchpoint. */ - if (within_current_scope && b->exp) - { -- struct value *v, *next; -+ struct value *val_chain, *v, *result, *next; -+ -+ fetch_watchpoint_value (b->exp, &v, &result, &val_chain); - -- /* Evaluate the expression and make sure it's not lazy, so that -- after target stops again, we have a non-lazy previous value -- to compare with. Also, making the value non-lazy will fetch -- intermediate values as needed, which we use to decide which -- addresses to watch. -- -- The value returned by evaluate_expression is stored in b->val. -- In addition, we look at all values which were created -- during evaluation, and set watchoints at addresses as needed. -- Those values are explicitly deleted here. */ -- v = evaluate_expression (b->exp); - /* Avoid setting b->val if it's already set. The meaning of - b->val is 'the last value' user saw, and we should update - it only if we reported that last value to user. As it - happens, the code that reports it updates b->val directly. */ -- if (b->val == NULL) -- b->val = v; -- value_contents (v); -- value_release_to_mark (mark); -+ if (!b->val_valid) -+ { -+ b->val = v; -+ b->val_valid = 1; -+ } - - /* Look at each value on the value chain. */ -- for (; v; v = next) -+ for (v = val_chain; v; v = next) - { - /* If it's a memory location, and GDB actually needed - its contents to evaluate the expression, then we -- must watch it. */ -+ must watch it. If the first value returned is -+ still lazy, that means an error occurred reading it; -+ watch it anyway in case it becomes readable. */ - if (VALUE_LVAL (v) == lval_memory -- && ! value_lazy (v)) -+ && (v == val_chain || ! value_lazy (v))) - { - struct type *vtype = check_typedef (value_type (v)); - - /* We only watch structs and arrays if user asked - for it explicitly, never if they just happen to - appear in the middle of some value chain. */ -- if (v == b->val -+ if (v == result - || (TYPE_CODE (vtype) != TYPE_CODE_STRUCT - && TYPE_CODE (vtype) != TYPE_CODE_ARRAY)) - { -@@ -1681,6 +1733,7 @@ - if (b->val) - value_free (b->val); - b->val = NULL; -+ b->val_valid = 0; - } - break; - default: -@@ -2103,6 +2156,17 @@ - do_cleanups (old_chain); - } - -+/* Print out the (old or new) value associated with a watchpoint. */ -+ -+static void -+watchpoint_value_print (struct value *val, struct ui_file *stream) -+{ -+ if (val == NULL) -+ fprintf_unfiltered (stream, _("")); -+ else -+ value_print (val, stream, 0, Val_pretty_default); -+} -+ - /* This is the normal print function for a bpstat. In the future, - much of this logic could (should?) be moved to bpstat_stop_status, - by having it set different print_it values. -@@ -2221,26 +2285,21 @@ - - case bp_watchpoint: - case bp_hardware_watchpoint: -- if (bs->old_val != NULL) -- { -- annotate_watchpoint (b->number); -- if (ui_out_is_mi_like_p (uiout)) -- ui_out_field_string -- (uiout, "reason", -- async_reason_lookup (EXEC_ASYNC_WATCHPOINT_TRIGGER)); -- mention (b); -- ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "value"); -- ui_out_text (uiout, "\nOld value = "); -- value_print (bs->old_val, stb->stream, 0, Val_pretty_default); -- ui_out_field_stream (uiout, "old", stb); -- ui_out_text (uiout, "\nNew value = "); -- value_print (b->val, stb->stream, 0, Val_pretty_default); -- ui_out_field_stream (uiout, "new", stb); -- do_cleanups (ui_out_chain); -- ui_out_text (uiout, "\n"); -- value_free (bs->old_val); -- bs->old_val = NULL; -- } -+ annotate_watchpoint (b->number); -+ if (ui_out_is_mi_like_p (uiout)) -+ ui_out_field_string -+ (uiout, "reason", -+ async_reason_lookup (EXEC_ASYNC_WATCHPOINT_TRIGGER)); -+ mention (b); -+ ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "value"); -+ ui_out_text (uiout, "\nOld value = "); -+ watchpoint_value_print (bs->old_val, stb->stream); -+ ui_out_field_stream (uiout, "old", stb); -+ ui_out_text (uiout, "\nNew value = "); -+ watchpoint_value_print (b->val, stb->stream); -+ ui_out_field_stream (uiout, "new", stb); -+ do_cleanups (ui_out_chain); -+ ui_out_text (uiout, "\n"); - /* More than one watchpoint may have been triggered. */ - return PRINT_UNKNOWN; - break; -@@ -2253,7 +2312,7 @@ - mention (b); - ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "value"); - ui_out_text (uiout, "\nValue = "); -- value_print (b->val, stb->stream, 0, Val_pretty_default); -+ watchpoint_value_print (b->val, stb->stream); - ui_out_field_stream (uiout, "value", stb); - do_cleanups (ui_out_chain); - ui_out_text (uiout, "\n"); -@@ -2261,7 +2320,7 @@ - break; - - case bp_access_watchpoint: -- if (bs->old_val != NULL) -+ if (bs->old_val != NULL) - { - annotate_watchpoint (b->number); - if (ui_out_is_mi_like_p (uiout)) -@@ -2271,10 +2330,8 @@ - mention (b); - ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "value"); - ui_out_text (uiout, "\nOld value = "); -- value_print (bs->old_val, stb->stream, 0, Val_pretty_default); -+ watchpoint_value_print (bs->old_val, stb->stream); - ui_out_field_stream (uiout, "old", stb); -- value_free (bs->old_val); -- bs->old_val = NULL; - ui_out_text (uiout, "\nNew value = "); - } - else -@@ -2287,7 +2344,7 @@ - ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "value"); - ui_out_text (uiout, "\nValue = "); - } -- value_print (b->val, stb->stream, 0,Val_pretty_default); -+ watchpoint_value_print (b->val, stb->stream); - ui_out_field_stream (uiout, "new", stb); - do_cleanups (ui_out_chain); - ui_out_text (uiout, "\n"); -@@ -2574,13 +2631,20 @@ - we might be in the middle of evaluating a function call. */ - - struct value *mark = value_mark (); -- struct value *new_val = evaluate_expression (b->exp); -- if (!value_equal (b->val, new_val)) -+ struct value *new_val; -+ -+ fetch_watchpoint_value (b->exp, &new_val, NULL, NULL); -+ if ((b->val != NULL) != (new_val != NULL) -+ || (b->val != NULL && !value_equal (b->val, new_val))) - { -- release_value (new_val); -- value_free_to_mark (mark); -+ if (new_val != NULL) -+ { -+ release_value (new_val); -+ value_free_to_mark (mark); -+ } - bs->old_val = b->val; - b->val = new_val; -+ b->val_valid = 1; - /* We will stop here */ - return WP_VALUE_CHANGED; - } -@@ -5722,10 +5786,9 @@ - exp_end = arg; - exp_valid_block = innermost_block; - mark = value_mark (); -- val = evaluate_expression (exp); -- release_value (val); -- if (value_lazy (val)) -- value_fetch_lazy (val); -+ fetch_watchpoint_value (exp, &val, NULL, NULL); -+ if (val != NULL) -+ release_value (val); - - tok = arg; - while (*tok == ' ' || *tok == '\t') -@@ -5814,6 +5877,7 @@ - b->exp_valid_block = exp_valid_block; - b->exp_string = savestring (exp_start, exp_end - exp_start); - b->val = val; -+ b->val_valid = 1; - b->loc->cond = cond; - if (cond_start) - b->cond_string = savestring (cond_start, cond_end - cond_start); -@@ -7697,11 +7761,11 @@ - if (bpt->val) - value_free (bpt->val); - mark = value_mark (); -- bpt->val = evaluate_expression (bpt->exp); -- release_value (bpt->val); -- if (value_lazy (bpt->val)) -- value_fetch_lazy (bpt->val); -- -+ fetch_watchpoint_value (bpt->exp, &bpt->val, NULL, NULL); -+ if (bpt->val) -+ release_value (bpt->val); -+ bpt->val_valid = 1; -+ - if (bpt->type == bp_hardware_watchpoint || - bpt->type == bp_read_watchpoint || - bpt->type == bp_access_watchpoint) -diff -Naur gdb-6.8.orig/gdb/breakpoint.h gdb-6.8-rtems4.10-20090312/gdb/breakpoint.h ---- gdb-6.8.orig/gdb/breakpoint.h 2008-02-01 17:24:46.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/gdb/breakpoint.h 2009-03-12 04:56:03.000000000 +0100 -@@ -391,8 +391,13 @@ - /* The largest block within which it is valid, or NULL if it is - valid anywhere (e.g. consists just of global symbols). */ - struct block *exp_valid_block; -- /* Value of the watchpoint the last time we checked it. */ -+ /* Value of the watchpoint the last time we checked it, or NULL -+ when we do not know the value yet or the value was not -+ readable. VAL is never lazy. */ - struct value *val; -+ /* Nonzero if VAL is valid. If VAL_VALID is set but VAL is NULL, -+ then an error occurred reading the value. */ -+ int val_valid; - - /* Holds the address of the related watchpoint_scope breakpoint - when using watchpoints on local variables (might the concept -diff -Naur gdb-6.8.orig/gdb/NEWS gdb-6.8-rtems4.10-20090312/gdb/NEWS ---- gdb-6.8.orig/gdb/NEWS 2008-03-27 19:14:10.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/gdb/NEWS 2009-03-12 04:56:03.000000000 +0100 -@@ -1,6 +1,9 @@ - What has changed in GDB? - (Organized release by release) - -+* Watchpoints can now be set on unreadable memory locations, e.g. addresses -+which will be allocated using malloc later in program execution. -+ - *** Changes in GDB 6.8 - - * New native configurations -diff -Naur gdb-6.8.orig/gdb/testsuite/gdb.base/watchpoint.c gdb-6.8-rtems4.10-20090312/gdb/testsuite/gdb.base/watchpoint.c ---- gdb-6.8.orig/gdb/testsuite/gdb.base/watchpoint.c 2003-03-17 20:51:58.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/gdb/testsuite/gdb.base/watchpoint.c 2009-03-12 04:56:03.000000000 +0100 -@@ -39,6 +39,8 @@ - - int doread = 0; - -+char *global_ptr; -+ - void marker1 () - { - } -@@ -110,6 +112,14 @@ - return 73; - } - -+void -+func4 () -+{ -+ buf[0] = 3; -+ global_ptr = buf; -+ buf[0] = 7; -+} -+ - int main () - { - #ifdef usestubs -@@ -185,5 +195,7 @@ - - func3 (); - -+ func4 (); -+ - return 0; - } -diff -Naur gdb-6.8.orig/gdb/testsuite/gdb.base/watchpoint.exp gdb-6.8-rtems4.10-20090312/gdb/testsuite/gdb.base/watchpoint.exp ---- gdb-6.8.orig/gdb/testsuite/gdb.base/watchpoint.exp 2008-01-01 23:53:19.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/gdb/testsuite/gdb.base/watchpoint.exp 2009-03-12 04:56:03.000000000 +0100 -@@ -645,6 +645,30 @@ - } - } - -+proc test_inaccessible_watchpoint {} { -+ global gdb_prompt -+ -+ # This is a test for watchpoints on currently inaccessible (but later -+ # valid) memory. -+ -+ if [runto func4] then { -+ gdb_test "watch *global_ptr" ".*atchpoint \[0-9\]+: \\*global_ptr" -+ gdb_test "next" ".*global_ptr = buf.*" -+ gdb_test_multiple "next" "next over ptr init" { -+ -re ".*atchpoint \[0-9\]+: \\*global_ptr\r\n\r\nOld value = .*\r\nNew value = 3 .*\r\n.*$gdb_prompt $" { -+ # We can not test for here because NULL may be readable. -+ # This test does rely on *NULL != 3. -+ pass "next over ptr init" -+ } -+ } -+ gdb_test_multiple "next" "next over buffer set" { -+ -re ".*atchpoint \[0-9\]+: \\*global_ptr\r\n\r\nOld value = 3 .*\r\nNew value = 7 .*\r\n.*$gdb_prompt $" { -+ pass "next over buffer set" -+ } -+ } -+ } -+} -+ - # Start with a fresh gdb. - - gdb_exit -@@ -797,6 +821,8 @@ - } - } - -+ test_inaccessible_watchpoint -+ - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit -diff -Naur gdb-6.8.orig/sim/common/aclocal.m4 gdb-6.8-rtems4.10-20090312/sim/common/aclocal.m4 ---- gdb-6.8.orig/sim/common/aclocal.m4 2006-06-13 10:06:48.000000000 +0200 -+++ gdb-6.8-rtems4.10-20090312/sim/common/aclocal.m4 2009-03-12 04:56:03.000000000 +0100 -@@ -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/common/gentmap.c gdb-6.8-rtems4.10-20090312/sim/common/gentmap.c ---- gdb-6.8.orig/sim/common/gentmap.c 2006-11-07 20:29:59.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/common/gentmap.c 2009-03-12 04:56:03.000000000 +0100 -@@ -2,6 +2,7 @@ - - #include - #include -+#include - - struct tdefs { - char *symbol; -diff -Naur gdb-6.8.orig/sim/common/sim-signal.c gdb-6.8-rtems4.10-20090312/sim/common/sim-signal.c ---- gdb-6.8.orig/sim/common/sim-signal.c 2008-01-01 23:53:23.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/common/sim-signal.c 2009-03-12 04:56:03.000000000 +0100 -@@ -26,7 +26,7 @@ - to not think the process has died (so it can be debugged at the point of - failure). */ - --#ifdef _MSC_VER -+#ifdef _WIN32 - #ifndef SIGTRAP - #define SIGTRAP 5 - #endif -diff -Naur gdb-6.8.orig/sim/erc32/configure gdb-6.8-rtems4.10-20090312/sim/erc32/configure ---- gdb-6.8.orig/sim/erc32/configure 2006-12-20 23:35:51.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/erc32/configure 2009-03-12 04:56:03.000000000 +0100 -@@ -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-rtems4.10-20090312/sim/erc32/configure.ac ---- gdb-6.8.orig/sim/erc32/configure.ac 2006-12-20 23:35:51.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/erc32/configure.ac 2009-03-12 04:56:03.000000000 +0100 -@@ -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-rtems4.10-20090312/sim/erc32/erc32.c ---- gdb-6.8.orig/sim/erc32/erc32.c 1999-04-16 03:35:00.000000000 +0200 -+++ gdb-6.8-rtems4.10-20090312/sim/erc32/erc32.c 2009-03-12 04:56:03.000000000 +0100 -@@ -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-rtems4.10-20090312/sim/erc32/exec.c ---- gdb-6.8.orig/sim/erc32/exec.c 2005-03-07 12:09:05.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/erc32/exec.c 2009-03-12 04:56:03.000000000 +0100 -@@ -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-rtems4.10-20090312/sim/erc32/Makefile.in ---- gdb-6.8.orig/sim/erc32/Makefile.in 2008-01-01 23:53:24.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/erc32/Makefile.in 2009-03-12 04:56:03.000000000 +0100 -@@ -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/h8300/compile.c gdb-6.8-rtems4.10-20090312/sim/h8300/compile.c ---- gdb-6.8.orig/sim/h8300/compile.c 2007-07-03 19:19:38.000000000 +0200 -+++ gdb-6.8-rtems4.10-20090312/sim/h8300/compile.c 2009-03-12 04:56:03.000000000 +0100 -@@ -38,6 +38,12 @@ - # define SIGTRAP 5 - #endif - -+#ifdef _WIN32 -+#ifndef SIGBUS -+#define SIGBUS 10 -+#endif -+#endif -+ - int debug; - - host_callback *sim_callback; -@@ -599,7 +605,7 @@ - /* Find the exact opcode/arg combo. */ - for (q = h8_opcodes; q->name; q++) - { -- op_type *nib = q->data.nib; -+ const op_type *nib = q->data.nib; - unsigned int len = 0; - - if ((q->available == AV_H8SX && !h8300sxmode) || -@@ -924,7 +930,7 @@ - #endif - /* Fill in the args. */ - { -- op_type *args = q->args.nib; -+ const op_type *args = q->args.nib; - int hadone = 0; - int nargs; - -diff -Naur gdb-6.8.orig/sim/m32c/gdb-if.c gdb-6.8-rtems4.10-20090312/sim/m32c/gdb-if.c ---- gdb-6.8.orig/sim/m32c/gdb-if.c 2008-01-01 23:53:25.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/m32c/gdb-if.c 2009-03-12 04:56:03.000000000 +0100 -@@ -534,8 +534,12 @@ - #endif - - case 5: -+#ifdef SIGTRAP - return SIGTRAP; -- -+#else -+ return SIGSEGV; -+#endif -+ - case 10: - #ifdef SIGBUS - return SIGBUS; -diff -Naur gdb-6.8.orig/sim/m32c/Makefile.in gdb-6.8-rtems4.10-20090312/sim/m32c/Makefile.in ---- gdb-6.8.orig/sim/m32c/Makefile.in 2008-01-01 23:53:24.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/m32c/Makefile.in 2009-03-12 04:56:03.000000000 +0100 -@@ -55,7 +55,7 @@ - ./opc2c -l m32c.out $(srcdir)/m32c.opc > m32c.c - - opc2c : opc2c.o safe-fgets.o -- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $^ -o $@ - - sample.x : $(srcdir)/sample.S $(srcdir)/sample.ld - ../../gcc/xgcc $(CPUFLAGS) -B../../gcc/ -c $(srcdir)/sample.S -o sample.o -@@ -83,8 +83,10 @@ - mem.o : mem.h cpu.h syscalls.h - misc.o : cpu.h misc.h - opc2c.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/opc2c.c - reg.o : cpu.h - safe-fgets.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/safe-fgets.c - srcdest.c : cpu.h mem.h - syscalls.c : cpu.h mem.h syscalls.h - -diff -Naur gdb-6.8.orig/sim/ppc/configure gdb-6.8-rtems4.10-20090312/sim/ppc/configure ---- gdb-6.8.orig/sim/ppc/configure 2008-03-14 22:35:27.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/ppc/configure 2009-03-12 04:56:37.000000000 +0100 -@@ -2709,10 +2709,263 @@ - - fi; - -+echo "$as_me:$LINENO: checking if union semun defined" >&5 -+echo $ECHO_N "checking if union semun defined... $ECHO_C" >&6 -+if test "${ac_cv_HAS_UNION_SEMUN+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. */ -+ -+#include -+#include -+#include -+int -+main () -+{ -+union semun arg ; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_has_union_semun="yes" -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ac_cv_has_union_semun="no" -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+echo "$as_me:$LINENO: result: $ac_cv_has_union_semun" >&5 -+echo "${ECHO_T}$ac_cv_has_union_semun" >&6 -+ -+fi -+echo "$as_me:$LINENO: result: $ac_cv_HAS_UNION_SEMUN" >&5 -+echo "${ECHO_T}$ac_cv_HAS_UNION_SEMUN" >&6 -+ -+ -+if test "$ac_cv_has_union_semun" = "yes"; then -+ echo "$as_me:$LINENO: checking whether System V semaphores are supported" >&5 -+echo $ECHO_N "checking whether System V semaphores are supported... $ECHO_C" >&6 -+if test "${ac_cv_sysv_sem+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ if test "$cross_compiling" = yes; then -+ : -+else -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+ #include -+ #include -+ #include -+ int main () { -+ union semun arg ; -+ -+ int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400); -+ if (id == -1) -+ exit(1); -+ arg.val = 0; /* avoid implicit type cast to union */ -+ if (semctl(id, 0, IPC_RMID, arg) == -1) -+ exit(1); -+ exit(0); -+ } -+ -+_ACEOF -+rm -f conftest$ac_exeext -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_sysv_sem="yes" -+else -+ echo "$as_me: program exited with status $ac_status" >&5 -+echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+( exit $ac_status ) -+ac_cv_sysv_sem="no" -+fi -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+fi -+ -+fi -+echo "$as_me:$LINENO: result: $ac_cv_sysv_sem" >&5 -+echo "${ECHO_T}$ac_cv_sysv_sem" >&6 -+else # semun is not defined -+ echo "$as_me:$LINENO: checking whether System V semaphores are supported" >&5 -+echo $ECHO_N "checking whether System V semaphores are supported... $ECHO_C" >&6 -+if test "${ac_cv_sysv_sem+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ if test "$cross_compiling" = yes; then -+ : -+else -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+ #include -+ #include -+ #include -+ union semun { -+ int val; -+ struct semid_ds *buf; -+ ushort *array; -+ }; -+ int main () { -+ union semun arg ; -+ -+ int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400); -+ if (id == -1) -+ exit(1); -+ arg.val = 0; /* avoid implicit type cast to union */ -+ if (semctl(id, 0, IPC_RMID, arg) == -1) -+ exit(1); -+ exit(0); -+ } -+ -+_ACEOF -+rm -f conftest$ac_exeext -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_sysv_sem="yes" -+else -+ echo "$as_me: program exited with status $ac_status" >&5 -+echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+( exit $ac_status ) -+ac_cv_sysv_sem="no" -+fi -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+fi -+ -+fi -+echo "$as_me:$LINENO: result: $ac_cv_sysv_sem" >&5 -+echo "${ECHO_T}$ac_cv_sysv_sem" >&6 -+fi -+ -+echo "$as_me:$LINENO: checking whether System V shared memory is supported" >&5 -+echo $ECHO_N "checking whether System V shared memory is supported... $ECHO_C" >&6 -+if test "${ac_cv_sysv_shm+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+if test "$cross_compiling" = yes; then -+ : -+else -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+#include -+#include -+#include -+int main () { -+ int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400); -+ if (id == -1) -+ exit(1); -+ if (shmctl(id, IPC_RMID, 0) == -1) -+ exit(1); -+ exit(0); -+} -+ -+_ACEOF -+rm -f conftest$ac_exeext -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_sysv_shm="yes" -+else -+ echo "$as_me: program exited with status $ac_status" >&5 -+echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+( exit $ac_status ) -+ac_cv_sysv_shm="no" -+fi -+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+fi -+ -+fi -+echo "$as_me:$LINENO: result: $ac_cv_sysv_shm" >&5 -+echo "${ECHO_T}$ac_cv_sysv_shm" >&6 -+ -+if test x"$ac_cv_sysv_shm" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then -+ sim_sysv_ipc_hw=",sem,shm"; -+else -+ sim_sysv_ipc_hw=""; -+fi -+ -+if test x"$ac_cv_has_union_semun" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then -+ sim_hwflags="-DHAS_UNION_SEMUN"; -+fi -+ -+ - # Check whether --enable-sim-hardware or --disable-sim-hardware was given. - if test "${enable_sim_hardware+set}" = set; then - enableval="$enable_sim_hardware" -- hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide" -+ hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}" - case "${enableval}" in - yes) ;; - no) { { echo "$as_me:$LINENO: error: \"List of hardware must be specified for --enable-sim-hardware\"" >&5 -@@ -2728,14 +2981,13 @@ - echo "Setting hardware to $sim_hw_src, $sim_hw_obj" - fi - else -- hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide" -+ hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}" - sim_hw_src=`echo $hardware | sed -e 's/,/.c hw_/g' -e 's/^/hw_/' -e s'/$/.c/'` - sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'` - if test x"$silent" != x"yes"; then - echo "Setting hardware to $sim_hw_src, $sim_hw_obj" - fi - fi; -- - # Check whether --enable-sim-hostbitsize or --disable-sim-hostbitsize was given. - if test "${enable_sim_hostbitsize+set}" = set; then - enableval="$enable_sim_hostbitsize" -@@ -2752,7 +3004,6 @@ - sim_hostbitsize="" - fi; - -- - # Check whether --enable-sim-hostendian or --disable-sim-hostendian was given. - if test "${enable_sim_hostendian+set}" = set; then - enableval="$enable_sim_hostendian" -diff -Naur gdb-6.8.orig/sim/ppc/configure.ac gdb-6.8-rtems4.10-20090312/sim/ppc/configure.ac ---- gdb-6.8.orig/sim/ppc/configure.ac 2008-03-14 22:35:27.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/ppc/configure.ac 2009-03-12 04:56:03.000000000 +0100 -@@ -209,10 +209,105 @@ - esac - ])dnl - -+AC_CACHE_CHECK([if union semun defined], -+ ac_cv_HAS_UNION_SEMUN, -+ [AC_TRY_COMPILE([ -+#include -+#include -+#include ], -+[union semun arg ;], -+[ac_cv_has_union_semun="yes"], -+[ac_cv_has_union_semun="no"]) -+AC_MSG_RESULT($ac_cv_has_union_semun) -+]) -+ -+ -+if test "$ac_cv_has_union_semun" = "yes"; then -+ AC_CACHE_CHECK(whether System V semaphores are supported, -+ ac_cv_sysv_sem, -+ [ -+ AC_TRY_RUN( -+ [ -+ #include -+ #include -+ #include -+ int main () { -+ union semun arg ; -+ -+ int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400); -+ if (id == -1) -+ exit(1); -+ arg.val = 0; /* avoid implicit type cast to union */ -+ if (semctl(id, 0, IPC_RMID, arg) == -1) -+ exit(1); -+ exit(0); -+ } -+ ], -+ ac_cv_sysv_sem="yes", ac_cv_sysv_sem="no", :) -+ ]) -+else # semun is not defined -+ AC_CACHE_CHECK(whether System V semaphores are supported, -+ ac_cv_sysv_sem, -+ [ -+ AC_TRY_RUN( -+ [ -+ #include -+ #include -+ #include -+ union semun { -+ int val; -+ struct semid_ds *buf; -+ ushort *array; -+ }; -+ int main () { -+ union semun arg ; -+ -+ int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400); -+ if (id == -1) -+ exit(1); -+ arg.val = 0; /* avoid implicit type cast to union */ -+ if (semctl(id, 0, IPC_RMID, arg) == -1) -+ exit(1); -+ exit(0); -+ } -+ ], -+ ac_cv_sysv_sem="yes", ac_cv_sysv_sem="no", :) -+ ]) -+fi -+ -+AC_CACHE_CHECK(whether System V shared memory is supported, -+ac_cv_sysv_shm, -+[ -+AC_TRY_RUN([ -+#include -+#include -+#include -+int main () { -+ int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400); -+ if (id == -1) -+ exit(1); -+ if (shmctl(id, IPC_RMID, 0) == -1) -+ exit(1); -+ exit(0); -+} -+], -+ac_cv_sysv_shm="yes", ac_cv_sysv_shm="no", :) -+]) -+ -+if test x"$ac_cv_sysv_shm" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then -+ sim_sysv_ipc_hw=",sem,shm"; -+else -+ sim_sysv_ipc_hw=""; -+fi -+ -+if test x"$ac_cv_has_union_semun" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then -+ sim_hwflags="-DHAS_UNION_SEMUN"; -+fi -+ - - AC_ARG_ENABLE(sim-hardware, - [ --enable-sim-hardware=list Specify the hardware to be included in the build.], --[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide" -+[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}" - case "${enableval}" in - yes) ;; - no) AC_MSG_ERROR("List of hardware must be specified for --enable-sim-hardware"); hardware="";; -@@ -224,14 +319,13 @@ - sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'` - if test x"$silent" != x"yes" && test x"$hardware" != x""; then - echo "Setting hardware to $sim_hw_src, $sim_hw_obj" --fi],[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide" -+fi],[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}" - sim_hw_src=`echo $hardware | sed -e 's/,/.c hw_/g' -e 's/^/hw_/' -e s'/$/.c/'` - sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'` - if test x"$silent" != x"yes"; then - echo "Setting hardware to $sim_hw_src, $sim_hw_obj" - fi])dnl - -- - AC_ARG_ENABLE(sim-hostbitsize, - [ --enable-sim-hostbitsize=32|64 Specify host bitsize (32 or 64).], - [case "${enableval}" in -diff -Naur gdb-6.8.orig/sim/ppc/debug.c gdb-6.8-rtems4.10-20090312/sim/ppc/debug.c ---- gdb-6.8.orig/sim/ppc/debug.c 1999-04-16 03:35:08.000000000 +0200 -+++ gdb-6.8-rtems4.10-20090312/sim/ppc/debug.c 2009-03-12 04:56:03.000000000 +0100 -@@ -70,6 +70,8 @@ - { trace_pass_device, "pass-device" }, - { trace_phb_device, "phb-device" }, - { trace_register_device, "register-device", "Device initializing registers" }, -+ { trace_sem_device, "sem-device" }, -+ { trace_shm_device, "shm-device" }, - { trace_stack_device, "stack-device" }, - { trace_vm_device, "vm-device" }, - /* packages */ -diff -Naur gdb-6.8.orig/sim/ppc/debug.h gdb-6.8-rtems4.10-20090312/sim/ppc/debug.h ---- gdb-6.8.orig/sim/ppc/debug.h 1999-04-16 03:35:08.000000000 +0200 -+++ gdb-6.8-rtems4.10-20090312/sim/ppc/debug.h 2009-03-12 04:56:03.000000000 +0100 -@@ -51,6 +51,8 @@ - trace_pal_device, - trace_pass_device, - trace_phb_device, -+ trace_sem_device, -+ trace_shm_device, - trace_stack_device, - trace_register_device, - trace_vm_device, -diff -Naur gdb-6.8.orig/sim/ppc/hw_sem.c gdb-6.8-rtems4.10-20090312/sim/ppc/hw_sem.c ---- gdb-6.8.orig/sim/ppc/hw_sem.c 1970-01-01 01:00:00.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/ppc/hw_sem.c 2009-03-12 04:56:03.000000000 +0100 -@@ -0,0 +1,301 @@ -+/* This file is part of the program psim. -+ -+ Copyright (C) 1997,2008, Joel Sherrill -+ -+ 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. -+ -+ */ -+ -+ -+#ifndef _HW_SEM_C_ -+#define _HW_SEM_C_ -+ -+#include "device_table.h" -+ -+#ifdef HAVE_STRING_H -+#include -+#else -+#ifdef HAVE_STRINGS_H -+#include -+#endif -+#endif -+ -+#include -+#include -+ -+#include -+ -+/* DEVICE -+ -+ -+ sem - provide access to a unix semaphore -+ -+ -+ DESCRIPTION -+ -+ -+ This device implements an interface to a unix semaphore. -+ -+ -+ PROPERTIES -+ -+ -+ reg =
(required) -+ -+ Determine where the memory lives in the parents address space. -+ -+ key = (required) -+ -+ This is the key of the unix semaphore. -+ -+ EXAMPLES -+ -+ -+ Enable tracing of the sem: -+ -+ | bash$ psim -t sem-device \ -+ -+ -+ Configure a UNIX semaphore using key 0x12345678 mapped into psim -+ address space at 0xfff00000: -+ -+ | -o '/sem@0xfff00000/reg 0xfff00000 0x80000' \ -+ | -o '/sem@0xfff00000/key 0x12345678' \ -+ -+ sim/ppc/run -o '/#address-cells 1' \ -+ -o '/sem@0xc0000000/reg 0xc0000000 0x80000' \ -+ -o '/sem@0xc0000000/key 0x12345678' ../psim-hello/hello -+ -+ REGISTERS -+ -+ offset 0 - lock count -+ offset 4 - lock operation -+ offset 8 - unlock operation -+ -+ All reads return the current or resulting count. -+ -+ BUGS -+ -+ None known. -+ -+ */ -+ -+typedef struct _hw_sem_device { -+ unsigned_word physical_address; -+ key_t key; -+ int id; -+ int initial; -+ int count; -+} hw_sem_device; -+ -+static void -+hw_sem_init_data(device *me) -+{ -+ hw_sem_device *sem = (hw_sem_device*)device_data(me); -+ const device_unit *d; -+ int status; -+#if !HAS_UNION_SEMUN -+ union semun { -+ int val; -+ struct semid_ds *buf; -+ unsigned short int *array; -+#if defined(__linux__) -+ struct seminfo *__buf; -+#endif -+ } ; -+#endif -+ union semun help; -+ -+ /* initialize the properties of the sem */ -+ -+ if (device_find_property(me, "key") == NULL) -+ error("sem_init_data() required key property is missing\n"); -+ -+ if (device_find_property(me, "value") == NULL) -+ error("sem_init_data() required value property is missing\n"); -+ -+ sem->key = (key_t) device_find_integer_property(me, "key"); -+ DTRACE(sem, ("semaphore key (%d)\n", sem->key) ); -+ -+ sem->initial = (int) device_find_integer_property(me, "value"); -+ DTRACE(sem, ("semaphore initial value (%d)\n", sem->initial) ); -+ -+ d = device_unit_address(me); -+ sem->physical_address = d->cells[ d->nr_cells-1 ]; -+ DTRACE(sem, ("semaphore physical_address=0x%x\n", sem->physical_address)); -+ -+ /* Now to initialize the semaphore */ -+ -+ if ( sem->initial != -1 ) { -+ -+ sem->id = semget(sem->key, 1, IPC_CREAT | 0660); -+ if (sem->id == -1) -+ error("hw_sem_init_data() semget failed\n"); -+ -+ help.val = sem->initial; -+ status = semctl( sem->id, 0, SETVAL, help ); -+ if (status == -1) -+ error("hw_sem_init_data() semctl -- set value failed\n"); -+ -+ } else { -+ sem->id = semget(sem->key, 1, 0660); -+ if (sem->id == -1) -+ error("hw_sem_init_data() semget failed\n"); -+ } -+ -+ sem->count = semctl( sem->id, 0, GETVAL, help ); -+ if (sem->count == -1) -+ error("hw_sem_init_data() semctl -- get value failed\n"); -+ DTRACE(sem, ("semaphore OS value (%d)\n", sem->count) ); -+ -+ if (sizeof(int) != 4) -+ error("hw_sem_init_data() typing problem\n"); -+} -+ -+static void -+hw_sem_attach_address_callback(device *me, -+ attach_type attach, -+ int space, -+ unsigned_word addr, -+ unsigned nr_bytes, -+ access_type access, -+ device *client) /*callback/default*/ -+{ -+ hw_sem_device *sem = (hw_sem_device*)device_data(me); -+ -+ if (space != 0) -+ error("sem_attach_address_callback() invalid address space\n"); -+ -+ if (nr_bytes == 12) -+ error("sem_attach_address_callback() invalid size\n"); -+ -+ sem->physical_address = addr; -+ DTRACE(sem, ("semaphore physical_address=0x%x\n", addr)); -+} -+ -+static unsigned -+hw_sem_io_read_buffer(device *me, -+ void *dest, -+ int space, -+ unsigned_word addr, -+ unsigned nr_bytes, -+ cpu *processor, -+ unsigned_word cia) -+{ -+ hw_sem_device *sem = (hw_sem_device*)device_data(me); -+ struct sembuf sb; -+ int status; -+ unsigned32 u32; -+#if !HAS_UNION_SEMUN -+ union semun { -+ int val; -+ struct semid_ds *buf; -+ unsigned short int *array; -+#if defined(__linux__) -+ struct seminfo *__buf; -+#endif -+ } ; -+#endif -+ union semun help; -+ -+ /* do we need to worry about out of range addresses? */ -+ -+ DTRACE(sem, ("semaphore read addr=0x%x length=%d\n", addr, nr_bytes)); -+ -+ if (!(addr >= sem->physical_address && addr <= sem->physical_address + 11)) -+ error("hw_sem_io_read_buffer() invalid address - out of range\n"); -+ -+ if ((addr % 4) != 0) -+ error("hw_sem_io_read_buffer() invalid address - alignment\n"); -+ -+ if (nr_bytes != 4) -+ error("hw_sem_io_read_buffer() invalid length\n"); -+ -+ switch ( (addr - sem->physical_address) / 4 ) { -+ -+ case 0: /* OBTAIN CURRENT VALUE */ -+ break; -+ -+ case 1: /* LOCK */ -+ sb.sem_num = 0; -+ sb.sem_op = -1; -+ sb.sem_flg = 0; -+ -+ status = semop(sem->id, &sb, 1); -+ if (status == -1) { -+ perror( "hw_sem.c: lock" ); -+ error("hw_sem_io_read_buffer() sem lock\n"); -+ } -+ -+ DTRACE(sem, ("semaphore lock %d\n", sem->count)); -+ break; -+ -+ case 2: /* UNLOCK */ -+ sb.sem_num = 0; -+ sb.sem_op = 1; -+ sb.sem_flg = 0; -+ -+ status = semop(sem->id, &sb, 1); -+ if (status == -1) { -+ perror( "hw_sem.c: unlock" ); -+ error("hw_sem_io_read_buffer() sem unlock\n"); -+ } -+ DTRACE(sem, ("semaphore unlock %d\n", sem->count)); -+ break; -+ -+ default: -+ error("hw_sem_io_read_buffer() invalid address - unknown error\n"); -+ break; -+ } -+ -+ /* assume target is big endian */ -+ u32 = H2T_4(semctl( sem->id, 0, GETVAL, help )); -+ -+ DTRACE(sem, ("semaphore OS value (%d)\n", u32) ); -+ if (u32 == 0xffffffff) { -+ perror( "hw_sem.c: getval" ); -+ error("hw_sem_io_read_buffer() semctl -- get value failed\n"); -+ } -+ -+ memcpy(dest, &u32, nr_bytes); -+ return nr_bytes; -+ -+} -+ -+static device_callbacks const hw_sem_callbacks = { -+ { generic_device_init_address, hw_sem_init_data }, -+ { hw_sem_attach_address_callback, }, /* address */ -+ { hw_sem_io_read_buffer, NULL }, /* IO */ -+ { NULL, }, /* DMA */ -+ { NULL, }, /* interrupt */ -+ { NULL, }, /* unit */ -+ NULL, -+}; -+ -+static void * -+hw_sem_create(const char *name, -+ const device_unit *unit_address, -+ const char *args) -+{ -+ hw_sem_device *sem = ZALLOC(hw_sem_device); -+ return sem; -+} -+ -+const device_descriptor hw_sem_device_descriptor[] = { -+ { "sem", hw_sem_create, &hw_sem_callbacks }, -+ { NULL }, -+}; -+ -+#endif /* _HW_SEM_C_ */ -diff -Naur gdb-6.8.orig/sim/ppc/hw_shm.c gdb-6.8-rtems4.10-20090312/sim/ppc/hw_shm.c ---- gdb-6.8.orig/sim/ppc/hw_shm.c 1970-01-01 01:00:00.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/ppc/hw_shm.c 2009-03-12 04:56:03.000000000 +0100 -@@ -0,0 +1,236 @@ -+/* This file is part of the program psim. -+ -+ Copyright (C) 1997,2008, Joel Sherrill -+ -+ 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. -+ -+ */ -+ -+ -+#ifndef _HW_SHM_C_ -+#define _HW_SHM_C_ -+ -+#include "device_table.h" -+ -+#ifdef HAVE_STRING_H -+#include -+#else -+#ifdef HAVE_STRINGS_H -+#include -+#endif -+#endif -+ -+#include -+#include -+ -+ -+/* DEVICE -+ -+ -+ shm - map unix shared memory into psim address space -+ -+ -+ DESCRIPTION -+ -+ -+ This device implements an area of memory which is mapped into UNIX -+ shared memory. -+ -+ -+ PROPERTIES -+ -+ -+ reg =
(required) -+ -+ Determine where the memory lives in the parents address space. -+ The SHM area is assumed to be of the same length. -+ -+ key = (required) -+ -+ This is the key of the unix shared memory area. -+ -+ EXAMPLES -+ -+ -+ Enable tracing of the shm: -+ -+ | bash$ psim -t shm-device \ -+ -+ -+ Configure a 512 kilobytes of UNIX shared memory with the key 0x12345678 -+ mapped into psim address space at 0x0c000000. -+ -+ | -o '/shm@0x0c000000/reg 0x0c000000 0x80000' \ -+ | -o '/shm@0x0c000000/key 0x12345678' \ -+ -+ sim/ppc/run -o '/#address-cells 1' \ -+ -o '/shm@0x0c000000/reg 0x0c000000 0x80000' \ -+ -o '/shm@0x0c000000/key 0x12345678' ../psim-hello/hello -+ -+ BUGS -+ -+ None known. -+ -+ */ -+ -+typedef struct _hw_shm_device { -+ unsigned_word physical_address; -+ char *shm_address; -+ unsigned sizeof_memory; -+ key_t key; -+ int id; -+} hw_shm_device; -+ -+static void -+hw_shm_init_data(device *me) -+{ -+ hw_shm_device *shm = (hw_shm_device*)device_data(me); -+ const device_unit *d; -+ reg_property_spec reg; -+ int i; -+ -+ /* Obtain the Key Value */ -+ if (device_find_property(me, "key") == NULL) -+ error("shm_init_data() required key property is missing\n"); -+ -+ shm->key = (key_t) device_find_integer_property(me, "key"); -+ DTRACE(shm, ("shm key (0x%08x)\n", shm->key) ); -+ -+ /* Figure out where this memory is in address space and how long it is */ -+ if ( !device_find_reg_array_property(me, "reg", 0, ®) ) -+ error("hw_shm_init_data() no address registered\n"); -+ -+ /* Determine the address and length being as paranoid as possible */ -+ shm->physical_address = 0xffffffff; -+ shm->sizeof_memory = 0xffffffff; -+ -+ for ( i=0 ; iphysical_address != 0xffffffff ) -+ device_error(me, "Only single celled address ranges supported\n"); -+ -+ shm->physical_address = reg.address.cells[i]; -+ DTRACE(shm, ("shm physical_address=0x%x\n", shm->physical_address)); -+ -+ shm->sizeof_memory = reg.size.cells[i]; -+ DTRACE(shm, ("shm length=0x%x\n", shm->sizeof_memory)); -+ } -+ -+ if ( shm->physical_address == 0xffffffff ) -+ device_error(me, "Address not specified\n" ); -+ -+ if ( shm->sizeof_memory == 0xffffffff ) -+ device_error(me, "Length not specified\n" ); -+ -+ /* Now actually attach to or create the shared memory area */ -+ shm->id = shmget(shm->key, shm->sizeof_memory, IPC_CREAT | 0660); -+ if (shm->id == -1) -+ error("hw_shm_init_data() shmget failed\n"); -+ -+ shm->shm_address = shmat(shm->id, (char *)0, SHM_RND); -+ if (shm->shm_address == (void *)-1) -+ error("hw_shm_init_data() shmat failed\n"); -+} -+ -+static void -+hw_shm_attach_address_callback(device *me, -+ attach_type attach, -+ int space, -+ unsigned_word addr, -+ unsigned nr_bytes, -+ access_type access, -+ device *client) /*callback/default*/ -+{ -+ hw_shm_device *shm = (hw_shm_device*)device_data(me); -+ -+ if (space != 0) -+ error("shm_attach_address_callback() invalid address space\n"); -+ -+ if (nr_bytes == 0) -+ error("shm_attach_address_callback() invalid size\n"); -+} -+ -+ -+static unsigned -+hw_shm_io_read_buffer(device *me, -+ void *dest, -+ int space, -+ unsigned_word addr, -+ unsigned nr_bytes, -+ cpu *processor, -+ unsigned_word cia) -+{ -+ hw_shm_device *shm = (hw_shm_device*)device_data(me); -+ -+ /* do we need to worry about out of range addresses? */ -+ -+ DTRACE(shm, ("read %p %x %x %x\n", \ -+ shm->shm_address, shm->physical_address, addr, nr_bytes) ); -+ -+ memcpy(dest, &shm->shm_address[addr - shm->physical_address], nr_bytes); -+ return nr_bytes; -+} -+ -+ -+static unsigned -+hw_shm_io_write_buffer(device *me, -+ const void *source, -+ int space, -+ unsigned_word addr, -+ unsigned nr_bytes, -+ cpu *processor, -+ unsigned_word cia) -+{ -+ hw_shm_device *shm = (hw_shm_device*)device_data(me); -+ -+ /* do we need to worry about out of range addresses? */ -+ -+ DTRACE(shm, ("write %p %x %x %x\n", \ -+ shm->shm_address, shm->physical_address, addr, nr_bytes) ); -+ -+ memcpy(&shm->shm_address[addr - shm->physical_address], source, nr_bytes); -+ return nr_bytes; -+} -+ -+static device_callbacks const hw_shm_callbacks = { -+ { generic_device_init_address, hw_shm_init_data }, -+ { hw_shm_attach_address_callback, }, /* address */ -+ { hw_shm_io_read_buffer, -+ hw_shm_io_write_buffer }, /* IO */ -+ { NULL, }, /* DMA */ -+ { NULL, }, /* interrupt */ -+ { NULL, }, /* unit */ -+ NULL, -+}; -+ -+static void * -+hw_shm_create(const char *name, -+ const device_unit *unit_address, -+ const char *args) -+{ -+ hw_shm_device *shm = ZALLOC(hw_shm_device); -+ return shm; -+} -+ -+ -+ -+const device_descriptor hw_shm_device_descriptor[] = { -+ { "shm", hw_shm_create, &hw_shm_callbacks }, -+ { NULL }, -+}; -+ -+#endif /* _HW_SHM_C_ */ -diff -Naur gdb-6.8.orig/sim/ppc/Makefile.in gdb-6.8-rtems4.10-20090312/sim/ppc/Makefile.in ---- gdb-6.8.orig/sim/ppc/Makefile.in 2006-05-31 17:14:45.000000000 +0200 -+++ gdb-6.8-rtems4.10-20090312/sim/ppc/Makefile.in 2009-03-12 04:56:03.000000000 +0100 -@@ -834,6 +834,8 @@ - hw_pal.o: hw_pal.c $(DEVICE_TABLE_H) $(CPU_H) - hw_phb.o: hw_phb.c $(DEVICE_TABLE_H) $(HW_PHB_H) $(COREFILE_H) - hw_register.o: hw_register.c $(DEVICE_TABLE_H) $(PSIM_H) -+hw_sem.o: hw_sem.c $(DEVICE_TABLE_H) $(PSIM_H) -+hw_shm.o: hw_shm.c $(DEVICE_TABLE_H) $(PSIM_H) - hw_trace.o: hw_trace.c $(DEVICE_TABLE_H) - hw_vm.o: hw_vm.c $(DEVICE_TABLE_H) $(CPU_H) - # ignore this line, it stops make from getting confused -diff -Naur gdb-6.8.orig/sim/ppc/ppc-instructions gdb-6.8-rtems4.10-20090312/sim/ppc/ppc-instructions ---- gdb-6.8.orig/sim/ppc/ppc-instructions 2006-11-29 16:20:55.000000000 +0100 -+++ gdb-6.8-rtems4.10-20090312/sim/ppc/ppc-instructions 2009-03-12 04:56:03.000000000 +0100 -@@ -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-rtems4.10-20090312/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-rtems4.10-20090312/sim/ppc/ppc-spr-table 2009-03-12 04:56:03.000000000 +0100 -@@ -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 diff --git a/contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090917.diff b/contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090917.diff deleted file mode 100644 index f47d06562b..0000000000 --- a/contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090917.diff +++ /dev/null @@ -1,544 +0,0 @@ -diff -Naur gdb-6.8.91.orig/bfd/sysdep.h gdb-6.8.91/bfd/sysdep.h ---- gdb-6.8.91.orig/bfd/sysdep.h 2009-09-02 09:18:37.000000000 +0200 -+++ gdb-6.8.91/bfd/sysdep.h 2009-09-17 03:43:48.000000000 +0200 -@@ -136,7 +136,7 @@ - #endif - - #if !HAVE_DECL_STRSTR --extern char *strstr (); -+/* extern char *strstr (); */ - #endif - - #ifdef HAVE_FTELLO -diff -Naur gdb-6.8.91.orig/gdb/lm32-tdep.c gdb-6.8.91/gdb/lm32-tdep.c ---- gdb-6.8.91.orig/gdb/lm32-tdep.c 2009-07-02 19:25:55.000000000 +0200 -+++ gdb-6.8.91/gdb/lm32-tdep.c 2009-09-17 03:43:48.000000000 +0200 -@@ -35,7 +35,7 @@ - #include "regcache.h" - #include "trad-frame.h" - #include "reggroups.h" --#include "opcodes/lm32-desc.h" -+#include "../opcodes/lm32-desc.h" - - #include "gdb_string.h" - -diff -Naur gdb-6.8.91.orig/gdb/sparc-tdep.c gdb-6.8.91/gdb/sparc-tdep.c ---- gdb-6.8.91.orig/gdb/sparc-tdep.c 2009-09-07 19:52:41.000000000 +0200 -+++ gdb-6.8.91/gdb/sparc-tdep.c 2009-09-17 04:29:30.000000000 +0200 -@@ -1100,7 +1100,7 @@ - sparc32_store_return_value (struct type *type, struct regcache *regcache, - const gdb_byte *valbuf) - { -- int len = TYPE_LENGTH (type); -+ size_t len = TYPE_LENGTH (type); - gdb_byte buf[8]; - - gdb_assert (!sparc_structure_or_union_p (type)); -diff -Naur gdb-6.8.91.orig/sim/erc32/configure gdb-6.8.91/sim/erc32/configure ---- gdb-6.8.91.orig/sim/erc32/configure 2009-08-22 18:56:52.000000000 +0200 -+++ gdb-6.8.91/sim/erc32/configure 2009-09-17 03:43:48.000000000 +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 -@@ -715,6 +716,7 @@ - enable_sim_profile - with_pkgversion - with_bugurl -+with_system_readline - ' - ac_precious_vars='build_alias - host_alias -@@ -1356,6 +1358,7 @@ - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --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 -@@ -2411,7 +2414,6 @@ - - - -- - # Bugs in autoconf 2.59 break the call to SIM_AC_COMMON, hack around - # it by inlining the macro's contents. - # This file contains common code used by all simulators. -@@ -2911,18 +2913,18 @@ - int - main () - { -- -+return 0; - ; - return 0; - } - _ACEOF - ac_clean_files_save=$ac_clean_files --ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" -+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" - # Try to create an executable without -o first, disregard a.out. - # It will help us diagnose broken compilers, and finding out an intuition - # of exeext. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 --$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -+$as_echo_n "checking whether the C compiler works... " >&6; } - ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - - # The possible output files: -@@ -2984,10 +2986,10 @@ - else - ac_file='' - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 --$as_echo "$ac_file" >&6; } - if test -z "$ac_file"; then : -- $as_echo "$as_me: failed program was:" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+$as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -@@ -2995,51 +2997,18 @@ - { as_fn_set_status 77 - as_fn_error "C compiler cannot create executables - See \`config.log' for more details." "$LINENO" 5; }; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } - fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -+$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -+$as_echo "$ac_file" >&6; } - ac_exeext=$ac_cv_exeext - --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 --$as_echo_n "checking whether the C compiler works... " >&6; } --# If not cross compiling, check that we can run a simple program. --if test "$cross_compiling" != yes; then -- if { ac_try='./$ac_file' -- { { case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_try") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; }; then -- cross_compiling=no -- else -- if test "$cross_compiling" = maybe; then -- cross_compiling=yes -- else -- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --as_fn_error "cannot run C compiled programs. --If you meant to cross compile, use \`--host'. --See \`config.log' for more details." "$LINENO" 5; } -- fi -- fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 --$as_echo "yes" >&6; } -- --rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out -+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out - ac_clean_files=$ac_clean_files_save --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 --$as_echo_n "checking whether we are cross compiling... " >&6; } --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 --$as_echo "$cross_compiling" >&6; } -- - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 - $as_echo_n "checking for suffix of executables... " >&6; } - if { { ac_try="$ac_link" -@@ -3079,6 +3048,63 @@ - rm -f conftest.$ac_ext - EXEEXT=$ac_cv_exeext - ac_exeext=$EXEEXT -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+ac_clean_files="$ac_clean_files conftest.out" -+# Check that the compiler produces executables we can run. If not, either -+# the compiler is broken, or we cross compile. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -+$as_echo_n "checking whether we are cross compiling... " >&6; } -+if test "$cross_compiling" != yes; then -+ { { ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } -+ if { ac_try='./conftest$ac_cv_exeext' -+ { { case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_try") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ cross_compiling=no -+ else -+ if test "$cross_compiling" = maybe; then -+ cross_compiling=yes -+ else -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error "cannot run C compiled programs. -+If you meant to cross compile, use \`--host'. -+See \`config.log' for more details." "$LINENO" 5; } -+ fi -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -+$as_echo "$cross_compiling" >&6; } -+ -+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -+ac_clean_files=$ac_clean_files_save - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 - $as_echo_n "checking for suffix of object files... " >&6; } - if test "${ac_cv_objext+set}" = set; then : -@@ -4510,86 +4536,41 @@ - 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 -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ltermcap" >&5 --$as_echo_n "checking for main in -ltermcap... " >&6; } --if test "${ac_cv_lib_termcap_main+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-ltermcap $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. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char add_history (); - int - main () - { --return main (); -+return add_history (); - ; - return 0; - } - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : -- ac_cv_lib_termcap_main=yes --else -- ac_cv_lib_termcap_main=no --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_termcap_main" >&5 --$as_echo "$ac_cv_lib_termcap_main" >&6; } --if test "x$ac_cv_lib_termcap_main" = x""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 -- { $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 -+ 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. -@@ -4598,33 +4579,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_DIR)/libreadline.a' -+ READLINE_DEPS='$(READLINE)' -+ READLINE_CFLAGS='-I$(READLINE_SRC)/..' - fi - --fi -+ -+ - - - ac_sources="$sim_link_files" -diff -Naur gdb-6.8.91.orig/sim/erc32/configure.ac gdb-6.8.91/sim/erc32/configure.ac ---- gdb-6.8.91.orig/sim/erc32/configure.ac 2006-12-20 23:35:51.000000000 +0100 -+++ gdb-6.8.91/sim/erc32/configure.ac 2009-09-17 03:43:48.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.91.orig/sim/erc32/erc32.c gdb-6.8.91/sim/erc32/erc32.c ---- gdb-6.8.91.orig/sim/erc32/erc32.c 2008-11-11 23:20:54.000000000 +0100 -+++ gdb-6.8.91/sim/erc32/erc32.c 2009-09-17 03:43:48.000000000 +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-6.8.91.orig/sim/erc32/Makefile.in gdb-6.8.91/sim/erc32/Makefile.in ---- gdb-6.8.91.orig/sim/erc32/Makefile.in 2009-01-14 11:53:07.000000000 +0100 -+++ gdb-6.8.91/sim/erc32/Makefile.in 2009-09-17 03:43:48.000000000 +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-6.8.91.orig/sim/h8300/compile.c gdb-6.8.91/sim/h8300/compile.c ---- gdb-6.8.91.orig/sim/h8300/compile.c 2008-12-01 17:10:45.000000000 +0100 -+++ gdb-6.8.91/sim/h8300/compile.c 2009-09-17 03:43:48.000000000 +0200 -@@ -38,6 +38,12 @@ - # define SIGTRAP 5 - #endif - -+#ifdef _WIN32 -+#ifndef SIGBUS -+#define SIGBUS 10 -+#endif -+#endif -+ - int debug; - - host_callback *sim_callback; -diff -Naur gdb-6.8.91.orig/sim/m32c/Makefile.in gdb-6.8.91/sim/m32c/Makefile.in ---- gdb-6.8.91.orig/sim/m32c/Makefile.in 2009-01-14 11:53:07.000000000 +0100 -+++ gdb-6.8.91/sim/m32c/Makefile.in 2009-09-17 03:43:48.000000000 +0200 -@@ -55,7 +55,7 @@ - ./opc2c -l m32c.out $(srcdir)/m32c.opc > m32c.c - - opc2c : opc2c.o safe-fgets.o -- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $^ -o $@ - - sample.x : $(srcdir)/sample.S $(srcdir)/sample.ld - ../../gcc/xgcc $(CPUFLAGS) -B../../gcc/ -c $(srcdir)/sample.S -o sample.o -@@ -83,8 +83,10 @@ - mem.o : mem.h cpu.h syscalls.h - misc.o : cpu.h misc.h - opc2c.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/opc2c.c - reg.o : cpu.h - safe-fgets.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/safe-fgets.c - srcdest.c : cpu.h mem.h - syscalls.c : cpu.h mem.h syscalls.h - diff --git a/contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090918.diff b/contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090918.diff deleted file mode 100644 index b82bfb7957..0000000000 --- a/contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090918.diff +++ /dev/null @@ -1,555 +0,0 @@ -diff -Naur gdb-6.8.91.orig/bfd/sysdep.h gdb-6.8.91-rtems4.10-20090918/bfd/sysdep.h ---- gdb-6.8.91.orig/bfd/sysdep.h 2009-09-02 09:18:37.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090918/bfd/sysdep.h 2009-09-18 08:45:22.000000000 +0200 -@@ -136,7 +136,7 @@ - #endif - - #if !HAVE_DECL_STRSTR --extern char *strstr (); -+/* extern char *strstr (); */ - #endif - - #ifdef HAVE_FTELLO -diff -Naur gdb-6.8.91.orig/gdb/lm32-tdep.c gdb-6.8.91-rtems4.10-20090918/gdb/lm32-tdep.c ---- gdb-6.8.91.orig/gdb/lm32-tdep.c 2009-07-02 19:25:55.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090918/gdb/lm32-tdep.c 2009-09-18 08:45:22.000000000 +0200 -@@ -35,7 +35,7 @@ - #include "regcache.h" - #include "trad-frame.h" - #include "reggroups.h" --#include "opcodes/lm32-desc.h" -+#include "../opcodes/lm32-desc.h" - - #include "gdb_string.h" - -diff -Naur gdb-6.8.91.orig/gdb/sparc-tdep.c gdb-6.8.91-rtems4.10-20090918/gdb/sparc-tdep.c ---- gdb-6.8.91.orig/gdb/sparc-tdep.c 2009-09-07 19:52:41.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090918/gdb/sparc-tdep.c 2009-09-18 08:45:22.000000000 +0200 -@@ -1100,7 +1100,7 @@ - sparc32_store_return_value (struct type *type, struct regcache *regcache, - const gdb_byte *valbuf) - { -- int len = TYPE_LENGTH (type); -+ size_t len = TYPE_LENGTH (type); - gdb_byte buf[8]; - - gdb_assert (!sparc_structure_or_union_p (type)); -diff -Naur gdb-6.8.91.orig/sim/common/Make-common.in gdb-6.8.91-rtems4.10-20090918/sim/common/Make-common.in ---- gdb-6.8.91.orig/sim/common/Make-common.in 2009-07-12 18:59:34.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090918/sim/common/Make-common.in 2009-09-18 11:36:22.000000000 +0200 -@@ -52,6 +52,7 @@ - tooldir = $(libdir)/$(target_alias) - - datadir = @datadir@ -+datarootdir = @datarootdir@ - mandir = @mandir@ - man1dir = $(mandir)/man1 - infodir = @infodir@ -diff -Naur gdb-6.8.91.orig/sim/erc32/configure gdb-6.8.91-rtems4.10-20090918/sim/erc32/configure ---- gdb-6.8.91.orig/sim/erc32/configure 2009-08-22 18:56:52.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090918/sim/erc32/configure 2009-09-18 08:49:23.000000000 +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 -@@ -715,6 +716,7 @@ - enable_sim_profile - with_pkgversion - with_bugurl -+with_system_readline - ' - ac_precious_vars='build_alias - host_alias -@@ -1356,6 +1358,7 @@ - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --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 -@@ -2411,7 +2414,6 @@ - - - -- - # Bugs in autoconf 2.59 break the call to SIM_AC_COMMON, hack around - # it by inlining the macro's contents. - # This file contains common code used by all simulators. -@@ -2911,18 +2913,18 @@ - int - main () - { -- -+return 0; - ; - return 0; - } - _ACEOF - ac_clean_files_save=$ac_clean_files --ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" -+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" - # Try to create an executable without -o first, disregard a.out. - # It will help us diagnose broken compilers, and finding out an intuition - # of exeext. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 --$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -+$as_echo_n "checking whether the C compiler works... " >&6; } - ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - - # The possible output files: -@@ -2984,10 +2986,10 @@ - else - ac_file='' - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 --$as_echo "$ac_file" >&6; } - if test -z "$ac_file"; then : -- $as_echo "$as_me: failed program was:" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+$as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -@@ -2995,51 +2997,18 @@ - { as_fn_set_status 77 - as_fn_error "C compiler cannot create executables - See \`config.log' for more details." "$LINENO" 5; }; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } - fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -+$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -+$as_echo "$ac_file" >&6; } - ac_exeext=$ac_cv_exeext - --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 --$as_echo_n "checking whether the C compiler works... " >&6; } --# If not cross compiling, check that we can run a simple program. --if test "$cross_compiling" != yes; then -- if { ac_try='./$ac_file' -- { { case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_try") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; }; then -- cross_compiling=no -- else -- if test "$cross_compiling" = maybe; then -- cross_compiling=yes -- else -- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --as_fn_error "cannot run C compiled programs. --If you meant to cross compile, use \`--host'. --See \`config.log' for more details." "$LINENO" 5; } -- fi -- fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 --$as_echo "yes" >&6; } -- --rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out -+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out - ac_clean_files=$ac_clean_files_save --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 --$as_echo_n "checking whether we are cross compiling... " >&6; } --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 --$as_echo "$cross_compiling" >&6; } -- - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 - $as_echo_n "checking for suffix of executables... " >&6; } - if { { ac_try="$ac_link" -@@ -3079,6 +3048,63 @@ - rm -f conftest.$ac_ext - EXEEXT=$ac_cv_exeext - ac_exeext=$EXEEXT -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+ac_clean_files="$ac_clean_files conftest.out" -+# Check that the compiler produces executables we can run. If not, either -+# the compiler is broken, or we cross compile. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -+$as_echo_n "checking whether we are cross compiling... " >&6; } -+if test "$cross_compiling" != yes; then -+ { { ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } -+ if { ac_try='./conftest$ac_cv_exeext' -+ { { case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_try") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ cross_compiling=no -+ else -+ if test "$cross_compiling" = maybe; then -+ cross_compiling=yes -+ else -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error "cannot run C compiled programs. -+If you meant to cross compile, use \`--host'. -+See \`config.log' for more details." "$LINENO" 5; } -+ fi -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -+$as_echo "$cross_compiling" >&6; } -+ -+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -+ac_clean_files=$ac_clean_files_save - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 - $as_echo_n "checking for suffix of object files... " >&6; } - if test "${ac_cv_objext+set}" = set; then : -@@ -4510,86 +4536,41 @@ - 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 -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ltermcap" >&5 --$as_echo_n "checking for main in -ltermcap... " >&6; } --if test "${ac_cv_lib_termcap_main+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-ltermcap $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. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char add_history (); - int - main () - { --return main (); -+return add_history (); - ; - return 0; - } - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : -- ac_cv_lib_termcap_main=yes --else -- ac_cv_lib_termcap_main=no --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_termcap_main" >&5 --$as_echo "$ac_cv_lib_termcap_main" >&6; } --if test "x$ac_cv_lib_termcap_main" = x""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 -- { $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 -+ 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. -@@ -4598,33 +4579,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-6.8.91.orig/sim/erc32/configure.ac gdb-6.8.91-rtems4.10-20090918/sim/erc32/configure.ac ---- gdb-6.8.91.orig/sim/erc32/configure.ac 2006-12-20 23:35:51.000000000 +0100 -+++ gdb-6.8.91-rtems4.10-20090918/sim/erc32/configure.ac 2009-09-18 08:46:17.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/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-6.8.91.orig/sim/erc32/erc32.c gdb-6.8.91-rtems4.10-20090918/sim/erc32/erc32.c ---- gdb-6.8.91.orig/sim/erc32/erc32.c 2008-11-11 23:20:54.000000000 +0100 -+++ gdb-6.8.91-rtems4.10-20090918/sim/erc32/erc32.c 2009-09-18 08:45:22.000000000 +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-6.8.91.orig/sim/erc32/Makefile.in gdb-6.8.91-rtems4.10-20090918/sim/erc32/Makefile.in ---- gdb-6.8.91.orig/sim/erc32/Makefile.in 2009-01-14 11:53:07.000000000 +0100 -+++ gdb-6.8.91-rtems4.10-20090918/sim/erc32/Makefile.in 2009-09-18 08:45:22.000000000 +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-6.8.91.orig/sim/h8300/compile.c gdb-6.8.91-rtems4.10-20090918/sim/h8300/compile.c ---- gdb-6.8.91.orig/sim/h8300/compile.c 2008-12-01 17:10:45.000000000 +0100 -+++ gdb-6.8.91-rtems4.10-20090918/sim/h8300/compile.c 2009-09-18 08:45:22.000000000 +0200 -@@ -38,6 +38,12 @@ - # define SIGTRAP 5 - #endif - -+#ifdef _WIN32 -+#ifndef SIGBUS -+#define SIGBUS 10 -+#endif -+#endif -+ - int debug; - - host_callback *sim_callback; -diff -Naur gdb-6.8.91.orig/sim/m32c/Makefile.in gdb-6.8.91-rtems4.10-20090918/sim/m32c/Makefile.in ---- gdb-6.8.91.orig/sim/m32c/Makefile.in 2009-01-14 11:53:07.000000000 +0100 -+++ gdb-6.8.91-rtems4.10-20090918/sim/m32c/Makefile.in 2009-09-18 08:45:22.000000000 +0200 -@@ -55,7 +55,7 @@ - ./opc2c -l m32c.out $(srcdir)/m32c.opc > m32c.c - - opc2c : opc2c.o safe-fgets.o -- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $^ -o $@ - - sample.x : $(srcdir)/sample.S $(srcdir)/sample.ld - ../../gcc/xgcc $(CPUFLAGS) -B../../gcc/ -c $(srcdir)/sample.S -o sample.o -@@ -83,8 +83,10 @@ - mem.o : mem.h cpu.h syscalls.h - misc.o : cpu.h misc.h - opc2c.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/opc2c.c - reg.o : cpu.h - safe-fgets.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/safe-fgets.c - srcdest.c : cpu.h mem.h - syscalls.c : cpu.h mem.h syscalls.h - diff --git a/contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090926.diff b/contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090926.diff deleted file mode 100644 index 73fa853d9a..0000000000 --- a/contrib/crossrpms/patches/gdb-6.8.91-rtems4.10-20090926.diff +++ /dev/null @@ -1,666 +0,0 @@ -diff -Naur gdb-6.8.91.orig/bfd/sysdep.h gdb-6.8.91-rtems4.10-20090926/bfd/sysdep.h ---- gdb-6.8.91.orig/bfd/sysdep.h 2009-09-02 09:18:37.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090926/bfd/sysdep.h 2009-09-26 07:47:29.000000000 +0200 -@@ -136,7 +136,7 @@ - #endif - - #if !HAVE_DECL_STRSTR --extern char *strstr (); -+/* extern char *strstr (); */ - #endif - - #ifdef HAVE_FTELLO -diff -Naur gdb-6.8.91.orig/gdb/config.in gdb-6.8.91-rtems4.10-20090926/gdb/config.in ---- gdb-6.8.91.orig/gdb/config.in 2009-08-22 18:56:42.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090926/gdb/config.in 2009-09-26 07:47:29.000000000 +0200 -@@ -792,6 +792,9 @@ - /* Define to `int' if does not define. */ - #undef pid_t - -+/* readline-6.0 started to use different name. */ -+#undef readline_echoing_p -+ - /* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -diff -Naur gdb-6.8.91.orig/gdb/configure gdb-6.8.91-rtems4.10-20090926/gdb/configure ---- gdb-6.8.91.orig/gdb/configure 2009-09-10 05:59:37.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090926/gdb/configure 2009-09-26 07:47:29.000000000 +0200 -@@ -8431,6 +8431,69 @@ - READLINE=-lreadline - READLINE_DEPS= - READLINE_CFLAGS= -+ -+ # readline-6.0 started to use the name `_rl_echoing_p'. -+ # `$(READLINE_DIR)/' of bundled readline would not resolve in configure. -+ -+ echo "$as_me:$LINENO: checking for readline_echoing_p" >&5 -+echo $ECHO_N "checking for readline_echoing_p... $ECHO_C" >&6 -+ save_LIBS=$LIBS -+ LIBS="$LIBS $READLINE" -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+extern int readline_echoing_p; -+ return readline_echoing_p; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ READLINE_ECHOING_P=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+READLINE_ECHOING_P=no -+ -+cat >>confdefs.h <<\_ACEOF -+#define readline_echoing_p _rl_echoing_p -+_ACEOF -+ -+fi -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+ LIBS="$save_LIBS" -+ echo "$as_me:$LINENO: result: $READLINE_ECHOING_P" >&5 -+echo "${ECHO_T}$READLINE_ECHOING_P" >&6 - else - READLINE='$(READLINE_DIR)/libreadline.a' - READLINE_DEPS='$(READLINE)' -diff -Naur gdb-6.8.91.orig/gdb/configure.ac gdb-6.8.91-rtems4.10-20090926/gdb/configure.ac ---- gdb-6.8.91.orig/gdb/configure.ac 2009-09-10 05:59:36.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090926/gdb/configure.ac 2009-09-26 07:47:29.000000000 +0200 -@@ -534,6 +534,21 @@ - READLINE=-lreadline - READLINE_DEPS= - READLINE_CFLAGS= -+ -+ # readline-6.0 started to use the name `_rl_echoing_p'. -+ # `$(READLINE_DIR)/' of bundled readline would not resolve in configure. -+ -+ AC_MSG_CHECKING([for readline_echoing_p]) -+ save_LIBS=$LIBS -+ LIBS="$LIBS $READLINE" -+ AC_LINK_IFELSE(AC_LANG_PROGRAM(,[[extern int readline_echoing_p; -+ return readline_echoing_p;]]), -+ [READLINE_ECHOING_P=yes], -+ [READLINE_ECHOING_P=no -+ AC_DEFINE([readline_echoing_p], [_rl_echoing_p], -+ [readline-6.0 started to use different name.])]) -+ LIBS="$save_LIBS" -+ AC_MSG_RESULT([$READLINE_ECHOING_P]) - else - READLINE='$(READLINE_DIR)/libreadline.a' - READLINE_DEPS='$(READLINE)' -diff -Naur gdb-6.8.91.orig/gdb/lm32-tdep.c gdb-6.8.91-rtems4.10-20090926/gdb/lm32-tdep.c ---- gdb-6.8.91.orig/gdb/lm32-tdep.c 2009-07-02 19:25:55.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090926/gdb/lm32-tdep.c 2009-09-26 07:47:29.000000000 +0200 -@@ -35,7 +35,7 @@ - #include "regcache.h" - #include "trad-frame.h" - #include "reggroups.h" --#include "opcodes/lm32-desc.h" -+#include "../opcodes/lm32-desc.h" - - #include "gdb_string.h" - -diff -Naur gdb-6.8.91.orig/gdb/sparc-tdep.c gdb-6.8.91-rtems4.10-20090926/gdb/sparc-tdep.c ---- gdb-6.8.91.orig/gdb/sparc-tdep.c 2009-09-07 19:52:41.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090926/gdb/sparc-tdep.c 2009-09-26 07:47:29.000000000 +0200 -@@ -1100,7 +1100,7 @@ - sparc32_store_return_value (struct type *type, struct regcache *regcache, - const gdb_byte *valbuf) - { -- int len = TYPE_LENGTH (type); -+ size_t len = TYPE_LENGTH (type); - gdb_byte buf[8]; - - gdb_assert (!sparc_structure_or_union_p (type)); -diff -Naur gdb-6.8.91.orig/sim/common/Make-common.in gdb-6.8.91-rtems4.10-20090926/sim/common/Make-common.in ---- gdb-6.8.91.orig/sim/common/Make-common.in 2009-07-12 18:59:34.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090926/sim/common/Make-common.in 2009-09-26 07:47:29.000000000 +0200 -@@ -52,6 +52,7 @@ - tooldir = $(libdir)/$(target_alias) - - datadir = @datadir@ -+datarootdir = @datarootdir@ - mandir = @mandir@ - man1dir = $(mandir)/man1 - infodir = @infodir@ -diff -Naur gdb-6.8.91.orig/sim/erc32/configure gdb-6.8.91-rtems4.10-20090926/sim/erc32/configure ---- gdb-6.8.91.orig/sim/erc32/configure 2009-08-22 18:56:52.000000000 +0200 -+++ gdb-6.8.91-rtems4.10-20090926/sim/erc32/configure 2009-09-26 07:47:29.000000000 +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 -@@ -715,6 +716,7 @@ - enable_sim_profile - with_pkgversion - with_bugurl -+with_system_readline - ' - ac_precious_vars='build_alias - host_alias -@@ -1356,6 +1358,7 @@ - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --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 -@@ -2411,7 +2414,6 @@ - - - -- - # Bugs in autoconf 2.59 break the call to SIM_AC_COMMON, hack around - # it by inlining the macro's contents. - # This file contains common code used by all simulators. -@@ -2911,18 +2913,18 @@ - int - main () - { -- -+return 0; - ; - return 0; - } - _ACEOF - ac_clean_files_save=$ac_clean_files --ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" -+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" - # Try to create an executable without -o first, disregard a.out. - # It will help us diagnose broken compilers, and finding out an intuition - # of exeext. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 --$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -+$as_echo_n "checking whether the C compiler works... " >&6; } - ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - - # The possible output files: -@@ -2984,10 +2986,10 @@ - else - ac_file='' - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 --$as_echo "$ac_file" >&6; } - if test -z "$ac_file"; then : -- $as_echo "$as_me: failed program was:" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+$as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -@@ -2995,51 +2997,18 @@ - { as_fn_set_status 77 - as_fn_error "C compiler cannot create executables - See \`config.log' for more details." "$LINENO" 5; }; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } - fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -+$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -+$as_echo "$ac_file" >&6; } - ac_exeext=$ac_cv_exeext - --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 --$as_echo_n "checking whether the C compiler works... " >&6; } --# If not cross compiling, check that we can run a simple program. --if test "$cross_compiling" != yes; then -- if { ac_try='./$ac_file' -- { { case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_try") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; }; then -- cross_compiling=no -- else -- if test "$cross_compiling" = maybe; then -- cross_compiling=yes -- else -- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --as_fn_error "cannot run C compiled programs. --If you meant to cross compile, use \`--host'. --See \`config.log' for more details." "$LINENO" 5; } -- fi -- fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 --$as_echo "yes" >&6; } -- --rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out -+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out - ac_clean_files=$ac_clean_files_save --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 --$as_echo_n "checking whether we are cross compiling... " >&6; } --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 --$as_echo "$cross_compiling" >&6; } -- - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 - $as_echo_n "checking for suffix of executables... " >&6; } - if { { ac_try="$ac_link" -@@ -3079,6 +3048,63 @@ - rm -f conftest.$ac_ext - EXEEXT=$ac_cv_exeext - ac_exeext=$EXEEXT -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+ac_clean_files="$ac_clean_files conftest.out" -+# Check that the compiler produces executables we can run. If not, either -+# the compiler is broken, or we cross compile. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -+$as_echo_n "checking whether we are cross compiling... " >&6; } -+if test "$cross_compiling" != yes; then -+ { { ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } -+ if { ac_try='./conftest$ac_cv_exeext' -+ { { case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_try") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ cross_compiling=no -+ else -+ if test "$cross_compiling" = maybe; then -+ cross_compiling=yes -+ else -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error "cannot run C compiled programs. -+If you meant to cross compile, use \`--host'. -+See \`config.log' for more details." "$LINENO" 5; } -+ fi -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -+$as_echo "$cross_compiling" >&6; } -+ -+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -+ac_clean_files=$ac_clean_files_save - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 - $as_echo_n "checking for suffix of object files... " >&6; } - if test "${ac_cv_objext+set}" = set; then : -@@ -4510,86 +4536,41 @@ - 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 -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ltermcap" >&5 --$as_echo_n "checking for main in -ltermcap... " >&6; } --if test "${ac_cv_lib_termcap_main+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-ltermcap $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. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char add_history (); - int - main () - { --return main (); -+return add_history (); - ; - return 0; - } - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : -- ac_cv_lib_termcap_main=yes --else -- ac_cv_lib_termcap_main=no --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_termcap_main" >&5 --$as_echo "$ac_cv_lib_termcap_main" >&6; } --if test "x$ac_cv_lib_termcap_main" = x""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 -- { $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 -+ 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. -@@ -4598,33 +4579,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-6.8.91.orig/sim/erc32/configure.ac gdb-6.8.91-rtems4.10-20090926/sim/erc32/configure.ac ---- gdb-6.8.91.orig/sim/erc32/configure.ac 2006-12-20 23:35:51.000000000 +0100 -+++ gdb-6.8.91-rtems4.10-20090926/sim/erc32/configure.ac 2009-09-26 07:47:29.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/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-6.8.91.orig/sim/erc32/erc32.c gdb-6.8.91-rtems4.10-20090926/sim/erc32/erc32.c ---- gdb-6.8.91.orig/sim/erc32/erc32.c 2008-11-11 23:20:54.000000000 +0100 -+++ gdb-6.8.91-rtems4.10-20090926/sim/erc32/erc32.c 2009-09-26 07:47:29.000000000 +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-6.8.91.orig/sim/erc32/Makefile.in gdb-6.8.91-rtems4.10-20090926/sim/erc32/Makefile.in ---- gdb-6.8.91.orig/sim/erc32/Makefile.in 2009-01-14 11:53:07.000000000 +0100 -+++ gdb-6.8.91-rtems4.10-20090926/sim/erc32/Makefile.in 2009-09-26 07:47:29.000000000 +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-6.8.91.orig/sim/h8300/compile.c gdb-6.8.91-rtems4.10-20090926/sim/h8300/compile.c ---- gdb-6.8.91.orig/sim/h8300/compile.c 2008-12-01 17:10:45.000000000 +0100 -+++ gdb-6.8.91-rtems4.10-20090926/sim/h8300/compile.c 2009-09-26 07:47:29.000000000 +0200 -@@ -38,6 +38,12 @@ - # define SIGTRAP 5 - #endif - -+#ifdef _WIN32 -+#ifndef SIGBUS -+#define SIGBUS 10 -+#endif -+#endif -+ - int debug; - - host_callback *sim_callback; -diff -Naur gdb-6.8.91.orig/sim/m32c/Makefile.in gdb-6.8.91-rtems4.10-20090926/sim/m32c/Makefile.in ---- gdb-6.8.91.orig/sim/m32c/Makefile.in 2009-01-14 11:53:07.000000000 +0100 -+++ gdb-6.8.91-rtems4.10-20090926/sim/m32c/Makefile.in 2009-09-26 07:47:29.000000000 +0200 -@@ -55,7 +55,7 @@ - ./opc2c -l m32c.out $(srcdir)/m32c.opc > m32c.c - - opc2c : opc2c.o safe-fgets.o -- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $^ -o $@ - - sample.x : $(srcdir)/sample.S $(srcdir)/sample.ld - ../../gcc/xgcc $(CPUFLAGS) -B../../gcc/ -c $(srcdir)/sample.S -o sample.o -@@ -83,8 +83,10 @@ - mem.o : mem.h cpu.h syscalls.h - misc.o : cpu.h misc.h - opc2c.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/opc2c.c - reg.o : cpu.h - safe-fgets.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/safe-fgets.c - srcdest.c : cpu.h mem.h - syscalls.c : cpu.h mem.h syscalls.h - diff --git a/contrib/crossrpms/patches/gdb-6.8.92-rtems4.10-20091001.diff b/contrib/crossrpms/patches/gdb-6.8.92-rtems4.10-20091001.diff deleted file mode 100644 index 77a114187e..0000000000 --- a/contrib/crossrpms/patches/gdb-6.8.92-rtems4.10-20091001.diff +++ /dev/null @@ -1,666 +0,0 @@ -diff -Naur gdb-6.8.92.orig/bfd/sysdep.h gdb-6.8.92/bfd/sysdep.h ---- gdb-6.8.92.orig/bfd/sysdep.h 2009-09-02 09:18:37.000000000 +0200 -+++ gdb-6.8.92/bfd/sysdep.h 2009-10-01 05:12:58.000000000 +0200 -@@ -136,7 +136,7 @@ - #endif - - #if !HAVE_DECL_STRSTR --extern char *strstr (); -+/* extern char *strstr (); */ - #endif - - #ifdef HAVE_FTELLO -diff -Naur gdb-6.8.92.orig/gdb/config.in gdb-6.8.92/gdb/config.in ---- gdb-6.8.92.orig/gdb/config.in 2009-08-22 18:56:42.000000000 +0200 -+++ gdb-6.8.92/gdb/config.in 2009-10-01 05:12:58.000000000 +0200 -@@ -792,6 +792,9 @@ - /* Define to `int' if does not define. */ - #undef pid_t - -+/* readline-6.0 started to use different name. */ -+#undef readline_echoing_p -+ - /* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -diff -Naur gdb-6.8.92.orig/gdb/configure gdb-6.8.92/gdb/configure ---- gdb-6.8.92.orig/gdb/configure 2009-09-10 05:59:37.000000000 +0200 -+++ gdb-6.8.92/gdb/configure 2009-10-01 05:12:58.000000000 +0200 -@@ -8431,6 +8431,69 @@ - READLINE=-lreadline - READLINE_DEPS= - READLINE_CFLAGS= -+ -+ # readline-6.0 started to use the name `_rl_echoing_p'. -+ # `$(READLINE_DIR)/' of bundled readline would not resolve in configure. -+ -+ echo "$as_me:$LINENO: checking for readline_echoing_p" >&5 -+echo $ECHO_N "checking for readline_echoing_p... $ECHO_C" >&6 -+ save_LIBS=$LIBS -+ LIBS="$LIBS $READLINE" -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+extern int readline_echoing_p; -+ return readline_echoing_p; -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ READLINE_ECHOING_P=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+READLINE_ECHOING_P=no -+ -+cat >>confdefs.h <<\_ACEOF -+#define readline_echoing_p _rl_echoing_p -+_ACEOF -+ -+fi -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+ LIBS="$save_LIBS" -+ echo "$as_me:$LINENO: result: $READLINE_ECHOING_P" >&5 -+echo "${ECHO_T}$READLINE_ECHOING_P" >&6 - else - READLINE='$(READLINE_DIR)/libreadline.a' - READLINE_DEPS='$(READLINE)' -diff -Naur gdb-6.8.92.orig/gdb/configure.ac gdb-6.8.92/gdb/configure.ac ---- gdb-6.8.92.orig/gdb/configure.ac 2009-09-10 05:59:36.000000000 +0200 -+++ gdb-6.8.92/gdb/configure.ac 2009-10-01 05:12:58.000000000 +0200 -@@ -534,6 +534,21 @@ - READLINE=-lreadline - READLINE_DEPS= - READLINE_CFLAGS= -+ -+ # readline-6.0 started to use the name `_rl_echoing_p'. -+ # `$(READLINE_DIR)/' of bundled readline would not resolve in configure. -+ -+ AC_MSG_CHECKING([for readline_echoing_p]) -+ save_LIBS=$LIBS -+ LIBS="$LIBS $READLINE" -+ AC_LINK_IFELSE(AC_LANG_PROGRAM(,[[extern int readline_echoing_p; -+ return readline_echoing_p;]]), -+ [READLINE_ECHOING_P=yes], -+ [READLINE_ECHOING_P=no -+ AC_DEFINE([readline_echoing_p], [_rl_echoing_p], -+ [readline-6.0 started to use different name.])]) -+ LIBS="$save_LIBS" -+ AC_MSG_RESULT([$READLINE_ECHOING_P]) - else - READLINE='$(READLINE_DIR)/libreadline.a' - READLINE_DEPS='$(READLINE)' -diff -Naur gdb-6.8.92.orig/gdb/lm32-tdep.c gdb-6.8.92/gdb/lm32-tdep.c ---- gdb-6.8.92.orig/gdb/lm32-tdep.c 2009-07-02 19:25:55.000000000 +0200 -+++ gdb-6.8.92/gdb/lm32-tdep.c 2009-10-01 05:12:58.000000000 +0200 -@@ -35,7 +35,7 @@ - #include "regcache.h" - #include "trad-frame.h" - #include "reggroups.h" --#include "opcodes/lm32-desc.h" -+#include "../opcodes/lm32-desc.h" - - #include "gdb_string.h" - -diff -Naur gdb-6.8.92.orig/gdb/sparc-tdep.c gdb-6.8.92/gdb/sparc-tdep.c ---- gdb-6.8.92.orig/gdb/sparc-tdep.c 2009-09-07 19:52:41.000000000 +0200 -+++ gdb-6.8.92/gdb/sparc-tdep.c 2009-10-01 05:12:58.000000000 +0200 -@@ -1100,7 +1100,7 @@ - sparc32_store_return_value (struct type *type, struct regcache *regcache, - const gdb_byte *valbuf) - { -- int len = TYPE_LENGTH (type); -+ size_t len = TYPE_LENGTH (type); - gdb_byte buf[8]; - - gdb_assert (!sparc_structure_or_union_p (type)); -diff -Naur gdb-6.8.92.orig/sim/common/Make-common.in gdb-6.8.92/sim/common/Make-common.in ---- gdb-6.8.92.orig/sim/common/Make-common.in 2009-07-12 18:59:34.000000000 +0200 -+++ gdb-6.8.92/sim/common/Make-common.in 2009-10-01 05:12:58.000000000 +0200 -@@ -52,6 +52,7 @@ - tooldir = $(libdir)/$(target_alias) - - datadir = @datadir@ -+datarootdir = @datarootdir@ - mandir = @mandir@ - man1dir = $(mandir)/man1 - infodir = @infodir@ -diff -Naur gdb-6.8.92.orig/sim/erc32/configure gdb-6.8.92/sim/erc32/configure ---- gdb-6.8.92.orig/sim/erc32/configure 2009-08-22 18:56:52.000000000 +0200 -+++ gdb-6.8.92/sim/erc32/configure 2009-10-01 05:12:58.000000000 +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 -@@ -715,6 +716,7 @@ - enable_sim_profile - with_pkgversion - with_bugurl -+with_system_readline - ' - ac_precious_vars='build_alias - host_alias -@@ -1356,6 +1358,7 @@ - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --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 -@@ -2411,7 +2414,6 @@ - - - -- - # Bugs in autoconf 2.59 break the call to SIM_AC_COMMON, hack around - # it by inlining the macro's contents. - # This file contains common code used by all simulators. -@@ -2911,18 +2913,18 @@ - int - main () - { -- -+return 0; - ; - return 0; - } - _ACEOF - ac_clean_files_save=$ac_clean_files --ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" -+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" - # Try to create an executable without -o first, disregard a.out. - # It will help us diagnose broken compilers, and finding out an intuition - # of exeext. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 --$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -+$as_echo_n "checking whether the C compiler works... " >&6; } - ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - - # The possible output files: -@@ -2984,10 +2986,10 @@ - else - ac_file='' - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 --$as_echo "$ac_file" >&6; } - if test -z "$ac_file"; then : -- $as_echo "$as_me: failed program was:" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+$as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -@@ -2995,51 +2997,18 @@ - { as_fn_set_status 77 - as_fn_error "C compiler cannot create executables - See \`config.log' for more details." "$LINENO" 5; }; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } - fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -+$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -+$as_echo "$ac_file" >&6; } - ac_exeext=$ac_cv_exeext - --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 --$as_echo_n "checking whether the C compiler works... " >&6; } --# If not cross compiling, check that we can run a simple program. --if test "$cross_compiling" != yes; then -- if { ac_try='./$ac_file' -- { { case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_try") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; }; then -- cross_compiling=no -- else -- if test "$cross_compiling" = maybe; then -- cross_compiling=yes -- else -- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --as_fn_error "cannot run C compiled programs. --If you meant to cross compile, use \`--host'. --See \`config.log' for more details." "$LINENO" 5; } -- fi -- fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 --$as_echo "yes" >&6; } -- --rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out -+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out - ac_clean_files=$ac_clean_files_save --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 --$as_echo_n "checking whether we are cross compiling... " >&6; } --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 --$as_echo "$cross_compiling" >&6; } -- - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 - $as_echo_n "checking for suffix of executables... " >&6; } - if { { ac_try="$ac_link" -@@ -3079,6 +3048,63 @@ - rm -f conftest.$ac_ext - EXEEXT=$ac_cv_exeext - ac_exeext=$EXEEXT -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+ac_clean_files="$ac_clean_files conftest.out" -+# Check that the compiler produces executables we can run. If not, either -+# the compiler is broken, or we cross compile. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -+$as_echo_n "checking whether we are cross compiling... " >&6; } -+if test "$cross_compiling" != yes; then -+ { { ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } -+ if { ac_try='./conftest$ac_cv_exeext' -+ { { case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_try") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ cross_compiling=no -+ else -+ if test "$cross_compiling" = maybe; then -+ cross_compiling=yes -+ else -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error "cannot run C compiled programs. -+If you meant to cross compile, use \`--host'. -+See \`config.log' for more details." "$LINENO" 5; } -+ fi -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -+$as_echo "$cross_compiling" >&6; } -+ -+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -+ac_clean_files=$ac_clean_files_save - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 - $as_echo_n "checking for suffix of object files... " >&6; } - if test "${ac_cv_objext+set}" = set; then : -@@ -4510,86 +4536,41 @@ - 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 -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ltermcap" >&5 --$as_echo_n "checking for main in -ltermcap... " >&6; } --if test "${ac_cv_lib_termcap_main+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-ltermcap $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. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char add_history (); - int - main () - { --return main (); -+return add_history (); - ; - return 0; - } - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : -- ac_cv_lib_termcap_main=yes --else -- ac_cv_lib_termcap_main=no --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_termcap_main" >&5 --$as_echo "$ac_cv_lib_termcap_main" >&6; } --if test "x$ac_cv_lib_termcap_main" = x""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 -- { $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 -+ 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. -@@ -4598,33 +4579,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-6.8.92.orig/sim/erc32/configure.ac gdb-6.8.92/sim/erc32/configure.ac ---- gdb-6.8.92.orig/sim/erc32/configure.ac 2006-12-20 23:35:51.000000000 +0100 -+++ gdb-6.8.92/sim/erc32/configure.ac 2009-10-01 05:12:58.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/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-6.8.92.orig/sim/erc32/erc32.c gdb-6.8.92/sim/erc32/erc32.c ---- gdb-6.8.92.orig/sim/erc32/erc32.c 2008-11-11 23:20:54.000000000 +0100 -+++ gdb-6.8.92/sim/erc32/erc32.c 2009-10-01 05:12:58.000000000 +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-6.8.92.orig/sim/erc32/Makefile.in gdb-6.8.92/sim/erc32/Makefile.in ---- gdb-6.8.92.orig/sim/erc32/Makefile.in 2009-01-14 11:53:07.000000000 +0100 -+++ gdb-6.8.92/sim/erc32/Makefile.in 2009-10-01 05:12:58.000000000 +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-6.8.92.orig/sim/h8300/compile.c gdb-6.8.92/sim/h8300/compile.c ---- gdb-6.8.92.orig/sim/h8300/compile.c 2008-12-01 17:10:45.000000000 +0100 -+++ gdb-6.8.92/sim/h8300/compile.c 2009-10-01 05:12:58.000000000 +0200 -@@ -38,6 +38,12 @@ - # define SIGTRAP 5 - #endif - -+#ifdef _WIN32 -+#ifndef SIGBUS -+#define SIGBUS 10 -+#endif -+#endif -+ - int debug; - - host_callback *sim_callback; -diff -Naur gdb-6.8.92.orig/sim/m32c/Makefile.in gdb-6.8.92/sim/m32c/Makefile.in ---- gdb-6.8.92.orig/sim/m32c/Makefile.in 2009-01-14 11:53:07.000000000 +0100 -+++ gdb-6.8.92/sim/m32c/Makefile.in 2009-10-01 05:12:58.000000000 +0200 -@@ -55,7 +55,7 @@ - ./opc2c -l m32c.out $(srcdir)/m32c.opc > m32c.c - - opc2c : opc2c.o safe-fgets.o -- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $^ -o $@ - - sample.x : $(srcdir)/sample.S $(srcdir)/sample.ld - ../../gcc/xgcc $(CPUFLAGS) -B../../gcc/ -c $(srcdir)/sample.S -o sample.o -@@ -83,8 +83,10 @@ - mem.o : mem.h cpu.h syscalls.h - misc.o : cpu.h misc.h - opc2c.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/opc2c.c - reg.o : cpu.h - safe-fgets.o : safe-fgets.h -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/safe-fgets.c - srcdest.c : cpu.h mem.h - syscalls.c : cpu.h mem.h syscalls.h - diff --git a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090715.diff b/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090715.diff deleted file mode 100644 index 1553162179..0000000000 --- a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090715.diff +++ /dev/null @@ -1,911 +0,0 @@ -diff -Naur newlib-1.17.0.orig/newlib/ChangeLog.rtems newlib-1.17.0/newlib/ChangeLog.rtems ---- newlib-1.17.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/ChangeLog.rtems 2009-07-15 09:27:36.000000000 +0200 -@@ -0,0 +1,59 @@ -+2009-07-06 Joel Sherrill -+ -+ * libc/include/sys/features.h: Define _UNIX98_THREAD_MUTEX_ATTRIBUTES. -+ -+2009-05-05 Ralf Corsépius -+ -+ * configure.host: Remove -DMISSING_SYSCALL_NAMES. -+ -+2009-03-11 Ralf Corsépius -+ -+ * libc/stdlib/assert.c: Don't build __assert_func. -+ * libc/sys/rtems/crt0.c: Add __assert_func. -+ -+2009-03-09 Ralf Corsépius -+ -+ * libc/machine/powerpc/times.c: Remove. -+ * libc/machine/powerpc/Makefile.am: Remove times.c. -+ * libc/machine/powerpc/Makefile.in: Regenerate. -+ -+2009-02-24 Ralf Corsépius -+ -+ * libc/unix/ttyname.c: Sync with newlib-cvs. -+ * configure.host: Add -DHAVE_BLKSIZE to newlib_cflags. -+ -+2009-02-22 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/stdint.h: Add __lm32__. -+ * libc/machine/lm32/configure.in: Set AC_CONFIG_SRC to setjmp.S. -+ * libc/machine/lm32/configure: Regenerate. -+ -+2009-02-20 Ralf Corsépius -+ -+ * libc/unix/Makefile.in: Regenerate. -+ -+2009-02-20 Craig Howland on behalf of -+ Sebastian Huber -+ -+ * libc/unix/ttyname.c: Remove ttyname_r() (to a new file to avoid -+ coupling ttyname_r() and ttyname() due to the latter's large buffer). -+ * libc/unix/ttyname_r.c: New file to hold ttyname_r(), previously in -+ ttyname.c. -+ * libc/unix/ttyname.h: New file (common size definition for the 2 -+ ttyname*c files that are now split). -+ * libc/unix/Makefile.am (ELIX_2_SOURCES): Add ttyname_r.c. -+ -+2009-02-16 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/param.h: -+ Update copyright notice from FreeBSD. -+ Remove HZ. -+ Add #include -+ Remove priority handling (moved to sys/priority.h). -+ Remove CLBYTES (Unused, abandoned in BSD). -+ -+2009-02-06 Ralf Corsépius -+ -+ * libc/include/sched.h: -+ Remove (collides with RTEMS's schedul.h). -+ -diff -Naur newlib-1.17.0.orig/newlib/configure.host newlib-1.17.0/newlib/configure.host ---- newlib-1.17.0.orig/newlib/configure.host 2008-12-18 00:09:09.000000000 +0100 -+++ newlib-1.17.0/newlib/configure.host 2009-07-15 09:21:32.000000000 +0200 -@@ -537,7 +537,7 @@ - *-*-rtems*) - default_newlib_io_long_long="yes" - default_newlib_io_c99_formats="yes" -- newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_FCNTL" -+ newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL" - # turn off unsupported items in posix directory - newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET" - ;; -diff -Naur newlib-1.17.0.orig/newlib/libc/include/inttypes.h newlib-1.17.0/newlib/libc/include/inttypes.h ---- newlib-1.17.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/inttypes.h 2009-07-15 09:21:32.000000000 +0200 -@@ -163,12 +163,12 @@ - - - /* 64-bit types */ --#if __have_longlong64 --#define __PRI64(x) __STRINGIFY(ll##x) --#define __SCN64(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRI64(x) __STRINGIFY(l##x) - #define __SCN64(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRI64(x) __STRINGIFY(ll##x) -+#define __SCN64(x) __STRINGIFY(ll##x) - #else - #define __PRI64(x) __STRINGIFY(x) - #define __SCN64(x) __STRINGIFY(x) -@@ -217,12 +217,12 @@ - #endif - - /* max-bit types */ --#if __have_longlong64 --#define __PRIMAX(x) __STRINGIFY(ll##x) --#define __SCNMAX(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIMAX(x) __STRINGIFY(l##x) - #define __SCNMAX(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIMAX(x) __STRINGIFY(ll##x) -+#define __SCNMAX(x) __STRINGIFY(ll##x) - #else - #define __PRIMAX(x) __STRINGIFY(x) - #define __SCNMAX(x) __STRINGIFY(x) -@@ -242,12 +242,12 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ --#if __have_longlong64 --#define __PRIPTR(x) __STRINGIFY(ll##x) --#define __SCNPTR(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIPTR(x) __STRINGIFY(l##x) - #define __SCNPTR(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIPTR(x) __STRINGIFY(ll##x) -+#define __SCNPTR(x) __STRINGIFY(ll##x) - #else - #define __PRIPTR(x) __STRINGIFY(x) - #define __SCNPTR(x) __STRINGIFY(x) -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.17.0/newlib/libc/include/machine/ieeefp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/machine/ieeefp.h 2009-07-15 09:21:32.000000000 +0200 -@@ -62,8 +62,12 @@ - # define __IEEE_BIG_ENDIAN - # endif - #else --# define __IEEE_BIG_ENDIAN - # ifdef __ARMEL__ -+# define __IEEE_LITTLE_ENDIAN -+# else -+# define __IEEE_BIG_ENDIAN -+# endif -+# ifdef __ARMWEL__ - # define __IEEE_BYTES_LITTLE_ENDIAN - # endif - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.17.0/newlib/libc/include/machine/setjmp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/machine/setjmp.h 2009-07-15 09:21:32.000000000 +0200 -@@ -27,7 +27,7 @@ - - /* necv70 was 9 as well. */ - --#ifdef __mc68000__ -+#if defined(__m68k__) || defined(__mc68000__) - /* - * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, - * fp2-fp7 for 68881. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sched.h newlib-1.17.0/newlib/libc/include/sched.h ---- newlib-1.17.0.orig/newlib/libc/include/sched.h 2007-09-21 23:02:15.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/include/sched.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,14 +0,0 @@ --#ifndef _SCHED_H_ --#define _SCHED_H_ -- --#ifdef __cplusplus --extern "C" { --#endif -- --#include -- --#ifdef __cplusplus --} --#endif -- --#endif /* _SCHED_H_ */ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/stdint.h newlib-1.17.0/newlib/libc/include/stdint.h ---- newlib-1.17.0.orig/newlib/libc/include/stdint.h 2008-12-10 22:27:58.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/stdint.h 2009-07-15 09:21:32.000000000 +0200 -@@ -475,6 +475,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/features.h newlib-1.17.0/newlib/libc/include/sys/features.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/features.h 2008-12-12 18:16:03.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/sys/features.h 2009-07-15 09:23:47.000000000 +0200 -@@ -73,6 +73,9 @@ - #define _POSIX_INTERRUPT_CONTROL 1 - #define _POSIX_ADVISORY_INFO 1 - -+/* UNIX98 added some new pthread mutex attributes */ -+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 -+ - #endif - - #ifdef __svr4__ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/_types.h newlib-1.17.0/newlib/libc/include/sys/_types.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/_types.h 2007-09-18 22:05:17.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/include/sys/_types.h 2009-07-15 09:21:32.000000000 +0200 -@@ -84,4 +84,7 @@ - typedef void *_iconv_t; - #endif - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.17.0/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/arm/machine/endian.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,12 +0,0 @@ --/* ARM configuration file */ -- --#ifndef _MACHINE_ENDIAN_H --# define _MACHINE_ENDIAN_H -- --#ifdef __ARMEB__ --#define BYTE_ORDER BIG_ENDIAN --#else --#define BYTE_ORDER LITTLE_ENDIAN --#endif -- --#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure newlib-1.17.0/newlib/libc/machine/lm32/configure ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure 2008-12-22 20:45:44.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/machine/lm32/configure 2009-07-15 09:21:32.000000000 +0200 -@@ -271,7 +271,7 @@ - PACKAGE_STRING='newlib 1.17.0' - PACKAGE_BUGREPORT='' - --ac_unique_file="setjmp.s" -+ac_unique_file="setjmp.S" - 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 MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir LIBOBJS LTLIBOBJS' - ac_subst_files='' - -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in newlib-1.17.0/newlib/libc/machine/lm32/configure.in ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/machine/lm32/configure.in 2009-07-15 09:21:32.000000000 +0200 -@@ -3,7 +3,7 @@ - - AC_PREREQ(2.59) - AC_INIT([newlib],[NEWLIB_VERSION]) --AC_CONFIG_SRCDIR([setjmp.s]) -+AC_CONFIG_SRCDIR([setjmp.S]) - - dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. - AC_CONFIG_AUX_DIR(../../../..) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.am 2009-07-15 09:21:32.000000000 +0200 -@@ -10,7 +10,7 @@ - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.in 2009-07-15 09:21:32.000000000 +0200 -@@ -39,8 +39,7 @@ - DIST_COMMON = $(srcdir)/../../../../config.guess \ - $(srcdir)/../../../../config.sub $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am $(top_srcdir)/configure \ -- $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs \ -- $(srcdir)/../../../../compile -+ $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \ -@@ -54,7 +53,7 @@ - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-times.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I. -I$(srcdir) - depcomp = -@@ -128,11 +127,6 @@ - USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@ - USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@ - VERSION = @VERSION@ --ac_ct_AR = @ac_ct_AR@ --ac_ct_AS = @ac_ct_AS@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_READELF = @ac_ct_READELF@ --ac_ct_STRIP = @ac_ct_STRIP@ - aext = @aext@ - am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ - am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -@@ -148,6 +142,9 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - extra_objs = @extra_objs@ - extra_sources = @extra_sources@ -@@ -156,12 +153,14 @@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -170,8 +169,10 @@ - newlib_basedir = @newlib_basedir@ - oext = @oext@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - sys_dir = @sys_dir@ -@@ -182,7 +183,7 @@ - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -193,7 +194,7 @@ - all: all-am - - .SUFFIXES: --.SUFFIXES: .S .c .o .obj -+.SUFFIXES: .S .o .obj - am--refresh: - @: - $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -@@ -252,18 +253,6 @@ - - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi` -- --.c.o: -- $(COMPILE) -c $< -- --.c.obj: -- $(COMPILE) -c `$(CYGPATH_W) '$<'` -- --lib_a-times.o: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c -- --lib_a-times.obj: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` - uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.17.0/newlib/libc/machine/powerpc/times.c ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/powerpc/times.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,36 +0,0 @@ --/* Time support routines for PowerPC. -- * -- * Written by Aldy Hernandez. -- */ -- --#include <_ansi.h> --#include --#include --#include --#include -- --clock_t --times (struct tms *tp) --{ -- struct rusage usage; -- union { -- struct rusage r; -- /* Newlib's rusage has only 2 fields. We need to make room for -- when we call the system's rusage. This should be enough. */ -- int filler[32]; -- } host_ru; -- -- getrusage (RUSAGE_SELF, (void *)&host_ru); -- -- if (tp) -- { -- tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 -- + host_ru.r.ru_utime.tv_usec; -- tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 -- + host_ru.r.ru_stime.tv_usec; -- tp->tms_cutime = 0; /* user time, children */ -- tp->tms_cstime = 0; /* system time, children */ -- } -- -- return tp->tms_utime; --} -diff -Naur newlib-1.17.0.orig/newlib/libc/stdlib/assert.c newlib-1.17.0/newlib/libc/stdlib/assert.c ---- newlib-1.17.0.orig/newlib/libc/stdlib/assert.c 2007-06-27 14:44:41.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/stdlib/assert.c 2009-07-15 09:21:32.000000000 +0200 -@@ -47,6 +47,9 @@ - #include - #include - -+#if !defined(__rtems__) -+/* RTEMS has a version of its own */ -+ - /* func can be NULL, in which case no function information is given. */ - void - _DEFUN (__assert_func, (file, line, func, failedexpr), -@@ -62,6 +65,7 @@ - abort(); - /* NOTREACHED */ - } -+#endif - - void - _DEFUN (__assert, (file, line, failedexpr), -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c newlib-1.17.0/newlib/libc/sys/rtems/crt0.c ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c 2008-12-12 18:11:33.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/sys/rtems/crt0.c 2009-07-15 09:21:32.000000000 +0200 -@@ -84,6 +84,9 @@ - int _execve(const char *path, char * const *argv, char * const *envp) { return -1; } - int _exit(int status) { return -1; } - -+/* stubs for functions required by libc/stdlib */ -+void __assert_func(const char *file, int line, const char *failedexpr) {} -+ - /* gcc can implicitly generate references to these */ - /* strcmp() {} */ - /* strcpy() {} */ -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.17.0/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/sys/rtems/machine/stdint.h 2009-07-15 09:21:32.000000000 +0200 -@@ -0,0 +1,48 @@ -+/* -+ * -+ */ -+#ifndef _MACHINE_STDINT_H -+#define _MACHINE_STDINT_H -+ -+#ifndef _STDINT_H -+#error machine/stdint.h is an internal file and must not be directly included -+#endif -+ -+#ifndef __rtems__ -+#error machine/stdint.h is an RTEMS specific internal file and must not be used otherwise -+#endif -+ -+#if defined(__m32c__) || defined(__m32r__) || defined(__lm32__) -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_LONG__) -+#define __ptrint_t_long_defined 1 -+#endif -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_INT__) -+#define __ptrint_t_int_defined 1 -+#endif -+#endif -+ -+#if defined(__sparc__) \ -+ || defined(__powerpc__) || defined(__PPC__) \ -+ || defined(__mips__) \ -+ || defined(__sh__) \ -+ || defined(__AVR__) \ -+ || defined(_C4x) || defined(_C3x) \ -+ || defined(__H8300__) -+/* PTRDIFF_TYPE = int */ -+#define __ptrint_t_int_defined 1 -+#endif -+ -+#if defined(__i386__) \ -+ || defined(__m68k__) \ -+ || defined(__bfin__) \ -+ || defined(__arm__) \ -+ || defined(__H8300S__) || defined(__H8300H__) || defined(__H8300SX__) \ -+/* PTRDIFF_TYPE = long */ -+#define __ptrint_t_long_defined 1 -+#endif -+ -+#if !defined(__ptrint_t_int_defined) && !defined(__ptrint_t_long_defined) -+#error Failed to determine ptrint_t -+#endif -+ -+#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.17.0/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h 2008-11-17 23:05:12.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/sys/rtems/sys/param.h 2009-07-15 09:21:32.000000000 +0200 -@@ -15,10 +15,6 @@ - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. -- * 3. All advertising materials mentioning features or use of this software -- * must display the following acknowledgement: -- * This product includes software developed by the University of -- * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. -@@ -47,7 +43,6 @@ - #include - #include - --# define HZ (60) - # define PATHSIZE (1024) - - /* end of from newlib's */ -@@ -86,13 +81,13 @@ - #define MAXHOSTNAMELEN 256 /* max hostname size */ - - /* More types and definitions used throughout the kernel. */ --#ifdef KERNEL -+#if defined(KERNEL) || defined(_KERNEL) - #include - #include - #include - #include --#include - #include -+#include - - #ifndef FALSE - #define FALSE 0 -@@ -109,23 +104,6 @@ - #include - #include - --/* -- * Priorities. Note that with 32 run queues, differences less than 4 are -- * insignificant. -- */ --#define PSWP 0 --#define PVM 4 --#define PINOD 8 --#define PRIBIO 16 --#define PVFS 20 --#define PZERO 22 /* No longer magic, shouldn't be here. XXX */ --#define PSOCK 24 --#define PWAIT 32 --#define PLOCK 36 --#define PPAUSE 40 --#define PUSER 50 --#define MAXPRI 127 /* Priorities range from 0 through MAXPRI. */ -- - #define PRIMASK 0x0ff - #define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */ - -@@ -136,15 +114,6 @@ - #define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ - #define NODEV (dev_t)(-1) /* non-existent device */ - --/* -- * Clustering of hardware pages on machines with ridiculously small -- * page sizes is done here. The paging subsystem deals with units of -- * CLSIZE pte's describing PAGE_SIZE (from machine/machparam.h) pages each. -- */ --#if 0 --#define CLBYTES (CLSIZE*PAGE_SIZE) --#endif -- - #define CBLOCK 128 /* Clist block size, must be a power of 2. */ - #define CBQSIZE (CBLOCK/NBBY) /* Quote bytes/cblock - can do better. */ - /* Data chars/clist. */ -@@ -200,7 +169,7 @@ - #define powerof2(x) ((((x)-1)&(x))==0) - - /* Macros for min/max. */ --#ifndef KERNEL -+#if !(defined(KERNEL) || defined(_KERNEL)) - #define MIN(a,b) (((a)<(b))?(a):(b)) - #define MAX(a,b) (((a)>(b))?(a):(b)) - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.am newlib-1.17.0/newlib/libc/unix/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.am 2006-05-02 00:01:07.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/unix/Makefile.am 2009-07-15 09:21:32.000000000 +0200 -@@ -12,7 +12,8 @@ - - ## Distinguish different EL/IX level interfaces - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.in newlib-1.17.0/newlib/libc/unix/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/unix/Makefile.in 2009-07-15 09:21:32.000000000 +0200 -@@ -59,7 +59,7 @@ - lib_a_LIBADD = - am__objects_1 = lib_a-getcwd.$(OBJEXT) lib_a-pread.$(OBJEXT) \ - lib_a-pwrite.$(OBJEXT) lib_a-sigset.$(OBJEXT) --am__objects_2 = lib_a-ttyname.$(OBJEXT) -+am__objects_2 = lib_a-ttyname.$(OBJEXT) lib_a-ttyname_r.$(OBJEXT) - am__objects_3 = lib_a-basename.$(OBJEXT) lib_a-dirname.$(OBJEXT) \ - lib_a-getlogin.$(OBJEXT) lib_a-getpass.$(OBJEXT) \ - lib_a-getpwent.$(OBJEXT) lib_a-getut.$(OBJEXT) -@@ -74,7 +74,7 @@ - LTLIBRARIES = $(noinst_LTLIBRARIES) - libunix_la_LIBADD = - am__objects_5 = getcwd.lo pread.lo pwrite.lo sigset.lo --am__objects_6 = ttyname.lo -+am__objects_6 = ttyname.lo ttyname_r.lo - am__objects_7 = basename.lo dirname.lo getlogin.lo getpass.lo \ - getpwent.lo getut.lo - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_8 = $(am__objects_6) \ -@@ -278,7 +278,8 @@ - sigset.c - - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -@@ -402,6 +403,12 @@ - lib_a-ttyname.obj: ttyname.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname.obj `if test -f 'ttyname.c'; then $(CYGPATH_W) 'ttyname.c'; else $(CYGPATH_W) '$(srcdir)/ttyname.c'; fi` - -+lib_a-ttyname_r.o: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.o `test -f 'ttyname_r.c' || echo '$(srcdir)/'`ttyname_r.c -+ -+lib_a-ttyname_r.obj: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.obj `if test -f 'ttyname_r.c'; then $(CYGPATH_W) 'ttyname_r.c'; else $(CYGPATH_W) '$(srcdir)/ttyname_r.c'; fi` -+ - lib_a-basename.o: basename.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-basename.o `test -f 'basename.c' || echo '$(srcdir)/'`basename.c - -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.c newlib-1.17.0/newlib/libc/unix/ttyname.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.c 2008-11-18 23:55:06.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/unix/ttyname.c 2009-07-15 09:21:32.000000000 +0200 -@@ -28,67 +28,14 @@ - * SUCH DAMAGE. - */ - --#include --#include --#include -+#include "ttyname.h" -+ - #include - #include --#include - #include --#include <_syslist.h> - #include - --static char ttyname_buf[sizeof (_PATH_DEV) + MAXNAMLEN] = _PATH_DEV; -- --/* -- * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -- */ --int --_DEFUN( ttyname_r,(fd, name, namesize), -- int fd _AND -- char *name _AND -- size_t namesize) --{ -- struct stat sb; -- struct dirent *dirp; -- DIR *dp; -- struct stat dsb; -- char buf[sizeof(ttyname_buf)]; -- -- /* Must be a terminal. */ -- if (!isatty(fd)) -- return ENOTTY; -- -- /* Must be a character device. */ -- if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -- return ENOTTY; -- -- if ((dp = opendir (_PATH_DEV)) == NULL) -- return EBADF; -- -- strcpy(buf, _PATH_DEV); -- while ((dirp = readdir (dp)) != NULL) -- { -- if (dirp->d_ino != sb.st_ino) -- continue; -- strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -- if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -- sb.st_ino != dsb.st_ino) -- continue; -- (void) closedir (dp); -- if(strlen(buf) < namesize) /* < to account for terminating null */ -- { -- strcpy(name, buf); -- return 0; -- } -- else -- { -- return ERANGE; -- } -- } -- (void) closedir (dp); -- return EBADF; --} -+static char ttyname_buf[TTYNAME_BUFSIZE] = _PATH_DEV; - - /* - * ttyname() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.h newlib-1.17.0/newlib/libc/unix/ttyname.h ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/unix/ttyname.h 2009-07-15 09:21:32.000000000 +0200 -@@ -0,0 +1,6 @@ -+/* Common defines for ttyname.c and ttyname_r.c */ -+ -+#include /* For MAXNAMLEN */ -+#include /* For _PATH_DEV */ -+ -+#define TTYNAME_BUFSIZE (sizeof (_PATH_DEV) + MAXNAMLEN) -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c newlib-1.17.0/newlib/libc/unix/ttyname_r.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/unix/ttyname_r.c 2009-07-15 09:21:32.000000000 +0200 -@@ -0,0 +1,93 @@ -+#ifndef _NO_TTYNAME -+/* -+ * Copyright (c) 1988 The Regents of the University of California. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include "ttyname.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include <_syslist.h> -+#include -+ -+/* -+ * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -+ */ -+int -+_DEFUN( ttyname_r,(fd, name, namesize), -+ int fd _AND -+ char *name _AND -+ size_t namesize) -+{ -+ struct stat sb; -+ struct dirent *dirp; -+ DIR *dp; -+ struct stat dsb; -+ char buf[TTYNAME_BUFSIZE]; -+ -+ /* Must be a terminal. */ -+ if (!isatty(fd)) -+ return ENOTTY; -+ -+ /* Must be a character device. */ -+ if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -+ return ENOTTY; -+ -+ if ((dp = opendir (_PATH_DEV)) == NULL) -+ return EBADF; -+ -+ strcpy(buf, _PATH_DEV); -+ while ((dirp = readdir (dp)) != NULL) -+ { -+ if (dirp->d_ino != sb.st_ino) -+ continue; -+ strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -+ if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -+ sb.st_ino != dsb.st_ino) -+ continue; -+ (void) closedir (dp); -+ if(strlen(buf) < namesize) /* < to account for terminating null */ -+ { -+ strcpy(name, buf); -+ return 0; -+ } -+ else -+ { -+ return ERANGE; -+ } -+ } -+ (void) closedir (dp); -+ return EBADF; -+} -+ -+#endif /* !_NO_TTYNAME */ -diff -Naur newlib-1.17.0.orig/newlib/Makefile.am newlib-1.17.0/newlib/Makefile.am ---- newlib-1.17.0.orig/newlib/Makefile.am 2008-01-21 19:29:17.000000000 +0100 -+++ newlib-1.17.0/newlib/Makefile.am 2009-07-15 09:21:32.000000000 +0200 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -@@ -186,9 +186,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - -- --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -diff -Naur newlib-1.17.0.orig/newlib/Makefile.in newlib-1.17.0/newlib/Makefile.in ---- newlib-1.17.0.orig/newlib/Makefile.in 2009-06-29 11:05:19.000000000 +0200 -+++ newlib-1.17.0/newlib/Makefile.in 2009-07-15 09:21:32.000000000 +0200 -@@ -106,7 +106,7 @@ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive - toollibDATA_INSTALL = $(INSTALL_DATA) --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - ETAGS = etags - CTAGS = ctags - DEJATOOL = $(PACKAGE) -@@ -350,7 +350,7 @@ - @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ - @USE_LIBTOOL_FALSE@ libc.a - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - toollib_DATA = $(CRT0) $(CRT1) - - # The functions ldexp, frexp and modf are traditionally supplied in -@@ -409,7 +409,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -714,14 +714,16 @@ - done - check-am: - $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU --check: check-recursive -+check: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) check-recursive - all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h - installdirs: installdirs-recursive - installdirs-am: - for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done --install: install-recursive -+install: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive - uninstall: uninstall-recursive -@@ -746,6 +748,7 @@ - maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - clean: clean-recursive - - clean-am: clean-generic clean-libtool clean-toollibLIBRARIES \ -@@ -864,8 +867,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. diff --git a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090727.diff b/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090727.diff deleted file mode 100644 index ee32b3ee21..0000000000 --- a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090727.diff +++ /dev/null @@ -1,923 +0,0 @@ -diff -Naur newlib-1.17.0.orig/newlib/ChangeLog.rtems newlib-1.17.0/newlib/ChangeLog.rtems ---- newlib-1.17.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/ChangeLog.rtems 2009-07-27 11:29:20.000000000 +0200 -@@ -0,0 +1,63 @@ -+2009-07-27 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add _isatty_r. -+ -+2009-07-06 Joel Sherrill -+ -+ * libc/include/sys/features.h: Define _UNIX98_THREAD_MUTEX_ATTRIBUTES. -+ -+2009-05-05 Ralf Corsépius -+ -+ * configure.host: Remove -DMISSING_SYSCALL_NAMES. -+ -+2009-03-11 Ralf Corsépius -+ -+ * libc/stdlib/assert.c: Don't build __assert_func. -+ * libc/sys/rtems/crt0.c: Add __assert_func. -+ -+2009-03-09 Ralf Corsépius -+ -+ * libc/machine/powerpc/times.c: Remove. -+ * libc/machine/powerpc/Makefile.am: Remove times.c. -+ * libc/machine/powerpc/Makefile.in: Regenerate. -+ -+2009-02-24 Ralf Corsépius -+ -+ * libc/unix/ttyname.c: Sync with newlib-cvs. -+ * configure.host: Add -DHAVE_BLKSIZE to newlib_cflags. -+ -+2009-02-22 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/stdint.h: Add __lm32__. -+ * libc/machine/lm32/configure.in: Set AC_CONFIG_SRC to setjmp.S. -+ * libc/machine/lm32/configure: Regenerate. -+ -+2009-02-20 Ralf Corsépius -+ -+ * libc/unix/Makefile.in: Regenerate. -+ -+2009-02-20 Craig Howland on behalf of -+ Sebastian Huber -+ -+ * libc/unix/ttyname.c: Remove ttyname_r() (to a new file to avoid -+ coupling ttyname_r() and ttyname() due to the latter's large buffer). -+ * libc/unix/ttyname_r.c: New file to hold ttyname_r(), previously in -+ ttyname.c. -+ * libc/unix/ttyname.h: New file (common size definition for the 2 -+ ttyname*c files that are now split). -+ * libc/unix/Makefile.am (ELIX_2_SOURCES): Add ttyname_r.c. -+ -+2009-02-16 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/param.h: -+ Update copyright notice from FreeBSD. -+ Remove HZ. -+ Add #include -+ Remove priority handling (moved to sys/priority.h). -+ Remove CLBYTES (Unused, abandoned in BSD). -+ -+2009-02-06 Ralf Corsépius -+ -+ * libc/include/sched.h: -+ Remove (collides with RTEMS's schedul.h). -+ -diff -Naur newlib-1.17.0.orig/newlib/configure.host newlib-1.17.0/newlib/configure.host ---- newlib-1.17.0.orig/newlib/configure.host 2008-12-18 00:09:09.000000000 +0100 -+++ newlib-1.17.0/newlib/configure.host 2009-07-15 09:21:32.000000000 +0200 -@@ -537,7 +537,7 @@ - *-*-rtems*) - default_newlib_io_long_long="yes" - default_newlib_io_c99_formats="yes" -- newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_FCNTL" -+ newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL" - # turn off unsupported items in posix directory - newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET" - ;; -diff -Naur newlib-1.17.0.orig/newlib/libc/include/inttypes.h newlib-1.17.0/newlib/libc/include/inttypes.h ---- newlib-1.17.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/inttypes.h 2009-07-15 09:21:32.000000000 +0200 -@@ -163,12 +163,12 @@ - - - /* 64-bit types */ --#if __have_longlong64 --#define __PRI64(x) __STRINGIFY(ll##x) --#define __SCN64(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRI64(x) __STRINGIFY(l##x) - #define __SCN64(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRI64(x) __STRINGIFY(ll##x) -+#define __SCN64(x) __STRINGIFY(ll##x) - #else - #define __PRI64(x) __STRINGIFY(x) - #define __SCN64(x) __STRINGIFY(x) -@@ -217,12 +217,12 @@ - #endif - - /* max-bit types */ --#if __have_longlong64 --#define __PRIMAX(x) __STRINGIFY(ll##x) --#define __SCNMAX(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIMAX(x) __STRINGIFY(l##x) - #define __SCNMAX(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIMAX(x) __STRINGIFY(ll##x) -+#define __SCNMAX(x) __STRINGIFY(ll##x) - #else - #define __PRIMAX(x) __STRINGIFY(x) - #define __SCNMAX(x) __STRINGIFY(x) -@@ -242,12 +242,12 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ --#if __have_longlong64 --#define __PRIPTR(x) __STRINGIFY(ll##x) --#define __SCNPTR(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIPTR(x) __STRINGIFY(l##x) - #define __SCNPTR(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIPTR(x) __STRINGIFY(ll##x) -+#define __SCNPTR(x) __STRINGIFY(ll##x) - #else - #define __PRIPTR(x) __STRINGIFY(x) - #define __SCNPTR(x) __STRINGIFY(x) -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.17.0/newlib/libc/include/machine/ieeefp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/machine/ieeefp.h 2009-07-15 09:21:32.000000000 +0200 -@@ -62,8 +62,12 @@ - # define __IEEE_BIG_ENDIAN - # endif - #else --# define __IEEE_BIG_ENDIAN - # ifdef __ARMEL__ -+# define __IEEE_LITTLE_ENDIAN -+# else -+# define __IEEE_BIG_ENDIAN -+# endif -+# ifdef __ARMWEL__ - # define __IEEE_BYTES_LITTLE_ENDIAN - # endif - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.17.0/newlib/libc/include/machine/setjmp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/machine/setjmp.h 2009-07-15 09:21:32.000000000 +0200 -@@ -27,7 +27,7 @@ - - /* necv70 was 9 as well. */ - --#ifdef __mc68000__ -+#if defined(__m68k__) || defined(__mc68000__) - /* - * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, - * fp2-fp7 for 68881. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sched.h newlib-1.17.0/newlib/libc/include/sched.h ---- newlib-1.17.0.orig/newlib/libc/include/sched.h 2007-09-21 23:02:15.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/include/sched.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,14 +0,0 @@ --#ifndef _SCHED_H_ --#define _SCHED_H_ -- --#ifdef __cplusplus --extern "C" { --#endif -- --#include -- --#ifdef __cplusplus --} --#endif -- --#endif /* _SCHED_H_ */ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/stdint.h newlib-1.17.0/newlib/libc/include/stdint.h ---- newlib-1.17.0.orig/newlib/libc/include/stdint.h 2008-12-10 22:27:58.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/stdint.h 2009-07-15 09:21:32.000000000 +0200 -@@ -475,6 +475,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/features.h newlib-1.17.0/newlib/libc/include/sys/features.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/features.h 2008-12-12 18:16:03.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/sys/features.h 2009-07-15 09:23:47.000000000 +0200 -@@ -73,6 +73,9 @@ - #define _POSIX_INTERRUPT_CONTROL 1 - #define _POSIX_ADVISORY_INFO 1 - -+/* UNIX98 added some new pthread mutex attributes */ -+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 -+ - #endif - - #ifdef __svr4__ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/_types.h newlib-1.17.0/newlib/libc/include/sys/_types.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/_types.h 2007-09-18 22:05:17.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/include/sys/_types.h 2009-07-15 09:21:32.000000000 +0200 -@@ -84,4 +84,7 @@ - typedef void *_iconv_t; - #endif - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.17.0/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/arm/machine/endian.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,12 +0,0 @@ --/* ARM configuration file */ -- --#ifndef _MACHINE_ENDIAN_H --# define _MACHINE_ENDIAN_H -- --#ifdef __ARMEB__ --#define BYTE_ORDER BIG_ENDIAN --#else --#define BYTE_ORDER LITTLE_ENDIAN --#endif -- --#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure newlib-1.17.0/newlib/libc/machine/lm32/configure ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure 2008-12-22 20:45:44.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/machine/lm32/configure 2009-07-15 09:21:32.000000000 +0200 -@@ -271,7 +271,7 @@ - PACKAGE_STRING='newlib 1.17.0' - PACKAGE_BUGREPORT='' - --ac_unique_file="setjmp.s" -+ac_unique_file="setjmp.S" - 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 MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir LIBOBJS LTLIBOBJS' - ac_subst_files='' - -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in newlib-1.17.0/newlib/libc/machine/lm32/configure.in ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/machine/lm32/configure.in 2009-07-15 09:21:32.000000000 +0200 -@@ -3,7 +3,7 @@ - - AC_PREREQ(2.59) - AC_INIT([newlib],[NEWLIB_VERSION]) --AC_CONFIG_SRCDIR([setjmp.s]) -+AC_CONFIG_SRCDIR([setjmp.S]) - - dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. - AC_CONFIG_AUX_DIR(../../../..) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.am 2009-07-15 09:21:32.000000000 +0200 -@@ -10,7 +10,7 @@ - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.in 2009-07-15 09:21:32.000000000 +0200 -@@ -39,8 +39,7 @@ - DIST_COMMON = $(srcdir)/../../../../config.guess \ - $(srcdir)/../../../../config.sub $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am $(top_srcdir)/configure \ -- $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs \ -- $(srcdir)/../../../../compile -+ $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \ -@@ -54,7 +53,7 @@ - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-times.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I. -I$(srcdir) - depcomp = -@@ -128,11 +127,6 @@ - USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@ - USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@ - VERSION = @VERSION@ --ac_ct_AR = @ac_ct_AR@ --ac_ct_AS = @ac_ct_AS@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_READELF = @ac_ct_READELF@ --ac_ct_STRIP = @ac_ct_STRIP@ - aext = @aext@ - am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ - am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -@@ -148,6 +142,9 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - extra_objs = @extra_objs@ - extra_sources = @extra_sources@ -@@ -156,12 +153,14 @@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -170,8 +169,10 @@ - newlib_basedir = @newlib_basedir@ - oext = @oext@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - sys_dir = @sys_dir@ -@@ -182,7 +183,7 @@ - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -193,7 +194,7 @@ - all: all-am - - .SUFFIXES: --.SUFFIXES: .S .c .o .obj -+.SUFFIXES: .S .o .obj - am--refresh: - @: - $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -@@ -252,18 +253,6 @@ - - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi` -- --.c.o: -- $(COMPILE) -c $< -- --.c.obj: -- $(COMPILE) -c `$(CYGPATH_W) '$<'` -- --lib_a-times.o: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c -- --lib_a-times.obj: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` - uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.17.0/newlib/libc/machine/powerpc/times.c ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/powerpc/times.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,36 +0,0 @@ --/* Time support routines for PowerPC. -- * -- * Written by Aldy Hernandez. -- */ -- --#include <_ansi.h> --#include --#include --#include --#include -- --clock_t --times (struct tms *tp) --{ -- struct rusage usage; -- union { -- struct rusage r; -- /* Newlib's rusage has only 2 fields. We need to make room for -- when we call the system's rusage. This should be enough. */ -- int filler[32]; -- } host_ru; -- -- getrusage (RUSAGE_SELF, (void *)&host_ru); -- -- if (tp) -- { -- tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 -- + host_ru.r.ru_utime.tv_usec; -- tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 -- + host_ru.r.ru_stime.tv_usec; -- tp->tms_cutime = 0; /* user time, children */ -- tp->tms_cstime = 0; /* system time, children */ -- } -- -- return tp->tms_utime; --} -diff -Naur newlib-1.17.0.orig/newlib/libc/stdlib/assert.c newlib-1.17.0/newlib/libc/stdlib/assert.c ---- newlib-1.17.0.orig/newlib/libc/stdlib/assert.c 2007-06-27 14:44:41.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/stdlib/assert.c 2009-07-15 09:21:32.000000000 +0200 -@@ -47,6 +47,9 @@ - #include - #include - -+#if !defined(__rtems__) -+/* RTEMS has a version of its own */ -+ - /* func can be NULL, in which case no function information is given. */ - void - _DEFUN (__assert_func, (file, line, func, failedexpr), -@@ -62,6 +65,7 @@ - abort(); - /* NOTREACHED */ - } -+#endif - - void - _DEFUN (__assert, (file, line, failedexpr), -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c newlib-1.17.0/newlib/libc/sys/rtems/crt0.c ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c 2008-12-12 18:11:33.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/sys/rtems/crt0.c 2009-07-27 13:33:15.000000000 +0200 -@@ -54,6 +54,7 @@ - #endif - int _fstat_r (struct _reent *r, int fd, struct stat *buf) { return -1; } - int _getpid_r (struct _reent *r) { return -1; } -+int _isatty_r (struct _reent *r, int fd) { return isatty( fd ); } - int _kill_r ( struct _reent *r, int pid, int sig ) { return -1; } - int _link_r ( struct _reent *ptr, const char *existing, const char *new) { return -1; } - _off_t _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence ) { return -1; } -@@ -84,6 +85,9 @@ - int _execve(const char *path, char * const *argv, char * const *envp) { return -1; } - int _exit(int status) { return -1; } - -+/* stubs for functions required by libc/stdlib */ -+void __assert_func(const char *file, int line, const char *failedexpr) {} -+ - /* gcc can implicitly generate references to these */ - /* strcmp() {} */ - /* strcpy() {} */ -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.17.0/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/sys/rtems/machine/stdint.h 2009-07-15 09:21:32.000000000 +0200 -@@ -0,0 +1,48 @@ -+/* -+ * -+ */ -+#ifndef _MACHINE_STDINT_H -+#define _MACHINE_STDINT_H -+ -+#ifndef _STDINT_H -+#error machine/stdint.h is an internal file and must not be directly included -+#endif -+ -+#ifndef __rtems__ -+#error machine/stdint.h is an RTEMS specific internal file and must not be used otherwise -+#endif -+ -+#if defined(__m32c__) || defined(__m32r__) || defined(__lm32__) -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_LONG__) -+#define __ptrint_t_long_defined 1 -+#endif -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_INT__) -+#define __ptrint_t_int_defined 1 -+#endif -+#endif -+ -+#if defined(__sparc__) \ -+ || defined(__powerpc__) || defined(__PPC__) \ -+ || defined(__mips__) \ -+ || defined(__sh__) \ -+ || defined(__AVR__) \ -+ || defined(_C4x) || defined(_C3x) \ -+ || defined(__H8300__) -+/* PTRDIFF_TYPE = int */ -+#define __ptrint_t_int_defined 1 -+#endif -+ -+#if defined(__i386__) \ -+ || defined(__m68k__) \ -+ || defined(__bfin__) \ -+ || defined(__arm__) \ -+ || defined(__H8300S__) || defined(__H8300H__) || defined(__H8300SX__) \ -+/* PTRDIFF_TYPE = long */ -+#define __ptrint_t_long_defined 1 -+#endif -+ -+#if !defined(__ptrint_t_int_defined) && !defined(__ptrint_t_long_defined) -+#error Failed to determine ptrint_t -+#endif -+ -+#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.17.0/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h 2008-11-17 23:05:12.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/sys/rtems/sys/param.h 2009-07-15 09:21:32.000000000 +0200 -@@ -15,10 +15,6 @@ - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. -- * 3. All advertising materials mentioning features or use of this software -- * must display the following acknowledgement: -- * This product includes software developed by the University of -- * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. -@@ -47,7 +43,6 @@ - #include - #include - --# define HZ (60) - # define PATHSIZE (1024) - - /* end of from newlib's */ -@@ -86,13 +81,13 @@ - #define MAXHOSTNAMELEN 256 /* max hostname size */ - - /* More types and definitions used throughout the kernel. */ --#ifdef KERNEL -+#if defined(KERNEL) || defined(_KERNEL) - #include - #include - #include - #include --#include - #include -+#include - - #ifndef FALSE - #define FALSE 0 -@@ -109,23 +104,6 @@ - #include - #include - --/* -- * Priorities. Note that with 32 run queues, differences less than 4 are -- * insignificant. -- */ --#define PSWP 0 --#define PVM 4 --#define PINOD 8 --#define PRIBIO 16 --#define PVFS 20 --#define PZERO 22 /* No longer magic, shouldn't be here. XXX */ --#define PSOCK 24 --#define PWAIT 32 --#define PLOCK 36 --#define PPAUSE 40 --#define PUSER 50 --#define MAXPRI 127 /* Priorities range from 0 through MAXPRI. */ -- - #define PRIMASK 0x0ff - #define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */ - -@@ -136,15 +114,6 @@ - #define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ - #define NODEV (dev_t)(-1) /* non-existent device */ - --/* -- * Clustering of hardware pages on machines with ridiculously small -- * page sizes is done here. The paging subsystem deals with units of -- * CLSIZE pte's describing PAGE_SIZE (from machine/machparam.h) pages each. -- */ --#if 0 --#define CLBYTES (CLSIZE*PAGE_SIZE) --#endif -- - #define CBLOCK 128 /* Clist block size, must be a power of 2. */ - #define CBQSIZE (CBLOCK/NBBY) /* Quote bytes/cblock - can do better. */ - /* Data chars/clist. */ -@@ -200,7 +169,7 @@ - #define powerof2(x) ((((x)-1)&(x))==0) - - /* Macros for min/max. */ --#ifndef KERNEL -+#if !(defined(KERNEL) || defined(_KERNEL)) - #define MIN(a,b) (((a)<(b))?(a):(b)) - #define MAX(a,b) (((a)>(b))?(a):(b)) - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.am newlib-1.17.0/newlib/libc/unix/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.am 2006-05-02 00:01:07.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/unix/Makefile.am 2009-07-15 09:21:32.000000000 +0200 -@@ -12,7 +12,8 @@ - - ## Distinguish different EL/IX level interfaces - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.in newlib-1.17.0/newlib/libc/unix/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/unix/Makefile.in 2009-07-15 09:21:32.000000000 +0200 -@@ -59,7 +59,7 @@ - lib_a_LIBADD = - am__objects_1 = lib_a-getcwd.$(OBJEXT) lib_a-pread.$(OBJEXT) \ - lib_a-pwrite.$(OBJEXT) lib_a-sigset.$(OBJEXT) --am__objects_2 = lib_a-ttyname.$(OBJEXT) -+am__objects_2 = lib_a-ttyname.$(OBJEXT) lib_a-ttyname_r.$(OBJEXT) - am__objects_3 = lib_a-basename.$(OBJEXT) lib_a-dirname.$(OBJEXT) \ - lib_a-getlogin.$(OBJEXT) lib_a-getpass.$(OBJEXT) \ - lib_a-getpwent.$(OBJEXT) lib_a-getut.$(OBJEXT) -@@ -74,7 +74,7 @@ - LTLIBRARIES = $(noinst_LTLIBRARIES) - libunix_la_LIBADD = - am__objects_5 = getcwd.lo pread.lo pwrite.lo sigset.lo --am__objects_6 = ttyname.lo -+am__objects_6 = ttyname.lo ttyname_r.lo - am__objects_7 = basename.lo dirname.lo getlogin.lo getpass.lo \ - getpwent.lo getut.lo - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_8 = $(am__objects_6) \ -@@ -278,7 +278,8 @@ - sigset.c - - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -@@ -402,6 +403,12 @@ - lib_a-ttyname.obj: ttyname.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname.obj `if test -f 'ttyname.c'; then $(CYGPATH_W) 'ttyname.c'; else $(CYGPATH_W) '$(srcdir)/ttyname.c'; fi` - -+lib_a-ttyname_r.o: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.o `test -f 'ttyname_r.c' || echo '$(srcdir)/'`ttyname_r.c -+ -+lib_a-ttyname_r.obj: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.obj `if test -f 'ttyname_r.c'; then $(CYGPATH_W) 'ttyname_r.c'; else $(CYGPATH_W) '$(srcdir)/ttyname_r.c'; fi` -+ - lib_a-basename.o: basename.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-basename.o `test -f 'basename.c' || echo '$(srcdir)/'`basename.c - -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.c newlib-1.17.0/newlib/libc/unix/ttyname.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.c 2008-11-18 23:55:06.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/unix/ttyname.c 2009-07-15 09:21:32.000000000 +0200 -@@ -28,67 +28,14 @@ - * SUCH DAMAGE. - */ - --#include --#include --#include -+#include "ttyname.h" -+ - #include - #include --#include - #include --#include <_syslist.h> - #include - --static char ttyname_buf[sizeof (_PATH_DEV) + MAXNAMLEN] = _PATH_DEV; -- --/* -- * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -- */ --int --_DEFUN( ttyname_r,(fd, name, namesize), -- int fd _AND -- char *name _AND -- size_t namesize) --{ -- struct stat sb; -- struct dirent *dirp; -- DIR *dp; -- struct stat dsb; -- char buf[sizeof(ttyname_buf)]; -- -- /* Must be a terminal. */ -- if (!isatty(fd)) -- return ENOTTY; -- -- /* Must be a character device. */ -- if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -- return ENOTTY; -- -- if ((dp = opendir (_PATH_DEV)) == NULL) -- return EBADF; -- -- strcpy(buf, _PATH_DEV); -- while ((dirp = readdir (dp)) != NULL) -- { -- if (dirp->d_ino != sb.st_ino) -- continue; -- strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -- if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -- sb.st_ino != dsb.st_ino) -- continue; -- (void) closedir (dp); -- if(strlen(buf) < namesize) /* < to account for terminating null */ -- { -- strcpy(name, buf); -- return 0; -- } -- else -- { -- return ERANGE; -- } -- } -- (void) closedir (dp); -- return EBADF; --} -+static char ttyname_buf[TTYNAME_BUFSIZE] = _PATH_DEV; - - /* - * ttyname() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.h newlib-1.17.0/newlib/libc/unix/ttyname.h ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/unix/ttyname.h 2009-07-15 09:21:32.000000000 +0200 -@@ -0,0 +1,6 @@ -+/* Common defines for ttyname.c and ttyname_r.c */ -+ -+#include /* For MAXNAMLEN */ -+#include /* For _PATH_DEV */ -+ -+#define TTYNAME_BUFSIZE (sizeof (_PATH_DEV) + MAXNAMLEN) -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c newlib-1.17.0/newlib/libc/unix/ttyname_r.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/unix/ttyname_r.c 2009-07-15 09:21:32.000000000 +0200 -@@ -0,0 +1,93 @@ -+#ifndef _NO_TTYNAME -+/* -+ * Copyright (c) 1988 The Regents of the University of California. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include "ttyname.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include <_syslist.h> -+#include -+ -+/* -+ * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -+ */ -+int -+_DEFUN( ttyname_r,(fd, name, namesize), -+ int fd _AND -+ char *name _AND -+ size_t namesize) -+{ -+ struct stat sb; -+ struct dirent *dirp; -+ DIR *dp; -+ struct stat dsb; -+ char buf[TTYNAME_BUFSIZE]; -+ -+ /* Must be a terminal. */ -+ if (!isatty(fd)) -+ return ENOTTY; -+ -+ /* Must be a character device. */ -+ if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -+ return ENOTTY; -+ -+ if ((dp = opendir (_PATH_DEV)) == NULL) -+ return EBADF; -+ -+ strcpy(buf, _PATH_DEV); -+ while ((dirp = readdir (dp)) != NULL) -+ { -+ if (dirp->d_ino != sb.st_ino) -+ continue; -+ strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -+ if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -+ sb.st_ino != dsb.st_ino) -+ continue; -+ (void) closedir (dp); -+ if(strlen(buf) < namesize) /* < to account for terminating null */ -+ { -+ strcpy(name, buf); -+ return 0; -+ } -+ else -+ { -+ return ERANGE; -+ } -+ } -+ (void) closedir (dp); -+ return EBADF; -+} -+ -+#endif /* !_NO_TTYNAME */ -diff -Naur newlib-1.17.0.orig/newlib/Makefile.am newlib-1.17.0/newlib/Makefile.am ---- newlib-1.17.0.orig/newlib/Makefile.am 2008-01-21 19:29:17.000000000 +0100 -+++ newlib-1.17.0/newlib/Makefile.am 2009-07-15 09:21:32.000000000 +0200 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -@@ -186,9 +186,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - -- --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -diff -Naur newlib-1.17.0.orig/newlib/Makefile.in newlib-1.17.0/newlib/Makefile.in ---- newlib-1.17.0.orig/newlib/Makefile.in 2009-06-29 11:05:19.000000000 +0200 -+++ newlib-1.17.0/newlib/Makefile.in 2009-07-15 09:21:32.000000000 +0200 -@@ -106,7 +106,7 @@ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive - toollibDATA_INSTALL = $(INSTALL_DATA) --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - ETAGS = etags - CTAGS = ctags - DEJATOOL = $(PACKAGE) -@@ -350,7 +350,7 @@ - @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ - @USE_LIBTOOL_FALSE@ libc.a - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - toollib_DATA = $(CRT0) $(CRT1) - - # The functions ldexp, frexp and modf are traditionally supplied in -@@ -409,7 +409,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -714,14 +714,16 @@ - done - check-am: - $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU --check: check-recursive -+check: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) check-recursive - all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h - installdirs: installdirs-recursive - installdirs-am: - for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done --install: install-recursive -+install: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive - uninstall: uninstall-recursive -@@ -746,6 +748,7 @@ - maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - clean: clean-recursive - - clean-am: clean-generic clean-libtool clean-toollibLIBRARIES \ -@@ -864,8 +867,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. diff --git a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090906.diff b/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090906.diff deleted file mode 100644 index 1a3b287b77..0000000000 --- a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090906.diff +++ /dev/null @@ -1,1266 +0,0 @@ -diff -Naur newlib-1.17.0.orig/newlib/ChangeLog.rtems newlib-1.17.0/newlib/ChangeLog.rtems ---- newlib-1.17.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/ChangeLog.rtems 2009-09-03 16:22:08.000000000 +0200 -@@ -0,0 +1,63 @@ -+2009-07-27 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add _isatty_r. -+ -+2009-07-06 Joel Sherrill -+ -+ * libc/include/sys/features.h: Define _UNIX98_THREAD_MUTEX_ATTRIBUTES. -+ -+2009-05-05 Ralf Corsépius -+ -+ * configure.host: Remove -DMISSING_SYSCALL_NAMES. -+ -+2009-03-11 Ralf Corsépius -+ -+ * libc/stdlib/assert.c: Don't build __assert_func. -+ * libc/sys/rtems/crt0.c: Add __assert_func. -+ -+2009-03-09 Ralf Corsépius -+ -+ * libc/machine/powerpc/times.c: Remove. -+ * libc/machine/powerpc/Makefile.am: Remove times.c. -+ * libc/machine/powerpc/Makefile.in: Regenerate. -+ -+2009-02-24 Ralf Corsépius -+ -+ * libc/unix/ttyname.c: Sync with newlib-cvs. -+ * configure.host: Add -DHAVE_BLKSIZE to newlib_cflags. -+ -+2009-02-22 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/stdint.h: Add __lm32__. -+ * libc/machine/lm32/configure.in: Set AC_CONFIG_SRC to setjmp.S. -+ * libc/machine/lm32/configure: Regenerate. -+ -+2009-02-20 Ralf Corsépius -+ -+ * libc/unix/Makefile.in: Regenerate. -+ -+2009-02-20 Craig Howland on behalf of -+ Sebastian Huber -+ -+ * libc/unix/ttyname.c: Remove ttyname_r() (to a new file to avoid -+ coupling ttyname_r() and ttyname() due to the latter's large buffer). -+ * libc/unix/ttyname_r.c: New file to hold ttyname_r(), previously in -+ ttyname.c. -+ * libc/unix/ttyname.h: New file (common size definition for the 2 -+ ttyname*c files that are now split). -+ * libc/unix/Makefile.am (ELIX_2_SOURCES): Add ttyname_r.c. -+ -+2009-02-16 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/param.h: -+ Update copyright notice from FreeBSD. -+ Remove HZ. -+ Add #include -+ Remove priority handling (moved to sys/priority.h). -+ Remove CLBYTES (Unused, abandoned in BSD). -+ -+2009-02-06 Ralf Corsépius -+ -+ * libc/include/sched.h: -+ Remove (collides with RTEMS's schedul.h). -+ -diff -Naur newlib-1.17.0.orig/newlib/configure.host newlib-1.17.0/newlib/configure.host ---- newlib-1.17.0.orig/newlib/configure.host 2008-12-18 00:09:09.000000000 +0100 -+++ newlib-1.17.0/newlib/configure.host 2009-09-06 06:37:51.000000000 +0200 -@@ -537,7 +537,7 @@ - *-*-rtems*) - default_newlib_io_long_long="yes" - default_newlib_io_c99_formats="yes" -- newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_FCNTL" -+ newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL" - # turn off unsupported items in posix directory - newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET" - ;; -diff -Naur newlib-1.17.0.orig/newlib/libc/include/inttypes.h newlib-1.17.0/newlib/libc/include/inttypes.h ---- newlib-1.17.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/inttypes.h 2009-09-03 16:22:08.000000000 +0200 -@@ -163,12 +163,12 @@ - - - /* 64-bit types */ --#if __have_longlong64 --#define __PRI64(x) __STRINGIFY(ll##x) --#define __SCN64(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRI64(x) __STRINGIFY(l##x) - #define __SCN64(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRI64(x) __STRINGIFY(ll##x) -+#define __SCN64(x) __STRINGIFY(ll##x) - #else - #define __PRI64(x) __STRINGIFY(x) - #define __SCN64(x) __STRINGIFY(x) -@@ -217,12 +217,12 @@ - #endif - - /* max-bit types */ --#if __have_longlong64 --#define __PRIMAX(x) __STRINGIFY(ll##x) --#define __SCNMAX(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIMAX(x) __STRINGIFY(l##x) - #define __SCNMAX(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIMAX(x) __STRINGIFY(ll##x) -+#define __SCNMAX(x) __STRINGIFY(ll##x) - #else - #define __PRIMAX(x) __STRINGIFY(x) - #define __SCNMAX(x) __STRINGIFY(x) -@@ -242,12 +242,12 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ --#if __have_longlong64 --#define __PRIPTR(x) __STRINGIFY(ll##x) --#define __SCNPTR(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIPTR(x) __STRINGIFY(l##x) - #define __SCNPTR(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIPTR(x) __STRINGIFY(ll##x) -+#define __SCNPTR(x) __STRINGIFY(ll##x) - #else - #define __PRIPTR(x) __STRINGIFY(x) - #define __SCNPTR(x) __STRINGIFY(x) -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.17.0/newlib/libc/include/machine/ieeefp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/machine/ieeefp.h 2009-09-03 16:22:08.000000000 +0200 -@@ -62,8 +62,12 @@ - # define __IEEE_BIG_ENDIAN - # endif - #else --# define __IEEE_BIG_ENDIAN - # ifdef __ARMEL__ -+# define __IEEE_LITTLE_ENDIAN -+# else -+# define __IEEE_BIG_ENDIAN -+# endif -+# ifdef __ARMWEL__ - # define __IEEE_BYTES_LITTLE_ENDIAN - # endif - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.17.0/newlib/libc/include/machine/setjmp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/machine/setjmp.h 2009-09-03 16:22:08.000000000 +0200 -@@ -27,7 +27,7 @@ - - /* necv70 was 9 as well. */ - --#ifdef __mc68000__ -+#if defined(__m68k__) || defined(__mc68000__) - /* - * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, - * fp2-fp7 for 68881. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sched.h newlib-1.17.0/newlib/libc/include/sched.h ---- newlib-1.17.0.orig/newlib/libc/include/sched.h 2007-09-21 23:02:15.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/include/sched.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,14 +0,0 @@ --#ifndef _SCHED_H_ --#define _SCHED_H_ -- --#ifdef __cplusplus --extern "C" { --#endif -- --#include -- --#ifdef __cplusplus --} --#endif -- --#endif /* _SCHED_H_ */ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/stdint.h newlib-1.17.0/newlib/libc/include/stdint.h ---- newlib-1.17.0.orig/newlib/libc/include/stdint.h 2008-12-10 22:27:58.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/stdint.h 2009-09-03 16:22:08.000000000 +0200 -@@ -475,6 +475,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/features.h newlib-1.17.0/newlib/libc/include/sys/features.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/features.h 2008-12-12 18:16:03.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/include/sys/features.h 2009-09-03 16:22:08.000000000 +0200 -@@ -73,6 +73,9 @@ - #define _POSIX_INTERRUPT_CONTROL 1 - #define _POSIX_ADVISORY_INFO 1 - -+/* UNIX98 added some new pthread mutex attributes */ -+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 -+ - #endif - - #ifdef __svr4__ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/_types.h newlib-1.17.0/newlib/libc/include/sys/_types.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/_types.h 2007-09-18 22:05:17.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/include/sys/_types.h 2009-09-03 16:22:08.000000000 +0200 -@@ -84,4 +84,7 @@ - typedef void *_iconv_t; - #endif - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.17.0/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/arm/machine/endian.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,12 +0,0 @@ --/* ARM configuration file */ -- --#ifndef _MACHINE_ENDIAN_H --# define _MACHINE_ENDIAN_H -- --#ifdef __ARMEB__ --#define BYTE_ORDER BIG_ENDIAN --#else --#define BYTE_ORDER LITTLE_ENDIAN --#endif -- --#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure newlib-1.17.0/newlib/libc/machine/lm32/configure ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure 2008-12-22 20:45:44.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/machine/lm32/configure 2009-09-03 16:22:08.000000000 +0200 -@@ -271,7 +271,7 @@ - PACKAGE_STRING='newlib 1.17.0' - PACKAGE_BUGREPORT='' - --ac_unique_file="setjmp.s" -+ac_unique_file="setjmp.S" - 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 MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir LIBOBJS LTLIBOBJS' - ac_subst_files='' - -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in newlib-1.17.0/newlib/libc/machine/lm32/configure.in ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/machine/lm32/configure.in 2009-09-03 16:22:08.000000000 +0200 -@@ -3,7 +3,7 @@ - - AC_PREREQ(2.59) - AC_INIT([newlib],[NEWLIB_VERSION]) --AC_CONFIG_SRCDIR([setjmp.s]) -+AC_CONFIG_SRCDIR([setjmp.S]) - - dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. - AC_CONFIG_AUX_DIR(../../../..) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.am 2009-09-03 16:22:08.000000000 +0200 -@@ -10,7 +10,7 @@ - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.in 2009-09-03 16:22:08.000000000 +0200 -@@ -39,8 +39,7 @@ - DIST_COMMON = $(srcdir)/../../../../config.guess \ - $(srcdir)/../../../../config.sub $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am $(top_srcdir)/configure \ -- $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs \ -- $(srcdir)/../../../../compile -+ $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \ -@@ -54,7 +53,7 @@ - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-times.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I. -I$(srcdir) - depcomp = -@@ -128,11 +127,6 @@ - USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@ - USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@ - VERSION = @VERSION@ --ac_ct_AR = @ac_ct_AR@ --ac_ct_AS = @ac_ct_AS@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_READELF = @ac_ct_READELF@ --ac_ct_STRIP = @ac_ct_STRIP@ - aext = @aext@ - am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ - am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -@@ -148,6 +142,9 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - extra_objs = @extra_objs@ - extra_sources = @extra_sources@ -@@ -156,12 +153,14 @@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -170,8 +169,10 @@ - newlib_basedir = @newlib_basedir@ - oext = @oext@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - sys_dir = @sys_dir@ -@@ -182,7 +183,7 @@ - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -193,7 +194,7 @@ - all: all-am - - .SUFFIXES: --.SUFFIXES: .S .c .o .obj -+.SUFFIXES: .S .o .obj - am--refresh: - @: - $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -@@ -252,18 +253,6 @@ - - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi` -- --.c.o: -- $(COMPILE) -c $< -- --.c.obj: -- $(COMPILE) -c `$(CYGPATH_W) '$<'` -- --lib_a-times.o: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c -- --lib_a-times.obj: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` - uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.17.0/newlib/libc/machine/powerpc/times.c ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/machine/powerpc/times.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,36 +0,0 @@ --/* Time support routines for PowerPC. -- * -- * Written by Aldy Hernandez. -- */ -- --#include <_ansi.h> --#include --#include --#include --#include -- --clock_t --times (struct tms *tp) --{ -- struct rusage usage; -- union { -- struct rusage r; -- /* Newlib's rusage has only 2 fields. We need to make room for -- when we call the system's rusage. This should be enough. */ -- int filler[32]; -- } host_ru; -- -- getrusage (RUSAGE_SELF, (void *)&host_ru); -- -- if (tp) -- { -- tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 -- + host_ru.r.ru_utime.tv_usec; -- tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 -- + host_ru.r.ru_stime.tv_usec; -- tp->tms_cutime = 0; /* user time, children */ -- tp->tms_cstime = 0; /* system time, children */ -- } -- -- return tp->tms_utime; --} -diff -Naur newlib-1.17.0.orig/newlib/libc/stdlib/assert.c newlib-1.17.0/newlib/libc/stdlib/assert.c ---- newlib-1.17.0.orig/newlib/libc/stdlib/assert.c 2007-06-27 14:44:41.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/stdlib/assert.c 2009-09-03 16:22:08.000000000 +0200 -@@ -47,6 +47,9 @@ - #include - #include - -+#if !defined(__rtems__) -+/* RTEMS has a version of its own */ -+ - /* func can be NULL, in which case no function information is given. */ - void - _DEFUN (__assert_func, (file, line, func, failedexpr), -@@ -62,6 +65,7 @@ - abort(); - /* NOTREACHED */ - } -+#endif - - void - _DEFUN (__assert, (file, line, failedexpr), -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c newlib-1.17.0/newlib/libc/sys/rtems/crt0.c ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c 2008-12-12 18:11:33.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/sys/rtems/crt0.c 2009-09-06 06:40:24.000000000 +0200 -@@ -12,15 +12,20 @@ - - #include - -+#include // sigset_t -+#include // struct timespec -+ - void rtems_provides_crt0( void ) {} /* dummy symbol so file always has one */ - --/* RTEMS provides some of its own routines including a Malloc family */ -+#define RTEMS_STUB(ret, func) \ -+ret rtems_stub_##func {}; \ -+ret func - --void *malloc() { return 0; } --void *realloc() { return 0; } --void free() { ; } --void abort() { ; } --int raise() { return -1; } -+/* RTEMS provides some of its own routines including a Malloc family */ -+RTEMS_STUB(void *,malloc(size_t s)) { return 0; } -+RTEMS_STUB(void *,realloc(void* p, size_t s)) { return 0; } -+RTEMS_STUB(void, free(void)) { ; } -+RTEMS_STUB(_PTR, calloc(struct _reent *r, size_t s1, size_t s2)) {} - - #if defined(__GNUC__) - /* -@@ -43,54 +48,88 @@ - int rtems_gxx_recursive_mutex_unlock() { return -1; } - #endif - -+/* stubs for functions RTEMS provides */ -+RTEMS_STUB(int, close (int fd)) { return -1; } -+RTEMS_STUB(int, dup2(int oldfd, int newfd)) { return -1; } -+RTEMS_STUB(int, fcntl( int fd, int cmd, ... /* arg */ )) { return -1; } -+RTEMS_STUB(pid_t, fork(void)) { return -1; } -+RTEMS_STUB(int, fstat(int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, getdents(int fd, void *dp, int count)) { return -1; } -+RTEMS_STUB(char *, getlogin(void)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwnam(const char *name)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwuid(uid_t uid)) { return 0; } -+RTEMS_STUB(uid_t, getuid(void)) { return 0; } -+RTEMS_STUB(int, nanosleep(const struct timespec *req, struct timespec *rem)) { return -1; } -+RTEMS_STUB(_off_t, lseek(int fd, _off_t offset, int whence)) { return -1; } -+RTEMS_STUB(int, lstat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, open(const char *pathname, int flags, int mode)) { return -1; } -+RTEMS_STUB(int, pipe(int pipefd[2])) { return -1; } -+RTEMS_STUB(_ssize_t, read(int fd, void *buf, size_t count)) { return -1; } -+RTEMS_STUB(int, sigfillset(sigset_t *set)) { return -1; } -+RTEMS_STUB(int, sigprocmask(int how, const sigset_t *set, sigset_t *oldset)) { return -1; } -+RTEMS_STUB(int, stat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, unlink(const char *pathname)) { return -1; } -+RTEMS_STUB(pid_t, vfork(void)) { return -1; } -+RTEMS_STUB(int, waitpid (pid_t pid, int *status, int options)) { return -1; } -+RTEMS_STUB(_ssize_t, write (int fd, const void *buf, size_t nbytes)) { return -1; } -+ - /* stubs for functions from reent.h */ --int _close_r (struct _reent *r, int fd) { return -1; } --#if NOT_USED_BY_RTEMS --int _execve_r (struct _reent *r, char *, char **, char **) { return -1; } --#endif --int _fcntl_r ( struct _reent *ptr, int fd, int cmd, int arg ) { return -1;} --#if NOT_USED_BY_RTEMS --int _fork_r (struct _reent *r) { return -1; } --#endif --int _fstat_r (struct _reent *r, int fd, struct stat *buf) { return -1; } --int _getpid_r (struct _reent *r) { return -1; } --int _kill_r ( struct _reent *r, int pid, int sig ) { return -1; } --int _link_r ( struct _reent *ptr, const char *existing, const char *new) { return -1; } --_off_t _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence ) { return -1; } --int _open_r (struct _reent *r, const char *buf, int flags, int mode) { return -1; } --_ssize_t _read_r (struct _reent *r, int fd, void *buf, size_t nbytes) { return -1; } --#if NOT_USED_BY_RTEMS --void *_sbrk_r (struct _reent *r, ptrdiff_t) { return -1; } --#endif --int _stat_r (struct _reent *r, const char *path, struct stat *buf) { return -1; } --_CLOCK_T_ _times_r (struct _reent *r, struct tms *ptms) { return -1; } --int _unlink_r (struct _reent *r, const char *path) { return -1; } --#if NOT_USED_BY_RTEMS --int _wait_r (struct _reent *r, int *) { return -1; } --#endif --_ssize_t _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes) { return -1; } -- --int isatty( int fd ) { return -1; } -- --_realloc_r() {} --_calloc_r() {} --_malloc_r() {} --_free_r() {} -- --/* stubs for functions required by libc/posix */ --int getdents(int fd, void *dp, int count) { return -1; } --struct timespec; --int nanosleep(const struct timespec *req, struct timespec *rem) { return -1; } --int _execve(const char *path, char * const *argv, char * const *envp) { return -1; } --int _exit(int status) { return -1; } -- --/* gcc can implicitly generate references to these */ --/* strcmp() {} */ --/* strcpy() {} */ --/* strlen() {} */ --/* memcmp() {} */ --/* memcpy() {} */ --/* memset() {} */ -+RTEMS_STUB(int, _close_r (struct _reent *r, int fd)) { return -1; } -+#if defined(_NO_EXECVE) -+RTEMS_STUB(int, _execve_r (struct _reent *r, char *, char **, char **)) { return -1; } -+#endif -+RTEMS_STUB(int, _fcntl_r (struct _reent *ptr, int fd, int cmd, int arg )) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+#ifndef NO_FORK -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _fork_r (struct _reent *r)) { return -1; } -+#endif -+#endif -+RTEMS_STUB(int, _fstat_r (struct _reent *r, int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, _getpid_r (struct _reent *r)) { return -1; } -+RTEMS_STUB(int, _gettimeofday_r(struct _reent *r, struct timeval *tp, void *tzp)) { return 0; } -+RTEMS_STUB(int, _isatty_r (struct _reent *r, int fd)) { return isatty( fd ); } -+RTEMS_STUB(int, _kill_r (struct _reent *r, int pid, int sig )) { return -1; } -+#if !defined(REENTRANT_SYSCALLS_PROVIDED) -+/* cf. newlib/libc/reent/linkr.c */ -+RTEMS_STUB(int, _link_r (struct _reent *, const char *, const char *)) { return -1; } -+#endif -+RTEMS_STUB(_off_t, _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence )) { return -1; } -+RTEMS_STUB(int, _open_r (struct _reent *r, const char *buf, int flags, int mode)) { return -1; } -+RTEMS_STUB(_ssize_t, _read_r (struct _reent *r, int fd, void *buf, size_t nbytes)) { return -1; } -+RTEMS_STUB(int, _rename_r (struct _reent *r, const char *a, const char *b)){ return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (MALLOC_PROVIDED)) -+/* cf. newlib/libc/reent/sbrkr.c */ -+RTEMS_STUB(void *,_sbrk_r (struct _reent *r, ptrdiff_t)) { return -1; } -+#endif -+RTEMS_STUB(int, _stat_r (struct _reent *r, const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(_CLOCK_T_, _times_r (struct _reent *r, struct tms *ptms)) { return -1; } -+RTEMS_STUB(int, _unlink_r (struct _reent *r, const char *path)) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _wait_r (struct _reent *r, int *)) { return -1; } -+#endif -+RTEMS_STUB(_ssize_t, _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)) { return -1; } -+ -+ -+RTEMS_STUB(int, _execve(const char *path, char * const *argv, char * const *envp)) { return -1; } -+RTEMS_STUB(void, _exit(int status)) { return ; } -+ -+/* Pulled in by newlib/libc/posix/glob.c */ -+#ifndef _NO_GLOB -+#ifndef __NETBSD_SYSCALLS -+RTEMS_STUB(int, issetugid (void)) { return 0; } -+#endif -+#endif -+ -+/* stdlib.h */ -+RTEMS_STUB(_PTR, _realloc_r(struct _reent *r, _PTR p, size_t s)) {} -+RTEMS_STUB(_PTR, _calloc_r(struct _reent *r, size_t s1, size_t s2)) {} -+RTEMS_STUB(_PTR, _malloc_r(struct _reent *r, size_t s)) {} -+RTEMS_STUB(_VOID, _free_r(struct _reent *r, _PTR p)) {} -+ -+/* stubs for functions required by libc/stdlib */ -+RTEMS_STUB(void, __assert_func(const char *file, int line, const char *failedexpr)) {} - - /* The PowerPC expects certain symbols to be defined in the linker script. */ - -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c~ newlib-1.17.0/newlib/libc/sys/rtems/crt0.c~ ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c~ 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/sys/rtems/crt0.c~ 2009-09-04 17:44:49.000000000 +0200 -@@ -0,0 +1,194 @@ -+/* -+ * RTEMS Fake crt0 -+ * -+ * Each RTEMS BSP provides its own crt0 and linker script. Unfortunately -+ * this means that crt0 and the linker script are not available as -+ * each tool is configured. Without a crt0 and linker script, some -+ * targets do not successfully link "conftest.c" during the configuration -+ * process. So this fake crt0.c provides all the symbols required to -+ * successfully link a program. The resulting program will not run -+ * but this is enough to satisfy the autoconf macro AC_PROG_CC. -+ */ -+ -+#include -+ -+#include // sigset_t -+#include // struct timespec -+ -+void rtems_provides_crt0( void ) {} /* dummy symbol so file always has one */ -+ -+#define RTEMS_STUB(ret, func) \ -+ret rtems_stub_##func {}; \ -+ret func -+ -+/* RTEMS provides some of its own routines including a Malloc family */ -+RTEMS_STUB(void *,malloc(size_t s)) { return 0; } -+RTEMS_STUB(void *,realloc(void* p, size_t s)) { return 0; } -+RTEMS_STUB(void, free(void)) { ; } -+RTEMS_STUB(_PTR, calloc(struct _reent *r, size_t s1, size_t s2)) {} -+ -+#if defined(__GNUC__) -+/* -+ * stubs for libstdc++ rtems-threads support functions from gcc/gthr-rtems.h -+ */ -+int rtems_gxx_once() { return -1; } -+int rtems_gxx_key_create() { return -1; } -+int rtems_gxx_key_delete() { return -1; } -+void *rtems_gxx_getspecific() { return 0; } -+int rtems_gxx_setspecific() { return -1; } -+ -+void rtems_gxx_mutex_init() { } -+int rtems_gxx_mutex_lock() { return -1; } -+int rtems_gxx_mutex_trylock() { return -1; } -+int rtems_gxx_mutex_unlock() { return -1; } -+ -+void rtems_gxx_recursive_mutex_init() { } -+int rtems_gxx_recursive_mutex_lock() { return -1; } -+int rtems_gxx_recursive_mutex_trylock() { return -1; } -+int rtems_gxx_recursive_mutex_unlock() { return -1; } -+#endif -+ -+/* stubs for functions RTEMS provides */ -+RTEMS_STUB(int, close (int fd)) { return -1; } -+RTEMS_STUB(int, dup2(int oldfd, int newfd)) { return -1; } -+RTEMS_STUB(int, fcntl( int fd, int cmd, ... /* arg */ )) { return -1; } -+RTEMS_STUB(pid_t, fork(void)) { return -1; } -+RTEMS_STUB(int, fstat(int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, getdents(int fd, void *dp, int count)) { return -1; } -+RTEMS_STUB(char *, getlogin(void)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwnam(const char *name)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwuid(uid_t uid)) { return 0; } -+RTEMS_STUB(uid_t, getuid(void)) { return 0; } -+RTEMS_STUB(int, nanosleep(const struct timespec *req, struct timespec *rem)) { return -1; } -+RTEMS_STUB(_off_t, lseek(int fd, _off_t offset, int whence)) { return -1; } -+RTEMS_STUB(int, lstat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, open(const char *pathname, int flags, int mode)) { return -1; } -+RTEMS_STUB(int, pipe(int pipefd[2])) { return -1; } -+RTEMS_STUB(_ssize_t, read(int fd, void *buf, size_t count)) { return -1; } -+RTEMS_STUB(int, sigfillset(sigset_t *set)) { return -1; } -+RTEMS_STUB(int, sigprocmask(int how, const sigset_t *set, sigset_t *oldset)) { return -1; } -+RTEMS_STUB(int, stat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, unlink(const char *pathname)) { return -1; } -+RTEMS_STUB(pid_t, vfork(void)) { return -1; } -+RTEMS_STUB(int, waitpid (pid_t pid, int *status, int options)) { return -1; } -+RTEMS_STUB(_ssize_t, write (int fd, const void *buf, size_t nbytes)) { return -1; } -+ -+/* stubs for functions from reent.h */ -+RTEMS_STUB(int, _close_r (struct _reent *r, int fd)) { return -1; } -+#if defined(_NO_EXECVE) -+RTEMS_STUB(int, _execve_r (struct _reent *r, char *, char **, char **)) { return -1; } -+#endif -+RTEMS_STUB(int, _fcntl_r (struct _reent *ptr, int fd, int cmd, int arg )) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+#ifndef NO_FORK -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _fork_r (struct _reent *r)) { return -1; } -+#endif -+#endif -+RTEMS_STUB(int, _fstat_r (struct _reent *r, int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, _getpid_r (struct _reent *r)) { return -1; } -+RTEMS_STUB(int, _gettimeofday_r(struct _reent *r, struct timeval *tp, void *tzp)) { return 0; } -+RTEMS_STUB(int, _isatty_r (struct _reent *r, int fd)) { return isatty( fd ); } -+RTEMS_STUB(int, _kill_r (struct _reent *r, int pid, int sig )) { return -1; } -+#if !defined(REENTRANT_SYSCALLS_PROVIDED) -+/* cf. newlib/libc/reent/linkr.c */ -+RTEMS_STUB(int, _link_r (struct _reent *, const char *, const char *)) { return -1; } -+#endif -+RTEMS_STUB(_off_t, _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence )) { return -1; } -+RTEMS_STUB(int, _open_r (struct _reent *r, const char *buf, int flags, int mode)) { return -1; } -+RTEMS_STUB(_ssize_t, _read_r (struct _reent *r, int fd, void *buf, size_t nbytes)) { return -1; } -+RTEMS_STUB(int, _rename_r (struct _reent *r, const char *a, const char *b)){ return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (MALLOC_PROVIDED)) -+/* cf. newlib/libc/reent/sbrkr.c */ -+RTEMS_STUB(void *,_sbrk_r (struct _reent *r, ptrdiff_t)) { return -1; } -+#endif -+RTEMS_STUB(int, _stat_r (struct _reent *r, const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(_CLOCK_T_, _times_r (struct _reent *r, struct tms *ptms)) { return -1; } -+RTEMS_STUB(int, _unlink_r (struct _reent *r, const char *path)) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _wait_r (struct _reent *r, int *)) { return -1; } -+#endif -+RTEMS_STUB(_ssize_t, _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)) { return -1; } -+ -+ -+RTEMS_STUB(int, _execve(const char *path, char * const *argv, char * const *envp)) { return -1; } -+RTEMS_STUB(void, _exit(int status)) { return ; } -+ -+/* Pulled in by newlib/libc/posix/glob.c */ -+#ifndef __NETBSD_SYSCALLS -+RTEMS_STUB(int, issetugid (void)) { return 0; } -+#endif -+ -+ -+/* stdlib.h */ -+RTEMS_STUB(_PTR, _realloc_r(struct _reent *r, _PTR p, size_t s)) {} -+RTEMS_STUB(_PTR, _calloc_r(struct _reent *r, size_t s1, size_t s2)) {} -+RTEMS_STUB(_PTR, _malloc_r(struct _reent *r, size_t s)) {} -+RTEMS_STUB(_VOID, _free_r(struct _reent *r, _PTR p)) {} -+ -+/* stubs for functions required by libc/stdlib */ -+RTEMS_STUB(void, __assert_func(const char *file, int line, const char *failedexpr)) {} -+ -+/* The PowerPC expects certain symbols to be defined in the linker script. */ -+ -+#if defined(__PPC__) -+ int __SDATA_START__; int __SDATA2_START__; -+ int __GOT_START__; int __GOT_END__; -+ int __GOT2_START__; int __GOT2_END__; -+ int __SBSS_END__; int __SBSS2_END__; -+ int __FIXUP_START__; int __FIXUP_END__; -+ int __EXCEPT_START__; int __EXCEPT_END__; -+ int __init; int __fini; -+ int __CTOR_LIST__; int __CTOR_END__; -+ int __DTOR_LIST__; int __DTOR_END__; -+#endif -+ -+/* The SH expects certain symbols to be defined in the linker script. */ -+ -+#if defined(__sh__) -+int __EH_FRAME_BEGIN__; -+#endif -+ -+/* The hppa expects this to be defined in the real crt0.s. -+ * Also for some reason, the hppa1.1 does not find atexit() -+ * during the AC_PROG_CC tests. -+ */ -+ -+#if defined(__hppa__) -+/* -+ asm ( ".subspa \$GLOBAL\$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40"); -+ asm ( ".export \$global\$" ); -+ asm ( "\$global\$:"); -+*/ -+ -+ asm (".text"); -+ asm (".global"); -+ asm (".EXPORT $$dyncall,ENTRY"); -+ asm ("$$dyncall:"); -+ int atexit(void (*function)(void)) { return 0; } -+#endif -+ -+ -+/* -+ * The AMD a29k generates code expecting the following. -+ */ -+ -+#if defined(_AM29000) || defined(_AM29K) -+asm (".global V_SPILL, V_FILL" ); -+asm (".global V_EPI_OS, V_BSD_OS" ); -+ -+asm (".equ V_SPILL, 64" ); -+asm (".equ V_FILL, 65" ); -+ -+asm (".equ V_BSD_OS, 66" ); -+asm (".equ V_EPI_OS, 69" ); -+#endif -+ -+#if defined(__AVR__) -+/* -+ * Initial stack pointer address "__stack" -+ * hard coded into GCC instead of providing it through ldscripts -+ */ -+const char* __stack ; -+#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.17.0/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/sys/rtems/machine/stdint.h 2009-09-03 16:22:08.000000000 +0200 -@@ -0,0 +1,48 @@ -+/* -+ * -+ */ -+#ifndef _MACHINE_STDINT_H -+#define _MACHINE_STDINT_H -+ -+#ifndef _STDINT_H -+#error machine/stdint.h is an internal file and must not be directly included -+#endif -+ -+#ifndef __rtems__ -+#error machine/stdint.h is an RTEMS specific internal file and must not be used otherwise -+#endif -+ -+#if defined(__m32c__) || defined(__m32r__) || defined(__lm32__) -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_LONG__) -+#define __ptrint_t_long_defined 1 -+#endif -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_INT__) -+#define __ptrint_t_int_defined 1 -+#endif -+#endif -+ -+#if defined(__sparc__) \ -+ || defined(__powerpc__) || defined(__PPC__) \ -+ || defined(__mips__) \ -+ || defined(__sh__) \ -+ || defined(__AVR__) \ -+ || defined(_C4x) || defined(_C3x) \ -+ || defined(__H8300__) -+/* PTRDIFF_TYPE = int */ -+#define __ptrint_t_int_defined 1 -+#endif -+ -+#if defined(__i386__) \ -+ || defined(__m68k__) \ -+ || defined(__bfin__) \ -+ || defined(__arm__) \ -+ || defined(__H8300S__) || defined(__H8300H__) || defined(__H8300SX__) \ -+/* PTRDIFF_TYPE = long */ -+#define __ptrint_t_long_defined 1 -+#endif -+ -+#if !defined(__ptrint_t_int_defined) && !defined(__ptrint_t_long_defined) -+#error Failed to determine ptrint_t -+#endif -+ -+#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.17.0/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h 2008-11-17 23:05:12.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/sys/rtems/sys/param.h 2009-09-03 16:22:08.000000000 +0200 -@@ -15,10 +15,6 @@ - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. -- * 3. All advertising materials mentioning features or use of this software -- * must display the following acknowledgement: -- * This product includes software developed by the University of -- * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. -@@ -47,7 +43,6 @@ - #include - #include - --# define HZ (60) - # define PATHSIZE (1024) - - /* end of from newlib's */ -@@ -86,13 +81,13 @@ - #define MAXHOSTNAMELEN 256 /* max hostname size */ - - /* More types and definitions used throughout the kernel. */ --#ifdef KERNEL -+#if defined(KERNEL) || defined(_KERNEL) - #include - #include - #include - #include --#include - #include -+#include - - #ifndef FALSE - #define FALSE 0 -@@ -109,23 +104,6 @@ - #include - #include - --/* -- * Priorities. Note that with 32 run queues, differences less than 4 are -- * insignificant. -- */ --#define PSWP 0 --#define PVM 4 --#define PINOD 8 --#define PRIBIO 16 --#define PVFS 20 --#define PZERO 22 /* No longer magic, shouldn't be here. XXX */ --#define PSOCK 24 --#define PWAIT 32 --#define PLOCK 36 --#define PPAUSE 40 --#define PUSER 50 --#define MAXPRI 127 /* Priorities range from 0 through MAXPRI. */ -- - #define PRIMASK 0x0ff - #define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */ - -@@ -136,15 +114,6 @@ - #define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ - #define NODEV (dev_t)(-1) /* non-existent device */ - --/* -- * Clustering of hardware pages on machines with ridiculously small -- * page sizes is done here. The paging subsystem deals with units of -- * CLSIZE pte's describing PAGE_SIZE (from machine/machparam.h) pages each. -- */ --#if 0 --#define CLBYTES (CLSIZE*PAGE_SIZE) --#endif -- - #define CBLOCK 128 /* Clist block size, must be a power of 2. */ - #define CBQSIZE (CBLOCK/NBBY) /* Quote bytes/cblock - can do better. */ - /* Data chars/clist. */ -@@ -200,7 +169,7 @@ - #define powerof2(x) ((((x)-1)&(x))==0) - - /* Macros for min/max. */ --#ifndef KERNEL -+#if !(defined(KERNEL) || defined(_KERNEL)) - #define MIN(a,b) (((a)<(b))?(a):(b)) - #define MAX(a,b) (((a)>(b))?(a):(b)) - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.am newlib-1.17.0/newlib/libc/unix/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.am 2006-05-02 00:01:07.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/unix/Makefile.am 2009-09-03 16:22:08.000000000 +0200 -@@ -12,7 +12,8 @@ - - ## Distinguish different EL/IX level interfaces - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.in newlib-1.17.0/newlib/libc/unix/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0/newlib/libc/unix/Makefile.in 2009-09-03 16:22:08.000000000 +0200 -@@ -59,7 +59,7 @@ - lib_a_LIBADD = - am__objects_1 = lib_a-getcwd.$(OBJEXT) lib_a-pread.$(OBJEXT) \ - lib_a-pwrite.$(OBJEXT) lib_a-sigset.$(OBJEXT) --am__objects_2 = lib_a-ttyname.$(OBJEXT) -+am__objects_2 = lib_a-ttyname.$(OBJEXT) lib_a-ttyname_r.$(OBJEXT) - am__objects_3 = lib_a-basename.$(OBJEXT) lib_a-dirname.$(OBJEXT) \ - lib_a-getlogin.$(OBJEXT) lib_a-getpass.$(OBJEXT) \ - lib_a-getpwent.$(OBJEXT) lib_a-getut.$(OBJEXT) -@@ -74,7 +74,7 @@ - LTLIBRARIES = $(noinst_LTLIBRARIES) - libunix_la_LIBADD = - am__objects_5 = getcwd.lo pread.lo pwrite.lo sigset.lo --am__objects_6 = ttyname.lo -+am__objects_6 = ttyname.lo ttyname_r.lo - am__objects_7 = basename.lo dirname.lo getlogin.lo getpass.lo \ - getpwent.lo getut.lo - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_8 = $(am__objects_6) \ -@@ -278,7 +278,8 @@ - sigset.c - - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -@@ -402,6 +403,12 @@ - lib_a-ttyname.obj: ttyname.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname.obj `if test -f 'ttyname.c'; then $(CYGPATH_W) 'ttyname.c'; else $(CYGPATH_W) '$(srcdir)/ttyname.c'; fi` - -+lib_a-ttyname_r.o: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.o `test -f 'ttyname_r.c' || echo '$(srcdir)/'`ttyname_r.c -+ -+lib_a-ttyname_r.obj: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.obj `if test -f 'ttyname_r.c'; then $(CYGPATH_W) 'ttyname_r.c'; else $(CYGPATH_W) '$(srcdir)/ttyname_r.c'; fi` -+ - lib_a-basename.o: basename.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-basename.o `test -f 'basename.c' || echo '$(srcdir)/'`basename.c - -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.c newlib-1.17.0/newlib/libc/unix/ttyname.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.c 2008-11-18 23:55:06.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/unix/ttyname.c 2009-09-03 16:22:08.000000000 +0200 -@@ -28,67 +28,14 @@ - * SUCH DAMAGE. - */ - --#include --#include --#include -+#include "ttyname.h" -+ - #include - #include --#include - #include --#include <_syslist.h> - #include - --static char ttyname_buf[sizeof (_PATH_DEV) + MAXNAMLEN] = _PATH_DEV; -- --/* -- * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -- */ --int --_DEFUN( ttyname_r,(fd, name, namesize), -- int fd _AND -- char *name _AND -- size_t namesize) --{ -- struct stat sb; -- struct dirent *dirp; -- DIR *dp; -- struct stat dsb; -- char buf[sizeof(ttyname_buf)]; -- -- /* Must be a terminal. */ -- if (!isatty(fd)) -- return ENOTTY; -- -- /* Must be a character device. */ -- if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -- return ENOTTY; -- -- if ((dp = opendir (_PATH_DEV)) == NULL) -- return EBADF; -- -- strcpy(buf, _PATH_DEV); -- while ((dirp = readdir (dp)) != NULL) -- { -- if (dirp->d_ino != sb.st_ino) -- continue; -- strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -- if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -- sb.st_ino != dsb.st_ino) -- continue; -- (void) closedir (dp); -- if(strlen(buf) < namesize) /* < to account for terminating null */ -- { -- strcpy(name, buf); -- return 0; -- } -- else -- { -- return ERANGE; -- } -- } -- (void) closedir (dp); -- return EBADF; --} -+static char ttyname_buf[TTYNAME_BUFSIZE] = _PATH_DEV; - - /* - * ttyname() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.h newlib-1.17.0/newlib/libc/unix/ttyname.h ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/unix/ttyname.h 2009-09-03 16:22:08.000000000 +0200 -@@ -0,0 +1,6 @@ -+/* Common defines for ttyname.c and ttyname_r.c */ -+ -+#include /* For MAXNAMLEN */ -+#include /* For _PATH_DEV */ -+ -+#define TTYNAME_BUFSIZE (sizeof (_PATH_DEV) + MAXNAMLEN) -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c newlib-1.17.0/newlib/libc/unix/ttyname_r.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0/newlib/libc/unix/ttyname_r.c 2009-09-03 16:22:08.000000000 +0200 -@@ -0,0 +1,93 @@ -+#ifndef _NO_TTYNAME -+/* -+ * Copyright (c) 1988 The Regents of the University of California. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include "ttyname.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include <_syslist.h> -+#include -+ -+/* -+ * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -+ */ -+int -+_DEFUN( ttyname_r,(fd, name, namesize), -+ int fd _AND -+ char *name _AND -+ size_t namesize) -+{ -+ struct stat sb; -+ struct dirent *dirp; -+ DIR *dp; -+ struct stat dsb; -+ char buf[TTYNAME_BUFSIZE]; -+ -+ /* Must be a terminal. */ -+ if (!isatty(fd)) -+ return ENOTTY; -+ -+ /* Must be a character device. */ -+ if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -+ return ENOTTY; -+ -+ if ((dp = opendir (_PATH_DEV)) == NULL) -+ return EBADF; -+ -+ strcpy(buf, _PATH_DEV); -+ while ((dirp = readdir (dp)) != NULL) -+ { -+ if (dirp->d_ino != sb.st_ino) -+ continue; -+ strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -+ if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -+ sb.st_ino != dsb.st_ino) -+ continue; -+ (void) closedir (dp); -+ if(strlen(buf) < namesize) /* < to account for terminating null */ -+ { -+ strcpy(name, buf); -+ return 0; -+ } -+ else -+ { -+ return ERANGE; -+ } -+ } -+ (void) closedir (dp); -+ return EBADF; -+} -+ -+#endif /* !_NO_TTYNAME */ -diff -Naur newlib-1.17.0.orig/newlib/Makefile.am newlib-1.17.0/newlib/Makefile.am ---- newlib-1.17.0.orig/newlib/Makefile.am 2008-01-21 19:29:17.000000000 +0100 -+++ newlib-1.17.0/newlib/Makefile.am 2009-09-03 16:22:08.000000000 +0200 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -@@ -186,9 +186,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - -- --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -diff -Naur newlib-1.17.0.orig/newlib/Makefile.in newlib-1.17.0/newlib/Makefile.in ---- newlib-1.17.0.orig/newlib/Makefile.in 2009-06-29 11:05:19.000000000 +0200 -+++ newlib-1.17.0/newlib/Makefile.in 2009-09-03 16:22:08.000000000 +0200 -@@ -106,7 +106,7 @@ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive - toollibDATA_INSTALL = $(INSTALL_DATA) --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - ETAGS = etags - CTAGS = ctags - DEJATOOL = $(PACKAGE) -@@ -350,7 +350,7 @@ - @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ - @USE_LIBTOOL_FALSE@ libc.a - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - toollib_DATA = $(CRT0) $(CRT1) - - # The functions ldexp, frexp and modf are traditionally supplied in -@@ -409,7 +409,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -714,14 +714,16 @@ - done - check-am: - $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU --check: check-recursive -+check: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) check-recursive - all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h - installdirs: installdirs-recursive - installdirs-am: - for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done --install: install-recursive -+install: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive - uninstall: uninstall-recursive -@@ -746,6 +748,7 @@ - maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - clean: clean-recursive - - clean-am: clean-generic clean-libtool clean-toollibLIBRARIES \ -@@ -864,8 +867,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. diff --git a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090909.diff b/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090909.diff deleted file mode 100644 index ffa2c7bfbe..0000000000 --- a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090909.diff +++ /dev/null @@ -1,1095 +0,0 @@ -diff -Naur newlib-1.17.0.orig/newlib/ChangeLog.rtems newlib-1.17.0-rtems4.10-20090909/newlib/ChangeLog.rtems ---- newlib-1.17.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/ChangeLog.rtems 2009-09-09 09:07:13.000000000 +0200 -@@ -0,0 +1,75 @@ -+2009-09-09 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_WORDEXP. -+ -+2009-09-06 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add issetugid. -+ -+2009-09-02 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB. -+ -+2009-07-27 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add _isatty_r. -+ -+2009-07-06 Joel Sherrill -+ -+ * libc/include/sys/features.h: Define _UNIX98_THREAD_MUTEX_ATTRIBUTES. -+ -+2009-05-05 Ralf Corsépius -+ -+ * configure.host: Remove -DMISSING_SYSCALL_NAMES. -+ -+2009-03-11 Ralf Corsépius -+ -+ * libc/stdlib/assert.c: Don't build __assert_func. -+ * libc/sys/rtems/crt0.c: Add __assert_func. -+ -+2009-03-09 Ralf Corsépius -+ -+ * libc/machine/powerpc/times.c: Remove. -+ * libc/machine/powerpc/Makefile.am: Remove times.c. -+ * libc/machine/powerpc/Makefile.in: Regenerate. -+ -+2009-02-24 Ralf Corsépius -+ -+ * libc/unix/ttyname.c: Sync with newlib-cvs. -+ * configure.host: Add -DHAVE_BLKSIZE to newlib_cflags. -+ -+2009-02-22 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/stdint.h: Add __lm32__. -+ * libc/machine/lm32/configure.in: Set AC_CONFIG_SRC to setjmp.S. -+ * libc/machine/lm32/configure: Regenerate. -+ -+2009-02-20 Ralf Corsépius -+ -+ * libc/unix/Makefile.in: Regenerate. -+ -+2009-02-20 Craig Howland on behalf of -+ Sebastian Huber -+ -+ * libc/unix/ttyname.c: Remove ttyname_r() (to a new file to avoid -+ coupling ttyname_r() and ttyname() due to the latter's large buffer). -+ * libc/unix/ttyname_r.c: New file to hold ttyname_r(), previously in -+ ttyname.c. -+ * libc/unix/ttyname.h: New file (common size definition for the 2 -+ ttyname*c files that are now split). -+ * libc/unix/Makefile.am (ELIX_2_SOURCES): Add ttyname_r.c. -+ -+2009-02-16 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/param.h: -+ Update copyright notice from FreeBSD. -+ Remove HZ. -+ Add #include -+ Remove priority handling (moved to sys/priority.h). -+ Remove CLBYTES (Unused, abandoned in BSD). -+ -+2009-02-06 Ralf Corsépius -+ -+ * libc/include/sched.h: -+ Remove (collides with RTEMS's schedul.h). -+ -diff -Naur newlib-1.17.0.orig/newlib/configure.host newlib-1.17.0-rtems4.10-20090909/newlib/configure.host ---- newlib-1.17.0.orig/newlib/configure.host 2008-12-18 00:09:09.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/configure.host 2009-09-09 09:04:38.000000000 +0200 -@@ -537,9 +537,9 @@ - *-*-rtems*) - default_newlib_io_long_long="yes" - default_newlib_io_c99_formats="yes" -- newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_FCNTL" -+ newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL" - # turn off unsupported items in posix directory -- newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET" -+ newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP" - ;; - # VxWorks supplies its own version of malloc, and the newlib one - # doesn't work because VxWorks does not have sbrk. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/inttypes.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/inttypes.h ---- newlib-1.17.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/inttypes.h 2009-09-09 09:04:16.000000000 +0200 -@@ -163,12 +163,12 @@ - - - /* 64-bit types */ --#if __have_longlong64 --#define __PRI64(x) __STRINGIFY(ll##x) --#define __SCN64(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRI64(x) __STRINGIFY(l##x) - #define __SCN64(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRI64(x) __STRINGIFY(ll##x) -+#define __SCN64(x) __STRINGIFY(ll##x) - #else - #define __PRI64(x) __STRINGIFY(x) - #define __SCN64(x) __STRINGIFY(x) -@@ -217,12 +217,12 @@ - #endif - - /* max-bit types */ --#if __have_longlong64 --#define __PRIMAX(x) __STRINGIFY(ll##x) --#define __SCNMAX(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIMAX(x) __STRINGIFY(l##x) - #define __SCNMAX(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIMAX(x) __STRINGIFY(ll##x) -+#define __SCNMAX(x) __STRINGIFY(ll##x) - #else - #define __PRIMAX(x) __STRINGIFY(x) - #define __SCNMAX(x) __STRINGIFY(x) -@@ -242,12 +242,12 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ --#if __have_longlong64 --#define __PRIPTR(x) __STRINGIFY(ll##x) --#define __SCNPTR(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIPTR(x) __STRINGIFY(l##x) - #define __SCNPTR(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIPTR(x) __STRINGIFY(ll##x) -+#define __SCNPTR(x) __STRINGIFY(ll##x) - #else - #define __PRIPTR(x) __STRINGIFY(x) - #define __SCNPTR(x) __STRINGIFY(x) -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/machine/ieeefp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/machine/ieeefp.h 2009-09-09 09:04:16.000000000 +0200 -@@ -62,8 +62,12 @@ - # define __IEEE_BIG_ENDIAN - # endif - #else --# define __IEEE_BIG_ENDIAN - # ifdef __ARMEL__ -+# define __IEEE_LITTLE_ENDIAN -+# else -+# define __IEEE_BIG_ENDIAN -+# endif -+# ifdef __ARMWEL__ - # define __IEEE_BYTES_LITTLE_ENDIAN - # endif - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/machine/setjmp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/machine/setjmp.h 2009-09-09 09:04:16.000000000 +0200 -@@ -27,7 +27,7 @@ - - /* necv70 was 9 as well. */ - --#ifdef __mc68000__ -+#if defined(__m68k__) || defined(__mc68000__) - /* - * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, - * fp2-fp7 for 68881. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sched.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/sched.h ---- newlib-1.17.0.orig/newlib/libc/include/sched.h 2007-09-21 23:02:15.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/sched.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,14 +0,0 @@ --#ifndef _SCHED_H_ --#define _SCHED_H_ -- --#ifdef __cplusplus --extern "C" { --#endif -- --#include -- --#ifdef __cplusplus --} --#endif -- --#endif /* _SCHED_H_ */ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/stdint.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/stdint.h ---- newlib-1.17.0.orig/newlib/libc/include/stdint.h 2008-12-10 22:27:58.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/stdint.h 2009-09-09 09:04:16.000000000 +0200 -@@ -475,6 +475,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/features.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/sys/features.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/features.h 2008-12-12 18:16:03.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/sys/features.h 2009-09-09 09:04:16.000000000 +0200 -@@ -73,6 +73,9 @@ - #define _POSIX_INTERRUPT_CONTROL 1 - #define _POSIX_ADVISORY_INFO 1 - -+/* UNIX98 added some new pthread mutex attributes */ -+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 -+ - #endif - - #ifdef __svr4__ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/_types.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/sys/_types.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/_types.h 2007-09-18 22:05:17.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/include/sys/_types.h 2009-09-09 09:04:16.000000000 +0200 -@@ -84,4 +84,7 @@ - typedef void *_iconv_t; - #endif - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/arm/machine/endian.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,12 +0,0 @@ --/* ARM configuration file */ -- --#ifndef _MACHINE_ENDIAN_H --# define _MACHINE_ENDIAN_H -- --#ifdef __ARMEB__ --#define BYTE_ORDER BIG_ENDIAN --#else --#define BYTE_ORDER LITTLE_ENDIAN --#endif -- --#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/lm32/configure ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure 2008-12-22 20:45:44.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/lm32/configure 2009-09-09 09:04:16.000000000 +0200 -@@ -271,7 +271,7 @@ - PACKAGE_STRING='newlib 1.17.0' - PACKAGE_BUGREPORT='' - --ac_unique_file="setjmp.s" -+ac_unique_file="setjmp.S" - 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 MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir LIBOBJS LTLIBOBJS' - ac_subst_files='' - -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/lm32/configure.in ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/lm32/configure.in 2009-09-09 09:04:16.000000000 +0200 -@@ -3,7 +3,7 @@ - - AC_PREREQ(2.59) - AC_INIT([newlib],[NEWLIB_VERSION]) --AC_CONFIG_SRCDIR([setjmp.s]) -+AC_CONFIG_SRCDIR([setjmp.S]) - - dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. - AC_CONFIG_AUX_DIR(../../../..) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/powerpc/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -10,7 +10,7 @@ - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/powerpc/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -39,8 +39,7 @@ - DIST_COMMON = $(srcdir)/../../../../config.guess \ - $(srcdir)/../../../../config.sub $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am $(top_srcdir)/configure \ -- $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs \ -- $(srcdir)/../../../../compile -+ $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \ -@@ -54,7 +53,7 @@ - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-times.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I. -I$(srcdir) - depcomp = -@@ -128,11 +127,6 @@ - USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@ - USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@ - VERSION = @VERSION@ --ac_ct_AR = @ac_ct_AR@ --ac_ct_AS = @ac_ct_AS@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_READELF = @ac_ct_READELF@ --ac_ct_STRIP = @ac_ct_STRIP@ - aext = @aext@ - am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ - am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -@@ -148,6 +142,9 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - extra_objs = @extra_objs@ - extra_sources = @extra_sources@ -@@ -156,12 +153,14 @@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -170,8 +169,10 @@ - newlib_basedir = @newlib_basedir@ - oext = @oext@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - sys_dir = @sys_dir@ -@@ -182,7 +183,7 @@ - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -193,7 +194,7 @@ - all: all-am - - .SUFFIXES: --.SUFFIXES: .S .c .o .obj -+.SUFFIXES: .S .o .obj - am--refresh: - @: - $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -@@ -252,18 +253,6 @@ - - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi` -- --.c.o: -- $(COMPILE) -c $< -- --.c.obj: -- $(COMPILE) -c `$(CYGPATH_W) '$<'` -- --lib_a-times.o: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c -- --lib_a-times.obj: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` - uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/powerpc/times.c ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/machine/powerpc/times.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,36 +0,0 @@ --/* Time support routines for PowerPC. -- * -- * Written by Aldy Hernandez. -- */ -- --#include <_ansi.h> --#include --#include --#include --#include -- --clock_t --times (struct tms *tp) --{ -- struct rusage usage; -- union { -- struct rusage r; -- /* Newlib's rusage has only 2 fields. We need to make room for -- when we call the system's rusage. This should be enough. */ -- int filler[32]; -- } host_ru; -- -- getrusage (RUSAGE_SELF, (void *)&host_ru); -- -- if (tp) -- { -- tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 -- + host_ru.r.ru_utime.tv_usec; -- tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 -- + host_ru.r.ru_stime.tv_usec; -- tp->tms_cutime = 0; /* user time, children */ -- tp->tms_cstime = 0; /* system time, children */ -- } -- -- return tp->tms_utime; --} -diff -Naur newlib-1.17.0.orig/newlib/libc/stdlib/assert.c newlib-1.17.0-rtems4.10-20090909/newlib/libc/stdlib/assert.c ---- newlib-1.17.0.orig/newlib/libc/stdlib/assert.c 2007-06-27 14:44:41.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/stdlib/assert.c 2009-09-09 09:04:16.000000000 +0200 -@@ -47,6 +47,9 @@ - #include - #include - -+#if !defined(__rtems__) -+/* RTEMS has a version of its own */ -+ - /* func can be NULL, in which case no function information is given. */ - void - _DEFUN (__assert_func, (file, line, func, failedexpr), -@@ -62,6 +65,7 @@ - abort(); - /* NOTREACHED */ - } -+#endif - - void - _DEFUN (__assert, (file, line, failedexpr), -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c newlib-1.17.0-rtems4.10-20090909/newlib/libc/sys/rtems/crt0.c ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c 2008-12-12 18:11:33.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/sys/rtems/crt0.c 2009-09-09 09:04:16.000000000 +0200 -@@ -12,15 +12,20 @@ - - #include - -+#include // sigset_t -+#include // struct timespec -+ - void rtems_provides_crt0( void ) {} /* dummy symbol so file always has one */ - --/* RTEMS provides some of its own routines including a Malloc family */ -+#define RTEMS_STUB(ret, func) \ -+ret rtems_stub_##func {}; \ -+ret func - --void *malloc() { return 0; } --void *realloc() { return 0; } --void free() { ; } --void abort() { ; } --int raise() { return -1; } -+/* RTEMS provides some of its own routines including a Malloc family */ -+RTEMS_STUB(void *,malloc(size_t s)) { return 0; } -+RTEMS_STUB(void *,realloc(void* p, size_t s)) { return 0; } -+RTEMS_STUB(void, free(void)) { ; } -+RTEMS_STUB(_PTR, calloc(struct _reent *r, size_t s1, size_t s2)) {} - - #if defined(__GNUC__) - /* -@@ -43,54 +48,88 @@ - int rtems_gxx_recursive_mutex_unlock() { return -1; } - #endif - -+/* stubs for functions RTEMS provides */ -+RTEMS_STUB(int, close (int fd)) { return -1; } -+RTEMS_STUB(int, dup2(int oldfd, int newfd)) { return -1; } -+RTEMS_STUB(int, fcntl( int fd, int cmd, ... /* arg */ )) { return -1; } -+RTEMS_STUB(pid_t, fork(void)) { return -1; } -+RTEMS_STUB(int, fstat(int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, getdents(int fd, void *dp, int count)) { return -1; } -+RTEMS_STUB(char *, getlogin(void)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwnam(const char *name)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwuid(uid_t uid)) { return 0; } -+RTEMS_STUB(uid_t, getuid(void)) { return 0; } -+RTEMS_STUB(int, nanosleep(const struct timespec *req, struct timespec *rem)) { return -1; } -+RTEMS_STUB(_off_t, lseek(int fd, _off_t offset, int whence)) { return -1; } -+RTEMS_STUB(int, lstat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, open(const char *pathname, int flags, int mode)) { return -1; } -+RTEMS_STUB(int, pipe(int pipefd[2])) { return -1; } -+RTEMS_STUB(_ssize_t, read(int fd, void *buf, size_t count)) { return -1; } -+RTEMS_STUB(int, sigfillset(sigset_t *set)) { return -1; } -+RTEMS_STUB(int, sigprocmask(int how, const sigset_t *set, sigset_t *oldset)) { return -1; } -+RTEMS_STUB(int, stat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, unlink(const char *pathname)) { return -1; } -+RTEMS_STUB(pid_t, vfork(void)) { return -1; } -+RTEMS_STUB(int, waitpid (pid_t pid, int *status, int options)) { return -1; } -+RTEMS_STUB(_ssize_t, write (int fd, const void *buf, size_t nbytes)) { return -1; } -+ - /* stubs for functions from reent.h */ --int _close_r (struct _reent *r, int fd) { return -1; } --#if NOT_USED_BY_RTEMS --int _execve_r (struct _reent *r, char *, char **, char **) { return -1; } --#endif --int _fcntl_r ( struct _reent *ptr, int fd, int cmd, int arg ) { return -1;} --#if NOT_USED_BY_RTEMS --int _fork_r (struct _reent *r) { return -1; } --#endif --int _fstat_r (struct _reent *r, int fd, struct stat *buf) { return -1; } --int _getpid_r (struct _reent *r) { return -1; } --int _kill_r ( struct _reent *r, int pid, int sig ) { return -1; } --int _link_r ( struct _reent *ptr, const char *existing, const char *new) { return -1; } --_off_t _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence ) { return -1; } --int _open_r (struct _reent *r, const char *buf, int flags, int mode) { return -1; } --_ssize_t _read_r (struct _reent *r, int fd, void *buf, size_t nbytes) { return -1; } --#if NOT_USED_BY_RTEMS --void *_sbrk_r (struct _reent *r, ptrdiff_t) { return -1; } --#endif --int _stat_r (struct _reent *r, const char *path, struct stat *buf) { return -1; } --_CLOCK_T_ _times_r (struct _reent *r, struct tms *ptms) { return -1; } --int _unlink_r (struct _reent *r, const char *path) { return -1; } --#if NOT_USED_BY_RTEMS --int _wait_r (struct _reent *r, int *) { return -1; } --#endif --_ssize_t _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes) { return -1; } -- --int isatty( int fd ) { return -1; } -- --_realloc_r() {} --_calloc_r() {} --_malloc_r() {} --_free_r() {} -- --/* stubs for functions required by libc/posix */ --int getdents(int fd, void *dp, int count) { return -1; } --struct timespec; --int nanosleep(const struct timespec *req, struct timespec *rem) { return -1; } --int _execve(const char *path, char * const *argv, char * const *envp) { return -1; } --int _exit(int status) { return -1; } -- --/* gcc can implicitly generate references to these */ --/* strcmp() {} */ --/* strcpy() {} */ --/* strlen() {} */ --/* memcmp() {} */ --/* memcpy() {} */ --/* memset() {} */ -+RTEMS_STUB(int, _close_r (struct _reent *r, int fd)) { return -1; } -+#if defined(_NO_EXECVE) -+RTEMS_STUB(int, _execve_r (struct _reent *r, char *, char **, char **)) { return -1; } -+#endif -+RTEMS_STUB(int, _fcntl_r (struct _reent *ptr, int fd, int cmd, int arg )) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+#ifndef NO_FORK -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _fork_r (struct _reent *r)) { return -1; } -+#endif -+#endif -+RTEMS_STUB(int, _fstat_r (struct _reent *r, int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, _getpid_r (struct _reent *r)) { return -1; } -+RTEMS_STUB(int, _gettimeofday_r(struct _reent *r, struct timeval *tp, void *tzp)) { return 0; } -+RTEMS_STUB(int, _isatty_r (struct _reent *r, int fd)) { return isatty( fd ); } -+RTEMS_STUB(int, _kill_r (struct _reent *r, int pid, int sig )) { return -1; } -+#if !defined(REENTRANT_SYSCALLS_PROVIDED) -+/* cf. newlib/libc/reent/linkr.c */ -+RTEMS_STUB(int, _link_r (struct _reent *, const char *, const char *)) { return -1; } -+#endif -+RTEMS_STUB(_off_t, _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence )) { return -1; } -+RTEMS_STUB(int, _open_r (struct _reent *r, const char *buf, int flags, int mode)) { return -1; } -+RTEMS_STUB(_ssize_t, _read_r (struct _reent *r, int fd, void *buf, size_t nbytes)) { return -1; } -+RTEMS_STUB(int, _rename_r (struct _reent *r, const char *a, const char *b)){ return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (MALLOC_PROVIDED)) -+/* cf. newlib/libc/reent/sbrkr.c */ -+RTEMS_STUB(void *,_sbrk_r (struct _reent *r, ptrdiff_t)) { return -1; } -+#endif -+RTEMS_STUB(int, _stat_r (struct _reent *r, const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(_CLOCK_T_, _times_r (struct _reent *r, struct tms *ptms)) { return -1; } -+RTEMS_STUB(int, _unlink_r (struct _reent *r, const char *path)) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _wait_r (struct _reent *r, int *)) { return -1; } -+#endif -+RTEMS_STUB(_ssize_t, _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)) { return -1; } -+ -+ -+RTEMS_STUB(int, _execve(const char *path, char * const *argv, char * const *envp)) { return -1; } -+RTEMS_STUB(void, _exit(int status)) { return ; } -+ -+/* Pulled in by newlib/libc/posix/glob.c */ -+#ifndef _NO_GLOB -+#ifndef __NETBSD_SYSCALLS -+RTEMS_STUB(int, issetugid (void)) { return 0; } -+#endif -+#endif -+ -+/* stdlib.h */ -+RTEMS_STUB(_PTR, _realloc_r(struct _reent *r, _PTR p, size_t s)) {} -+RTEMS_STUB(_PTR, _calloc_r(struct _reent *r, size_t s1, size_t s2)) {} -+RTEMS_STUB(_PTR, _malloc_r(struct _reent *r, size_t s)) {} -+RTEMS_STUB(_VOID, _free_r(struct _reent *r, _PTR p)) {} -+ -+/* stubs for functions required by libc/stdlib */ -+RTEMS_STUB(void, __assert_func(const char *file, int line, const char *failedexpr)) {} - - /* The PowerPC expects certain symbols to be defined in the linker script. */ - -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/sys/rtems/machine/stdint.h 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,48 @@ -+/* -+ * -+ */ -+#ifndef _MACHINE_STDINT_H -+#define _MACHINE_STDINT_H -+ -+#ifndef _STDINT_H -+#error machine/stdint.h is an internal file and must not be directly included -+#endif -+ -+#ifndef __rtems__ -+#error machine/stdint.h is an RTEMS specific internal file and must not be used otherwise -+#endif -+ -+#if defined(__m32c__) || defined(__m32r__) || defined(__lm32__) -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_LONG__) -+#define __ptrint_t_long_defined 1 -+#endif -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_INT__) -+#define __ptrint_t_int_defined 1 -+#endif -+#endif -+ -+#if defined(__sparc__) \ -+ || defined(__powerpc__) || defined(__PPC__) \ -+ || defined(__mips__) \ -+ || defined(__sh__) \ -+ || defined(__AVR__) \ -+ || defined(_C4x) || defined(_C3x) \ -+ || defined(__H8300__) -+/* PTRDIFF_TYPE = int */ -+#define __ptrint_t_int_defined 1 -+#endif -+ -+#if defined(__i386__) \ -+ || defined(__m68k__) \ -+ || defined(__bfin__) \ -+ || defined(__arm__) \ -+ || defined(__H8300S__) || defined(__H8300H__) || defined(__H8300SX__) \ -+/* PTRDIFF_TYPE = long */ -+#define __ptrint_t_long_defined 1 -+#endif -+ -+#if !defined(__ptrint_t_int_defined) && !defined(__ptrint_t_long_defined) -+#error Failed to determine ptrint_t -+#endif -+ -+#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h 2008-11-17 23:05:12.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/sys/rtems/sys/param.h 2009-09-09 09:04:16.000000000 +0200 -@@ -15,10 +15,6 @@ - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. -- * 3. All advertising materials mentioning features or use of this software -- * must display the following acknowledgement: -- * This product includes software developed by the University of -- * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. -@@ -47,7 +43,6 @@ - #include - #include - --# define HZ (60) - # define PATHSIZE (1024) - - /* end of from newlib's */ -@@ -86,13 +81,13 @@ - #define MAXHOSTNAMELEN 256 /* max hostname size */ - - /* More types and definitions used throughout the kernel. */ --#ifdef KERNEL -+#if defined(KERNEL) || defined(_KERNEL) - #include - #include - #include - #include --#include - #include -+#include - - #ifndef FALSE - #define FALSE 0 -@@ -109,23 +104,6 @@ - #include - #include - --/* -- * Priorities. Note that with 32 run queues, differences less than 4 are -- * insignificant. -- */ --#define PSWP 0 --#define PVM 4 --#define PINOD 8 --#define PRIBIO 16 --#define PVFS 20 --#define PZERO 22 /* No longer magic, shouldn't be here. XXX */ --#define PSOCK 24 --#define PWAIT 32 --#define PLOCK 36 --#define PPAUSE 40 --#define PUSER 50 --#define MAXPRI 127 /* Priorities range from 0 through MAXPRI. */ -- - #define PRIMASK 0x0ff - #define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */ - -@@ -136,15 +114,6 @@ - #define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ - #define NODEV (dev_t)(-1) /* non-existent device */ - --/* -- * Clustering of hardware pages on machines with ridiculously small -- * page sizes is done here. The paging subsystem deals with units of -- * CLSIZE pte's describing PAGE_SIZE (from machine/machparam.h) pages each. -- */ --#if 0 --#define CLBYTES (CLSIZE*PAGE_SIZE) --#endif -- - #define CBLOCK 128 /* Clist block size, must be a power of 2. */ - #define CBQSIZE (CBLOCK/NBBY) /* Quote bytes/cblock - can do better. */ - /* Data chars/clist. */ -@@ -200,7 +169,7 @@ - #define powerof2(x) ((((x)-1)&(x))==0) - - /* Macros for min/max. */ --#ifndef KERNEL -+#if !(defined(KERNEL) || defined(_KERNEL)) - #define MIN(a,b) (((a)<(b))?(a):(b)) - #define MAX(a,b) (((a)>(b))?(a):(b)) - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.am newlib-1.17.0-rtems4.10-20090909/newlib/libc/unix/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.am 2006-05-02 00:01:07.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/unix/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -12,7 +12,8 @@ - - ## Distinguish different EL/IX level interfaces - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.in newlib-1.17.0-rtems4.10-20090909/newlib/libc/unix/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/unix/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -59,7 +59,7 @@ - lib_a_LIBADD = - am__objects_1 = lib_a-getcwd.$(OBJEXT) lib_a-pread.$(OBJEXT) \ - lib_a-pwrite.$(OBJEXT) lib_a-sigset.$(OBJEXT) --am__objects_2 = lib_a-ttyname.$(OBJEXT) -+am__objects_2 = lib_a-ttyname.$(OBJEXT) lib_a-ttyname_r.$(OBJEXT) - am__objects_3 = lib_a-basename.$(OBJEXT) lib_a-dirname.$(OBJEXT) \ - lib_a-getlogin.$(OBJEXT) lib_a-getpass.$(OBJEXT) \ - lib_a-getpwent.$(OBJEXT) lib_a-getut.$(OBJEXT) -@@ -74,7 +74,7 @@ - LTLIBRARIES = $(noinst_LTLIBRARIES) - libunix_la_LIBADD = - am__objects_5 = getcwd.lo pread.lo pwrite.lo sigset.lo --am__objects_6 = ttyname.lo -+am__objects_6 = ttyname.lo ttyname_r.lo - am__objects_7 = basename.lo dirname.lo getlogin.lo getpass.lo \ - getpwent.lo getut.lo - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_8 = $(am__objects_6) \ -@@ -278,7 +278,8 @@ - sigset.c - - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -@@ -402,6 +403,12 @@ - lib_a-ttyname.obj: ttyname.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname.obj `if test -f 'ttyname.c'; then $(CYGPATH_W) 'ttyname.c'; else $(CYGPATH_W) '$(srcdir)/ttyname.c'; fi` - -+lib_a-ttyname_r.o: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.o `test -f 'ttyname_r.c' || echo '$(srcdir)/'`ttyname_r.c -+ -+lib_a-ttyname_r.obj: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.obj `if test -f 'ttyname_r.c'; then $(CYGPATH_W) 'ttyname_r.c'; else $(CYGPATH_W) '$(srcdir)/ttyname_r.c'; fi` -+ - lib_a-basename.o: basename.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-basename.o `test -f 'basename.c' || echo '$(srcdir)/'`basename.c - -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.c newlib-1.17.0-rtems4.10-20090909/newlib/libc/unix/ttyname.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.c 2008-11-18 23:55:06.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/unix/ttyname.c 2009-09-09 09:04:16.000000000 +0200 -@@ -28,67 +28,14 @@ - * SUCH DAMAGE. - */ - --#include --#include --#include -+#include "ttyname.h" -+ - #include - #include --#include - #include --#include <_syslist.h> - #include - --static char ttyname_buf[sizeof (_PATH_DEV) + MAXNAMLEN] = _PATH_DEV; -- --/* -- * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -- */ --int --_DEFUN( ttyname_r,(fd, name, namesize), -- int fd _AND -- char *name _AND -- size_t namesize) --{ -- struct stat sb; -- struct dirent *dirp; -- DIR *dp; -- struct stat dsb; -- char buf[sizeof(ttyname_buf)]; -- -- /* Must be a terminal. */ -- if (!isatty(fd)) -- return ENOTTY; -- -- /* Must be a character device. */ -- if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -- return ENOTTY; -- -- if ((dp = opendir (_PATH_DEV)) == NULL) -- return EBADF; -- -- strcpy(buf, _PATH_DEV); -- while ((dirp = readdir (dp)) != NULL) -- { -- if (dirp->d_ino != sb.st_ino) -- continue; -- strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -- if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -- sb.st_ino != dsb.st_ino) -- continue; -- (void) closedir (dp); -- if(strlen(buf) < namesize) /* < to account for terminating null */ -- { -- strcpy(name, buf); -- return 0; -- } -- else -- { -- return ERANGE; -- } -- } -- (void) closedir (dp); -- return EBADF; --} -+static char ttyname_buf[TTYNAME_BUFSIZE] = _PATH_DEV; - - /* - * ttyname() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.h newlib-1.17.0-rtems4.10-20090909/newlib/libc/unix/ttyname.h ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/unix/ttyname.h 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,6 @@ -+/* Common defines for ttyname.c and ttyname_r.c */ -+ -+#include /* For MAXNAMLEN */ -+#include /* For _PATH_DEV */ -+ -+#define TTYNAME_BUFSIZE (sizeof (_PATH_DEV) + MAXNAMLEN) -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c newlib-1.17.0-rtems4.10-20090909/newlib/libc/unix/ttyname_r.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/libc/unix/ttyname_r.c 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,93 @@ -+#ifndef _NO_TTYNAME -+/* -+ * Copyright (c) 1988 The Regents of the University of California. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include "ttyname.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include <_syslist.h> -+#include -+ -+/* -+ * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -+ */ -+int -+_DEFUN( ttyname_r,(fd, name, namesize), -+ int fd _AND -+ char *name _AND -+ size_t namesize) -+{ -+ struct stat sb; -+ struct dirent *dirp; -+ DIR *dp; -+ struct stat dsb; -+ char buf[TTYNAME_BUFSIZE]; -+ -+ /* Must be a terminal. */ -+ if (!isatty(fd)) -+ return ENOTTY; -+ -+ /* Must be a character device. */ -+ if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -+ return ENOTTY; -+ -+ if ((dp = opendir (_PATH_DEV)) == NULL) -+ return EBADF; -+ -+ strcpy(buf, _PATH_DEV); -+ while ((dirp = readdir (dp)) != NULL) -+ { -+ if (dirp->d_ino != sb.st_ino) -+ continue; -+ strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -+ if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -+ sb.st_ino != dsb.st_ino) -+ continue; -+ (void) closedir (dp); -+ if(strlen(buf) < namesize) /* < to account for terminating null */ -+ { -+ strcpy(name, buf); -+ return 0; -+ } -+ else -+ { -+ return ERANGE; -+ } -+ } -+ (void) closedir (dp); -+ return EBADF; -+} -+ -+#endif /* !_NO_TTYNAME */ -diff -Naur newlib-1.17.0.orig/newlib/Makefile.am newlib-1.17.0-rtems4.10-20090909/newlib/Makefile.am ---- newlib-1.17.0.orig/newlib/Makefile.am 2008-01-21 19:29:17.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -@@ -186,9 +186,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - -- --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -diff -Naur newlib-1.17.0.orig/newlib/Makefile.in newlib-1.17.0-rtems4.10-20090909/newlib/Makefile.in ---- newlib-1.17.0.orig/newlib/Makefile.in 2009-06-29 11:05:19.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090909/newlib/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -106,7 +106,7 @@ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive - toollibDATA_INSTALL = $(INSTALL_DATA) --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - ETAGS = etags - CTAGS = ctags - DEJATOOL = $(PACKAGE) -@@ -350,7 +350,7 @@ - @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ - @USE_LIBTOOL_FALSE@ libc.a - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - toollib_DATA = $(CRT0) $(CRT1) - - # The functions ldexp, frexp and modf are traditionally supplied in -@@ -409,7 +409,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -714,14 +714,16 @@ - done - check-am: - $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU --check: check-recursive -+check: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) check-recursive - all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h - installdirs: installdirs-recursive - installdirs-am: - for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done --install: install-recursive -+install: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive - uninstall: uninstall-recursive -@@ -746,6 +748,7 @@ - maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - clean: clean-recursive - - clean-am: clean-generic clean-libtool clean-toollibLIBRARIES \ -@@ -864,8 +867,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -diff -Naur newlib-1.17.0.orig/tmp newlib-1.17.0-rtems4.10-20090909/tmp ---- newlib-1.17.0.orig/tmp 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090909/tmp 2009-09-09 09:06:20.000000000 +0200 -@@ -0,0 +1,8 @@ -+2009-09-06 Ralf Corsépius -+ -+ * lib/sys/rtems/crt0.c: Add issetugid. -+ -+2009-09-02 Ralf Corsépius -+ -+ * lib/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB. -+ diff --git a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090910.diff b/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090910.diff deleted file mode 100644 index 99b67add29..0000000000 --- a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090910.diff +++ /dev/null @@ -1,1103 +0,0 @@ -diff -Naur newlib-1.17.0.orig/newlib/ChangeLog.rtems newlib-1.17.0-rtems4.10-20090910/newlib/ChangeLog.rtems ---- newlib-1.17.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/ChangeLog.rtems 2009-09-10 10:37:39.000000000 +0200 -@@ -0,0 +1,80 @@ -+2009-09-10 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_POPEN. -+ * libc/sys/rtems/crt0.c: Don't provide waitpid unless used. -+ -+2009-09-09 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_WORDEXP. -+ -+2009-09-06 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add issetugid. -+ -+2009-09-02 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB. -+ -+2009-07-27 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add _isatty_r. -+ -+2009-07-06 Joel Sherrill -+ -+ * libc/include/sys/features.h: Define _UNIX98_THREAD_MUTEX_ATTRIBUTES. -+ -+2009-05-05 Ralf Corsépius -+ -+ * configure.host: Remove -DMISSING_SYSCALL_NAMES. -+ -+2009-03-11 Ralf Corsépius -+ -+ * libc/stdlib/assert.c: Don't build __assert_func. -+ * libc/sys/rtems/crt0.c: Add __assert_func. -+ -+2009-03-09 Ralf Corsépius -+ -+ * libc/machine/powerpc/times.c: Remove. -+ * libc/machine/powerpc/Makefile.am: Remove times.c. -+ * libc/machine/powerpc/Makefile.in: Regenerate. -+ -+2009-02-24 Ralf Corsépius -+ -+ * libc/unix/ttyname.c: Sync with newlib-cvs. -+ * configure.host: Add -DHAVE_BLKSIZE to newlib_cflags. -+ -+2009-02-22 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/stdint.h: Add __lm32__. -+ * libc/machine/lm32/configure.in: Set AC_CONFIG_SRC to setjmp.S. -+ * libc/machine/lm32/configure: Regenerate. -+ -+2009-02-20 Ralf Corsépius -+ -+ * libc/unix/Makefile.in: Regenerate. -+ -+2009-02-20 Craig Howland on behalf of -+ Sebastian Huber -+ -+ * libc/unix/ttyname.c: Remove ttyname_r() (to a new file to avoid -+ coupling ttyname_r() and ttyname() due to the latter's large buffer). -+ * libc/unix/ttyname_r.c: New file to hold ttyname_r(), previously in -+ ttyname.c. -+ * libc/unix/ttyname.h: New file (common size definition for the 2 -+ ttyname*c files that are now split). -+ * libc/unix/Makefile.am (ELIX_2_SOURCES): Add ttyname_r.c. -+ -+2009-02-16 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/param.h: -+ Update copyright notice from FreeBSD. -+ Remove HZ. -+ Add #include -+ Remove priority handling (moved to sys/priority.h). -+ Remove CLBYTES (Unused, abandoned in BSD). -+ -+2009-02-06 Ralf Corsépius -+ -+ * libc/include/sched.h: -+ Remove (collides with RTEMS's schedul.h). -+ -diff -Naur newlib-1.17.0.orig/newlib/configure.host newlib-1.17.0-rtems4.10-20090910/newlib/configure.host ---- newlib-1.17.0.orig/newlib/configure.host 2008-12-18 00:09:09.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/configure.host 2009-09-10 10:29:19.000000000 +0200 -@@ -537,9 +537,9 @@ - *-*-rtems*) - default_newlib_io_long_long="yes" - default_newlib_io_c99_formats="yes" -- newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_FCNTL" -+ newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL" - # turn off unsupported items in posix directory -- newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET" -+ newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN" - ;; - # VxWorks supplies its own version of malloc, and the newlib one - # doesn't work because VxWorks does not have sbrk. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/inttypes.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/inttypes.h ---- newlib-1.17.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/inttypes.h 2009-09-09 09:04:16.000000000 +0200 -@@ -163,12 +163,12 @@ - - - /* 64-bit types */ --#if __have_longlong64 --#define __PRI64(x) __STRINGIFY(ll##x) --#define __SCN64(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRI64(x) __STRINGIFY(l##x) - #define __SCN64(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRI64(x) __STRINGIFY(ll##x) -+#define __SCN64(x) __STRINGIFY(ll##x) - #else - #define __PRI64(x) __STRINGIFY(x) - #define __SCN64(x) __STRINGIFY(x) -@@ -217,12 +217,12 @@ - #endif - - /* max-bit types */ --#if __have_longlong64 --#define __PRIMAX(x) __STRINGIFY(ll##x) --#define __SCNMAX(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIMAX(x) __STRINGIFY(l##x) - #define __SCNMAX(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIMAX(x) __STRINGIFY(ll##x) -+#define __SCNMAX(x) __STRINGIFY(ll##x) - #else - #define __PRIMAX(x) __STRINGIFY(x) - #define __SCNMAX(x) __STRINGIFY(x) -@@ -242,12 +242,12 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ --#if __have_longlong64 --#define __PRIPTR(x) __STRINGIFY(ll##x) --#define __SCNPTR(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIPTR(x) __STRINGIFY(l##x) - #define __SCNPTR(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIPTR(x) __STRINGIFY(ll##x) -+#define __SCNPTR(x) __STRINGIFY(ll##x) - #else - #define __PRIPTR(x) __STRINGIFY(x) - #define __SCNPTR(x) __STRINGIFY(x) -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/machine/ieeefp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/machine/ieeefp.h 2009-09-09 09:04:16.000000000 +0200 -@@ -62,8 +62,12 @@ - # define __IEEE_BIG_ENDIAN - # endif - #else --# define __IEEE_BIG_ENDIAN - # ifdef __ARMEL__ -+# define __IEEE_LITTLE_ENDIAN -+# else -+# define __IEEE_BIG_ENDIAN -+# endif -+# ifdef __ARMWEL__ - # define __IEEE_BYTES_LITTLE_ENDIAN - # endif - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/machine/setjmp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/machine/setjmp.h 2009-09-09 09:04:16.000000000 +0200 -@@ -27,7 +27,7 @@ - - /* necv70 was 9 as well. */ - --#ifdef __mc68000__ -+#if defined(__m68k__) || defined(__mc68000__) - /* - * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, - * fp2-fp7 for 68881. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sched.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/sched.h ---- newlib-1.17.0.orig/newlib/libc/include/sched.h 2007-09-21 23:02:15.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/sched.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,14 +0,0 @@ --#ifndef _SCHED_H_ --#define _SCHED_H_ -- --#ifdef __cplusplus --extern "C" { --#endif -- --#include -- --#ifdef __cplusplus --} --#endif -- --#endif /* _SCHED_H_ */ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/stdint.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/stdint.h ---- newlib-1.17.0.orig/newlib/libc/include/stdint.h 2008-12-10 22:27:58.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/stdint.h 2009-09-09 09:04:16.000000000 +0200 -@@ -475,6 +475,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/features.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/sys/features.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/features.h 2008-12-12 18:16:03.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/sys/features.h 2009-09-09 09:04:16.000000000 +0200 -@@ -73,6 +73,9 @@ - #define _POSIX_INTERRUPT_CONTROL 1 - #define _POSIX_ADVISORY_INFO 1 - -+/* UNIX98 added some new pthread mutex attributes */ -+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 -+ - #endif - - #ifdef __svr4__ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/_types.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/sys/_types.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/_types.h 2007-09-18 22:05:17.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/include/sys/_types.h 2009-09-09 09:04:16.000000000 +0200 -@@ -84,4 +84,7 @@ - typedef void *_iconv_t; - #endif - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/arm/machine/endian.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,12 +0,0 @@ --/* ARM configuration file */ -- --#ifndef _MACHINE_ENDIAN_H --# define _MACHINE_ENDIAN_H -- --#ifdef __ARMEB__ --#define BYTE_ORDER BIG_ENDIAN --#else --#define BYTE_ORDER LITTLE_ENDIAN --#endif -- --#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/lm32/configure ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure 2008-12-22 20:45:44.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/lm32/configure 2009-09-09 09:04:16.000000000 +0200 -@@ -271,7 +271,7 @@ - PACKAGE_STRING='newlib 1.17.0' - PACKAGE_BUGREPORT='' - --ac_unique_file="setjmp.s" -+ac_unique_file="setjmp.S" - 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 MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir LIBOBJS LTLIBOBJS' - ac_subst_files='' - -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/lm32/configure.in ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/lm32/configure.in 2009-09-09 09:04:16.000000000 +0200 -@@ -3,7 +3,7 @@ - - AC_PREREQ(2.59) - AC_INIT([newlib],[NEWLIB_VERSION]) --AC_CONFIG_SRCDIR([setjmp.s]) -+AC_CONFIG_SRCDIR([setjmp.S]) - - dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. - AC_CONFIG_AUX_DIR(../../../..) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/powerpc/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -10,7 +10,7 @@ - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/powerpc/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -39,8 +39,7 @@ - DIST_COMMON = $(srcdir)/../../../../config.guess \ - $(srcdir)/../../../../config.sub $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am $(top_srcdir)/configure \ -- $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs \ -- $(srcdir)/../../../../compile -+ $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \ -@@ -54,7 +53,7 @@ - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-times.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I. -I$(srcdir) - depcomp = -@@ -128,11 +127,6 @@ - USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@ - USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@ - VERSION = @VERSION@ --ac_ct_AR = @ac_ct_AR@ --ac_ct_AS = @ac_ct_AS@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_READELF = @ac_ct_READELF@ --ac_ct_STRIP = @ac_ct_STRIP@ - aext = @aext@ - am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ - am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -@@ -148,6 +142,9 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - extra_objs = @extra_objs@ - extra_sources = @extra_sources@ -@@ -156,12 +153,14 @@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -170,8 +169,10 @@ - newlib_basedir = @newlib_basedir@ - oext = @oext@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - sys_dir = @sys_dir@ -@@ -182,7 +183,7 @@ - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -193,7 +194,7 @@ - all: all-am - - .SUFFIXES: --.SUFFIXES: .S .c .o .obj -+.SUFFIXES: .S .o .obj - am--refresh: - @: - $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -@@ -252,18 +253,6 @@ - - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi` -- --.c.o: -- $(COMPILE) -c $< -- --.c.obj: -- $(COMPILE) -c `$(CYGPATH_W) '$<'` -- --lib_a-times.o: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c -- --lib_a-times.obj: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` - uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/powerpc/times.c ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/machine/powerpc/times.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,36 +0,0 @@ --/* Time support routines for PowerPC. -- * -- * Written by Aldy Hernandez. -- */ -- --#include <_ansi.h> --#include --#include --#include --#include -- --clock_t --times (struct tms *tp) --{ -- struct rusage usage; -- union { -- struct rusage r; -- /* Newlib's rusage has only 2 fields. We need to make room for -- when we call the system's rusage. This should be enough. */ -- int filler[32]; -- } host_ru; -- -- getrusage (RUSAGE_SELF, (void *)&host_ru); -- -- if (tp) -- { -- tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 -- + host_ru.r.ru_utime.tv_usec; -- tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 -- + host_ru.r.ru_stime.tv_usec; -- tp->tms_cutime = 0; /* user time, children */ -- tp->tms_cstime = 0; /* system time, children */ -- } -- -- return tp->tms_utime; --} -diff -Naur newlib-1.17.0.orig/newlib/libc/stdlib/assert.c newlib-1.17.0-rtems4.10-20090910/newlib/libc/stdlib/assert.c ---- newlib-1.17.0.orig/newlib/libc/stdlib/assert.c 2007-06-27 14:44:41.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/stdlib/assert.c 2009-09-09 09:04:16.000000000 +0200 -@@ -47,6 +47,9 @@ - #include - #include - -+#if !defined(__rtems__) -+/* RTEMS has a version of its own */ -+ - /* func can be NULL, in which case no function information is given. */ - void - _DEFUN (__assert_func, (file, line, func, failedexpr), -@@ -62,6 +65,7 @@ - abort(); - /* NOTREACHED */ - } -+#endif - - void - _DEFUN (__assert, (file, line, failedexpr), -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c newlib-1.17.0-rtems4.10-20090910/newlib/libc/sys/rtems/crt0.c ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c 2008-12-12 18:11:33.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/sys/rtems/crt0.c 2009-09-10 10:36:18.000000000 +0200 -@@ -12,15 +12,20 @@ - - #include - -+#include // sigset_t -+#include // struct timespec -+ - void rtems_provides_crt0( void ) {} /* dummy symbol so file always has one */ - --/* RTEMS provides some of its own routines including a Malloc family */ -+#define RTEMS_STUB(ret, func) \ -+ret rtems_stub_##func {}; \ -+ret func - --void *malloc() { return 0; } --void *realloc() { return 0; } --void free() { ; } --void abort() { ; } --int raise() { return -1; } -+/* RTEMS provides some of its own routines including a Malloc family */ -+RTEMS_STUB(void *,malloc(size_t s)) { return 0; } -+RTEMS_STUB(void *,realloc(void* p, size_t s)) { return 0; } -+RTEMS_STUB(void, free(void)) { ; } -+RTEMS_STUB(_PTR, calloc(struct _reent *r, size_t s1, size_t s2)) {} - - #if defined(__GNUC__) - /* -@@ -43,54 +48,91 @@ - int rtems_gxx_recursive_mutex_unlock() { return -1; } - #endif - -+/* stubs for functions RTEMS provides */ -+RTEMS_STUB(int, close (int fd)) { return -1; } -+RTEMS_STUB(int, dup2(int oldfd, int newfd)) { return -1; } -+RTEMS_STUB(int, fcntl( int fd, int cmd, ... /* arg */ )) { return -1; } -+RTEMS_STUB(pid_t, fork(void)) { return -1; } -+RTEMS_STUB(int, fstat(int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, getdents(int fd, void *dp, int count)) { return -1; } -+RTEMS_STUB(char *, getlogin(void)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwnam(const char *name)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwuid(uid_t uid)) { return 0; } -+RTEMS_STUB(uid_t, getuid(void)) { return 0; } -+RTEMS_STUB(int, nanosleep(const struct timespec *req, struct timespec *rem)) { return -1; } -+RTEMS_STUB(_off_t, lseek(int fd, _off_t offset, int whence)) { return -1; } -+RTEMS_STUB(int, lstat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, open(const char *pathname, int flags, int mode)) { return -1; } -+RTEMS_STUB(int, pipe(int pipefd[2])) { return -1; } -+RTEMS_STUB(_ssize_t, read(int fd, void *buf, size_t count)) { return -1; } -+RTEMS_STUB(int, sigfillset(sigset_t *set)) { return -1; } -+RTEMS_STUB(int, sigprocmask(int how, const sigset_t *set, sigset_t *oldset)) { return -1; } -+RTEMS_STUB(int, stat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, unlink(const char *pathname)) { return -1; } -+RTEMS_STUB(pid_t, vfork(void)) { return -1; } -+#if !defined(_NO_POPEN) && !defined(_NO_WORDEXP) -+/* pulled in by libc/sys/posix/popen.c and libc/sys/posix/word*.c */ -+RTEMS_STUB(int, waitpid (pid_t pid, int *status, int options)) { return -1; } -+#endif -+RTEMS_STUB(_ssize_t, write (int fd, const void *buf, size_t nbytes)) { return -1; } -+ - /* stubs for functions from reent.h */ --int _close_r (struct _reent *r, int fd) { return -1; } --#if NOT_USED_BY_RTEMS --int _execve_r (struct _reent *r, char *, char **, char **) { return -1; } --#endif --int _fcntl_r ( struct _reent *ptr, int fd, int cmd, int arg ) { return -1;} --#if NOT_USED_BY_RTEMS --int _fork_r (struct _reent *r) { return -1; } --#endif --int _fstat_r (struct _reent *r, int fd, struct stat *buf) { return -1; } --int _getpid_r (struct _reent *r) { return -1; } --int _kill_r ( struct _reent *r, int pid, int sig ) { return -1; } --int _link_r ( struct _reent *ptr, const char *existing, const char *new) { return -1; } --_off_t _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence ) { return -1; } --int _open_r (struct _reent *r, const char *buf, int flags, int mode) { return -1; } --_ssize_t _read_r (struct _reent *r, int fd, void *buf, size_t nbytes) { return -1; } --#if NOT_USED_BY_RTEMS --void *_sbrk_r (struct _reent *r, ptrdiff_t) { return -1; } --#endif --int _stat_r (struct _reent *r, const char *path, struct stat *buf) { return -1; } --_CLOCK_T_ _times_r (struct _reent *r, struct tms *ptms) { return -1; } --int _unlink_r (struct _reent *r, const char *path) { return -1; } --#if NOT_USED_BY_RTEMS --int _wait_r (struct _reent *r, int *) { return -1; } --#endif --_ssize_t _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes) { return -1; } -- --int isatty( int fd ) { return -1; } -- --_realloc_r() {} --_calloc_r() {} --_malloc_r() {} --_free_r() {} -- --/* stubs for functions required by libc/posix */ --int getdents(int fd, void *dp, int count) { return -1; } --struct timespec; --int nanosleep(const struct timespec *req, struct timespec *rem) { return -1; } --int _execve(const char *path, char * const *argv, char * const *envp) { return -1; } --int _exit(int status) { return -1; } -- --/* gcc can implicitly generate references to these */ --/* strcmp() {} */ --/* strcpy() {} */ --/* strlen() {} */ --/* memcmp() {} */ --/* memcpy() {} */ --/* memset() {} */ -+RTEMS_STUB(int, _close_r (struct _reent *r, int fd)) { return -1; } -+#if defined(_NO_EXECVE) -+RTEMS_STUB(int, _execve_r (struct _reent *r, char *, char **, char **)) { return -1; } -+#endif -+RTEMS_STUB(int, _fcntl_r (struct _reent *ptr, int fd, int cmd, int arg )) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+#ifndef NO_FORK -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _fork_r (struct _reent *r)) { return -1; } -+#endif -+#endif -+RTEMS_STUB(int, _fstat_r (struct _reent *r, int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, _getpid_r (struct _reent *r)) { return -1; } -+RTEMS_STUB(int, _gettimeofday_r(struct _reent *r, struct timeval *tp, void *tzp)) { return 0; } -+RTEMS_STUB(int, _isatty_r (struct _reent *r, int fd)) { return isatty( fd ); } -+RTEMS_STUB(int, _kill_r (struct _reent *r, int pid, int sig )) { return -1; } -+#if !defined(REENTRANT_SYSCALLS_PROVIDED) -+/* cf. newlib/libc/reent/linkr.c */ -+RTEMS_STUB(int, _link_r (struct _reent *, const char *, const char *)) { return -1; } -+#endif -+RTEMS_STUB(_off_t, _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence )) { return -1; } -+RTEMS_STUB(int, _open_r (struct _reent *r, const char *buf, int flags, int mode)) { return -1; } -+RTEMS_STUB(_ssize_t, _read_r (struct _reent *r, int fd, void *buf, size_t nbytes)) { return -1; } -+RTEMS_STUB(int, _rename_r (struct _reent *r, const char *a, const char *b)){ return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (MALLOC_PROVIDED)) -+/* cf. newlib/libc/reent/sbrkr.c */ -+RTEMS_STUB(void *,_sbrk_r (struct _reent *r, ptrdiff_t)) { return -1; } -+#endif -+RTEMS_STUB(int, _stat_r (struct _reent *r, const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(_CLOCK_T_, _times_r (struct _reent *r, struct tms *ptms)) { return -1; } -+RTEMS_STUB(int, _unlink_r (struct _reent *r, const char *path)) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _wait_r (struct _reent *r, int *)) { return -1; } -+#endif -+RTEMS_STUB(_ssize_t, _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)) { return -1; } -+ -+ -+RTEMS_STUB(int, _execve(const char *path, char * const *argv, char * const *envp)) { return -1; } -+RTEMS_STUB(void, _exit(int status)) { return ; } -+ -+/* Pulled in by newlib/libc/posix/glob.c */ -+#ifndef _NO_GLOB -+#ifndef __NETBSD_SYSCALLS -+RTEMS_STUB(int, issetugid (void)) { return 0; } -+#endif -+#endif -+ -+/* stdlib.h */ -+RTEMS_STUB(_PTR, _realloc_r(struct _reent *r, _PTR p, size_t s)) {} -+RTEMS_STUB(_PTR, _calloc_r(struct _reent *r, size_t s1, size_t s2)) {} -+RTEMS_STUB(_PTR, _malloc_r(struct _reent *r, size_t s)) {} -+RTEMS_STUB(_VOID, _free_r(struct _reent *r, _PTR p)) {} -+ -+/* stubs for functions required by libc/stdlib */ -+RTEMS_STUB(void, __assert_func(const char *file, int line, const char *failedexpr)) {} - - /* The PowerPC expects certain symbols to be defined in the linker script. */ - -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/sys/rtems/machine/stdint.h 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,48 @@ -+/* -+ * -+ */ -+#ifndef _MACHINE_STDINT_H -+#define _MACHINE_STDINT_H -+ -+#ifndef _STDINT_H -+#error machine/stdint.h is an internal file and must not be directly included -+#endif -+ -+#ifndef __rtems__ -+#error machine/stdint.h is an RTEMS specific internal file and must not be used otherwise -+#endif -+ -+#if defined(__m32c__) || defined(__m32r__) || defined(__lm32__) -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_LONG__) -+#define __ptrint_t_long_defined 1 -+#endif -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_INT__) -+#define __ptrint_t_int_defined 1 -+#endif -+#endif -+ -+#if defined(__sparc__) \ -+ || defined(__powerpc__) || defined(__PPC__) \ -+ || defined(__mips__) \ -+ || defined(__sh__) \ -+ || defined(__AVR__) \ -+ || defined(_C4x) || defined(_C3x) \ -+ || defined(__H8300__) -+/* PTRDIFF_TYPE = int */ -+#define __ptrint_t_int_defined 1 -+#endif -+ -+#if defined(__i386__) \ -+ || defined(__m68k__) \ -+ || defined(__bfin__) \ -+ || defined(__arm__) \ -+ || defined(__H8300S__) || defined(__H8300H__) || defined(__H8300SX__) \ -+/* PTRDIFF_TYPE = long */ -+#define __ptrint_t_long_defined 1 -+#endif -+ -+#if !defined(__ptrint_t_int_defined) && !defined(__ptrint_t_long_defined) -+#error Failed to determine ptrint_t -+#endif -+ -+#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h 2008-11-17 23:05:12.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/sys/rtems/sys/param.h 2009-09-09 09:04:16.000000000 +0200 -@@ -15,10 +15,6 @@ - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. -- * 3. All advertising materials mentioning features or use of this software -- * must display the following acknowledgement: -- * This product includes software developed by the University of -- * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. -@@ -47,7 +43,6 @@ - #include - #include - --# define HZ (60) - # define PATHSIZE (1024) - - /* end of from newlib's */ -@@ -86,13 +81,13 @@ - #define MAXHOSTNAMELEN 256 /* max hostname size */ - - /* More types and definitions used throughout the kernel. */ --#ifdef KERNEL -+#if defined(KERNEL) || defined(_KERNEL) - #include - #include - #include - #include --#include - #include -+#include - - #ifndef FALSE - #define FALSE 0 -@@ -109,23 +104,6 @@ - #include - #include - --/* -- * Priorities. Note that with 32 run queues, differences less than 4 are -- * insignificant. -- */ --#define PSWP 0 --#define PVM 4 --#define PINOD 8 --#define PRIBIO 16 --#define PVFS 20 --#define PZERO 22 /* No longer magic, shouldn't be here. XXX */ --#define PSOCK 24 --#define PWAIT 32 --#define PLOCK 36 --#define PPAUSE 40 --#define PUSER 50 --#define MAXPRI 127 /* Priorities range from 0 through MAXPRI. */ -- - #define PRIMASK 0x0ff - #define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */ - -@@ -136,15 +114,6 @@ - #define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ - #define NODEV (dev_t)(-1) /* non-existent device */ - --/* -- * Clustering of hardware pages on machines with ridiculously small -- * page sizes is done here. The paging subsystem deals with units of -- * CLSIZE pte's describing PAGE_SIZE (from machine/machparam.h) pages each. -- */ --#if 0 --#define CLBYTES (CLSIZE*PAGE_SIZE) --#endif -- - #define CBLOCK 128 /* Clist block size, must be a power of 2. */ - #define CBQSIZE (CBLOCK/NBBY) /* Quote bytes/cblock - can do better. */ - /* Data chars/clist. */ -@@ -200,7 +169,7 @@ - #define powerof2(x) ((((x)-1)&(x))==0) - - /* Macros for min/max. */ --#ifndef KERNEL -+#if !(defined(KERNEL) || defined(_KERNEL)) - #define MIN(a,b) (((a)<(b))?(a):(b)) - #define MAX(a,b) (((a)>(b))?(a):(b)) - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.am newlib-1.17.0-rtems4.10-20090910/newlib/libc/unix/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.am 2006-05-02 00:01:07.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/unix/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -12,7 +12,8 @@ - - ## Distinguish different EL/IX level interfaces - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.in newlib-1.17.0-rtems4.10-20090910/newlib/libc/unix/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/unix/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -59,7 +59,7 @@ - lib_a_LIBADD = - am__objects_1 = lib_a-getcwd.$(OBJEXT) lib_a-pread.$(OBJEXT) \ - lib_a-pwrite.$(OBJEXT) lib_a-sigset.$(OBJEXT) --am__objects_2 = lib_a-ttyname.$(OBJEXT) -+am__objects_2 = lib_a-ttyname.$(OBJEXT) lib_a-ttyname_r.$(OBJEXT) - am__objects_3 = lib_a-basename.$(OBJEXT) lib_a-dirname.$(OBJEXT) \ - lib_a-getlogin.$(OBJEXT) lib_a-getpass.$(OBJEXT) \ - lib_a-getpwent.$(OBJEXT) lib_a-getut.$(OBJEXT) -@@ -74,7 +74,7 @@ - LTLIBRARIES = $(noinst_LTLIBRARIES) - libunix_la_LIBADD = - am__objects_5 = getcwd.lo pread.lo pwrite.lo sigset.lo --am__objects_6 = ttyname.lo -+am__objects_6 = ttyname.lo ttyname_r.lo - am__objects_7 = basename.lo dirname.lo getlogin.lo getpass.lo \ - getpwent.lo getut.lo - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_8 = $(am__objects_6) \ -@@ -278,7 +278,8 @@ - sigset.c - - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -@@ -402,6 +403,12 @@ - lib_a-ttyname.obj: ttyname.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname.obj `if test -f 'ttyname.c'; then $(CYGPATH_W) 'ttyname.c'; else $(CYGPATH_W) '$(srcdir)/ttyname.c'; fi` - -+lib_a-ttyname_r.o: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.o `test -f 'ttyname_r.c' || echo '$(srcdir)/'`ttyname_r.c -+ -+lib_a-ttyname_r.obj: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.obj `if test -f 'ttyname_r.c'; then $(CYGPATH_W) 'ttyname_r.c'; else $(CYGPATH_W) '$(srcdir)/ttyname_r.c'; fi` -+ - lib_a-basename.o: basename.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-basename.o `test -f 'basename.c' || echo '$(srcdir)/'`basename.c - -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.c newlib-1.17.0-rtems4.10-20090910/newlib/libc/unix/ttyname.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.c 2008-11-18 23:55:06.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/unix/ttyname.c 2009-09-09 09:04:16.000000000 +0200 -@@ -28,67 +28,14 @@ - * SUCH DAMAGE. - */ - --#include --#include --#include -+#include "ttyname.h" -+ - #include - #include --#include - #include --#include <_syslist.h> - #include - --static char ttyname_buf[sizeof (_PATH_DEV) + MAXNAMLEN] = _PATH_DEV; -- --/* -- * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -- */ --int --_DEFUN( ttyname_r,(fd, name, namesize), -- int fd _AND -- char *name _AND -- size_t namesize) --{ -- struct stat sb; -- struct dirent *dirp; -- DIR *dp; -- struct stat dsb; -- char buf[sizeof(ttyname_buf)]; -- -- /* Must be a terminal. */ -- if (!isatty(fd)) -- return ENOTTY; -- -- /* Must be a character device. */ -- if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -- return ENOTTY; -- -- if ((dp = opendir (_PATH_DEV)) == NULL) -- return EBADF; -- -- strcpy(buf, _PATH_DEV); -- while ((dirp = readdir (dp)) != NULL) -- { -- if (dirp->d_ino != sb.st_ino) -- continue; -- strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -- if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -- sb.st_ino != dsb.st_ino) -- continue; -- (void) closedir (dp); -- if(strlen(buf) < namesize) /* < to account for terminating null */ -- { -- strcpy(name, buf); -- return 0; -- } -- else -- { -- return ERANGE; -- } -- } -- (void) closedir (dp); -- return EBADF; --} -+static char ttyname_buf[TTYNAME_BUFSIZE] = _PATH_DEV; - - /* - * ttyname() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.h newlib-1.17.0-rtems4.10-20090910/newlib/libc/unix/ttyname.h ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/unix/ttyname.h 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,6 @@ -+/* Common defines for ttyname.c and ttyname_r.c */ -+ -+#include /* For MAXNAMLEN */ -+#include /* For _PATH_DEV */ -+ -+#define TTYNAME_BUFSIZE (sizeof (_PATH_DEV) + MAXNAMLEN) -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c newlib-1.17.0-rtems4.10-20090910/newlib/libc/unix/ttyname_r.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/libc/unix/ttyname_r.c 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,93 @@ -+#ifndef _NO_TTYNAME -+/* -+ * Copyright (c) 1988 The Regents of the University of California. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include "ttyname.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include <_syslist.h> -+#include -+ -+/* -+ * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -+ */ -+int -+_DEFUN( ttyname_r,(fd, name, namesize), -+ int fd _AND -+ char *name _AND -+ size_t namesize) -+{ -+ struct stat sb; -+ struct dirent *dirp; -+ DIR *dp; -+ struct stat dsb; -+ char buf[TTYNAME_BUFSIZE]; -+ -+ /* Must be a terminal. */ -+ if (!isatty(fd)) -+ return ENOTTY; -+ -+ /* Must be a character device. */ -+ if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -+ return ENOTTY; -+ -+ if ((dp = opendir (_PATH_DEV)) == NULL) -+ return EBADF; -+ -+ strcpy(buf, _PATH_DEV); -+ while ((dirp = readdir (dp)) != NULL) -+ { -+ if (dirp->d_ino != sb.st_ino) -+ continue; -+ strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -+ if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -+ sb.st_ino != dsb.st_ino) -+ continue; -+ (void) closedir (dp); -+ if(strlen(buf) < namesize) /* < to account for terminating null */ -+ { -+ strcpy(name, buf); -+ return 0; -+ } -+ else -+ { -+ return ERANGE; -+ } -+ } -+ (void) closedir (dp); -+ return EBADF; -+} -+ -+#endif /* !_NO_TTYNAME */ -diff -Naur newlib-1.17.0.orig/newlib/Makefile.am newlib-1.17.0-rtems4.10-20090910/newlib/Makefile.am ---- newlib-1.17.0.orig/newlib/Makefile.am 2008-01-21 19:29:17.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -@@ -186,9 +186,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - -- --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -diff -Naur newlib-1.17.0.orig/newlib/Makefile.in newlib-1.17.0-rtems4.10-20090910/newlib/Makefile.in ---- newlib-1.17.0.orig/newlib/Makefile.in 2009-06-29 11:05:19.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090910/newlib/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -106,7 +106,7 @@ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive - toollibDATA_INSTALL = $(INSTALL_DATA) --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - ETAGS = etags - CTAGS = ctags - DEJATOOL = $(PACKAGE) -@@ -350,7 +350,7 @@ - @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ - @USE_LIBTOOL_FALSE@ libc.a - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - toollib_DATA = $(CRT0) $(CRT1) - - # The functions ldexp, frexp and modf are traditionally supplied in -@@ -409,7 +409,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -714,14 +714,16 @@ - done - check-am: - $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU --check: check-recursive -+check: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) check-recursive - all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h - installdirs: installdirs-recursive - installdirs-am: - for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done --install: install-recursive -+install: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive - uninstall: uninstall-recursive -@@ -746,6 +748,7 @@ - maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - clean: clean-recursive - - clean-am: clean-generic clean-libtool clean-toollibLIBRARIES \ -@@ -864,8 +867,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -diff -Naur newlib-1.17.0.orig/tmp newlib-1.17.0-rtems4.10-20090910/tmp ---- newlib-1.17.0.orig/tmp 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090910/tmp 2009-09-09 09:06:20.000000000 +0200 -@@ -0,0 +1,8 @@ -+2009-09-06 Ralf Corsépius -+ -+ * lib/sys/rtems/crt0.c: Add issetugid. -+ -+2009-09-02 Ralf Corsépius -+ -+ * lib/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB. -+ diff --git a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090911.diff b/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090911.diff deleted file mode 100644 index 10dc4e6c01..0000000000 --- a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090911.diff +++ /dev/null @@ -1,1116 +0,0 @@ -diff -Naur newlib-1.17.0.orig/newlib/ChangeLog.rtems newlib-1.17.0-rtems4.10-20090911/newlib/ChangeLog.rtems ---- newlib-1.17.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/ChangeLog.rtems 2009-09-11 17:17:44.000000000 +0200 -@@ -0,0 +1,84 @@ -+2009-09-11 Ralf Corsépius -+ -+ * configure.host (m32c): Remove -D_ABORT_PROVIDED. -+ -+2009-09-10 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_POPEN. -+ * libc/sys/rtems/crt0.c: Don't provide waitpid unless used. -+ -+2009-09-09 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_WORDEXP. -+ -+2009-09-06 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add issetugid. -+ -+2009-09-02 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB. -+ -+2009-07-27 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add _isatty_r. -+ -+2009-07-06 Joel Sherrill -+ -+ * libc/include/sys/features.h: Define _UNIX98_THREAD_MUTEX_ATTRIBUTES. -+ -+2009-05-05 Ralf Corsépius -+ -+ * configure.host: Remove -DMISSING_SYSCALL_NAMES. -+ -+2009-03-11 Ralf Corsépius -+ -+ * libc/stdlib/assert.c: Don't build __assert_func. -+ * libc/sys/rtems/crt0.c: Add __assert_func. -+ -+2009-03-09 Ralf Corsépius -+ -+ * libc/machine/powerpc/times.c: Remove. -+ * libc/machine/powerpc/Makefile.am: Remove times.c. -+ * libc/machine/powerpc/Makefile.in: Regenerate. -+ -+2009-02-24 Ralf Corsépius -+ -+ * libc/unix/ttyname.c: Sync with newlib-cvs. -+ * configure.host: Add -DHAVE_BLKSIZE to newlib_cflags. -+ -+2009-02-22 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/stdint.h: Add __lm32__. -+ * libc/machine/lm32/configure.in: Set AC_CONFIG_SRC to setjmp.S. -+ * libc/machine/lm32/configure: Regenerate. -+ -+2009-02-20 Ralf Corsépius -+ -+ * libc/unix/Makefile.in: Regenerate. -+ -+2009-02-20 Craig Howland on behalf of -+ Sebastian Huber -+ -+ * libc/unix/ttyname.c: Remove ttyname_r() (to a new file to avoid -+ coupling ttyname_r() and ttyname() due to the latter's large buffer). -+ * libc/unix/ttyname_r.c: New file to hold ttyname_r(), previously in -+ ttyname.c. -+ * libc/unix/ttyname.h: New file (common size definition for the 2 -+ ttyname*c files that are now split). -+ * libc/unix/Makefile.am (ELIX_2_SOURCES): Add ttyname_r.c. -+ -+2009-02-16 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/param.h: -+ Update copyright notice from FreeBSD. -+ Remove HZ. -+ Add #include -+ Remove priority handling (moved to sys/priority.h). -+ Remove CLBYTES (Unused, abandoned in BSD). -+ -+2009-02-06 Ralf Corsépius -+ -+ * libc/include/sched.h: -+ Remove (collides with RTEMS's schedul.h). -+ -diff -Naur newlib-1.17.0.orig/newlib/configure.host newlib-1.17.0-rtems4.10-20090911/newlib/configure.host ---- newlib-1.17.0.orig/newlib/configure.host 2008-12-18 00:09:09.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/configure.host 2009-09-11 17:17:04.000000000 +0200 -@@ -166,7 +166,7 @@ - ;; - m32c) - machine_dir=m32c -- newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -DABORT_PROVIDED -DSMALL_MEMORY" -+ newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -DSMALL_MEMORY" - ;; - - m32r*) -@@ -537,9 +537,9 @@ - *-*-rtems*) - default_newlib_io_long_long="yes" - default_newlib_io_c99_formats="yes" -- newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_FCNTL" -+ newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL" - # turn off unsupported items in posix directory -- newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET" -+ newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN" - ;; - # VxWorks supplies its own version of malloc, and the newlib one - # doesn't work because VxWorks does not have sbrk. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/inttypes.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/inttypes.h ---- newlib-1.17.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/inttypes.h 2009-09-09 09:04:16.000000000 +0200 -@@ -163,12 +163,12 @@ - - - /* 64-bit types */ --#if __have_longlong64 --#define __PRI64(x) __STRINGIFY(ll##x) --#define __SCN64(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRI64(x) __STRINGIFY(l##x) - #define __SCN64(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRI64(x) __STRINGIFY(ll##x) -+#define __SCN64(x) __STRINGIFY(ll##x) - #else - #define __PRI64(x) __STRINGIFY(x) - #define __SCN64(x) __STRINGIFY(x) -@@ -217,12 +217,12 @@ - #endif - - /* max-bit types */ --#if __have_longlong64 --#define __PRIMAX(x) __STRINGIFY(ll##x) --#define __SCNMAX(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIMAX(x) __STRINGIFY(l##x) - #define __SCNMAX(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIMAX(x) __STRINGIFY(ll##x) -+#define __SCNMAX(x) __STRINGIFY(ll##x) - #else - #define __PRIMAX(x) __STRINGIFY(x) - #define __SCNMAX(x) __STRINGIFY(x) -@@ -242,12 +242,12 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ --#if __have_longlong64 --#define __PRIPTR(x) __STRINGIFY(ll##x) --#define __SCNPTR(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIPTR(x) __STRINGIFY(l##x) - #define __SCNPTR(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIPTR(x) __STRINGIFY(ll##x) -+#define __SCNPTR(x) __STRINGIFY(ll##x) - #else - #define __PRIPTR(x) __STRINGIFY(x) - #define __SCNPTR(x) __STRINGIFY(x) -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/machine/ieeefp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/machine/ieeefp.h 2009-09-09 09:04:16.000000000 +0200 -@@ -62,8 +62,12 @@ - # define __IEEE_BIG_ENDIAN - # endif - #else --# define __IEEE_BIG_ENDIAN - # ifdef __ARMEL__ -+# define __IEEE_LITTLE_ENDIAN -+# else -+# define __IEEE_BIG_ENDIAN -+# endif -+# ifdef __ARMWEL__ - # define __IEEE_BYTES_LITTLE_ENDIAN - # endif - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/machine/setjmp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/machine/setjmp.h 2009-09-09 09:04:16.000000000 +0200 -@@ -27,7 +27,7 @@ - - /* necv70 was 9 as well. */ - --#ifdef __mc68000__ -+#if defined(__m68k__) || defined(__mc68000__) - /* - * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, - * fp2-fp7 for 68881. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sched.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/sched.h ---- newlib-1.17.0.orig/newlib/libc/include/sched.h 2007-09-21 23:02:15.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/sched.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,14 +0,0 @@ --#ifndef _SCHED_H_ --#define _SCHED_H_ -- --#ifdef __cplusplus --extern "C" { --#endif -- --#include -- --#ifdef __cplusplus --} --#endif -- --#endif /* _SCHED_H_ */ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/stdint.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/stdint.h ---- newlib-1.17.0.orig/newlib/libc/include/stdint.h 2008-12-10 22:27:58.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/stdint.h 2009-09-09 09:04:16.000000000 +0200 -@@ -475,6 +475,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/features.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/sys/features.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/features.h 2008-12-12 18:16:03.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/sys/features.h 2009-09-09 09:04:16.000000000 +0200 -@@ -73,6 +73,9 @@ - #define _POSIX_INTERRUPT_CONTROL 1 - #define _POSIX_ADVISORY_INFO 1 - -+/* UNIX98 added some new pthread mutex attributes */ -+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 -+ - #endif - - #ifdef __svr4__ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/_types.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/sys/_types.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/_types.h 2007-09-18 22:05:17.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/include/sys/_types.h 2009-09-09 09:04:16.000000000 +0200 -@@ -84,4 +84,7 @@ - typedef void *_iconv_t; - #endif - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/arm/machine/endian.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,12 +0,0 @@ --/* ARM configuration file */ -- --#ifndef _MACHINE_ENDIAN_H --# define _MACHINE_ENDIAN_H -- --#ifdef __ARMEB__ --#define BYTE_ORDER BIG_ENDIAN --#else --#define BYTE_ORDER LITTLE_ENDIAN --#endif -- --#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/lm32/configure ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure 2008-12-22 20:45:44.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/lm32/configure 2009-09-09 09:04:16.000000000 +0200 -@@ -271,7 +271,7 @@ - PACKAGE_STRING='newlib 1.17.0' - PACKAGE_BUGREPORT='' - --ac_unique_file="setjmp.s" -+ac_unique_file="setjmp.S" - 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 MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir LIBOBJS LTLIBOBJS' - ac_subst_files='' - -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/lm32/configure.in ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/lm32/configure.in 2009-09-09 09:04:16.000000000 +0200 -@@ -3,7 +3,7 @@ - - AC_PREREQ(2.59) - AC_INIT([newlib],[NEWLIB_VERSION]) --AC_CONFIG_SRCDIR([setjmp.s]) -+AC_CONFIG_SRCDIR([setjmp.S]) - - dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. - AC_CONFIG_AUX_DIR(../../../..) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/powerpc/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -10,7 +10,7 @@ - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/powerpc/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -39,8 +39,7 @@ - DIST_COMMON = $(srcdir)/../../../../config.guess \ - $(srcdir)/../../../../config.sub $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am $(top_srcdir)/configure \ -- $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs \ -- $(srcdir)/../../../../compile -+ $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \ -@@ -54,7 +53,7 @@ - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-times.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I. -I$(srcdir) - depcomp = -@@ -128,11 +127,6 @@ - USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@ - USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@ - VERSION = @VERSION@ --ac_ct_AR = @ac_ct_AR@ --ac_ct_AS = @ac_ct_AS@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_READELF = @ac_ct_READELF@ --ac_ct_STRIP = @ac_ct_STRIP@ - aext = @aext@ - am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ - am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -@@ -148,6 +142,9 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - extra_objs = @extra_objs@ - extra_sources = @extra_sources@ -@@ -156,12 +153,14 @@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -170,8 +169,10 @@ - newlib_basedir = @newlib_basedir@ - oext = @oext@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - sys_dir = @sys_dir@ -@@ -182,7 +183,7 @@ - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -193,7 +194,7 @@ - all: all-am - - .SUFFIXES: --.SUFFIXES: .S .c .o .obj -+.SUFFIXES: .S .o .obj - am--refresh: - @: - $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -@@ -252,18 +253,6 @@ - - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi` -- --.c.o: -- $(COMPILE) -c $< -- --.c.obj: -- $(COMPILE) -c `$(CYGPATH_W) '$<'` -- --lib_a-times.o: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c -- --lib_a-times.obj: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` - uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/powerpc/times.c ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/machine/powerpc/times.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,36 +0,0 @@ --/* Time support routines for PowerPC. -- * -- * Written by Aldy Hernandez. -- */ -- --#include <_ansi.h> --#include --#include --#include --#include -- --clock_t --times (struct tms *tp) --{ -- struct rusage usage; -- union { -- struct rusage r; -- /* Newlib's rusage has only 2 fields. We need to make room for -- when we call the system's rusage. This should be enough. */ -- int filler[32]; -- } host_ru; -- -- getrusage (RUSAGE_SELF, (void *)&host_ru); -- -- if (tp) -- { -- tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 -- + host_ru.r.ru_utime.tv_usec; -- tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 -- + host_ru.r.ru_stime.tv_usec; -- tp->tms_cutime = 0; /* user time, children */ -- tp->tms_cstime = 0; /* system time, children */ -- } -- -- return tp->tms_utime; --} -diff -Naur newlib-1.17.0.orig/newlib/libc/stdlib/assert.c newlib-1.17.0-rtems4.10-20090911/newlib/libc/stdlib/assert.c ---- newlib-1.17.0.orig/newlib/libc/stdlib/assert.c 2007-06-27 14:44:41.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/stdlib/assert.c 2009-09-09 09:04:16.000000000 +0200 -@@ -47,6 +47,9 @@ - #include - #include - -+#if !defined(__rtems__) -+/* RTEMS has a version of its own */ -+ - /* func can be NULL, in which case no function information is given. */ - void - _DEFUN (__assert_func, (file, line, func, failedexpr), -@@ -62,6 +65,7 @@ - abort(); - /* NOTREACHED */ - } -+#endif - - void - _DEFUN (__assert, (file, line, failedexpr), -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c newlib-1.17.0-rtems4.10-20090911/newlib/libc/sys/rtems/crt0.c ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c 2008-12-12 18:11:33.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/sys/rtems/crt0.c 2009-09-10 10:36:18.000000000 +0200 -@@ -12,15 +12,20 @@ - - #include - -+#include // sigset_t -+#include // struct timespec -+ - void rtems_provides_crt0( void ) {} /* dummy symbol so file always has one */ - --/* RTEMS provides some of its own routines including a Malloc family */ -+#define RTEMS_STUB(ret, func) \ -+ret rtems_stub_##func {}; \ -+ret func - --void *malloc() { return 0; } --void *realloc() { return 0; } --void free() { ; } --void abort() { ; } --int raise() { return -1; } -+/* RTEMS provides some of its own routines including a Malloc family */ -+RTEMS_STUB(void *,malloc(size_t s)) { return 0; } -+RTEMS_STUB(void *,realloc(void* p, size_t s)) { return 0; } -+RTEMS_STUB(void, free(void)) { ; } -+RTEMS_STUB(_PTR, calloc(struct _reent *r, size_t s1, size_t s2)) {} - - #if defined(__GNUC__) - /* -@@ -43,54 +48,91 @@ - int rtems_gxx_recursive_mutex_unlock() { return -1; } - #endif - -+/* stubs for functions RTEMS provides */ -+RTEMS_STUB(int, close (int fd)) { return -1; } -+RTEMS_STUB(int, dup2(int oldfd, int newfd)) { return -1; } -+RTEMS_STUB(int, fcntl( int fd, int cmd, ... /* arg */ )) { return -1; } -+RTEMS_STUB(pid_t, fork(void)) { return -1; } -+RTEMS_STUB(int, fstat(int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, getdents(int fd, void *dp, int count)) { return -1; } -+RTEMS_STUB(char *, getlogin(void)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwnam(const char *name)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwuid(uid_t uid)) { return 0; } -+RTEMS_STUB(uid_t, getuid(void)) { return 0; } -+RTEMS_STUB(int, nanosleep(const struct timespec *req, struct timespec *rem)) { return -1; } -+RTEMS_STUB(_off_t, lseek(int fd, _off_t offset, int whence)) { return -1; } -+RTEMS_STUB(int, lstat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, open(const char *pathname, int flags, int mode)) { return -1; } -+RTEMS_STUB(int, pipe(int pipefd[2])) { return -1; } -+RTEMS_STUB(_ssize_t, read(int fd, void *buf, size_t count)) { return -1; } -+RTEMS_STUB(int, sigfillset(sigset_t *set)) { return -1; } -+RTEMS_STUB(int, sigprocmask(int how, const sigset_t *set, sigset_t *oldset)) { return -1; } -+RTEMS_STUB(int, stat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, unlink(const char *pathname)) { return -1; } -+RTEMS_STUB(pid_t, vfork(void)) { return -1; } -+#if !defined(_NO_POPEN) && !defined(_NO_WORDEXP) -+/* pulled in by libc/sys/posix/popen.c and libc/sys/posix/word*.c */ -+RTEMS_STUB(int, waitpid (pid_t pid, int *status, int options)) { return -1; } -+#endif -+RTEMS_STUB(_ssize_t, write (int fd, const void *buf, size_t nbytes)) { return -1; } -+ - /* stubs for functions from reent.h */ --int _close_r (struct _reent *r, int fd) { return -1; } --#if NOT_USED_BY_RTEMS --int _execve_r (struct _reent *r, char *, char **, char **) { return -1; } --#endif --int _fcntl_r ( struct _reent *ptr, int fd, int cmd, int arg ) { return -1;} --#if NOT_USED_BY_RTEMS --int _fork_r (struct _reent *r) { return -1; } --#endif --int _fstat_r (struct _reent *r, int fd, struct stat *buf) { return -1; } --int _getpid_r (struct _reent *r) { return -1; } --int _kill_r ( struct _reent *r, int pid, int sig ) { return -1; } --int _link_r ( struct _reent *ptr, const char *existing, const char *new) { return -1; } --_off_t _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence ) { return -1; } --int _open_r (struct _reent *r, const char *buf, int flags, int mode) { return -1; } --_ssize_t _read_r (struct _reent *r, int fd, void *buf, size_t nbytes) { return -1; } --#if NOT_USED_BY_RTEMS --void *_sbrk_r (struct _reent *r, ptrdiff_t) { return -1; } --#endif --int _stat_r (struct _reent *r, const char *path, struct stat *buf) { return -1; } --_CLOCK_T_ _times_r (struct _reent *r, struct tms *ptms) { return -1; } --int _unlink_r (struct _reent *r, const char *path) { return -1; } --#if NOT_USED_BY_RTEMS --int _wait_r (struct _reent *r, int *) { return -1; } --#endif --_ssize_t _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes) { return -1; } -- --int isatty( int fd ) { return -1; } -- --_realloc_r() {} --_calloc_r() {} --_malloc_r() {} --_free_r() {} -- --/* stubs for functions required by libc/posix */ --int getdents(int fd, void *dp, int count) { return -1; } --struct timespec; --int nanosleep(const struct timespec *req, struct timespec *rem) { return -1; } --int _execve(const char *path, char * const *argv, char * const *envp) { return -1; } --int _exit(int status) { return -1; } -- --/* gcc can implicitly generate references to these */ --/* strcmp() {} */ --/* strcpy() {} */ --/* strlen() {} */ --/* memcmp() {} */ --/* memcpy() {} */ --/* memset() {} */ -+RTEMS_STUB(int, _close_r (struct _reent *r, int fd)) { return -1; } -+#if defined(_NO_EXECVE) -+RTEMS_STUB(int, _execve_r (struct _reent *r, char *, char **, char **)) { return -1; } -+#endif -+RTEMS_STUB(int, _fcntl_r (struct _reent *ptr, int fd, int cmd, int arg )) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+#ifndef NO_FORK -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _fork_r (struct _reent *r)) { return -1; } -+#endif -+#endif -+RTEMS_STUB(int, _fstat_r (struct _reent *r, int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, _getpid_r (struct _reent *r)) { return -1; } -+RTEMS_STUB(int, _gettimeofday_r(struct _reent *r, struct timeval *tp, void *tzp)) { return 0; } -+RTEMS_STUB(int, _isatty_r (struct _reent *r, int fd)) { return isatty( fd ); } -+RTEMS_STUB(int, _kill_r (struct _reent *r, int pid, int sig )) { return -1; } -+#if !defined(REENTRANT_SYSCALLS_PROVIDED) -+/* cf. newlib/libc/reent/linkr.c */ -+RTEMS_STUB(int, _link_r (struct _reent *, const char *, const char *)) { return -1; } -+#endif -+RTEMS_STUB(_off_t, _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence )) { return -1; } -+RTEMS_STUB(int, _open_r (struct _reent *r, const char *buf, int flags, int mode)) { return -1; } -+RTEMS_STUB(_ssize_t, _read_r (struct _reent *r, int fd, void *buf, size_t nbytes)) { return -1; } -+RTEMS_STUB(int, _rename_r (struct _reent *r, const char *a, const char *b)){ return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (MALLOC_PROVIDED)) -+/* cf. newlib/libc/reent/sbrkr.c */ -+RTEMS_STUB(void *,_sbrk_r (struct _reent *r, ptrdiff_t)) { return -1; } -+#endif -+RTEMS_STUB(int, _stat_r (struct _reent *r, const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(_CLOCK_T_, _times_r (struct _reent *r, struct tms *ptms)) { return -1; } -+RTEMS_STUB(int, _unlink_r (struct _reent *r, const char *path)) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _wait_r (struct _reent *r, int *)) { return -1; } -+#endif -+RTEMS_STUB(_ssize_t, _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)) { return -1; } -+ -+ -+RTEMS_STUB(int, _execve(const char *path, char * const *argv, char * const *envp)) { return -1; } -+RTEMS_STUB(void, _exit(int status)) { return ; } -+ -+/* Pulled in by newlib/libc/posix/glob.c */ -+#ifndef _NO_GLOB -+#ifndef __NETBSD_SYSCALLS -+RTEMS_STUB(int, issetugid (void)) { return 0; } -+#endif -+#endif -+ -+/* stdlib.h */ -+RTEMS_STUB(_PTR, _realloc_r(struct _reent *r, _PTR p, size_t s)) {} -+RTEMS_STUB(_PTR, _calloc_r(struct _reent *r, size_t s1, size_t s2)) {} -+RTEMS_STUB(_PTR, _malloc_r(struct _reent *r, size_t s)) {} -+RTEMS_STUB(_VOID, _free_r(struct _reent *r, _PTR p)) {} -+ -+/* stubs for functions required by libc/stdlib */ -+RTEMS_STUB(void, __assert_func(const char *file, int line, const char *failedexpr)) {} - - /* The PowerPC expects certain symbols to be defined in the linker script. */ - -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/sys/rtems/machine/stdint.h 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,48 @@ -+/* -+ * -+ */ -+#ifndef _MACHINE_STDINT_H -+#define _MACHINE_STDINT_H -+ -+#ifndef _STDINT_H -+#error machine/stdint.h is an internal file and must not be directly included -+#endif -+ -+#ifndef __rtems__ -+#error machine/stdint.h is an RTEMS specific internal file and must not be used otherwise -+#endif -+ -+#if defined(__m32c__) || defined(__m32r__) || defined(__lm32__) -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_LONG__) -+#define __ptrint_t_long_defined 1 -+#endif -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_INT__) -+#define __ptrint_t_int_defined 1 -+#endif -+#endif -+ -+#if defined(__sparc__) \ -+ || defined(__powerpc__) || defined(__PPC__) \ -+ || defined(__mips__) \ -+ || defined(__sh__) \ -+ || defined(__AVR__) \ -+ || defined(_C4x) || defined(_C3x) \ -+ || defined(__H8300__) -+/* PTRDIFF_TYPE = int */ -+#define __ptrint_t_int_defined 1 -+#endif -+ -+#if defined(__i386__) \ -+ || defined(__m68k__) \ -+ || defined(__bfin__) \ -+ || defined(__arm__) \ -+ || defined(__H8300S__) || defined(__H8300H__) || defined(__H8300SX__) \ -+/* PTRDIFF_TYPE = long */ -+#define __ptrint_t_long_defined 1 -+#endif -+ -+#if !defined(__ptrint_t_int_defined) && !defined(__ptrint_t_long_defined) -+#error Failed to determine ptrint_t -+#endif -+ -+#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h 2008-11-17 23:05:12.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/sys/rtems/sys/param.h 2009-09-09 09:04:16.000000000 +0200 -@@ -15,10 +15,6 @@ - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. -- * 3. All advertising materials mentioning features or use of this software -- * must display the following acknowledgement: -- * This product includes software developed by the University of -- * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. -@@ -47,7 +43,6 @@ - #include - #include - --# define HZ (60) - # define PATHSIZE (1024) - - /* end of from newlib's */ -@@ -86,13 +81,13 @@ - #define MAXHOSTNAMELEN 256 /* max hostname size */ - - /* More types and definitions used throughout the kernel. */ --#ifdef KERNEL -+#if defined(KERNEL) || defined(_KERNEL) - #include - #include - #include - #include --#include - #include -+#include - - #ifndef FALSE - #define FALSE 0 -@@ -109,23 +104,6 @@ - #include - #include - --/* -- * Priorities. Note that with 32 run queues, differences less than 4 are -- * insignificant. -- */ --#define PSWP 0 --#define PVM 4 --#define PINOD 8 --#define PRIBIO 16 --#define PVFS 20 --#define PZERO 22 /* No longer magic, shouldn't be here. XXX */ --#define PSOCK 24 --#define PWAIT 32 --#define PLOCK 36 --#define PPAUSE 40 --#define PUSER 50 --#define MAXPRI 127 /* Priorities range from 0 through MAXPRI. */ -- - #define PRIMASK 0x0ff - #define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */ - -@@ -136,15 +114,6 @@ - #define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ - #define NODEV (dev_t)(-1) /* non-existent device */ - --/* -- * Clustering of hardware pages on machines with ridiculously small -- * page sizes is done here. The paging subsystem deals with units of -- * CLSIZE pte's describing PAGE_SIZE (from machine/machparam.h) pages each. -- */ --#if 0 --#define CLBYTES (CLSIZE*PAGE_SIZE) --#endif -- - #define CBLOCK 128 /* Clist block size, must be a power of 2. */ - #define CBQSIZE (CBLOCK/NBBY) /* Quote bytes/cblock - can do better. */ - /* Data chars/clist. */ -@@ -200,7 +169,7 @@ - #define powerof2(x) ((((x)-1)&(x))==0) - - /* Macros for min/max. */ --#ifndef KERNEL -+#if !(defined(KERNEL) || defined(_KERNEL)) - #define MIN(a,b) (((a)<(b))?(a):(b)) - #define MAX(a,b) (((a)>(b))?(a):(b)) - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.am newlib-1.17.0-rtems4.10-20090911/newlib/libc/unix/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.am 2006-05-02 00:01:07.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/unix/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -12,7 +12,8 @@ - - ## Distinguish different EL/IX level interfaces - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.in newlib-1.17.0-rtems4.10-20090911/newlib/libc/unix/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/unix/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -59,7 +59,7 @@ - lib_a_LIBADD = - am__objects_1 = lib_a-getcwd.$(OBJEXT) lib_a-pread.$(OBJEXT) \ - lib_a-pwrite.$(OBJEXT) lib_a-sigset.$(OBJEXT) --am__objects_2 = lib_a-ttyname.$(OBJEXT) -+am__objects_2 = lib_a-ttyname.$(OBJEXT) lib_a-ttyname_r.$(OBJEXT) - am__objects_3 = lib_a-basename.$(OBJEXT) lib_a-dirname.$(OBJEXT) \ - lib_a-getlogin.$(OBJEXT) lib_a-getpass.$(OBJEXT) \ - lib_a-getpwent.$(OBJEXT) lib_a-getut.$(OBJEXT) -@@ -74,7 +74,7 @@ - LTLIBRARIES = $(noinst_LTLIBRARIES) - libunix_la_LIBADD = - am__objects_5 = getcwd.lo pread.lo pwrite.lo sigset.lo --am__objects_6 = ttyname.lo -+am__objects_6 = ttyname.lo ttyname_r.lo - am__objects_7 = basename.lo dirname.lo getlogin.lo getpass.lo \ - getpwent.lo getut.lo - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_8 = $(am__objects_6) \ -@@ -278,7 +278,8 @@ - sigset.c - - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -@@ -402,6 +403,12 @@ - lib_a-ttyname.obj: ttyname.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname.obj `if test -f 'ttyname.c'; then $(CYGPATH_W) 'ttyname.c'; else $(CYGPATH_W) '$(srcdir)/ttyname.c'; fi` - -+lib_a-ttyname_r.o: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.o `test -f 'ttyname_r.c' || echo '$(srcdir)/'`ttyname_r.c -+ -+lib_a-ttyname_r.obj: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.obj `if test -f 'ttyname_r.c'; then $(CYGPATH_W) 'ttyname_r.c'; else $(CYGPATH_W) '$(srcdir)/ttyname_r.c'; fi` -+ - lib_a-basename.o: basename.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-basename.o `test -f 'basename.c' || echo '$(srcdir)/'`basename.c - -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.c newlib-1.17.0-rtems4.10-20090911/newlib/libc/unix/ttyname.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.c 2008-11-18 23:55:06.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/unix/ttyname.c 2009-09-09 09:04:16.000000000 +0200 -@@ -28,67 +28,14 @@ - * SUCH DAMAGE. - */ - --#include --#include --#include -+#include "ttyname.h" -+ - #include - #include --#include - #include --#include <_syslist.h> - #include - --static char ttyname_buf[sizeof (_PATH_DEV) + MAXNAMLEN] = _PATH_DEV; -- --/* -- * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -- */ --int --_DEFUN( ttyname_r,(fd, name, namesize), -- int fd _AND -- char *name _AND -- size_t namesize) --{ -- struct stat sb; -- struct dirent *dirp; -- DIR *dp; -- struct stat dsb; -- char buf[sizeof(ttyname_buf)]; -- -- /* Must be a terminal. */ -- if (!isatty(fd)) -- return ENOTTY; -- -- /* Must be a character device. */ -- if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -- return ENOTTY; -- -- if ((dp = opendir (_PATH_DEV)) == NULL) -- return EBADF; -- -- strcpy(buf, _PATH_DEV); -- while ((dirp = readdir (dp)) != NULL) -- { -- if (dirp->d_ino != sb.st_ino) -- continue; -- strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -- if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -- sb.st_ino != dsb.st_ino) -- continue; -- (void) closedir (dp); -- if(strlen(buf) < namesize) /* < to account for terminating null */ -- { -- strcpy(name, buf); -- return 0; -- } -- else -- { -- return ERANGE; -- } -- } -- (void) closedir (dp); -- return EBADF; --} -+static char ttyname_buf[TTYNAME_BUFSIZE] = _PATH_DEV; - - /* - * ttyname() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.h newlib-1.17.0-rtems4.10-20090911/newlib/libc/unix/ttyname.h ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/unix/ttyname.h 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,6 @@ -+/* Common defines for ttyname.c and ttyname_r.c */ -+ -+#include /* For MAXNAMLEN */ -+#include /* For _PATH_DEV */ -+ -+#define TTYNAME_BUFSIZE (sizeof (_PATH_DEV) + MAXNAMLEN) -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c newlib-1.17.0-rtems4.10-20090911/newlib/libc/unix/ttyname_r.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/libc/unix/ttyname_r.c 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,93 @@ -+#ifndef _NO_TTYNAME -+/* -+ * Copyright (c) 1988 The Regents of the University of California. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include "ttyname.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include <_syslist.h> -+#include -+ -+/* -+ * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -+ */ -+int -+_DEFUN( ttyname_r,(fd, name, namesize), -+ int fd _AND -+ char *name _AND -+ size_t namesize) -+{ -+ struct stat sb; -+ struct dirent *dirp; -+ DIR *dp; -+ struct stat dsb; -+ char buf[TTYNAME_BUFSIZE]; -+ -+ /* Must be a terminal. */ -+ if (!isatty(fd)) -+ return ENOTTY; -+ -+ /* Must be a character device. */ -+ if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -+ return ENOTTY; -+ -+ if ((dp = opendir (_PATH_DEV)) == NULL) -+ return EBADF; -+ -+ strcpy(buf, _PATH_DEV); -+ while ((dirp = readdir (dp)) != NULL) -+ { -+ if (dirp->d_ino != sb.st_ino) -+ continue; -+ strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -+ if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -+ sb.st_ino != dsb.st_ino) -+ continue; -+ (void) closedir (dp); -+ if(strlen(buf) < namesize) /* < to account for terminating null */ -+ { -+ strcpy(name, buf); -+ return 0; -+ } -+ else -+ { -+ return ERANGE; -+ } -+ } -+ (void) closedir (dp); -+ return EBADF; -+} -+ -+#endif /* !_NO_TTYNAME */ -diff -Naur newlib-1.17.0.orig/newlib/Makefile.am newlib-1.17.0-rtems4.10-20090911/newlib/Makefile.am ---- newlib-1.17.0.orig/newlib/Makefile.am 2008-01-21 19:29:17.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -@@ -186,9 +186,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - -- --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -diff -Naur newlib-1.17.0.orig/newlib/Makefile.in newlib-1.17.0-rtems4.10-20090911/newlib/Makefile.in ---- newlib-1.17.0.orig/newlib/Makefile.in 2009-06-29 11:05:19.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090911/newlib/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -106,7 +106,7 @@ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive - toollibDATA_INSTALL = $(INSTALL_DATA) --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - ETAGS = etags - CTAGS = ctags - DEJATOOL = $(PACKAGE) -@@ -350,7 +350,7 @@ - @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ - @USE_LIBTOOL_FALSE@ libc.a - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - toollib_DATA = $(CRT0) $(CRT1) - - # The functions ldexp, frexp and modf are traditionally supplied in -@@ -409,7 +409,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -714,14 +714,16 @@ - done - check-am: - $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU --check: check-recursive -+check: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) check-recursive - all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h - installdirs: installdirs-recursive - installdirs-am: - for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done --install: install-recursive -+install: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive - uninstall: uninstall-recursive -@@ -746,6 +748,7 @@ - maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - clean: clean-recursive - - clean-am: clean-generic clean-libtool clean-toollibLIBRARIES \ -@@ -864,8 +867,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -diff -Naur newlib-1.17.0.orig/tmp newlib-1.17.0-rtems4.10-20090911/tmp ---- newlib-1.17.0.orig/tmp 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090911/tmp 2009-09-09 09:06:20.000000000 +0200 -@@ -0,0 +1,8 @@ -+2009-09-06 Ralf Corsépius -+ -+ * lib/sys/rtems/crt0.c: Add issetugid. -+ -+2009-09-02 Ralf Corsépius -+ -+ * lib/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB. -+ diff --git a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090916.diff b/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090916.diff deleted file mode 100644 index cad9695637..0000000000 --- a/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20090916.diff +++ /dev/null @@ -1,1127 +0,0 @@ -diff -Naur newlib-1.17.0.orig/newlib/ChangeLog.rtems newlib-1.17.0-rtems4.10-20090916/newlib/ChangeLog.rtems ---- newlib-1.17.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/ChangeLog.rtems 2009-09-16 09:41:00.000000000 +0200 -@@ -0,0 +1,93 @@ -+2009-09-16 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Use while(1) in _exit stub to silence GCC "noreturn" -+ warning. -+ -+2009-09-15 Ralf Corsépius -+ -+ * libc/include/stdlib.h: Add posix_memalign. -+ -+2009-09-11 Ralf Corsépius -+ -+ * configure.host (m32c): Remove -D_ABORT_PROVIDED. -+ -+2009-09-10 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_POPEN. -+ * libc/sys/rtems/crt0.c: Don't provide waitpid unless used. -+ -+2009-09-09 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_WORDEXP. -+ -+2009-09-06 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add issetugid. -+ -+2009-09-02 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB. -+ -+2009-07-27 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add _isatty_r. -+ -+2009-07-06 Joel Sherrill -+ -+ * libc/include/sys/features.h: Define _UNIX98_THREAD_MUTEX_ATTRIBUTES. -+ -+2009-05-05 Ralf Corsépius -+ -+ * configure.host: Remove -DMISSING_SYSCALL_NAMES. -+ -+2009-03-11 Ralf Corsépius -+ -+ * libc/stdlib/assert.c: Don't build __assert_func. -+ * libc/sys/rtems/crt0.c: Add __assert_func. -+ -+2009-03-09 Ralf Corsépius -+ -+ * libc/machine/powerpc/times.c: Remove. -+ * libc/machine/powerpc/Makefile.am: Remove times.c. -+ * libc/machine/powerpc/Makefile.in: Regenerate. -+ -+2009-02-24 Ralf Corsépius -+ -+ * libc/unix/ttyname.c: Sync with newlib-cvs. -+ * configure.host: Add -DHAVE_BLKSIZE to newlib_cflags. -+ -+2009-02-22 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/stdint.h: Add __lm32__. -+ * libc/machine/lm32/configure.in: Set AC_CONFIG_SRC to setjmp.S. -+ * libc/machine/lm32/configure: Regenerate. -+ -+2009-02-20 Ralf Corsépius -+ -+ * libc/unix/Makefile.in: Regenerate. -+ -+2009-02-20 Craig Howland on behalf of -+ Sebastian Huber -+ -+ * libc/unix/ttyname.c: Remove ttyname_r() (to a new file to avoid -+ coupling ttyname_r() and ttyname() due to the latter's large buffer). -+ * libc/unix/ttyname_r.c: New file to hold ttyname_r(), previously in -+ ttyname.c. -+ * libc/unix/ttyname.h: New file (common size definition for the 2 -+ ttyname*c files that are now split). -+ * libc/unix/Makefile.am (ELIX_2_SOURCES): Add ttyname_r.c. -+ -+2009-02-16 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/param.h: -+ Update copyright notice from FreeBSD. -+ Remove HZ. -+ Add #include -+ Remove priority handling (moved to sys/priority.h). -+ Remove CLBYTES (Unused, abandoned in BSD). -+ -+2009-02-06 Ralf Corsépius -+ -+ * libc/include/sched.h: -+ Remove (collides with RTEMS's schedul.h). -+ -diff -Naur newlib-1.17.0.orig/newlib/configure.host newlib-1.17.0-rtems4.10-20090916/newlib/configure.host ---- newlib-1.17.0.orig/newlib/configure.host 2008-12-18 00:09:09.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/configure.host 2009-09-11 17:17:04.000000000 +0200 -@@ -166,7 +166,7 @@ - ;; - m32c) - machine_dir=m32c -- newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -DABORT_PROVIDED -DSMALL_MEMORY" -+ newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -DSMALL_MEMORY" - ;; - - m32r*) -@@ -537,9 +537,9 @@ - *-*-rtems*) - default_newlib_io_long_long="yes" - default_newlib_io_c99_formats="yes" -- newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_FCNTL" -+ newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL" - # turn off unsupported items in posix directory -- newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET" -+ newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN" - ;; - # VxWorks supplies its own version of malloc, and the newlib one - # doesn't work because VxWorks does not have sbrk. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/inttypes.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/inttypes.h ---- newlib-1.17.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/inttypes.h 2009-09-09 09:04:16.000000000 +0200 -@@ -163,12 +163,12 @@ - - - /* 64-bit types */ --#if __have_longlong64 --#define __PRI64(x) __STRINGIFY(ll##x) --#define __SCN64(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRI64(x) __STRINGIFY(l##x) - #define __SCN64(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRI64(x) __STRINGIFY(ll##x) -+#define __SCN64(x) __STRINGIFY(ll##x) - #else - #define __PRI64(x) __STRINGIFY(x) - #define __SCN64(x) __STRINGIFY(x) -@@ -217,12 +217,12 @@ - #endif - - /* max-bit types */ --#if __have_longlong64 --#define __PRIMAX(x) __STRINGIFY(ll##x) --#define __SCNMAX(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIMAX(x) __STRINGIFY(l##x) - #define __SCNMAX(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIMAX(x) __STRINGIFY(ll##x) -+#define __SCNMAX(x) __STRINGIFY(ll##x) - #else - #define __PRIMAX(x) __STRINGIFY(x) - #define __SCNMAX(x) __STRINGIFY(x) -@@ -242,12 +242,12 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ --#if __have_longlong64 --#define __PRIPTR(x) __STRINGIFY(ll##x) --#define __SCNPTR(x) __STRINGIFY(ll##x) --#elif __have_long64 -+#if __have_long64 - #define __PRIPTR(x) __STRINGIFY(l##x) - #define __SCNPTR(x) __STRINGIFY(l##x) -+#elif __have_longlong64 -+#define __PRIPTR(x) __STRINGIFY(ll##x) -+#define __SCNPTR(x) __STRINGIFY(ll##x) - #else - #define __PRIPTR(x) __STRINGIFY(x) - #define __SCNPTR(x) __STRINGIFY(x) -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/machine/ieeefp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/machine/ieeefp.h 2009-09-09 09:04:16.000000000 +0200 -@@ -62,8 +62,12 @@ - # define __IEEE_BIG_ENDIAN - # endif - #else --# define __IEEE_BIG_ENDIAN - # ifdef __ARMEL__ -+# define __IEEE_LITTLE_ENDIAN -+# else -+# define __IEEE_BIG_ENDIAN -+# endif -+# ifdef __ARMWEL__ - # define __IEEE_BYTES_LITTLE_ENDIAN - # endif - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/machine/setjmp.h ---- newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/machine/setjmp.h 2009-09-09 09:04:16.000000000 +0200 -@@ -27,7 +27,7 @@ - - /* necv70 was 9 as well. */ - --#ifdef __mc68000__ -+#if defined(__m68k__) || defined(__mc68000__) - /* - * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, - * fp2-fp7 for 68881. -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sched.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/sched.h ---- newlib-1.17.0.orig/newlib/libc/include/sched.h 2007-09-21 23:02:15.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/sched.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,14 +0,0 @@ --#ifndef _SCHED_H_ --#define _SCHED_H_ -- --#ifdef __cplusplus --extern "C" { --#endif -- --#include -- --#ifdef __cplusplus --} --#endif -- --#endif /* _SCHED_H_ */ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/stdint.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/stdint.h ---- newlib-1.17.0.orig/newlib/libc/include/stdint.h 2008-12-10 22:27:58.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/stdint.h 2009-09-09 09:04:16.000000000 +0200 -@@ -475,6 +475,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -Naur newlib-1.17.0.orig/newlib/libc/include/stdlib.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/stdlib.h ---- newlib-1.17.0.orig/newlib/libc/include/stdlib.h 2008-11-19 21:55:52.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/stdlib.h 2009-09-16 09:41:24.000000000 +0200 -@@ -182,6 +182,10 @@ - int _EXFUN(_unsetenv_r,(struct _reent *, const char *__string)); - #endif - -+#ifdef __rtems__ -+int _EXFUN(posix_memalign,(void **, size_t, size_t)); -+#endif -+ - #endif /* ! __STRICT_ANSI__ */ - - char * _EXFUN(_dtoa_r,(struct _reent *, double, int, int, int *, int*, char**)); -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/features.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/sys/features.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/features.h 2008-12-12 18:16:03.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/sys/features.h 2009-09-09 09:04:16.000000000 +0200 -@@ -73,6 +73,9 @@ - #define _POSIX_INTERRUPT_CONTROL 1 - #define _POSIX_ADVISORY_INFO 1 - -+/* UNIX98 added some new pthread mutex attributes */ -+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 -+ - #endif - - #ifdef __svr4__ -diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/_types.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/sys/_types.h ---- newlib-1.17.0.orig/newlib/libc/include/sys/_types.h 2007-09-18 22:05:17.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/include/sys/_types.h 2009-09-09 09:04:16.000000000 +0200 -@@ -84,4 +84,7 @@ - typedef void *_iconv_t; - #endif - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/arm/machine/endian.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,12 +0,0 @@ --/* ARM configuration file */ -- --#ifndef _MACHINE_ENDIAN_H --# define _MACHINE_ENDIAN_H -- --#ifdef __ARMEB__ --#define BYTE_ORDER BIG_ENDIAN --#else --#define BYTE_ORDER LITTLE_ENDIAN --#endif -- --#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/lm32/configure ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure 2008-12-22 20:45:44.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/lm32/configure 2009-09-09 09:04:16.000000000 +0200 -@@ -271,7 +271,7 @@ - PACKAGE_STRING='newlib 1.17.0' - PACKAGE_BUGREPORT='' - --ac_unique_file="setjmp.s" -+ac_unique_file="setjmp.S" - 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 MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir LIBOBJS LTLIBOBJS' - ac_subst_files='' - -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/lm32/configure.in ---- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in 2008-12-11 21:05:38.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/lm32/configure.in 2009-09-09 09:04:16.000000000 +0200 -@@ -3,7 +3,7 @@ - - AC_PREREQ(2.59) - AC_INIT([newlib],[NEWLIB_VERSION]) --AC_CONFIG_SRCDIR([setjmp.s]) -+AC_CONFIG_SRCDIR([setjmp.S]) - - dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. - AC_CONFIG_AUX_DIR(../../../..) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/powerpc/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -10,7 +10,7 @@ - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/powerpc/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -39,8 +39,7 @@ - DIST_COMMON = $(srcdir)/../../../../config.guess \ - $(srcdir)/../../../../config.sub $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am $(top_srcdir)/configure \ -- $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs \ -- $(srcdir)/../../../../compile -+ $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \ -@@ -54,7 +53,7 @@ - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-times.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I. -I$(srcdir) - depcomp = -@@ -128,11 +127,6 @@ - USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@ - USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@ - VERSION = @VERSION@ --ac_ct_AR = @ac_ct_AR@ --ac_ct_AS = @ac_ct_AS@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_READELF = @ac_ct_READELF@ --ac_ct_STRIP = @ac_ct_STRIP@ - aext = @aext@ - am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ - am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -@@ -148,6 +142,9 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - extra_objs = @extra_objs@ - extra_sources = @extra_sources@ -@@ -156,12 +153,14 @@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -170,8 +169,10 @@ - newlib_basedir = @newlib_basedir@ - oext = @oext@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - sys_dir = @sys_dir@ -@@ -182,7 +183,7 @@ - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -193,7 +194,7 @@ - all: all-am - - .SUFFIXES: --.SUFFIXES: .S .c .o .obj -+.SUFFIXES: .S .o .obj - am--refresh: - @: - $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -@@ -252,18 +253,6 @@ - - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi` -- --.c.o: -- $(COMPILE) -c $< -- --.c.obj: -- $(COMPILE) -c `$(CYGPATH_W) '$<'` -- --lib_a-times.o: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c -- --lib_a-times.obj: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` - uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/powerpc/times.c ---- newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/machine/powerpc/times.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,36 +0,0 @@ --/* Time support routines for PowerPC. -- * -- * Written by Aldy Hernandez. -- */ -- --#include <_ansi.h> --#include --#include --#include --#include -- --clock_t --times (struct tms *tp) --{ -- struct rusage usage; -- union { -- struct rusage r; -- /* Newlib's rusage has only 2 fields. We need to make room for -- when we call the system's rusage. This should be enough. */ -- int filler[32]; -- } host_ru; -- -- getrusage (RUSAGE_SELF, (void *)&host_ru); -- -- if (tp) -- { -- tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 -- + host_ru.r.ru_utime.tv_usec; -- tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 -- + host_ru.r.ru_stime.tv_usec; -- tp->tms_cutime = 0; /* user time, children */ -- tp->tms_cstime = 0; /* system time, children */ -- } -- -- return tp->tms_utime; --} -diff -Naur newlib-1.17.0.orig/newlib/libc/stdlib/assert.c newlib-1.17.0-rtems4.10-20090916/newlib/libc/stdlib/assert.c ---- newlib-1.17.0.orig/newlib/libc/stdlib/assert.c 2007-06-27 14:44:41.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/stdlib/assert.c 2009-09-09 09:04:16.000000000 +0200 -@@ -47,6 +47,9 @@ - #include - #include - -+#if !defined(__rtems__) -+/* RTEMS has a version of its own */ -+ - /* func can be NULL, in which case no function information is given. */ - void - _DEFUN (__assert_func, (file, line, func, failedexpr), -@@ -62,6 +65,7 @@ - abort(); - /* NOTREACHED */ - } -+#endif - - void - _DEFUN (__assert, (file, line, failedexpr), -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c newlib-1.17.0-rtems4.10-20090916/newlib/libc/sys/rtems/crt0.c ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/crt0.c 2008-12-12 18:11:33.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/sys/rtems/crt0.c 2009-09-16 09:40:00.000000000 +0200 -@@ -12,15 +12,20 @@ - - #include - -+#include // sigset_t -+#include // struct timespec -+ - void rtems_provides_crt0( void ) {} /* dummy symbol so file always has one */ - --/* RTEMS provides some of its own routines including a Malloc family */ -+#define RTEMS_STUB(ret, func) \ -+ret rtems_stub_##func {}; \ -+ret func - --void *malloc() { return 0; } --void *realloc() { return 0; } --void free() { ; } --void abort() { ; } --int raise() { return -1; } -+/* RTEMS provides some of its own routines including a Malloc family */ -+RTEMS_STUB(void *,malloc(size_t s)) { return 0; } -+RTEMS_STUB(void *,realloc(void* p, size_t s)) { return 0; } -+RTEMS_STUB(void, free(void)) { ; } -+RTEMS_STUB(_PTR, calloc(struct _reent *r, size_t s1, size_t s2)) {} - - #if defined(__GNUC__) - /* -@@ -43,54 +48,91 @@ - int rtems_gxx_recursive_mutex_unlock() { return -1; } - #endif - -+/* stubs for functions RTEMS provides */ -+RTEMS_STUB(int, close (int fd)) { return -1; } -+RTEMS_STUB(int, dup2(int oldfd, int newfd)) { return -1; } -+RTEMS_STUB(int, fcntl( int fd, int cmd, ... /* arg */ )) { return -1; } -+RTEMS_STUB(pid_t, fork(void)) { return -1; } -+RTEMS_STUB(int, fstat(int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, getdents(int fd, void *dp, int count)) { return -1; } -+RTEMS_STUB(char *, getlogin(void)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwnam(const char *name)) { return 0; } -+RTEMS_STUB(struct passwd *, getpwuid(uid_t uid)) { return 0; } -+RTEMS_STUB(uid_t, getuid(void)) { return 0; } -+RTEMS_STUB(int, nanosleep(const struct timespec *req, struct timespec *rem)) { return -1; } -+RTEMS_STUB(_off_t, lseek(int fd, _off_t offset, int whence)) { return -1; } -+RTEMS_STUB(int, lstat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, open(const char *pathname, int flags, int mode)) { return -1; } -+RTEMS_STUB(int, pipe(int pipefd[2])) { return -1; } -+RTEMS_STUB(_ssize_t, read(int fd, void *buf, size_t count)) { return -1; } -+RTEMS_STUB(int, sigfillset(sigset_t *set)) { return -1; } -+RTEMS_STUB(int, sigprocmask(int how, const sigset_t *set, sigset_t *oldset)) { return -1; } -+RTEMS_STUB(int, stat(const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, unlink(const char *pathname)) { return -1; } -+RTEMS_STUB(pid_t, vfork(void)) { return -1; } -+#if !defined(_NO_POPEN) && !defined(_NO_WORDEXP) -+/* pulled in by libc/sys/posix/popen.c and libc/sys/posix/word*.c */ -+RTEMS_STUB(int, waitpid (pid_t pid, int *status, int options)) { return -1; } -+#endif -+RTEMS_STUB(_ssize_t, write (int fd, const void *buf, size_t nbytes)) { return -1; } -+ - /* stubs for functions from reent.h */ --int _close_r (struct _reent *r, int fd) { return -1; } --#if NOT_USED_BY_RTEMS --int _execve_r (struct _reent *r, char *, char **, char **) { return -1; } --#endif --int _fcntl_r ( struct _reent *ptr, int fd, int cmd, int arg ) { return -1;} --#if NOT_USED_BY_RTEMS --int _fork_r (struct _reent *r) { return -1; } --#endif --int _fstat_r (struct _reent *r, int fd, struct stat *buf) { return -1; } --int _getpid_r (struct _reent *r) { return -1; } --int _kill_r ( struct _reent *r, int pid, int sig ) { return -1; } --int _link_r ( struct _reent *ptr, const char *existing, const char *new) { return -1; } --_off_t _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence ) { return -1; } --int _open_r (struct _reent *r, const char *buf, int flags, int mode) { return -1; } --_ssize_t _read_r (struct _reent *r, int fd, void *buf, size_t nbytes) { return -1; } --#if NOT_USED_BY_RTEMS --void *_sbrk_r (struct _reent *r, ptrdiff_t) { return -1; } --#endif --int _stat_r (struct _reent *r, const char *path, struct stat *buf) { return -1; } --_CLOCK_T_ _times_r (struct _reent *r, struct tms *ptms) { return -1; } --int _unlink_r (struct _reent *r, const char *path) { return -1; } --#if NOT_USED_BY_RTEMS --int _wait_r (struct _reent *r, int *) { return -1; } --#endif --_ssize_t _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes) { return -1; } -- --int isatty( int fd ) { return -1; } -- --_realloc_r() {} --_calloc_r() {} --_malloc_r() {} --_free_r() {} -- --/* stubs for functions required by libc/posix */ --int getdents(int fd, void *dp, int count) { return -1; } --struct timespec; --int nanosleep(const struct timespec *req, struct timespec *rem) { return -1; } --int _execve(const char *path, char * const *argv, char * const *envp) { return -1; } --int _exit(int status) { return -1; } -- --/* gcc can implicitly generate references to these */ --/* strcmp() {} */ --/* strcpy() {} */ --/* strlen() {} */ --/* memcmp() {} */ --/* memcpy() {} */ --/* memset() {} */ -+RTEMS_STUB(int, _close_r (struct _reent *r, int fd)) { return -1; } -+#if defined(_NO_EXECVE) -+RTEMS_STUB(int, _execve_r (struct _reent *r, char *, char **, char **)) { return -1; } -+#endif -+RTEMS_STUB(int, _fcntl_r (struct _reent *ptr, int fd, int cmd, int arg )) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+#ifndef NO_FORK -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _fork_r (struct _reent *r)) { return -1; } -+#endif -+#endif -+RTEMS_STUB(int, _fstat_r (struct _reent *r, int fd, struct stat *buf)) { return -1; } -+RTEMS_STUB(int, _getpid_r (struct _reent *r)) { return -1; } -+RTEMS_STUB(int, _gettimeofday_r(struct _reent *r, struct timeval *tp, void *tzp)) { return 0; } -+RTEMS_STUB(int, _isatty_r (struct _reent *r, int fd)) { return isatty( fd ); } -+RTEMS_STUB(int, _kill_r (struct _reent *r, int pid, int sig )) { return -1; } -+#if !defined(REENTRANT_SYSCALLS_PROVIDED) -+/* cf. newlib/libc/reent/linkr.c */ -+RTEMS_STUB(int, _link_r (struct _reent *, const char *, const char *)) { return -1; } -+#endif -+RTEMS_STUB(_off_t, _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence )) { return -1; } -+RTEMS_STUB(int, _open_r (struct _reent *r, const char *buf, int flags, int mode)) { return -1; } -+RTEMS_STUB(_ssize_t, _read_r (struct _reent *r, int fd, void *buf, size_t nbytes)) { return -1; } -+RTEMS_STUB(int, _rename_r (struct _reent *r, const char *a, const char *b)){ return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (MALLOC_PROVIDED)) -+/* cf. newlib/libc/reent/sbrkr.c */ -+RTEMS_STUB(void *,_sbrk_r (struct _reent *r, ptrdiff_t)) { return -1; } -+#endif -+RTEMS_STUB(int, _stat_r (struct _reent *r, const char *path, struct stat *buf)) { return -1; } -+RTEMS_STUB(_CLOCK_T_, _times_r (struct _reent *r, struct tms *ptms)) { return -1; } -+RTEMS_STUB(int, _unlink_r (struct _reent *r, const char *path)) { return -1; } -+#if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) -+/* cf. newlib/libc/reent/execr.c */ -+RTEMS_STUB(int, _wait_r (struct _reent *r, int *)) { return -1; } -+#endif -+RTEMS_STUB(_ssize_t, _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)) { return -1; } -+ -+ -+RTEMS_STUB(int, _execve(const char *path, char * const *argv, char * const *envp)) { return -1; } -+RTEMS_STUB(void, _exit(int status)) { while(1); } -+ -+/* Pulled in by newlib/libc/posix/glob.c */ -+#ifndef _NO_GLOB -+#ifndef __NETBSD_SYSCALLS -+RTEMS_STUB(int, issetugid (void)) { return 0; } -+#endif -+#endif -+ -+/* stdlib.h */ -+RTEMS_STUB(_PTR, _realloc_r(struct _reent *r, _PTR p, size_t s)) {} -+RTEMS_STUB(_PTR, _calloc_r(struct _reent *r, size_t s1, size_t s2)) {} -+RTEMS_STUB(_PTR, _malloc_r(struct _reent *r, size_t s)) {} -+RTEMS_STUB(_VOID, _free_r(struct _reent *r, _PTR p)) {} -+ -+/* stubs for functions required by libc/stdlib */ -+RTEMS_STUB(void, __assert_func(const char *file, int line, const char *failedexpr)) {} - - /* The PowerPC expects certain symbols to be defined in the linker script. */ - -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/sys/rtems/machine/stdint.h 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,48 @@ -+/* -+ * -+ */ -+#ifndef _MACHINE_STDINT_H -+#define _MACHINE_STDINT_H -+ -+#ifndef _STDINT_H -+#error machine/stdint.h is an internal file and must not be directly included -+#endif -+ -+#ifndef __rtems__ -+#error machine/stdint.h is an RTEMS specific internal file and must not be used otherwise -+#endif -+ -+#if defined(__m32c__) || defined(__m32r__) || defined(__lm32__) -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_LONG__) -+#define __ptrint_t_long_defined 1 -+#endif -+#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_INT__) -+#define __ptrint_t_int_defined 1 -+#endif -+#endif -+ -+#if defined(__sparc__) \ -+ || defined(__powerpc__) || defined(__PPC__) \ -+ || defined(__mips__) \ -+ || defined(__sh__) \ -+ || defined(__AVR__) \ -+ || defined(_C4x) || defined(_C3x) \ -+ || defined(__H8300__) -+/* PTRDIFF_TYPE = int */ -+#define __ptrint_t_int_defined 1 -+#endif -+ -+#if defined(__i386__) \ -+ || defined(__m68k__) \ -+ || defined(__bfin__) \ -+ || defined(__arm__) \ -+ || defined(__H8300S__) || defined(__H8300H__) || defined(__H8300SX__) \ -+/* PTRDIFF_TYPE = long */ -+#define __ptrint_t_long_defined 1 -+#endif -+ -+#if !defined(__ptrint_t_int_defined) && !defined(__ptrint_t_long_defined) -+#error Failed to determine ptrint_t -+#endif -+ -+#endif -diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h 2008-11-17 23:05:12.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/sys/rtems/sys/param.h 2009-09-09 09:04:16.000000000 +0200 -@@ -15,10 +15,6 @@ - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. -- * 3. All advertising materials mentioning features or use of this software -- * must display the following acknowledgement: -- * This product includes software developed by the University of -- * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. -@@ -47,7 +43,6 @@ - #include - #include - --# define HZ (60) - # define PATHSIZE (1024) - - /* end of from newlib's */ -@@ -86,13 +81,13 @@ - #define MAXHOSTNAMELEN 256 /* max hostname size */ - - /* More types and definitions used throughout the kernel. */ --#ifdef KERNEL -+#if defined(KERNEL) || defined(_KERNEL) - #include - #include - #include - #include --#include - #include -+#include - - #ifndef FALSE - #define FALSE 0 -@@ -109,23 +104,6 @@ - #include - #include - --/* -- * Priorities. Note that with 32 run queues, differences less than 4 are -- * insignificant. -- */ --#define PSWP 0 --#define PVM 4 --#define PINOD 8 --#define PRIBIO 16 --#define PVFS 20 --#define PZERO 22 /* No longer magic, shouldn't be here. XXX */ --#define PSOCK 24 --#define PWAIT 32 --#define PLOCK 36 --#define PPAUSE 40 --#define PUSER 50 --#define MAXPRI 127 /* Priorities range from 0 through MAXPRI. */ -- - #define PRIMASK 0x0ff - #define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */ - -@@ -136,15 +114,6 @@ - #define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ - #define NODEV (dev_t)(-1) /* non-existent device */ - --/* -- * Clustering of hardware pages on machines with ridiculously small -- * page sizes is done here. The paging subsystem deals with units of -- * CLSIZE pte's describing PAGE_SIZE (from machine/machparam.h) pages each. -- */ --#if 0 --#define CLBYTES (CLSIZE*PAGE_SIZE) --#endif -- - #define CBLOCK 128 /* Clist block size, must be a power of 2. */ - #define CBQSIZE (CBLOCK/NBBY) /* Quote bytes/cblock - can do better. */ - /* Data chars/clist. */ -@@ -200,7 +169,7 @@ - #define powerof2(x) ((((x)-1)&(x))==0) - - /* Macros for min/max. */ --#ifndef KERNEL -+#if !(defined(KERNEL) || defined(_KERNEL)) - #define MIN(a,b) (((a)<(b))?(a):(b)) - #define MAX(a,b) (((a)>(b))?(a):(b)) - #endif -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.am newlib-1.17.0-rtems4.10-20090916/newlib/libc/unix/Makefile.am ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.am 2006-05-02 00:01:07.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/unix/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -12,7 +12,8 @@ - - ## Distinguish different EL/IX level interfaces - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.in newlib-1.17.0-rtems4.10-20090916/newlib/libc/unix/Makefile.in ---- newlib-1.17.0.orig/newlib/libc/unix/Makefile.in 2009-06-29 11:05:21.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/unix/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -59,7 +59,7 @@ - lib_a_LIBADD = - am__objects_1 = lib_a-getcwd.$(OBJEXT) lib_a-pread.$(OBJEXT) \ - lib_a-pwrite.$(OBJEXT) lib_a-sigset.$(OBJEXT) --am__objects_2 = lib_a-ttyname.$(OBJEXT) -+am__objects_2 = lib_a-ttyname.$(OBJEXT) lib_a-ttyname_r.$(OBJEXT) - am__objects_3 = lib_a-basename.$(OBJEXT) lib_a-dirname.$(OBJEXT) \ - lib_a-getlogin.$(OBJEXT) lib_a-getpass.$(OBJEXT) \ - lib_a-getpwent.$(OBJEXT) lib_a-getut.$(OBJEXT) -@@ -74,7 +74,7 @@ - LTLIBRARIES = $(noinst_LTLIBRARIES) - libunix_la_LIBADD = - am__objects_5 = getcwd.lo pread.lo pwrite.lo sigset.lo --am__objects_6 = ttyname.lo -+am__objects_6 = ttyname.lo ttyname_r.lo - am__objects_7 = basename.lo dirname.lo getlogin.lo getpass.lo \ - getpwent.lo getut.lo - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_8 = $(am__objects_6) \ -@@ -278,7 +278,8 @@ - sigset.c - - ELIX_2_SOURCES = \ -- ttyname.c -+ ttyname.c \ -+ ttyname_r.c - - ELIX_4_SOURCES = \ - basename.c \ -@@ -402,6 +403,12 @@ - lib_a-ttyname.obj: ttyname.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname.obj `if test -f 'ttyname.c'; then $(CYGPATH_W) 'ttyname.c'; else $(CYGPATH_W) '$(srcdir)/ttyname.c'; fi` - -+lib_a-ttyname_r.o: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.o `test -f 'ttyname_r.c' || echo '$(srcdir)/'`ttyname_r.c -+ -+lib_a-ttyname_r.obj: ttyname_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.obj `if test -f 'ttyname_r.c'; then $(CYGPATH_W) 'ttyname_r.c'; else $(CYGPATH_W) '$(srcdir)/ttyname_r.c'; fi` -+ - lib_a-basename.o: basename.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-basename.o `test -f 'basename.c' || echo '$(srcdir)/'`basename.c - -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.c newlib-1.17.0-rtems4.10-20090916/newlib/libc/unix/ttyname.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.c 2008-11-18 23:55:06.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/unix/ttyname.c 2009-09-09 09:04:16.000000000 +0200 -@@ -28,67 +28,14 @@ - * SUCH DAMAGE. - */ - --#include --#include --#include -+#include "ttyname.h" -+ - #include - #include --#include - #include --#include <_syslist.h> - #include - --static char ttyname_buf[sizeof (_PATH_DEV) + MAXNAMLEN] = _PATH_DEV; -- --/* -- * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -- */ --int --_DEFUN( ttyname_r,(fd, name, namesize), -- int fd _AND -- char *name _AND -- size_t namesize) --{ -- struct stat sb; -- struct dirent *dirp; -- DIR *dp; -- struct stat dsb; -- char buf[sizeof(ttyname_buf)]; -- -- /* Must be a terminal. */ -- if (!isatty(fd)) -- return ENOTTY; -- -- /* Must be a character device. */ -- if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -- return ENOTTY; -- -- if ((dp = opendir (_PATH_DEV)) == NULL) -- return EBADF; -- -- strcpy(buf, _PATH_DEV); -- while ((dirp = readdir (dp)) != NULL) -- { -- if (dirp->d_ino != sb.st_ino) -- continue; -- strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -- if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -- sb.st_ino != dsb.st_ino) -- continue; -- (void) closedir (dp); -- if(strlen(buf) < namesize) /* < to account for terminating null */ -- { -- strcpy(name, buf); -- return 0; -- } -- else -- { -- return ERANGE; -- } -- } -- (void) closedir (dp); -- return EBADF; --} -+static char ttyname_buf[TTYNAME_BUFSIZE] = _PATH_DEV; - - /* - * ttyname() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.h newlib-1.17.0-rtems4.10-20090916/newlib/libc/unix/ttyname.h ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/unix/ttyname.h 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,6 @@ -+/* Common defines for ttyname.c and ttyname_r.c */ -+ -+#include /* For MAXNAMLEN */ -+#include /* For _PATH_DEV */ -+ -+#define TTYNAME_BUFSIZE (sizeof (_PATH_DEV) + MAXNAMLEN) -diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c newlib-1.17.0-rtems4.10-20090916/newlib/libc/unix/ttyname_r.c ---- newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/libc/unix/ttyname_r.c 2009-09-09 09:04:16.000000000 +0200 -@@ -0,0 +1,93 @@ -+#ifndef _NO_TTYNAME -+/* -+ * Copyright (c) 1988 The Regents of the University of California. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include "ttyname.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include <_syslist.h> -+#include -+ -+/* -+ * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name -+ */ -+int -+_DEFUN( ttyname_r,(fd, name, namesize), -+ int fd _AND -+ char *name _AND -+ size_t namesize) -+{ -+ struct stat sb; -+ struct dirent *dirp; -+ DIR *dp; -+ struct stat dsb; -+ char buf[TTYNAME_BUFSIZE]; -+ -+ /* Must be a terminal. */ -+ if (!isatty(fd)) -+ return ENOTTY; -+ -+ /* Must be a character device. */ -+ if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) -+ return ENOTTY; -+ -+ if ((dp = opendir (_PATH_DEV)) == NULL) -+ return EBADF; -+ -+ strcpy(buf, _PATH_DEV); -+ while ((dirp = readdir (dp)) != NULL) -+ { -+ if (dirp->d_ino != sb.st_ino) -+ continue; -+ strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); -+ if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || -+ sb.st_ino != dsb.st_ino) -+ continue; -+ (void) closedir (dp); -+ if(strlen(buf) < namesize) /* < to account for terminating null */ -+ { -+ strcpy(name, buf); -+ return 0; -+ } -+ else -+ { -+ return ERANGE; -+ } -+ } -+ (void) closedir (dp); -+ return EBADF; -+} -+ -+#endif /* !_NO_TTYNAME */ -diff -Naur newlib-1.17.0.orig/newlib/Makefile.am newlib-1.17.0-rtems4.10-20090916/newlib/Makefile.am ---- newlib-1.17.0.orig/newlib/Makefile.am 2008-01-21 19:29:17.000000000 +0100 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/Makefile.am 2009-09-09 09:04:16.000000000 +0200 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -@@ -186,9 +186,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - -- --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -diff -Naur newlib-1.17.0.orig/newlib/Makefile.in newlib-1.17.0-rtems4.10-20090916/newlib/Makefile.in ---- newlib-1.17.0.orig/newlib/Makefile.in 2009-06-29 11:05:19.000000000 +0200 -+++ newlib-1.17.0-rtems4.10-20090916/newlib/Makefile.in 2009-09-09 09:04:16.000000000 +0200 -@@ -106,7 +106,7 @@ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive - toollibDATA_INSTALL = $(INSTALL_DATA) --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - ETAGS = etags - CTAGS = ctags - DEJATOOL = $(PACKAGE) -@@ -350,7 +350,7 @@ - @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ - @USE_LIBTOOL_FALSE@ libc.a - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - toollib_DATA = $(CRT0) $(CRT1) - - # The functions ldexp, frexp and modf are traditionally supplied in -@@ -409,7 +409,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -714,14 +714,16 @@ - done - check-am: - $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU --check: check-recursive -+check: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) check-recursive - all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h - installdirs: installdirs-recursive - installdirs-am: - for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done --install: install-recursive -+install: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive - uninstall: uninstall-recursive -@@ -746,6 +748,7 @@ - maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - clean: clean-recursive - - clean-am: clean-generic clean-libtool clean-toollibLIBRARIES \ -@@ -864,8 +867,6 @@ - - $(CRT1_DIR)$(CRT1): ; @true - --all-recursive: stmp-targ-include -- - # The targ-include directory just holds the includes files for the - # particular system and machine we have been configured for. It is - # used while building. -- cgit v1.2.3