aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-09-24include/Richard Henderson7-34/+223
* elf/dwarf2.h (DW_OP_GNU_encoded_addr): New. binutils/ * dwarf.c (size_of_encoded_value, get_encoded_value): Move up. (decode_location_expression): Add section parameter. Handle DW_OP_GNU_encoded_addr. (read_and_display_attr_value): Update decode_location_expression call. (display_debug_loc, display_debug_frames): Likewise. gas/ * dw2gencfi.c (DWARF2_ADDR_SIZE): Provide default. (struct cfi_insn_data): Add ea member. (CFI_val_encoded_addr, dot_cfi_val_encoded_addr): New. (output_cfi_insn): Handle CFI_val_encoded_addr. (select_cie_for_fde): Don't match CFI_val_encoded_addr. * doc/as.texinfo (.cfi_val_encoded_addr): Document.
2008-09-24 * remote-sim.c (gdbsim_create_inferior): Fix missing parenthesis.Vladimir Prus2-1/+5
2008-09-24 PR 6913Alan Modra2-1/+6
* listing.c (print_options): Don't call fprintf without format string.
2008-09-24 PR 6913Alan Modra2-1/+6
* dwarf.c (print_dwarf_vma): Don't call printf without format string.
2008-09-24* frame.c (get_frame_register_bytes): Avoid excessive function calls.Andreas Schwab2-3/+4
2008-09-24* frame.c (get_frame_register_bytes): Take pseudo registers intoAndreas Schwab2-1/+7
account.
2008-09-24daily updateAlan Modra1-1/+1
2008-09-24*** empty log message ***gdbadmin1-1/+1
2008-09-23 * dcache.c (state_chars): New static global.Doug Evans4-14/+35
(ENTRY_INVALID,ENTRY_VALID): Renamed from ENTRY_BAD,ENTRY_OK. All uses updated. (dcache_info): Print cache state as mnemonically useful letters instead of magic numbers. * doc/gdb.texinfo (info dcache): Update.
2008-09-23 * dwarf2read.c (comp_unit_head): Reorganize for better packing.Doug Evans2-1/+5
2008-09-23daily updateAlan Modra1-1/+1
2008-09-23*** empty log message ***gdbadmin1-1/+1
2008-09-22 * symfile.c (symbol_file_add_with_addrs_or_offsets): Don't useTom Tromey2-3/+8
printf_filtered.
2008-09-22 * plugin-api.h (ld_plugin_status): Remove comma from the last item.Ian Lance Taylor2-9/+18
Use C style comment. (ld_plugin_api_version, ld_plugin_output_file_type, ld_plugin_symbol_kind, ld_plugin_symbol_visibility, ld_plugin_symbol_resolution, ld_plugin_level, ld_plugin_tag): Remove comma from the last item.
2008-09-222008-09-22 Sandra Loosemore <sandra@codesourcery.com>Sandra Loosemore2-35/+156
gdb/doc * gdb.texinfo (Packets): Add info on thread-id syntax and multiprocess extensions. <D>: Document multiprocess form of packet. <H>: Use thread-id syntax. <T>: Likewise. <vCont>: Likewise. Note this is required for multiprocess. <vKill>: New packet. (Stop Reply Packets) <T>: Use thread-id syntax. <W>: Document multiprocess form of reply. <X>: Likewise. (General Query Packets) <qC>: Use thread-id syntax. <qfThreadInfo>: Likewise. <qGetTLSAddr>: Likewise. <qP>: Likewise. <qSupported>: Add "multiprocess" feature. <qThreadExtraInfo>: Use thread-id syntax.
2008-09-22 * infrun.c (follow_exec): Don't do a generic mourn. InsteadPedro Alves3-5/+10
inline the required bits. * breakpoint.h (enum inf_context): Add inf_execd.
2008-09-22 * infrun.c (handle_inferior_event): In the follow exec case,Pedro Alves2-20/+16
context-switch before doing anything else.
2008-09-22 * top.c (any_thread_of, kill_or_detach): New functions.Pedro Alves2-8/+44
(quit_target): Iterate over all inferiors, killing or detaching accordingly.
2008-09-22 Remove the attach_flag global, and make it per-inferior.Pedro Alves15-75/+133
* inferior.h (attach_flag): Delete. (inferior_process): Declare. * solib.c (update_solib_list): Adjust. * gnu-nat.c (gnu_create_inferior, gnu_attach): Adjust. * inf-ptrace.c (inf_ptrace_detach): Adjust. (inf_ptrace_files_info): Get it from the current inferior. * inf-ttrace.c (inf_ttrace_attach): Adjust. (inf_ttrace_files_info): Get it from the current inferior. * inflow.c (terminal_inferior, terminal_ours_1, set_sigint_trap) (clear_sigint_trap): Get it from the current process. * remote.c (extended_remote_attach_1) (extended_remote_create_inferior_1): Adjust. * top.c (quit_confirm, quit_target): Get it from the current inferior. * procfs.c (do_detach): Adjust. (procfs_wait): Get it from the event inferior. (procfs_files_info): Get it from the current inferior. * nto-procfs.c (procfs_files_info): Likewise. (procfs_attach): Adjust. Set the attach_flag here. (do_attach): Don't set it here. (procfs_detach): Don't clear it. (procfs_mourn_inferior): Don't clear it. * solib-osf.c (osf_solib_create_inferior_hook): Adjust. * target.c (attach_flag): Delete. (generic_mourn_inferior): Don't clear it. * win32-nat.c (get_win32_debug_event): Get it from the event process. (do_initial_win32_stuff): Add attaching argument. Set attach_flag in the inferior accordingly. (win32_attach): Don't set the attach_flag here. Pass 1 to do_intial_win32_stuff. (win32_files_info): Get it from the current inferior. (win32_create_inferior): Dont clear attach_flag here. Pass 0 to do_intial_win32_stuff.
2008-09-22 Make the stop_soon global be per-inferior instead.Pedro Alves15-42/+137
* infcmd.c (attach_command_post_wait): Adjust. (attach_command): Likewise. * inferior.h (stop_soon): Delete. (struct inferior): Add stop_soon member. * infrun.c (stop_soon): Delete. (clear_proceed_status, start_remote) (fetch_inferior_event, handle_inferior_event): Adjust. (signal_stop_state): Don't check stop_soon here. Check in callers instead. (save_inferior_status, restore_inferior_status): Adjust. * linux-nat.c (linux_nat_resume, linux_nat_wait): Always pass signals to common code if starting up the inferior. * inferior.h (struct inferior_info): Added stop_soon member. * inferior.c (add_inferior) Clear stop_soon. * mips-tdep.c (heuristic_proc_start): Adjust. * nto-procfs.c (procfs_create_inferior): Adjust. * solib-irix.c (irix_solib_create_inferior_hook): Adjust. * solib-osf.c (osf_solib_create_inferior_hook): Adjust. * solib-sunos.c (sunos_solib_create_inferior_hook): Adjust. * solib-svr4.c (svr4_solib_create_inferior_hook): Adjust. * win32-nat.c (do_initial_win32_stuff): Adjust. * alpha-tdep.c (alpha_heuristic_proc_start): Adjust.
2008-09-22 Implement remote multi-process extensions.Pedro Alves5-118/+502
* remote.c (struct remote_state): Add extended and multi_process_aware fields. (remote_multi_process_p): New. (PACKET_vKill): New. (record_currthread): Use thread_change_ptid. Notice new inferiors. (set_thread, remote_thread_alive): Use write_ptid. (write_ptid, read_ptid): New. (remote_current_thread, remote_threads_extra_info): Use them. (remote_threads_info): Likewise. Detect new inferiors. (remote_start_remote): Add inferior to inferior list. (remote_multi_process_feature): New. (remote_protocol_features): Add "multiprocess" feature. (remote_query_supported): Pass "multiprocess+" as supported features. (remote_open_1): Clear multi_process_aware. Set extended accordingly. (remote_detach_1): Detach current process. Use extended packet format for extended-remote multi-process. Detach process from the inferior list. Only mourn after printing output. (extended_remote_attach_1): Add process to the inferior list. (remote_vcont_resume): Use write_ptid to pass the thread ids. (remote_wait): Use read_ptid. Implement the extended multi-process extension format of the 'W' and 'X' reply packets. Remove exited inferiors from inferior list. (remote_xfer_memory): Set general thread. (remote_vkill): New. (extended_remote_kill): New. (remote_mourn_1): Discard all inferiors. (select_new_thread_callback): New. (extended_remote_mourn_1): If there are more processes to debug, switch to a thread in another process, and don't pop the target. (extended_remote_create_inferior_1): Add the new process to the inferior list. (remote_stopped_by_watchpoint): Indenting. (remote_xfer_partial): Set the general thread. (remote_pid_to_str): If the remote is multi-process aware, print the process id as well as the thread id. (remote_get_thread_local_address): Use write_ptid. (init_extended_remote_ops): Register extended_remote_kill. (_initialize_remote): Register new packets. Change magic_null_ptid's, not_sent_ptid's and any_thread_ptid's pid member to 42000. * thread.c (thread_change_ptid): Also account for the inferior pid changing. * inferior.h (discard_all_inferiors): Declare. * inferior.c (discard_all_inferiors): New.
2008-09-22 * gnu-nat.c (gnu_attach): Add process to inferiors table.Pedro Alves16-10/+126
(gnu_detach): Remove it. * go32-nat.c (go32_create_inferior): Add process to gdb's inferior table. * inf-ptrace.c (inf_ptrace_follow_fork): Delete and add inferiors to inferior table accordingly. (inf_ptrace_attach): Add new process to inferior table. (inf_ptrace_detach): Remove it. * inf-ttrace.c (inf_ttrace_follow_fork): Delete and add inferiors to inferior table accordingly. (inf_ttrace_attach): Add process to inferior table. (inf_ttrace_detach): Remove it. * linux-fork.c (init_fork_list): Delete any left over inferior. (linux_fork_mourn_inferior, detach_fork_command): Also delete processes from inferior list. * monitor.c (monitor_open): Add process to inferior list. (monitor_close): Remove it. * nto-procfs.c (procfs_attach): Add process to inferior list. Find threads after pushing the target. (procfs_detach): Remove process from inferior list. (procfs_create_inferior): Add process to inferior list. * procfs.c (procfs_detach): Remove process from inferior list. (do_attach): Add process to inferior list. * remote-sim.c (sim_create_inferior): Add process to inferior list. (gdbsim_close): Remove it. * target.c (generic_mourn_inferior): If inferior_ptid is not null_ptid, remove the corresponding inferior from inferior list. * win32-nat.c (do_initial_win32_stuff): Add process to inferior list. (win32_detach): Remove it. * linux-nat.c (linux_child_follow_fork): Delete and add inferiors to inferior list accordingly. * fork-child.c (fork_inferior): Add process to inferior list. * corelow.c (CORELOW_PID): Define. (core_close): Remove core from inferior list. (core_open): Add it.
2008-09-22gdb/Pedro Alves6-2/+502
* inferior.h: Forward declare struct ui_out. Forward declare struct private_inferior. (struct inferior): New. (init_inferior_list, add_inferior, add_inferior_silent) (delete_inferior, delete_inferior_silent, detach_inferior) (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list) (valid_inferior_id, find_inferior_pid): New functions. (inferior_callback_func): New typedef. (iterate_over_inferiors, print_inferior, have_inferiors) (current_inferior): New functions. * inferior.c: New file. * Makefile.in (SFILES): Add inferior.c. (COMMON_OBS): Add inferior.o. gdb/doc/ * gdb.texinfo (Inferiors): New section.
2008-09-22 * arm-tdep.c (arm_skip_prologue): Call skip_prologue_using_salJonathan Larmour1-0/+6
instead of determining symbol and line info directly. * MAINTAINERS: Update my email address.
2008-09-22 * arm-tdep.c (arm_skip_prologue): Call skip_prologue_using_salJonathan Larmour1-22/+19
instead of determining symbol and line info directly.
2008-09-22Update my email address.Jonathan Larmour1-1/+1
2008-09-22 * symtab.c (skip_prologue_using_sal): Treat two consecutive linesDaniel Jacobowitz2-1/+39
at the same address as a prologue marker. Do not skip an entire function.
2008-09-222008-09-22 Andrew Stubbs <ams@codesourcery.com>Andrew Stubbs2-2/+7
* frame.c (get_frame_register_bytes): Comment improvments.
2008-09-22gdb/Pedro Alves7-42/+318
* linux-nat.c (linux_nat_wait): Only use set_ignore_sigint in all-stop mode. gdb/testsuite/ * lib/mi-support.exp (mi_expect_interrupt): New. (mi_reverse_list, mi_check_thread_states): New, moved and renamed from gdb.mi/mi-nonstop.exp. * gdb.mi/mi-nsintrall.exp, gdb.mi/nsintrall.c: New. * gdb.mi/mi-nonstop.exp (myreverse, check_thread_states): Moved to lib/mi-support.exp. Use mi_check_thread_states throughout. Avoid ".*" and do not require an anchor after -exec-run.
2008-09-22*** empty log message ***gdbadmin1-1/+1
2008-09-22daily updateAlan Modra1-1/+1
2008-09-21*** empty log message ***gdbadmin1-1/+1
2008-09-21daily updateAlan Modra1-1/+1
2008-09-20ld/testsuite/Richard Sandiford2-1/+5
* ld-mips-elf/reloc-estimate-1.d: Make endian-neutral.
2008-09-20 Provide virtual target "cfi" for targets supporting CFI.Jan Kratochvil7-23/+65
* ld-elf/eh-frame-hdr.d: Replace target and xfail statements by single `target: cfi'. * ld-elf/eh-group.exp: Call check_as_cfi instead of is_elf_format. * ld-elf/eh-group1.s, elf/eh-group2.s: Use more compatible section flags prefix '%'. * ld-elf/eh5.d: Replace target statement by `target: cfi' with an Alpha exception. Relax the `Code alignment factor' matching. * lib/ld-lib.exp: Rename istarget as istarget_ld. (istarget, check_as_cfi): New procedure. (run_dump_test): New comment for the virtual target `cfi'.
2008-09-20daily updateAlan Modra1-1/+1
2008-09-20*** empty log message ***gdbadmin1-1/+1
2008-09-19Add plugin functionality for link-time optimization (LTO).Cary Coutant30-81/+2923
include/: * plugin-api.h: New file. gold/: * configure.ac (plugins): Add --enable-plugins option. * configure: Regenerate. * config.in: Regenerate. * Makefile.am (LIBDL): New variable. (CCFILES): Add plugin.cc. (HFILES): Add plugin.h. (ldadd_var): Add LIBDL. * Makefile.in: Regenerate. * archive.cc: Include "plugin.h". (Archive::setup): Don't preread archive symbols when using a plugin. (Archive::get_file_and_offset): Add memsize parameter. Change callers. (Archive::get_elf_object_for_member): Call plugin hooks for claiming files. (Archive::include_member): Add symbols from plugin objects. * archive.h (Archive::get_file_and_offset): Add memsize parameter. * descriptors.cc (Descriptors::open): Check for file descriptors abandoned by plugins. (Descriptors::claim_for_plugin): New function. * descriptors.h (Descriptors::claim_for_plugin): New function. (Open_descriptor::is_claimed): New field. (claim_descriptor_for_plugin): New function. * fileread.cc (File_read::claim_for_plugin): New function. * fileread.h (File_read::claim_for_plugin): New function. (File_read::descriptor): New function. * gold.cc: Include "plugin.h". (queue_initial_tasks): Add task to call plugin hooks for generating new object files. * main.cc: Include "plugin.h". (main): Load plugin libraries. * object.h (Pluginobj): Declare. (Object::pluginobj): New function. (Object::do_pluginobj): New function. (Object::set_target): New function. * options.cc: Include "plugin.h". (General_options::parse_plugin): New function. (General_options::General_options): Initialize plugins_ field. (General_options::add_plugin): New function. * options.h (Plugin_manager): Declare. (General_options): Add --plugin option. (General_options::has_plugins): New function. (General_options::plugins): New function. (General_options::add_plugin): New function. (General_options::plugins_): New field. * plugin.cc: New file. * plugin.h: New file. * readsyms.cc: Include "plugin.h". (Read_symbols::do_read_symbols): Check for archive before checking for ELF file. Call plugin hooks to claim files. * resolve.cc (Symbol_table::resolve): Record when symbol is referenced from a real object file; force override when processing replacement files. * symtab.cc (Symbol::init_fields): Initialize in_real_elf_ field. (Symbol::init_base_object): Likewise. (Symbol::init_base_output_data): Likewise. (Symbol::init_base_output_segment): Likewise. (Symbol::init_base_constant): Likewise. (Symbol::init_base_undefined): Likewise. (Symbol::output_section): Assert that object is not a plugin. (Symbol_table::add_from_pluginobj): New function. (Symbol_table::sized_finalize_symbol): Treat symbols from plugins as undefined. (Symbol_table::sized_write_globals): Likewise. (Symbol_table::add_from_pluginobj): Instantiate template. * symtab.h (Sized_pluginobj): Declare. (Symbol::in_real_elf): New function. (Symbol::set_in_real_elf): New function. (Symbol::in_real_elf_): New field. (Symbol_table::add_from_pluginobj): New function. * testsuite/Makefile.am (AM_CFLAGS): New variable. (LIBDL): New variable. (LDADD): Add LIBDL. (check_PROGRAMS): Add plugin_test_1 and plugin_test_2. (check_SCRIPTS): Add plugin_test_1.sh and plugin_test_2.sh. (check_DATA): Add plugin_test_1.err and plugin_test_2.err. (MOSTLYCLEANFILES): Likewise. * testsuite/Makefile.in: Regenerate. * testsuite/plugin_test.c: New file. * testsuite/plugin_test_1.sh: New file. * testsuite/plugin_test_2.sh: New file.
2008-09-192008-09-19 Andrew Stubbs <ams@codesourcery.com>Andrew Stubbs2-1/+5
* MAINTAINERS: Update my email address.
2008-09-192008-09-19 Andrew Stubbs <ams@codesourcery.com>Andrew Stubbs2-0/+22
* frame.c (get_frame_register_bytes): Detect bad debug info.
2008-09-19 * write.c (TC_FORCE_RELOCATION_SUB_LOCAL): Heed md_register_arithmetic.Alan Modra9-25/+45
(TC_VALIDATE_FIX_SUB): Likewise. * config/tc-frv.h (TC_FORCE_RELOCATION_SUB_LOCAL): Likewise. * config/tc-hppa.h (TC_FORCE_RELOCATION_SUB_LOCAL): Likewise. * config/tc-mn10300.h (TC_VALIDATE_FIX_SUB): Likewise. * config/tc-sh.h (TC_VALIDATE_FIX_SUB): Likewise. (TC_FORCE_RELOCATION_SUB_LOCAL): Likewise. * config/tc-sh64.h (TC_VALIDATE_FIX_SUB): Likewise. * config/tc-xtensa.h (TC_VALIDATE_FIX_SUB): Likewise. * doc/internals.texi (TC_FORCE_RELOCATION_SUB_ABS, TC_FORCE_RELOCATION_SUB_LOCAL, TC_VALIDATE_FIX_SUB): Show new param.
2008-09-19 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Handle vxworksAlan Modra2-10/+24
_GLOBAL_OFFSET_TABLE_ in .got.plt section. Add BFD_ASSERTs.
2008-09-19 * write.c (md_register_arithmetic): Define.Alan Modra3-10/+30
(fixup_segment): Adjust TC_FORCE_RELOCATION_SUB_ABS invocation. Modify error message when registers involved. (TC_FORCE_RELOCATION_SUB_ABS): Heed md_register_arithmetic. * config/tc-sh.h (TC_FORCE_RELOCATION_SUB_ABS): Likewise.
2008-09-19daily updateAlan Modra1-1/+1
2008-09-19*** empty log message ***gdbadmin1-1/+1
2008-09-18 * elf32-xtensa.c (elf_xtensa_check_relocs): Check for negative refcount.Bob Wilson2-3/+17
2008-09-18daily updateAlan Modra1-1/+1
2008-09-18*** empty log message ***gdbadmin1-1/+1
2008-09-17 Fix a crash on uninitialized ECS->EVENT_THREAD for a newly found thread.Jan Kratochvil2-8/+18
* infrun.c (wait_for_inferior): Move this ECS->EVENT_THREAD initialization ... (fetch_inferior_event): ... and this ECS->EVENT_THREAD initialization ... (handle_inferior_event): ... here after the add_thread call together with the local adjust_pc_after_break and reinit_frame_cache calls.
2008-09-17bfd/Jan Kratochvil8-4/+156
PR 6893 - Do not consider FDEs for discarded sections as invalid. * elf-eh-frame.c (_bfd_elf_parse_eh_frame): New REQUIRE_CLEARED_RELOCS. Consider FDEs with cleared relocations as valid and ignorable. ld/testsuite/ * ld-elf/eh-group.exp, ld-elf/eh-group1.s, ld-elf/eh-group2.s: New test. binutils/ Suppress warnings on NONE relocations to discarded sections. * readelf.c (is_none_reloc): New function. (debug_apply_relocations): Ignore is_none_reloc() relocations.