Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* breakpoint.c (update_breakpoints_after_exec): Delete bp_longjmp
and bp_longjmp_resume breakpoints.
(breakpoint_address_is_meaningful): Claim bp_longjmp_resume as
meaningful.
(create_longjmp_breakpoint): Don't create bp_longjmp_resume
breakpoints. Create bp_longjmp breakpoints as momentary
breakpoints.
(enable_longjmp_breakpoint): Delete.
(set_longjmp_breakpoint): New.
(disable_longjmp_breakpoint): Delete.
(delete_longjmp_breakpoint): New.
(set_longjmp_resume_breakpoint): Delete.
(set_momentary_breakpoint_at_pc): New.
(breakpoint_re_set_one): Don't delete bp_longjmp and
bp_longjmp_resume breakpoints.
(breakpoint_re_set): Don't create longjmp and longjmp-resume
breakpoints.
* infrun.c (step_resume_breakpoint): Add comment.
(struct execution_control_state): Delete handling_longjmp member.
(init_execution_control_state). Don't clear handling_longjmp.
(context_switch): Don't context switch handling_longjmp.
(handle_inferior_event): If handling a bp_longjmp breakpoint,
create a bp_longjmp_resume breakpoint, and set it as current
step_resume_breakpoint, then step over the longjmp breakpoint. If
handling a bp_longjmp_resume breakpoint, don't delete the longjmp
breakpoint, delete the longjmp-resume breakpoint, and stop
stepping.
(currently_stepping): Remove handling_longjmp from expression.
(insert_step_resume_breakpoint_at_sal): Update comment.
(insert_longjmp_resume_breakpoint): New.
* breakpoint.h (set_momentary_breakpoint_at_pc): Declare.
(enable_longjmp_breakpoint, disable_longjmp_breakpoint): Delete
declarations.
(set_longjmp_breakpoint, delete_longjmp_breakpoint): Declare.
(set_longjmp_resume_breakpoint): Delete declaration.
* gdbthread.h (save_infrun_state): Remove handling_longjmp
parameter.
(load_infrun_state): Delete *handling_longjmp parameter.
* thread.c (save_infrun_state): Remove handling_longjmp parameter.
Update body.
(load_infrun_state): Delete *handling_longjmp parameter. Update
body.
* infcmd.c (disable_longjmp_breakpoint_cleanup): Delete.
(delete_longjmp_breakpoint_cleanup): New.
(step_1): Call set_longjmp_breakpoint instead of
enable_longjmp_breakpoint. Use delete_longjmp_breakpoint_cleanup
instead of disable_longjmp_breakpoint_cleanup when making cleanup.
(step_1_continuation): Pass thread id in the continuation args to
step_once.
(step_once): Add thread parameter. Pass thread id the the
continuation.
gdb/testsuite/
* gdb.cp/annota2.exp: Adjust to breakpoints invalidations at
different times.
|
|
* Makefile.in: Update dependencies.
* dwarf2read.c: Include "addrmap.h"
(struct dwarf2_cu): New fields RANGES_OFFSET and HAS_RANGES_OFFSET.
(dwarf2_ranges_read): New prototype.
(dwarf2_build_psymtabs_hard): Initialize and prepare PSYMTABS_ADDRMAP.
Add discontiguous range to PSYMTABS_ADDRMAP by DWARF2_RANGES_READ on
HAS_RANGES_OFFSET, otherwise add there the contiguous range.
(dwarf2_ranges_read): New parameter RANGES_PST, update the function
comment for it. Add the found ranges to RANGES_PST. New variable
BASEADDR, initialize it the common way.
(dwarf2_get_pc_bounds): Update the caller for the new parameter.
(read_partial_die): `DW_AT_ranges' now only sets RANGES_OFFSET and
HAS_RANGES_OFFSET for the later processing.
* objfiles.h (struct objfile): New field PSYMTABS_ADDRMAP.
* symtab.c: Include "addrmap.h"
(find_pc_sect_psymtab): Support reading the field PSYMTABS_ADDRMAP.
Move the psymtab locator into ...
(find_pc_sect_psymtab_closer): ... a new function.
gdb/testsuite/
* gdb.dwarf2/dw2-ranges.S: Merge the secondary section with `.fini'.
* gdb.dwarf2/dw2-ranges.exp: Compile also `dw2-ranges2.S' and
`dw2-ranges3.S' and test also their MAIN2, FUNC2 and MAIN3 symbols.
* gdb.dwarf2/dw2-ranges2.S, gdb.dwarf2/dw2-ranges3.S: New files.
|
|
* dwarf2read.c (read_partial_die): New variables BASE_ADDRESS and
BASE_ADDRESS_TYPE. Set these variables from DW_AT_LOW_PC and
DW_AT_ENTRY_PC. Set CU->HEADER.BASE_KNOWN and CU->HEADER.BASE_ADDRESS
from these variables if it was still unset.
|
|
info.abfd and info.target_desc if they are NULL.
(gdbarch_from_bfd): Remove assertion.
(set_gdbarch_from_file): Call gdbarch_find_by_info directly,
using the current target description.
(gdbarch_info_fill): Do not use default values for info->abfd
and info->target_desc.
|
|
|
|
* regcache.h (regcache_read_pc, regcache_write_pc): Add prototypes.
* regcache.c (read_pc_pid): Remove, replace by ...
(regcache_read_pc): ... this function.
(write_pc_pid): Remove, replace by ...
(regcache_write_pc): ... this function.
(read_pc, write_pc): Update.
* infrun.c (displaced_step_prepare): Replace read_pc_pid and
write_pc_pid by regcache_read_pc and regcache_write_pc.
(displaced_step_fixup): Likewise.
(resume): Likewise. Use regcache arch instead of current_gdbarch.
(prepare_to_proceed): Likewise.
(proceed): Likewise.
(adjust_pc_after_break): Likewise.
(handle_inferior_event): Likewise.
* linux-nat.c (cancel_breakpoint): Likewise.
* linux-thread-db.c (check_event): Likewise.
* aix-thread.c (aix_thread_wait): Likewise.
* tracepoint.c (trace_dump_command): Likewise.
|
|
SYMBOL_LOCATION_BATON.
|
|
notification to appear.
|
|
|
|
missing semicolon.
|
|
* target.h (struct target_ops): New field to_auxv_parse.
* auxv.c (default_auxv_parse): New, renamed from previous
target_auxv_parse.
(target_auxv_parse): Try to call target method. Fallback to
default_auxv_parse if not found.
* procfs.c (procfs_auxv_parse): New.
(init_procfs_ops): On Solaris, in 64-bit mode, install
procfs_auxv_parse.
|
|
* gdb.base/fullname.exp: New file.
* lib/gdb.exp (gdb_breakpoint): Support no-message option.
|
|
hex_string to print the address.
|
|
return the null frame ID to terminate the backtrace.
|
|
|
|
(rs6000_find_toc_address_hook): Move to rs6000-aix-tdep.c.
(SIG_FRAME_PC_OFFSET): Likewise.
(SIG_FRAME_LR_OFFSET): Likewise.
(SIG_FRAME_FP_OFFSET): Likewise.
(rs6000_push_dummy_call): Likewise.
(rs6000_return_value): Likewise.
(rs6000_convert_from_func_ptr_addr): Likewise.
(branch_dest, rs6000_software_single_step): Likewise.
(deal_with_atomic_sequence): Rename to ...
(ppc_deal_with_atomic_sequence): ... this. Adapt all callers.
Do not call branch_dest; inline required parts of that function.
(rs6000_skip_trampoline_code): Replace DEPRECATED_SYMBOL_NAME
with SYMBOL_LINKAGE_NAME.
(struct reg, regsize): Delete.
(read_memory_addr): Delete; inline into callers.
(rs6000_skip_prologue): Move after skip_prologue.
(skip_prologue): Remove prototype.
(rs6000_gdbarch_init): Remove sysv_abi variable; perform all
initialization as if this variable were true. Do not install
ppc64_sysv_abi_adjust_breakpoint_address.
* rs6000-aix-tdep.c: Include "gdb_assert.h", "gdbtypes.h",
"gdbcore.h", "target.h", "value.h", "infcall.h", "objfiles.h",
and "breakpoint.h".
(rs6000_find_toc_address_hook): Move here from rs6000-tdep.c.
(SIG_FRAME_PC_OFFSET): Likewise.
(SIG_FRAME_LR_OFFSET): Likewise.
(SIG_FRAME_FP_OFFSET): Likewise.
(rs6000_push_dummy_call): Likewise.
(rs6000_return_value): Likewise.
(rs6000_convert_from_func_ptr_addr): Likewise.
(branch_dest, rs6000_software_single_step): Likewise. Replace
tdep->text_segment_base by AIX_TEXT_SEGMENT_BASE.
(rs6000_aix_init_osabi): Install rs6000_push_dummy_call,
rs6000_return_value, and rs6000_convert_from_func_ptr_addr.
Call set_gdbarch_long_double_bit and set_gdbarch_frame_red_zone_size.
Set tdep->lr_frame_offset. Do not set tdep->text_segment_base.
* rs6000-tdep.h (rs6000_software_single_step): Remove prototype.
(AIX_TEXT_SEGMENT_BASE): New macro.
* rs6000-nat.c (exec_one_dummy_insn): Replace tdep->text_segment_base
by AIX_TEXT_SEGMENT_BASE.
* ppc-tdep.h (ppc_deal_with_atomic_sequence): Add prototype.
(struct gdbarch_tdep): Remove text_segment_base member.
* ppc-linux-tdep.c (ppc_linux_init_abi): On 64-bit, install
ppc64_sysv_abi_adjust_breakpoint_address.
* Makefile.in (rs6000-tdep.o): Update dependencies.
(rs6000-aix-tdep.o): Likewise.
|
|
Thiago Jung Bauermann <bauerman@br.ibm.com>
* cli/cli-decode.c (lookup_cmd_1): Fix indentation.
* doublest.c (convert_typed_floating): Fix typo in comment.
* dwarf2-frame.c (dwarf2_frame_cache): Likewise.
* frame-unwind.h (frame_sniffer_ftype): Likewise.
* frame.c (frame_unwind_address_in_block): Likewise.
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Likewise.
* symtab.h (struct symbol): Likewise.
* tramp-frame.h (struct trad_frame_cache): Likewise.
* value.c (allocate_repeat_value): Likewise.
|
|
TARGET_WAITKIND_LOADED events during startup (i.e. in the shell).
|
|
* parse.c (parse_exp_in_context): Don't override
expression_context_pc if get_selected_block returned a valid
block.
gdb/testsuite/
* gdb.base/macscp.exp, gdb.base/macscp1.c: Add test for printing
expressions with macros.
|
|
* arm-tdep.h (STATUS_REGISTER_SIZE): Delete.
* breakpoint.c (args_for_catchpoint_enable, current_exception_event):
Delete.
* c-typeprint.c (c_type_print_base): Delete handling of template
instantiations.
* cp-support.h (METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET)
(METHOD_PTR_TO_VOFFSET): Delete.
* defs.h (QUIT_FIXME): Delete.
* f-lang.h (DEFAULT_DOTMAIN_NAME_IN_MF77, DEFAULT_MAIN_NAME_IN_MF77)
(DEFAULT_DOTMAIN_NAME_IN_XLF_BUGGY, DEFAULT_DOTMAIN_NAME_IN_XLF): Delete.
* gdbtypes.h (struct cplus_struct_type): Delete is_inlined,
ninstantiations, and instantiations.
(TYPE_INSTANTIATIONS, TYPE_NINSTANTIATIONS, TYPE_INSTANTIATION)
(TYPE_FN_FIELD_INLINED): Delete.
* srec.h (SREC_BINARY): Delete.
* symtab.c (symbol_init_demangled_name): Delete.
* symtab.h (SYMBOL_INIT_DEMANGLED_NAME, symbol_init_demangled_name)
(SYMBOL_OBJFILE, struct exception_event_record, CURRENT_EXCEPTION_KIND)
(CURRENT_EXCEPTION_CATCH_SAL, CURRENT_EXCEPTION_CATCH_LINE)
(CURRENT_EXCEPTION_CATCH_FILE, CURRENT_EXCEPTION_CATCH_PC)
(CURRENT_EXCEPTION_THROW_SAL, CURRENT_EXCEPTION_THROW_LINE)
(CURRENT_EXCEPTION_THROW_FILE, CURRENT_EXCEPTION_THROW_PC): Delete.
* target.h (enum thread_control_capabilities): Delete tc_switch.
(target_can_switch_threads): Delete.
|
|
|
|
* exec.c (exec_set_section_address): Support p->addr != 0.
* objfiles.c (objfile_relocate): Update exec_ops section
addresses.
* symfile.c (place_section): Move exec_set_section_address call...
(default_symfile_offsets): ...to here.
|
|
* Makefile.in (ppc_linux_tdep_h): New macro.
(powerpc_32l_c, powerpc_altivec32_c, powerpc_altivec32l_c): Likewise.
(powerpc_64l_c, powerpc_altivec64_c, powerpc_altivec64l_c): Likewise.
(powerpc_e500l_c): Likewise.
(ppc-linux-nat.o): Update dependencies.
(ppc-linux-tdep.o): Update dependencies.
(rs6000-tdep.o): Update dependencies.
* ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Remove.
(ppc_linux_svr4_fetch_link_map_offsets): Remove.
(ppc_linux_gregset, ppc_linux_fpregset): Move to ppc-linux-tdep.h
(ppc_supply_reg, ppc_collect_reg): Add prototypes.
(tdesc_powerpc_e500): Remove.
* rs6000.c: Include "features/rs6000/powerpc-altivec32.c"
and "features/rs6000/powerpc-altivec64.c".
(ppc_supply_reg, ppc_collect_reg): Make global.
(variants): Use tdesc_powerpc_32 for "powerpc" and
tdesc_powerpc_altivec64 for "powerpc64".
(_initialize_rs6000_tdep): Initialize AltiVec descriptions.
* ppc-linux-tdep.h: New file.
* ppc-linux-tdep.c: Include "ppc-linux-tdep.c".
Include "features/rs6000/powerpc-32l.c".
Include "features/rs6000/powerpc-altivec32l.c".
Include "features/rs6000/powerpc-64l.c".
Include "features/rs6000/powerpc-altivec64l.c".
Include "features/rs6000/powerpc-e500l.c".
(ppc_linux_supply_gregset): New function.
(ppc_linux_collect_gregset): Handle orig_r3 and trap registers.
(ppc32_linux_gregset): Use ppc_linux_supply_gregset.
(ppc64_linux_gregset): Likewise.
(ppc_linux_sigtramp_cache): Handle orig_r3 and trap registers.
(ppc_linux_trap_reg_p): New function.
(ppc_linux_write_pc): New function.
(ppc_linux_core_read_description): New function.
(ppc_linux_init_abi): Install ppc_linux_write_pc and
ppc_linux_core_read_description. Install orig_r3 and trap
registers if present in the target description.
(_initialize_ppc_linux_tdep): Initialize Linux target descriptions.
* ppc-linux-nat.c: Include "ppc-linux-tdep.h".
(PT_ORIG_R3, PT_TRAP): Define if necessary.
(ppc_register_u_addr): Handle orig_r3 and trap registers.
(fetch_ppc_registers): Likewise.
(store_ppc_registers): Likewise.
(store_register): Likewise.
(ppc_linux_read_description): Check whether AltiVec is supported.
Check whether inferior is 32-bit or 64-bit. Return the appropriate
Linux target description.
* features/Makefile (WHICH): Use rs6000/powerpc-32l and
rs6000/powerpc-altivec32l instead of rs6000/powerpc-32.
Use rs6000/powerpc-64l and rs6000/powerpc-altivec64l instead
of rs6000/powerpc-64. Use rs6000/powerpc-e500l instead of
rs6000/powerpc-e500. Update -expedite variables accordingly.
* features/rs6000/power-spe.xml: Use regnum 73 for "acc".
* features/rs6000/powerpc-32.xml: Do not include power-altivec.xml.
* features/rs6000/powerpc-64.xml: Do not include power-altivec.xml.
* features/rs6000/powerpc-e500.c: Regenerate.
* features/rs6000/powerpc-32.c: Regenerate.
* features/rs6000/powerpc-64.c: Regenerate.
* features/rs6000/power-linux.xml: New file.
* features/rs6000/power64-linux.xml: New file.
* features/rs6000/powerpc-32l.xml: New file.
* features/rs6000/powerpc-altivec32l.xml: New file.
* features/rs6000/powerpc-64l.xml: New file.
* features/rs6000/powerpc-altivec64l.xml: New file.
* features/rs6000/powerpc-e500l.xml: New file.
* features/rs6000/powerpc-32l.c: New (generated) file.
* features/rs6000/powerpc-altivec32l.c: New (generated) file.
* features/rs6000/powerpc-64l.c: New (generated) file.
* features/rs6000/powerpc-altivec64l.c: New (generated) file.
* features/rs6000/powerpc-e500l.xml: New (generated) file.
* regformats/reg-ppc.dat: Remove.
* regformats/reg-ppc64.dat: Remove.
* regformats/rs6000/powerpc-32.dat: Remove.
* regformats/rs6000/powerpc-64.dat: Remove.
* regformats/rs6000/powerpc-e500.dat: Remove.
* regformats/rs6000/powerpc-32l.dat: New (generated) file.
* regformats/rs6000/powerpc-altivec32l.dat: New (generated) file.
* regformats/rs6000/powerpc-64l.dat: New (generated) file.
* regformats/rs6000/powerpc-altivec64l.dat: New (generated) file.
* regformats/rs6000/powerpc-e500l.dat: New (generated) file.
gdbserver/ChangeLog:
* configure.srv (powerpc*-*-linux*): Set srv_regobj to
powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
powerpc-64l.o, and powerpc-altivec64l.o.
Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
rs6000/power-linux.xml, and rs6000/power64-linux.xml
to srv_xmlfiles.
* Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
(powerpc-32l.o, powerpc-32l.c): ... these new rules.
(powerpc-32.o, powerpc-32.c): Remove, replace by ...
(powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
(powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
(powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
(reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
(powerpc-64l.o, powerpc-64l.c): ... these new rules.
(powerpc-64.o, powerpc-64.c): Remove, replace by ...
(powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
(clean): Update.
* linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
(init_registers_powerpc_32l): ... this new prototype.
(init_registers_powerpc_32): Remove, replace by ...
(init_registers_powerpc_altivec32l): ... this new prototype.
(init_registers_powerpc_e500): Remove, replace by ...
(init_registers_powerpc_e500l): ... this new prototype.
(init_registers_ppc64): Remove, replace by ...
(init_registers_powerpc_64l): ... this new prototype.
(init_registers_powerpc_64): Remove, replace by ...
(init_registers_powerpc_altivec64l): ... this new prototype.
(ppc_num_regs): Set to 73.
(PT_ORIG_R3, PT_TRAP): Define if necessary.
(ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
(ppc_cannot_store_register): Handle orig_r3 and trap.
(ppc_arch_setup): Update init_registers_... calls.
(ppc_fill_gregset): Handle orig_r3 and trap.
* inferiors.c (clear_inferiors): Reset current_inferior.
|
|
Document =thread-create and =thread-exited.
|
|
Document *thread-created and *thread-exited.
|
|
* thread.c (delete_thread): Call observer_notify_thread_exit.
* mi/mi-interp.c (mi_interpreter_init): Register mi_thread_exit as
thread_exit observer.
(mi_thread_exit): New.
|
|
for already deleted function.
* breakpoint.h (ep_is_exception_catchpoint): Likewise.
* frame.h (show_stack_frame): Remove prototype.
* stack.c (show_stack_frame): Remove empty, unused function.
* source.c (symtab_to_fullname, print_source_lines): Small fix
in comment.
* value.c (show_values): Update comments to mention "show values"
command instead of "info history".
|
|
(minsym_found): Handle minimal symbols pointing to function
descriptors. Use find_function_start_pc.
* minsyms.c (msymbol_objfile): New function.
* parse.c (write_exp_msymbol): Handle minimal symbols pointing
to function descriptors.
* symtab.c (fixup_section): Only use minimal symbol at the same
address to determine section of a symbol.
(find_function_start_pc): New function.
(find_function_start_sal): Use it.
* symtab.h (msymbol_objfile): Add prototype.
(find_function_start_pc): Likewise.
* value.c: Include "objfiles.h".
(value_fn_field): Handle minimal symbols pointing to function
descriptors.
* Makefile.in (linespec.o): Update dependencies.
(value.o): Likewise.
|
|
|
|
inside a PAD type is a bitfield.
|
|
TYPE_CODE_BOOL and TYPE_CODE_CHAR the same as TYPE_CODE_INT.
Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
Handle TYPE_CODE_METHOD the same as TYPE_CODE_FUNC.
Allow typedefs when checking for function pointer arguments.
Right-align small structs passed on the stack.
(ppc64_sysv_abi_return_value): Handle TYPE_CODE_BOOL and
TYPE_CODE_CHAR the same as TYPE_CODE_INT.
Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
|
|
* arm-tdep.c (arm_objfile_data_key, struct arm_mapping_symbol)
(struct arm_per_objfile, arm_compare_mapping_symbols): New.
(arm_pc_is_thumb): Use mapping symbols.
(arm_objfile_data_cleanup, arm_record_special_symbol): New.
(arm_gdbarch_init): Call set_gdbarch_record_special_symbol.
(_initialize_arm_tdep): Initialize arm_objfile_data_key.
* elfread.c (elf_symtab_read): Use gdbarch_record_special_symbol.
* gdbarch.sh: Add record_special_symbol.
* gdbarch.c, gdbarch.h: Regenerated.
* objfiles.c (struct objfile_data): Add cleanup member.
(register_objfile_data_with_cleanup): New function, from
register_objfile_data.
(register_objfile_data): Use it.
(objfile_free_data): Call clear_objfile_data.
(clear_objfile_data): Call cleanup functions.
* objfiles.h (register_objfile_data_with_cleanup): Declare.
|
|
|
|
with "a".
* gdb.base/varargs.exp: Correct quoting for options to gdb_compile.
|
|
lowest_pc.
|
|
gdb/
* gdbarch.sh (max_insn_length): New 'variable'.
(displaced_step_copy, displaced_step_fixup)
(displaced_step_free_closure, displaced_step_location): New
functions.
(struct displaced_step_closure): Add forward declaration.
* gdbarch.c, gdbarch.h: Regenerated.
* arch-utils.c: #include "objfiles.h".
(simple_displaced_step_copy_insn)
(simple_displaced_step_free_closure)
(displaced_step_at_entry_point): New functions.
* arch-utils.h (simple_displaced_step_copy_insn)
(simple_displaced_step_free_closure)
(displaced_step_at_entry_point): New prototypes.
* i386-tdep.c (I386_MAX_INSN_LEN): Rename to...
(I386_MAX_MATCHED_INSN_LEN): ... this.
(i386_absolute_jmp_p, i386_absolute_call_p)
(i386_ret_p, i386_call_p, i386_breakpoint_p, i386_syscall_p)
(i386_displaced_step_fixup): New functions.
(struct i386_insn, i386_match_insn): Update.
(i386_gdbarch_init): Set gdbarch_max_insn_length.
* i386-tdep.h (I386_MAX_INSN_LEN): New.
(i386_displaced_step_fixup): New prototype.
* i386-linux-tdep.c (i386_linux_init_abi): Include "arch-utils.h".
Register gdbarch_displaced_step_copy,
gdbarch_displaced_step_fixup, gdbarch_displaced_step_free_closure,
and gdbarch_displaced_step_location functions.
* infrun.c (debug_displaced): New variable.
(show_debug_displaced): New function.
(struct displaced_step_request): New struct.
(displaced_step_request_queue, displaced_step_ptid)
(displaced_step_gdbarch, displaced_step_closure)
(displaced_step_original, displaced_step_copy)
(displaced_step_saved_copy, can_use_displaced_stepping): New
variables.
(show_can_use_displaced_stepping, use_displaced_stepping)
(displaced_step_clear, cleanup_displaced_step_closure)
(displaced_step_dump_bytes, displaced_step_prepare)
(displaced_step_clear_cleanup, write_memory_ptid)
(displaced_step_fixup): New functions.
(resume): Call displaced_step_prepare.
(proceed): Call read_pc once, and remember the value. If using
displaced stepping, don't remove breakpoints.
(handle_inferior_event): Call displaced_step_fixup. Add some
debugging output. When we try to step over a breakpoint, but get
a signal to deliver to the thread instead, ensure the step-resume
breakpoint is actually inserted. If a thread hop is needed, and
displaced stepping is enabled, don't remove breakpoints.
(init_wait_for_inferior): Call displaced_step_clear.
(_initialize_infrun): Add "set debug displaced" command. Add
"maint set can-use-displaced-stepping" command. Clear
displaced_step_ptid.
* inferior.h (debug_displaced): Declare variable.
(displaced_step_dump_bytes): Declare function.
* Makefile.in (arch-utils.o, i386-linux-tdep.o): Update
dependencies.
gdb/testsuite/
* gdb.asm/asmsrc1.s: Add scratch space.
gdb/doc/
* gdb.texinfo (Debugging Output): Document "set/show debug
displaced".
(Maintenance Commands): Document "maint set/show
can-use-displaced-stepping".
|
|
(arm_force_mode_string, arm_show_fallback_mode)
(arm_show_force_mode): New.
(arm_pc_is_thumb): Honor fallback-mode and force-mode. Use
arm_frame_is_thumb.
(_initialize_arm_tdep): Add "set arm fallback-mode"
and "set arm force-mode".
* NEWS: Document new commands.
* gdb.texinfo (ARM): Document set/show arm fallback-mode
and set/show arm force-mode.
|
|
* main.h (batch_silent): Declare.
* event-top.c: Include main.h.
(gdb_setup_readline): Remove extern batch_silent declaration.
* infrun.c (normal_stop): Don't print source location when running in
--batch-silent mode.
* Makefile.in (event-top.o): Add main.h dependency.
|
|
to_watchpoint_addr_within_range.
(target_watchpoint_addr_within_range): New function.
* target.c (update_current_target): Inherit
to_watchpoint_addr_within_range, defaulting to
default_watchpoint_addr_within_range.
(default_watchpoint_addr_within_range): New function.
(debug_to_watchpoint_addr_within_range): New function.
(setup_target_debug): Set to_watchpoint_addr_within_range.
* ppc-linux-nat.c (ppc_linux_watchpoint_addr_within_range):
New function.
(_initialize_ppc_linux_nat): Set to_watchpoint_addr_within_range.
* breakpoint.c (watchpoints_triggered): Use
target_watchpoint_addr_within_range.
* gdbint.texinfo (Algorithms): Describe
target_watchpoint_addr_within_range.
|
|
|
|
(i[34567]86-*-dicos*, x86_64-*-dicos*):
Set gdb_osabi to GDB_OSABI_DICOS.
* defs.h (enum gdb_osabi): Add GDB_OSABI_DICOS.
* osabi.c (gdb_osabi_name): Add "DICOS".
* i386-dicos-tdep.c: New file.
* Makefile.in (ALL_TARGET_OBS): Add i386-dicos-tdep.o.
(ALLDEPFILES): Add i386-dicos-tdep.c.
(i386-dicos-tdep.o): New rule.
|
|
and register the fork's PTID as a thread.
|
|
* breakpoint.c (create_breakpoint): Add breakpoint_ops argument and
assign its value to the breakpoint created.
(create_breakpoints): Add breakpoint_ops argument and pass it
to create_breakpoint call.
(break_command_really): Add breakpoint_ops argument and pass/assign
appropriately.
(break_command_1): Pass NULL as ops argument.
(set_breakpoint): Pass NULL as ops argument.
(print_one_exception_catchpoint): Print <PENDING> if no loc available.
(handle_gnu_v3_exceptions): Call generic breakpoint code to insert
catch and throw catchpoints.
|
|
* corelow.c (core_open): Use gdbarch_target_signal_from_host to
translate signal numeric value from the target to GDB's enum
target_signal.
* gdbarch.c, gdbarch.h: Regenerated.
* gdbarch.sh: Added two new functions target_signal_from_host and
target_signal_to_host.
* target.h (default_target_signal_from_host,
default_target_signal_to_host): New functions - declarations.
* signals/signals.c (struct gdbarch): New declaration.
(default_target_signal_to_host, default_target_signal_from_host): New
functions.
|
|
Pedro Alves <pedro@codesourcery.com>
Based on work by Jan Kratochvil <jan.kratochvil@redhat.com> and Jeff
Johnston <jjohnstn@redhat.com>.
* NEWS: Mention attach to stopped process fix.
* infcmd.c (detach_command, disconnect_command): Discard the thread
list.
* infrun.c (handle_inferior_event): Do not ignore non-SIGSTOP while
attaching. Use signal_stop_state.
(signal_stop_state): Check stop_soon.
* linux-nat.c (kill_lwp): Declare earlier.
(pid_is_stopped, linux_nat_post_attach_wait): New.
(lin_lwp_attach_lwp): Use linux_nat_post_attach_wait. Update
comments.
(linux_nat_attach): Use linux_nat_post_attach_wait.
(detach_callback, linux_nat_detach): Improve handling for signalled
processes.
(linux_nat_pid_to_str): Always print out the LWP ID if it differs
from the process ID.
* Makefile.in (infcmd.o): Update.
2008-05-01 Jan Kratochvil <jan.kratochvil@redhat.com>
Daniel Jacobowitz <dan@codesourcery.com>
* gdb.threads/attach-into-signal.c, gdb.threads/attach-into-signal.exp,
gdb.threads/attach-stopped.c, gdb.threads/attach-stopped.exp,
gdb.threads/attachstop-mt.c, gdb.threads/attachstop-mt.exp: New.
|
|
|
|
* arm-tdep.c (arm_frame_is_thumb): New.
(arm_pc_is_thumb): Clarify comment.
(thumb_analyze_prologue): Remove PC special case.
(thumb_scan_prologue): Take a block_addr argument. Use it for
find_pc_partial_function. Remove unused variables.
(arm_scan_prologue): Use arm_frame_is_thumb. Use the block address
for find_pc_partial_function. Remove PC special case.
(arm_prologue_prev_register): Add special handling for PC and CPSR.
(arm_dwarf2_prev_register, arm_dwarf2_frame_init_reg): New.
(arm_get_next_pc): Use arm_frame_is_thumb.
(arm_write_pc): Use CPSR_T instead of 0x20.
(arm_gdbarch_init): Call dwarf2_frame_set_init_reg.
* arm-tdep.h (enum gdb_regnum): Add ARM_CPSR_REGNUM.
(CPSR_T): Define.
* dwarf2-frame.c (dwarf2_frame_prev_register): Handle
DWARF2_FRAME_REG_FN.
* dwarf2-frame.h (enum dwarf2_frame_reg_rule): Add
DWARF2_FRAME_REG_FN.
(struct dwarf2_frame_state_reg): Add FN to loc union.
* gdb.arch/thumb-prologue.exp: Do not expect a saved PC.
|
|
|
|
|