* 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.