* sh-tdep.c: Include reggroups.h.
(sh_register_reggroup_p): New function.
(sh_gdbarch_init): Add call to set_gdbarch_register_reggroup_p.
* Makefile.in (sh-tdep.o): Add dependency on reggroups.h.
* cli/cli-cmds.c: Include fcntl.h.
(source_command): Use the GDB search path to find script files.
doc/
* gdb.texinfo (Choosing files): Mention that -directory is used
for script files.
(Specifying source directories): Likewise.
(Command files): Explain how script files are found.
(sparc_address_from_register): New prototype.
(sparcnbsd_step_trap): New prototype.
* sparc-tdep.c (sparc_address_from_register): Make globally
visible.
(sparc_analyze_control_transfer): Change prototype to accept
`struct gdbarch *' as first argument. Allow for optional hnadling
for trap instructions.
(sparc_step_trap): New function.
(sparc_software_single_step): Adjust call to
sparc_analyze_control_trabsfer.
(sparc32_gdbarch_init): Initialize TDEP->step_trap.
* sparcnbsd-tdep.c (sparcnbsd_step_trap): New function.
(sparc32nbsd_init_abi): Set TDEP->step_trap.
* sparc64obsd-tdep.c (sparc64obsd_init_abi): Set TDEP->step_trap.
* sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Set TDEP->step_trap.
(hppa_skip_trampoline_code): New prototypes.
* hppa-tdep.c (struct insn_pattern): New.
(hppa_long_branch_stub, hppa_long_branch_pic_stub)
(hppa_import_stub, hppa_import_pic_stub, hppa_plt_stub): Moved
here from hppa-linux-tdep.c
(HPPA_MAX_INSN_PATTERN_LEN): New define.
(hppa_match_insns, hppa_match_insns_relaxed, hppa_in_dyncall)
(hppa_in_solib_call_trampoline, hppa_skip_trampoline_code): New
functions based on functions removed from hppa-linux-tdep.c.
* hppa-linux-tdep.c (hppa_long_branch_stub)
(hppa_long_branch_pic_stub, hppa_import_stub)
(hppa_import_pic_stub, hppa_plt_stub): Moved to hppa-tdep.c.
(insns_match_pattern_relaxed, hppa_linux_in_dyncall)
(hppa_linux_in_solib_call_trampoline)
(hppa_linux_skip_trampoline_code): Removed.
(hppa_linux_init_abi): Set TDEP->in_solib_call_tranpoline to
hppa_in_solib_call_trampoline and skip_trampoline_code to
hppa_skip_trampoline_code.
* hppabsd-tdep.c (hppabsd_init_abi): Set
TDEP->in_solib_call_trampoline and skip_trampoline_code.
2006-01-18 Jim Blandy <jimb@redhat.com>
* configure.ac: Add -Wno-pointer-sign to list of build warnings.
* configure: Regenerated.
gdb/doc/ChangeLog:
2006-01-18 Jim Blandy <jimb@redhat.com>
* gdbint.texinfo (Coding): Add entry for -Wno-pointer-sign to list
of warning flags.
(amd64_register_info): Use i386_eflags_type and i386_sse_type
where appropriate.
(AMD64_NUM_REGS): Use ARRAY_SIZE.
(amd64_register_type): Remove code to build amd_sse_type.
* i386-tdep.c (i386_eflag_type): New variable.
(i386_mmx_type, i386_sse_type): Make global.
(i386_init_types): New function.
(i386_build_mmx_type, i386_build_sse_type): Remove functions.
(i386_register_type): Return i386_eflag_type, i386_sse_type and
i386_mmx_type when appropriate.
(_initialize_i386_tdep): Call i386_init_types.
* i386-tdep.h (i386_eflags_type, i386_mmx_type, i386_sse_type):
Declare extern.
Based on a previous patch form Michal Ludvig:
2006-01-17 Jim Blandy <jimb@redhat.com>
* symtab.h (struct general_symbol_info): Use gdb_byte for
value.bytes.
* stabsread.c (define_symbol): Use gdb_byte for the buffer holding
a floating-point constant's value.
* dwarf2read.c (dwarf2_const_value): Remove casts of value buffer
to char *.
* findvar.c (read_var_value): Eliminate needless temporary.
2006-01-17 Jim Blandy <jimb@redhat.com>
* dwarf2-frame.c (dwarf2_read_section): Update forward declaration
to match prior change to dwarf2_read_section's type.
* ppc-tdep.h (PPC_MAX_EPILOGUE_INSTRUCTIONS): New define.
* rs6000-tdep.c (insn_changes_sp_or_jumps)
(rs6000_in_function_epilogue_p): New functions.
(rs6000_gdbarch_init): Set in_function_epilogue_p.
argument.
(remote_fileio_func_open, remote_fileio_func_rename)
(remote_fileio_func_unlink, remote_fileio_func_stat)
(remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
(remote_fileio_func_system): Cast the arguments to
remote_read_bytes and remote_write_bytes.
(remote_fileio_func_read, remote_fileio_func_write): Use a
gdb_byte buffer.
* remote.h (remote_read_bytes, remote_write_bytes): Update
prototypes.
* remote.c (hex2bin, bin2hex): Use gdb_byte for the BIN argument.
(threadref_to_int): Replace bogus char * cast.
(remote_unpack_thread_info_response): Use int for tag.
(remote_threads_extra_info, remote_check_symbols): Cast string
arguments to hex2bin.
(remote_wait): Use a char buffer for packets and a gdb_byte
buffer for registers.
(remote_async_wait): Likewise.
(remote_prepare_to_store, store_register_using_P)
(remote_store_registers): Use gdb_byte buffers.
(remote_write_bytes, remote_read_bytes): Use a gdb_byte pointer
for MYADDR and char buffers for strings.
(remote_xfer_partial): Add casts for string operations on READBUF.
(remote_rcmd): Cast strings passed to bin2hex.
MT_COPRO_PSEUDOREG_DIM_1, MT_COPRO_PSEUDOREG_DIM_2,
MT_COPRO_PSEUDOREG_REGS members. Adjust MT_NUM_PSEUDO_REGS.
(mt_register_name): Lazily synthesize name for coprocessor pseudo
array registers.
(mt_copro_register_type): New. Broken out of ...
(mt_register_type): ... here. Use it. Deal with coprocessor
pseudo array.
(mt_select_coprocessor): New.
(mt_pseudo_register_read, mt_pseudo_register_write): Deal with
coprocessor pseudo array.
(printf_command): Use gdb_byte.
* symfile.c (separate_debug_file_exists): Use gdb_byte.
(load_section_callback, read_target_long_array): Likewise.
(simple_read_overlay_table, simple_read_overlay_region_table)
(simple_overlay_update_1): Correct calls to read_target_long_array.
* valprint.c (partial_memory_read): Change MYADDR to a gdb_byte *.
Also change local pointers.
(val_print_string): Use gdb_byte.
Remove.
(arm_linux_init_abi): Set solib_svr4_fetch_link_map_offsets to
svr4_ilp32_fetch_link_map_offsets.
* cris-tdep.c (cris_linux_svr4_fetch_link_map_offsets): Remove
function.
(cris_gdbarch_init): Set solib_svr4_fetch_link_map_offsets to
svr4_ilp32_fetch_link_map_offsets.
* mips-linux-tdep.c (mips_linux_svr4_fetch_link_map_offsets)
(mips64_linux_svr4_fetch_link_map_offsets): Remove functions.
(mips_linux_init_abi): Set solib_svr4_fetch_link_map_offsets to
svr4_ilp32_fetch_link_map_offsets or svr4_lp64_fetch_link_map_offsets
where appropriate.
* nbsd-tdep.c (nbsd_ilp32_solib_svr4_fetch_link_map_offsets):
Simply call svr4_ilp32_fetch_link_map_offsets.
(nbsd_lp64_solib_svr4_fetch_link_map_offsets): Simply call
svr4_lp64_fetch_link_map_offsets.
* ppc-linux-tdep.c (ppc_linux_svr4_fetch_link_map_offsets): Remove
function.
(ppc_linux_init_abi): Set solib_svr4_fetch_link_map_offsets to
svr4_ilp32_fetch_link_map_offsets.
* s390-tdep.c (s390_svr4_fetch_link_map_offsets)
(s390x_svr4_fetch_link_map_offsets): Remove functions.
(s390_gdbarch_init): Set solib_svr4_fetch_link_map_offsets to
svr4_ilp32_fetch_link_map_offsets or svr4_lp64_fetch_link_map_offsets
where appropriate.
(Define): Add index entries for arguments of user-defined
commands. Move the description of flow-control commands...
(Command Files): ...to here. Document loop_break and
loop_continue.
translation problems.
* ada-lang.c (ada_value_struct_elt): Change interface and handling
of errors to avoid translation problem (and less than optimal error
messages).
(ada_value_tag, ada_tag_name_1, ada_tag_name_2, ada_evaluate_subexp):
Use new interface to ada_value_struct_elt.
* ada_lang.h (ada_value_struct_elt): Update declaration to new
interface.
* ChangeLog: remove reference to ada-tasks.c from entry of
2006-01-07.
* gdb.asm/asm-source.exp: Independently provide default values for
asm-flags and debug-flags. Use 'string equal' to do the
comparison, not the implicit expr's '==' operator. Remove
now-unneeded assignments to asm-flags. In h8300 case, place
"-gdwarf-2", not "-gdwarf2", in debug-flags, not asm-flags.
Change second argument to 'gdb_byte *'.
* target.c (target_xfer_memory_partial): Change third argument to
'gdb_byte *'.
(target_read_memory_partial, target_write_memory_partial): Change
second argument to 'gdb_byte *'.
2006-01-06 Fred Fish <fnf@specifix.com>
* objfiles.c (source.h): Include.
(free_objfile): Update comment about clear_symtab_users().
(free_objfile): Check all symtabs of objfile being freed and if
one of them is the current source symtab, call
clear_current_source_symtab_and_line().
Checkpoint/Restart for Linux.
* linux-nat.c: Add support for debugging multiple forks.
Add #include for linux-fork.h (interface spec).
(super_mourn_inferior): New function pointer.
(child_mourn_inferior): New function / target method.
(linux_target): Claim to_mourn_inferior method pointer.
(child_follow_fork): Call interface to linux-fork, conditionally
add new fork processes to list of debugged processes.
(kill_inferior): Use interface to linux-fork to kill
multiple processes.
* linux-fork.h: New file.
* linux-fork.c: New file. Support for debugging multiple forks
of the same program. Support for checkpoint and restart commands.
* infrun.c (nullify_last_target_wait_ptid): New function.
* Makefile.in: Add linux-fork.
* config/*/linux.mh: Add linux-fork.
* NEWS: Mention new functionality.
* gdb.base/checkpoint.c: New file.
* gdb.base/checkpoint.exp: New file.
* gdb.base/multi-fork.c: New file.
* gdb.base/multi-fork.exp: New file.
* gdb.base/pi.txt: New file (data for checkpoint.c test).
2006-01-04 Fred Fish <fnf@specifix.com>
* gdb.base/ptype.c (foo): Add typedef.
(intfoo): Add function.
* gdb.base/ptype1.c: New file.
* gdb.base/ptype.exp: Handle compilation and linking with two
source files. Test that proper type for "foo" is found based
on source context rather than first match found in symtabs.
from ada-lex.l to here, where it is logically more appropriate.
The original reason, however, was to prevent premature name
lookups for selector names in record aggregates.
(BLOCKNAME, TYPENAME, OBJECT_RENAMING): Remove; lexer now returns
NAME for all of these.
(VAR): New artificial token to clarify precedence rules.
(OTHERS): New lexeme.
(empty_stoken): New symbol.
(%union): Remove ssym, voidval.
(%type): Remove <voidval> type declarations.
(syntax definitions): Add aggregates.
Remove distinction between NAME, TYPENAME, BLOCKNAME, OBJECT_RENAMING.
Rename some non-terminals to be closer to reference manual usage.
Tighten up expression syntax to disallow certain non-Ada
constructions such as X and then Y or else Z.
(ada_parse): Remove initialization of left_block_context.
(write_var_from_name): Remove.
(write_var_or_type): New function, containing previous code from
defunct write_var_from_name and name_lookup.
(block_lookup): New function, moved from ada-lex.l
(select_possible_type_sym): New function, factored out of
name_lookup, which used to be in ada-lex.l.
(find_primitive_type): Ditto.
(chop_selector): Ditto.
(write_ambiguous_var): New function, factored out of defunct
write_var_from_name.
(write_selectors): New function.
(write_name_assoc): New function.
(write_exp_op_with_string): New function.
* ada-lex.l (processId): Change interface to return stoken.
(tempbuf, resize_tempbuf, tempbuf_size, tempbuf_len): Remove.
(block_lookup, name_lookup): Remove. Functionality moved to
ada-exp.y.
(state IN_STRING): Remove.
(rules): Handle string escapes in processString.
Add 'others' token.
Return all NAMEs, BLOCKNAMEs, OBJECT_RENAMINGs, TYPENAMEs in
yylval.sval (as simple strings).
All name look-ups now handled in ada-exp.y.
Introduce "::" (COLONCOLON) token and return as separate token.
(processId): Change return convention. Comment.
Leave leading "'" in place.
(processString): New function.
(find_dot_all): Add note to comment.
Fix problem that allowed match only at the end.
* ada-lang.c: Introduce aggregates.
(find_struct_field): Add new parameter to count fields skipped, and
allow other output parameters to be NULL.
(value_tag_from_contents_and_address, ada_value_struct_elt): Use
new find_struct_field.
(ada_index_struct_field, assign_aggregate, ada_is_array_type)
(num_visible_fields, ada_index_struct_field_1, ada_index_struct_field)
(num_component_specs, assign_component, assign_aggregate):
(aggregate_assign_from_choices,aggregate_assign_positional)
(aggregate_assign_others,add_component_interval):
New functions.
(ada_evaluate_subexp): Declare.
Add aggregate-related operators.
(ada_forward_operator_length): Declare.
(resolve_subexp): Add cases for new aggregate operators and OP_NAME.
Consolidate Ada operators, using ada_forward_operator_length.
(ada_search_struct_field): Search in forward order.
(ADA_OPERATORS): Add new aggregate operators.
(ada_operator_length, ada_op_name, ada_forward_operator_length)
(ada_dump_subexp_body, ada_print_subexp): Handle new aggregate
operators and OP_NAME.
(ada_type_of_array): Use longest_to_int.
(value_assign_to_component): New function.
(ada_forward_operator_length, ada_op_name, ada_dump_subexp_body):
Add OP_NAME case.
(ada_forward_operator_length, ada_dump_subexp_body):
Add OP_STRING case.
* ada-lang.h (enum ada_operator): Add OP_AGGREGATE, OP_OTHERS,
OP_CHOICES, OP_DISCRETE_RANGE, OP_POSITIONAL.
definition from unsubmitted code.
(is_lower_alphanum): New function.
(ada_decode): Add support for decoding protected object subprograms
and entries, and of entities declared inside protected object
subprograms.
Also add missing handling for__{DIGITS}+ suffixes.
Allow '$<digits>' as valid overloading suffix.
(is_name_suffix): Add handling for protected type entriy suffixes.
Also add support for protected type subprogram suffixes, but keep
it commented out for now, as there is an ambiguity between these
entities and other internally generated entities.
Allow '$<digits>' as valid overloading suffix.
(is_valid_name_for_wild_match): New function.
(wild_match): Add an exra level of verification of the entity name
before declaring it a match for the given pattern.
(ada_type_of_array, ada_evaluate_subexp): Use more proper
longest_to_int rather than cast.
(ada_evaluate_subexp): Use "invalid" rather than "illegal" in comment.
(ada_coerce_to_simple_array): Call check_size to make sure
that the object size is reasonable.
(ada_value_primitive_packed_val): Use correct location in target
buffer for extracting packed record fields that are themselves records.
(add_defn_to_vec): Do not try to replace a stub type by its full
type. Avoids a potential infinite loop.
(ada_lookup_symbol): Move return incorrectly placed return statement,
causing a loop that should be scanning all object files to only
scan the first one.
(ada_tag_name_2): New function.
(ada_tag_name_1): If no 'tsd' field found in the dispatching table,
use alternative representation.
(ada_find_renaming_symbol): Strip the function name suffix when
computing the XR type name.
(ada_to_fixed_type): Try determining the tag only if we have the
object's address.
(to_fixed_array_type): Add comments.
(ada_check_typedef): Replace expression checking whether the given
type is a stub or not by a "call" to TYPE_STUB. Clearer and more
consistent.
* ada-lang.h (ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS): Allow
'$' in addition to '.' for runtime auxiliary function name suffixes.
See changes to ada_decode above.
(struct task_control_block): Add field called_task. (This change is
to keep synchronized with our local sources; it does not affect the
public version yet.)
* ada-typeprint.c (ada_print_type): Use int_string for printing
modulus of modular type.
(print_range): Trivial editorial comment fix.
* ada-valprint.c (ada_emit_char): Use normal Ada syntax for
double quote in string.
Elena Zannoni <ezannoni@redhat.com>
PR symtab/1651
* xcoffread.c (xcoff_next_symbol_text): Check this_symtab_psymtab
for NULL before assigning this_symtab_psymtab->objfile to objfile.
(scan_xcoff_symtab): Initialize next_symbol_text_func.
(Committed by Jim Blandy)
"bsd-uthread.h".
(SPARC64OBSD_UTHREAD_FP_OFFSET, SPARC64OBSD_UTHREAD_PC_OFFSET):
New defines.
(sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): New
functions.
(sparc64obsd_init_abi): Set supply_uthread and collect_uthread.
* Makefile.in (sparc64obsd-tdep.o): Update dependencies.