Joel Brobecker [Fri, 16 Sep 2011 19:09:17 +0000 (19:09 +0000)]
[Ada] Store the Ada task list in per-inferior data
Instead of storing "the" Ada task list using a static global
in ada-tasks, this patch stores that information inside
per-inferior data.
We also add in the per-inferior data the location and type of
data used in the runtime to store that task list. Previously,
this information was saved as a static variable in one of the
functions, but this approach has the major flaw that it does
not handle multi-inferior debugging.
gdb/ChangeLog:
* ada-tasks.c (ada_tasks_check_symbol_table, task_list): Delete.
(enum ada_known_tasks_kind, struct ada_tasks_inferior_data): New.
(ada_tasks_inferior_data_handle): New static global.
(get_ada_tasks_inferior_data): New function.
(ada_get_task_number, get_task_number_from_id, valid_task_id)
(ada_get_environment_task, iterate_over_live_ada_tasks)
(add_ada_task, read_known_tasks_array, read_known_tasks_list):
Adjust.
(ada_set_current_inferior_known_tasks_addr): New function.
(read_known_tasks, ada_build_task_list, short_task_info)
(info_tasks, info_task, info_tasks_command, task_command_1)
(task_command, ada_task_list_changed): Adjust.
(ada_tasks_invalidate_inferior_data): New function.
(ada_normal_stop_observer, ada_new_objfile_observer): Adjust.
(_initialize_tasks): Set ada_tasks_inferior_data_handle.
* ada-lang.h (struct inferior): Add declaration.
(ada_task_list_changed): Update profile.
* remote-wtx-pd.c: #include "inferior.h".
(switch_to_pd_internal): Update call to ada_task_list_changed.
Joel Brobecker [Fri, 16 Sep 2011 19:09:07 +0000 (19:09 +0000)]
[Ada] Make the ATCB type info program-space-specific
This module caches the type description of various elements of
the Ada Task Control Block (ATCB). This cache was implemented
as static globals, which is wrong in the case where we have
multiple inferiors. This change cleans things up a bit by moving
some of these static globals to a per-program-space area.
gdb/ChangeLog:
* ada-tasks.c: #include "progspace.h" and "objfiles.h".
(atcb_type, atcb_common_type, atcb_ll_type, atcb_call_type)
(atcb_fieldno): Delete these static globals.
(struct ada_tasks_pspace_data): New struct.
(ada_tasks_pspace_data_handle): New static global.
(get_ada_tasks_pspace_data): New function.
(ada_tasks_invalidate_pspace_data): New function.
(get_tcb_types_info, ptid_from_atcb_common, read_atcb)
(read_known_tasks_list, ada_new_objfile_observer): Adjust.
(_initialize_tasks): Create this module's per-progspace
data handle.
Joel Brobecker [Fri, 16 Sep 2011 19:08:50 +0000 (19:08 +0000)]
[Ada] Rename struct tcb_fieldnos into atcb_fieldnos.
`atcb' is clearer than `tcb', as it stands for Ada Task Control
Block. This is also consistent with the rest of the code, which
uses atcb...
gdb/ChangeLog:
* ada-tasks.c (struct atcb_fieldnos): Renames struct tcb_fieldnos.
H.J. Lu [Fri, 16 Sep 2011 16:07:16 +0000 (16:07 +0000)]
Only run pr12975/pr13177 for *-*-linux* and *-*-gnu* targets.
2011-09-16 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/pr12975.d: Only run for *-*-linux* and *-*-gnu*
targets.
* ld-elf/pr13177.d: Likewise.
* ld-elf/pr13177.s: Avoid relocations in text sections.
Tristan Gingold [Fri, 16 Sep 2011 15:41:09 +0000 (15:41 +0000)]
2011-09-16 Tristan Gingold <gingold@adacore.com>
* fork-child.c (fork_inferior): Update comment. Use alloca
instead of xmalloc for argv. Move len and shell_command
declarations in the block where they are used.
Only call execvp. Factorize failure code.
Jan Kratochvil [Fri, 16 Sep 2011 14:36:55 +0000 (14:36 +0000)]
gdb/
Code cleanup.
* parse.c (write_exp_elt): Change argument to pass a pointer of union
`exp_element' instead of an element of the same and make the function
static.
(write_exp_elt_opcode, write_exp_elt_sym, write_exp_elt_block)
(write_exp_elt_objfile, write_exp_elt_longcst, write_exp_elt_dblcst)
(write_exp_elt_decfloatcst, write_exp_elt_type, write_exp_elt_intern):
Change argument of `write_exp_elt' function call.
Remove extra spaces from comments.
* parser-defs.h (write_exp_elt): Remove prototype.
Hui Zhu [Fri, 16 Sep 2011 09:07:01 +0000 (09:07 +0000)]
2011-09-16 Hui Zhu <teawater@gmail.com>
* gdb.texinfo (Tracepoint Restrictions): Change *$esp@300
to *(unsigned char *)$esp@300.
Jan Kratochvil [Fri, 16 Sep 2011 07:34:27 +0000 (07:34 +0000)]
gdb/testsuite/
* gdb.python/py-evthreads.exp (Run to breakpoint 1)
(reached breakpoint 2, reached breakpoint 3): Update expected output.
H.J. Lu [Fri, 16 Sep 2011 04:23:19 +0000 (04:23 +0000)]
Remove the group section if all members are removed.
binutils/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/13180
* objcopy.c (is_strip_section_1): New.
(is_strip_section): Use it. Remove the group section if all
members are removed.
binutils/testsuite/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/13180
* binutils-all/group-6.d: New.
* binutils-all/group-6.s: Likewise.
* binutils-all/objcopy.exp: Run group-6 for ELF targrts.
H.J. Lu [Fri, 16 Sep 2011 01:17:16 +0000 (01:17 +0000)]
Also hide symbols without PLT nor GOT references.
bfd/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13177
* elflink.c (elf_gc_sweep_symbol): Also hide symbols without PLT
nor GOT references.
ld/testsuite/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13177
* ld-elf/pr13177.d: New.
* ld-elf/pr13177.s: Likewise.
H.J. Lu [Fri, 16 Sep 2011 01:15:20 +0000 (01:15 +0000)]
Check if a symbol is hidden by linker script.
bfd/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* bfd-in.h (bfd_elf_size_dynamic_sections): Remove pointer
to struct bfd_elf_version_tree.
* elflink.c (elf_info_failed): Remove verdefs.
(_bfd_elf_export_symbol): Updated.
_bfd_elf_link_assign_sym_version): Likewise.
(bfd_elf_size_dynamic_sections): Remove pointer to struct
bfd_elf_version_tree. Updated.
(bfd_elf_gc_mark_dynamic_ref_symbol): Check if a symbol is hidden
by linker script.
* linker.c (bfd_hide_sym_by_version): New.
* bfd-in2.h: Regenerated.
include/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* bfdlink.h (bfd_link_info): Add version_info.
ld/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* ldlang.c (lang_elf_version_info): Removed.
(lang_register_vers_node): Replace lang_elf_version_info with
link_info.version_info.
(lang_add_vers_depend): Likewise.
* pe-dll.c (process_def_file_and_drectve): Likewise.
* emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise.
* ldlang.h (lang_elf_version_info): Removed.
* plugin.c (is_visible_from_outside): Check if symbol is hidden
by version script.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Remove lang_elf_version_info.
ld/testsuite/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* ld-elf/pr12975.d: New.
* ld-elf/pr12975.s: Likewise.
* ld-elf/pr12975.t: Likewise.
gdbadmin [Fri, 16 Sep 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 16 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
Stan Shebs [Thu, 15 Sep 2011 22:54:13 +0000 (22:54 +0000)]
* server.h (struct emit_ops): Add compare-goto fields.
* tracepoint.c (gdb_agent_op_sizes): New table.
(emit_eq_goto): New function.
(emit_ne_goto): New function.
(emit_lt_goto): New function.
(emit_le_goto): New function.
(emit_gt_goto): New function.
(emit_ge_goto): New function.
(is_goto_target): New function.
(compile_bytecodes): Recognize special cases of compare-goto
combinations and call specialized emitters for them.
* linux-x86-low.c (amd64_emit_eq_goto): New function.
(amd64_emit_ne_goto): New function.
(amd64_emit_lt_goto): New function.
(amd64_emit_le_goto): New function.
(amd64_emit_gt_goto): New function.
(amd64_emit_ge_goto): New function.
(amd64_emit_ops): Add the new functions.
(i386_emit_eq_goto): New function.
(i386_emit_ne_goto): New function.
(i386_emit_lt_goto): New function.
(i386_emit_le_goto): New function.
(i386_emit_gt_goto): New function.
(i386_emit_ge_goto): New function.
(i386_emit_ops): Add the new functions.
Paul Koning [Thu, 15 Sep 2011 18:33:15 +0000 (18:33 +0000)]
* python/py-cmd.c (gdbpy_string_to_argv): Decrement reference
count of item appended to list.
* python/py-type.c (typy_fields): Likewise.
Paul Koning [Thu, 15 Sep 2011 17:20:56 +0000 (17:20 +0000)]
Fix ChangeLog typo
Paul Koning [Thu, 15 Sep 2011 16:09:42 +0000 (16:09 +0000)]
* gdb.texinfo: Make style of Python functions and methods match
the syntax of Python. Also put class and module names explicitly
on function, member, and variable names, matching Python
documentation conventions.
H.J. Lu [Thu, 15 Sep 2011 16:03:03 +0000 (16:03 +0000)]
Support thin archive member for LTO.
2011-09-15 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
PR ld/13183
* ldmain.c (add_archive_element): Support thin archive member
for LTO.
Joel Brobecker [Thu, 15 Sep 2011 15:49:53 +0000 (15:49 +0000)]
Add period at end of sentence in top entry.
Paul Koning [Thu, 15 Sep 2011 15:40:22 +0000 (15:40 +0000)]
MAINTAINERS (Right After Approval): Add myself to the list
Kevin Pouget [Thu, 15 Sep 2011 12:47:07 +0000 (12:47 +0000)]
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
PR threads/12628
* linux-fork.c (checkpoint_command): Disallow checkpointing of
processes with multiple threads.
(inf_has_multiple_thread_cb): New function.
(inf_has_multiple_threads): New function.
Kevin Pouget [Thu, 15 Sep 2011 12:42:30 +0000 (12:42 +0000)]
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* python/py-inferior.c (GdbMethods): New Python method definition.
doc:
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* gdb.texinfo (Inferiors In Python): Describe new
gdb.selected_inferior() function.
testsuite:
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* gdb.python/py-inferior.exp: Add testcase for gdb.selected_inferior().
Kevin Pouget [Thu, 15 Sep 2011 12:27:20 +0000 (12:27 +0000)]
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
Handle multiple breakpoint hits in Python interface:
* python/py-bpevent.c (create_breakpoint_event_object): Rename C/Python
variable to breakpoints.
* python/py-stopevent.c (emit_stop_event): Return a Python tuple of
bps instead of single breakpoint. Fix some space typos.
* python/py-stopevent.c (create_breakpoint_event_object): Rename
variable to breakpoints.
testsuite:
* gdb.python/py-events.exp: Set a duplicate breakpoint and check its
presence.
* gdb.python/py-events.py (breakpoint_stop_handler): Browse all the
breakpoint hits.
doc:
* gdb.texinfo (Events In Python): New function documentation:
gdb.BreakpointEvent.breakpoints. Indicate that
gdb.BreakpointEvent.breakpoint is now deprecated.
Kevin Pouget [Thu, 15 Sep 2011 12:18:29 +0000 (12:18 +0000)]
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
* breakpoint.c (describe_other_breakpoints): Do not write 'duplicate'
note if the breakpoint is internal.
Kevin Pouget [Thu, 15 Sep 2011 11:53:03 +0000 (11:53 +0000)]
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
* MAINTAINERS (Right After Approval): Add myself to the list
Alan Modra [Thu, 15 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 15 Sep 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Pedro Alves [Wed, 14 Sep 2011 12:26:29 +0000 (12:26 +0000)]
2011-09-14 Pedro Alves <pedro@codesourcery.com>
* infrun.c (prepare_for_detach, wait_for_inferior)
(fetch_inferior_event): Don't flush the register cache.
* remote.c (struct stop_reply) <regcache>: Add comment.
Cary Coutant [Wed, 14 Sep 2011 01:29:01 +0000 (01:29 +0000)]
* configure.ac: Check for glibc support for gnu_indirect_function
support with static linking, setting automake conditional
IFUNC_STATIC.
* Makefile.in: Regenerate.
* configure: Regenerate.
* testsuite/Makefile.am (ifuncmain1static, ifuncmain2static)
(ifuncmain4static, ifuncmain5static, ifuncmain7static): Add check
for IFUNC_STATIC.
* testsuite/Makefile.in: Regenerate.
Cary Coutant [Wed, 14 Sep 2011 01:10:43 +0000 (01:10 +0000)]
* incremental.cc (Sized_relobj_incr::do_layout): Call
report_comdat_group for kept comdat sections.
* testsuite/Makefile.am (incremental_comdat_test_1): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/incr_comdat_test_1.cc: New source file.
* testsuite/incr_comdat_test_2_v1.cc: New source file.
* testsuite/incr_comdat_test_2_v2.cc: New source file.
* testsuite/incr_comdat_test_2_v3.cc: New source file.
gdbadmin [Wed, 14 Sep 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 14 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
Jan Kratochvil [Tue, 13 Sep 2011 21:44:27 +0000 (21:44 +0000)]
gdb/
Remove excessive DWARF expressions memory duplication.
* dwarf2loc.c (per_cu_dwarf_call): Remove variable back_to and its use
for block.data.
(indirect_pieced_value): Remove variable result. Remove variable
back_to and its use for baton.data.
(dwarf2_compile_expr_to_ax): Remove variable back_to and its use for
block.data.
* dwarf2read.c (dwarf2_fetch_die_location_block): Remove xmemdup.
Update the function comment.
Jan Kratochvil [Tue, 13 Sep 2011 21:39:59 +0000 (21:39 +0000)]
gdb/testsuite/
* gdb.python/py-events.exp: Remove pretty printing comment.
* gdb.python/py-evsignal.exp: New file.
* gdb.python/py-evthreads.c: Include signal.h.
(thread3): Remove variable count3. Remove variable bad and use raise
instead.
(thread2): Remove variable count2. Move thread3 pthread_create here,
merge pthread_join to a single line.
(main): Remove variable count1. Merge pthread_join with pthread_create
to a single line.
* gdb.python/py-evthreads.exp: Remove pretty printing comment. New
KFAIL python/12966 for gdbserver. Test return value of
gdb_compile_pthreads. Use gdb_run_cmd. Replace send_gdb and
gdb_expect by gdb_test and gdb_test_multiple.
(thread 2, thread 3): New tests.
Pedro Alves [Tue, 13 Sep 2011 19:27:01 +0000 (19:27 +0000)]
2011-09-13 Pedro Alves <pedro@codesourcery.com>
* inferior.h (ALL_INFERIORS): New.
* linux-thread-db.c (thread_db_find_new_threads_2): Remove check
for a stopped thread.
(thread_db_find_new_threads): Look for threads in all inferiors.
Pedro Alves [Tue, 13 Sep 2011 16:37:13 +0000 (16:37 +0000)]
2011-09-13 Pedro Alves <pedro@codesourcery.com>
* breakpoint.c (update_watchpoint): Handle the case of the
watchpoint to update not being in the breakpoint list yet.
(hw_watchpoint_use_count): New, factored out from
hw_watchpoint_used_count.
(hw_watchpoint_used_count): Rename to ...
(hw_watchpoint_used_count_others): ... this. Add `except'
parameter. Don't count resources of `except'. Use
hw_watchpoint_use_count.
Ian Lance Taylor [Tue, 13 Sep 2011 16:16:51 +0000 (16:16 +0000)]
* object.cc (Sized_relobj_file::do_layout): Remove unused local
variable external_symbols_offset.
Pedro Alves [Tue, 13 Sep 2011 14:48:55 +0000 (14:48 +0000)]
2011-09-13 Pedro Alves <pedro@codesourcery.com>
* gdbthread.h (enum thread_state): Moved here.
(struct thread_info): Rename `executing_' field to `executing' and
`state_' to `state'.
* thread.c (enum thread_state): Moved to gdbthread.h.
(new_thread, add_thread_silent, delete_thread_1)
(any_live_thread_of_process, thread_alive, set_running)
(set_running, is_thread_state, any_running, is_executing)
(set_executing, finish_thread_state, print_thread_info)
(do_captured_thread_select): Adjust.
Jan Kratochvil [Tue, 13 Sep 2011 08:26:11 +0000 (08:26 +0000)]
gdb/
Fix compatibility with gcc < 4.3 and non-gcc compilers.
* amd64-tdep.c (amd64_skip_xmm_prologue): Convert 0b constants.
Alan Modra [Tue, 13 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 13 Sep 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Pedro Alves [Mon, 12 Sep 2011 21:25:22 +0000 (21:25 +0000)]
gdb/
2011-09-12 Pedro Alves <pedro@codesourcery.com>
Matt Rice <ratmice@gmail.com>
PR gdb/13175
* interps.c (struct interp) <interpreter_out>: Delete field.
(interp_new): Remove the data and uiout parameters and adjust.
(interp_set): Only set the current_uiout from the interpreter's
uiout after initializing the interpreter. Adjust call to
init_proc.
(interp_ui_out): Adjust to call procs->ui_out_proc.
(interp_data, interp_name): New.
* interps.h (interp_init_ftype): Add `self' parameter.
(interp_ui_out_ftype): New typedef.
(struct interp_procs) <ui_out_proc>: New method pointer.
(interp_new): Remove the data and uiout parameters.
(interp_data, interp_name): Declare.
* tui/tui-interp.c (tui_init): Adjust prototype.
(tui_ui_out): New.
(_initialize_tui_interp): Install tui_ui_out. Don't instanciate
tui_out here. Adjust call to interp_new.
* tui/tui-io.c (tui_initialize_io): Don't set current_uiout here.
* cli/cli-interp.c (cli_interpreter_init): Adjust prototype.
(cli_ui_out): New.
(_initialize_cli_interp): Install it. Adjust call to interp_new.
* mi/mi-common.h (struct mi_interp) <uiout>: New field.
* mi/mi-interp.c (mi_interpreter_init): Adjust prototype.
Initialize mi->uiout depending on the mi_version as extracted from
the interpreter's name.
(mi_ui_out): New.
(_initialize_mi_interp): Install mi_ui_out. Adjust calls to
interp_new. Don't allocate the ui_out's of the interpreters here.
gdb/testsuite/
2011-09-12 Matt Rice <ratmice@gmail.com>
Pedro Alves <pedro@codesourcery.com>
PR gdb/13175
* gdb.base/interp.exp: New tests.
* gdb.base/interp.c: New file.
Aleksandar Ristovski [Mon, 12 Sep 2011 19:02:01 +0000 (19:02 +0000)]
* ChangeLog: Fix comment and date.
Aleksandar Ristovski [Mon, 12 Sep 2011 19:00:22 +0000 (19:00 +0000)]
* solib.c (solib_used): New function.
(update_solib_list, reload_shared_libraries_1): Check if objfile is used
by another so_list object before freeing it.
H.J. Lu [Mon, 12 Sep 2011 18:17:36 +0000 (18:17 +0000)]
Use .got.plt for IFUNC symbols if there are no GOT relocations.
bfd/
2011-09-12 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13178
* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Use .got.plt
if there are no GOT relocations.
ld/testsuite/
2011-09-12 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13178
* ld-ifunc/ifunc-13-i386.d: Updated.
* ld-ifunc/ifunc-13-x86-64.d: Likewise.
* ld-ifunc/ifunc-3a-x86.d: Likewise.
* ld-x86-64/pr13082-5a.d: Likewise.
* ld-ifunc/ifunc-15-i386.d: New.
* ld-ifunc/ifunc-15-i386.s: Likewise.
* ld-ifunc/ifunc-15-x86-64.d: Likewise.
* ld-ifunc/ifunc-15-x86-64.s: Likewise.
Doug Evans [Mon, 12 Sep 2011 18:07:22 +0000 (18:07 +0000)]
* gdb.dwarf2/clztest.exp: Fix initialization of tests array.
* gdb.dwarf2/typeddwarf.exp: Ditto.
Ian Lance Taylor [Mon, 12 Sep 2011 17:34:26 +0000 (17:34 +0000)]
* object.cc (Sized_relobj_file::do_layout): Remove assertion which
triggered if object has no symbols.
gdbadmin [Mon, 12 Sep 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 12 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
Jan Kratochvil [Sun, 11 Sep 2011 09:54:18 +0000 (09:54 +0000)]
gdb/
Code cleanup.
* mi/mi-cmd-stack.c (list_args_or_locals): Use enum for the parameter
values.
Alan Modra [Sun, 11 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Sun, 11 Sep 2011 00:00:05 +0000 (00:00 +0000)]
*** empty log message ***
Andreas Schwab [Sat, 10 Sep 2011 08:13:45 +0000 (08:13 +0000)]
Add PR markers
David S. Miller [Sat, 10 Sep 2011 05:15:43 +0000 (05:15 +0000)]
* output.cc (Output_fill_debug_info::do_write): Use Swap_unaligned.
(Output_fill_debug_line::do_write): Likewise.
Alan Modra [Sat, 10 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 10 Sep 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Jan Kratochvil [Fri, 9 Sep 2011 19:41:14 +0000 (19:41 +0000)]
gdb/
Code cleanup.
* amd64-tdep.c (amd64_skip_prologue): Move the XMM code to ...
(amd64_skip_xmm_prologue): ... this new function. Describe its
parameters. No longer use amd64_prologue_line_bug.
* defs.h (producer_is_gcc_ge_4): New declaration.
* dwarf2read.c (producer_is_gcc_ge_4): Move to utils.c.
(process_full_comp_unit): Update its caller. Remove
amd64_prologue_line_bug initialization.
* symtab.h (struct symtab): Remove field amd64_prologue_line_bug.
* utils.c (producer_is_gcc_ge_4): Moved here from dwarf2read.c.
Pedro Alves [Fri, 9 Sep 2011 19:29:51 +0000 (19:29 +0000)]
Fixup last entry.
2011-09-09 Pedro Alves <pedro@codesourcery.com>
* linux-nat.h (enum resume_kind): New.
(struct lwp_info) <last_resume_kind>: New field.
* linux-nat.c (linux_child_follow_fork): Set last_resume_kind to
resume_stop on the new lwp.
(add_lwp): Set last_resume_kind as resume_continue by default.
(lin_lwp_attach_lwp): Set last_resume_kind as resume_stop.
(resume_lwp): New, factored out from resume_callback. Also check
for pending status in lp->waitstatus.
(resume_callback): Reimplement.
(resume_clear_callback): Set last_resume_kind as resume_stop.
(resume_set_callback): Set last_resume_kind as resume_continue.
(linux_nat_resume, linux_handle_extended_wait): Set
last_resume_kind.
(running_callback): Also check lp->waitstatus for pending events.
(select_singlestep_lwp_callback): Check that lp->last_resume_kind
is resume_step.
(stop_and_resume_callback): Don't re-resume if the core wanted the
lwp stopped. Use resume_lwp instead of resume_callback. Avoid
using an invalidated pointer.
(linux_nat_filter_event): Don't discard SIGSTOPs as delayed
SIGSTOPs if the core wanted the LWP to stop.
(linux_nat_wait_1) Don't consume a pending SIGSTOP if the core
wanted the lwp to stop. If the core wanted the lwp to stop, and
the lwp stopped with a SIGSTOP, report a TARGET_SIGNAL_0 instead
of TARGET_SIGNAL_STOP.
(linux_nat_stop_lwp): Don't synchronously wait for the lwp to stop
here. Instead, signal the lwp, and set the last_resume_kind to
resume_stop.
Pedro Alves [Fri, 9 Sep 2011 19:27:50 +0000 (19:27 +0000)]
2011-09-09 Pedro Alves <pedro@codesourcery.com>
* linux-nat.h (enum resume_kind): New.
(struct lwp_info) <last_resume_kind>: New field.
(linux_child_follow_fork): Set last_resume_kind to resume_stop on
the new lwp.
(add_lwp): Set last_resume_kind as resume_continue by default.
(lin_lwp_attach_lwp): Set last_resume_kind as resume_stop.
(resume_lwp): New, factored out from resume_callback. Also check
for pending status in lp->waitstatus.
(resume_callback): Reimplement.
(resume_clear_callback): Set last_resume_kind as resume_stop.
(resume_set_callback): Set last_resume_kind as resume_continue.
(linux_nat_resume, linux_handle_extended_wait): Set
last_resume_kind.
(running_callback): Also check lp->waitstatus for pending events.
(select_singlestep_lwp_callback): Check that lp->last_resume_kind
is resume_step.
(stop_and_resume_callback): Don't re-resume if the core wanted the
lwp stopped. Use resume_lwp instead of resume_callback. Avoid
using an invalidated pointer.
(linux_nat_filter_event): Don't discard SIGSTOPs as delayed
SIGSTOPs if the core wanted the LWP to stop.
(linux_nat_wait_1) Don't consume a pending SIGSTOP if the core
wanted the lwp to stop. If the core wanted the lwp to stop, and
the lwp stopped with a SIGSTOP, report a TARGET_SIGNAL_0 instead
of TARGET_SIGNAL_STOP.
(linux_nat_stop_lwp): Don't synchronously wait for the lwp to stop
here. Instead, signal the lwp, and set the last_resume_kind to
resume_stop.
Pedro Alves [Fri, 9 Sep 2011 19:20:24 +0000 (19:20 +0000)]
2011-09-09 Pedro Alves <pedro@codesourcery.com>
* linux-nat.c (lin_lwp_attach_lwp): Return 1 (ignore) instead of
-1 (error), if the lwp exits right after attaching.
Kai Tietz [Fri, 9 Sep 2011 16:28:12 +0000 (16:28 +0000)]
2011-09-09 Kai Tietz <ktietz@redhat.com>
* peicode.h (pe_ILF_build_a_bfd): Don't remove leading underscore
for targets without symbol_leading_char.
Alan Modra [Fri, 9 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Fri, 9 Sep 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Stan Shebs [Thu, 8 Sep 2011 22:38:29 +0000 (22:38 +0000)]
* linux-x86-low.c (i386_emit_prologue): Save %ebx.
(i386_emit_epilogue): Restore %ebx.
Doug Evans [Thu, 8 Sep 2011 19:51:27 +0000 (19:51 +0000)]
* py-cmd.c: Some minor formatting fixes.
(gdbpy_parse_command_name): Rename text arg to name, make const.
All callers updated.
* python-internal.h (gdbpy_parse_command_name): Update.
David S. Miller [Thu, 8 Sep 2011 19:03:17 +0000 (19:03 +0000)]
opcodes/
* sparc-opc.c (sparc_opcodes): Add entry for 'save simm13,regrs1,regrd'
This has been reported as being accepted by the Sun assmebler.
gas/testsuite/
* gas/sparc/save-args.[sd]: New test.
* gas/sparc/sparc.exp: Run new test.
David S. Miller [Thu, 8 Sep 2011 19:01:11 +0000 (19:01 +0000)]
opcodes/
The changes below bring 'mov' and 'ticc' instructions into line
with the V8 SPARC Architecture Manual.
* sparc-opc.c (sparc_opcodes): Add entry for 'ticc imm + regrs1'.
* sparc-opc.c (sparc_opcodes): Add alias entries for
'mov regrs2,%asrX'; 'mov regrs2,%y'; 'mov regrs2,%prs';
'mov regrs2,%wim' and 'mov regrs2,%tbr'.
* sparc-opc.c (sparc_opcodes): Move/Change entries for
'mov imm,%asrX'; 'mov imm,%y'; 'mov imm,%prs'; 'mov imm,%wim'
and 'mov imm,%tbr'.
* sparc-opc.c (sparc_opcodes): Add wr alias entries to match above
mov aliases.
gas/testsuite/
* gas/sparc/ticc-imm-reg.[sd]: New test.
* gas/sparc/v8-movwr-imm.[sd]: New test.
* gas/sparc/sparc.exp: Run new tests.
Jan Kratochvil [Thu, 8 Sep 2011 17:40:54 +0000 (17:40 +0000)]
gdb/testsuite/
Fix compatibility with x32 arch.
* testsuite/gdb.dwarf2/typeddwarf.exp: Check also is_lp64_target.
* testsuite/gdb.trace/backtrace.exp: Use is_amd64_regs_target and
is_x86_like_target.
* testsuite/gdb.trace/collection.exp: Likewise.
* testsuite/gdb.trace/report.exp: Likewise.
* testsuite/gdb.trace/unavailable.exp: Likewise.
* testsuite/gdb.trace/while-dyn.exp: Likewise.
* testsuite/lib/gdb.exp (is_amd64_regs_target): New function.
(is_x86_like_target): Check also is_amd64_regs_target.
Doug Evans [Thu, 8 Sep 2011 17:20:43 +0000 (17:20 +0000)]
* cli/cli-decode.c (add_cmd): Add comment.
David S. Miller [Thu, 8 Sep 2011 16:56:10 +0000 (16:56 +0000)]
gas/
* config/tc-sparc.c (sparc_ip): Handle 'i' + r<0..31>
in addition to 'i' + [goli]<0..7>.
gas/testsuite/
* gas/sparc/imm-plus-rreg.[sd]: New test.
* gas/sparc/sparc.exp: Run new test.
David S. Miller [Thu, 8 Sep 2011 16:40:47 +0000 (16:40 +0000)]
opcodes/
* sparc-opc.c (pdistn): Destination is integer not float register.
gas/testsuite/
* gas/sparc/hpcvis3.s: Correct pdistn test.
* gas/sparc/hpcvis3.d: Likewise.
Nick Clifton [Thu, 8 Sep 2011 16:09:57 +0000 (16:09 +0000)]
* po/ja.po: Updated Japanese translation.
Nick Clifton [Thu, 8 Sep 2011 16:07:11 +0000 (16:07 +0000)]
* cgen.c (gas_cgen_pcrel_r_type): New function.
(gas_cgen_tc_gen_reloc): Check for GAS_CGEN_PCREL_R_TYPE.
* cgen.h (gas_cgen_pcrel_r_type): Declare.
Nick Clifton [Thu, 8 Sep 2011 16:06:11 +0000 (16:06 +0000)]
* bfdwin.c (bfd_get_file_window): Fix memory leak.
Jan Kratochvil [Thu, 8 Sep 2011 15:38:16 +0000 (15:38 +0000)]
gdb/
PR breakpoints/12435
* amd64-tdep.c (amd64_skip_prologue): New variables start_pc_sal,
next_sal, buf, offset and xmmreg. Advance PC if it sees the PR.
* dwarf2read.c (process_full_comp_unit): Initialize
amd64_prologue_line_bug.
* symtab.h (struct symtab): New field amd64_prologue_line_bug.
gdb/testsuite/
PR breakpoints/12435
* gdb.arch/amd64-prologue-xmm.c: New file.
* gdb.arch/amd64-prologue-xmm.exp: New file.
* gdb.arch/amd64-prologue-xmm.s: New file.
Jan Kratochvil [Thu, 8 Sep 2011 15:27:46 +0000 (15:27 +0000)]
gdb/
Fix TUI screen corruption.
* utils.c (fputs_maybe_filtered): Replace !input_from_terminal_p by
batch_flag.
Jan Kratochvil [Thu, 8 Sep 2011 15:26:08 +0000 (15:26 +0000)]
gdb/
* findvar.c (read_var_value): Never return NULL, throw an error
instead. Update the function comment. State symbol name in the error
messages.
* python/py-frame.c (frapy_read_var): Remove handling of NULL from
read_var_value.
* stack.c (print_frame_args): Likewise.
* valops.c (value_of_variable): Likewise.
Jan Kratochvil [Thu, 8 Sep 2011 15:24:25 +0000 (15:24 +0000)]
gdb/
* stack.c (print_frame_args): New variable except. Wrap
read_var_value and common_val_print into TRY_CATCH.
gdb/testsuite/
* gdb.dwarf2/dw2-param-error-main.c: New file.
* gdb.dwarf2/dw2-param-error.S: New file.
* gdb.dwarf2/dw2-param-error.exp: New file.
Pedro Alves [Thu, 8 Sep 2011 14:56:34 +0000 (14:56 +0000)]
2011-09-08 Pedro Alves <pedro@codesourcery.com>
* gdb.base/annota1.exp, gdb.base/annota3.exp: Extract the
inferior's pid and look for a core dump named core.$pid. Use
`remote_file' commands on the host instead of hand coding shell
commands on the build.
* gdb.base/valgrind-db-attach.exp: Kill the program before
finishing the test.
Jan Kratochvil [Thu, 8 Sep 2011 14:54:20 +0000 (14:54 +0000)]
gdb/
* eval.c (evaluate_subexp_standard) <OP_THIS>: Update the value_of_this
caller to value_of_this.
* p-exp.y: Update the value_of_this caller to value_of_this_silent.
Twice.
* valops.c (value_of_this): Remove parameter complain and variable ret.
Update function comment. Never return NULL by this code.
(value_of_this_silent): New function.
* value.h (value_of_this): Remove parameter complain.
(value_of_this_silent): New declaration.
Richard Sandiford [Thu, 8 Sep 2011 12:18:28 +0000 (12:18 +0000)]
gas/
PR gas/13167
* dwarf2dbg.c (dwarf2_flush_pending_lines): Use symbol_temp_new_now.
gas/testsuite/
PR gas/13167
* gas/ia64/pr13167.d, gas/ia64/pr13167.s: New test.
* gas/ia64/ia64.exp: Run it.
gdbadmin [Thu, 8 Sep 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 8 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
Andreas Schwab [Wed, 7 Sep 2011 20:56:09 +0000 (20:56 +0000)]
* gas/testsuite/gas/m68k/all.exp: Run "mode5" test also with -mcpu=5200.
* gas/testsuite/gas/m68k/mode5.s: Add moveml testcases.
* gas/testsuite/gas/m68k/mode5.d: Update.
* opcodes/m68k-opc.c: Use "y" in moveml pattern for mcfisa_a.
Yao Qi [Wed, 7 Sep 2011 14:24:48 +0000 (14:24 +0000)]
gdb/
* gdbthread.h (struct thread_info): Remove fields
`stepping_through_solib_after_catch' and
`stepping_through_solib_catchpoints'.
* infrun.c (init_thread_stepping_state): Update.
(process_event_stop_test, currently_stepping): Update.
(currently_stepping_or_nexting_callback): Update.
Alan Modra [Wed, 7 Sep 2011 13:56:09 +0000 (13:56 +0000)]
PR ld/13131
* bfd/elf64-ppc.c (adjust_toc_syms): Ensure ppc64_elf_howto_table
is initialized.
Yao Qi [Wed, 7 Sep 2011 13:36:47 +0000 (13:36 +0000)]
gdb/
* gdbthread.h (struct thread_info): Comment on field
`step_after_step_resume_breakpoint'.
Pedro Alves [Wed, 7 Sep 2011 10:34:15 +0000 (10:34 +0000)]
2011-09-07 Abhijit Halder <abhijit.k.halder@gmail.com>
* remote.c (remote_console_output): Reindent.
Luis Machado [Wed, 7 Sep 2011 02:33:58 +0000 (02:33 +0000)]
2011-09-06 Luis Machado <lgustavo@codesourcery.com>
* frame.c (has_stack_frames): Check for currently selected
traceframe.
Alan Modra [Wed, 7 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Wed, 7 Sep 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Pedro Alves [Tue, 6 Sep 2011 14:49:00 +0000 (14:49 +0000)]
2011-09-06 Pedro Alves <pedro@codesourcery.com>
* event-top.h (MAXPROMPTS, struct prompts): Delete.
(set_async_annotation_level, set_async_prompt, pop_prompt)
(push_prompt, new_async_prompt): Delete declarations.
* top.h (get_prompt, set_prompt): Change prototype.
(get_prefix, set_prefix, get_suffix, set_suffix): Delete
declarations.
* top.c (command_loop):
(top_prompt): New global.
(get_prefix, set_prefix, get_suffix, ): Delete.
(get_prompt, set_prompt): Rewrite.
(show_new_async_prompt): Rename to ...
(show_prompt): ... this.
(init_main): Adjust. Don't handle --annotate=2 here.
* event-top.c (new_async_prompt): Delete.
(the_prompts): Delete.
(more_to_come): Make static.
(display_gdb_prompt): Use top_level_prompt() to compute the top
level prompt, and don't notify the before_prompt observers
directly here. Always trick readline into not trying to display
the prompt if sync_execution and displaying the primary prompt.
If displaying a local/secondary prompt, always show it, even if
sync_execution is set.
(change_annotation_level): Delete.
(top_level_prompt): New, based on change_annotation_level.
(push_prompt, pop_prompt): Delete.
(async_disable_stdin): No longer pushes prompt.
(command_line_handler): No longer pushes or pops prompt. If more
input is expected, call display_gdb_prompt with an explicit empty
prompt.
(async_stop_sig): Adjust.
(set_async_annotation_level, set_async_prompt): Delete.
* python/python.c (before_prompt_hook): Adjust.
Alan Modra [Tue, 6 Sep 2011 07:41:24 +0000 (07:41 +0000)]
PR ld/13131
* elf64-ppc.c (adjust_toc_syms): Delete redundant code.
(ppc64_elf_edit_toc): Fix style nit. Report some details
on linker failure due to reference in debug or non-alloc
sections to optimized away toc entry, and don't abort.
gdbadmin [Tue, 6 Sep 2011 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 6 Sep 2011 00:00:04 +0000 (00:00 +0000)]
daily update
Richard Sandiford [Mon, 5 Sep 2011 19:19:01 +0000 (19:19 +0000)]
gas/
PR gas/13024
* dwarf2dbg.c (pending_lines, pending_lines_tail): New variables.
(dwarf2_gen_line_info_1): Delete.
(dwarf2_push_line, dwarf2_flush_pending_lines): New functions.
(dwarf2_gen_line_info, dwarf2_emit_label): Use them.
(dwarf2_consume_line_info): Call dwarf2_flush_pending_lines.
(dwarf2_directive_loc): Push previous .locs instead of generating
them immediately.
gas/testsuite/
* gas/mips/loc-swap-2.s, gas/mips/loc-swap-2.d,
gas/mips/micromips@loc-swap-2.d,
gas/mips/mips16@loc-swap-2.d: New test.
* gas/mips/mips.exp: Run it.
Pedro Alves [Mon, 5 Sep 2011 15:46:34 +0000 (15:46 +0000)]
2011-09-05 Pedro Alves <pedro@codesourcery.com>
PR cli/13110
* infrun.c (fetch_inferior_event): Check if there's a selected
thread before checking if the selected thread is executing.
Pedro Alves [Mon, 5 Sep 2011 14:53:13 +0000 (14:53 +0000)]
2011-09-05 Pedro Alves <pedro@codesourcery.com>
* inf-loop.c (execute_command): Don't check if the current thread
if running before synchronously waiting for command completion.
* infrun.c (fetch_inferior_event): Handle "set exec-done-display"
here.
(normal_stop): Call async_enable_stdin here.
* inf-loop.c (inferior_event_handler): Don't call
async_enable_stdin, nor handle "set exec-done-display" here.
Alan Modra [Mon, 5 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 5 Sep 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***