From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12483 invoked by alias); 13 Sep 2013 22:11:19 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 12473 invoked by uid 89); 13 Sep 2013 22:11:18 -0000 Received: from mailhost.u-strasbg.fr (HELO mailhost.u-strasbg.fr) (130.79.222.215) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 13 Sep 2013 22:11:18 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.6 required=5.0 tests=AWL,BAYES_20,KHOP_THREADED,MSGID_MULTIPLE_AT autolearn=no version=3.3.2 X-HELO: mailhost.u-strasbg.fr Received: from mailhost.u-strasbg.fr (localhost [127.0.0.1]) by antispam (Postfix) with ESMTP id 18164A0DB8; Sat, 14 Sep 2013 00:11:10 +0200 (CEST) Received: from mailhost.u-strasbg.fr (localhost [127.0.0.1]) by antivirus (Postfix) with ESMTP id 04B77A0D73; Sat, 14 Sep 2013 00:11:10 +0200 (CEST) Received: from md13.u-strasbg.fr (md13.u-strasbg.fr [130.79.200.248]) by mr5.u-strasbg.fr (Postfix) with ESMTP id A783AA0E95; Sat, 14 Sep 2013 00:11:06 +0200 (CEST) Received: from ms15.u-strasbg.fr (ms15.u-strasbg.fr [130.79.204.115]) by md13.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id r8DMB6WY009316 ; Sat, 14 Sep 2013 00:11:06 +0200 (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from E6510Muller (lec67-4-82-230-53-140.fbx.proxad.net [82.230.53.140]) (Authenticated sender: mullerp) by ms15.u-strasbg.fr (Postfix) with ESMTPSA id 34F161FD88; Sat, 14 Sep 2013 00:11:01 +0200 (CEST) From: "Pierre Muller" To: "'Joel Brobecker'" , "'Mark Kettenis'" Cc: References: <1351099417-18960-1-git-send-email-brobecker@adacore.com> <201210251317.q9PDHrnJ026193@glazunov.sibelius.xs4all.nl> <20130116115840.GS6143@adacore.com> In-Reply-To: <20130116115840.GS6143@adacore.com> Subject: [RFC-v2] amd64-windows: Fix funcall with by-pointer arguments Date: Fri, 13 Sep 2013 22:11:00 -0000 Message-ID: <003101ceb0ce$22cfd340$686f79c0$@muller@ics-cnrs.unistra.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0032_01CEB0DE.E658A340" X-SW-Source: 2013-09/txt/msg00411.txt.bz2 This is a multi-part message in MIME format. ------=_NextPart_000_0032_01CEB0DE.E658A340 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-length: 15441 As explained in the other thread, I merged Joel's patch in this thread with my patch in http://www.sourceware.org/ml/gdb-patches/2013-09/msg00145.html I attached the difference between two runs of: make check RUNTESTFKLAGS="gdb.base/*.exp" with current CVS GDB and with the patch below applied (plus a few other submitted patches concerning testsuite runs for *-*-ming* builds). The number of failure in gdb.base drops from 326 to 243 FAILs. Comments most welcome, Pierre Muller 2013-09-12 Joel Brobecker Pierre Muller * amd64-windows-tdep.c: #include "value.h" and "inferior.h". (amd64_windows_classify): Delete. (amd64_windows_passed_by_xmm_register) (amd64_windows_return_in_xmm0_register) (amd64_windows_passed_by_integer_register) (amd64_windows_passed_by_pointer) (amd64_windows_adjust_args_passed_by_pointer) (amd64_windows_store_arg_in_reg, amd64_windows_push_arguments) (amd64_windows_push_dummy_call): New functions. (amd64_return_value): Use new functions above. Add "debug infrum" information. (amd64_windows_init_abi): Remove setting of tdep->call_dummy_num_integer_regs, tdep->call_dummy_integer_regs, tdep->classify, tdep->memory_args_by_pointer and tdep->integer_param_regs_saved_in_caller_frame. Add call to set_gdbarch_push_dummy_call. Index: src/gdb/amd64-windows-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/amd64-windows-tdep.c,v retrieving revision 1.17 diff -u -p -r1.17 amd64-windows-tdep.c --- src/gdb/amd64-windows-tdep.c 2 Sep 2013 09:28:02 -0000 1.17 +++ src/gdb/amd64-windows-tdep.c 13 Sep 2013 21:46:09 -0000 @@ -31,53 +31,342 @@ #include "coff/i386.h" #include "coff/pe.h" #include "libcoff.h" +#include "value.h" +#include "inferior.h" /* The registers used to pass integer arguments during a function call. */ static int amd64_windows_dummy_call_integer_regs[] = { AMD64_RCX_REGNUM, /* %rcx */ AMD64_RDX_REGNUM, /* %rdx */ - 8, /* %r8 */ - 9 /* %r9 */ + AMD64_R8_REGNUM, /* %r8 */ + AMD64_R9_REGNUM /* %r9 */ }; -/* Implement the "classify" method in the gdbarch_tdep structure - for amd64-windows. */ +/* Return nonzero if an argument of type TYPE should be passed + via one of the XMM registers. */ -static void -amd64_windows_classify (struct type *type, enum amd64_reg_class class[2]) +static int +amd64_windows_passed_by_xmm_register (struct type *type) { switch (TYPE_CODE (type)) { - case TYPE_CODE_ARRAY: - /* Arrays are always passed by memory. */ - class[0] = class[1] = AMD64_MEMORY; - break; + case TYPE_CODE_TYPEDEF: + if (TYPE_TARGET_TYPE (type)) + return amd64_windows_passed_by_xmm_register ( + TYPE_TARGET_TYPE (type)); + else + return 0; + case TYPE_CODE_STRUCT: + case TYPE_CODE_UNION: + if (TYPE_NFIELDS (type) == 1) + return amd64_windows_passed_by_xmm_register ( + TYPE_FIELD_TYPE (type, 0)); + else + return 0; + case TYPE_CODE_FLT: + case TYPE_CODE_DECFLOAT: + return (TYPE_LENGTH (type) == 4 || TYPE_LENGTH (type) == 8); + default: + return 0; + } +} + +/* Return nonzero if an return value of type TYPE should be passed + in XMM0 register. */ + +static int +amd64_windows_return_in_xmm0_register (struct type *type) +{ + if (amd64_windows_passed_by_xmm_register (type)) + return 1; + else + { + /* __m128, __m128d and __m128i types are returned in $xmm0 also. + But they are not stored in XMM registers as arguments, + at least not in GCC 4.7.6 x86_64-w64-mingw32 target. + Note: The TYPE_VECTOR check should prevent other arrays from + being treated as special xmm types. + Note: This all works for the "unique" __fastcall calling convention + as defined by Microsoft. The newer __vectorcall convention + does support passing __m128X type parameters in xmm registers + using /Gv option of Microsoft compilers. */ + struct type *ltype = check_typedef (type); + if (ltype && TYPE_CODE (ltype) == TYPE_CODE_ARRAY + && (TYPE_CODE (TYPE_TARGET_TYPE (ltype)) == TYPE_CODE_FLT + || TYPE_CODE (TYPE_TARGET_TYPE (ltype)) == TYPE_CODE_INT) + && TYPE_VECTOR (ltype) && TYPE_LENGTH (ltype) == 16) + return 1; + else + return 0; + } +} + +/* Return nonzero if an argument of type TYPE should be passed + via one of the integer registers. */ +static int +amd64_windows_passed_by_integer_register (struct type *type) +{ + switch (TYPE_CODE (type)) + { + case TYPE_CODE_TYPEDEF: + if (TYPE_TARGET_TYPE (type)) + return amd64_windows_passed_by_integer_register ( + TYPE_TARGET_TYPE (type)); + else + return 0; case TYPE_CODE_STRUCT: case TYPE_CODE_UNION: - /* Struct/Union types whose size is 1, 2, 4, or 8 bytes - are passed as if they were integers of the same size. - Types of different sizes are passed by memory. */ - if (TYPE_LENGTH (type) == 1 - || TYPE_LENGTH (type) == 2 - || TYPE_LENGTH (type) == 4 - || TYPE_LENGTH (type) == 8) + if (TYPE_NFIELDS (type) == 1) { - class[0] = AMD64_INTEGER; - class[1] = AMD64_NO_CLASS; + /* If only one field, exclude float type accepted as xmm reg. */ + if (amd64_windows_passed_by_xmm_register ( + TYPE_FIELD_TYPE (type, 0))) + return 0; + else + return amd64_windows_passed_by_integer_register ( + TYPE_FIELD_TYPE (type, 0)); } - else - class[0] = class[1] = AMD64_MEMORY; - break; + /* Struct/Union with several fields: Pass Through. */ + case TYPE_CODE_INT: + case TYPE_CODE_ENUM: + case TYPE_CODE_BOOL: + case TYPE_CODE_RANGE: + case TYPE_CODE_CHAR: + case TYPE_CODE_PTR: + case TYPE_CODE_REF: + case TYPE_CODE_COMPLEX: + return (TYPE_LENGTH (type) == 1 + || TYPE_LENGTH (type) == 2 + || TYPE_LENGTH (type) == 4 + || TYPE_LENGTH (type) == 8); default: - /* For all the other types, the conventions are the same as - with the System V ABI. */ - amd64_classify (type, class); + return 0; } } +/* Return non-zero iff an argument of the given TYPE should be passed + by pointer. */ + +static int +amd64_windows_passed_by_pointer (struct type *type) +{ + if (amd64_windows_passed_by_integer_register (type)) + return 0; + + if (amd64_windows_passed_by_xmm_register (type)) + return 0; + + return 1; +} + +/* For each argument that should be passed by pointer, reserve some + stack space, store a copy of the argument on the stack, and replace + the argument by its address. Return the new Stack Pointer value. + + NARGS is the number of arguments. ARGS is the array containing + the value of each argument. SP is value of the Stack Pointer. */ + +static CORE_ADDR +amd64_windows_adjust_args_passed_by_pointer (struct gdbarch *gdbarch, + struct value **args, + int nargs, CORE_ADDR sp) +{ + int i; + + for (i = 0; i < nargs; i++) + if (amd64_windows_passed_by_pointer (value_type (args[i]))) + { + struct type *type = value_type (args[i]); + const gdb_byte *valbuf = value_contents (args[i]); + const int len = TYPE_LENGTH (type); + + /* Store a copy of that argument on the stack, aligned to + a 16 bytes boundary, and then use the copy's address as + the argument. */ + + sp -= len; + sp &= ~0xf; + write_memory (sp, valbuf, len); + + args[i] = + value_addr (value_from_contents_and_address (type, valbuf, sp)); + if (debug_infrun) + printf_filtered (_("Parameter #%d, length %d copied on stack " + "at address %s, and passed as pointer\n"), + i, len, paddress (gdbarch, sp)); + } + + return sp; +} + +/* Store the value of ARG in register REGNO (right-justified). + REGCACHE is the register cache. */ + +static void +amd64_windows_store_arg_in_reg (struct gdbarch *gdbarch, + struct regcache *regcache, + struct value *arg, int regno, int i) +{ + struct type *type = value_type (arg); + const gdb_byte *valbuf = value_contents (arg); + gdb_byte buf[8]; + + gdb_assert (TYPE_LENGTH (type) <= 8); + memset (buf, 0, sizeof buf); + memcpy (buf, valbuf, min (TYPE_LENGTH (type), 8)); + regcache_cooked_write (regcache, regno, buf); + if (debug_infrun) + printf_filtered (_("Parameter #%d, length %d copied to register %s\n"), + i, TYPE_LENGTH (type), i386_pseudo_register_name( + gdbarch, regno)); +} + +/* Push the arguments for an inferior function call, and return + the updated value of the SP (Stack Pointer). + + All arguments are identical to the arguments used in + amd64_windows_push_dummy_call. */ + +static CORE_ADDR +amd64_windows_push_arguments (struct gdbarch *gdbarch, + struct regcache *regcache, int nargs, + struct value **args, CORE_ADDR sp, + int struct_return) +{ + int reg_idx = 0; + int i; + struct value **stack_args = alloca (nargs * sizeof (struct value *)); + int num_stack_args = 0; + int num_elements = 0; + int element = 0; + + /* First, handle the arguments passed by pointer. + + These arguments are replaced by pointers to a copy we are making + in inferior memory. So use a copy of the ARGS table, to avoid + modifying the original one. */ + { + struct value **args1 = alloca (nargs * sizeof (struct value *)); + + memcpy (args1, args, nargs * sizeof (struct value *)); + sp = amd64_windows_adjust_args_passed_by_pointer (gdbarch, args1, + nargs, sp); + args = args1; + } + + /* Reserve a register for the "hidden" argument. */ + if (struct_return) + reg_idx++; + + for (i = 0; i < nargs; i++) + { + struct type *type = value_type (args[i]); + int len = TYPE_LENGTH (type); + int on_stack_p = 1; + + if (reg_idx < ARRAY_SIZE (amd64_windows_dummy_call_integer_regs)) + { + if (amd64_windows_passed_by_integer_register (type)) + { + amd64_windows_store_arg_in_reg + (gdbarch, regcache, args[i], + amd64_windows_dummy_call_integer_regs[reg_idx], i); + on_stack_p = 0; + reg_idx++; + } + else if (amd64_windows_passed_by_xmm_register (type)) + { + amd64_windows_store_arg_in_reg + (gdbarch, regcache, args[i], AMD64_XMM0_REGNUM + reg_idx, i); + /* In case of varargs, these parameters must also be + passed via the integer registers. */ + amd64_windows_store_arg_in_reg + (gdbarch, regcache, args[i], + amd64_windows_dummy_call_integer_regs[reg_idx], i); + on_stack_p = 0; + reg_idx++; + } + } + + if (on_stack_p) + { + num_elements += ((len + 7) / 8); + stack_args[num_stack_args++] = args[i]; + } + } + + /* Allocate space for the arguments on the stack, keeping it + aligned on a 16 byte boundary. */ + sp -= num_elements * 8; + sp &= ~0xf; + + /* Write out the arguments to the stack. */ + for (i = 0; i < num_stack_args; i++) + { + struct type *type = value_type (stack_args[i]); + const gdb_byte *valbuf = value_contents (stack_args[i]); + + write_memory (sp + element * 8, valbuf, TYPE_LENGTH (type)); + if (debug_infrun) + printf_filtered (_("Parameter #%d, length %d copied on stack" + " at address %s\n"), + i, TYPE_LENGTH (type), + paddress (gdbarch, sp + element * 8)); + element += ((TYPE_LENGTH (type) + 7) / 8); + } + + return sp; +} + +/* Implement the "push_dummy_call" gdbarch method. */ + +static CORE_ADDR +amd64_windows_push_dummy_call + (struct gdbarch *gdbarch, struct value *function, + struct regcache *regcache, CORE_ADDR bp_addr, + int nargs, struct value **args, + CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) +{ + enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); + gdb_byte buf[8]; + + /* Pass arguments. */ + sp = amd64_windows_push_arguments (gdbarch, regcache, nargs, args, sp, + struct_return); + + /* Pass "hidden" argument". */ + if (struct_return) + { + /* The "hidden" argument is passed throught the first argument + register. */ + const int arg_regnum = amd64_windows_dummy_call_integer_regs[0]; + + store_unsigned_integer (buf, 8, byte_order, struct_addr); + regcache_cooked_write (regcache, arg_regnum, buf); + } + + /* Reserve some memory on the stack for the integer-parameter + registers, as required by the ABI. */ + sp -= ARRAY_SIZE (amd64_windows_dummy_call_integer_regs) * 8; + + /* Store return address. */ + sp -= 8; + store_unsigned_integer (buf, 8, byte_order, bp_addr); + write_memory (sp, buf, 8); + + /* Update the stack pointer... */ + store_unsigned_integer (buf, 8, byte_order, sp); + regcache_cooked_write (regcache, AMD64_RSP_REGNUM, buf); + + /* ...and fake a frame pointer. */ + regcache_cooked_write (regcache, AMD64_RBP_REGNUM, buf); + + return sp + 16; +} + /* Implement the "return_value" gdbarch method for amd64-windows. */ static enum return_value_convention @@ -90,22 +379,10 @@ amd64_windows_return_value (struct gdbar /* See if our value is returned through a register. If it is, then store the associated register number in REGNUM. */ - switch (TYPE_CODE (type)) - { - case TYPE_CODE_FLT: - case TYPE_CODE_DECFLOAT: - /* __m128, __m128i, __m128d, floats, and doubles are returned - via XMM0. */ - if (len == 4 || len == 8 || len == 16) - regnum = AMD64_XMM0_REGNUM; - break; - default: - /* All other values that are 1, 2, 4 or 8 bytes long are returned - via RAX. */ - if (len == 1 || len == 2 || len == 4 || len == 8) - regnum = AMD64_RAX_REGNUM; - break; - } + if (amd64_windows_return_in_xmm0_register (type)) + regnum = AMD64_XMM0_REGNUM; + else if (amd64_windows_passed_by_integer_register (type)) + regnum = AMD64_RAX_REGNUM; if (regnum < 0) { @@ -117,8 +394,10 @@ amd64_windows_return_value (struct gdbar regcache_raw_read_unsigned (regcache, AMD64_RAX_REGNUM, &addr); read_memory (addr, readbuf, TYPE_LENGTH (type)); } + if (debug_infrun) + printf_filtered (_("Return value as memory address in RAX\n")); return RETURN_VALUE_ABI_RETURNS_ADDRESS; - } + } else { /* Extract the return value from the register where it was stored. */ @@ -126,6 +405,9 @@ amd64_windows_return_value (struct gdbar regcache_raw_read_part (regcache, regnum, 0, len, readbuf); if (writebuf) regcache_raw_write_part (regcache, regnum, 0, len, writebuf); + if (debug_infrun) + printf_filtered (_("Return value in register %s\n"), + gdbarch_register_name (gdbarch, regnum)); return RETURN_VALUE_REGISTER_CONVENTION; } } @@ -976,12 +1258,7 @@ amd64_windows_init_abi (struct gdbarch_i set_gdbarch_long_bit (gdbarch, 32); /* Function calls. */ - tdep->call_dummy_num_integer_regs = - ARRAY_SIZE (amd64_windows_dummy_call_integer_regs); - tdep->call_dummy_integer_regs = amd64_windows_dummy_call_integer_regs; - tdep->classify = amd64_windows_classify; - tdep->memory_args_by_pointer = 1; - tdep->integer_param_regs_saved_in_caller_frame = 1; + set_gdbarch_push_dummy_call (gdbarch, amd64_windows_push_dummy_call); set_gdbarch_return_value (gdbarch, amd64_windows_return_value); set_gdbarch_skip_main_prologue (gdbarch, amd64_skip_main_prologue); set_gdbarch_skip_trampoline_code (gdbarch, ------=_NextPart_000_0032_01CEB0DE.E658A340 Content-Type: application/octet-stream; name="diffs" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="diffs" Content-length: 53985 1c1=0A= < Test Run By Pierre on Thu Sep 12 16:01:29 2013=0A= ---=0A= > Test Run By Pierre on Fri Sep 13 11:39:27 2013=0A= 649,651c649,651=0A= < FAIL: gdb.base/call-ar-st.exp: print sum_array_print(10, *list1, *list2, = *list3, *list4)=0A= < FAIL: gdb.base/call-ar-st.exp: next to 1237=0A= < FAIL: gdb.base/call-ar-st.exp: print print_array_rep(*list1, *list2, *lis= t3)=0A= ---=0A= > PASS: gdb.base/call-ar-st.exp: print sum_array_print(10, *list1, *list2, = *list3, *list4)=0A= > PASS: gdb.base/call-ar-st.exp: next to 1237=0A= > PASS: gdb.base/call-ar-st.exp: print print_array_rep(*list1, *list2, *lis= t3)=0A= 653c653=0A= < FAIL: gdb.base/call-ar-st.exp: continue to 1241 (the program exited)=0A= ---=0A= > PASS: gdb.base/call-ar-st.exp: continue to 1241=0A= 656c656=0A= < FAIL: gdb.base/call-ar-st.exp: check args of sum_array_print (the program= is no longer running)=0A= ---=0A= > PASS: gdb.base/call-ar-st.exp: check args of sum_array_print=0A= 658,661c658,661=0A= < FAIL: gdb.base/call-ar-st.exp: continue to 1281 (the program is no longer= running)=0A= < FAIL: gdb.base/call-ar-st.exp: print print_small_structs (pattern 1)=0A= < FAIL: gdb.base/call-ar-st.exp: print compute_with_small_structs(20)=0A= < FAIL: gdb.base/call-ar-st.exp: print print_ten_doubles (pattern 1)=0A= ---=0A= > PASS: gdb.base/call-ar-st.exp: continue to 1281=0A= > PASS: gdb.base/call-ar-st.exp: print print_small_structs=0A= > PASS: gdb.base/call-ar-st.exp: print compute_with_small_structs(20)=0A= > PASS: gdb.base/call-ar-st.exp: print print_ten_doubles=0A= 663c663=0A= < FAIL: gdb.base/call-ar-st.exp: continue to 1286 (the program is no longer= running)=0A= ---=0A= > PASS: gdb.base/call-ar-st.exp: continue to 1286=0A= 665,666c665,666=0A= < FAIL: gdb.base/call-ar-st.exp: step into print_long_arg_list (the program= is no longer running)=0A= < FAIL: gdb.base/call-ar-st.exp: print print_small_structs from print_long_= arg_list (pattern 1)=0A= ---=0A= > PASS: gdb.base/call-ar-st.exp: step into print_long_arg_list=0A= > PASS: gdb.base/call-ar-st.exp: print print_small_structs from print_long_= arg_list=0A= 668,670c668,670=0A= < FAIL: gdb.base/call-ar-st.exp: continue to 1300 (the program is no longer= running)=0A= < FAIL: gdb.base/call-ar-st.exp: step into init_bit_flags_combo (the progra= m is no longer running)=0A= < FAIL: gdb.base/call-ar-st.exp: print print_bit_flags_combo from init_bit_= flags_combo=0A= ---=0A= > PASS: gdb.base/call-ar-st.exp: continue to 1300=0A= > PASS: gdb.base/call-ar-st.exp: step into init_bit_flags_combo=0A= > PASS: gdb.base/call-ar-st.exp: print print_bit_flags_combo from init_bit_= flags_combo=0A= 672,673c672,673=0A= < FAIL: gdb.base/call-ar-st.exp: continue to 1305 (the program is no longer= running)=0A= < FAIL: gdb.base/call-ar-st.exp: print print_long_arg_list (pattern 1)=0A= ---=0A= > PASS: gdb.base/call-ar-st.exp: continue to 1305=0A= > PASS: gdb.base/call-ar-st.exp: print print_long_arg_list=0A= 675,678c675,678=0A= < FAIL: gdb.base/call-ar-st.exp: continue to 1311 (the program is no longer= running)=0A= < FAIL: gdb.base/call-ar-st.exp: print sum_struct_print(10, *struct1, *stru= ct2, *struct3, *struct4)=0A= < FAIL: gdb.base/call-ar-st.exp: print print_struct_rep(*struct1, *struct2,= *struct3) (pattern 1)=0A= < FAIL: gdb.base/call-ar-st.exp: print print_one_large_struct(*list1)=0A= ---=0A= > PASS: gdb.base/call-ar-st.exp: continue to 1311=0A= > PASS: gdb.base/call-ar-st.exp: print sum_struct_print(10, *struct1, *stru= ct2, *struct3, *struct4)=0A= > PASS: gdb.base/call-ar-st.exp: print print_struct_rep(*struct1, *struct2,= *struct3)=0A= > PASS: gdb.base/call-ar-st.exp: print print_one_large_struct(*list1)=0A= 688c688=0A= < FAIL: gdb.base/call-rt-st.exp: print print_one_double(*d1)=0A= ---=0A= > PASS: gdb.base/call-rt-st.exp: print print_one_double(*d1)=0A= 773,800c773,786=0A= < ERROR: Process no longer exists=0A= < UNRESOLVED: gdb.base/call-sc.exp: ptype; call-sc-tll=0A= < ERROR: Couldn't send p/c fun() to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: p/c fun(); call call-sc-tll=0A= < ERROR: Couldn't send call Fun(foo) to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tll=0A= < ERROR: Couldn't send p/c L to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: p/c L; call call-sc-tll=0A= < ERROR: Couldn't send advance fun to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: advance to fun for return; return call-= sc-tll=0A= < ERROR: Couldn't send p/c L to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: zed L for return; return call-sc-tll=0A= < ERROR: Couldn't send return foo to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: return foo; return call-sc-tll=0A= < ERROR: Couldn't send backtrace 1 to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: return foo; synchronize pc to main()=0A= < ERROR: Couldn't send backtrace 1 to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: return foo; synchronize pc to main()=0A= < ERROR: Couldn't send p/c L to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: value foo returned; return call-sc-tll= =0A= < ERROR: Couldn't send advance fun to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: advance to fun for finish; return call-= sc-tll=0A= < ERROR: Couldn't send p/c L to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: zed L for finish; return call-sc-tll=0A= < ERROR: Couldn't send finish to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: finish foo; return call-sc-tll=0A= < ERROR: Couldn't send p/c to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: value foo finished; return call-sc-tll= =0A= ---=0A= > PASS: gdb.base/call-sc.exp: ptype; call-sc-tll (long long int)=0A= > PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tll long long int=0A= > PASS: gdb.base/call-sc.exp: p/c fun(); call call-sc-tll=0A= > PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tll=0A= > PASS: gdb.base/call-sc.exp: p/c L; call call-sc-tll=0A= > PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tll= =0A= > PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tll=0A= > PASS: gdb.base/call-sc.exp: return foo; return call-sc-tll=0A= > PASS: gdb.base/call-sc.exp: return foo; synchronize pc to main()=0A= > PASS: gdb.base/call-sc.exp: value foo returned; return call-sc-tll=0A= > PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tll= =0A= > PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tll=0A= > PASS: gdb.base/call-sc.exp: finish foo; return call-sc-tll=0A= > PASS: gdb.base/call-sc.exp: value foo finished; return call-sc-tll=0A= 806,833c792,804=0A= < ERROR: Process no longer exists=0A= < UNRESOLVED: gdb.base/call-sc.exp: ptype foo; call-sc-tf float=0A= < ERROR: Couldn't send p/c fun() to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: p/c fun(); call call-sc-tf=0A= < ERROR: Couldn't send call Fun(foo) to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tf=0A= < ERROR: Couldn't send p/c L to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: p/c L; call call-sc-tf=0A= < ERROR: Couldn't send advance fun to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: advance to fun for return; return call-= sc-tf=0A= < ERROR: Couldn't send p/c L to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: zed L for return; return call-sc-tf=0A= < ERROR: Couldn't send return foo to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: return foo; return call-sc-tf=0A= < ERROR: Couldn't send backtrace 1 to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: return foo; synchronize pc to main()=0A= < ERROR: Couldn't send backtrace 1 to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: return foo; synchronize pc to main()=0A= < ERROR: Couldn't send p/c L to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: value foo returned; return call-sc-tf= =0A= < ERROR: Couldn't send advance fun to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: advance to fun for finish; return call-= sc-tf=0A= < ERROR: Couldn't send p/c L to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: zed L for finish; return call-sc-tf=0A= < ERROR: Couldn't send finish to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: finish foo; return call-sc-tf=0A= < ERROR: Couldn't send p/c to GDB.=0A= < UNRESOLVED: gdb.base/call-sc.exp: value foo finished; return call-sc-tf= =0A= ---=0A= > PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tf float=0A= > PASS: gdb.base/call-sc.exp: p/c fun(); call call-sc-tf=0A= > PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tf=0A= > PASS: gdb.base/call-sc.exp: p/c L; call call-sc-tf=0A= > PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tf= =0A= > PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tf=0A= > PASS: gdb.base/call-sc.exp: return foo; return call-sc-tf=0A= > PASS: gdb.base/call-sc.exp: return foo; synchronize pc to main()=0A= > PASS: gdb.base/call-sc.exp: value foo returned; return call-sc-tf=0A= > PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tf= =0A= > PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tf=0A= > PASS: gdb.base/call-sc.exp: finish foo; return call-sc-tf=0A= > PASS: gdb.base/call-sc.exp: value foo finished; return call-sc-tf=0A= 845,846c816,823=0A= < ERROR: Process no longer exists=0A= < UNRESOLVED: gdb.base/call-sc.exp: return foo; return call-sc-td=0A= ---=0A= > PASS: gdb.base/call-sc.exp: return foo; return call-sc-td=0A= > PASS: gdb.base/call-sc.exp: return foo; synchronize pc to main()=0A= > PASS: gdb.base/call-sc.exp: value foo returned; return call-sc-td=0A= > PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-td= =0A= > PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-td=0A= > PASS: gdb.base/call-sc.exp: finish foo; return call-sc-td=0A= > PASS: gdb.base/call-sc.exp: value foo finished; return call-sc-td=0A= > PASS: gdb.base/call-sc.exp: return and finish use same convention; return= call-sc-td=0A= 852,859c829,835=0A= < FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tld=0A= < FAIL: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tld=0A= < FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tld=0A= < FAIL: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tld= =0A= < FAIL: gdb.base/call-sc.exp: zed L for return; return call-sc-tld=0A= < FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tld (got interacti= ve prompt)=0A= < FAIL: gdb.base/call-sc.exp: return foo; synchronize pc to main()=0A= < FAIL: gdb.base/call-sc.exp: return foo; synchronize pc to main()=0A= ---=0A= > PASS: gdb.base/call-sc.exp: p/c fun(); call call-sc-tld=0A= > PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tld=0A= > PASS: gdb.base/call-sc.exp: p/c L; call call-sc-tld=0A= > PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tld= =0A= > PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tld=0A= > PASS: gdb.base/call-sc.exp: return foo; return call-sc-tld=0A= > PASS: gdb.base/call-sc.exp: return foo; synchronize pc to main()=0A= 861,865c837,841=0A= < FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tld= (the program exited)=0A= < FAIL: gdb.base/call-sc.exp: zed L for finish; return call-sc-tld=0A= < FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tld (the program i= s no longer running)=0A= < FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tld=0A= < PASS: gdb.base/call-sc.exp: return and finish use same convention; return= call-sc-tld=0A= ---=0A= > PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tld= =0A= > PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tld=0A= > PASS: gdb.base/call-sc.exp: finish foo; return call-sc-tld=0A= > PASS: gdb.base/call-sc.exp: value foo finished; return call-sc-tld=0A= > KFAIL: gdb.base/call-sc.exp: return and finish use same convention; retur= n call-sc-tld (PRMS: gdb/1444)=0A= 885c861=0A= < gdb compile failed, /tmp/ccIKF566.o: In function `gen_signal':=0A= ---=0A= > gdb compile failed, /tmp/ccty9rh1.o: In function `gen_signal':=0A= 946c922=0A= < FAIL: gdb.base/callfuncs.exp: Call function with many float arguments.=0A= ---=0A= > PASS: gdb.base/callfuncs.exp: Call function with many float arguments.=0A= 953c929=0A= < FAIL: gdb.base/callfuncs.exp: Call function with many double arguments.= =0A= ---=0A= > PASS: gdb.base/callfuncs.exp: Call function with many double arguments.= =0A= 955c931=0A= < FAIL: gdb.base/callfuncs.exp: p t_double_int(99.0, 99)=0A= ---=0A= > PASS: gdb.base/callfuncs.exp: p t_double_int(99.0, 99)=0A= 957,958c933,934=0A= < FAIL: gdb.base/callfuncs.exp: p t_int_double(99, 99.0)=0A= < FAIL: gdb.base/callfuncs.exp: p t_float_complex_values(fc1, fc2)=0A= ---=0A= > PASS: gdb.base/callfuncs.exp: p t_int_double(99, 99.0)=0A= > PASS: gdb.base/callfuncs.exp: p t_float_complex_values(fc1, fc2)=0A= 960c936=0A= < FAIL: gdb.base/callfuncs.exp: p t_float_complex_many_args(fc1, fc2, fc3, = fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4)=0A= ---=0A= > PASS: gdb.base/callfuncs.exp: p t_float_complex_many_args(fc1, fc2, fc3, = fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4, fc1, fc2, fc3, fc4)=0A= 962c938=0A= < FAIL: gdb.base/callfuncs.exp: p t_double_complex_values(dc1, dc2)=0A= ---=0A= > PASS: gdb.base/callfuncs.exp: p t_double_complex_values(dc1, dc2)=0A= 964,966c940,942=0A= < FAIL: gdb.base/callfuncs.exp: p t_double_complex_many_args(dc1, dc2, dc3,= dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4)=0A= < FAIL: gdb.base/callfuncs.exp: p t_double_complex_many_args(dc1, dc1, dc1,= dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1)=0A= < FAIL: gdb.base/callfuncs.exp: p t_long_double_complex_values(ldc1, ldc2)= =0A= ---=0A= > PASS: gdb.base/callfuncs.exp: p t_double_complex_many_args(dc1, dc2, dc3,= dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4, dc1, dc2, dc3, dc4)=0A= > PASS: gdb.base/callfuncs.exp: p t_double_complex_many_args(dc1, dc1, dc1,= dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1, dc1)=0A= > PASS: gdb.base/callfuncs.exp: p t_long_double_complex_values(ldc1, ldc2)= =0A= 968,969c944,945=0A= < FAIL: gdb.base/callfuncs.exp: p t_long_double_complex_many_args(ldc1, ldc= 2, ldc3, ldc4, ldc1, ldc2, ldc3, ldc4, ldc1, ldc2, ldc3, ldc4, ldc1, ldc2, = ldc3, ldc4)=0A= < FAIL: gdb.base/callfuncs.exp: p t_long_double_complex_many_args(ldc1, ldc= 1, ldc1, ldc1, ldc1, ldc1, ldc1,ldc1, ldc1, ldc1, ldc1, ldc1, ldc1, ldc1, l= dc1, ldc1)=0A= ---=0A= > PASS: gdb.base/callfuncs.exp: p t_long_double_complex_many_args(ldc1, ldc= 2, ldc3, ldc4, ldc1, ldc2, ldc3, ldc4, ldc1, ldc2, ldc3, ldc4, ldc1, ldc2, = ldc3, ldc4)=0A= > PASS: gdb.base/callfuncs.exp: p t_long_double_complex_many_args(ldc1, ldc= 1, ldc1, ldc1, ldc1, ldc1, ldc1,ldc1, ldc1, ldc1, ldc1, ldc1, ldc1, ldc1, l= dc1, ldc1)=0A= 1072c1048=0A= < gdb compile failed, /tmp/cc7RDncB.o: In function `main':=0A= ---=0A= > gdb compile failed, /tmp/cc2GFfXn.o: In function `main':=0A= 2388c2364=0A= < FAIL: gdb.base/dfp-test.exp: Backtrace function with correct _Decimal32 a= rguments.=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: Backtrace function with correct _Decimal32 a= rguments.=0A= 2391c2367=0A= < FAIL: gdb.base/dfp-test.exp: Backtrace function with correct _Decimal64 a= rguments.=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: Backtrace function with correct _Decimal64 a= rguments.=0A= 2394c2370=0A= < FAIL: gdb.base/dfp-test.exp: Backtrace function with correct _Decimal128 = arguments.=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: Backtrace function with correct _Decimal128 = arguments.=0A= 2396,2408c2372,2384=0A= < FAIL: gdb.base/dfp-test.exp: Call function with mixed decimal float argum= ents TEST.=0A= < FAIL: gdb.base/dfp-test.exp: Call function with mixed decimal float argum= ents.=0A= < FAIL: gdb.base/dfp-test.exp: Call function with many _Decimal32 arguments= .=0A= < FAIL: gdb.base/dfp-test.exp: Call function with many _Decimal64 arguments= .=0A= < FAIL: gdb.base/dfp-test.exp: Call function with many _Decimal128 argument= s.=0A= < FAIL: gdb.base/dfp-test.exp: Call function with many mixed decimal float = arguments.=0A= < FAIL: gdb.base/dfp-test.exp: continue to breakpoint: Setting a decimal st= ruct=0A= < FAIL: gdb.base/dfp-test.exp: print ds.dec32=0A= < FAIL: gdb.base/dfp-test.exp: print ds.dec64=0A= < FAIL: gdb.base/dfp-test.exp: print ds.dec128=0A= < FAIL: gdb.base/dfp-test.exp: print d32 + ds.dec32=0A= < FAIL: gdb.base/dfp-test.exp: print d64 + ds.dec64=0A= < FAIL: gdb.base/dfp-test.exp: print d128 + ds.dec128=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: Call function with mixed decimal float argum= ents TEST.=0A= > PASS: gdb.base/dfp-test.exp: Call function with mixed decimal float argum= ents.=0A= > PASS: gdb.base/dfp-test.exp: Call function with many _Decimal32 arguments= .=0A= > PASS: gdb.base/dfp-test.exp: Call function with many _Decimal64 arguments= .=0A= > PASS: gdb.base/dfp-test.exp: Call function with many _Decimal128 argument= s.=0A= > PASS: gdb.base/dfp-test.exp: Call function with many mixed decimal float = arguments.=0A= > PASS: gdb.base/dfp-test.exp: continue to breakpoint: Setting a decimal st= ruct=0A= > PASS: gdb.base/dfp-test.exp: print ds.dec32=0A= > PASS: gdb.base/dfp-test.exp: print ds.dec64=0A= > PASS: gdb.base/dfp-test.exp: print ds.dec128=0A= > PASS: gdb.base/dfp-test.exp: print d32 + ds.dec32=0A= > PASS: gdb.base/dfp-test.exp: print d64 + ds.dec64=0A= > PASS: gdb.base/dfp-test.exp: print d128 + ds.dec128=0A= 2414c2390=0A= < FAIL: gdb.base/dfp-test.exp: p ds.int4 + d128=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: p ds.int4 + d128=0A= 2422,2425c2398,2401=0A= < FAIL: gdb.base/dfp-test.exp: p +d128=0A= < FAIL: gdb.base/dfp-test.exp: p d64 =3D=3D d128=0A= < FAIL: gdb.base/dfp-test.exp: p d128 =3D=3D ds.dec32=0A= < FAIL: gdb.base/dfp-test.exp: p d128 =3D=3D d32=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: p +d128=0A= > PASS: gdb.base/dfp-test.exp: p d64 =3D=3D d128=0A= > PASS: gdb.base/dfp-test.exp: p d128 =3D=3D ds.dec32=0A= > PASS: gdb.base/dfp-test.exp: p d128 =3D=3D d32=0A= 2427,2434c2403,2410=0A= < FAIL: gdb.base/dfp-test.exp: p d32 < ds.dec32=0A= < FAIL: gdb.base/dfp-test.exp: p d64 < ds.dec64=0A= < FAIL: gdb.base/dfp-test.exp: p d128 < ds.dec128=0A= < FAIL: gdb.base/dfp-test.exp: p ds.dec32 < d32=0A= < FAIL: gdb.base/dfp-test.exp: p d64 > ds.dec64=0A= < FAIL: gdb.base/dfp-test.exp: p ds.dec128 > d128=0A= < FAIL: gdb.base/dfp-test.exp: p d32 < ds.int4=0A= < FAIL: gdb.base/dfp-test.exp: p ds.int4 > d32=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: p d32 < ds.dec32=0A= > PASS: gdb.base/dfp-test.exp: p d64 < ds.dec64=0A= > PASS: gdb.base/dfp-test.exp: p d128 < ds.dec128=0A= > PASS: gdb.base/dfp-test.exp: p ds.dec32 < d32=0A= > PASS: gdb.base/dfp-test.exp: p d64 > ds.dec64=0A= > PASS: gdb.base/dfp-test.exp: p ds.dec128 > d128=0A= > PASS: gdb.base/dfp-test.exp: p d32 < ds.int4=0A= > PASS: gdb.base/dfp-test.exp: p ds.int4 > d32=0A= 2437c2413=0A= < FAIL: gdb.base/dfp-test.exp: p ds.dec128 > ds.int4=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: p ds.dec128 > ds.int4=0A= 2442c2418=0A= < FAIL: gdb.base/dfp-test.exp: print ds.dec128=3Dd128=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: print ds.dec128=3Dd128=0A= 2445c2421=0A= < FAIL: gdb.base/dfp-test.exp: print ds.dec128 =3D -d128=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: print ds.dec128 =3D -d128=0A= 2447c2423=0A= < FAIL: gdb.base/dfp-test.exp: print ds.dec64 =3D ds.float4=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: print ds.dec64 =3D ds.float4=0A= 2450c2426=0A= < FAIL: gdb.base/dfp-test.exp: print ds.dec32 =3D ds.int4=0A= ---=0A= > PASS: gdb.base/dfp-test.exp: print ds.dec32 =3D ds.int4=0A= 2969c2945,3269=0A= < ERROR: couldn't run to breakpoint=0A= ---=0A= > PASS: gdb.base/exprs.exp: print char =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print char =3D=3D (print v_char =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print char =3D=3D (print v_char =3D=3D 127)=0A= > PASS: gdb.base/exprs.exp: print char !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print char !=3D (print v_char !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print char !=3D (print v_char !=3D 127)=0A= > PASS: gdb.base/exprs.exp: print char < (setup)=0A= > PASS: gdb.base/exprs.exp: print char < (print v_char < 0)=0A= > PASS: gdb.base/exprs.exp: print char < (print v_char < 127)=0A= > PASS: gdb.base/exprs.exp: print char > (setup)=0A= > PASS: gdb.base/exprs.exp: print char > (print v_char > 0)=0A= > PASS: gdb.base/exprs.exp: print char > (print v_char > 127)=0A= > PASS: gdb.base/exprs.exp: print signed char =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed char =3D=3D (print v_signed_char = =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed char =3D=3D (print v_signed_char = =3D=3D 127)=0A= > PASS: gdb.base/exprs.exp: print signed char !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed char !=3D (print v_signed_char != =3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed char !=3D (print v_signed_char != =3D 127)=0A= > PASS: gdb.base/exprs.exp: print signed char < (setup)=0A= > PASS: gdb.base/exprs.exp: print signed char < (print v_signed_char < 0)= =0A= > PASS: gdb.base/exprs.exp: print signed char < (print v_signed_char < 127)= =0A= > PASS: gdb.base/exprs.exp: print signed char > (setup)=0A= > PASS: gdb.base/exprs.exp: print signed char > (print v_signed_char > 0)= =0A= > PASS: gdb.base/exprs.exp: print signed char > (print v_signed_char > 127)= =0A= > PASS: gdb.base/exprs.exp: print signed char =3D=3D (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed char =3D=3D (minus) (print v_signe= d_char =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed char =3D=3D (minus) (print v_signe= d_char =3D=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed char !=3D (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed char !=3D (minus) (print v_signed_= char !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed char !=3D (minus) (print v_signed_= char !=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed char < (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed char < (minus) (print v_signed_cha= r < 0)=0A= > PASS: gdb.base/exprs.exp: print signed char < (minus) (print v_signed_cha= r < 127)=0A= > PASS: gdb.base/exprs.exp: print signed char > (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed char > (minus) (print v_signed_cha= r > 0)=0A= > PASS: gdb.base/exprs.exp: print signed char > (minus) (print v_signed_cha= r > 127)=0A= > PASS: gdb.base/exprs.exp: print unsigned char =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned char =3D=3D (print v_unsigned_ch= ar =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char =3D=3D (print v_unsigned_ch= ar =3D=3D 127)=0A= > PASS: gdb.base/exprs.exp: print unsigned char !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned char !=3D (print v_unsigned_char= !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char !=3D (print v_unsigned_char= !=3D 127)=0A= > PASS: gdb.base/exprs.exp: print unsigned char < (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned char < (print v_unsigned_char < = 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char < (print v_unsigned_char < = 127)=0A= > PASS: gdb.base/exprs.exp: print unsigned char > (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned char > (print v_unsigned_char > = 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char > (print v_unsigned_char > = 127)=0A= > PASS: gdb.base/exprs.exp: print unsigned char =3D=3D (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned char =3D=3D (~0) (print v_unsign= ed_char =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char =3D=3D (~0) (print v_unsign= ed_char =3D=3D ~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char =3D=3D (~0) (print v_unsign= ed_char =3D=3D (unsigned char)~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char !=3D (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned char !=3D (~0) (print v_unsigned= _char !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char !=3D (~0) (print v_unsigned= _char !=3D (unsigned char)~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char !=3D (~0) (print v_unsigned= _char !=3D ~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char < (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned char < (~0) (print v_unsigned_ch= ar < 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char < (~0) (print v_unsigned_ch= ar < 127)=0A= > PASS: gdb.base/exprs.exp: print unsigned char > (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned char > (~0) (print v_unsigned_ch= ar > 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned char > (~0) (print v_unsigned_ch= ar > 127)=0A= > PASS: gdb.base/exprs.exp: print signed short =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed short =3D=3D (print v_short =3D=3D= 0)=0A= > PASS: gdb.base/exprs.exp: print signed short =3D=3D (print v_short =3D=3D= 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed short !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed short !=3D (print v_short !=3D 0)= =0A= > PASS: gdb.base/exprs.exp: print signed short !=3D (print v_short !=3D 0x7= FFF)=0A= > PASS: gdb.base/exprs.exp: print signed short < (setup)=0A= > PASS: gdb.base/exprs.exp: print signed short < (print v_short < 0)=0A= > PASS: gdb.base/exprs.exp: print signed short < (print v_short < 0x7FFF)= =0A= > PASS: gdb.base/exprs.exp: print signed short > (setup)=0A= > PASS: gdb.base/exprs.exp: print signed short > (print v_short > 0)=0A= > PASS: gdb.base/exprs.exp: print signed short > (print v_short > 0x7FFF)= =0A= > PASS: gdb.base/exprs.exp: print signed short =3D=3D (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed short =3D=3D (minus) (print v_shor= t =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed short =3D=3D (minus) (print v_shor= t =3D=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed short !=3D (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed short !=3D (minus) (print v_short = !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed short !=3D (minus) (print v_short = !=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed short < (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed short < (minus) (print v_short < 0= )=0A= > PASS: gdb.base/exprs.exp: print signed short < (minus) (print v_short < 0= x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed short > (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed short > (minus) (print v_short > 0= )=0A= > PASS: gdb.base/exprs.exp: print signed short > (minus) (print v_short > 0= x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed short =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed short =3D=3D (print v_signe= d_short =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed short =3D=3D (print v_signe= d_short =3D=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed short !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed short !=3D (print v_signed_= short !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed short !=3D (print v_signed_= short !=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed short < (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed short < (print v_signed_sho= rt < 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed short < (print v_signed_sho= rt < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed short > (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed short > (print v_signed_sho= rt > 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed short > (print v_signed_sho= rt > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed short =3D=3D (minus) (setup= )=0A= > PASS: gdb.base/exprs.exp: print signed signed short =3D=3D (minus) (print= v_signed_short =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed short =3D=3D (minus) (print= v_signed_short =3D=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed signed short !=3D (minus) (setup)= =0A= > PASS: gdb.base/exprs.exp: print signed signed short !=3D (minus) (print v= _signed_short !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed short !=3D (minus) (print v= _signed_short !=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed signed short < (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed short < (minus) (print v_si= gned_short < 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed short < (minus) (print v_si= gned_short < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed short > (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed short > (minus) (print v_si= gned_short > 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed short > (minus) (print v_si= gned_short > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned short =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned short =3D=3D (print v_unsigned_s= hort =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short =3D=3D (print v_unsigned_s= hort =3D=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned short !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned short !=3D (print v_unsigned_sho= rt !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short !=3D (print v_unsigned_sho= rt !=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned short < (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned short < (print v_unsigned_short = < 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short < (print v_unsigned_short = < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned short > (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned short > (print v_unsigned_short = > 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short > (print v_unsigned_short = > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned short =3D=3D (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned short =3D=3D (~0) (print v_unsig= ned_short =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short =3D=3D (~0) (print sizeof = (v_unsigned_short) < sizeof (~0) && v_unsigned_short =3D=3D ~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short =3D=3D (~0) (print v_unsig= ned_short =3D=3D (unsigned short)~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short !=3D (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned short !=3D (~0) (print v_unsigne= d_short !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short !=3D (~0) (print v_unsigne= d_short !=3D (unsigned short)~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short < (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned short < (~0) (print v_unsigned_s= hort < 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short < (~0) (print v_unsigned_s= hort < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned short > (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned short > (~0) (print v_unsigned_s= hort > 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned short > (~0) (print v_unsigned_s= hort > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed int =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed int =3D=3D (print v_int =3D=3D 0)= =0A= > PASS: gdb.base/exprs.exp: print signed int =3D=3D (print v_int =3D=3D 0x7= FFF)=0A= > PASS: gdb.base/exprs.exp: print signed int !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed int !=3D (print v_int !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed int !=3D (print v_int !=3D 0x7FFF)= =0A= > PASS: gdb.base/exprs.exp: print signed int < (setup)=0A= > PASS: gdb.base/exprs.exp: print signed int < (print v_int < 0)=0A= > PASS: gdb.base/exprs.exp: print signed int < (print v_int < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed int > (setup)=0A= > PASS: gdb.base/exprs.exp: print signed int > (print v_int > 0)=0A= > PASS: gdb.base/exprs.exp: print signed int > (print v_int > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed int =3D=3D (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed int =3D=3D (minus) (print v_int = =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed int =3D=3D (minus) (print v_int = =3D=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed int !=3D (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed int !=3D (minus) (print v_int !=3D= 0)=0A= > PASS: gdb.base/exprs.exp: print signed int !=3D (minus) (print v_int !=3D= -1)=0A= > PASS: gdb.base/exprs.exp: print signed int < (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed int < (minus) (print v_int < 0)=0A= > PASS: gdb.base/exprs.exp: print signed int < (minus) (print v_int < 0x7FF= F)=0A= > PASS: gdb.base/exprs.exp: print signed int > (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed int > (minus) (print v_int > 0)=0A= > PASS: gdb.base/exprs.exp: print signed int > (minus) (print v_int > 0x7FF= F)=0A= > PASS: gdb.base/exprs.exp: print signed signed int =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed int =3D=3D (print v_signed_= int =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed int =3D=3D (print v_signed_= int =3D=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed int !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed int !=3D (print v_signed_in= t !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed int !=3D (print v_signed_in= t !=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed int < (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed int < (print v_signed_int <= 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed int < (print v_signed_int <= 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed int > (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed int > (print v_signed_int >= 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed int > (print v_signed_int >= 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed int =3D=3D (minus) (setup)= =0A= > PASS: gdb.base/exprs.exp: print signed signed int =3D=3D (minus) (print v= _signed_int =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed int =3D=3D (minus) (print v= _signed_int =3D=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed signed int !=3D (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed int !=3D (minus) (print v_s= igned_int !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed int !=3D (minus) (print v_s= igned_int !=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed signed int < (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed int < (minus) (print v_sign= ed_int < 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed int < (minus) (print v_sign= ed_int < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed int > (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed int > (minus) (print v_sign= ed_int > 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed int > (minus) (print v_sign= ed_int > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned int =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned int =3D=3D (print v_unsigned_int= =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned int =3D=3D (print v_unsigned_int= =3D=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned int !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned int !=3D (print v_unsigned_int != =3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned int !=3D (print v_unsigned_int != =3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned int < (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned int < (print v_unsigned_int < 0)= =0A= > PASS: gdb.base/exprs.exp: print unsigned int < (print v_unsigned_int < 0x= 7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned int > (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned int > (print v_unsigned_int > 0)= =0A= > PASS: gdb.base/exprs.exp: print unsigned int > (print v_unsigned_int > 0x= 7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned int =3D=3D (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned int =3D=3D (~0) (print v_unsigne= d_int =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned int =3D=3D (~0) (print v_unsigne= d_int =3D=3D ~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned int =3D=3D (~0) (print v_unsigne= d_int =3D=3D (unsigned int)~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned int !=3D (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned int !=3D (~0) (print v_unsigned_= int !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned int !=3D (~0) (print v_unsigned_= int !=3D (unsigned int)~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned int < (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned int < (~0) (print v_unsigned_int= < 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned int < (~0) (print v_unsigned_int= < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned int > (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned int > (~0) (print v_unsigned_int= > 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned int > (~0) (print v_unsigned_int= > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed long =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed long =3D=3D (print v_long =3D=3D 0= )=0A= > PASS: gdb.base/exprs.exp: print signed long =3D=3D (print v_long =3D=3D 0= x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed long !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed long !=3D (print v_long !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed long !=3D (print v_long !=3D 0x7FF= F)=0A= > PASS: gdb.base/exprs.exp: print signed long < (setup)=0A= > PASS: gdb.base/exprs.exp: print signed long < (print v_long < 0)=0A= > PASS: gdb.base/exprs.exp: print signed long < (print v_long < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed long > (setup)=0A= > PASS: gdb.base/exprs.exp: print signed long > (print v_long > 0)=0A= > PASS: gdb.base/exprs.exp: print signed long > (print v_long > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed long =3D=3D (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed long =3D=3D (minus) (print v_long = =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed long =3D=3D (minus) (print v_long = =3D=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed long !=3D (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed long !=3D (minus) (print v_long != =3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed long !=3D (minus) (print v_long != =3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed long < (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed long < (minus) (print v_long < 0)= =0A= > PASS: gdb.base/exprs.exp: print signed long < (minus) (print v_long < 0x7= FFF)=0A= > PASS: gdb.base/exprs.exp: print signed long > (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed long > (minus) (print v_long > 0)= =0A= > PASS: gdb.base/exprs.exp: print signed long > (minus) (print v_long > 0x7= FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed long =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed long =3D=3D (print v_signed= _long =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed long =3D=3D (print v_signed= _long =3D=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed long !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed long !=3D (print v_signed_l= ong !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed long !=3D (print v_signed_l= ong !=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed long < (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed long < (print v_signed_long= < 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed long < (print v_signed_long= < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed long > (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed long > (print v_signed_long= > 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed long > (print v_signed_long= > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed long =3D=3D (minus) (setup)= =0A= > PASS: gdb.base/exprs.exp: print signed signed long =3D=3D (minus) (print = v_signed_long =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed long =3D=3D (minus) (print = v_signed_long =3D=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed signed long !=3D (minus) (setup)= =0A= > PASS: gdb.base/exprs.exp: print signed signed long !=3D (minus) (print v_= signed_long !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed long !=3D (minus) (print v_= signed_long !=3D -1)=0A= > PASS: gdb.base/exprs.exp: print signed signed long < (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed long < (minus) (print v_sig= ned_long < 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed long < (minus) (print v_sig= ned_long < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print signed signed long > (minus) (setup)=0A= > PASS: gdb.base/exprs.exp: print signed signed long > (minus) (print v_sig= ned_long > 0)=0A= > PASS: gdb.base/exprs.exp: print signed signed long > (minus) (print v_sig= ned_long > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned long =3D=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned long =3D=3D (print v_unsigned_lo= ng =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long =3D=3D (print v_unsigned_lo= ng =3D=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned long !=3D (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned long !=3D (print v_unsigned_long= !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long !=3D (print v_unsigned_long= !=3D 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned long < (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned long < (print v_unsigned_long < = 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long < (print v_unsigned_long < = 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned long > (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned long > (print v_unsigned_long > = 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long > (print v_unsigned_long > = 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned long =3D=3D (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned long =3D=3D (~0) (print v_unsign= ed_long =3D=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long =3D=3D (~0) (print v_unsign= ed_long =3D=3D ~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long =3D=3D (~0) (print v_unsign= ed_long =3D=3D (unsigned long)~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long !=3D (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned long !=3D (~0) (print v_unsigned= _long !=3D 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long !=3D (~0) (print v_unsigned= _long !=3D (unsigned long)~0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long < (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned long < (~0) (print v_unsigned_lo= ng < 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long < (~0) (print v_unsigned_lo= ng < 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print unsigned long > (~0) (setup)=0A= > PASS: gdb.base/exprs.exp: print unsigned long > (~0) (print v_unsigned_lo= ng > 0)=0A= > PASS: gdb.base/exprs.exp: print unsigned long > (~0) (print v_unsigned_lo= ng > 0x7FFF)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_signed_char (setup)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_signed_char (print (void*)v_sign= ed_char)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_signed_short (setup)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_signed_short (print (void*)v_sig= ned_short)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_signed_int (setup)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_signed_int (print (void*)v_signe= d_int)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_signed_long (setup)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_signed_long (print (void*)v_sign= ed_long)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_unsigned_char (setup)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_unsigned_char (print (void*)v_un= signed_char)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_unsigned_short (setup)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_unsigned_short (print (void*)v_u= nsigned_short)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_unsigned_int (setup)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_unsigned_int (print (void*)v_uns= igned_int)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_unsigned_long (setup)=0A= > PASS: gdb.base/exprs.exp: print (void*)v_unsigned_long (print (void*)v_un= signed_long)=0A= > PASS: gdb.base/exprs.exp: sizeof (long long) > sizeof (long) (true)=0A= > FAIL: gdb.base/exprs.exp: truncate (void*) 0x00000000ffffffff + 1=0A= > FAIL: gdb.base/exprs.exp: truncate (void*) 0xffffffff00000000 - 1=0A= > PASS: gdb.base/exprs.exp: \$[0-9]* =3D "xy" (setup)=0A= > PASS: gdb.base/exprs.exp: \$[0-9]* =3D "xyz" (setup)=0A= > PASS: gdb.base/exprs.exp: \$[0-9]* =3D red (setup)=0A= > PASS: gdb.base/exprs.exp: set output-radix 8=0A= > PASS: gdb.base/exprs.exp: \$[0-9]* =3D red (setup)=0A= > PASS: gdb.base/exprs.exp: \$[0-9]* =3D 0 (setup)=0A= > PASS: gdb.base/exprs.exp: set output-radix 10=0A= > PASS: gdb.base/exprs.exp: set variable v_int =3D 1=0A= > PASS: gdb.base/exprs.exp: print v_int++=0A= > PASS: gdb.base/exprs.exp: print ++v_int=0A= > PASS: gdb.base/exprs.exp: print v_int--=0A= > PASS: gdb.base/exprs.exp: print --v_int=0A= > PASS: gdb.base/exprs.exp: print v_int++ =3D 5=0A= > PASS: gdb.base/exprs.exp: print v_int-- =3D 5=0A= > PASS: gdb.base/exprs.exp: print v_int_array_init=0A= > PASS: gdb.base/exprs.exp: print *v_int_array_init@1=0A= > PASS: gdb.base/exprs.exp: print *v_int_array_init@2=0A= > PASS: gdb.base/exprs.exp: print v_int_array_init[0]@1=0A= > PASS: gdb.base/exprs.exp: print v_int_array_init[0]@2=0A= > PASS: gdb.base/exprs.exp: print v_int_array_init[1]@1=0A= > PASS: gdb.base/exprs.exp: set variable v_short_array[0] =3D 42=0A= > PASS: gdb.base/exprs.exp: print {short} v_short_array=0A= > PASS: gdb.base/exprs.exp: print (void) v_int_pointer=0A= > PASS: gdb.base/exprs.exp: print & (void) v_char=0A= > PASS: gdb.base/exprs.exp: print null_t_struct && null_t_struct->v_int_mem= ber =3D=3D 0=0A= 2973c3273=0A= < UNRESOLVED: gdb.base/fileio.exp: fileio.exp=0A= ---=0A= > UNTESTED: gdb.base/fileio.exp: fileio.exp=0A= 3275,3277c3575,3577=0A= < gdb compile failed, /tmp/ccYKFlwS.s: Assembler messages:=0A= < /tmp/ccYKFlwS.s:3: Warning: .type pseudo-op used outside of .def/.endef i= gnored.=0A= < /tmp/ccYKFlwS.s:3: Error: junk at end of line, first unrecognized charact= er is `g'=0A= ---=0A= > gdb compile failed, /tmp/ccr8Alyx.s: Assembler messages:=0A= > /tmp/ccr8Alyx.s:3: Warning: .type pseudo-op used outside of .def/.endef i= gnored.=0A= > /tmp/ccr8Alyx.s:3: Error: junk at end of line, first unrecognized charact= er is `g'=0A= 3280,3281c3580,3677=0A= < gdb compile failed, exit status is 1=0A= < UNTESTED: gdb.base/gnu_vector.exp: gnu_vector.exp=0A= ---=0A= > PASS: gdb.base/gnu_vector.exp: print c4=0A= > PASS: gdb.base/gnu_vector.exp: print c4[2]=0A= > PASS: gdb.base/gnu_vector.exp: print i4a=0A= > PASS: gdb.base/gnu_vector.exp: print i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a + i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a - i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a * i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a / i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a % i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a++=0A= > PASS: gdb.base/gnu_vector.exp: print ++i4a=0A= > PASS: gdb.base/gnu_vector.exp: print i4a--=0A= > PASS: gdb.base/gnu_vector.exp: print --i4a=0A= > PASS: gdb.base/gnu_vector.exp: print +i4a=0A= > PASS: gdb.base/gnu_vector.exp: print -i4a=0A= > PASS: gdb.base/gnu_vector.exp: print i4a & i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a | i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a ^ i4b=0A= > PASS: gdb.base/gnu_vector.exp: print ~i4a=0A= > PASS: gdb.base/gnu_vector.exp: print i4a << i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a >> i4b=0A= > PASS: gdb.base/gnu_vector.exp: print f4a=0A= > PASS: gdb.base/gnu_vector.exp: print f4b=0A= > PASS: gdb.base/gnu_vector.exp: print f4a + f4b=0A= > PASS: gdb.base/gnu_vector.exp: print f4a - f4b=0A= > PASS: gdb.base/gnu_vector.exp: print f4a * f4b=0A= > PASS: gdb.base/gnu_vector.exp: print f4a / f4b=0A= > PASS: gdb.base/gnu_vector.exp: print +f4a=0A= > PASS: gdb.base/gnu_vector.exp: print -f4a=0A= > PASS: gdb.base/gnu_vector.exp: print (char4) 0x01010101=0A= > PASS: gdb.base/gnu_vector.exp: print (char4) ia=0A= > PASS: gdb.base/gnu_vector.exp: print (int2) lla=0A= > PASS: gdb.base/gnu_vector.exp: print (int2) 1=0A= > PASS: gdb.base/gnu_vector.exp: print (longlong2) 2=0A= > PASS: gdb.base/gnu_vector.exp: print (float2) 3=0A= > PASS: gdb.base/gnu_vector.exp: print (double2) 4=0A= > PASS: gdb.base/gnu_vector.exp: print (uint4) ia=0A= > PASS: gdb.base/gnu_vector.exp: print (int4) -3=0A= > PASS: gdb.base/gnu_vector.exp: print (float4) 4=0A= > PASS: gdb.base/gnu_vector.exp: print i4b =3D ia=0A= > PASS: gdb.base/gnu_vector.exp: print i4a =3D 3=0A= > PASS: gdb.base/gnu_vector.exp: print f4a =3D fb=0A= > PASS: gdb.base/gnu_vector.exp: print f4b =3D 2=0A= > PASS: gdb.base/gnu_vector.exp: print c4 + lla=0A= > PASS: gdb.base/gnu_vector.exp: print i4a + lla=0A= > PASS: gdb.base/gnu_vector.exp: print lla + c4=0A= > PASS: gdb.base/gnu_vector.exp: print lla + i4a=0A= > PASS: gdb.base/gnu_vector.exp: print c4 + ib=0A= > PASS: gdb.base/gnu_vector.exp: print i4a + ib=0A= > PASS: gdb.base/gnu_vector.exp: print i4a + 1=0A= > PASS: gdb.base/gnu_vector.exp: print 1 + i4a=0A= > PASS: gdb.base/gnu_vector.exp: print fa - f4b=0A= > PASS: gdb.base/gnu_vector.exp: print 2 - f4b=0A= > PASS: gdb.base/gnu_vector.exp: print f4a * fb=0A= > PASS: gdb.base/gnu_vector.exp: print f4a * 1=0A= > PASS: gdb.base/gnu_vector.exp: print ia / i4b=0A= > PASS: gdb.base/gnu_vector.exp: print 2 / i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a % ib=0A= > PASS: gdb.base/gnu_vector.exp: print i4a % 1=0A= > PASS: gdb.base/gnu_vector.exp: print ia & i4b=0A= > PASS: gdb.base/gnu_vector.exp: print 2 & i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a | ib=0A= > PASS: gdb.base/gnu_vector.exp: print i4a | 1=0A= > PASS: gdb.base/gnu_vector.exp: print ia ^ i4b=0A= > PASS: gdb.base/gnu_vector.exp: print 2 ^ i4b=0A= > PASS: gdb.base/gnu_vector.exp: print i4a << ib=0A= > PASS: gdb.base/gnu_vector.exp: print i4a << 1=0A= > PASS: gdb.base/gnu_vector.exp: print i4a >> ib=0A= > PASS: gdb.base/gnu_vector.exp: print i4a >> 1=0A= > PASS: gdb.base/gnu_vector.exp: print i4a =3D {2, 4, 8, 16}=0A= > PASS: gdb.base/gnu_vector.exp: print i4a <<=3D ib=0A= > PASS: gdb.base/gnu_vector.exp: print i4a + d2=0A= > PASS: gdb.base/gnu_vector.exp: print d2 + i4a=0A= > PASS: gdb.base/gnu_vector.exp: print f4a + ll2=0A= > PASS: gdb.base/gnu_vector.exp: print ll2 + f4a=0A= > PASS: gdb.base/gnu_vector.exp: print i2 + ll2=0A= > PASS: gdb.base/gnu_vector.exp: print ll2 + i2=0A= > PASS: gdb.base/gnu_vector.exp: print i4a + ll2=0A= > PASS: gdb.base/gnu_vector.exp: print ll2 + i4a=0A= > PASS: gdb.base/gnu_vector.exp: print f4a + d2=0A= > PASS: gdb.base/gnu_vector.exp: print d2 + f4a=0A= > PASS: gdb.base/gnu_vector.exp: print ui4 + i4a=0A= > PASS: gdb.base/gnu_vector.exp: print i4a + ui4=0A= > PASS: gdb.base/gnu_vector.exp: print i4a + i2=0A= > PASS: gdb.base/gnu_vector.exp: print i2 + i4a=0A= > PASS: gdb.base/gnu_vector.exp: print f4a + f2=0A= > PASS: gdb.base/gnu_vector.exp: print f2 + f4a=0A= > PASS: gdb.base/gnu_vector.exp: print (double2) f2=0A= > PASS: gdb.base/gnu_vector.exp: print (int4) c4=0A= > PASS: gdb.base/gnu_vector.exp: print (char4) i4a=0A= > PASS: gdb.base/gnu_vector.exp: ptype c4=0A= > PASS: gdb.base/gnu_vector.exp: ptype char4=0A= > PASS: gdb.base/gnu_vector.exp: ptype i4a=0A= > PASS: gdb.base/gnu_vector.exp: ptype int4=0A= > PASS: gdb.base/gnu_vector.exp: ptype f4b=0A= > PASS: gdb.base/gnu_vector.exp: ptype float4=0A= > PASS: gdb.base/gnu_vector.exp: ptype union_with_vector_1=0A= > PASS: gdb.base/gnu_vector.exp: ptype struct_with_vector_1=0A= 3612c4008=0A= < gdb compile failed, /tmp/ccyKEEX1.o: In function `main':=0A= ---=0A= > gdb compile failed, /tmp/ccwSgS7G.o: In function `main':=0A= 7391c7787=0A= < FAIL: gdb.base/structs.exp: p/c L; call 1 structs-tf=0A= ---=0A= > PASS: gdb.base/structs.exp: p/c L; call 1 structs-tf=0A= 7423c7819=0A= < FAIL: gdb.base/structs.exp: p/c L; call 1 structs-td=0A= ---=0A= > PASS: gdb.base/structs.exp: p/c L; call 1 structs-td=0A= 7846c8242=0A= < gdb compile failed, /tmp/ccp17F3z.o: In function `main':=0A= ---=0A= > gdb compile failed, /tmp/cc9Z0ZKo.o: In function `main':=0A= 7880,7882c8276,8278=0A= < FAIL: gdb.base/varargs.exp: print find_max_float_real(4, fc1, fc2, fc3, f= c4)=0A= < FAIL: gdb.base/varargs.exp: print find_max_double_real(4, dc1, dc2, dc3, = dc4)=0A= < FAIL: gdb.base/varargs.exp: print find_max_long_double_real(4, ldc1, ldc2= , ldc3, ldc4)=0A= ---=0A= > PASS: gdb.base/varargs.exp: print find_max_float_real(4, fc1, fc2, fc3, f= c4)=0A= > PASS: gdb.base/varargs.exp: print find_max_double_real(4, dc1, dc2, dc3, = dc4)=0A= > PASS: gdb.base/varargs.exp: print find_max_long_double_real(4, ldc1, ldc2= , ldc3, ldc4)=0A= 7982c8378=0A= < gdb compile failed, /tmp/ccKclMwM.o: In function `open_shlib':=0A= ---=0A= > gdb compile failed, /tmp/ccaeemVV.o: In function `open_shlib':=0A= 8407,8408c8803,8804=0A= < # of expected passes 7336=0A= < # of unexpected failures 326=0A= ---=0A= > # of expected passes 7875=0A= > # of unexpected failures 243=0A= 8410,8411c8806,8807=0A= < # of known failures 23=0A= < # of unresolved testcases 36=0A= ---=0A= > # of known failures 24=0A= > # of unresolved testcases 6=0A= 8414c8810=0A= < /usr/local/src/gdbcvs/build-cross-src-mingw64/gdb/testsuite/../../gdb/gdb= version 7.6.50.20130910-cvs -nw -nx -data-directory /usr/local/src/gdbcvs= /build-cross-src-mingw64/gdb/testsuite/../data-directory -iex {maint set t= estsuite-mode on} -ex {set interactive-mode on} -iex {set target-charset UT= F-8}=0A= ---=0A= > /usr/local/src/gdbcvs/build-cross-src-mingw64/gdb/testsuite/../../gdb/gdb= version 7.6.50.20130913-cvs -nw -nx -data-directory /usr/local/src/gdbcvs= /build-cross-src-mingw64/gdb/testsuite/../data-directory -iex {maint set t= estsuite-mode on} -ex {set interactive-mode on} -iex {set target-charset UT= F-8}=0A= ------=_NextPart_000_0032_01CEB0DE.E658A340--