source files.
* breakpoint.c (resolve_sal_pc): Prevent crash when pc isn't
associated with a function.
* buildsym.c (record_line start_symtab end_symtab): Don't delete
symtabs which only have line numbers (but no other debug symbols).
* dbxread.c (read_dbx_symtab end_psymtab): Ditto.
* remote-sim.c: New functions gdbsim_insert/remove_breakpoint. Use
intrinsic simulator breakpoints if available, otherwise do it the
hard way.
* configure.tgt: Add d30v.
* d30v-tdep.c: New file.
* config/d30v/d30v.mt, config/d30v/tm-d30v.h: New files.
value if the remaining length of a non-integral argument is smaller
than the register size for big-endian non-EABI mode.
* rs6000-tdep.c (branch_dest): Handle return from signal
handler function via sigreturn kernel call.
(push_expression_name): New, to handle expression names.
(push_qualified_expression_name): New, for qualified expression names.
(parse_number): Fix bugs in parsing of non-decimal integers.
* jv-lang.h, jv-lang.c (java_demangle_type_signature): New.
* jv-lang.c (type_from_class): Just use name with java_lookup_class.
(java_link_class_type): Add dummy "class" field.
(java_lookup_type): New.
(evaluate_subexp_java case STRUCTOP_STRUCT): Force to address.
* jv-typeprint.c (java_type_print_base): Don't print "class" field.
Use java_demangle_type_signature to print array class types.
* jv-valprint.c (java_value_print): Preliminary array support.
Print pointer as TYPE@HEXADDR, instead of (TYPE)0xHEXADDR.
(java_val_print): Move check for object type to java_value_print.
Check for null. Print pointer as @HEXADDR, not 0xHEXADDR.
New cleanup clean for cleanups to be run when at each 'run' command.
* infcmd.c (run_command): Call do_run_cleanups.
* solib.c (find_solib): Register cleanup to call clear_solib
on a new 'run' command.
(symbol_add_stub): First look for existing objfile with same name.
(sds_ops): Use it.
(sds_open): Don't set inferior_pid yet.
(sds_kill): Remove contents.
(sds_create_inferior): Rewrite to work more like monitor
interfaces.
(sds_restart): Remove, no longer used.
(end_psymtab): Use MSYMBOL_SIZE to extract size from minimal symbol.
* elfread.c (elf_symtab_read): If ELF symbol is "special",
such as a MIPS16 function, mark minimal symbol as special too.
* mips-tdep.c (pc_is_mips16): New function to check whether
a function is MIPS16 by looking at the minimal symbol. Use
pc_is_mips16 throughout instead of IS_MIPS16_ADDR macro.
* config/mips/tm-mips.h (SYMBOL_IS_SPECIAL, MAKE_MSYMBOL_SPECIAL,
MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): New functions for setting/testing
"special" MIPS16 bit in ELF and minimal symbols.
* mdebugread.c (parse_partial_symbols): Don't construct a partial
symbol table for a file that already has one.
start-sanitize-tx19
* configure.tgt: Support TX19.
* config/mips/tm-tx19.h, config/mips/tm-tx19l.h, config/mips/tx19.mt,
config/mips/tx19l.mt: New files for TX19.
end-sanitize-tx19
reading stabs extensions for live range information.
* stabsread.h, partial-stab.h: Add prototypes for new functions.
* symtab.h: Add structure for storing live range information.
Add file sim-hload.c - generic load for hardware only simulators.
Review each simulators sim_open, sim_load, sim_create_inferior so that
they more closely match required behavour.
that image properties such as endianness can be checked.
More strongly document the expected behavour of each of the sim_*
interfaces.
Add default endian argument to simulator config macro
SIM_AC_OPTION_ENDIAN. Use in sim_config.
* config/powerpc/ppc-eabi.mt:
* config/powerpc/ppc-sim.mt:
* config/powerpc/ppcle-eabi.mt:
* config/powerpc/ppcle-sim.mt: ser-ocd.c needs to be before
other ocd-related files in TDEPFILES
* ppc-bdm.c (bdm_ppc_wait): stop printfing ecr, der
* ocd.c: initialize remote_timeout
(ocd_wait): while looping, call ocd_do_command with OCD_AYT
(ocd_get_packet): remove find_packet goto. If there isn't
an 0x55 at the start, something is quite wrong so error out
instead of advancing in the packet and trying again. If checksum
is invalid, print error message instead of trying again.
* ser-ocd.c (ocd_readchar): error if we attempt to read past
the end of the from_wiggler_buffer.
whether the exception was handled. Don't handle random exceptions
the first time around, so that structured exception handling
works.
(child_wait): Check the return value of handle_exception. Set the
continue_status argument to ContinueDebugEvent accordingly.
(tob64): Return the result length.
(sds_interrupt): Send a stop message.
(sds_wait): Add debug output for signal interpretation, flag
that signal was due to a trap.
(sds_fetch_registers): Fill the registers array correctly for
PowerPC.
(sds_store_registers): Get the right values from registers array.
(putmessage): Tweak length handling so checksum comes out right.
(sds_insert_breakpoint, sds_remove_breakpoint): Do correctly.
newly loaded objects upon a TARGET_WAITKIND_LOADED event.
Rewrite code which determines the TOC address for calling functions
in the inferior under AIX.
* rs6000-nat.c (find_toc_address): New function to determine
the required TOC address from a function address.
(_initialize_core_rs6000): Set up find_toc_address_hook to point
to find_toc_address.
(xcoff_relocate_symtab, xcoff_relocate_core): Remove
add_text_to_loadinfo calls.
(exec_one_dummy_insn): Change pid and status to int to get rid of
compiler warnings.
(xcoff_relocate_symtab): Cast ldi to `int *' when passing it to
ptrace to get rid of compiler warnings.
* rs6000-tdep.c: Add definition for find_toc_address_hook.
(rs6000_fix_call_dummy): If find_toc_address_hook is non zero,
patch TOC address load code in the call dummy with the value
returned from find_toc_address_hook.
(struct loadinfo, loadinfo, loadinfolen,
loadinfotextindex, xcoff_init_loadinfo, free_loadinfo,
xcoff_add_toc_to_loadinfo, add_text_to_loadinfo, find_toc_address):
Remove.
(_initialize_rs6000_tdep): Remove initialization of
coff_add_toc_to_loadinfo_hook and xcoff_init_loadinfo_hook.
* xcoffread.c (coff_add_toc_to_loadinfo_hook,
xcoff_init_loadinfo_hook): Remove.
(struct coff_symfile_info): Add toc_offset field.
(scan_xcoff_symtab): Record toc_offset value in toc_offset field
instead of calling xcoff_add_toc_to_loadinfo_hook.
(get_toc_offset): New function to return the value of the
toc_offset field for an object file.
(xcoff_initial_scan): Remove call of xcoff_init_loadinfo_hook.
* xcoffsolib.h (add_text_to_loadinfo): Remove declaration.
* config/rs6000/tm-rs6000.h: Add declarations for
find_toc_address_hook and get_toc_offset.
* ocd.c (ocd_insert_breakpoint, ocd_remove_breakpoint): macro
BDM_BREAKPOINT already has braces around it, remove erroneous ones.
* ser-ocd.c (ocd_write): conditionalize on _WIN32 instead of
__CYGWIN32__
* config/powerpc/tm-ppc-eabi.h: remove BDM_NUM_REGS, BDM_REGMAP
* ppc-bdm.c: move BDM_NUM_REGS, BDM_REGMAP here from tm.h file,
fill in doc fields of bdm_ppc_ops.
(bdm_ppc_fetch_registers): don't ask for invalid registers such
as the MQ or floating point regs not present on ppc 8xx boards
(bdm_ppc_store_registers): don't write those same invalid registers
* config/i386/cygwin32.mh: stop including ocd.o ser-ocd.o
* config/powerpc/ppc-eabi.mt:
* config/powerpc/ppcle-eabi.mt:
* config/powerpc/ppc-sim.mt:
* config/powerpc/ppcle-sim.mt: include ser-ocd.o
* ocd.c: move ocd_write_bytes proto to ocd.h since it is used
by ppc-bdm.c, use OCD_LOG_FILE to help debugging, define
BDM_BREAKPOINT if not defined in tm.h
(ocd_error): add new error cases
(ocd_start_remote): send the OCD_INIT command before
OCD_AYT and OCD_GET_VERSION calls, 80 was correct speed after all
(ocd_write_bytes): no longer static
(ocd_insert_breakpoint): no longer static
(ocd_remove_breakpoint): new
* ocd.h: add protos for ocd_write_bytes, ocd_insert_breakpoint,
and ocd_remove_breakpoint
* ppc-bdm.c: change bdm_ppc_ops so we call ocd_insert_breakpoint
and ocd_remove_breakpoint instead of memory_insert_breakpoint
and memory_remove_breakpoint.
(bdm_ppc_open): after calling ocd_open, modify DER
register so interrupts will drop us into debugging mode, finally
disable the watchdog timer on the board so we don't leave BDM
mode unexpectedly.
* ocd.c: move ocd_write_bytes proto to ocd.h since it is used
by ppc-bdm.c, use OCD_LOG_FILE to help debugging, define
BDM_BREAKPOINT if not defined in tm.h
(ocd_error): add new error cases
(ocd_start_remote): send the OCD_INIT command before
OCD_AYT and OCD_GET_VERSION calls
(ocd_write_bytes): no longer static
(ocd_insert_breakpoint): no longer static
(ocd_remove_breakpoint): new
* ocd.h: add protos for ocd_write_bytes, ocd_insert_breakpoint,
and ocd_remove_breakpoint
* ppc-bdm.c: change bdm_ppc_ops so we call ocd_insert_breakpoint
and ocd_remove_breakpoint instead of memory_insert_breakpoint
and memory_remove_breakpoint.
(bdm_ppc_open): after calling ocd_open, modify DER
register so interrupts will drop us into debugging mode, finally
disable the watchdog timer on the board so we don't leave BDM
mode unexpectedly.
* config/tic80/tic80.mt:
(GDBSERVER-DEPFILES, GDBSERVER_LIBS): Define for gdbserver.
(SIM): Remove -lm to prevent make errors.
* configure.tgt: add gdbserver to configdirs for tic80.
end-sanitize-tic80
* gdbserver/utils.c (error): Change prototype to match defs.h.
* gdbserver/low-sim.c: Change simulator calls to use new interface.
* remote.c (remote_write_bytes): Include '$' at start of packet
and checksum at end of packet in overhead calculation.