* signals/signals.c (signals): Remove conditional compilation around
Mach-specific signals. Move them to after TARGET_SIGNAL_DEFAULT.
(target_signal_from_name): Loop until TARGET_SIGNAL_LAST.
* stabsread.c (read_type): Add recognition for new attribute:
"@V;" means that an array type is actually a vector.
This is analogous to the vector flag that's been added to dwarf2.
* arm-tdep.c (arm_scan_prologue): Accept strb r(0123),[r11,#-nn],
strh r(0123),[r11,#-nn], str r(0123),[r11,#-nn], as well as
strb r(0123),[sp,#nn], strh r(0123),[sp,#nn] and
str r(0123),[sp,#nn].
(arm_skip_prologue): Ditto. Also make disassembly
order-independent by placing it in a loop.
(struct gdbarch_tdep): Replace os_ident member with abi.
(i386_gdbarch_register_os_abi): New prototype.
* i386-tdep.c (i386_abi_names): New array.
(process_note_abi_tag_sections): Removed.
(process_note_sections): New function.
(i386_elf_abi_from_note, i386_elf_abi): New functions.
(struct i386_abi_handler): New struct.
(i386_abi_handler_list): New variable.
(i386_gdbarch_register_os_abi): New function.
(i386_gdbarch_init): Adapt for the changes given above.
* gdbtypes.c : Add new builtin type for 64 bit vectors.
(build_gdbtypes): Build builtin_type_v2_float.
(_initialize_gdbtypes): Register new builtin type.
(clear_gdbarch_swap): New function.
(initialize_non_multiarch): Call.
(gdbarch_update_p): Before calling init(), swap out and clear the
existing architecture.
* gdbarch.c: Regenerate.
* configure.host: Set gdb_host_cpu to sh for all sh*.
(sh*-*-netbsdelf*): New host.
* configure.tgt: Set gdb_target_cpu to sh for all sh*.
(sh*-*-netbsdelf*): New target.
* sh-nbsd-nat.c: New file.
* sh-nbsd-tdep.c: New file.
* sh-nbsd-tdep.h: New file.
* config/sh/nbsd.mh: New file.
* config/sh/nbsd.mt: New file.
* config/sh/nm-nbsd.h: New file.
* config/sh/tm-nbsd.h: New file.
(ARM_MAX_REGISTER_VIRTUAL_SIZE): Define.
* arm-tdep.c (arm_store_return_value): Use them.
Use FP_REGISTER_RAW_SIZE when setting the FPA return value.
* remote-rdp.c (remote_rdp_fetch_register): Use
ARM_MAX_REGISTER_RAW_SIZE.
(remote_rdp_store_register): Likewise.
header (...expialidocious) out into its own function.
* dwarf2read.c (struct line_head, struct filenames, struct
directories): Replace with...
(struct line_header): New structure, containing the full
contents of the statement program header, including the
include directory and file name tables.
(read_file_scope): If we have line number info, instead of just
calling dwarf_decode_lines to do all the work, call
dwarf_decode_line_header first to get a `struct line_header'
containing the data in the statement program header, and then
pass that to dwarf_decode_lines, which will pick up where that
left off. Be sure to clean up the `struct line_header' object.
(dwarf_decode_line_header, free_line_header, add_include_dir,
add_file_name): New functions.
(dwarf_decode_lines): Move all the code to read the statement
program header into dwarf_decode_line_header. Take the line
header it built as the first argument, instead of the offset to
the compilation unit's line number info. Use the new `struct
line_header' type instead of the old structures. No need to do
cleanups here now, since we don't allocate anything.
(dwarf2_statement_list_fits_in_line_number_section,
dwarf2_line_header_too_long): New complaints.
* ui-out.c (ui_out_field_core_addr): Use the function
longest_local_hex_string_custom'to format addresses > 32 bits
wide.
* ui-out.c (ui_out_field_core_addr): Update comment.
(read_struct_type): If the type we were passed isn't empty, or
incomplete, don't read the new struct type into it; complain,
and return the original type unchanged. Take a new `type_code'
argument, which is the type code for the new type.
(read_type): Rather than storing the type's type code here, pass
it as an argument to read_struct_type, and let that take care of
storing it. That way, we don't overwrite the original type code,
so read_struct_type can use it to decide whether we're overwriting
something we shouldn't.
(complain_about_struct_wipeout): New function.
* f-exp.y: Also use new prev_lexptr variable
to improve error reporting. Based on Michael Snyder
2002-04-24 dated patch to c-exp.y.
* jv-exp.y: Likewise.
* m2-exp.y: Likewise.
* p-lang.h (is_pascal_string_type): Declaration changed,
new sixth argument of type char ** added.
* p-lang.c (is_pascal_string_type): Implementation
changed. Args length_pos, length_size, string_pos, char_size
can now be NULL. New argument arrayname set to the field
name of the char array. Return value set to char array
field index plus one.
* p-valprint.c (pascal_val_print): Adapt to new declaration of
is_pascal_string_type function.
* gdbtypes.h (TYPE_FLAG_VECTOR, TYPE_VECTOR): Define.
* gdbtypes.c (recursive_dump_type): Output the vector flag.
* dwarf2read.c (dwarf_attr_name): Handle new attribute for
vectors.
(read_array_type): Record the fact that this array type is really a
vector (i.e. are passed in by value).
* alpha-tdep.c (alpha_sigcontext_addr): New function.
(alpha_find_saved_regs): Use alpha_sigcontext_addr.
(alpha_gdbarch_init): Initialize tdep->sigcontext_addr.
* alpha-linux-tdep.c: Include frame.h.
(alpha_linux_sigcontext_addr): New function.
(alpha_linux_init_abi): Set tdep->sigcontext_addr to
alpha_linux_sigcontext_addr.
* alpha-osf1-tdep.c: Include gdbcore.h.
(alpha_osf1_sigcontext_addr): New function.
(alpha_osf1_init_abi): Set tdep->sigcontext_addr to
alpha_osf1_sigcontext_addr.
* config/alpha/tm-alpha.h (SIGCONTEXT_ADDR): Remove.
* config/alpha/tm-alphalinux.h (SIGCONTEXT_ADDR): Remove.
generic_save_call_dummy_addr.
* frame.h (generic_save_call_dummy_addr): Declare.
* blockframe.c (struct dummy_frame): Add fields call_lo and
call_hi.
(generic_find_dummy_frame): Check for PC in range call_lo to
call_hi instead of entry_point_address.
(generic_pc_in_call_dummy): Search the dummy frames for a PC in
the call_lo to call_hi range. Allow for DECR_PC_AFTER_BREAK.
(generic_save_call_dummy_addr): New function.
* sparc-tdep.c (sparc_gdbarch_skip_prologue): Kill, duplicates
sparc_skip_prologue.
(sparc_skip_prologue): Kill frameless_p arg, and use line number
information to find prologue when possible.
(sparc_prologue_frameless_p): Call examine_prologue directly.
(sparc_gdbarch_init): Update set_gdbarch_skip_prologue call.
* config/sparc/tm-sparc.h (sparc_skip_prologue): Update for killed
second argument.
(SKIP_PROLOGUE): Likewise.
GDB_TARGET_HAS_SHARED_LIBS #ifdef and update comment to
indicate that the condition it was testing is always true.
* config/alpha/nm-linux.h (GDB_TARGET_HAS_SHARED_LIBS): Remove.
* config/alpha/nm-nbsd.h (GDB_TARGET_HAS_SHARED_LIBS): Ditto.
* config/alpha/nm-osf.h (GDB_TARGET_HAS_SHARED_LIBS): Ditto.
(alpha_gdbarch_init): Set gdbarch_breakpoint_from_pc to
alpha_breakpoint_from_pc. Set gdbarch_function_start_offset
to 0.
* config/alpha/tm-alpha.h: Remove forward decls of struct type
and struct value.
(FUNCTION_START_OFFSET): Remove.
(BREAKPOINT): Ditto.
(alpha_linux_init_abi): Set gdbarch_pc_in_sigtramp to
alpha_linux_pc_in_sigtramp.
* alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): New function.
(alpha_osf1_init_abi): Set gdbarch_pc_in_sigtramp to
alpha_osf1_pc_in_sigtramp.
* alpha-tdep.c (alpha_osf_in_sigtramp): Remove.
* alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): New function.
(alphafbsd_init_abi): Set gdbarch_pc_in_sigtramp to
alphafbsd_pc_in_sigtramp.
* alphanbsd-tdep.c (alphanbsd_pc_in_sigtramp): New function.
(alphanbsd_init_abi): Set gdbarch_pc_in_sigtramp to
alphanbsd_pc_in_sigtramp.
* config/alpha/tm-alpha.h (IN_SIGTRAMP): Remove.
* config/alpha/tm-alphalinux.h (IN_SIGTRAMP): Remove.
* parser-defs.h (prev_lexptr): New external variable.
* parse.c (parse_exp_1): Set prev_lexptr to null before
calling the language-specific parser.
* c-exp.y (yylex): Set prev_lexptr to start of current token.
(yyerror): Use prev_lexptr in error reporting.
* config/i386/tm-linux.h: Define FILL_FPXREGSET.
* gregset.h: If FILL_FPXREGSET is defined, provide
gdb_fpxregset_t, supply_fpxregset, and fill_fpxregset.
* linux-proc.c (linux_do_thread_registers): If FILL_FPXREGSET
is defined, call fill_fpxregset.
* gdbserver/linux-low.c (regsets_fetch_inferior_registers),
(regsets_store_inferior_registers): Removed cast to int from
ptrace() calls.
* gdbserver/regcache.h: Added declaration of struct inferior_info.
* i960-tdep.c (register_in_window_p): New function.
(i960_find_saved_register): Use it instead of
REGISTER_IN_WINDOW_P.
* config/i960/tm-i960.h (REGISTER_IN_WINDOW): Delete.
2002-04-24 David S. Miller <davem@redhat.com>
* gdbint.texinfo (REGISTER_IN_WINDOW): Delete definition.
* symtab.h (find_stab_function_addr): Kill extern.
* minsyms.c (find_stab_function_addr): Remove from here...
* dbxread.c: ... to here, and mark it static.