See gdb ChangeLog entry with header:

Thu Jul 25 19:41:31 1996  Fred Fish  <fnf@cygnus.com>

for a rather huge set of changes.  I was going to put them here, but it
made cvs dump core.  :-(
This commit is contained in:
Fred Fish 1996-07-26 03:01:51 +00:00
parent dc88c64e2c
commit b607efe714
74 changed files with 1457 additions and 363 deletions

View File

@ -1,3 +1,540 @@
Thu Jul 25 19:41:31 1996 Fred Fish <fnf@cygnus.com>
* Makefile.in (scm-valprint.o): Depends upon gdbcore_h.
(arm-tdep.o): Ditto.
(dcache.o): Ditto.
(i386ly-tdep.o): Ditto.
(i960-tdep.o): Ditto.
(m68k-tdep.o): Ditto.
(nindy-tdep.o): Ditto.
(scm-lang.o): Ditto.
(w65-tdep.o): Ditto.
(z8k-tdep.o): Ditto.
(m68k-tdep.o): Depends upon value_h and gdb_string.h
(m2-valprint.o): Depends upon m2-lang.h.
(sparc-tdep.o): Depends upon gdb_string.h
(valprint.o): Depends upon valprint.h
* remote-e7000.c (notice_quit): Remove prototype.
* top.c (initialize_targets): Remove prototype, now in target.h.
* stabsread.c (resolve_cfront_continuation): Remove prototype.
* dbxread.c (resolve_cfront_continuation): Remove prototype.
* symfile.h (set_demangling_style): Remove prototype.
* config/tm-sysv4.h (in_plt_section): Remove prototype, in objfiles.h.
* config/sparc/tm-sparc.h (single_step): Remove extern decl, now in
target.h.
* config/arc/tm-arc.h (one_stepped, single_step): Remove extern decls,
now in target.h.
* ser-unix.c (hardwire_restore): Remove obsolete prototype.
* sparc-tdep.c (single_step): Remove forward decl of isbranch.
* scm-lang.c (find_function_in_inferior): Remove prototype.
(value_allocate_space_in_inferior): Ditto.
* infrun.c (write_pc_pid): Remove prototype, now in inferior.h.
* defs.h (strchr): Remove declarations, they are declared in
gdb_string.h also.
(strrchr): Ditto.
(strstr): Ditto.
(strtok): Ditto.
(strerror): Ditto.
* f-valprint.c (f77_print_array_1): Remove extra arg that was being
passed to f77_print_array_1.
* gdbtk.c (register_changed_p): Remove unused local variable "buf".
* gdbtypes.c (add_name): Remove unused variables lenstrlen and lenstr.
* scm-exp.c (scm_istr2int): Remove unused variable "j".
(scm_parse): Remove unused variable "str".
* hp300ux-nat.c (store_inferior_register): Remove unused variable
"buf".
(store_inferior_registers): Remove unnecessary decl "registers".
* m68k-tdep.c (m68k_pop_frame): Remove unused variable "fi".
* scm-lang.c (scm_get_field): Remove unused variable "val".
(scm_lookup_name): Remove unused variable "symval".
* objfiles.c (map_to_file): Remove unused local variable "tempfd".
* procfs.c (do_attach, do_detach): Remove unused variable "result".
(last_resume_pid): Remove unused static variable.
* alpha-tdep.c (alpha_linux_sigtramp_offset): Remove unused variable
"res".
* objfiles.c (map_to_address): Remove unused function.
* f-valprint.c (print_max): Remove extraneous extern decl,
in valprint.h.
(calc_f77_array_dims): Remove extraneous prototype, in f-lang.h.
* ch-exp.c (write_lower_upper_value): Remove prototype for
type_lower_upper.
* gdbtypes.c (cfront_mangle_name): #ifdef out unused function.
* ch-exp.c (parse_mode_call): Ditto.
* f-valprint.c (there_is_a_visible_common_named): Ditto.
* f-lang.c (clear_function_list): Ditto.
(get_bf_for_fcn): Ditto.
(clear_bf_list): Ditto.
(add_common_block): Ditto.
(patch_all_commons_by_name): Ditto.
(find_first_common_named): Ditto.
(add_common_entry): Ditto.
(allocate_saved_function_node): Ditto.
(allocate_saved_bf_node): Ditto.
(allocate_common_entry_node): Ditto.
(allocate_saved_f77_common_node): Ditto.
* arm-tdep.c (gdbcore.h): Include for necessary prototypes.
* dcache.c (gdbcore.h): Ditto.
* i386ly-tdep.c (gdbcore.h): Ditto.
* i960-tdep.c (gdbcore.h): Ditto.
* m2-valprint.c (m2-lang.h): Ditto.
* m68k-tdep.c (gdbcore.h): Ditto.
(value.h): Ditto.
(gdb_string.h): Ditto.
* nindy-tdep.c (gdbcore.h): Ditto.
* scm-lang.c (gdbcore.h): Ditto.
* scm-valprint.c (gdbcore.h): Ditto.
* w65-tdep.c (gdbcore.h): Ditto.
* z8k-tdep.c (gdbcore.h): Ditto.
* sparc-tdep.c (gdb_string.h): Include.
* valprint.c (valprint.h): Include.
* config/xm-lynx.h: Remove part of comment about INT_MIN
redefined warnings from defs.h, since INT_MIN define in
defs.h is now protected by #ifndef INT_MIN.
* config/i386/xm-i386bsd.h: Ditto.
* config/m68k/xm-hp300bsd.h: Ditto.
* config/m68k/xm-news.h: Ditto.
* config/pa/xm-hppah.h (INT_MIN): Remove bogus INT_MIN
definition as 0x80000000. The macro in defs.h is better.
* config/i386/xm-i386m3.h (INT_MIN): Ditto.
* config/i386/xm-i386mach.h (INT_MIN): Ditto.
* config/ns32k/xm-ns32km3.h (INT_MIN): Ditto.
* config/pa/xm-hppab.h: Ditto.
* core-aout.c (fetch_core_registers): Add prototype.
* hp300ux-nat.c (fetch_inferior_register): Ditto.
(store_inferior_register_1): Ditto.
(store_inferior_register): Ditto.
* config/m68k/tm-m68k.h (find_saved_regs): Ditto.
*scm-valprint.c (c_val_print): Ditto.
* procfs.c (add_fd): Ditto.
(remove_fd): Ditto.
(wait_fd): Ditto.
(sigcodename): Ditto.
(sigcodedesc): Ditto.
(procfs_kill_inferior): Ditto.
(procfs_xfer_memory): Ditto.
(procfs_store_registers): Ditto.
(create_procinfo): Ditto.
(procfs_init_inferior): Ditto.
(proc_set_exec_trap): Ditto.
(procfs_attach): Ditto.
(procfs_detach): Ditto.
(procfs_prepare_to_store): Ditto.
(procfs_files_info): Ditto.
(procfs_open): Ditto.
(procfs_wait): Ditto.
(procfs_fetch_registers): Ditto.
(procfs_mourn_inferior): Ditto.
(procfs_can_run): Ditto.
(procfs_thread_alive): Ditto.
(procfs_stop): Ditto.
* alpha-nat.c (fetch_core_registers): Ditto.
* config/alpha/tm-alpha.h (alpha_osf_skip_sigtramp_frame): Ditto.
* objfiles.c (ecoff_relocate_efi): Ditto.
* inflow.c (pass_signal): Ditto.
(handle_sigio): Ditto.
* annotate.c (breakpoint_changed): Ditto.
* callback.c (wrap): Ditto.
(fdbad): Ditto.
(fdmap): Ditto.
* utils.c (malloc_botch): Ditto.
(fputs_maybe_filtered): Ditto.
(vfprintf_maybe_filtered): Ditto.
* defs.h (notice_quit): Ditto.
* defs.h (xmalloc, xrealloc): Ditto.
* top.c (stop_sig): Ditto.
(init_signals): Ditto.
(user_defined_command): Ditto.
(source_cleanup_lines): Ditto.
(dont_repeat_command): Ditto.
(serial_log_command): Ditto.
(disconnect): Ditto.
* target.h (initialize_targets): Ditto.
* os9kread.c (read_minimal_symbols): Ditto.
* mdebugread.c (mdebug_psymtab_to_symtab): Ditto.
(fdr_name): Ditto.
(push_parse_stack): Ditto.
(pop_parse_stack): Ditto.
(is_pending_symbol): Ditto.
(add_pending): Ditto.
* serial.c (serial_logchar): Ditto.
(serial_interface_lookup): Ditto.
* serial.h (serial_log_command): Ditto.
* f-valprint.c (info_common_command): Ditto.
* gdbtypes.h (print_type_scalar): Ditto.
* scm-valprint.c (scm_scmlist_print): Ditto.
(scm_ipruk): Ditto.
* scm-lang.c (scm_printstr): Ditto.
(in_eval_c): Ditto.
(evaluate_subexp_scm): Ditto.
* scm-exp.c (scm_read_token): Ditto.
(scm_skip_ws): Ditto.
(scm_lreadparen): Ditto.
* m2-lang.c (emit_char): Ditto.
(m2_printchar): Ditto.
(m2_printstr): Ditto.
(m2_create_fundamental_type): Ditto.
* f-lang.c (emit_char): Ditto.
(f_printchar): Ditto.
(f_printstr): Ditto.
(f_create_fundamental_type): Ditto.
* ch-lang.c (chill_printchar): Ditto.
(chill_printstr): Ditto.
(chill_create_fundamental_type): Ditto.
(value_chill_length): Ditto.
(value_chill_card): Ditto.
(value_chill_max_min): Ditto.
(evaluate_subexp_chill): Ditto.
* ch-exp.c (PEEK_TOKEN): Ditto.
(peek_token_): Ditto.
(forward_token_): Ditto.
(parse_case_label): Ditto.
(parse_opt_untyped_expr): Ditto.
(parse_unary_call): Ditto.
(parse_call): Ditto.
(parse_named_record_element): Ditto.
(parse_tuple_element): Ditto.
(parse_opt_element_list): Ditto.
(parse_tuple): Ditto.
(parse_primval): Ditto.
(parse_operand6): Ditto.
(parse_operand5): Ditto.
(parse_operand4): Ditto.
(parse_operand3): Ditto.
(parse_operand2): Ditto.
(parse_operand1): Ditto.
(parse_operand0): Ditto.
(parse_expr): Ditto.
(parse_then_alternative): Ditto.
(parse_else_alternative): Ditto.
(parse_if_expression): Ditto.
(parse_untyped_expr): Ditto.
(growbuf_by_size): Ditto.
(match_simple_name_string): Ditto.
(decode_integer_value): Ditto.
(decode_integer_literal): Ditto.
(match_float_literal): Ditto.
(match_float_literal): Ditto.
(match_string_literal): Ditto.
(match_character_literal): Ditto.
(match_integer_literal): Ditto.
(match_bitstring_literal): Ditto.
(write_lower_upper_value): Ditto.
* ch-lang.h (type_lower_upper): Ditto.
* c-lang.c (emit_char): Ditto.
* dwarfread.c (free_utypes): Ditto.
* stabsread.h (resolve_cfront_continuation): Ditto.
* stabsread.c (get_substring): Ditto.
(read_one_struct_field): Ditto.
* stabsread.h (process_later): Ditto.
* demangle.c (set_demangling_command): Ditto.
* defs.h (set_demangling_style): Ditto.
* maint.c (maintenance_info_command): Ditto.
(print_section_table): Ditto.
(maintenance_info_sections): Ditto.
(maintenance_print_command): Ditto.
* symtab.h (maintenance_print_statistics): Ditto.
* objfiles.h (in_plt_section): Ditto.
* objfiles.c (add_to_objfile_sections): Ditto.
* bcache.c (hash): Ditto.
(lookup_cache): Ditto.
* exec.c (bfdsec_to_vmap): Ditto.
(ignore): Ditto.
* f-exp.y (growbuf_by_size, match_string_literal): Ditto.
* language.c (unk_lang_printchar): Ditto.
(unk_lang_printstr): Ditto.
(unk_lang_create_fundamental_type): Ditto.
(unk_lang_print_type): Ditto.
(unk_lang_val_print): Ditto.
(unk_lang_value_print): Ditto.
* target.c (update_current_target): Ditto.
(debug_to_open): Ditto.
(debug_to_close): Ditto.
(debug_to_attach): Ditto.
(debug_to_detach): Ditto.
(debug_to_resume): Ditto.
(debug_to_wait): Ditto.
(debug_to_fetch_registers): Ditto.
(debug_to_store_registers): Ditto.
(debug_to_prepare_to_store): Ditto.
(debug_to_xfer_memory): Ditto.
(debug_to_files_info): Ditto.
(debug_to_insert_breakpoint): Ditto.
(debug_to_remove_breakpoint): Ditto.
(debug_to_terminal_init): Ditto.
(debug_to_terminal_inferior): Ditto.
(debug_to_terminal_ours_for_output): Ditto.
(debug_to_terminal_ours): Ditto.
(debug_to_terminal_info): Ditto.
(debug_to_kill): Ditto.
(debug_to_load): Ditto.
(debug_to_lookup_symbol): Ditto.
(debug_to_create_inferior): Ditto.
(debug_to_mourn_inferior): Ditto.
(debug_to_can_run): Ditto.
(debug_to_notice_signals): Ditto.
(debug_to_thread_alive): Ditto.
(debug_to_stop): Ditto.
* gdbtk.c (null_routine): Ditto.
(gdbtk_flush): Ditto.
(gdbtk_fputs): Ditto.
(gdbtk_query): Ditto.
(gdbtk_readline): Ditto.
(gdbtk_readline_end): Ditto.
(gdb_get_breakpoint_list): Ditto.
(gdb_get_breakpoint_info): Ditto.
(breakpoint_notify): Ditto.
(gdbtk_create_breakpoint): Ditto.
(gdbtk_delete_breakpoint): Ditto.
(gdbtk_modify_breakpoint): Ditto.
(gdb_loc): Ditto.
(gdb_eval): Ditto.
(gdb_sourcelines): Ditto.
(map_arg_registers): Ditto.
(get_register_name): Ditto.
(gdb_regnames): Ditto.
(get_register): Ditto.
(gdb_fetch_registers): Ditto.
(register_changed_p): Ditto.
(gdb_changed_register_list): Ditto.
(gdb_cmd): Ditto.
(call_wrapper): Ditto.
(gdb_listfiles): Ditto.
(gdb_stop): Ditto.
(gdbtk_dis_asm_read_memory): Ditto.
(compare_lines): Ditto.
(gdb_disassemble): Ditto.
(tk_command): Ditto.
(cleanup_init): Ditto.
(gdbtk_interactive): Ditto.
(x_event): Ditto.
(gdbtk_wait): Ditto.
(gdbtk_call_command): Ditto.
(tk_command_loop): Ditto.
(gdbtk_init): Ditto.
* breakpoint.h (set_breakpoint_sal): Ditto.
* remote-utils.c (usage): Ditto.
* remote.c (set_thread): Ditto.
(remote_thread_alive): Ditto.
(get_offsets): Ditto.
(read_frame): Ditto.
(remote_insert_breakpoint): Ditto.
(remote_remove_breakpoint): Ditto.
* sparc-nat.c (fetch_core_registers): Ditto.
* corelow.c (add_to_thread_list): Ditto.
(ignore): Ditto.
* inftarg.c (proc_wait): Ditto.
* infptrace.c (udot_info): Ditto.
(fetch_register): Ditto.
* ser-unix.c (hardwire_noflush_set_tty_state): Ditto.
(hardwire_print_tty_state): Ditto.
(hardwire_flush_output): Ditto.
(hardwire_flush_input): Ditto.
(hardwire_send_break): Ditto.
(hardwire_setstopbits): Ditto.
* ser-tcp.c (tcp_return_0): Ditto.
(tcp_noflush_set_tty_state): Ditto.
(tcp_print_tty_state): Ditto.
* solib.c (match_main): Ditto.
* gdbtypes.c (print_bit_vector): Ditto.
(print_arg_types): Ditto.
(dump_fn_fieldlists): Ditto.
(print_cplus_stuff): Ditto.
* symfile.h (entry_point_address): Ditto.
* symfile.c (decrement_reading_symtab): Ditto.
* valops.c (value_arg_coerce): Ditto.
* value.h (find_function_in_inferior): Ditto.
(value_allocate_space_in_inferior): Ditto.
* values.c (vb_match): Ditto.
* thread.c (info_thread_command): Ditto.
(restore_current_thread): Ditto.
(thread_apply_all_command): Ditto.
(thread_apply_command): Ditto.
* inferior.h (write_pc_pid): Ditto.
* infrun.c (delete_breakpoint_current_contents): Ditto.
* breakpoint.c (print_it_normal): Ditto.
(watchpoint_check): Ditto.
(print_it_done): Ditto.
(print_it_noop): Ditto.
(maintenance_info_breakpoints): Ditto.
(create_longjmp_breakpoint): Ditto.
(hbreak_command): Ditto.
(thbreak_command): Ditto.
(watch_commnd_1): Ditto.
(rwatch_command): Ditto.
(awatch_command): Ditto.
(do_enable_breakpoint): Ditto.
* ch-valprint.c (chill_val_print_array_elements): Ditto.
* eval.c (evaluate_subexp): Ditto.
(get_label): Ditto.
(evaluate_struct_tuple): Ditto.
* eval.c (init_array_element): Ditto.
* alpha-tdep.c (push_sigtramp_desc): Add prototype and make static.
* breakpoint.c (hw_breakpoint_used_count): Ditto.
(hw_watchpoint_used_count): Ditto.
* findvar.c (write_register_gen): Ditto.
(read_register_pid): Ditto.
* symtab.c (cplusplus_hint): Ditto.
* infcmd.c (breakpoint_auto_delete_contents): Ditto.
* ch-valprint.c (chill_print_type_scalar): Ditto.
* gdbtypes.c (add_name): Ditto.
(add_mangled_type): Ditto.
(cfront_mangle_name): Ditto.
* sparc-tdep.c (isbranch): Ditto.
* inftarg.c (child_stop): Ditto.
* win32-nat.c (child_stop): Ditto.
* mac-nat.c (child_stop): Ditto.
* remote-utils.c (sr_com): Ditto.
* dbxread.c (process_now): Ditto.
* ch-exp.c (require): Ditto.
(check_token): Ditto.
(expect): Ditto.
(parse_mode_call): Ditto.
(parse_mode_or_normal_call): Ditto.
* scm-lang.c (scm_lookup_name): Ditto
* f-lang.c (allocate_saved_bf_node): Ditto.
(allocate_saved_function_node): Ditto.
(allocate_saved_f77_common_node): Ditto.
(allocate_common_entry_node): Ditto.
(add_common_block): Ditto.
(add_common_entry): Ditto.
(find_first_common_named): Ditto.
(patch_common_entries): Ditto.
(patch_all_commons_by_name): Ditto.
(clear_bf_list): Ditto.
(get_bf_for_fcn): Ditto.
(clear_function_list): Ditto.
* scm-exp.c (scm_istr2int): Ditto.
(scm_istring2number): Ditto.
* scm-valprint.c (scm_inferior_print): Ditto.
* f-typeprint.c (print_equivalent_f77_float_type): Ditto.
* f-valprint.c (f77_get_dynamic_length_of_aggregate): Ditto.
(f77_create_arrayprint_offset_tbl): Ditto.
(f77_print_array_1): Ditto.
(f77_print_array): Ditto.
(list_all_visible_commons): Ditto.
(there_is_a_visible_common_named): Ditto.
* mdebugread.c (ecoff_relocate_efi): Ditto.
* callback.c (os_close): Ditto.
(os_get_errno): Ditto.
(os_isatty): Ditto.
(os_lseek): Ditto.
(os_open): Ditto.
(os_read): Ditto.
(os_read_stdin): Ditto.
(os_write): Ditto.
(os_write_stdout): Ditto.
(os_rename): Ditto.
(os_system): Ditto.
(os_time): Ditto.
(os_unlink): Ditto.
(os_shutdown): Ditto.
(os_init): Ditto.
(os_printf_filtered): Ditto.
* scm-lang.h (scm_parse): Change old style decl to prototype.
* config/alpha/tm-alphalinux.h (alpha_linux_sigtramp_offset): Ditto.
* top.c (init_proc): Ditto.
(query_hook): Ditto.
(error_hook): Ditto.
* f-lang.c (c_value_print): Ditto.
* ch-exp.c (parse_expression): Ditto.
(parse_primval): Ditto.
(parse_untyped_expr): Ditto.
(parse_opt_untyped_expr): Ditto.
(ch_lex): Ditto.
* config/sparc/tm-sparc.h (sparc_init_extra_frame_info): Ditto.
(sparc_frame_saved_pc): Ditto.
(sparc_push_dummy_frame): Ditto.
(sparc_pop_frame): Ditto.
* defs.h (fclose): Ditto.
(atof): Ditto.
(error_hook): Ditto.
* arc-tdep.c (single_step): Change arg to type "enum target_signal".
* rs6000-tdep.c (single_step): Ditto.
* sparc-tdep.c (single_step): Ditto.
* breakpoint.c (cleanup_executing_breakpoints): Change unused arg type
to PTR which is what make_cleanup expects.
* utils.c (null_cleanup): Change arg type to PTR.
* defs.h (null_cleanup): Change prototype to match actual function.
* config/sparc/tm-sparc.h (struct frame_info): Move forward decl.
* ch-valprint.c (chill_val_print): Cast 2nd arg of
chill_print_type_scalar to LONGEST.
* infrun.c (wait_for_inferior): Have empty switch case for
BPSTAT_WHAT_CHECK_SHLIBS when SOLIB_ADD is not defined.
(stop_on_solib_events): Only needed if SOLIB_ADD is defined.
* infcmd.c (attach_command): Only need auto_solib_add if SOLIB_ADD
is defined.
* symfile.c (generic_load): Scan long int using a long int spec,
not an int spec.
* infptrace.c (udot_info): Only need local variables if KERNEL_U_SIZE
is defined.
(fetch_register): Only need function if FETCH_INFERIOR_REGISTERS is
not defined.
* inflow.c (handle_sigio): Only need prototype when the actual
function is compiled in.
* valprint.c (longest_to_int): Expand error message to be
separate messages for args larger than largest signed int
and args smaller than smallest signed int.
* valprint.c (print_longest): Fix problems with support for case
where compiler supports type "long long" but the runtime doesn't
support printing them with "%ll".
* scm-valprint.c (scm_scmlist_print, scm_scmval_print): Change
return types to void since we don't actually return anything
meaningful and callees ignore the values anyway.
* procfs.c (modify_inherit_on_fork_flag): Enclose pr_flags in PIOCSET
ifdef.
(modify_run_on_last_close_flag): Ditto.
(wait_fd): Enclose local variables "num_fds" and "i" LOSING_POLL
ifdef
* alpha-tdep.c (push_sigtramp_desc): Return proc_desc rather than
random value.
* infrun.c (wait_for_inferior): Ensure random_signal is not used
uninitialized.
* valops.c (call_function_by_hand): Ensure struct_addr is not used
uninitialized.
* breakpoint.c (watch_command_1): Ensure prev_frame is not used
uninitialized.
* utils.c (vfprintf_maybe_filtered): Change second arg from "char *"
to "const char *".
* gdbtk.c (gdb_fetch_registers): Cast fourth arg to map_arg_registers
to proper pointer type, from int.
(gdbtk_query): Change first arg to "const char *" from "char *".
* infptrace.c (udot_info): Add two dummy args so that the type is
correct for passing to add_info.
* f-lang.c (saved_fcn): Move decl to head of file so it can be used
in prototypes.
(saved_bf_symnum): Ditto.
(SAVED_FUNCTION): Ditto.
(SAVED_FUNCTION_PTR): Ditto.
(SAVED_BF): Ditto.
(SAVED_BF_PTR): Ditto.
* ch-exp.c (parse_named_record_element): Build error message in
temporary buffer before passing it to expect, rather than passing
wrong number of args to expect.
* demangle.c (set_demangling_style): Call set_demangling_command with
correct number of arguments.
* inferior.h (terminal_init_inferior_with_pgrp): Change arg type to
int to match actual function.
(os_isatty): Call fdmap with right number of arguments, was missing
the host_callback* arg.
* target.c (cleanup_target): Prototype all functions casts.
* target.h (one_stepped, single_step): Declare here and convert
single_step to prototype.
* infrun.c (one_stepped, single_step): Don't declare externs
here, they have moved to target.h.
* eval.c (init_array_element): Declare previously undeclared
last two args as LONGEST.
* dcache.c (dcache_xfer_memory): Change xfunc decls to prototype form.
Thu Jul 25 16:11:54 1996 Doug Evans <dje@canuck.cygnus.com>
* dsrec.c (load_srec): Protect ANSI style function parms with PARAMS.

View File

@ -1008,7 +1008,8 @@ altos-xdep.o: altos-xdep.c $(defs_h) $(gdbcore_h) $(inferior_h)
annotate.o: annotate.c $(defs_h) annotate.h $(value_h) target.h $(gdbtypes_h)
arm-tdep.o: arm-tdep.c $(gdbcmd_h) $(gdbcore_h) $(inferior_h) $(defs_h)
arm-tdep.o: arm-tdep.c $(gdbcmd_h) $(gdbcore_h) $(inferior_h) $(defs_h) \
$(gdbcore_h)
bcache.o: bcache.c bcache.h $(defs_h)
@ -1092,7 +1093,7 @@ corelow.o: corelow.c $(command_h) $(defs_h) $(gdbcore_h) $(inferior_h) \
cp-valprint.o: cp-valprint.c $(defs_h) $(expression_h) $(gdbcmd_h) \
$(gdbtypes_h) $(symtab_h) $(value_h) gdb_string.h
dcache.o: dcache.c $(dcache_h) $(defs_h) $(gdbcmd_h) gdb_string.h
dcache.o: dcache.c $(dcache_h) $(defs_h) $(gdbcmd_h) gdb_string.h $(gdbcore_h)
dbxread.o: dbxread.c $(breakpoint_h) buildsym.h $(command_h) \
complaints.h $(defs_h) $(expression_h) gdb-stabs.h $(gdbcore_h) \
@ -1178,7 +1179,7 @@ i386b-nat.o: i386b-nat.c $(defs_h)
i386ly-nat.o: i386ly-nat.c $(defs_h) $(frame_h) $(inferior_h) target.h
i386ly-tdep.o: i386ly-tdep.c $(defs_h) $(inferior_h) target.h
i386ly-tdep.o: i386ly-tdep.c $(defs_h) $(inferior_h) target.h $(gdbcore_h)
i386m3-nat.o: i386m3-nat.c $(defs_h) $(inferior_h) $(floatformat_h) target.h
@ -1193,7 +1194,7 @@ i387-tdep.o: i387-tdep.c $(floatformat_h) $(defs_h) $(gdbcore_h) \
$(inferior_h) language.h
i960-tdep.o: i960-tdep.c $(floatformat_h) $(defs_h) $(expression_h) \
$(frame_h) $(gdbtypes_h) $(symtab_h) $(value_h)
$(frame_h) $(gdbtypes_h) $(symtab_h) $(value_h) $(gdbcore_h)
infcmd.o: infcmd.c $(defs_h) environ.h $(gdbcmd_h) $(gdbcore_h) \
$(inferior_h) target.h language.h gdb_string.h
@ -1232,12 +1233,13 @@ m2-typeprint.o: m2-typeprint.c $(defs_h) $(expression_h) $(gdbcmd_h) \
$(value_h) gdb_string.h
m2-valprint.o: m2-valprint.c $(defs_h) $(gdbtypes_h) $(symtab_h) \
valprint.h
valprint.h m2-lang.h
m3-nat.o: m3-nat.c $(defs_h) $(inferior_h) $(value_h) language.h target.h \
$(wait_h) $(gdbcmd_h) $(gdbcore_h)
m68k-tdep.o: m68k-tdep.c $(defs_h) $(frame_h) $(symtab_h)
m68k-tdep.o: m68k-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(value_h) \
$(gdbcore_h) gdb_string.h
m68kly-nat.o: m68kly-nat.c $(defs_h) $(frame_h) $(inferior_h) target.h
@ -1303,7 +1305,7 @@ ns32km3-nat.o: ns32km3-nat.c $(defs_h) $(inferior_h)
ttyflush.o: nindy-share/ttyflush.c
$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/nindy-share/ttyflush.c
nindy-tdep.o: nindy-tdep.c $(defs_h) $(frame_h) $(symtab_h)
nindy-tdep.o: nindy-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(gdbcore_h)
ns32k-tdep.o: ns32k-tdep.c $(bfd_h) $(dis-asm_h) $(defs_h)
@ -1425,10 +1427,10 @@ scm-exp.o: $(defs_h) $(value_h) parser-defs.h language.h c-lang.h \
scm-lang.h scm-tags.h
scm-lang.o: $(defs_h) $(value_h) parser-defs.h language.h c-lang.h \
scm-lang.h scm-tags.h gdb_string.h
scm-lang.h scm-tags.h gdb_string.h $(gdbcore_h)
scm-valprint.o: $(defs_h) $(value_h) parser-defs.h language.h \
scm-lang.h valprint.h
scm-lang.h valprint.h $(gdbcore_h)
ser-go32.o: ser-go32.c $(defs_h) serial.h
@ -1461,7 +1463,7 @@ sparc-nat.o: sparc-nat.c $(bfd_h) $(defs_h) $(inferior_h) $(gdbcore_h) \
target.h
sparc-tdep.o: sparc-tdep.c $(floatformat_h) $(defs_h) $(gdbcore_h) \
$(inferior_h) objfiles.h symfile.h target.h
$(inferior_h) objfiles.h symfile.h target.h gdb_string.h
sparcl-tdep.o: sparcl-tdep.c $(defs_h) $(gdbcore_h) target.h
@ -1528,7 +1530,7 @@ valops.o: valops.c $(defs_h) $(gdbcore_h) $(inferior_h) target.h \
valprint.o: valprint.c $(defs_h) $(expression_h) $(gdbcmd_h) \
$(gdbcore_h) $(gdbtypes_h) language.h $(symtab_h) target.h \
$(value_h) gdb_string.h
$(value_h) gdb_string.h valprint.h
values.o: values.c $(defs_h) $(expression_h) $(frame_h) $(gdbcmd_h) \
$(gdbcore_h) $(gdbtypes_h) $(symtab_h) target.h $(value_h) \
@ -1536,7 +1538,7 @@ values.o: values.c $(defs_h) $(expression_h) $(frame_h) $(gdbcmd_h) \
vax-tdep.o: vax-tdep.c $(OP_INCLUDE)/vax.h $(defs_h) $(symtab_h)
w65-tdep.o : w65-tdep.c
w65-tdep.o : w65-tdep.c $(gdbcore_h)
win32-nat.o: win32-nat.c $(gdbcmd_h) $(gdbcore_h) $(inferior_h) $(defs_h) \
gdb_string.h
@ -1562,7 +1564,7 @@ xcoffread.o: xcoffread.c $(bfd_h) $(INCLUDE_DIR)/aout/stab.def \
xcoffsolib.o: xcoffsolib.c $(bfd_h) $(defs_h) xcoffsolib.h
z8k-tdep.o: z8k-tdep.c $(bfd_h) $(dis-asm_h) $(defs_h) $(frame_h) \
$(gdbcmd_h) $(gdbtypes_h) $(symtab_h)
$(gdbcmd_h) $(gdbtypes_h) $(symtab_h) $(gdbcore_h)
c-exp.tab.o: c-exp.tab.c c-lang.h $(defs_h) $(expression_h) \
$(gdbtypes_h) language.h parser-defs.h $(symtab_h) $(value_h) \

View File

@ -30,6 +30,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#endif
#include <sys/user.h>
static void fetch_core_registers PARAMS ((char *, unsigned, int, unsigned));
/* Size of elements in jmpbuf */
#define JB_ELEMENT_SIZE 8

View File

@ -37,6 +37,8 @@ extern struct obstack frame_cache_obstack;
/* Forward declarations. */
static alpha_extra_func_info_t push_sigtramp_desc PARAMS ((CORE_ADDR low_addr));
static CORE_ADDR read_next_frame_reg PARAMS ((struct frame_info *, int));
static CORE_ADDR heuristic_proc_start PARAMS ((CORE_ADDR));
@ -155,11 +157,12 @@ struct linked_proc_info
guarantee that we are in the middle of a sigreturn syscall. Don't
think this will be a problem in praxis, though.
*/
long
alpha_linux_sigtramp_offset (CORE_ADDR pc)
{
unsigned int i[3], w;
long off, res;
long off;
if (read_memory_nobpt(pc, (char *) &w, 4) != 0)
return -1;
@ -209,8 +212,9 @@ alpha_osf_skip_sigtramp_frame (frame, pc)
the signal-handler return code starting at address LOW_ADDR. The
descriptor is added to the linked_proc_desc_table. */
alpha_extra_func_info_t
push_sigtramp_desc (CORE_ADDR low_addr)
static alpha_extra_func_info_t
push_sigtramp_desc (low_addr)
CORE_ADDR low_addr;
{
struct linked_proc_info *link;
alpha_extra_func_info_t proc_desc;
@ -233,6 +237,7 @@ push_sigtramp_desc (CORE_ADDR low_addr)
PROC_PC_REG (proc_desc) = 26;
PROC_LOCALOFF (proc_desc) = 0;
SET_PROC_DESC_IS_DYN_SIGTRAMP (proc_desc);
return (proc_desc);
}

View File

@ -25,6 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "breakpoint.h"
static void print_value_flags PARAMS ((struct type *));
static void breakpoint_changed PARAMS ((struct breakpoint *));
static void
print_value_flags (t)

View File

@ -527,7 +527,7 @@ int one_stepped;
void
single_step (ignore)
int ignore; /* sig, but we don't need it */
enum target_signal ignore; /* sig, but we don't need it */
{
static CORE_ADDR next_pc, target;
static int brktrg_p;

View File

@ -23,6 +23,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "bcache.h"
#include "gdb_string.h" /* For memcpy declaration */
static unsigned int hash PARAMS ((void *, int));
static void *lookup_cache PARAMS ((void *, int, int, struct bcache *));
/* FIXME: Incredibly simplistic hash generator. Probably way too expensive
(consider long strings) and unlikely to have good distribution across hash
values for typical input. */

View File

@ -118,7 +118,7 @@ static int
breakpoint_cond_eval PARAMS ((char *));
static void
cleanup_executing_breakpoints PARAMS ((int));
cleanup_executing_breakpoints PARAMS ((PTR));
static void
commands_command PARAMS ((char *, int));
@ -135,6 +135,50 @@ set_breakpoint_count PARAMS ((int));
static int
remove_breakpoint PARAMS ((struct breakpoint *));
static int
print_it_normal PARAMS ((bpstat));
static int
watchpoint_check PARAMS ((char *));
static int
print_it_done PARAMS ((bpstat));
static int
print_it_noop PARAMS ((bpstat));
static void
maintenance_info_breakpoints PARAMS ((char *, int));
#ifdef GET_LONGJMP_TARGET
static void
create_longjmp_breakpoint PARAMS ((char *));
#endif
static int
hw_breakpoint_used_count PARAMS ((void));
static int
hw_watchpoint_used_count PARAMS ((enum bptype, int *));
static void
hbreak_command PARAMS ((char *, int));
static void
thbreak_command PARAMS ((char *, int));
static void
watch_command_1 PARAMS ((char *, int, int));
static void
rwatch_command PARAMS ((char *, int));
static void
awatch_command PARAMS ((char *, int));
static void
do_enable_breakpoint PARAMS ((struct breakpoint *, enum bpdisp));
extern int addressprint; /* Print machine addresses? */
/* Are we executing breakpoint commands? */
@ -914,7 +958,7 @@ bpstat_clear_actions (bs)
/* ARGSUSED */
static void
cleanup_executing_breakpoints (ignore)
int ignore;
PTR ignore;
{
executing_breakpoint_commands = 0;
}
@ -2126,7 +2170,7 @@ re_enable_breakpoints_in_shlibs ()
#endif
int
static int
hw_breakpoint_used_count()
{
register struct breakpoint *b;
@ -2141,7 +2185,7 @@ hw_breakpoint_used_count()
return i;
}
int
static int
hw_watchpoint_used_count(type, other_type_used)
enum bptype type;
int *other_type_used;
@ -2545,7 +2589,8 @@ watch_command_1 (arg, accessflag, from_tty)
struct expression *exp;
struct block *exp_valid_block;
struct value *val, *mark;
struct frame_info *frame, *prev_frame;
struct frame_info *frame;
struct frame_info *prev_frame = NULL;
char *exp_start = NULL;
char *exp_end = NULL;
char *tok, *end_tok;

View File

@ -25,6 +25,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "language.h"
#include "c-lang.h"
static void emit_char PARAMS ((int, GDB_FILE *, int));
/* Print the character C on STREAM as part of the contents of a literal
string whose delimiter is QUOTER. Note that that format for printing
characters and strings is language specific. */

View File

@ -44,7 +44,24 @@
#include <fcntl.h>
#include <time.h>
static int os_init PARAMS ((host_callback *));
static int os_shutdown PARAMS ((host_callback *));
static int os_unlink PARAMS ((host_callback *, const char *));
static long os_time PARAMS ((host_callback *, long *));
static int os_system PARAMS ((host_callback *, const char *));
static int os_rename PARAMS ((host_callback *, const char *, const char *));
static int os_write_stdout PARAMS ((host_callback *, const char *, int));
static int os_write PARAMS ((host_callback *, int, const char *, int));
static int os_read_stdin PARAMS ((host_callback *, char *, int));
static int os_read PARAMS ((host_callback *, int, char *, int));
static int os_open PARAMS ((host_callback *, const char *, int));
static int os_lseek PARAMS ((host_callback *, int, long, int));
static int os_isatty PARAMS ((host_callback *, int));
static int os_get_errno PARAMS ((host_callback *));
static int os_close PARAMS ((host_callback *, int));
static int fdmap PARAMS ((host_callback *, int));
static int fdbad PARAMS ((host_callback *, int));
static int wrap PARAMS ((host_callback *, int));
/* Set the callback copy of errno from what we see now. */
static int
@ -80,7 +97,7 @@ fdmap (p, fd)
return p->fdmap[fd];
}
int
static int
os_close (p, fd)
host_callback *p;
int fd;
@ -94,7 +111,7 @@ os_close (p, fd)
return result;
}
int
static int
os_get_errno (p)
host_callback *p;
{
@ -103,7 +120,7 @@ os_get_errno (p)
}
int
static int
os_isatty (p, fd)
host_callback *p;
int fd;
@ -113,11 +130,11 @@ os_isatty (p, fd)
result = fdbad (p, fd);
if (result)
return result;
result = wrap (p, isatty (fdmap (fd)));
result = wrap (p, isatty (fdmap (p, fd)));
return result;
}
int
static int
os_lseek (p, fd, off, way)
host_callback *p;
int fd;
@ -133,7 +150,7 @@ os_lseek (p, fd, off, way)
return result;
}
int
static int
os_open (p, name, flags)
host_callback *p;
const char *name;
@ -159,7 +176,7 @@ os_open (p, name, flags)
return -1;
}
int
static int
os_read (p, fd, buf, len)
host_callback *p;
int fd;
@ -175,7 +192,7 @@ os_read (p, fd, buf, len)
return result;
}
int
static int
os_read_stdin (p, buf, len)
host_callback *p;
char *buf;
@ -184,7 +201,7 @@ os_read_stdin (p, buf, len)
return wrap (p, read (0, buf, len));
}
int
static int
os_write (p, fd, buf, len)
host_callback *p;
int fd;
@ -201,7 +218,8 @@ os_write (p, fd, buf, len)
}
/* ignore the grossness of INSIDE_SIMULATOR, it will go away one day. */
int
static int
os_write_stdout (p, buf, len)
host_callback *p;
const char *buf;
@ -225,7 +243,7 @@ os_write_stdout (p, buf, len)
#endif
}
int
static int
os_rename (p, f1, f2)
host_callback *p;
const char *f1;
@ -235,7 +253,7 @@ os_rename (p, f1, f2)
}
int
static int
os_system (p, s)
host_callback *p;
const char *s;
@ -243,7 +261,7 @@ os_system (p, s)
return wrap (p, system (s));
}
long
static long
os_time (p, t)
host_callback *p;
long *t;
@ -252,7 +270,7 @@ os_time (p, t)
}
int
static int
os_unlink (p, f1)
host_callback *p;
const char *f1;
@ -261,9 +279,9 @@ os_unlink (p, f1)
}
int
static int
os_shutdown (p)
host_callback *p;
host_callback *p;
{
int i;
for (i = 0; i < MAX_CALLBACK_FDS; i++)
@ -276,8 +294,9 @@ host_callback *p;
return 1;
}
int os_init(p)
host_callback *p;
static int
os_init(p)
host_callback *p;
{
int i;
os_shutdown (p);
@ -296,7 +315,7 @@ host_callback *p;
move the whole file into sim/common and remove this bit. */
/* VARARGS */
void
static void
#ifdef ANSI_PROTOTYPES
os_printf_filtered (host_callback *p, const char *format, ...)
#else

View File

@ -55,6 +55,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "symfile.h" /* Required by objfiles.h. */
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
#ifdef __GNUC__
#define INLINE __inline__
#endif
typedef union
{
@ -131,13 +135,55 @@ enum ch_terminal {
};
/* Forward declarations. */
static void parse_expr ();
static void parse_primval ();
static void parse_untyped_expr ();
static int parse_opt_untyped_expr ();
static void parse_if_expression_body PARAMS((void));
static void write_lower_upper_value PARAMS ((enum exp_opcode, struct type *));
static enum ch_terminal ch_lex ();
static enum ch_terminal match_bitstring_literal PARAMS ((void));
static enum ch_terminal match_integer_literal PARAMS ((void));
static enum ch_terminal match_character_literal PARAMS ((void));
static enum ch_terminal match_string_literal PARAMS ((void));
static enum ch_terminal match_float_literal PARAMS ((void));
static enum ch_terminal match_float_literal PARAMS ((void));
static int decode_integer_literal PARAMS ((LONGEST *, char **));
static int decode_integer_value PARAMS ((int, char **, LONGEST *));
static char *match_simple_name_string PARAMS ((void));
static void growbuf_by_size PARAMS ((int));
static void parse_untyped_expr PARAMS ((void));
static void parse_if_expression PARAMS ((void));
static void parse_else_alternative PARAMS ((void));
static void parse_then_alternative PARAMS ((void));
static void parse_expr PARAMS ((void));
static void parse_operand0 PARAMS ((void));
static void parse_operand1 PARAMS ((void));
static void parse_operand2 PARAMS ((void));
static void parse_operand3 PARAMS ((void));
static void parse_operand4 PARAMS ((void));
static void parse_operand5 PARAMS ((void));
static void parse_operand6 PARAMS ((void));
static void parse_primval PARAMS ((void));
static void parse_tuple PARAMS ((struct type *));
static void parse_opt_element_list PARAMS ((void));
static void parse_tuple_element PARAMS ((void));
static void parse_named_record_element PARAMS ((void));
static void parse_call PARAMS ((void));
static struct type *parse_mode_or_normal_call PARAMS ((void));
#if 0
static struct type *parse_mode_call PARAMS ((void));
#endif
static void parse_unary_call PARAMS ((void));
static int parse_opt_untyped_expr PARAMS ((void));
static void parse_case_label PARAMS ((void));
static int expect PARAMS ((enum ch_terminal, char *));
static void parse_expr PARAMS ((void));
static void parse_primval PARAMS ((void));
static void parse_untyped_expr PARAMS ((void));
static int parse_opt_untyped_expr PARAMS ((void));
static void parse_if_expression_body PARAMS((void));
static enum ch_terminal ch_lex PARAMS ((void));
INLINE static enum ch_terminal PEEK_TOKEN PARAMS ((void));
static enum ch_terminal peek_token_ PARAMS ((int));
static void forward_token_ PARAMS ((void));
static void require PARAMS ((enum ch_terminal));
static int check_token PARAMS ((enum ch_terminal));
#define MAX_LOOK_AHEAD 2
static enum ch_terminal terminal_buffer[MAX_LOOK_AHEAD+1] = {
@ -147,10 +193,7 @@ static YYSTYPE val_buffer[MAX_LOOK_AHEAD+1];
/*int current_token, lookahead_token;*/
#ifdef __GNUC__
__inline__
#endif
static enum ch_terminal
INLINE static enum ch_terminal
PEEK_TOKEN()
{
if (terminal_buffer[0] == TOKEN_NOT_READ)
@ -214,7 +257,7 @@ forward_token_()
/* Skip the next token.
if it isn't TOKEN, the parser is broken. */
void
static void
require(token)
enum ch_terminal token;
{
@ -227,7 +270,7 @@ require(token)
FORWARD_TOKEN();
}
int
static int
check_token (token)
enum ch_terminal token;
{
@ -240,8 +283,8 @@ check_token (token)
/* return 0 if expected token was not found,
else return 1.
*/
int
expect(token, message)
static int
expect (token, message)
enum ch_terminal token;
char *message;
{
@ -408,7 +451,9 @@ parse_unary_call ()
/* Parse NAME '(' MODENAME ')'. */
struct type *
#if 0
static struct type *
parse_mode_call ()
{
struct type *type;
@ -422,7 +467,9 @@ parse_mode_call ()
return type;
}
struct type *
#endif
static struct type *
parse_mode_or_normal_call ()
{
struct type *type;
@ -486,9 +533,11 @@ static void
parse_named_record_element ()
{
struct stoken label;
char buf[256];
label = PEEK_LVAL ().sval;
expect (FIELD_NAME, "expected a field name here `%s'", lexptr);
sprintf (buf, "expected a field name here `%s'", lexptr);
expect (FIELD_NAME, buf);
if (check_token (','))
parse_named_record_element ();
else if (check_token (':'))
@ -2072,7 +2121,6 @@ write_lower_upper_value (opcode, type)
write_exp_elt_opcode (opcode);
else
{
extern LONGEST type_lower_upper ();
struct type *result_type;
LONGEST val = type_lower_upper (opcode, type, &result_type);
write_exp_elt_opcode (OP_LONG);

View File

@ -26,6 +26,26 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "language.h"
#include "ch-lang.h"
static value_ptr
evaluate_subexp_chill PARAMS ((struct type *, struct expression *, int *, enum noside));
static value_ptr
value_chill_max_min PARAMS ((enum exp_opcode, value_ptr));
static value_ptr
value_chill_card PARAMS ((value_ptr));
static value_ptr
value_chill_length PARAMS ((value_ptr));
static struct type *
chill_create_fundamental_type PARAMS ((struct objfile *, int));
static void
chill_printstr PARAMS ((GDB_FILE *, char *, unsigned int, int));
static void
chill_printchar PARAMS ((int, GDB_FILE *));
/* For now, Chill uses a simple mangling algorithm whereby you simply
discard everything after the occurance of two successive CPLUS_MARKER

View File

@ -37,3 +37,6 @@ chill_val_print PARAMS ((struct type *, char *, CORE_ADDR, GDB_FILE *, int, int,
extern int
chill_value_print PARAMS ((struct value *, GDB_FILE *,
int, enum val_prettyprint));
extern LONGEST
type_lower_upper PARAMS ((enum exp_opcode, struct type *, struct type **));

View File

@ -36,6 +36,13 @@ static void
chill_print_value_fields PARAMS ((struct type *, char *, GDB_FILE *, int, int,
enum val_prettyprint, struct type **));
static void
chill_print_type_scalar PARAMS ((struct type *, LONGEST, GDB_FILE *));
static void
chill_val_print_array_elements PARAMS ((struct type *, char *, CORE_ADDR, GDB_FILE *,
int, int, int, enum val_prettyprint));
/* Print integral scalar data VAL, of type TYPE, onto stdio stream STREAM.
Used to print data from type structures in a specified type. For example,
@ -43,7 +50,7 @@ chill_print_value_fields PARAMS ((struct type *, char *, GDB_FILE *, int, int,
allows the ranges to be printed in their "natural" form rather than as
decimal integer values. */
void
static void
chill_print_type_scalar (type, val, stream)
struct type *type;
LONGEST val;
@ -382,7 +389,7 @@ chill_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
{
if (need_comma)
fputs_filtered (", ", stream);
chill_print_type_scalar (range, i, stream);
chill_print_type_scalar (range, (LONGEST) i, stream);
need_comma = 1;
/* Look for a continuous range of true elements. */
@ -393,7 +400,7 @@ chill_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
while (i+1 <= high_bound
&& value_bit_index (type, valaddr, ++i))
j = i;
chill_print_type_scalar (range, j, stream);
chill_print_type_scalar (range, (LONGEST) j, stream);
}
}
}

View File

@ -52,6 +52,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <sys/core.h>
#endif
static void
fetch_core_registers PARAMS ((char *, unsigned, int, unsigned));
/* Extract the register values out of the core file and store
them where `read_register' will find them.

View File

@ -52,6 +52,10 @@ static void core_close PARAMS ((int));
static void get_core_registers PARAMS ((int));
static void add_to_thread_list PARAMS ((bfd *, asection *, PTR));
static int ignore PARAMS ((CORE_ADDR, char *));
/* Link a new core_fns into the global core_file_fns list. Called on gdb
startup by the _initialize routine in each core file register reader, to
register information about each format the the reader is prepared to

View File

@ -65,11 +65,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "aout/aout64.h"
#include "aout/stab_gnu.h" /* We always use GNU stabs, not native, now */
/* defined in stabsread.c; used for completing cfront stabs strings */
extern void
resolve_cfront_continuation PARAMS((struct objfile * objfile,
struct symbol * sym, char * p));
/* We put a pointer to this structure in the read_symtab_private field
of the psymtab. */
@ -211,6 +206,9 @@ static int bincls_allocated;
/* Local function prototypes */
static void
process_now PARAMS ((struct objfile *));
static void
free_header_files PARAMS ((void));
@ -779,7 +777,7 @@ process_later(sym,p)
cont_count++;
}
void
static void
process_now(objfile)
struct objfile * objfile;
{

View File

@ -23,7 +23,7 @@
#include "dcache.h"
#include "gdbcmd.h"
#include "gdb_string.h"
#include "gdbcore.h"
/*
The data cache could lead to incorrect results because it doesn't know
@ -478,8 +478,8 @@ dcache_xfer_memory (dcache, memaddr, myaddr, len, should_write)
if (remote_dcache)
{
int (*xfunc) ()
= should_write ? dcache_poke_byte : dcache_peek_byte;
int (*xfunc) PARAMS ((DCACHE *dcache, CORE_ADDR addr, char *ptr));
xfunc = should_write ? dcache_poke_byte : dcache_peek_byte;
for (i = 0; i < len; i++)
{
@ -491,8 +491,8 @@ dcache_xfer_memory (dcache, memaddr, myaddr, len, should_write)
}
else
{
int (*xfunc) ()
= should_write ? dcache->write_memory : dcache->read_memory;
memxferfunc xfunc;
xfunc = should_write ? dcache->write_memory : dcache->read_memory;
if (dcache->cache_has_stuff)
dcache_flush (dcache);

View File

@ -45,6 +45,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <varargs.h>
#endif
#define PRIVATE_XMALLOC 1 /* Suppress libiberty decls for xmalloc/xrealloc */
#include "libiberty.h"
/* libiberty.h can't declare this one, but evidently we can. */
@ -207,6 +208,12 @@ extern char *chill_demangle PARAMS ((const char *));
/* From utils.c */
extern PTR xmalloc PARAMS ((long));
extern PTR xrealloc PARAMS ((PTR, long));
extern void notice_quit PARAMS ((void));
extern int strcmp_iw PARAMS ((const char *, const char *));
extern char *safe_strerror PARAMS ((int));
@ -242,12 +249,17 @@ extern void restore_cleanups PARAMS ((struct cleanup *));
extern void free_current_contents PARAMS ((char **));
extern void null_cleanup PARAMS ((char **));
extern void null_cleanup PARAMS ((PTR));
extern int myread PARAMS ((int, char *, int));
extern int query PARAMS((char *, ...))
ATTR_FORMAT(printf, 1, 2);
/* From demangle.c */
extern void set_demangling_style PARAMS ((char *));
/* Annotation stuff. */
@ -643,11 +655,11 @@ extern char *getenv PARAMS ((const char *));
somewhere. */
#ifndef FCLOSE_PROVIDED
extern int fclose ();
extern int fclose PARAMS ((FILE *));
#endif
#ifndef atof
extern double atof ();
extern double atof PARAMS ((const char *)); /* X3.159-1989 4.10.1.1 */
#endif
#ifndef MALLOC_INCOMPATIBLE
@ -660,30 +672,6 @@ extern void free ();
#endif /* MALLOC_INCOMPATIBLE */
#ifndef __WIN32__
#ifndef strchr
extern char *strchr ();
#endif
#ifndef strrchr
extern char *strrchr ();
#endif
#ifndef strstr
extern char *strstr ();
#endif
#ifndef strtok
extern char *strtok ();
#endif
#ifndef strerror
extern char *strerror ();
#endif
#endif /* !__WIN32__ */
/* Various possibilities for alloca. */
#ifndef alloca
# ifdef __GNUC__
@ -998,7 +986,7 @@ extern int (*target_wait_hook) PARAMS ((int pid,
extern void (*call_command_hook) PARAMS ((struct cmd_list_element *c,
char *cmd, int from_tty));
extern NORETURN void (*error_hook) PARAMS (()) ATTR_NORETURN;
extern NORETURN void (*error_hook) PARAMS ((void)) ATTR_NORETURN;

View File

@ -70,6 +70,9 @@ static const struct demangler
{NULL, unknown_demangling, NULL}
};
static void
set_demangling_command PARAMS ((char *, int, struct cmd_list_element *));
/* set current demangling style. called by the "set demangling" command
after it has updated the current_demangling_style_string to match
what the user has entered.
@ -159,7 +162,7 @@ set_demangling_style (style)
free (current_demangling_style_string);
}
current_demangling_style_string = savestring (style, strlen (style));
set_demangling_command ((char *) NULL, 0);
set_demangling_command ((char *) NULL, 0, (struct cmd_list_element *) NULL);
}
/* In order to allow a single demangler executable to demangle strings

View File

@ -442,6 +442,9 @@ static const struct language_defn *cu_language_defn;
/* Forward declarations of static functions so we don't have to worry
about ordering within this file. */
static void
free_utypes PARAMS ((PTR));
static int
attribute_size PARAMS ((unsigned int));

View File

@ -58,6 +58,10 @@ static void set_section_command PARAMS ((char *, int));
static void exec_files_info PARAMS ((struct target_ops *));
static void bfdsec_to_vmap PARAMS ((bfd *, sec_ptr, PTR));
static int ignore PARAMS ((CORE_ADDR, char *));
extern int info_verbose;
/* The Binary File Descriptor handle for the executable file. */

View File

@ -109,6 +109,10 @@ static int yylex PARAMS ((void));
void yyerror PARAMS ((char *));
static void growbuf_by_size PARAMS ((int));
static int match_string_literal PARAMS ((void));
%}
/* Although the yacc "value" of an expression is not used,

View File

@ -45,6 +45,47 @@ struct type *builtin_type_f_complex_s16;
struct type *builtin_type_f_complex_s32;
struct type *builtin_type_f_void;
/* Following is dubious stuff that had been in the xcoff reader. */
struct saved_fcn
{
long line_offset; /* Line offset for function */
struct saved_fcn *next;
};
struct saved_bf_symnum
{
long symnum_fcn; /* Symnum of function (i.e. .function directive) */
long symnum_bf; /* Symnum of .bf for this function */
struct saved_bf_symnum *next;
};
typedef struct saved_fcn SAVED_FUNCTION, *SAVED_FUNCTION_PTR;
typedef struct saved_bf_symnum SAVED_BF, *SAVED_BF_PTR;
/* Local functions */
#if 0
static void clear_function_list PARAMS ((void));
static long get_bf_for_fcn PARAMS ((long));
static void clear_bf_list PARAMS ((void));
static void patch_all_commons_by_name PARAMS ((char *, CORE_ADDR, int));
static SAVED_F77_COMMON_PTR find_first_common_named PARAMS ((char *));
static void add_common_entry PARAMS ((struct symbol *));
static void add_common_block PARAMS ((char *, CORE_ADDR, int, char *));
static SAVED_FUNCTION *allocate_saved_function_node PARAMS ((void));
static SAVED_BF_PTR allocate_saved_bf_node PARAMS ((void));
static COMMON_ENTRY_PTR allocate_common_entry_node PARAMS ((void));
static SAVED_F77_COMMON_PTR allocate_saved_f77_common_node PARAMS ((void));
#endif
static void patch_common_entries PARAMS ((SAVED_F77_COMMON_PTR, CORE_ADDR, int));
static struct type *f_create_fundamental_type PARAMS ((struct objfile *, int));
static void f_printstr PARAMS ((FILE *, char *, unsigned int, int));
static void f_printchar PARAMS ((int, FILE *));
static void emit_char PARAMS ((int, FILE *, int));
/* Print the character C on STREAM as part of the contents of a literal
string whose delimiter is QUOTER. Note that that format for printing
characters and strings is language specific.
@ -413,7 +454,10 @@ struct type ** const (f_builtin_types[]) =
0
};
int c_value_print();
/* This is declared in c-lang.h but it is silly to import that file for what
is already just a hack. */
extern int
c_value_print PARAMS ((struct value *, GDB_FILE *, int, enum val_prettyprint));
const struct language_defn f_language_defn = {
"fortran",
@ -523,27 +567,9 @@ _initialize_f_language ()
add_language (&f_language_defn);
}
/* Following is dubious stuff that had been in the xcoff reader. */
struct saved_fcn
{
long line_offset; /* Line offset for function */
struct saved_fcn *next;
};
struct saved_bf_symnum
{
long symnum_fcn; /* Symnum of function (i.e. .function directive) */
long symnum_bf; /* Symnum of .bf for this function */
struct saved_bf_symnum *next;
};
typedef struct saved_fcn SAVED_FUNCTION, *SAVED_FUNCTION_PTR;
typedef struct saved_bf_symnum SAVED_BF, *SAVED_BF_PTR;
SAVED_BF_PTR allocate_saved_bf_node()
#if 0
static SAVED_BF_PTR
allocate_saved_bf_node()
{
SAVED_BF_PTR new;
@ -551,7 +577,8 @@ SAVED_BF_PTR allocate_saved_bf_node()
return(new);
}
SAVED_FUNCTION *allocate_saved_function_node()
static SAVED_FUNCTION *
allocate_saved_function_node()
{
SAVED_FUNCTION *new;
@ -559,7 +586,7 @@ SAVED_FUNCTION *allocate_saved_function_node()
return(new);
}
SAVED_F77_COMMON_PTR allocate_saved_f77_common_node()
static SAVED_F77_COMMON_PTR allocate_saved_f77_common_node()
{
SAVED_F77_COMMON_PTR new;
@ -567,41 +594,38 @@ SAVED_F77_COMMON_PTR allocate_saved_f77_common_node()
return(new);
}
COMMON_ENTRY_PTR allocate_common_entry_node()
static COMMON_ENTRY_PTR allocate_common_entry_node()
{
COMMON_ENTRY_PTR new;
new = (COMMON_ENTRY_PTR) xmalloc (sizeof (COMMON_ENTRY));
return(new);
}
#endif
SAVED_F77_COMMON_PTR head_common_list=NULL; /* Ptr to 1st saved COMMON */
SAVED_F77_COMMON_PTR tail_common_list=NULL; /* Ptr to last saved COMMON */
SAVED_F77_COMMON_PTR current_common=NULL; /* Ptr to current COMMON */
#if 0
static SAVED_BF_PTR saved_bf_list=NULL; /* Ptr to (.bf,function)
list*/
#if 0
static SAVED_BF_PTR saved_bf_list_end=NULL; /* Ptr to above list's end */
#endif
static SAVED_BF_PTR current_head_bf_list=NULL; /* Current head of above list
*/
#if 0
static SAVED_BF_PTR tmp_bf_ptr; /* Generic temporary for use
in macros */
#endif
/* The following function simply enters a given common block onto
the global common block chain */
void add_common_block(name,offset,secnum,func_stab)
static void
add_common_block(name,offset,secnum,func_stab)
char *name;
CORE_ADDR offset;
int secnum;
char *func_stab;
{
SAVED_F77_COMMON_PTR tmp;
char *c,*local_copy_func_stab;
@ -662,14 +686,15 @@ void add_common_block(name,offset,secnum,func_stab)
tail_common_list->next = tmp;
tail_common_list = tmp;
}
}
#endif
/* The following function simply enters a given common entry onto
the "current_common" block that has been saved away. */
void add_common_entry(entry_sym_ptr)
#if 0
static void
add_common_entry(entry_sym_ptr)
struct symbol *entry_sym_ptr;
{
COMMON_ENTRY_PTR tmp;
@ -700,13 +725,14 @@ void add_common_entry(entry_sym_ptr)
current_common->end_of_entries = tmp;
}
}
}
#endif
/* This routine finds the first encountred COMMON block named "name" */
SAVED_F77_COMMON_PTR find_first_common_named(name)
#if 0
static SAVED_F77_COMMON_PTR
find_first_common_named(name)
char *name;
{
@ -723,6 +749,7 @@ SAVED_F77_COMMON_PTR find_first_common_named(name)
}
return(NULL);
}
#endif
/* This routine finds the first encountred COMMON block named "name"
that belongs to function funcname */
@ -754,7 +781,8 @@ SAVED_F77_COMMON_PTR find_common_for_function(name, funcname)
"name." */
void patch_common_entries (blk, offset, secnum)
static void
patch_common_entries (blk, offset, secnum)
SAVED_F77_COMMON_PTR blk;
CORE_ADDR offset;
int secnum;
@ -782,8 +810,9 @@ void patch_common_entries (blk, offset, secnum)
hashed-lookup. Secnum is the section number for the .bss section
(which is where common data lives). */
void patch_all_commons_by_name (name, offset, secnum)
#if 0
static void
patch_all_commons_by_name (name, offset, secnum)
char *name;
CORE_ADDR offset;
int secnum;
@ -812,12 +841,8 @@ void patch_all_commons_by_name (name, offset, secnum)
tmp = tmp->next;
}
}
#endif
/* This macro adds the symbol-number for the start of the function
(the symbol number of the .bf) referenced by symnum_fcn to a
@ -856,7 +881,8 @@ else \
/* This function frees the entire (.bf,function) list */
void
#if 0
static void
clear_bf_list()
{
@ -871,10 +897,13 @@ void
}
saved_bf_list = NULL;
}
#endif
int global_remote_debug;
long
#if 0
static long
get_bf_for_fcn (the_function)
long the_function;
{
@ -924,11 +953,10 @@ get_bf_for_fcn (the_function)
}
static SAVED_FUNCTION_PTR saved_function_list=NULL;
#if 0 /* Currently unused */
static SAVED_FUNCTION_PTR saved_function_list_end=NULL;
#endif
void clear_function_list()
static void
clear_function_list()
{
SAVED_FUNCTION_PTR tmp = saved_function_list;
SAVED_FUNCTION_PTR next = NULL;
@ -942,3 +970,5 @@ void clear_function_list()
saved_function_list = NULL;
}
#endif

