NOTE: Only the BigEndian build has the simulator included, because a
LittleEndian simulator is not constructed at the moment (it should
work, but has not been tested fully).
Jamie. Basically had case statement in the wrong place...
* (mips_load): Remove unnecessary `db tty0' command. It's all
handled by mips_initialize now.
monitor board.
The mips_initialize() code seemed to have a "funny" switch
statement. I also removed an unnecessary switch into debug monitor
mode just before the call to mips_initialize() in mips_load().
is to allow the simulator initialisation code to make use of the host
callback facilities. Had discussed this with sac, and it should be a
harmless change since none of the other simulators really make use of
the call, and it does not return a result.
* fork-child.c (fork_inferior): Add call to
TARGET_CREATE_INFERIOR_HOOK to allow target specific code to get
control just before the new process executes it's first instruction.
* remote-mips.c (mips_initialize): Cleanup a bit. Don't try to
receive a packet at first. This speeds up initialization a lot.
Use TARGET_MONITOR_PROMPT instead of "<IDT>".
(common_breakpoint): Use rresponse instead of rerrflg to inspect
error code.
* symfile.c (syms_from_objfile reread_symbols): Call
TARGET_SYMFILE_POSTREAD to allow target specific code to get
control after reading new symbols.
* target.h: New macros TARGET_SYMFILE_POSTREAD, and
TARGET_CREATE_INFERIOR_HOOK. See above for descriptions.
* config/mips/{irix5.mh nm-irix5.h}: Delete nm-irix5.h. Make
NAT_FILE point directly at ../nm-sysv4.h.
* config/mips/{mipsm3.mh nm-m3.h}: Delete nm-m3.h. Make
NAT_FILE point directly at ../nm-m3.h.
* config/mips/{mipsv4.mh nm-sysv4.h}: Delete nm-sysv4.h. Make
NAT_FILE point directly at ../nm-sysv4.h.
* config/mips/nm-mips.h: Improve comment at top of file.
* config/mips/tm-mips.h (TARGET_MONITOR_PROMPT): Change
definition into a proper string.
start-sanitize-gm
* configure configure.in: Add support for --enable-gm.
(mips*-*-magic*): Change target from magic to idt.
* eval.c expprint.c expression.h parse.c remote-mips.c utils.c:
Change GENERAL_MAGIC_HACKS to GENERAL_MAGIC.
* magic.c magic.h: Update files from GM.
* config/mips/magic.mt: Delete. No longer necessary now that we
use --enable mechanism.
* config/mips/tm-idt.h: Add GM stuff needed for remote GM box.
* config/mips/tm-irix5.h: Add GM stuff needed for native Irix box.
* config/mips/tm-magic.h: Move up to config/tm-magic.h. Move all
platform specific stuff into tm-irix.h and tm-idt.h. Add defs for
TARGET_SYMFILE_POSTREAD and TARGET_CREATE_INFERIOR_HOOK.
end-sanitize-gm
i*86-*-linux* xfails for "backtrace through signal handler".
* gdb.base/corefile.exp: Add i*86-*-sysv4* xfail for
"print func2::coremaker_local".
* gdb.base/break.exp: Add i*86-*-sysv4*, sparc-sun-sunos4,
xfail for
"delete all breakpoints when none".
for all i386 targets, but only assume floating point values returned
in floating point registers for I386_AIX_TARGET.
* i386v-nat.c (i386_register_u_addr): Enable code to locate
floating point regs in user struct.
definitions.
(TARGET_BYTE_ORDER): Moved here from tm-i386v.h.
(IEEE_FLOAT): Moved here from tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Define default as 2.
(FUNCTION_START_OFFSET): Moved here from tm-i386v.h.
(SKIP_PROLOGUE): Moved here from tm-i386v.h.
(SAVED_PC_AFTER_CALL): Moved here from tm-i386v.h.
(INNER_THAN): Moved here from tm-i386v.h.
(BREAKPOINT): Moved here from tm-i386v.h.
(DECR_PC_AFTER_BREAK): Moved here from tm-i386v.h.
(ABOUT_TO_RETURN): Moved here from tm-i386v.h.
(REGISTER_SIZE): Moved here from tm-i386v.h.
(NUM_REGS): Moved here from tm-i386v.h.
(REGISTER_NAMES): Moved here from tm-i386v.h.
(EXTRACT_STRUCT_VALUE_ADDRESS): Moved here from tm-i386v.h.
(FP_REGNUM): Moved here from tm-i386v.h.
(SP_REGNUM): Moved here from tm-i386v.h.
(PC_REGNUM): Moved here from tm-i386v.h.
(PS_REGNUM): Moved here from tm-i386v.h.
(FP0_REGNUM): Moved here from tm-i386aix.h.
(FPC_REGNUM): Moved here from tm-sun386.h.
(REGISTER_BYTES): Moved here from tm-i386aix.h.
(REGISTER_BYTE): Moved here from tm-i386aix.h.
(REGISTER_RAW_SIZE): Moved here from tm-i386aix.h.
(MAX_REGISTER_RAW_SIZE): Moved here from tm-i386aix.h.
(REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h.
(MAX_REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h.
(EXTRACT_RETURN_VALUE): Moved here from tm-i386aix.h.
(STORE_RETURN_VALUE): Moved here from tm-i386aix.h.
(REGISTER_VIRTUAL_TYPE): Moved here from tm-i386v.h.
(STORE_STRUCT_RETURN): Moved here from tm-i386v.h.
(FRAME_CHAIN): Moved here from tm-i386v4.h.
(FRAMELESS_FUNCTION_INVOCATION): Moved here from tm-i386v4.h.
(FRAME_SAVED_PC): Moved here from tm-i386os9k.h
(FRAME_ARGS_ADDRESS): Moved here from tm-i386v.h.
(FRAME_LOCALS_ADDRESS): Moved here from tm-i386v.h.
(FRAME_NUM_ARGS): Moved here from tm-i386sun.h.
(FRAME_ARGS_SKIP): Moved here from tm-i386v.h.
(FRAME_FIND_SAVED_REGS): Moved here from tm-i386v.h.
(PUSH_DUMMY_FRAME): Moved here from tm-i386v.h.
(POP_FRAME): Moved here from tm-i386v.h.
(CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET,
CALL_DUMMY_BREAKPOINT_OFFSET, FIX_CALL_DUMMY): Moved here from
tm-i386v.h
(print_387_control_word, print_387_status_word): Declare prototypes.
(struct frame_info, struct frame_saved_regs): Forward decls for
prototypes.
(SP_ARG0): Moved here from tm-i386v.h.
* config/i386/tm-i386v.h:
(i386/tm-i386.h): Include.
(TARGET_BYTE_ORDER): Remove.
(IEEE_FLOAT): Remove.
(START_INFERIOR_TRAPS_EXPECTED): Undef before redefine to 4.
(FUNCTION_START_OFFSET): Remove.
(SKIP_PROLOGUE): Remove.
(i386_skip_prologue): Remove prototype.
(SAVED_PC_AFTER_CALL): Remove.
(INNER_THAN): Remove.
(BREAKPOINT): Remove.
(DECR_PC_AFTER_BREAK): Remove.
(ABOUT_TO_RETURN): Remove.
(REGISTER_SIZE): Remove.
(NUM_REGS): Undef before redefine to 16 (no FP support).
(REGISTER_NAMES): Undef before redefine.
(FP_REGNUM, SP_REGNUM, PC_REGNUM, PS_REGNUM): Remove.
(REGISTER_BYTES): Undef before redefine.
(REGISTER_BYTE): Undef before redefine.
(REGISTER_RAW_SIZE): Undef before redefine.
(REGISTER_VIRTUAL_SIZE): Undef before redefine.
(MAX_REGISTER_RAW_SIZE): Undef before redefine.
(MAX_REGISTER_VIRTUAL_SIZE): Undef before redefine.
(REGISTER_VIRTUAL_TYPE): Undef before redefine.
(STORE_STRUCT_RETURN): Undef before redefine.
(EXTRACT_RETURN_VALUE): Undef before redefine.
(STORE_RETURN_VALUE): Undef before redefine.
(EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
(FRAME_CHAIN): Undef before redefine.
(FRAMELESS_FUNCTION_INVOCATION): Undef before redefine.
(FRAME_SAVED_PC): Undef before redefine.
(FRAME_ARGS_ADDRESS): Remove.
(FRAME_LOCALS_ADDRESS): Remove.
(FRAME_NUM_ARGS): Undef before redefine.
(FRAME_ARGS_SKIP): Remove.
(FRAME_FIND_SAVED_REGS): Remove.
(PUSH_DUMMY_FRAME): Remove.
(POP_FRAME): Remove.
(CALL_DUMMY): Remove.
(CALL_DUMMY_LENGTH): Remove.
(CALL_DUMMY_START_OFFSET): Remove.
(CALL_DUMMY_BREAKPOINT_OFFSET): Remove
(FIX_CALL_DUMMY): Remove.
(print_387_control_word): Remove.
(print_387_status_word): Remove.
(SP_ARG0): Remove.
* config/i386/tm-symmetry.h:
(TM_SYMMETRY_H): Enclose file in test for define & define if needed.
(START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of
tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2.
(DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h
or tm-i386v.h, #undef, and #define to 0.
(MAX_REGISTER_RAW_SIZE): Remove.
(FRAME_CHAIN): Remove.
(FRAMELESS_FUNCTION_INVOCATION): Remove.
(FRAME_SAVED_PC): Remove.
(print_387_control_word, print_387_status_word): Remove prototypes.
* config/i386/tm-ptx.h:
(TM_PTX_H): Enclose file in test for define & define if needed.
(START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of
tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2.
(DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h
or tm-i386v.h, #undef, and #define to 0.
(SDB_REG_TO_REGNUM): Remove obsolete commented out define.
(print_387_control_word, print_387_status_word): Remove prototypes.
* config/i386/tm-linux.h:
(TM_LINUX_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
* config/i386/tm-i386v4.h:
(TM_I386V4_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(FRAME_CHAIN): Moved to tm-i386.h.
(FRAMELESS_FUNCTION_INVOCATION): Moved to tm-i386.h.
(FRAME_SAVED_PC): Remove.
(sigtramp_saved_pc): Define as i386v4_sigtramp_saved_pc.
(FRAME_NUM_ARGS): Remove.
* config/i386/tm-i386os9k.h:
(TM_I386OS9K_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(NUM_REGS): Undefine before redefining.
(FRAME_CHAIN): Remove.
(FRAMELESS_FUNCTION_INVOCATION): Remove.
(FRAME_SAVED_PC): Move to tm-i386.h.
* config/i386/tm-i386nw.h:
(TM_I386NW_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
* config/i386/tm-i386bsd.h:
(TM_I386BSD_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(FRAMELESS_FUNCTION_INVOCATION): Remove.
(FRAME_SAVED_PC): Remove.
* config/i386/tm-i386aix.h:
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(FP_REGNUM): Remove.
(SP_REGNUM): Remove.
(PC_REGNUM): Remove.
(PS_REGNUM): Remove.
(FP0_REGNUM): Moved to tm-i386.h.
(NUM_REGS): Remove.
(REGISTER_NAMES): Remove.
(REGISTER_BYTES): Moved to tm-i386.h.
(REGISTER_BYTE): Moved to tm-i386.h.
(REGISTER_RAW_SIZE): Moved to tm-i386.h.
(MAX_REGISTER_RAW_SIZE): Moved to tm-i386.h.
(REGISTER_VIRTUAL_SIZE): Moved to tm-i386.h.
(REGISTER_VIRTUAL_TYPE): Removed.
(EXTRACT_RETURN_VALUE): Moved to tm-i386.h.
(STORE_RETURN_VALUE): Moved to tm-i386.h.
* config/i386/tm-sun386.h:
(TM_SUN386_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include.
(TARGET_BYTE_ORDER): Remove.
(FUNCTION_START_OFFSET): Remove.
(SKIP_PROLOGUE): Remove.
(SAVED_PC_AFTER_CALL): Remove.
(INNER_THAN): Remove.
(BREAKPOINT): Remove.
(DECR_PC_AFTER_BREAK): Remove.
(ABOUT_TO_RETURN): Remove.
(REGISTER_SIZE): Remove.
(NUM_REGS): Undefine before defining.
(REGISTER_NAMES): Undefine before redefining.
(REGISTER_BYTES): Undefine before redefining.
(REGISTER_BYTE): Undefine before defining.
(FP_REGNUM): Undefine before defining.
(PC_REGNUM): Undefine before defining.
(FPC_REGNUM): Undefine before defining.
(REGISTER_RAW_SIZE): Undefine before defining.
(FRAME_CHAIN): Undefine before defining.
(FRAMELESS_FUNCTION_INVOCATION): Undefine before defining.
(FRAME_SAVED_PC): Undefine before defining.
(FRAME_NUM_ARGS): Moved to tm-i386.h.
(MAX_REGISTER_RAW_SIZE): Remove.
(MAX_REGISTER_VIRTUAL_SIZE): Remove.
(STORE_STRUCT_RETURN): Remove.
(EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
(FRAME_ARGS_ADDRESS): Remove.
(FRAME_LOCALS_ADDRESS): Remove.
(FRAME_NUM_ARGS): Undefine before defining.
(FRAME_ARGS_SKIP): Remove.
(FRAME_FIND_SAVED_REGS): Remove.
(PUSH_DUMMY_FRAME): Remove.
(POP_FRAME): Remove.
(CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET): Remove.
(struct frame_info, struct frame_saved_regs): Remove forward decls
for prototypes.
* config/i386/tm-i386lynx.h (i386/tm-i386.h): Include instead of
tm-i386v.h.
* config/i386/tm-i386m3.h (i386/tm-i386.h): Include instead of
tm-i386v.h.
* defs.h: Test on name __WIN32__ rather than WIN32.
* inflow.c (new_tty): Likewise
* terminal.h: Likewise.
* utils.c (initialize_utils): Likewise.
* win32-nat.c (child_create_inferiror): Print error code when failing.
* config/i386/win32.mh (XM_CLIBS): Need -lkernel32.
a location whose address has to be resolved via the minimal
symbol table.
* buildsym.c (finish_block), findvar.c (symbol_read_needs_frame,
read_var_value), printcmd.c (address_info),
symmisc.c (print_symbol, print_partial_symbol): Handle
LOC_UNRESOLVED.
* stabsread.c (scan_file_globals): Change unresolved LOC_STATIC
symbols to LOC_UNRESOLVED. Remove rt_common_objfile lookup
kludge, global common symbols are now handled by LOC_UNRESOLVED.
(scan_file_globals_1): Move code back to scan_file_globals,
delete.
around calls to create_longjmp_breakpoint. Why install the
breakpoints if we can't find the longjmp target?
* infrun.c (wait_for_inferior): Cleanup comments near call test.
* remote-mips.c: Fixed a bunch of prototypes to avoid char/int
complaint from picky compilers. Add comment to mips_expect.
Replace all instances of sr_get_debug with remote_debug.
* (mips_readchar): Don't jam init string to monitor.
mips_initialize() handles that.
* (mips_receive_header): Print better message when we get too
much garbage.
* (mips_request): Allow caller to pass in buff to allow them to
analyze the returned message.
* (mips_initialize): Re-do initialization to try sending a BREAK,
a ^C, and then a download escape sequence. Cleanup protocol
startup. Eliminate sleeps. Clear breakpoints (if using monitor
breakpoints). Re-init frame.
* (mips_detach): Close down target.
start-sanitize-gm
* (mips_resume): Pass signal down to target.
* (mips_create_inferior): Start target with TARGET_SIGNAL_PWR.
end-sanitize-gm
* (mips_wait): Handle return status with registers, or breakpoint stuff.
* (mips_kill): Add ^C handling.
* (mips_insert_breakpoint mips_remove_breakpoint): Call new
breakpoint stuff if enabled.
* (calculate_mask remote_mips_set_watchpoint
remote_mips_remove_watchpoint remote_mips_stopped_by_watchpoint):
Hardware watchpoint/breakpoint stuff.
* (common_breakpoint): Common code for new monitor breakpoint commands.
* (mips_load): Don't use `prompt'. It's a global variable.
* top.c (dont_repeat_command): New command for use in
user-defined commands to suppress auto-repeat (by hittin return key).
start-sanitize-gm
* utils.c (request_quit): Call target_kill here. Good idea.
Needs a better implementation.
end-sanitize-gm
* valops.c: Add start of auto function-call abandonment capability.
start-sanitize-gm
* c-exp.y: Add code (currently disabled) to handle GM dynamic
structures (it conflicts with @!).
* eval.c (evaluate_subexp_standard): ditto.
* expprint.c (print_subexp dump_expression): ditto.
* expression.h (enum exp_opcode): ditto.
* parse.c (length_of_subexp): ditto.
* configure, configure.in: Add mip*-*-magic* target.
* magic.c magic.h: Special routines to handle GM stuff (like
stepping through dispatcher).
end-sanitize-gm
of native support.
* mpw-make.sed: Disable subdir recursion, edit out useless rule.
* mac-xdep.c (Values.h): Don't include.
(GestaltEqu.h): Include Gestalt.h instead.
(do_mouse_down): Comment out control tracking, needs to be
updated to use UPP before will work on PowerMac.
* regex.c: Renamed to gnu-regex.c.
* Makefile.in (POSSLIBS): Refer to gnu-regex.h and gnu-regex.c.
(REGEX, REGEX1): Change to gnu-regex.o instead of regex.o.
(regex.o): Renamed to gnu-regex.o; refer to gnu-regex.c.
(irix5-nat.o, osfsolib.o, gnu-regex.o, solib.o, source.o, symtab.o):
Likewise.
* irix5-nat.c, osfsolib.c, gnu-regex.c, solib.c, source.c, symtab.c):
Include "gnu-regex.h" instead of "regex.h".
* alpha-tdep.c (in_prologue): Rename to alpha_in_prologue, to
avoid conflicts with symtab.h.
fixes building gdb under OSF/1 4.0
* config/pa/hppahpux.mh: Remove hardcoding of X locations.
* Makefile.in: Use X11_CFLAGS, X11_LDFLAGS and X11_LIBS.
* configure.in: Link X statically on Solaris, SunOS and HPUX.
with the obvious extension. (monitor_read_memory_single): Use
regexp for getmem.resp_delim because of parsing ambiguities caused
by certain monitors. (monitor_read_memory): Use new regexp stuff
to parse getmem.resp_delim.
* sh3-rom.c: Finish off table. Use new regexp capability for
getmem commands.
the step range test. Replace call detection test with much
simpler (and more efficient) test that doesn't require prologue
examination (as often).
* symtab.c symtab.h (in_prologue): New function that indicates
whether or not we are in a function prologue. This uses the
symbol table, and then falls back to prologue examination if that
fails. It's much more efficient for remote debugging because it
avoids examining memory, which is very slow. This is used in
wait_for_inferior to determine if we've made a function call that
needs to be skipped over (for next/nexti).
* mips-tdep.c (after_prologue): New function, returns the PC
after the prologue. Uses PDRs and the symbol table.
(mips_find_saved_regs): Use in_prologue() to avoid costly
prologue examination if possible.
(mips_skip_prologue): Use after_prologue() if possible to avoid
costly prologue examination.
Do not set saved registers from heuristics for a sigtramp frame.
* dwarfread.c (enum_type): Determine signedness of enum type
from enumerators.
* mips-tdep.c: Include gdb_string.h, gcc -Wall lint.
* rs6000-nat.c (xcoff_relocate_core): Fix typo.
* valops.c (value_repeat): Fix length of memory transfer to
match recent allocate_repeat_value change.