* i386-tdep.c: Include "elf-bfd.h".
(process_note_abi_tag_sections): New function.
(i386_gdbarch_init): Add code to recognize various OS/ABI
combinations.
against BFD_ENDIAN_UNKNOWN.
(gdbarch_info_init): Initialize byte_order to BFD_ENDIAN_UNKNOWN.
* gdbarch.sh: Update comments on default value of byte_order.
(verify_gdbarch, gdbarch_update_p): Test byte_order against
BFD_ENDIAN_UNKNOWN.
* gdbarch.h, gdbarch.c: Re-generate.
* procfs.c (info_proc_cmd): Add the 'mappings' sub-command that
was dropped a few years ago, when procfs.c was rewritten.
(info_proc_mappings): New function, implement 'info proc mappings'.
(mappingflags): New function.
(_initialize_procfs): Document new option to 'info proc' command.
FCTRL_REGNUM, FPC_REGNUM, FSTAT_REGNUM, FTAG_REGNUM, FCS_REGNUM,
FCOFF_REGNUM, FDS_REGNUM, FDOFF_REGNUM, FOP_REGNUM,
LAST_FPU_CTRL_REGNUM, XMM0_REGNUM, XMM7_REGNUM, MXCSR_REGNUM,
IS_FP_REGNUM, IS_SSE_REGNUM): Removed.
(FP0_REGNUM): Define conditionally depending on HAVE_I387_REGS.
(SIZEOF_FPU_CTRL_REGS): Hardcode value.
* i386-tdep.h (struct gdbarch_tdep): Change such that it contains
a single member `num_xmm_regs'.
(FPC_REGNUM): New macro.
(FIRST_FPU_REGNUM, LAST_FPU_REGNUM, FISRT_XMM_REGNUM,
LAST_XMM_REGNUM, MXCSR_REGNUM, FIRST_FPU_CTRL_REGNUM,
LAST_FPU_CTRL_REGNUM): Removed.
(FCTRL_REGNUM, FSTAT_REGNUM, FTAG_REGNUM, FOP_REGNUM, XMM0_REGNUM,
MXCSR_REGNUM): Define unconditionally. Change macros to match the
comment describing the register layout.
(FISEG_REGNUM, FIOFF_REGNUM, FOSEG_REGNUM, FOOFF_REGNUM): New macros.
(FP_REGNUM_P, FPC_REGNUM_P, SSE_REGNUM_P): New macros.
(IS_FP_REGNUM, IS_FPU_CTRL_REGNUM, IS_SSE_REGNUM): Make obsolete,
unconditionally define in terms of FP_REGNUM_P, FPC_REGNUM_P and
SSE_REGNUM_P).
(FCS_REGNUM, FCOFF_REGNUM, FDS_REGNUM, FDOFF_REGNUM): Make
obsolete, unconditionally define in terms of FISEG_REGNUM,
FIOFF_REGNUM, FOSEG_REGNUM, FOOFF_REGNUM.
* i386-tdep.c (i386_gdbarch_init): Initialize `num_xmm_regs'
member of `struct gdbarch_tdep'.
* x86-64-tdep.c (i386_gdbarch_init): Change initialization of
`struct gdbarch_tdep'.
* i387-nat.c (FCS_REGNUM, FCOFF_REGNUM, FDS_REGNUM, FDOFF_REGNUM):
Replace with FISEG_REGNUM, FIOFF_REGNUM, FOSEG_REGNUM and
FOOFF_REGNUM. Use FPC_REGNUM instead of FIRST_FPU_CTRL_REGNUM.
Use XMM0_REGNUM instead of LAST_FPU_CTRL_REGNUM.
* configure.in: Check for realpath.
* defs.h (gdb_realpath): Declare.
* symtab.h (partial_symtab): Added fullname field.
* source.c (openp): Use gdb_realpath.
(forget_cached_source_info): Clear full name of each partial
symtab.
* utils.c (gdb_realpath): New function.
* symtab.c (lookup_symtab): Removed.
(lookup_symtab_1): Renamed to lookup_symtab.
(lookup_symtab): Look for real path.
(lookup_partial_symtab): Likewise.
* maint.c (match_substring): New function. Tokenizer for
'maintenance info sections' command arguments.
(match_bfd_flag): Use match_substring.
(print_bfd_section_info): Use match_substring.
(print_objfile_section_info): Use match_substring.
(maintenance_info_sections): Use match_substring.
with HP's compiler.
* gdb.hp/gdb.objdbg/objdbg01.exp: Likewise.
* gdb.hp/gdb.objdbg/objdbg02.exp: Likewise.
* gdb.hp/gdb.objdbg/objdbg03.exp: Likewise.
* gdb.hp/gdb.objdbg/objdbg04.exp: Likewise.
* gdb.hp/gdb.defects/solib-d.exp: Update to handle building with
either HP's compilers or GCC.
a SIGBUS or SIGSEGV.
* gdb.hp/gdb.base-hp/so-thresh.exp: Remove useless send_user command.
* gdb.hp/gdb.defects/bs14602.exp: Revamp slightly so that test
can be compiled with either HP's compiler or GCC.
to match current gdb output. Update due to using auto-solib-limit
for limiting instead of overloading auto-solib-add.
* gdb.hp/gdb.base-hp/so-thresh.mk: Always use "cc" to build the
test program.
* gdb.c++/templates.exp: Use "hppa64-*-*", not "hppa2.0w-*-*"
* gdb.hp/gdb.base-hp/dollar.exp: Likewise
* gdb.hp/gdb.base-hp/pxdb.exp: Likewise.
* gdb.hp/gdb.base-hp/reg-pa64.exp: Likewise.
* gdb.hp/gdb.base-hp/reg.exp: Likewise.
* gdb.hp/gdb.compat/xdb3.exp: Likewise.
* gdb.hp/gdb.defects/bs15503.exp: Likewise.
* gdb.hp/gdb.objdbg/objdbg01.exp: Likewise
* gdb.hp/gdb.objdbg/objdbg02.exp: Likewise
* gdb.hp/gdb.objdbg/objdbg03.exp: Likewise
* gdb.hp/gdb.threads-hp/usrthbasic.exp: Likewise.
* gdb.hp/gdb.threads-hp/usrthcore.exp: Likewise.
* gdb.hp/gdb.threads-hp/usrthfork.exp: Likewise.
* ppc-linux-nat.c (ppc_ptrace_cannot_fetch_store_register):
New function.
(fetch_register): New function.
(fetch_ppc_registers): New function.
(fetch_inferior_registers): New function.
(store_register): New function.
(store_ppc_registers): New function.
(store_inferior_registers): New function.
(ppc_register_u_addr): Eliminate ustart parameter and its
uses. Make static.
(PT_READ_U, PT_WRITE_U, PTRACE_XFER_TYPE): Define if needed.
Include sys/ptrace.h.
* config/powerpc/nm-linux.h (FETCH_INFERIOR_REGISTERS): Define.
(U_REGS_OFFSET, REGISTER_U_ADDR): Delete.
* config/powerpc/linux.mh (NATDEPFILES): Delete core-aout.o.
* maint.c (maintenance_info_sections): Accept new argument
'ALLOBJ', iterate over all object files.
(print_section_table): Delete. Replaced by:
(print_section_info): New function.
(print_bfd_section_info): New function.
(print_objfile_section_info): New function.
(_initialize_maint_commands): Add help for new features.
* maint.c (maintenance_info_sections): Pass string argument to
print_section_table, so that it can be used to select sections.
(print_section_table): Change PTR to void *. Look at string arg
to select sections by name and by flag attributes.
(match_bfd_flags): New function.
(print_bfd_flags): New function.
(struct remote_state): Rename field g_packet to regs;
(free_remote_state): Update.
(init_remote_state): Add pseudo-registers to table. Initialize
in_g_packet. Drop sentinal from table.
(packet_reg_from_regnum, packet_reg_from_pnum): Update.
(remote_fetch_registers): Handle registers not in the g-packet.
(remote_store_registers): Ditto.
out of the return address register, cache that in the frame's
extra info, just as if we'd gotten it from the saved regs array;
that way, it's not a lie to set the saved_pc_valid flag.
* gdbarch.c, gdbarch.h: Regenerated.
* gdbtypes.c (build_gdbtypes): If TARGET_CHAR_SIGNED is zero,
set the TYPE_FLAG_UNSIGNED bit on the type.
* s390-tdep.c (s390_gdbarch_init): On the S/390, characters
are unsigned by default.
* rs6000-tdep.c (rs6000_gdbarch_init): Same for PowerPC and
RS6000.
* gdbarch.c, gdbarch.h: Regenerated.
* gdbtypes.c (build_gdbtypes): If TARGET_CHAR_SIGNED is zero,
set the TYPE_FLAG_UNSIGNED bit on the type.
* s390-tdep.c (s390_gdbarch_init): On the S/390, characters
are unsigned by default.
* rs6000-tdep.c (rs6000_gdbarch_init): Same for PowerPC and
RS6000.
* corefile.c (do_captured_read_memory_integer,
safe_read_memory_integer): New functions.
* gdbcore.h (safe_read_memory_integer): Export.
* arm-tdep.c (arm_scan_prologue): Use safe_read_memory_integer,
to read the frame value, to capture calls to error().
the last register number, not one greater than the last register
number.
* s390-tdep.c (s390_register_virtual_type): Replace clever but
incorrect range comparison with correct, legible equivalent.
backtracing in a called function.
* gdb.base/constvars.exp: Only set lang to C++ if we're
compiling the test with HP's compilers.
* gdb.base/volatile.exp: Similarly.
filenames, which can make the readline library produce output we
don't recognize, cd to the directory first, and then complete
using nice, short relative paths.
From Richard Earnshaw <rearnsha@arm.com>:
* arm-tdep.c (arm_software_single_step): New function. Implements
software single-stepping for ARM targets.
(arm_get_next_pc, thumb_get_next_pc, bitcount, shifted_reg_val): Only
needed for software single-stepping.
* config/arm/tm-arm.h: Activate SOFTWARE_SINGLE_STEP_P.
From Richard Earnshaw <rearnsha@arm.com>:
* config/arm/nbsd.mh, config/arm/nbsd.mt, config/arm/tm-nbsd.h,
config/arm/nm-nbsd.h, config/arm/xm-nbsd.h: New files.
* armbsd-nat.c: New file.
* Makefile.in: Build it.
* configure.host, configure.tgt: Support NetBSD/arm.
From Richard Earnshaw <rearnsha@arm.com>:
* config/arm/nbsd.mh, config/arm/nbsd.mt, config/arm/tm-nbsd.h,
config/arm/nm-nbsd.h, config/arm/xm-nbsd.h: New files.
* armbsd-nat.c: New file.
* Makefile.in: Build it.
* configure.host, configure.tgt: Support NetBSD/arm.
(verify_field): New function.
(verify_field_proper_position): Delete function.
(verify_field_alignment): Delete function.
(ui_out_field_int): Update to use verify_field.
(ui_out_field_skip): Ditto.
(ui_out_field_string): Ditto.
(ui_out_field_fmt): Ditto.
(ui_out_table_begin): Initialize table.entry_level.
(ui_out_table_end): Clear table.entry_level.
(ui_out_begin): Call verify_field before pushing the new tuple or
list onto the stack. Use table.entry_level.
2001-12-13 Jackie Smith Cashion <jsmith@redhat.com>
* cli/cli-script.c (print_command_lines): Remove extra
"if", "else", "while", and "end" from show user output.
testsuite/ChangeLog
2001-12-13 Jackie Smith Cashion <jsmith@redhat.com>
* gdb.base/commands.exp (user_defined_command_test): Make "show user"
test expect string more specific.
to short so that we don't memcpy() beyond the end of this buffer.
Also, change shift value used in computing val to account for the
fact that only eight bits are used.
2001-12-11 Fred Fish <fnf@redhat.com>
* gdbtypes.c (print_bound_type): New function.
(recursive_dump_type): Print type struct code values
TYPE_CODE_BITSTRING, TYPE_CODE_COMPLEX, TYPE_CODE_TEMPLATE,
and TYPE_CODE_TEMPLATE_ARG.
(recursive_dump_type): Print type struct members
upper_bound_type, lower_bound_type, cv_type, and as_type.
Also always print the tagname member, even when it is NULL.
* testsuite/gdb.base/maint.exp: Update to match changes in
type dumping code.
* arch-utils.c (generic_register_virtual_size): New function.
* arch-utils.h: Export generic version of register_virtual_size.
* gdbarch.sh (REGISTER_VIRTUAL_SIZE): Use new function as default.
* gdbarch.c: Regenerate.
2001-12-10 Fred Fish <fnf@redhat.com>
* values.c (value_fn_field): Add physname variable. Use a minimal
symbol if we don't find a full symbol. Remove setting of the new
value's type since that was already done by allocate_value().
Remove obsolete commented out error call since callees need to
handle a NULL return, which is possible result not an error.
* eval.c (evaluate_subexp_standard): Move check for inlined
functions to precede attempt to dereference a NULL argvec[0].
2001-12-10 Fred Fish <fnf@redhat.com>
* arm-linux-tdep.c (skip_hurd_resolver): Use NULL rather than
zero in args to lookup_minimal_symbol.
* linespec.c (decode_line_1): Ditto.
* i386-linux-tdep.c (skip_hurd_resolver): Ditto.
* minsyms.c (find_stab_function_addr): Ditto.
* symfile.c (simple_read_overlay_table): Ditto.
(simple_read_overlay_region_table): Ditto.
2001-12-09 Fred Fish <fnf@redhat.com>
* gdbtypes.c (TYPE_FLAG_UNSIGNED, TYPE_FLAG_STUB): Use
TYPE_UNSIGNED and TYPE_NOSIGN to determine when to print these
rather than testing the bits directly.
(TYPE_FLAG_NOSIGN, TYPE_FLAG_TARGET_STUB, TYPE_FLAG_STATIC,
TYPE_FLAG_CONST, TYPE_FLAG_VOLATILE, TYPE_FLAG_PROTOTYPED,
TYPE_FLAG_INCOMPLETE, TYPE_FLAG_CODE_SPACE, TYPE_FLAG_DATA_SPACE,
TYPE_FLAG_VARARGS): Test for and print these bits as well.
2001-12-09 Fred Fish <fnf@redhat.com>
* gdbtypes.c (build_gdbtypes): For builtin_type_char, pass
TYPE_FLAG_NOSIGN to init_type() rather than setting it after the
type is created.
2001-12-09 Fred Fish <fnf@redhat.com>
* gdbtypes.h (TYPE_UNSIGNED, TYPE_NOSIGN, TYPE_CONST,
TYPE_VOLATILE, TYPE_INCOMPLETE): Move macros that test the
bits to location in file where the bits are defined.
(TYPE_STUB, TYPE_TARGET_STUB, TYPE_STATIC, TYPE_PROTOTYPED,
TYPE_CODE_SPACE, TYPE_DATA_SPACE): New test macros.
2001-12-09 Fred Fish <fnf@redhat.com>
* gdbtypes.c (allocate_stub_method): Replace hand crafted type
initialization with call to the init_type() function.
2001-12-08 Fred Fish <fnf@redhat.com>
* dwarf2read.c (read_typedef): Replace hand crafted type
initialization with a call to the init_type() function, which
is how the rest of gdb creates types.
2001-12-08 Fred Fish <fnf@redhat.com>
* c-lang.c (c_create_fundamental_type): For FT_CHAR, pass
TYPE_FLAG_NOSIGN to init_type() rather than setting it after the
type is created.
2001-12-08 Fred Fish <fnf@redhat.com>
* dwarf2read.c (TYPE_FLAG_VARARGS): Remove from here.
* gdbtypes.h (TYPE_FLAG_VARARGS): Add here and change value to
not collide with other flag bits.
2001-12-08 Fred Fish <fnf@redhat.com>
* dwarf2read.c (read_base_type): Rename is_unsigned to type_flags.
For unsigned types set TYPE_FLAG_UNSIGNED and pass it to
init_type().
gdb.c++/inherit.exp, gdb.c++/method.exp,
gdb.c++/namespace.exp, gdb.c++/templates.exp,
gdb.c++/userdef.exp, gdb.c++/virtfunc.exp: Updates for v3 demangler
and class layout support.
those tests as `unsupported'.
* gdb.base/structs.exp (call_struct_func): New function.
(do_function_calls): Use call_struct_func to call the functions
returning structs.
* MAINTAINERS (write-after-approval): Add self.
* d10v-tdep.c (d10v_gdbarch_init): Change size of long long to 8 bytes.
From Andrew Cagney <cagney@redhat.com>:
* d10v-tdep.c (d10v_frame_chain_valid): Check if the caller's PC
is in the entry function.
(d10v_use_struct_convention): Store multi-field struct and union
return values on the stack.
* gdb.asm/asm-source.exp: Add tests for list, search, finish, return,
next, info source, info sources, info line, global and static
variables, and static functions.
* gdb.asm/common.inc: New macro gdbasm_datavar (default definition).
* gdb.asm/i386.inc: Override default definition of gdbasm_datavar.
* gdb.asm/asmsrc1.s: Add a static function and some variables.
* gdb.asm/asmsrc2.s: Make foo2 call foo3 twice (to test 'next').
* gdb.asm/d10v.inc (gdbasm_enter): Set up frame pointer.
(gdbasm_leave): Restore frame pointer.
(gdbasm_startup): Copy stack set-up from crt0.S.
* cris-tdep.c (cris_regnums): Add DCCR_REGNUM for completeness.
(cris_examine): Add comment about solib prologue parsing.
(bdap_prefix): Read offset with correct signedness and size.
(move_to_preg_op): Don't rely on register numbering for register size.
(none_reg_mode_move_from_preg_op): Ditto.
* solib.c (solib_open): Make path relative if search for absolute path
failed. If search for relative path in solib_search_path failed, fall
back to search for basename only.
* serial.h: Add a note to serial_open.
* ser-tcp.c (tcp_open): Rewrite to use a non-blocking connect.
Allow UI and CLI to abort connect. Instead of trying 15 times
with very long timeouts, just try one connect with a maximum timeout
of 15 seconds.