Commit graph

29180 commits

Author SHA1 Message Date
Doug Evans
d234ef5c0c * 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.
2011-10-27 15:46:11 +00:00
Tom Tromey
d849d44f82 * ada-lang.h (ada_start_decode_line_1, ada_finish_decode_line_1)
(ada_sals_for_line): Remove declarations.
2011-10-27 15:32:15 +00:00
Kevin Pouget
2231f1fb60 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.
2011-10-27 11:04:27 +00:00
Phil Muldoon
f77b9a5df0 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.
2011-10-27 10:29:58 +00:00
Phil Muldoon
76dce0be7b 2011-10-27 Phil Muldoon <pmuldoon@redhat.com>
* python/py-breakpoint.c (bppy_set_enabled): Use TRY_CATCH.
	(bppy_set_task): Ditto.
	(bppy_delete_breakpoint): Ditto.
	* python/py-symbol.c (gdbpy_lookup_symbol): Ditto.
	(gdbpy_lookup_global_symbol): Ditto.
	* python/py-lazy-string.c (stpy_convert_to_value): Ditto.
	* python/py-frame.c (frapy_is_valid): Ditto.
	(frame_info_to_frame_object): Ditto.
	* python/py-type.c (typy_lookup_type): Ditto.
	(typy_getitem): Ditto.
	(typy_has_key): Ditto.
	(typy_richcompare): Use TRY_CATCH.  Do not return Py_NE on error.
2011-10-27 09:14:27 +00:00
gdbadmin
d848dec6d9 *** empty log message *** 2011-10-27 00:00:02 +00:00
Joel Brobecker
f17b69551b Regenerate gdbarch.h
Not sure why, but the version currently checked in as an extraneous
trailing whitespace that showed up as a diff when I reran gdbarch.sh.

gdb/ChangeLog:

        * gdbarch.h: Regenerate.
2011-10-26 21:23:55 +00:00
Joel Brobecker
86ba104287 Fix 'sprintf' of potential NULL pointer in 'maint print arch'
gdb/
        * gdbarch.sh (function_list): Use 'pstring' when printing
        'gcore_bfd_target'.
        * gdbarch.c: Regenerate.