View File

@ -43,6 +43,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
static void f_type_print_args PARAMS ((struct type *, FILE *));
#endif
static void print_equivalent_f77_float_type PARAMS ((struct type *, FILE *));
static void f_type_print_varspec_suffix PARAMS ((struct type *, FILE *,
int, int, int));
@ -307,7 +309,7 @@ f_type_print_varspec_suffix (type, stream, show, passed_a_ptr, demangled_args)
}
}
void
static void
print_equivalent_f77_float_type (type, stream)
struct type *type;
FILE *stream;

View File

@ -33,9 +33,20 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "gdbcore.h"
#include "command.h"
extern unsigned int print_max; /* No of array elements to print */
#if 0
static int there_is_a_visible_common_named PARAMS ((char *));
#endif
extern int calc_f77_array_dims PARAMS ((struct type *));
static void info_common_command PARAMS ((char *, int));
static void list_all_visible_commons PARAMS ((char *));
static void f77_print_array PARAMS ((struct type *, char *, CORE_ADDR,
FILE *, int, int, int,
enum val_prettyprint));
static void f77_print_array_1 PARAMS ((int, int, struct type *, char *,
CORE_ADDR, FILE *, int, int, int,
enum val_prettyprint));
static void f77_create_arrayprint_offset_tbl PARAMS ((struct type *, FILE *));
static void f77_get_dynamic_length_of_aggregate PARAMS ((struct type *));
int f77_array_offset_tbl[MAX_FORTRAN_DIMS+1][2];
@ -178,7 +189,7 @@ f77_get_dynamic_upperbound (type, upper_bound)
/* Obtain F77 adjustable array dimensions */
void
static void
f77_get_dynamic_length_of_aggregate (type)
struct type *type;
{
@ -217,7 +228,7 @@ f77_get_dynamic_length_of_aggregate (type)
/* Function that sets up the array offset,size table for the array
type "type". */
void
static void
f77_create_arrayprint_offset_tbl (type, stream)
struct type *type;
FILE *stream;
@ -266,13 +277,13 @@ f77_create_arrayprint_offset_tbl (type, stream)
/* Actual function which prints out F77 arrays, Valaddr == address in
the superior. Address == the address in the inferior. */
void
static void
f77_print_array_1 (nss, ndimensions, type, valaddr, address,
stream, format, deref_ref, recurse, pretty)
int nss;
int ndimensions;
char *valaddr;
struct type *type;
char *valaddr;
CORE_ADDR address;
FILE *stream;
int format;
@ -290,7 +301,7 @@ f77_print_array_1 (nss, ndimensions, type, valaddr, address,
f77_print_array_1 (nss + 1, ndimensions, TYPE_TARGET_TYPE (type),
valaddr + i * F77_DIM_OFFSET (nss),
address + i * F77_DIM_OFFSET (nss),
stream, format, deref_ref, recurse, pretty, i);
stream, format, deref_ref, recurse, pretty);
fprintf_filtered (stream, ") ");
}
}
@ -315,7 +326,7 @@ f77_print_array_1 (nss, ndimensions, type, valaddr, address,
/* This function gets called to print an F77 array, we set up some
stuff and then immediately call f77_print_array_1() */
void
static void
f77_print_array (type, valaddr, address, stream, format, deref_ref, recurse,
pretty)
struct type *type;
@ -561,7 +572,7 @@ f_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
return 0;
}
void
static void
list_all_visible_commons (funname)
char *funname;
{
@ -680,7 +691,8 @@ info_common_command (comname, from_tty)
/* This function is used to determine whether there is a
F77 common block visible at the current scope called 'comname'. */
int
#if 0
static int
there_is_a_visible_common_named (comname)
char *comname;
{
@ -739,6 +751,7 @@ there_is_a_visible_common_named (comname)
return (the_common ? 1 : 0);
}
#endif
void
_initialize_f_valprint ()

View File

@ -28,11 +28,27 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# else
# include <strings.h>
# endif
extern char *strchr();
extern char *strrchr();
extern char *strstr();
extern char *strtok();
extern char *strerror();
#ifndef strchr
extern char *strchr PARAMS ((const char *, int)); /* X3.159-1989 4.11.5.2 */
#endif
#ifndef strrchr
extern char *strrchr PARAMS ((const char *, int)); /* X3.159-1989 4.11.5.5 */
#endif
#ifndef strstr
extern char *strstr PARAMS ((const char *, const char *)); /* X3.159-1989 4.11.5.7 */
#endif
#ifndef strtok
extern char *strtok PARAMS ((char *, const char *)); /* X3.159-1989 4.11.5.8 */
#endif
#ifndef strerror
extern char *strerror PARAMS ((int)); /* X3.159-1989 4.11.6.2 */
#endif
# ifdef HAVE_MEMORY_H
# include <memory.h>
# else
@ -43,6 +59,6 @@ extern int memcmp();
# endif
#endif
extern char *strdup();
extern char *strdup ();
#endif /* !defined(GDB_STRING_H) */

View File

@ -55,6 +55,44 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#undef SIOCSPGRP
#endif
static void null_routine PARAMS ((int));
static void gdbtk_flush PARAMS ((FILE *));
static void gdbtk_fputs PARAMS ((const char *, FILE *));
static int gdbtk_query PARAMS ((const char *, va_list));
static char *gdbtk_readline PARAMS ((char *));
static void gdbtk_init PARAMS ((void));
static void tk_command_loop PARAMS ((void));
static void gdbtk_call_command PARAMS ((struct cmd_list_element *, char *, int));
static int gdbtk_wait PARAMS ((int, struct target_waitstatus *));
static void x_event PARAMS ((int));
static void gdbtk_interactive PARAMS ((void));
static void cleanup_init PARAMS ((int));
static void tk_command PARAMS ((char *, int));
static int gdb_disassemble PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static int compare_lines PARAMS ((const PTR, const PTR));
static int gdbtk_dis_asm_read_memory PARAMS ((bfd_vma, bfd_byte *, int, disassemble_info *));
static int gdb_stop PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static int gdb_listfiles PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static int call_wrapper PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static int gdb_cmd PARAMS ((ClientData, Tcl_Interp *, int, char *argv[]));
static int gdb_fetch_registers PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static void gdbtk_readline_end PARAMS ((void));
static int gdb_changed_register_list PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static void register_changed_p PARAMS ((int, void *));
static int gdb_get_breakpoint_list PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static int gdb_get_breakpoint_info PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static void breakpoint_notify PARAMS ((struct breakpoint *, const char *));
static void gdbtk_create_breakpoint PARAMS ((struct breakpoint *));
static void gdbtk_delete_breakpoint PARAMS ((struct breakpoint *));
static void gdbtk_modify_breakpoint PARAMS ((struct breakpoint *));
static int gdb_loc PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static int gdb_eval PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static int gdb_sourcelines PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static int map_arg_registers PARAMS ((int, char *[], void (*) (int, void *), void *));
static void get_register_name PARAMS ((int, void *));
static int gdb_regnames PARAMS ((ClientData, Tcl_Interp *, int, char *[]));
static void get_register PARAMS ((int, void *));
/* Handle for TCL interpreter */
static Tcl_Interp *interp = NULL;
@ -166,7 +204,7 @@ gdbtk_fputs (ptr, stream)
static int
gdbtk_query (query, args)
char *query;
const char *query;
va_list args;
{
char buf[200], *merge[2];
@ -591,7 +629,7 @@ gdb_regnames (clientData, interp, argc, argv)
argc--;
argv++;
return map_arg_registers (argc, argv, get_register_name, 0);
return map_arg_registers (argc, argv, get_register_name, NULL);
}
#ifndef REGISTER_CONVERTIBLE
@ -667,7 +705,7 @@ gdb_fetch_registers (clientData, interp, argc, argv)
argc--;
format = **argv++;
return map_arg_registers (argc, argv, get_register, format);
return map_arg_registers (argc, argv, get_register, (void *) format);
}
/* This contains the previous values of the registers, since the last call to
@ -681,7 +719,6 @@ register_changed_p (regnum, argp)
void *argp; /* Ignored */
{
char raw_buffer[MAX_REGISTER_RAW_SIZE];
char buf[100];
if (read_relative_register_raw_bytes (regnum, raw_buffer))
return;
@ -1251,7 +1288,8 @@ gdbtk_init ()
gdb_get_breakpoint_info, NULL);
command_loop_hook = tk_command_loop;
print_frame_info_listing_hook = null_routine;
print_frame_info_listing_hook =
(void (*) PARAMS ((struct symtab *, int, int, int))) null_routine;
query_hook = gdbtk_query;
flush_hook = gdbtk_flush;
create_breakpoint_hook = gdbtk_create_breakpoint;

