* gdb.base/branches.c: Code with lots of loops and
subroutines. Used to test gdbs ability to single step through PC
changes, especially to test mips-tdep.c:mips_next_pc
Andrew Cagney [Thu, 16 Apr 1998 07:49:58 +0000 (07:49 +0000)]
o CVT.S.W and CVT.W.S were reversed
o When unpacking an r5900 FP value,
was not treating IEEE-NaN's as very
large values.
o When packing an r5900 FP result from an infinite
precision intermediate value was saturating
to IEEE-MAX instead of r5900-MAX
o The least significant bit of the FP status
register did not stick to one.
Mark Alexander [Wed, 15 Apr 1998 00:25:58 +0000 (00:25 +0000)]
* sparc-tdep.c (sparc_extract_struct_value_address): Make it
work correctly on little-endian hosts.
(sparc_push_arguments): New function.
(gdb_print_insn_sparc): New function.
(_initialize_sparc_tdep): Make gdb_print_insn_sparc the default
disassembler, so that SPARClite-specific instructions will
be recognized.
* sparcl-tdep.c (readchar): Print debugging information.
(debug_serial_write): New function, a replacement for SERIAL_WRITE
that prints debugging information.
* config/sparc/tm-sparc.h (PUSH_ARGUMENTS): Define.
(sparc_push_arguments): Declare.
* sim-memopt.c (parse_addr): Sunos 4.5 does not hane strtol
declared so we need this cast to prevent long long addresses
from being misconfigures. Results in access to unmapped memory.
John Metzler [Tue, 14 Apr 1998 23:16:48 +0000 (23:16 +0000)]
* gdbcfgxref (xref_menu): Call new regex and wild card searches
Now you can type in a specific triple like mips64-vr4320-elf or
somthing like mips*.h
(triple_search) wildcardsearch): The new functions
* configure.tgt: Switch over to use tm-4320.h. Since I switched to
MIPS EABI the fixes are no longer backward compatible with 4300.
* tm-vr4320.h: Added
* vr4320.mt: Added
* source.c: (find_source_lines) modified to call warning in case
of source vs. executable time stamp mismatch. Simplified object
file check. Initialized mtime to 0.
* defs.h: added warning_hook prototype
* top.c: added warning_hook prototype.
* gdbtk.c: (perror_with_name_wrapper) new function to call
perror_with_name safely.
(gdb_loadfile) added source vs. executable time stamp check.
(gdbtk_warning) new function to pass a warning message to the gui.
(gdbtk_ignorable_warning) new function to pass a warning
to the gui. Used only for the src. vs. exec check.
(gdbtk_init) added warning_hook
added include <sys/stat.h>
Keith Seitz [Mon, 13 Apr 1998 20:05:15 +0000 (20:05 +0000)]
* gdbtk.c (gdbtk_start_timer): Include on all platforms. Decrease
timer interval a little.
(gdbtk_stop_timer): Include on all platforms.
(gdbtk_wait): No more signals! Use a timer on all platforms to keep the
GUI alive.
(gdbtk_init): Remove FIOASYNC and all x_fd references. Now using timers
on all platforms.
Update support for x86 Solaris 2.
* config/i386/tm-i386sol2.h, nm-i386sol2.h: New configuration
files for x86 Solaris 2.
* config/i386/i386sol2.mt, i386sol2.mh: Use them.
* config/sparc/tm-sun4sol2.h (PROCFS_GET_CARRY): New macro, extract
carry flag from a given regset.
(IS_STATIC_TRANSFORM_NAME): New macro, check if a symbol name
is a SunPro transformed name.
* i386-tdep.c (sunpro_static_transform_name): New function to
extract the source name from a SunPro transformed name.
* inferior.h (procfs_first_available, procfs_get_pid_fd):
Add prototypes.
* infrun.c (wait_for_inferior): Handle breakpoint hit in
signal handler without intervening stop in sigtramp.
* procfs.c (procfs_lwp_creation_handler): Use PROCFS_GET_CARRY
instead of direct access to the status register.
(procfs_get_pid_fd): New function, returns procfs fd for a given pid.
* sol-thread.c (ps_lgetLDT): New function, returns LDT for a given
lwpid.
(sol_find_new_threads): Handle failed libthread_db initialization
gracefully.
* stabsread.c (define_symbol): Use IS_STATIC_TRANSFORM_NAME
to check for a SunPro transformed symbol name.
* gdb.base/help.exp: Clean up `help set args' and `help show args'
tests.
* gdb.base/interrupt.exp: Add "i*86-*-solaris2*" xfail for calling
function when asleep.
* gdb.base/signals.exp: Add "i*86-*-solaris2*" xfails. Add comment
for i*86 Linux and SVR4 signal handling problems.
Remove linux xfail for `next to handler in signals_tests_1', fixed
by recent infrun.c change.
Limit backtrace to 10 frames to avoid timeout problems with infinite
stack backtraces.
Adjust expect pattern in `handle all print' test to match Apr 28 1997
target.[ch] change.
* cpu.h,decode.c,decode.h,extract.c,sem.c,sem-switch.c: Regenerate.
* cpux.h,decodex.c,decodex.h,readx.c,semx.c: Regenerate.
Main change is to remove ordinal from format names.
Ian Lance Taylor [Fri, 10 Apr 1998 17:45:18 +0000 (17:45 +0000)]
* coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol
before any other symbols in the same section.
Required by Visual C++ linker, and specified in PE documentation.
* mips-tdep.c (unpack_mips16): Fixed instruction decoding, lots of
bit pattern interpretations. mips_fetch_instruction does not work
for 16 bit instructions. Some confusion remains about sign
extension in backward branches.
(mips32_relative_offset): Sign extension
(mips32_next_pc): Major debugging, bit pattern interpretation
(print_unpack): debugging printf
(fetch_mips_16): new funtion, key on PC low bit, not symbol table
(mips16_next_16): Initial major debugging of this function. Lots
of bit pattern mistakes.
(mips_next_pc): key on low bit of PC, not symbol table.
* symfile.c(generic_load) : Added a download verification which
reads back the loade code. Download chunk size is now a defined
macro. Fixed a bug in which downloading slips into loading one
byte at a time. Lower level functions in monitor.c can load long
sequences of bytes and make use of these fixups. Referencing
bfd-start_address directly was incorrectly getting zero for start.
* config/tc-dvp.c (VU_LABEL_PREFIX): New macro.
(compute_mpgloc): New function.
(eval_expr): New arg `cpu'. All callers updated.
(non_vu_insn_seen_p): New static global.
(RELAX_{MPG,DIRECT,VU,ENCODE,GROWTH,DONE_}): New macros.
(struct dvp_fixup): New member `cpu'.
(assemble_one_insn): New args init_fixup_count, fixup_offset.
All callers updated.
(md_assemble): Set non_vu_insn_seen_p as appropriate.
(assemble_vif): Set `cpu' field of fixup.
Clean up calls to frag_var. Recorded mpgloc is now in bytes.
(assemble_vu_insn): Delete, contents moved into ...
(assemble_vu): ... here. Don't record fixups until after parsing
both upper and lower insns. If branch insn inside mpg, properly
compute target address.
(dvp_frob_label): Create copies of vu labels inside mpg's.
(dvp_relax_frag): Clean up.
(md_convert_frag): Ditto.
(md_apply_fix3): Signal error if mpg embedded vu code has branch
to undefined label (not currently supported).
(eval_expr): New arg `cpu'. All callers updated.
(insert_operand_final): Convert mpgloc from bytes to dwords.
(s_endmpg): Use compute_mpgloc to update $.mpgloc.
(s_state): If switching to vu state, initialize $.mpgloc.
* R5900 sky COP2 testing continuing. Today only small
VCALLMS-related were found/fixed.
[ChangeLog.sky]
* sky-vu.c ({read,write}_vu_special_reg): Add CMSAR[01] as special
registers for a VU. Behavior not as mandated.
({read,write}_vu_{misc,special}_reg): Create sim_io_error upon
access to unknown register. Behavior not as mandated.
* interp.c (decode_coproc): Refer to VU CIA as a "special"
register, not as a "misc" register. Aha. Add activity
assertions after VCALLMS* instructions.