2011-10-26 18:21:38 +00:00
Ulrich Weigand
c34fd85260 * regcache.c (registers_changed_ptid): Invalidate thread architecture
and frame caches if PTID refers to all threads of a process.
2011-10-26 17:32:00 +00:00
Ulrich Weigand
931bb47f45 * spu-tdep.c (spu_catch_start): Pass non-NULL breakpoint ops
to create_breakpoint.
2011-10-26 17:26:29 +00:00
Ulrich Weigand
88aed45eb4 * 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.
2011-10-26 17:21:53 +00:00
Paul Koning
5110b5dfaa * gdb.texinfo (gdb.types): Document new deepitems function. 2011-10-26 15:10:38 +00:00
Paul Koning
ab964825cc * gdb.python/lib-types.cc (struct A): New structure.
* gdb.python/lib-types.exp (deepitems): New tests.
2011-10-26 15:10:11 +00:00
Paul Koning
3eaf3fa296 * python/lib/gdb/types.py (deepitems): New function. 2011-10-26 15:09:40 +00:00
gdbadmin
4f4a26fabb *** empty log message *** 2011-10-26 00:00:03 +00:00
Paul Koning
54d8a6445f * gdb.python/py-value.exp: Add testcases for is_lazy attribute,
fetch_lazy method.
2011-10-25 18:35:49 +00:00
Paul Koning
22dbab4672 PR python/13327
* gdb.texinfo (Values From Inferior): Add is_lazy attribute,
fetch_lazy method.
2011-10-25 18:35:19 +00:00
Paul Koning
913460fcde 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.
2011-10-25 18:34:51 +00:00
gdbadmin
977888b990 *** empty log message *** 2011-10-25 00:00:32 +00:00
Joel Brobecker
2b5b9d09ed [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:

    (gdb) call debug.trace (me, "You")
    [1]    32737 segmentation fault /path/to/gdb

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.
2011-10-24 16:51:36 +00:00
Pedro Alves
e21ffe51c9 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.
2011-10-24 14:25:52 +00:00
Pedro Alves
7aee8dc2c2 2011-10-24 Pedro Alves <pedro@codesourcery.com>
gdb/
	* infrun.c (handle_inferior_event): Don't assume inferior_ptid is
	already set when marking the event thread as not executing in
	non-stop mode.
2011-10-24 14:09:20 +00:00
Pedro Alves
4b4e080e83 2011-10-24 Pedro Alves <pedro@codesourcery.com>
gdb/
	* infrun.c (handle_inferior_event): Add debug output for
	TARGET_WAITKIND_NO_HISTORY.
2011-10-24 14:01:12 +00:00
Yao Qi
b022178194 gdb/testsuite/
* lib/gdb.exp (can_single_step_to_signal_handler): Return 0 when
	target is tic6x-*-*.
2011-10-24 13:51:20 +00:00
Phil Muldoon
baacfb07fc 2011-10-24 Phil Muldoon <pmuldoon@redhat.com>
* NEWS: Move set/show extended-prompt to "New Options". Expand
	description. Fix typos.
2011-10-24 11:49:26 +00:00
Phil Muldoon
8432bc4103 2011-10-24 Phil Muldoon <pmuldoon@redhat.com>
PR python/13310

	* python/py-param.c (call_doc_function): Correctly deference on
	function exit.
2011-10-24 11:39:50 +00:00
gdbadmin
957ff1ca67 *** empty log message *** 2011-10-24 00:00:03 +00:00
gdbadmin
9784852956 *** empty log message *** 2011-10-23 00:00:32 +00:00
gdbadmin
2954ce4ce4 *** empty log message *** 2011-10-22 00:00:33 +00:00
Joel Brobecker
6cda5a2082 [Ada] Fix number of lines in -ada-task-info output
When using the new -ada-task-info command with an argument,
the output would say that there are N entries in the returned
table, (where N is the total number of tasks present in the inferior).
But, in fact, the table would only contain at most 1 entry.

This patch fixes this by properly computing the number of
tasks being displayed before giving it to the uiout.

gdb/ChangeLog:

        * ada-tasks.c (print_ada_task_info): Fix computation of
        number of tasks displayed in command output.

gdb/testsuite/ChangeLog:

        * gdb.ada/mi_task_info/task_switch.adb: New file.
        * gdb.ada/mi_task_info.exp: New file.
2011-10-21 18:46:06 +00:00
Jan Kratochvil
5ed9db04f8 gdb/testsuite/
* gdb.cp/expand-psymtabs-cxx.exp: New file.
	* gdb.cp/expand-psymtabs-cxx.cc: New file.
2011-10-21 16:31:17 +00:00
gdbadmin
a27f53a7cb *** empty log message *** 2011-10-21 00:00:33 +00:00
Jan Kratochvil
13294f7d62 gdb/
* dwarf2-frame-tailcall.c: Include dwarf2-frame.h.
	(dwarf2_tailcall_prev_register_first): Use dwarf2_frame_cfa.
	(dwarf2_tailcall_sniffer_first): Remove variable pc_regnum.  Replace
	gdbarch_pc_regnum and frame_unwind_register_unsigned by
	gdbarch_unwind_pc.
2011-10-20 23:57:23 +00:00
Cary Coutant
460c1c54b4 * dwarf2read.c (dw2_get_file_names): Move adjustment for type
section to...
	(partial_read_comp_unit_head): ...here.  Add is_debug_type_section
	flag.  Adjust all callers.
	(process_psymtab_comp_unit): Remove adjustment for type section.
2011-10-20 23:13:01 +00:00
Aleksandar Ristovski
a10964d12c * cp-namespace.c (cp_scan_for_anonymous_namespaces): Changed function
arguments by adding OBJFILE.  Instead of getting objfile from
	symbol's symtab, use new argument OBJFILE.
	* cp-support.h (cp_scan_for_anonymous_namespaces): Changed function
	arguments by adding OBJFILE.
	* gdb/dwarf2read.c (new_symbol_full): Change call to
	cp_scan_for_anonymous_namespaces to match new signature.
	* gdb/stabsread.c (define_symbol): Change call to
	cp_scan_for_anonymous_namespaces to match new signature.
2011-10-20 20:06:14 +00:00
Phil Muldoon
27ca1a5b08 2011-10-20 Phil Muldoon <pmuldoon@redhat.com>
PR python/13308
        PR python/13309

	* python/py-breakpoint.c (gdbpy_breakpoints): Fix List reference
	leak.
	* python/py-inferior.c (gdbpy_inferiors): Fix List reference
	leak.  Delete unused variables.
2011-10-20 13:34:17 +00:00
Phil Muldoon
9df2fbc4c1 2011-10-20 Phil Muldoon <pmuldoon@redhat.com>
PR python/12656

	* python/py-frame.c (frapy_read_var): Use const struct *block.
	* python/py-type.c (typy_lookup_typename): Likewise.
	(typy_lookup_type): Likewise.
	(typy_legacy_template_argument): Likewise.
	(typy_template_argument): Likewise.
	(gdbpy_lookup_type): Likewise.
	* python/py-symbol.c (gdbpy_lookup_symbol): Likewise.
	* python/py-block.c (blpy_block_object): Likewise.
	(blpy_iter): Likewise.
	(blpy_get_start): Likewise.
	(blpy_get_end): Likewise.
	(blpy_get_function): Likewise.
	(blpy_get_superblock): Likewise.
	(set_block):  Likewise.
	(block_to_block_object): Likewise.
	(block_object_to_block): Likewise.
	(blpy_is_valid): Likewise.
	(blpy_get_global_block): New function.
	(blpy_get_static_block): New function.
	(blpy_is_global): New function.
	(blpy_is_static): New function.
	* blockframe.c (block_innermost_frame): Likewise.
	* valops.c (value_of_variable): Likewise.
	* frame.h: Update prototypes.
	* python/python-internal.h: Likewise.
	* value.h: Likewise.

2011-10-20  Phil Muldoon  <pmuldoon@redhat.com>

	PR python/12656

	* gdb.texinfo (Blocks In Python): Document is_static, is_global,
	global_block, static_block function.

2011-10-20  Phil Muldoon  <pmuldoon@redhat.com>

	PR python/12656

	* gdb.python/py-block.exp: Add is_global, is_static, static_block,
	global_block tests.
2011-10-20 12:31:30 +00:00
Cary Coutant
4743b73565 * dwarf2read.c (create_debug_types_hash_table): Fix size of
type_offset field.
2011-10-20 01:11:34 +00:00
gdbadmin
5b1c20602a *** empty log message *** 2011-10-20 00:00:03 +00:00
Tom Tromey
f05e2e1de6 * gdb.texinfo (Commands In Python): Add missing "@"s. 2011-10-19 17:51:01 +00:00
Cary Coutant
6caca83cb8 * dwarf2read.c (peek_abbrev_code): New function.
(dw2_get_file_names): Check for dummy compilation units.
	(create_debug_types_hash_table): Likewise.
	(process_psymtab_comp_unit): Likewise.
	(load_partial_comp_unit): Likewise.
	(load_full_comp_unit): Likewise.
2011-10-19 15:26:30 +00:00
gdbadmin
01b701aae6 *** empty log message *** 2011-10-19 00:00:32 +00:00
Tom Tromey
736086bae2 * gdb.base/jit-so.exp (one_jit_test): Remove spurious backslash. 2011-10-18 16:55:43 +00:00
Tom Tromey
4af315526a * gdb.base/source.exp: Don't include full file name in test name.
* gdb.python/python.exp: Don't include full file name in test
	name.
2011-10-18 14:14:01 +00:00
Aleksandar Ristovski
4313697959 * solib-svr4.c (read_program_header): New variables pt_phdr, pt_phdr_p,
initialize them from target PT_PHDR p_vaddr, relocate sect_addr by
	pt_phdr if PT_PHDR was found.

	* gdb.base/attach-pie-noexec.c: New files.
	* gdb.base/attach-pie-noexec.exp: New files.
2011-10-18 14:00:42 +00:00
gdbadmin
41835e6a39 *** empty log message *** 2011-10-18 00:00:32 +00:00
Joseph Myers
543a932338 * lib/gdb.exp (gdb_test_multiple): Expect newline and secondary
prompt for each extra line in command.
2011-10-17 17:10:55 +00:00
Tom Tromey
0a07729b43 2011-10-17 Joost van der Sluis <joost@cnoc.nl>
* gdbtypes.h: Added TYPE_SAFE_NAME macro to get the name of a
	type or "<unnamed type"> when there is no name assigned.
	* gnu-v3-abi.c (gnuv3_rtti_type): Use TYPE_SAFE_NAME macro to
	avoid a sigint when no name is assigned.
2011-10-17 14:04:37 +00:00
Jan Kratochvil
21ae7a4d84 gdb/
Revert:
	2011-07-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
        * dwarf2expr.c (ctx_no_read_reg): New function.
        * dwarf2expr.h (ctx_no_read_reg): New declaration.
        * dwarf2read.c (read_2_signed_bytes, read_4_signed_bytes): Remove.
        (decode_locdesc_read_mem, decode_locdesc_ctx_funcs): New.
        (decode_locdesc): Replace by a caller of dwarf_expr_eval.

gdb/testsuite/
	* gdb.dwarf2/dw2-simple-locdesc.exp (p &s.shl): KFAIL it.
	Revert the part of:
	2011-07-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
	* gdb.dwarf2/dw2-stack-boundary.exp (check partial symtab errors):
	Change the expected string.
2011-10-17 12:57:15 +00:00
gdbadmin
c3797e3d05 *** empty log message *** 2011-10-17 00:00:03 +00:00