View File

@ -54,6 +54,18 @@ struct type *builtin_type_complex;
struct type *builtin_type_double_complex;
struct type *builtin_type_string;
struct extra { char str[128]; int len; }; /* maximum extention is 128! FIXME */
static void add_name PARAMS ((struct extra *, char *));
static void add_mangled_type PARAMS ((struct extra *, struct type *));
#if 0
static void cfront_mangle_name PARAMS ((struct type *, int, int));
#endif
static void print_bit_vector PARAMS ((B_TYPE *, int));
static void print_arg_types PARAMS ((struct type **, int));
static void dump_fn_fieldlists PARAMS ((struct type *, int));
static void print_cplus_stuff PARAMS ((struct type *, int));
/* Alloc a new type structure and fill it with some defaults. If
OBJFILE is non-NULL, then allocate the space for the type structure
in that objfile's type_obstack. */
@ -979,21 +991,21 @@ check_typedef (type)
#include <ctype.h>
#define INIT_EXTRA { pextras->len=0; pextras->str[0]='\0'; }
#define ADD_EXTRA(c) { pextras->str[pextras->len++]=c; }
struct extra { char str[128]; int len; }; /* maximum extention is 128! FIXME */
void
static void
add_name(pextras,n)
struct extra * pextras;
char * n;
{
char lenstr[512]; /* FIXME! hardcoded :-( */
int nlen, lenstrlen;
int nlen;
if ((nlen = (n ? strlen(n) : 0))==0)
return;
sprintf(pextras->str+pextras->len,"%d%s",nlen,n);
pextras->len=strlen(pextras->str);
}
void
static void
add_mangled_type(pextras,t)
struct extra * pextras;
struct type * t;
@ -1116,7 +1128,8 @@ add_mangled_type(pextras,t)
add_mangled_type(pextras,t->target_type);
}
char *
#if 0
void
cfront_mangle_name(type, i, j)
struct type *type;
int i;
@ -1165,6 +1178,8 @@ cfront_mangle_name(type, i, j)
mangled_name = arm_mangled_name;
}
}
#endif /* 0 */
#undef ADD_EXTRA
/* End of new code added to support parsing of Cfront stabs strings */

