Jan Kratochvil [Tue, 1 Nov 2011 20:00:01 +0000 (20:00 +0000)]
gdb/testsuite/
Fix racy FAILs.
* lib/mi-support.exp (mi_gdb_test): Replace thread_selected_re and
breakpoint_re globals import by async. Set string_regex to .* for
async. Remove the optional thread_selected_re and breakpoint_re
globals expectations.
Justin Lebar [Tue, 1 Nov 2011 14:51:25 +0000 (14:51 +0000)]
2011-10-06 Justin Lebar <justin.lebar@gmail.com>
* Makefile.in: (SFILES): Add skip.c.
(HFILES_NO_SRCDIR): Add skip.h.
(COMMON_OBS): Add skip.o.
* skip.h, skip.c: New.
* breakpoint.h (set_default_breakpoint): Remove.
(get_sal_arch): Declare.
* breakpoint.c: Remove default_breakpoint_valid,
default_breakpoint_address, default_breakpoint_symtab,
default_breakpoint_line, default_breakpoint_pspace variables.
(get_sal_arch): Make public.
(set_default_breakpoint): Remove.
(parse_breakpoint_sals, create_breakpoint, clear_command,
decode_line_spec_1): Remove uses of default_breakpoint variables;
replaced with function calls into stack.c.
* cli/cli-cmds.h: Add cmd_list_element *skiplist.
* cli/cli-cmds.c: Add skiplist.
(init_cmd_lists): Initialize skiplist.
(init_cli_cmds): Fix comment (classes of commands appear in
alphabetical order).
* infrun.c (handle_inferior_event): Add check that we don't step into
a function whose pc is marked for skip.
* stack.c: Declare last_displayed_sal_valid, last_displayed_pspace,
last_displayed_addr, last_displayed_symtab, last_displayed_line
variables.
(set_last_displayed_sal): New static function.
(print_frame_info): Switch call to set_default_breakpoint to call to
set_last_displayed_sal.
(clear_last_displayed_sal, last_displayed_sal_is_valid,
get_last_displayed_pspace, get_last_displayed_addr,
get_last_displayed_symtab, get_last_displayed_line,
get_last_displayed_sal): New public functions.
* stack.h (clear_last_displayed_sal, last_displayed_sal_is_valid,
get_last_displayed_pspace, get_last_displayed_addr,
get_last_displayed_symtab, get_last_displayed_line,
get_last_displayed_sal): Declare.
2011-10-06 Justin Lebar <justin.lebar@gmail.com>
Add tests for skip command.
* testsuite/gdb.base/skip-solib-lib.c: New
* testsuite/gdb.base/skip-solib-main.c: New
* testsuite/gdb.base/skip-solib.exp: New
* testsuite/gdb.base/skip.c: New
* testsuite/gdb.base/skip.exp: New
* testsuite/gdb.base/skip1.c: New
* testsuite/gdb.base/Makefile.in: Adding new files.
Cary Coutant [Mon, 31 Oct 2011 22:51:03 +0000 (22:51 +0000)]
PR gold/13023
* expression.cc (Expression::eval_with_dot): Add
is_section_dot_assignment parameter.
(Expression::eval_maybe_dot): Likewise. Adjust value when rhs is
absolute and assigning to dot within a section.
* script-sections.cc
(Output_section_element_assignment::set_section_addresses): Pass
dot_section to set_if_absolute.
(Output_section_element_dot_assignment::finalize_symbols): Pass TRUE
as is_section_dot_assignment flag to eval_with_dot.
(Output_section_element_dot_assignment::set_section_addresses):
Likewise.
* script.cc (Symbol_assignment::set_if_absolute): Add dot_section
parameter. Also set value if relative to dot_section; set the
symbol's output_section.
* script.h (Expression::eval_with_dot): Add is_section_dot_assignment
parameter. Adjust all callers.
(Expression::eval_maybe_dot): Likewise.
(Symbol_assignment::set_if_absolute): Add dot_section parameter.
Adjust all callers.
* testsuite/script_test_2.t: Test assignment of an absolute value
to dot within an output section element.
Sriraman Tallam [Mon, 31 Oct 2011 21:36:54 +0000 (21:36 +0000)]
2011-10-31 Sriraman Tallam <tmsriram@google.com>
* symtab.h (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
* symtab.cc (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
Change to just keep the section associated with symbol.
(Symbol_table::add_from_relobj): Mark symbols as not garbage when
they are externally visible and --export-dynamic is turned on.
(Symbol_table::gc_mark_dyn_syms): Call gc_mark_symbol.
Jan Kratochvil [Fri, 28 Oct 2011 22:40:58 +0000 (22:40 +0000)]
gdb/
PR symtab/13208
* jit.c (jit_register_code): Remove unused variable my_cleanups. Check
for NULL from bfd_open_from_target_memory. Fix ownership of NBFD and
SAI.
Pedro Alves [Fri, 28 Oct 2011 18:30:00 +0000 (18:30 +0000)]
2011-10-28 Pedro Alves <pedro@codesourcery.com>
gdb/
* linux-nat.c (linux_nat_filter_event): Remove `options'
parameter, and dead code that used it. If we're handling a
PTRACE_EVENT_EXEC event, and the thread group leader is no longer
in our lwp list, re-add it.
(check_zombie_leaders): New.
(linux_nat_wait_1): Remove `options' and `pid' locals. Always
wait for children with WNOHANG, and always wait for all children.
Don't check for no resumed children upfront. Simplify wait loop.
Check for zombie thread group leaders after handling all wait
statuses. Return TARGET_WAITKIND_NO_RESUMED if there no
unwaited-for children left.
* infrun.c (fetch_inferior_event): Handle TARGET_WAITKIND_NO_RESUMED.
(handle_inferior_event): Handle TARGET_WAITKIND_NO_RESUMED.
(normal_stop): Handle TARGET_WAITKIND_NO_RESUMED.
* target.h (enum target_waitkind) <TARGET_WAITKIND_NO_RESUMED>: New.
Jan Kratochvil [Fri, 28 Oct 2011 17:32:30 +0000 (17:32 +0000)]
gdb/testsuite/
* gdb.base/async-shell.exp: Skip the testfile for use_gdb_stub.
* gdb.base/attach-pie-misread.exp: Likewise.
* gdb.base/break-interp.exp: Likewise.
* gdb.base/default.exp (attach, run "r" abbreviation, run): Skip these
testcases for use_gdb_stub.
* gdb.dwarf2/dw2-restore.exp: Fix the run for use_gdb_stub.
(continue): New testcase.
* gdb.python/py-events.exp: Skip the testfile for use_gdb_stub.
* gdb.threads/attach-into-signal.exp: Likewise.
* gdb.threads/attach-stopped.exp: Likewise.
* gdb.threads/attachstop-mt.exp: Likewise.
Jan Kratochvil [Fri, 28 Oct 2011 08:32:35 +0000 (08:32 +0000)]
gdb/testsuite/
* lib/mi-support.exp (breakpoint_re): Suppress match reporting.
(mi_gdb_test): Import globals thread_selected_re
and breakpoint_re. Expect them optionally at the regex start.
Joel Brobecker [Thu, 27 Oct 2011 17:05:40 +0000 (17:05 +0000)]
handle variables stored in muliple consecutive registers
gdb/ChangeLog:
* value.h (read_frame_register_value): Add declaration.
* findvar.c (read_frame_register_value): New function.
(value_from_register): Use read_frame_register_value
instead of get_frame_register_value + value_contents_copy
to get value contents.
Doug Evans [Thu, 27 Oct 2011 15:46:11 +0000 (15:46 +0000)]
* cli/cli-cmds.c (source_script_with_search): Pass full path to
source_script_from_stream if it may have been found on the search path.
* python/py-auto-load.c (source_section_scripts): Pass full path to
source_python_script_for_objfile.
* python/python.c (source_python_script): Delete stream parameter.
All callers updated.
(source_python_script_for_objfile): Ditto.
* python/python-internal.h (source_python_script_for_objfile): Update.
* python/python.h (source_python_script): Update.
testsuite/
* gdb.python/python.exp: Test source -s.
Kevin Pouget [Thu, 27 Oct 2011 11:04:27 +0000 (11:04 +0000)]
Move unwind reasons to an external .def file
gdb/
* frame.c (frame_stop_reason_string): Rewrite using
unwind_stop_reasons.def.
* frame.h (enum unwind_stop_reason): Likewise.
* python/py-frame.c (gdbpy_initialize_frames): Likewise.
(gdbpy_frame_stop_reason_string): Use new enum unwind_stop_reason
constants for bound-checking.
* unwind_stop_reasons.def: New file.
* stack.c (backtrace_command_1): Handle UNWIND_FIRST_ERROR as an alias
instead of a distinct value.
doc/
* gdb.texinfo ((Frames In Python): Document
gdb.FRAME_UNWIND_FIRST_ERROR contant.
Phil Muldoon [Thu, 27 Oct 2011 10:29:58 +0000 (10:29 +0000)]
2011-10-27 Phil Muldoon <pmuldoon@redhat.com>
PR python/13331
* python/py-function.c (fnpy_call): Check 'args' is not NULL.
(convert_values_to_python): Return on Python tuple allocation
failure. Return NULL on value conversion error.
Ulrich Weigand [Wed, 26 Oct 2011 17:21:53 +0000 (17:21 +0000)]
* ppc-sysv-tdep.c (ppc_sysv_use_opencl_abi): New function.
(ppc_sysv_abi_push_dummy_call): Use it.
(do_ppc_sysv_return_value): Likewise.
(ppc64_sysv_abi_push_dummy_call): Likewise.
(ppc64_sysv_abi_return_value): Likewise.
Joern Rennecke [Wed, 26 Oct 2011 12:46:04 +0000 (12:46 +0000)]
cpu:
* epiphany.opc (parse_branch_addr): Fix type of valuep.
Cast value before printing it as a long.
(parse_postindex): Fix type of valuep.
opcodes:
* epiphany-asm.c, epiphany-opc.h: Regenerate.
Mike Frysinger [Tue, 25 Oct 2011 20:39:41 +0000 (20:39 +0000)]
binutils: fix out of tree building with syslex regens
If you take a release tarball (which has pregenerated syslex and sysinfo files
in it), apply some patches which touch syslex.l, and then build the result out
of tree, it will fail. This is because syslex.l uses sysinfo.h, but the
sysinfo.y file wasn't updated and so it wasn't regenerated (the files are found
in the $srcdir), and the build rule for syslex.c does not use -I$(srcdir) when
it finds a local file. Simple fix below.
Mike Frysinger [Tue, 25 Oct 2011 20:36:22 +0000 (20:36 +0000)]
Building rx's gas code atm fails:
rx-parse.c: In function ‘rx_parse’:
rx-parse.c:3774:9: error: passing argument 1 of ‘rx_error’ discards ‘const’
qualifier from pointer target type [-Werror]
../../../gas/config/rx-defs.h:40:12: note:
expected ‘char *’ but argument is of type ‘const char *’
cc1: all warnings being treated as errors
Paul Koning [Tue, 25 Oct 2011 18:34:51 +0000 (18:34 +0000)]
PR python/13327
* python/py-value.c (value_to_value_object): Remove fetching of
the value if it was lazy.
(valpy_get_is_lazy): New function.
(valpy_fetch_lazy): New function.
Joel Brobecker [Mon, 24 Oct 2011 16:51:36 +0000 (16:51 +0000)]
[powerpc] crash trying to allocate memory in inferior
Our testsuite noticed a crash when trying to call a function which
requires GDB to allocate memory in the inferior. Typically, this
happens when one of the parameters is a string. For instance, our
testcase tries:
What happens is that GDB sees the string, and thus tries to allocate
memory for it in the inferior:
> /* Allocate NBYTES of space in the inferior using the inferior's
> malloc and return a value that is a pointer to the allocated
> space. */
>
> struct value *
> value_allocate_space_in_inferior (int len)
> {
> struct objfile *objf;
> struct value *val = find_function_in_inferior ("malloc", &objf);
And find_function_in_inferior first searches the symtab in case
we have debug info. But, in our case (bareboard powerpc), we don't,
so it gets "malloc"'s address from the minimal symbols, and builds
a value whose type is a TYPE_CODE_PTR, not a TYPE_CODE_FUNC.
As a result, when we later try to make the call to malloc, we end up
inside the powerpc tdep code that has:
> do_ppc_sysv_return_value (struct gdbarch *gdbarch, struct type *func_type,
[...]
> if (func_type
> && TYPE_CALLING_CONVENTION (func_type) == DW_CC_GDB_IBM_OpenCL)
The problem is that func_type is not a TYPE_CODE_FUNC, and thus
the type-specific kind is not TYPE_SPECIFIC_FUNC, and so we do
TYPE_CALLING_CONVENTION is an invalid access.
Interestingly, the other call to TYPE_CALLING_CONVENTION is correctly
preceded by a check of the type's TYPE_CODE (making sure that it is
TYPE_CODE_FUNC).
gdb/ChangeLog:
* ppc-sysv-tdep.c (do_ppc_sysv_return_value): Do not check
FUNC_TYPE's calling convention if FUNC_TYPE is not a function.
Pedro Alves [Mon, 24 Oct 2011 14:25:52 +0000 (14:25 +0000)]
2011-10-24 Pedro Alves <pedro@codesourcery.com>
gdb/
* linux-nat.c (linux_handle_extended_wait): When handling a clone
event, in non-stop, if not stopping, make sure the new lwp has
last_resume_kind set to resume_continue. Assert that when we're
resuming the new lwp, its last_resume_kind is resume_continue.