Jan Kratochvil [Sun, 17 Jun 2012 19:53:52 +0000 (19:53 +0000)]
gdb/
* dwarf2expr.c (execute_stack_op): Support DW_OP_GNU_parameter_ref.
* dwarf2loc.c (call_site_parameter_matches): Support
CALL_SITE_PARAMETER_PARAM_OFFSET.
(needs_dwarf_reg_entry_value): Push stub value.
* dwarf2read.c (read_call_site_scope): New variable origin. Support
CALL_SITE_PARAMETER_PARAM_OFFSET and its DW_AT_abstract_origin.
* gdbtypes.h (enum call_site_parameter_kind): New item
CALL_SITE_PARAMETER_PARAM_OFFSET.
(struct call_site.parameter.u): New field param_offset.
gdb/testsuite/
* gdb.arch/amd64-entry-value-param.S: New file.
* gdb.arch/amd64-entry-value-param.c: New file.
* gdb.arch/amd64-entry-value-param.exp: New file.
Jan Kratochvil [Sun, 17 Jun 2012 19:50:53 +0000 (19:50 +0000)]
gdb/
Code cleanup: Generalize call_site.parameter key.
* dwarf2expr.c (execute_stack_op) <DW_OP_GNU_entry_value>: Remove
variable dwarf_reg. New variable kind_u. Update parameters to
push_dwarf_reg_entry_value.
(ctx_no_push_dwarf_reg_entry_value): Update parameters.
* dwarf2expr.h (enum call_site_parameter_kind)
(union call_site_parameter_u): Forward declarations.
(struct dwarf_expr_context_funcs): Update parameters and their
description for push_dwarf_reg_entry_value.
(ctx_no_push_dwarf_reg_entry_value): Update parameters.
* dwarf2loc.c (call_site_parameter_matches): New function.
(dwarf_expr_reg_to_entry_parameter): Update parameters and their
description. Use call_site_parameter_matches.
(dwarf_expr_push_dwarf_reg_entry_value, value_of_dwarf_reg_entry):
Update parameters and their description.
(value_of_dwarf_block_entry): Remove variables dwarf_reg and fb_offset.
New variable kind_u. Adjust the caller for updated parameters.
(needs_dwarf_reg_entry_value): Update parameters.
* dwarf2read.c (read_call_site_scope): New variable loc. Use it
instead of attr. Update for the changed fields of struct
call_site_parameter.
* gdbtypes.h: Include dwarf2expr.h.
(enum call_site_parameter_kind): New.
(struct call_site.parameter): New field kind. Wrap dwarf_reg and
fb_offset into new union u.
Joel Brobecker [Fri, 15 Jun 2012 17:20:10 +0000 (17:20 +0000)]
Define PACKAGE macro in all sims' config.h.
Some of the common includes in include/gdb such as callback.h
include bfd.h. But there was a recent change in bfd-in.h to
require that config.h be included before bfd.h can be included:
/* PR 14072: Ensure that config.h is included first. */
#if !defined PACKAGE && !defined PACKAGE_VERSION
#error config.h must be included before this header
#endif
PACKAGE_VERSION is always defined by default by the AC_INIT autoconf
macro, but PACKAGE isn't. This patch updates the SIM_AC_COMMON macro
to define it, and then regenerates all configure scripts and config.in
files.
Eli Zaretskii [Fri, 15 Jun 2012 09:21:37 +0000 (09:21 +0000)]
Fix Texinfo usage issues. From Patrice Dumas <pertusus@free.fr>.
* gdb.texinfo (Summary): Add a link to "Free Documentation".
(Free Documentation): Add @node line.
(Continuing and Stepping) <advance location>: Use @item instead of
@itemx.
(Reverse Execution) <set exec-direction reverse>: Use @item instead of
@itemx.
(Embedded Processors): Put the link to "PA" to its correct place,
according to document structure.
(Python API): Put the link to "Lazy Strings In Python" to its
correct place.
(Index): Use @@ in @tex block to get a literal @.
* gdbint.texinfo: Fix the @subtitle line.
* stabs.texinfo (Top): Put the link to "Symbol Types Index" to its
correct place.
Joel Brobecker [Thu, 14 Jun 2012 18:17:37 +0000 (18:17 +0000)]
Fix invalid profile for command-completer in remote-sim.c
The profile of command completers has been change to returna VEC
of char_ptr. Most completers were updated, except the one in
remote-sim.c.
Unfortunately, to make things a little more difficult, the meat of
the completer is actually implemented in the sim, were VECs are not
available. This patch thus translates the returned array into a VEC,
and then returns that VEC.
gdb/ChangeLog:
* remote-sim.c (sim_command_completer): Change type of return
value to "VEC (char_ptr) *". Adjust implementation accordingly.
Jan Kratochvil [Wed, 13 Jun 2012 21:31:06 +0000 (21:31 +0000)]
gdb/testsuite/
PR tdep/14222
* gdb.arch/i386-sse-stack-align.S: New file.
* gdb.arch/i386-sse-stack-align.c: New file.
* gdb.arch/i386-sse-stack-align.exp: New file.
Mark Kettenis [Wed, 13 Jun 2012 20:36:48 +0000 (20:36 +0000)]
* amd64-linux-tdep.c (amd64_linux_init_abi_common): New function.
Move bits common to both the classic LP64 and the new x32 ILP32
ABI here.
(amd64_linux_init_abi): Call amd64_linux_init_abi_common.
(amd64_x32_linux_init_abi): New function.
(_initialize_amd64_linux_tdep): Register osabi for bfd_mach_x64_32
subtype.
Mark Kettenis [Wed, 13 Jun 2012 20:29:15 +0000 (20:29 +0000)]
H.J. Lu <hongjiu.lu@intel.com>
* i386-tdep.h (i386_pseudo_register_name): New prototype.
* i386-tdep.c (i386_pseudo_register_name): Make public.
* amd64-tdep.h (amd64_x32_init_abi): New prototype.
* amd64-tdep.c (amd64_dword_names): Add "eip".
(amd64_x32_pseudo_register_type): New function
(amd64_x32_init_abi): New function.
Jan Kratochvil [Wed, 13 Jun 2012 18:15:05 +0000 (18:15 +0000)]
gdb/
PR build/14003
* inferior.h (struct inferior_suspend_state): Comment out.
(struct inferior): Comment out the field suspend.
* infrun.c (struct infcall_suspend_state): Comment out the field
inferior_suspend.
(save_infcall_suspend_state, restore_infcall_suspend_state): Comment
out its assignment.
Jan Kratochvil [Wed, 13 Jun 2012 16:10:10 +0000 (16:10 +0000)]
gdb/
PR c++/14177 - Fix parsing TYPENAME:: in parentheses.
* c-exp.y (classify_inner_name): Remove caller assumptions in the
function comment. Return ERROR for unresolved cases. Implement
returning proper NAME.
(yylex): Accept also NAME from classify_inner_name.
* cp-namespace.c (cp_lookup_nested_type): Rename to ...
(cp_lookup_nested_symbol): ... here. Return any found symbol, not just
LOC_TYPEDEF type.
* cp-support.h (cp_lookup_nested_type): Update its declaration.
gdb/testsuite/
PR c++/14177 - Fix parsing TYPENAME:: in parentheses.
* gdb.cp/cpexprs.cc (class CV, CV::i, ATTRIBUTE_USED, CV_f): New.
(test_function): Call CV_f.
* gdb.cp/cpexprs.exp (p 'CV::m(int)', p CV::m(int))
(p 'CV::m(int) const', p CV::m(int) const, p 'CV::m(int) volatile')
(p CV::m(int) volatile, p 'CV::m(int) const volatile')
(p CV::m(int) const volatile, p CV_f(int), p CV_f(CV::t))
(p CV_f(CV::i)): New tests.
Tom Tromey [Wed, 13 Jun 2012 15:50:22 +0000 (15:50 +0000)]
* breakpoint.c (condition_completer): New function.
(_initialize_breakpoint): Use it.
* value.c (complete_internalvar): New function.
* value.h (complete_internalvar): Declare.
testsuite
* gdb.base/condbreak.exp: Add tests for "condition" completion.
Tom Tromey [Wed, 13 Jun 2012 15:41:24 +0000 (15:41 +0000)]
* breakpoint.c (add_catch_command): Use completer_ftype.
* breakpoint.h: Include command.h.
(add_catch_command): Use completer_ftype.
* cli/cli-decode.c (set_cmd_completer): Use completer_ftype.
* cli/cli-decode.h (struct cmd_list_element) <completer>:
Use completer_ftype.
* command.h (completer_ftype): New typedef.
(set_cmd_completer): Use it.
* python/py-cmd.c (struct cmdpy_completer) <completer>: Use
completer_ftype.
Pedro Alves [Wed, 13 Jun 2012 11:06:52 +0000 (11:06 +0000)]
2012-06-13 Pedro Alves <palves@redhat.com>
Partial revert of previous change.
* serial.c (scb_base): New global.
(serial_for_fd): New.
(serial_open, serial_fdopen_ops): Link new serial in open serials
chain.
(do_serial_close): Unlink serial from the open serials chain.
Nick Clifton [Wed, 13 Jun 2012 10:01:50 +0000 (10:01 +0000)]
* elf32-arm.c (bfd_arm_get_mach_from_attributes): New function.
(elf32_arm_object_p): If the machine number could not be deduced
from the notes, call bfd_arm_get_mach_from_attributes to get the
number from the attributes.
Pedro Alves [Tue, 12 Jun 2012 18:30:26 +0000 (18:30 +0000)]
2012-06-12 Pedro Alves <palves@redhat.com>
* infrun.c (infrun_thread_stop_requested_callback): Don't switch
threads here.
(prepare_for_detach): No longer context switch here in non-stop
mode.
(fetch_inferior_event): Ditto.
(handle_inferior_event) <STOP_QUIETLY || NO_STOP_QUIETLY>: Switch
to the event thread before removing breakpoints. Switch to the
event thread before inserting breakpoints and resuming.
(handle_inferior_event) <TARGET_WAITKIND_SPURIOUS>: Switch to the
event thread before resuming.
(handle_inferior_event) <stepping_past_singlestep_breakpoint>:
Switch to the event thread before removing breakpoints.
Eli Zaretskii [Tue, 12 Jun 2012 16:36:42 +0000 (16:36 +0000)]
Fix quoting of special characters for the MinGW build.
infcmd.c (construct_inferior_arguments) [__MINGW32__]: Quote
special characters correctly for the Windows shells. See
http://sourceware.org/ml/gdb/2012-06/msg00047.html for the bug
report.
[!__MINGW32__]: Remove extra double quote character from special
characters.
Alan Modra [Tue, 12 Jun 2012 06:31:06 +0000 (06:31 +0000)]
PR ld/14207
* elf.c (_bfd_elf_map_sections_to_segments): Disregard bss type
sections at end of PT_LOAD segment when searching for segment
that contains end of relro extent.
Pedro Alves [Mon, 11 Jun 2012 20:36:53 +0000 (20:36 +0000)]
2012-06-11 Pedro Alves <palves@redhat.com>
* ser-base.c (run_async_handler_and_reschedule): New.
(fd_event, push_event): Use it.
* serial.c (serial_open, serial_fdopen_ops): Set the initial
reference count to 1.
(do_serial_close): Set the bufp field to NULL. Use serial_unref
instead of xfree.
(serial_is_open, serial_ref, serial_unref): New.
* serial.h (serial_open): Adjust comment.
(serial_is_open): Declare.
(serial_close): Adjust comment.
(serial_ref, serial_unref) Declare.
(struct serial): New field 'refcnt'.
Jan Kratochvil [Mon, 11 Jun 2012 19:16:24 +0000 (19:16 +0000)]
gdb/
Fix regression by the "ambiguous linespec" series.
* breakpoint.c (parse_breakpoint_sals): New variable cursal. Use
get_last_displayed_symtab and get_last_displayed_line and depending
on CURSAL.
gdb/testsuite/
Fix regression by the "ambiguous linespec" series.
* gdb.base/break.exp (list marker1, break lineno, delete $bpnum): New
tests.
H.J. Lu [Sat, 9 Jun 2012 13:22:00 +0000 (13:22 +0000)]
Allocate sufficient space for string buffer
* input-scrub.c (input_scrub_include_sb): Use sb_build to
allocate sufficient space for from_sb. Use sb_terminate to
terminate string.
* read.c (read_a_source_file): Use sb_build to allocate
sufficient space and replace sb_add_string with sb_add_buffer.
(s_macro): Likewise.
(input_scrub_insert_line): Likewise.
(s_irp): Use sb_build to allocate sufficient space.
(do_repeat): Use sb_build to allocate sufficient space
for many.
* sb.c (sb_build): Remove static.
* sb.h (sb_build): New prototype.