View File

@ -786,4 +786,8 @@ extern int can_dereference PARAMS ((struct type *));
extern void maintenance_print_type PARAMS ((char *, int));
#endif
/* typeprint.c */
extern void print_type_scalar PARAMS ((struct type *, LONGEST, GDB_FILE *));
#endif /* GDBTYPES_H */

View File

@ -34,6 +34,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <sys/file.h>
static void
fetch_inferior_register PARAMS ((int, unsigned int));
static void
store_inferior_register_1 PARAMS ((int, unsigned int, int));
static void
store_inferior_register PARAMS ((int, unsigned int));
/* Get kernel_u_addr using HPUX-style nlist(). */
CORE_ADDR kernel_u_addr;
@ -138,7 +147,6 @@ store_inferior_register (regno, regaddr)
else
#endif /* not HPUX_VERSION_5 */
{
char buf[MAX_REGISTER_RAW_SIZE];
register int i;
extern char registers[];
@ -185,7 +193,6 @@ store_inferior_registers (regno)
{
struct user u;
register unsigned int ar0_offset;
extern char registers[];
if (regno >= FP0_REGNUM)
{

View File

@ -20,6 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "defs.h"
#include "inferior.h"
#include "target.h"
#include "gdbcore.h"
/* Return the PC of the caller from the call frame. Assumes the subr prologue
has already been executed, and the frame pointer setup. If this is the

View File

@ -25,6 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "frame.h"
#include "floatformat.h"
#include "target.h"
#include "gdbcore.h"
static CORE_ADDR next_insn PARAMS ((CORE_ADDR memaddr,
unsigned int *pword1,

View File

@ -82,6 +82,8 @@ static void step_command PARAMS ((char *, int));
static void run_command PARAMS ((char *, int));
static void breakpoint_auto_delete_contents PARAMS ((PTR));
#define ERROR_NO_INFERIOR \
if (!target_has_execution) error ("The program is not being run.");
@ -500,7 +502,8 @@ signal_command (signum_exp, from_tty)
/* Call breakpoint_auto_delete on the current contents of the bpstat
pointed to by arg (which is really a bpstat *). */
void
static void
breakpoint_auto_delete_contents (arg)
PTR arg;
{
@ -1019,7 +1022,11 @@ do_registers_info (regnum, fpregs)
printf_filtered ("\t(raw 0x");
for (j = 0; j < REGISTER_RAW_SIZE (i); j++)
printf_filtered ("%02x", (unsigned char)raw_buffer[j]);
{
register int idx = TARGET_BYTE_ORDER == BIG_ENDIAN ? j
: REGISTER_RAW_SIZE (i) - 1 - j;
printf_filtered ("%02x", (unsigned char)raw_buffer[idx]);
}
printf_filtered (")");
}
@ -1137,7 +1144,9 @@ attach_command (args, from_tty)
char *args;
int from_tty;
{
#ifdef SOLIB_ADD
extern int auto_solib_add;
#endif
dont_repeat (); /* Not for the faint of heart */

View File

@ -47,6 +47,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#endif
#endif /* sgtty */
#if defined (SIGIO) && defined (FASYNC) && defined (FD_SET) && defined (F_SETOWN)
static void
handle_sigio PARAMS ((int));
#endif
static void
pass_signal PARAMS ((int));
static void
kill_command PARAMS ((char *, int));
@ -82,6 +90,7 @@ PROCESS_GROUP_TYPE inferior_process_group;
inferior only. If we have job control, that takes care of it. If not,
we save our handlers in these two variables and set SIGINT and SIGQUIT
to SIG_IGN. */
static void (*sigint_ours) ();
static void (*sigquit_ours) ();

View File

@ -55,6 +55,8 @@ static void resume_cleanups PARAMS ((int));
static int hook_stop_stub PARAMS ((char *));
static void delete_breakpoint_current_contents PARAMS ((PTR));
/* GET_LONGJMP_TARGET returns the PC at which longjmp() will resume the
program. It needs to examine the jmp_buf argument and extract the PC
from it. The return value is non-zero on success, zero otherwise. */
@ -151,9 +153,11 @@ static struct symbol *step_start_function;
static int trap_expected;
#ifdef SOLIB_ADD
/* Nonzero if we want to give control to the user when we're notified
of shared library events by the dynamic linker. */
static int stop_on_solib_events;
#endif
#ifdef HP_OS_BUG
/* Nonzero if the next time we try to continue the inferior, it will
@ -195,13 +199,6 @@ static int breakpoints_failed;
static int stop_print_frame;
#ifdef NO_SINGLE_STEP
extern int one_stepped; /* From machine dependent code */
extern void single_step (); /* Same. */
#endif /* NO_SINGLE_STEP */
extern void write_pc_pid PARAMS ((CORE_ADDR, int));
/* Things to clean up if we QUIT out of resume (). */
/* ARGSUSED */
@ -455,7 +452,7 @@ wait_for_inferior ()
struct cleanup *old_cleanups;
struct target_waitstatus w;
int another_trap;
int random_signal;
int random_signal = 0;
CORE_ADDR stop_func_start;
CORE_ADDR stop_func_end;
char *stop_func_name;
@ -1063,8 +1060,8 @@ wait_for_inferior ()
another_trap = 1;
break;
#ifdef SOLIB_ADD
case BPSTAT_WHAT_CHECK_SHLIBS:
#ifdef SOLIB_ADD
{
extern int auto_solib_add;
@ -1104,6 +1101,7 @@ wait_for_inferior ()
}
}
#endif
break;
case BPSTAT_WHAT_LAST:
/* Not a real code, but listed here to shut up gcc -Wall. */
@ -1187,7 +1185,8 @@ wait_for_inferior ()
/* Did we just take a signal? */
if (IN_SIGTRAMP (stop_pc, stop_func_name)
&& !IN_SIGTRAMP (prev_pc, prev_func_name))
&& !IN_SIGTRAMP (prev_pc, prev_func_name)
&& read_sp () INNER_THAN step_sp)
{
/* We've just taken a signal; go until we are back to
the point where we took it and one more. */
@ -1251,16 +1250,17 @@ wait_for_inferior ()
SKIP_PROLOGUE (prologue_pc);
}
if ((/* Might be a non-recursive call. If the symbols are missing
enough that stop_func_start == prev_func_start even though
they are really two functions, we will treat some calls as
jumps. */
stop_func_start != prev_func_start
if (!(step_sp INNER_THAN read_sp ()) /* don't mistake (sig)return as a call */
&& (/* Might be a non-recursive call. If the symbols are missing
enough that stop_func_start == prev_func_start even though
they are really two functions, we will treat some calls as
jumps. */
stop_func_start != prev_func_start
/* Might be a recursive call if either we have a prologue
or the call instruction itself saves the PC on the stack. */
|| prologue_pc != stop_func_start
|| read_sp () != step_sp)
/* Might be a recursive call if either we have a prologue
or the call instruction itself saves the PC on the stack. */
|| prologue_pc != stop_func_start
|| read_sp () != step_sp)
&& (/* PC is completely out of bounds of any known objfiles. Treat
like a subroutine call. */
! stop_func_start
@ -1519,12 +1519,14 @@ step_into_function:
}
step_range_start = sal.pc;
step_range_end = sal.end;
step_frame_address = FRAME_FP (get_current_frame ());
goto keep_going;
check_sigtramp2:
if (trap_expected
&& IN_SIGTRAMP (stop_pc, stop_func_name)
&& !IN_SIGTRAMP (prev_pc, prev_func_name))
&& !IN_SIGTRAMP (prev_pc, prev_func_name)
&& read_sp () INNER_THAN step_sp)
{
/* What has happened here is that we have just stepped the inferior
with a signal (because it is a signal which shouldn't make

View File

@ -88,6 +88,25 @@ set_check PARAMS ((char *, int));
static void
set_type_range PARAMS ((void));
static void
unk_lang_printchar PARAMS ((int, GDB_FILE *));
static void
unk_lang_printstr PARAMS ((GDB_FILE *, char *, unsigned int, int));
static struct type *
unk_lang_create_fundamental_type PARAMS ((struct objfile *, int));
static void
unk_lang_print_type PARAMS ((struct type *, char *, GDB_FILE *, int, int));
static int
unk_lang_val_print PARAMS ((struct type *, char *, CORE_ADDR, GDB_FILE *,
int, int, int, enum val_prettyprint));
static int
unk_lang_value_print PARAMS ((value_ptr, GDB_FILE *, int, enum val_prettyprint));
/* Forward declaration */
extern const struct language_defn unknown_language_defn;
extern char *warning_pre_print;
@ -1219,7 +1238,7 @@ unk_lang_create_fundamental_type (objfile, typeid)
error ("internal error - unimplemented function unk_lang_create_fundamental_type called.");
}
void
static void
unk_lang_print_type (type, varstring, stream, show, level)
struct type *type;
char *varstring;
@ -1230,7 +1249,7 @@ unk_lang_print_type (type, varstring, stream, show, level)
error ("internal error - unimplemented function unk_lang_print_type called.");
}
int
static int
unk_lang_val_print (type, valaddr, address, stream, format, deref_ref,
recurse, pretty)
struct type *type;
@ -1245,7 +1264,7 @@ unk_lang_val_print (type, valaddr, address, stream, format, deref_ref,
error ("internal error - unimplemented function unk_lang_val_print called.");
}
int
static int
unk_lang_value_print (val, stream, format, pretty)
value_ptr val;
GDB_FILE *stream;

View File

@ -26,6 +26,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "m2-lang.h"
#include "c-lang.h"
static struct type *m2_create_fundamental_type PARAMS ((struct objfile *, int));
static void m2_printstr PARAMS ((GDB_FILE *, char *, unsigned int, int));
static void m2_printchar PARAMS ((int, GDB_FILE *));
static void emit_char PARAMS ((int, GDB_FILE *, int));
/* Print the character C on STREAM as part of the contents of a literal
string whose delimiter is QUOTER. Note that that format for printing
characters and strings is language specific.

View File

@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "symtab.h"
#include "gdbtypes.h"
#include "valprint.h"
#include "m2-lang.h"
/* FIXME: For now, just explicitly declare c_val_print and use it instead */

View File

@ -45,6 +45,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
extern struct target_ops child_ops;
static void child_stop PARAMS ((void));
static void
child_fetch_inferior_registers (int r)
{
@ -224,7 +226,7 @@ child_mourn_inferior ()
generic_mourn_inferior ();
}
void
static void
child_stop ()
{
}

View File

@ -49,6 +49,14 @@ static void maintenance_time_display PARAMS ((char *, int));
static void maintenance_space_display PARAMS ((char *, int));
static void maintenance_info_command PARAMS ((char *, int));
static void print_section_table PARAMS ((bfd *, asection *, PTR));
static void maintenance_info_sections PARAMS ((char *, int));
static void maintenance_print_command PARAMS ((char *, int));
/* Set this to the maximum number of seconds to wait instead of waiting forever
in target_wait(). If this timer times out, then it generates an error and
the command is aborted. This replaces most of the need for timeouts in the

View File

@ -305,6 +305,24 @@ static int found_ecoff_debugging_info;
/* Forward declarations */
static void
add_pending PARAMS ((FDR *, char *, struct type *));
static struct mdebug_pending *
is_pending_symbol PARAMS ((FDR *, char *));
static void
pop_parse_stack PARAMS ((void));
static void
push_parse_stack PARAMS ((void));
static char *
fdr_name PARAMS ((FDR *));
static void
mdebug_psymtab_to_symtab PARAMS ((struct partial_symtab *));
static int
upgrade_type PARAMS ((int, struct type **, int, union aux_ext *, int, char *));

View File

@ -24,6 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "defs.h"
#include "symtab.h"
#include "frame.h"
#include "gdbcore.h"
/* 'start_frame' is a variable in the NINDY runtime startup routine
that contains the frame pointer of the 'start' routine (the routine

View File

@ -35,6 +35,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "obstack.h"
#include "gdb_string.h"
/* FIXME: imported from mdebugread.c */
extern void ecoff_relocate_efi PARAMS ((struct symbol *, CORE_ADDR));
/* Prototypes for local functions */
#if !defined(NO_MMALLOC) && defined(HAVE_MMAP)
@ -45,14 +49,14 @@ open_existing_mapped_file PARAMS ((char *, long, int));
static int
open_mapped_file PARAMS ((char *filename, long mtime, int mapped));
static CORE_ADDR
map_to_address PARAMS ((void));
static PTR
map_to_file PARAMS ((int));
#endif /* !defined(NO_MMALLOC) && defined(HAVE_MMAP) */
static void
add_to_objfile_sections PARAMS ((bfd *, sec_ptr, PTR));
/* Externally visible variables that are owned by this module.
See declarations in objfile.h for more info. */
@ -543,7 +547,7 @@ objfile_relocate (objfile, new_offsets)
if (SYMBOL_CLASS (sym) == LOC_CONST
&& SYMBOL_NAMESPACE (sym) == LABEL_NAMESPACE
&& STRCMP (SYMBOL_NAME (sym), MIPS_EFI_SYMBOL_NAME) == 0)
ecoff_relocate_efi (sym, ANOFFSET (delta, s->block_line_section));
ecoff_relocate_efi (sym, ANOFFSET (delta, s->block_line_section));
#endif
}
}
@ -825,59 +829,12 @@ open_mapped_file (filename, mtime, mapped)
return (fd);
}
/* Return the base address at which we would like the next objfile's
mapped data to start.
For now, we use the kludge that the configuration specifies a base
address to which it is safe to map the first mmalloc heap, and an
increment to add to this address for each successive heap. There are
a lot of issues to deal with here to make this work reasonably, including:
Avoid memory collisions with existing mapped address spaces
Reclaim address spaces when their mmalloc heaps are unmapped
When mmalloc heaps are shared between processes they have to be
mapped at the same addresses in each
Once created, a mmalloc heap that is to be mapped back in must be
mapped at the original address. I.E. each objfile will expect to
be remapped at it's original address. This becomes a problem if
the desired address is already in use.
etc, etc, etc.
*/
static CORE_ADDR
map_to_address ()
{
#if defined(MMAP_BASE_ADDRESS) && defined (MMAP_INCREMENT)
static CORE_ADDR next = MMAP_BASE_ADDRESS;
CORE_ADDR mapto = next;
next += MMAP_INCREMENT;
return (mapto);
#else
warning ("need to recompile gdb with MMAP_BASE_ADDRESS and MMAP_INCREMENT defined");
return (0);
#endif
}
static PTR
map_to_file (fd)
int fd;
{
PTR md;
CORE_ADDR mapto;
int tempfd;
md = mmalloc_attach (fd, (PTR) 0);
if (md != NULL)

View File

@ -454,6 +454,9 @@ have_minimal_symbols PARAMS ((void));
extern struct obj_section *
find_pc_section PARAMS((CORE_ADDR pc));
extern int
in_plt_section PARAMS ((CORE_ADDR, char *));
/* Traverse all object files. ALL_OBJFILES_SAFE works even if you delete
the objfile during the traversal. */

View File

@ -125,6 +125,10 @@ static struct complaint lbrac_mismatch_complaint =
#endif
/* Local function prototypes */
static void
read_minimal_symbols PARAMS ((struct objfile *, struct section_offsets *));
static void
os9k_read_ofile_symtab PARAMS ((struct partial_symtab *));

View File

@ -119,8 +119,6 @@ static struct pollfd *poll_list; /* pollfds used for waiting on /proc */
static int num_poll_list = 0; /* Number of entries in poll_list */
static int last_resume_pid = -1; /* Last pid used with procfs_resume */
/* Much of the information used in the /proc interface, particularly for
printing status information, is kept as tables of structures of the
following form. These tables can be used to map numeric values to
@ -368,6 +366,50 @@ static char *syscall_table[MAX_SYSCALLS];
/* Prototypes for local functions */
static void procfs_stop PARAMS ((void));
static int procfs_thread_alive PARAMS ((int));
static int procfs_can_run PARAMS ((void));
static void procfs_mourn_inferior PARAMS ((void));
static void procfs_fetch_registers PARAMS ((int));
static int procfs_wait PARAMS ((int, struct target_waitstatus *));
static void procfs_open PARAMS ((char *, int));
static void procfs_files_info PARAMS ((struct target_ops *));
static void procfs_prepare_to_store PARAMS ((void));
static void procfs_detach PARAMS ((char *, int));
static void procfs_attach PARAMS ((char *, int));
static void proc_set_exec_trap PARAMS ((void));
static int procfs_init_inferior PARAMS ((int));
static struct procinfo *create_procinfo PARAMS ((int));
static void procfs_store_registers PARAMS ((int));
static int procfs_xfer_memory PARAMS ((CORE_ADDR, char *, int, int, struct target_ops *));
static void procfs_kill_inferior PARAMS ((void));
static char *sigcodedesc PARAMS ((siginfo_t *));
static char *sigcodename PARAMS ((siginfo_t *));
static struct procinfo *wait_fd PARAMS ((void));
static void remove_fd PARAMS ((struct procinfo *));
static void add_fd PARAMS ((struct procinfo *));
static void set_proc_siginfo PARAMS ((struct procinfo *, int));
static void init_syscall_table PARAMS ((void));
@ -587,8 +629,10 @@ static struct procinfo *
wait_fd ()
{
struct procinfo *pi;
#ifndef LOSING_POLL
int num_fds;
int i;
#endif
set_sigint_trap (); /* Causes SIGINT to be passed on to the
attached process. */
@ -2287,7 +2331,6 @@ static int
do_attach (pid)
int pid;
{
int result;
struct procinfo *pi;
pi = (struct procinfo *) xmalloc (sizeof (struct procinfo));
@ -2411,7 +2454,6 @@ static void
do_detach (signal)
int signal;
{
int result;
struct procinfo *pi;
pi = current_procinfo;
@ -3833,7 +3875,9 @@ modify_inherit_on_fork_flag (fd, flag)
int fd;
int flag;
{
#ifdef PIOCSET
long pr_flags;
#endif
int retval;
#ifdef PIOCSET /* New method */
@ -3884,7 +3928,9 @@ modify_run_on_last_close_flag (fd, flag)
int fd;
int flag;
{
#ifdef PIOCSET
long pr_flags;
#endif
int retval;
#ifdef PIOCSET /* New method */

View File

@ -57,8 +57,6 @@
#define ACK 0x06
#define CTRLZ 0x1a
extern void notice_quit PARAMS ((void));
extern void report_transfer_performance PARAMS ((unsigned long,
time_t, time_t));

View File

@ -69,6 +69,9 @@ struct _sr_settings sr_settings = {
struct gr_settings *gr_settings = NULL;
static void usage PARAMS ((char *, char *));
static void sr_com PARAMS ((char *, int));
static void
usage(proto, junk)
char *proto;
@ -380,7 +383,7 @@ sr_get_hex_word ()
prompt from the remote is seen.
FIXME: Can't handle commands that take input. */
void
static void
sr_com (args, fromtty)
char *args;
int fromtty;

View File

@ -266,6 +266,18 @@ static void remote_interrupt_twice PARAMS ((int signo));
static void interrupt_query PARAMS ((void));
static void set_thread PARAMS ((int, int));
static int remote_thread_alive PARAMS ((int));
static void get_offsets PARAMS ((void));
static int read_frame PARAMS ((char *));
static int remote_insert_breakpoint PARAMS ((CORE_ADDR, char *));
static int remote_remove_breakpoint PARAMS ((CORE_ADDR, char *));
extern struct target_ops remote_ops; /* Forward decl */
extern struct target_ops extended_remote_ops; /* Forward decl */

View File

@ -118,7 +118,7 @@ branch_dest (opcode, instr, pc, safety)
void
single_step (signal)
int signal;
enum target_signal signal;
{
#define INSNLEN(OPCODE) 4

View File

@ -30,15 +30,19 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define USE_EXPRSTRING 0
static void scm_lreadparen PARAMS ((int));
static int scm_skip_ws PARAMS ((void));
static void scm_read_token PARAMS ((int, int));
static LONGEST scm_istring2number PARAMS ((char *, int, int));
static LONGEST scm_istr2int PARAMS ((char *, int, int));
static void scm_lreadr PARAMS ((int));
LONGEST
static LONGEST
scm_istr2int(str, len, radix)
char *str;
int len;
int radix;
{
int j;
int i = 0;
LONGEST inum = 0;
int c;
@ -78,7 +82,7 @@ scm_istr2int(str, len, radix)
return SCM_MAKINUM (inum);
}
LONGEST
static LONGEST
scm_istring2number(str, len, radix)
char *str;
int len;
@ -87,7 +91,9 @@ scm_istring2number(str, len, radix)
int i = 0;
char ex = 0;
char ex_p = 0, rx_p = 0; /* Only allow 1 exactness and 1 radix prefix */
#if 0
SCM res;
#endif
if (len==1)
if (*str=='+' || *str=='-') /* Catches lone `+' and `-' for speed */
return SCM_BOOL_F;
@ -319,7 +325,9 @@ scm_lreadr (skipping)
goto tryagain;
case '.':
default:
#if 0
callshrp:
#endif
scm_lreadr (skipping);
return;
}
@ -365,7 +373,9 @@ scm_lreadr (skipping)
case ':':
scm_read_token ('-', 0);
return;
#if 0
do_symbol:
#endif
default:
str.ptr = lexptr-1;
scm_read_token (c, 0);
@ -398,7 +408,6 @@ int
scm_parse ()
{
char* start;
struct stoken str;
while (*lexptr == ' ')
lexptr++;
start = lexptr;

View File

@ -28,10 +28,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "scm-lang.h"
#include "scm-tags.h"
#include "gdb_string.h"
#include "gdbcore.h"
static value_ptr evaluate_subexp_scm PARAMS ((struct type *, struct expression *,
int *, enum noside));
static value_ptr scm_lookup_name PARAMS ((char *));
static int in_eval_c PARAMS ((void));
static void scm_printstr PARAMS ((GDB_FILE *, char *, unsigned int, int));
extern struct type ** const (c_builtin_types[]);
extern value_ptr value_allocate_space_in_inferior PARAMS ((int));
extern value_ptr find_function_in_inferior PARAMS ((char*));
struct type *builtin_type_scm;
@ -73,7 +78,6 @@ scm_get_field (svalue, index)
LONGEST svalue;
int index;
{
value_ptr val;
char buffer[20];
read_memory (SCM2PTR (svalue) + index * TYPE_LENGTH (builtin_type_scm),
buffer, TYPE_LENGTH (builtin_type_scm));
@ -148,13 +152,13 @@ in_eval_c ()
First lookup in Scheme context (using the scm_lookup_cstr inferior
function), then try lookup_symbol for compiled variables. */
value_ptr
static value_ptr
scm_lookup_name (str)
char *str;
{
value_ptr args[3];
int len = strlen (str);
value_ptr symval, func, val;
value_ptr func, val;
struct symbol *sym;
args[0] = value_allocate_space_in_inferior (len);
args[1] = value_from_longest (builtin_type_int, len);

View File

@ -34,7 +34,7 @@ extern int scm_val_print PARAMS ((struct type*, char*, CORE_ADDR, GDB_FILE*,
extern LONGEST scm_get_field PARAMS ((LONGEST, int));
extern int scm_scmval_print PARAMS ((LONGEST, GDB_FILE *,
extern void scm_scmval_print PARAMS ((LONGEST, GDB_FILE *,
int, int, int, enum val_prettyprint));
extern int is_scmvalue_type PARAMS ((struct type*));
@ -45,6 +45,6 @@ extern struct value * scm_evaluate_string PARAMS ((char*, int));
extern struct type *builtin_type_scm;
extern int scm_parse ();
extern int scm_parse PARAMS ((void));
extern LONGEST scm_unpack PARAMS ((struct type *, char *, enum type_code));

View File

@ -26,12 +26,24 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "value.h"
#include "scm-lang.h"
#include "valprint.h"
#include "gdbcore.h"
/* FIXME: Should be in a header file that we import. */
extern int
c_val_print PARAMS ((struct type *, char *, CORE_ADDR, GDB_FILE *, int, int,
int, enum val_prettyprint));
static void scm_ipruk PARAMS ((char *, LONGEST, GDB_FILE *));
static void scm_scmlist_print PARAMS ((LONGEST, GDB_FILE *, int, int,
int, enum val_prettyprint));
static int scm_inferior_print PARAMS ((LONGEST, GDB_FILE *, int, int,
int, enum val_prettyprint));
/* Prints the SCM value VALUE by invoking the inferior, if appropraite.
Returns >= 0 on succes; retunr -1 if the inferior cannot/should not
print VALUE. */
int
static int
scm_inferior_print (value, stream, format, deref_ref, recurse, pretty)
LONGEST value;
GDB_FILE *stream;
@ -82,7 +94,7 @@ static char *scm_isymnames[] =
"#<unspecified>"
};
static int
static void
scm_scmlist_print (svalue, stream, format, deref_ref, recurse, pretty)
LONGEST svalue;
GDB_FILE *stream;
@ -95,7 +107,7 @@ scm_scmlist_print (svalue, stream, format, deref_ref, recurse, pretty)
if (recurse > 6)
{
fputs_filtered ("...", stream);
return 0;
return;
}
scm_scmval_print (SCM_CAR (svalue), stream, format,
deref_ref, recurse + 1, pretty);
@ -135,7 +147,7 @@ scm_ipruk (hdr, ptr, stream)
fprintf_filtered (stream, " 0x%x>", ptr);
}
int
void
scm_scmval_print (svalue, stream, format, deref_ref, recurse, pretty)
LONGEST svalue;
GDB_FILE *stream;
@ -191,7 +203,9 @@ scm_scmval_print (svalue, stream, format, deref_ref, recurse, pretty)
case scm_tcs_cons_gloc:
if (SCM_CDR (SCM_CAR (svalue) - 1L) == 0)
{
#if 0
SCM name;
#endif
fputs_filtered ("#<latte ", stream);
#if 1
fputs_filtered ("???", stream);
@ -351,7 +365,10 @@ scm_scmval_print (svalue, stream, format, deref_ref, recurse, pretty)
goto punk;
#endif
default:
punk:scm_ipruk ("type", svalue, stream);
#if 0
punk:
#endif
scm_ipruk ("type", svalue, stream);
}
break;
}

View File

@ -45,6 +45,10 @@ static int tcp_write PARAMS ((serial_t scb, const char *str, int len));
static void tcp_close PARAMS ((serial_t scb));
static serial_ttystate tcp_get_tty_state PARAMS ((serial_t scb));
static int tcp_set_tty_state PARAMS ((serial_t scb, serial_ttystate state));
static int tcp_return_0 PARAMS ((serial_t));
static int tcp_noflush_set_tty_state PARAMS ((serial_t, serial_ttystate,
serial_ttystate));
static void tcp_print_tty_state PARAMS ((serial_t, serial_ttystate));
/* Open up a raw tcp socket */

View File

@ -69,12 +69,18 @@ static int hardwire_readchar PARAMS ((serial_t scb, int timeout));
static int rate_to_code PARAMS ((int rate));
static int hardwire_setbaudrate PARAMS ((serial_t scb, int rate));
static int hardwire_write PARAMS ((serial_t scb, const char *str, int len));
/* FIXME: static void hardwire_restore PARAMS ((serial_t scb)); */
static void hardwire_close PARAMS ((serial_t scb));
static int get_tty_state PARAMS ((serial_t scb, struct hardwire_ttystate *state));
static int set_tty_state PARAMS ((serial_t scb, struct hardwire_ttystate *state));
static serial_ttystate hardwire_get_tty_state PARAMS ((serial_t scb));
static int hardwire_set_tty_state PARAMS ((serial_t scb, serial_ttystate state));
static int hardwire_noflush_set_tty_state PARAMS ((serial_t, serial_ttystate,
serial_ttystate));
static void hardwire_print_tty_state PARAMS ((serial_t, serial_ttystate));
static int hardwire_flush_output PARAMS ((serial_t));
static int hardwire_flush_input PARAMS ((serial_t));
static int hardwire_send_break PARAMS ((serial_t));
static int hardwire_setstopbits PARAMS ((serial_t, int));
/* Open up a real live device for serial I/O */

View File

@ -41,6 +41,9 @@ static serial_t scb_base;
char *serial_logfile = NULL;
FILE *serial_logfp = NULL;
static struct serial_ops *serial_interface_lookup PARAMS ((char *));
static void serial_logchar PARAMS ((int));
static int serial_reading = 0;
static int serial_writing = 0;

View File

@ -179,4 +179,6 @@ extern void serial_printf PARAMS ((serial_t desc, const char *, ...))
extern char *serial_logfile;
extern FILE *serial_logfp;
extern void serial_log_command PARAMS ((const char *));
#endif /* SERIAL_H */

View File

@ -38,6 +38,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define STACK_REGS 2
#define FP_REGS 4
static void
fetch_core_registers PARAMS ((char *, unsigned int, int, unsigned int));
/* Fetch one or more registers from the inferior. REGNO == -1 to get
them all. We actually fetch more than requested, when convenient,
marking them as valid so we won't fetch them again. */

View File

@ -75,6 +75,13 @@ struct field_info
} *fnlist;
};
static void
read_one_struct_field PARAMS ((struct field_info *, char **, char *,
struct type *, struct objfile *));
static char *
get_substring PARAMS ((char **, char));
static struct type *
dbx_alloc_type PARAMS ((int [2], struct objfile *));
@ -145,10 +152,6 @@ read_cpp_abbrev PARAMS ((struct field_info *, char **, struct type *,
/* new functions added for cfront support */
extern void
resolve_cfront_continuation PARAMS ((struct objfile *, struct symbol *,
char * p));
static int
copy_cfront_struct_fields PARAMS ((struct field_info *, struct type *,
struct objfile *));

View File

@ -163,6 +163,10 @@ end_stabs PARAMS ((void));
extern void
finish_global_stabs PARAMS ((struct objfile *objfile));
extern void
resolve_cfront_continuation PARAMS((struct objfile * objfile,
struct symbol * sym, char * p));
EXTERN int os9k_stabs;
@ -228,4 +232,6 @@ extern void stabsect_build_psymtabs
extern void elfstab_offset_sections PARAMS ((struct objfile *,
struct partial_symtab *));
extern void process_later PARAMS ((struct symbol *, char *));
#undef EXTERN

View File

@ -90,6 +90,8 @@ static bfd *symfile_bfd_open PARAMS ((char *));
static void find_sym_fns PARAMS ((struct objfile *));
static void decrement_reading_symtab PARAMS ((void *));
/* List of all available sym_fns. On gdb startup, each object file reader
calls add_symtab_fns() to register information on each format it is
prepared to read. */
@ -963,7 +965,7 @@ generic_load (filename, from_tty)
char buf[128];
/* enable user to specify address for downloading as 2nd arg to load */
n = sscanf(filename, "%s 0x%x", buf, &load_offset);
n = sscanf(filename, "%s 0x%lx", buf, &load_offset);
if (n > 1 )
filename = buf;
else

View File

@ -89,6 +89,9 @@ lookup_partial_symbol PARAMS ((struct partial_symtab *, const char *,
static struct symtab *
lookup_symtab_1 PARAMS ((char *));
static void
cplusplus_hint PARAMS ((char *));
/* */
/* The single non-language-specific builtin type */
@ -106,7 +109,7 @@ char no_symtab_msg[] = "No symbol table is loaded. Use the \"file\" command.";
using the new command completion feature on single quoted demangled C++
symbols. Remove when loose ends are cleaned up. FIXME -fnf */
void
static void
cplusplus_hint (name)
char *name;
{
@ -325,7 +328,7 @@ gdb_mangle_name (type, i, j)
work with the normal mechanisms. */
if (OPNAME_PREFIX_P (field_name))
{
char *opname = cplus_mangle_opname (field_name + 3, 0);
const char *opname = cplus_mangle_opname (field_name + 3, 0);
if (opname == NULL)
error ("No mangling for \"%s\"", field_name);
mangled_name_len += strlen (opname);
@ -408,7 +411,7 @@ find_pc_psymbol (psymtab, pc)
struct partial_symtab *psymtab;
CORE_ADDR pc;
{
struct partial_symbol *best = NULL, *p;
struct partial_symbol *best = NULL, *p, **pp;
CORE_ADDR best_pc;
if (!psymtab)
@ -421,30 +424,36 @@ find_pc_psymbol (psymtab, pc)
/* Search the global symbols as well as the static symbols, so that
find_pc_partial_function doesn't use a minimal symbol and thus
cache a bad endaddr. */
for (p = psymtab->objfile->global_psymbols.list + psymtab->globals_offset;
(p - (psymtab->objfile->global_psymbols.list + psymtab->globals_offset)
for (pp = psymtab->objfile->global_psymbols.list + psymtab->globals_offset;
(pp - (psymtab->objfile->global_psymbols.list + psymtab->globals_offset)
< psymtab->n_global_syms);
p++)
if (SYMBOL_NAMESPACE (p) == VAR_NAMESPACE
&& SYMBOL_CLASS (p) == LOC_BLOCK
&& pc >= SYMBOL_VALUE_ADDRESS (p)
&& SYMBOL_VALUE_ADDRESS (p) > best_pc)
{
best_pc = SYMBOL_VALUE_ADDRESS (p);
best = p;
}
for (p = psymtab->objfile->static_psymbols.list + psymtab->statics_offset;
(p - (psymtab->objfile->static_psymbols.list + psymtab->statics_offset)
pp++)
{
p = *pp;
if (SYMBOL_NAMESPACE (p) == VAR_NAMESPACE
&& SYMBOL_CLASS (p) == LOC_BLOCK
&& pc >= SYMBOL_VALUE_ADDRESS (p)
&& SYMBOL_VALUE_ADDRESS (p) > best_pc)
{
best_pc = SYMBOL_VALUE_ADDRESS (p);
best = p;
}
}
for (pp = psymtab->objfile->static_psymbols.list + psymtab->statics_offset;
(pp - (psymtab->objfile->static_psymbols.list + psymtab->statics_offset)
< psymtab->n_static_syms);
p++)
if (SYMBOL_NAMESPACE (p) == VAR_NAMESPACE
&& SYMBOL_CLASS (p) == LOC_BLOCK
&& pc >= SYMBOL_VALUE_ADDRESS (p)
&& SYMBOL_VALUE_ADDRESS (p) > best_pc)
{
best_pc = SYMBOL_VALUE_ADDRESS (p);
best = p;
}
pp++)
{
p = *pp;
if (SYMBOL_NAMESPACE (p) == VAR_NAMESPACE
&& SYMBOL_CLASS (p) == LOC_BLOCK
&& pc >= SYMBOL_VALUE_ADDRESS (p)
&& SYMBOL_VALUE_ADDRESS (p) > best_pc)
{
best_pc = SYMBOL_VALUE_ADDRESS (p);
best = p;
}
}
if (best_pc == psymtab->textlow - 1)
return 0;
return best;
@ -703,8 +712,8 @@ lookup_partial_symbol (pst, name, global, namespace)
int global;
namespace_enum namespace;
{
struct partial_symbol *start, *psym;
struct partial_symbol *top, *bottom, *center;
struct partial_symbol **start, **psym;
struct partial_symbol **top, **bottom, **center;
int length = (global ? pst->n_global_syms : pst->n_static_syms);
int do_linear_search = 1;
@ -733,11 +742,11 @@ lookup_partial_symbol (pst, name, global, namespace)
center = bottom + (top - bottom) / 2;
if (!(center < top))
abort ();
if (!do_linear_search && SYMBOL_LANGUAGE (center) == language_cplus)
if (!do_linear_search && SYMBOL_LANGUAGE (*center) == language_cplus)
{
do_linear_search = 1;
}
if (STRCMP (SYMBOL_NAME (center), name) >= 0)
if (STRCMP (SYMBOL_NAME (*center), name) >= 0)
{
top = center;
}
@ -748,11 +757,11 @@ lookup_partial_symbol (pst, name, global, namespace)
}
if (!(top == bottom))
abort ();
while (STREQ (SYMBOL_NAME (top), name))
while (STREQ (SYMBOL_NAME (*top), name))
{
if (SYMBOL_NAMESPACE (top) == namespace)
if (SYMBOL_NAMESPACE (*top) == namespace)
{
return top;
return (*top);
}
top ++;
}
@ -765,11 +774,11 @@ lookup_partial_symbol (pst, name, global, namespace)
{
for (psym = start; psym < start + length; psym++)
{
if (namespace == SYMBOL_NAMESPACE (psym))
if (namespace == SYMBOL_NAMESPACE (*psym))
{
if (SYMBOL_MATCHES_NAME (psym, name))
if (SYMBOL_MATCHES_NAME (*psym, name))
{
return (psym);
return (*psym);
}
}
}
@ -993,7 +1002,7 @@ find_pc_symtab (pc)
/* For an objfile that has its functions reordered,
find_pc_psymtab will find the proper partial symbol table
and we simply return its corresponding symtab. */
if (objfile->flags & OBJF_REORDERED)
if ((objfile->flags & OBJF_REORDERED) && objfile->psymtabs)
{
ps = find_pc_psymtab (pc);
if (ps)
@ -1208,7 +1217,8 @@ find_pc_line (pc, notcurrent)
for (i = 0; i < len; i++, item++)
{
/* Return the last line that did not start after PC. */
/* Leave prev pointing to the linetable entry for the last line
that started at or before PC. */
if (item->pc > pc)
break;
@ -2601,7 +2611,7 @@ list_symbols (regexp, class, bpt, from_tty)
register struct block *b;
register int i, j;
register struct symbol *sym;
struct partial_symbol *psym;
struct partial_symbol **psym;
struct objfile *objfile;
struct minimal_symbol *msymbol;
char *val;
@ -2664,7 +2674,7 @@ list_symbols (regexp, class, bpt, from_tty)
ALL_PSYMTABS (objfile, ps)
{
struct partial_symbol *bound, *gbound, *sbound;
struct partial_symbol **bound, **gbound, **sbound;
int keep_going = 1;
if (ps->readin) continue;
@ -2695,12 +2705,12 @@ list_symbols (regexp, class, bpt, from_tty)
/* If it would match (logic taken from loop below)
load the file and go on to the next one */
if ((regexp == NULL || SYMBOL_MATCHES_REGEXP (psym))
&& ((class == 0 && SYMBOL_CLASS (psym) != LOC_TYPEDEF
&& SYMBOL_CLASS (psym) != LOC_BLOCK)
|| (class == 1 && SYMBOL_CLASS (psym) == LOC_BLOCK)
|| (class == 2 && SYMBOL_CLASS (psym) == LOC_TYPEDEF)
|| (class == 3 && SYMBOL_CLASS (psym) == LOC_BLOCK)))
if ((regexp == NULL || SYMBOL_MATCHES_REGEXP (*psym))
&& ((class == 0 && SYMBOL_CLASS (*psym) != LOC_TYPEDEF
&& SYMBOL_CLASS (*psym) != LOC_BLOCK)
|| (class == 1 && SYMBOL_CLASS (*psym) == LOC_BLOCK)
|| (class == 2 && SYMBOL_CLASS (*psym) == LOC_TYPEDEF)
|| (class == 3 && SYMBOL_CLASS (*psym) == LOC_BLOCK)))
{
PSYMTAB_TO_SYMTAB(ps);
keep_going = 0;
@ -3079,7 +3089,7 @@ make_symbol_completion_list (text, word)
register struct objfile *objfile;
register struct block *b, *surrounding_static_block = 0;
register int i, j;
struct partial_symbol *psym;
struct partial_symbol **psym;
/* The symbol we are completing on. Points in same buffer as text. */
char *sym_text;
/* Length of sym_text. */
@ -3157,7 +3167,7 @@ make_symbol_completion_list (text, word)
{
/* If interrupted, then quit. */
QUIT;
COMPLETION_LIST_ADD_SYMBOL (psym, sym_text, sym_text_len, text, word);
COMPLETION_LIST_ADD_SYMBOL (*psym, sym_text, sym_text_len, text, word);
}
for (psym = objfile->static_psymbols.list + ps->statics_offset;
@ -3166,7 +3176,7 @@ make_symbol_completion_list (text, word)
psym++)
{
QUIT;
COMPLETION_LIST_ADD_SYMBOL (psym, sym_text, sym_text_len, text, word);
COMPLETION_LIST_ADD_SYMBOL (*psym, sym_text, sym_text_len, text, word);
}
}

View File

@ -58,13 +58,29 @@ struct thread_info
static struct thread_info *thread_list = NULL;
static int highest_thread_num;
static void thread_command PARAMS ((char * tidstr, int from_tty));
static void
thread_command PARAMS ((char * tidstr, int from_tty));
static void prune_threads PARAMS ((void));
static void
prune_threads PARAMS ((void));
static void thread_switch PARAMS ((int pid));
static void
thread_switch PARAMS ((int pid));
static struct thread_info * find_thread_id PARAMS ((int num));
static struct thread_info *
find_thread_id PARAMS ((int num));
static void
info_threads_command PARAMS ((char *, int));
static void
restore_current_thread PARAMS ((int));
static void
thread_apply_all_command PARAMS ((char *, int));
static void
thread_apply_command PARAMS ((char *, int));
void
init_thread_list ()

View File

@ -55,12 +55,24 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "gdb_stat.h"
#include <ctype.h>
extern void initialize_targets PARAMS ((void));
extern void initialize_utils PARAMS ((void));
/* Prototypes for local functions */
static void dont_repeat_command PARAMS ((char *, int));
static void source_cleanup_lines PARAMS ((PTR));
static void user_defined_command PARAMS ((char *, int));
static void init_signals PARAMS ((void));
#ifdef STOP_SIGNAL
static void stop_sig PARAMS ((int));
#endif
static void disconnect PARAMS ((int));
static char * line_completion_function PARAMS ((char *, int, char *, int));
static char * readline_line_completion_function PARAMS ((char *, int));
@ -393,7 +405,7 @@ void (*print_frame_info_listing_hook) PARAMS ((struct symtab *s, int line,
int stopline, int noerror));
/* Replaces most of query. */
int (*query_hook) PARAMS (());
int (*query_hook) PARAMS ((const char *, va_list));
/* Called from gdb_flush to flush output. */
@ -446,7 +458,7 @@ void (*call_command_hook) PARAMS ((struct cmd_list_element *c, char *cmd,
/* Takes control from error (). Typically used to prevent longjmps out of the
middle of the GUI. Usually used in conjunction with a catch routine. */
NORETURN void (*error_hook) PARAMS (()) ATTR_NORETURN;
NORETURN void (*error_hook) PARAMS ((void)) ATTR_NORETURN;
/* Where to go for return_to_top_level (RETURN_ERROR). */
@ -624,7 +636,7 @@ read_command_file (stream)
do_cleanups (cleanups);
}
extern void init_proc ();
extern void init_proc PARAMS ((void));
void (*pre_init_ui_hook) PARAMS ((void));
@ -1160,7 +1172,9 @@ execute_command (p, from_tty)
register struct cmd_list_element *c;
register enum language flang;
static int warned = 0;
/* FIXME: These should really be in an appropriate header file */
extern FILE *serial_logfp;
extern void serial_log_command PARAMS ((const char *));
free_all_values ();

View File

@ -51,6 +51,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Prototypes for local functions */
static void vfprintf_maybe_filtered PARAMS ((FILE *, const char *, va_list, int));
static void fputs_maybe_filtered PARAMS ((const char *, FILE *, int));
#if !defined (NO_MMALLOC) && !defined (NO_MMCHECK)
static void malloc_botch PARAMS ((void));
#endif
static void
fatal_dump_core PARAMS((char *, ...));
@ -217,7 +225,7 @@ free_current_contents (location)
/* ARGSUSED */
void
null_cleanup (arg)
char **arg;
PTR arg;
{
}
@ -1495,7 +1503,7 @@ fputc_unfiltered (c, stream)
static void
vfprintf_maybe_filtered (stream, format, args, filter)
FILE *stream;
char *format;
const char *format;
va_list args;
int filter;
{

View File

@ -62,6 +62,8 @@ static CORE_ADDR allocate_space_in_inferior PARAMS ((int));
static value_ptr cast_into_complex PARAMS ((struct type *, value_ptr));
static value_ptr value_arg_coerce PARAMS ((value_ptr, struct type *));
#define VALUE_SUBSTRING_START(VAL) VALUE_FRAME(VAL)
/* Flag for whether we want to abandon failed expression evals by default. */
@ -1031,7 +1033,7 @@ call_function_by_hand (function, nargs, args)
CORE_ADDR old_sp;
struct type *value_type;
unsigned char struct_return;
CORE_ADDR struct_addr;
CORE_ADDR struct_addr = 0;
struct inferior_status inf_status;
struct cleanup *old_chain;
CORE_ADDR funaddr;
@ -1698,6 +1700,7 @@ search_struct_method (name, arg1p, args, offset, static_memfuncp, type)
for (i = TYPE_NFN_FIELDS (type) - 1; i >= 0; i--)
{
char *t_field_name = TYPE_FN_FIELDLIST_NAME (type, i);
/* FIXME! May need to check for ARM demangling here */
if (strncmp(t_field_name, "__", 2)==0 ||
strncmp(t_field_name, "op", 2)==0 ||
strncmp(t_field_name, "type", 4)==0 )
@ -2214,7 +2217,7 @@ value_slice (array, lowbound, length)
done with it. */
slice_range_type = create_range_type ((struct type*) NULL,
TYPE_TARGET_TYPE (range_type),
lowerbound, lowerbound + length - 1);
lowbound, lowbound + length - 1);
if (TYPE_CODE (array_type) == TYPE_CODE_BITSTRING)
{
int i;

View File

@ -30,6 +30,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "language.h"
#include "demangle.h"
#include "annotate.h"
#include "valprint.h"
#include <errno.h>
@ -244,15 +245,60 @@ print_longest (stream, format, use_local, val_long)
{
#if defined (CC_HAS_LONG_LONG) && !defined (PRINTF_HAS_LONG_LONG)
long vtop, vbot;
unsigned int ui_max = UINT_MAX;
unsigned long long val_ulonglong;
vtop = val_long >> (sizeof (long) * HOST_CHAR_BIT);
/* Do shift in two operations so that if sizeof (long) == sizeof (LONGEST)
we can avoid warnings from picky compilers about shifts >= the size of
the shiftee in bits */
vtop = val_long >> (sizeof (long) * HOST_CHAR_BIT - 1);
vtop >>= 1;
vbot = (long) val_long;
if ((format == 'd' && (val_long < INT_MIN || val_long > INT_MAX))
|| ((format == 'u' || format == 'x') && (unsigned long long)val_long > UINT_MAX))
val_ulonglong = (unsigned long long) val_long;
switch (format)
{
fprintf_filtered (stream, "0x%lx%08lx", vtop, vbot);
return;
case 'd':
if (val_long < INT_MIN || val_long > INT_MAX)
{
if (sizeof (long long) > sizeof (long))
{
fprintf_filtered (stream, "0x%lx%08lx", vtop, vbot);
}
else
{
fprintf_filtered (stream, "%d", vbot);
}
return;
}
break;
case 'x':
if (val_ulonglong > ui_max)
{
if (sizeof (long long) > sizeof (long))
{
fprintf_filtered (stream, "0x%lx%08lx", vtop, vbot);
}
else
{
fprintf_filtered (stream, "0x%lx", vbot);
}
return;
}
break;
case 'u':
if (val_ulonglong > ui_max)
{
if (sizeof (long long) > sizeof (long))
{
fprintf_filtered (stream, "0x%lx%08lx", vtop, vbot);
}
else
{
fprintf_filtered (stream, "%lu", (unsigned long) vbot);
}
return;
}
break;
}
#endif
@ -361,8 +407,10 @@ longest_to_int (arg)
if (sizeof (LONGEST) <= sizeof (int))
return arg;
if (arg > INT_MAX || arg < INT_MIN)
error ("Value out of range.");
if (arg > INT_MAX)
error ("Value is larger than largest signed integer.");
if (arg < INT_MIN)
error ("Value is smaller than smallest signed integer.");
return arg;
}
@ -464,7 +512,12 @@ print_floating (valaddr, type, stream)
else if (len == sizeof (double))
fprintf_filtered (stream, "%.17g", (double) doub);
else
#ifdef PRINTF_HAS_LONG_DOUBLE
fprintf_filtered (stream, "%.35Lg", doub);
#else
/* This at least wins with values that are representable as doubles */
fprintf_filtered (stream, "%.17g", (double) doub);
#endif
}
/* VALADDR points to an integer of LEN bytes. Print it in hex on stream. */

View File

@ -37,7 +37,8 @@ extern int stop_print_at_null; /* Stop printing at null char? */
extern void
val_print_array_elements PARAMS ((struct type *, char *, CORE_ADDR, GDB_FILE *,
int, int, int, enum val_prettyprint, int));
int, int, int, enum val_prettyprint,
unsigned int));
extern void
val_print_type_code_int PARAMS ((struct type *, char *, GDB_FILE *));

View File

@ -41,6 +41,8 @@ static void show_values PARAMS ((char *, int));
static void show_convenience PARAMS ((char *, int));
static int vb_match PARAMS ((struct type *, int, struct type *));
/* The value-history records all the values printed
by print commands during this session. Each chunk
records 60 consecutive values. The first chunk on

View File

@ -29,7 +29,7 @@
#include "gdbcmd.h"
#include "gdbtypes.h"
#include "dis-asm.h"
#include "gdbcore.h"
/* Return the saved PC from this frame. */

View File

@ -51,6 +51,8 @@
/* Forward declaration */
extern struct target_ops child_ops;
static void child_stop PARAMS ((void));
/* The most recently read context. Inspect ContextFlags to see what
bits are valid. */
@ -765,7 +767,7 @@ child_mourn_inferior ()
/* Send a SIGINT to the process group. This acts just like the user typed a
^C on the controlling terminal. */
void
static void
child_stop ()
{
DEBUG_EVENTS (("gdb: GenerateConsoleCtrlEvent (CTRLC_EVENT, 0)\n"));

View File

@ -29,6 +29,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "gdbcmd.h"
#include "gdbtypes.h"
#include "dis-asm.h"
#include "gdbcore.h"
/* Return the saved PC from this frame.