Commit graph

3118 commits

Author SHA1 Message Date
Jan Kratochvil
4ac3663827 gdb/
Fix parsing DW_AT_const_value using DW_FORM_string.
	* dwarf2read.c (dwarf2_const_value <DW_FORM_string>): New.

gdb/testsuite/
	* gdb.dwarf2/dw2-strp.exp (p a_string2, ptype a_string2): New.
	* gdb.dwarf2/dw2-strp.S (a_string2): New.
2009-05-21 07:15:47 +00:00
Jon Beniston
c28c63d86b gdb/
2009-05-18  Jon Beniston <jon@beniston.com>

        * MAINTAINERS: Add lm32 target.
        * Makefile.in: Add lm32 dependencies.
        * NEWS: Indicate lm32 is a new target.
        * configure.tgt: Add lm32 targets.
        * lm32-tdep.c: New file.

gdb/testsuite
2009-05-18  Jon Beniston <jon@beniston.com>

        * gdb.asm/asm-source.exp: Add lm32 target.

include/gdb/
2009-05-18  Jon Beniston <jon@beniston.com>

        * sim-lm32.h: New file.

sim/
2009-05-18  Jon Beniston <jon@beniston.com>

        * MAINTAINERS: Add Jon Beniston as maintainer of lm32 sim.
        * configure.ac: Add lm32 target.
        * lm32: New directory.

sim/common
2009-05-18  Jon Beniston <jon@beniston.com>

        * gennltvals.sh: Add lm32 target.
        * nltvals.def: Add lm32 syscall definitions.

sim/lm32/
2009-05-18  Jon Beniston <jon@beniston.com>

        * Makefile.in: New file.
        * arch.c: New file.
        * arch.h: New file.
        * config.in: New file.
        * configure: New file.
        * configure.ac: New file.
        * cpu.c: New file.
        * cpu.h: New file.
        * cpuall.h: New file.
        * decode.c: New file.
        * decode.h: New file.
        * dv-lm32cpu.c: New file.
        * dv-lm32timer.c: New file.
        * dv-lm32uart.c: New file.
        * lm32.c: New file.
        * lm32-sim.h: New file.
        * mloop.in: New file.
        * model.c: New file.
        * sem.c: New file.
        * sem-switch.c: New file.
        * sim-if.c: New file.
        * sim-main.c: New file.
        * tconfig.in: New file.
        * traps.c: New file.
        * user.c: New file.
2009-05-18 13:25:35 +00:00
Pedro Alves
b242c3c237 gdb/
2009-05-17  Pedro Alves  <pedro@codesourcery.com>

	* infrun.c (handle_inferior_event): When handling a
	TARGET_WAITKIND_FORKED, detach breakpoints from the fork child
	immediatelly.
	* linux-nat.c (linux_child_follow_fork): Only detach breakpoint
	from the child if vforking.
	* inf-ptrace.c (inf_ptrace_follow_fork): No need to detach
	breakpoints from the child here.

gdb/testsuite/
2009-05-17  Pedro Alves  <pedro@codesourcery.com>

	* gdb.base/foll-fork.c: Include stdlib.h.  Add markers for
	`gdb_get_line_number'.  Call `callee' in both parent and child.
	* gdb.base/foll-fork.exp (catch_fork_child_follow): Use
	`gdb_get_line_number' instead of hardcoding line numbers.
	(catch_fork_unpatch_child): New procedure to test detaching
	breakpoints from child fork.
	(tcatch_fork_parent_follow): Use `gdb_get_line_number' instead of
	hardcoding line numbers.
	(do_fork_tests): Run `catch_fork_unpatch_child'.
2009-05-17 19:20:33 +00:00
Vladimir Prus
ee342b2344 Always report varobj as changed when in_scope attribute changes.
* varobj.c (install_new_value): If non-NULL-ness of value
	changed, return 1.
2009-05-17 07:13:19 +00:00
Doug Evans
e2009e9879 * gdb.mi/nsintrall.c (main): Fix off-by-one error.
* gdb.threads/pending-step.c (main): Fix off-by-one error.
	* gdb.threads/schedlock.c (main): Fix off-by-one error.
2009-05-11 16:24:14 +00:00
Jan Kratochvil
0090345643 gdb/
Fix internal error on breaking at a multi-locations caller source line.
	* breakpoint.c (parse_breakpoint_sals): Set EXPLICIT_PC for the `break'
	command with no parameters.

gdb/testsuite/
	* gdb.cp/expand-sals.exp, gdb.cp/expand-sals.cc: New.
2009-05-11 15:05:56 +00:00
Doug Evans
dc621c3587 * gdb.threads/watchthreads2.exp: New testcase.
* gdb.threads/watchthreads2.c: New testcase.
2009-04-30 18:25:51 +00:00
Doug Evans
9ab4e74422 * gdb.cp/mb-ctor.exp: Add multi-line source statement test.
* gdb.cp/mb-ctor.cc: Ditto.
	* gdb.cp/mb-inline.exp: Add multi-line source statement test.
	* gdb.cp/mb-inline.h (multi_line_foo): New function.
	* gdb.cp/mb-inline1.cc: Call it.
	* gdb.cp/mb-inline2.cc: Ditto.
	* gdb.cp/mb-templates.exp: Add multi-line source statement test.
	* gdb.cp/mb-templates.cc (multi_line_foo): New template.
2009-04-29 22:45:11 +00:00
Jan Kratochvil
484086b7e0 gdb/
* macrocmd.c (info_macro_command): Print -Dname=value if LINE is zero.

gdb/doc/
	* gdb.texinfo (Macros): Note command-line for `info macro'.  Append
	a new part on command-line defined macros.

gdb/testsuite/
	* gdb.base/macscp.exp: New `options' parameter `-DFROM_COMMANDLINE'.
	(info_macro): Remova `decimal' declaration.  New variable `nonzero'.
	Replace all uses of `decimal' by `nonzero'.
	(info macro FROM_COMMANDLINE): New test.
2009-04-29 07:51:33 +00:00
Tom Tromey
379a77b548 gdb
* c-exp.y (yylex): Handle '[' and ']' like '(' and ')'.
gdb/testsuite
	* gdb.base/printcmds.exp (test_printf): Test comma operator in [].
2009-04-28 01:03:24 +00:00
Doug Evans
b92b73c2f6 * gdb.threads/watchthreads.c (main): Initialize args before starting
the threads.  Plus formatting cleanup.
	* gdb.threads/watchthreads.exp: Avoid errant failures due to
	biased scheduling of one thread.
2009-04-27 15:38:43 +00:00
Jerome Guitton
945a118de0 * gdb.cp/templates.cc (GetMax): New template.
(main): Declare two instances of GetMax.
	* gdb.cp/templates.exp: Add new test.
2009-04-27 12:14:09 +00:00
Jan Kratochvil
d389af10b7 gdb/
PR gdb/9675:
	* dwarf2read.c (unsigned_int_compar, inherit_abstract_dies): New.
	(read_func_scope): Call inherit_abstract_dies.

gdb/testsuite/
	* gdb.cp/abstract-origin.exp, gdb.cp/abstract-origin.cc: New test.
2009-04-27 08:36:17 +00:00
Joseph Myers
e7f86de9ac * lib/gdb.exp (get_compiler_info): Use -E -o in remote-host case. 2009-04-22 19:46:19 +00:00
Tom Tromey
334cc82d44 gdb
* c-lang.c (evaluate_subexp_c): Correctly handle EVAL_SKIP.
gdb/testsuite
	* gdb.base/charset.exp: Add regression test.
2009-04-15 21:55:04 +00:00
Joel Brobecker
d12672ccc7 * gdb.base/exe-lock.exp: New testcase. 2009-04-14 16:49:57 +00:00
Tom Tromey
18e8c3bc8a gdb
* python/python-frame.c (frapy_richcompare): Return
	Py_NotImplemented, not an error.  Handle Py_NE as well.
gdb/testsuite
	* gdb.python/python-frame.exp (gdb_py_test_silent_cmd): Test !=
	operator on Frame.
2009-04-13 20:54:59 +00:00
Ulrich Weigand
5ecd5cbe98 * gdb.base/attach.exp: Re-enable for spu*-*-* targets.
* gdb.server/ext-attach.exp: Likewise.
2009-04-03 14:37:04 +00:00
Vladimir Prus
7309f75664 Eliminate some sleep usage.
* gdb.mi/basics.c (do_nothing): New.
        (main): Use do_nothing instead of printf, so that
        not to introduce race condition between output of
        inferiour and output of gdb. Do not use sleep as it
        is not generally available on embedded targets.
2009-04-03 11:23:19 +00:00
Pedro Alves
f4b95f6ffd * gdb.server/ext-attach.exp: Expect an optional process id after
"Detached from remote process".
2009-04-02 22:40:10 +00:00
Jan Kratochvil
de40b933e2 gdb/
* dwarf2read.c
	(new_symbol <DW_TAG_variable> <!DW_AT_location> <DW_AT_external>):
	Create the symbol in local scope.
	* symtab.h (cu->list_in_scope <LOC_UNRESOLVED>): New comment part.

gdb/testsuite/
	* gdb.dwarf2/dw2-unresolved-main.c, gdb.dwarf2/dw2-unresolved.S,
	gdb.dwarf2/dw2-unresolved.exp: New.
2009-04-02 21:01:41 +00:00
Pedro Alves
2ae101a454 * gdb.mi/mi-nonstop-exit.exp: Don't check isnative. Use
mi_run_to_main.
2009-04-02 16:11:48 +00:00
Pedro Alves
56a8e183d2 * gdb.mi/mi-nonstop.exp: Don't check isnative. Use
mi_run_to_main.  Skip thread exit test on remote targets.
	* gdb.mi/mi-nsintrall.exp: Don't check isnative.  Use
	mi_run_to_main.
	* gdb.mi/mi-nsmoribund.exp: Don't check isnative.  Use
	mi_run_to_main.
	* lib/mi-support.exp (mi_gdb_target_cmd): Remove trailing anchor
	when expecting ^connected.  Detect when the target doesn't support
	non-stop mode.
	(mi_run_cmd): Detect if non-stop mode was requested by isn't
	supported.  Return -1 on error, 0 on success.
	(mi_runto_helper): Don't expect a stop if mi_run_cmd failed.
	(mi_runto): Return mi_runto_helper's result explicitly.
2009-04-02 15:43:10 +00:00
Pedro Alves
c35fafde7c gdb/gdbserver/
* linux-low.c (linux_wait_for_event): Don't clear the `stepping'
	flag.
	(wait_for_sigstop): Don't leave a finished single-step SIGTRAP
	pending.
	(linux_continue_one_thread): Only preserve the stepping flag if
	there's a pending breakpoint.

gdb/testsuite/

	* gdb.threads/pending-step.c, gdb.threads/pending-step.exp: New.
2009-04-01 22:25:44 +00:00
Joel Brobecker
f8a8dce68f * gdb.base/funcargs.exp: Set print frame-arguments to "all".
* gdb.base/call-ar-st.exp: Set print frame-arguments to "all".
        * gdb.ada/ref_param.exp: Set print frame-arguments to "all".
        * gdb.ada/lang_switch.exp: Set print frame-arguments to "all".
2009-04-01 22:08:03 +00:00
Tom Tromey
71c25deab3 gdb
2009-03-31  Daniel Jacobowitz  <dan@codesourcery.com>
	    Keith Seitz  <keiths@redhat.com>
	    Jan Kratochvil  <jan.kratochvil@redhat.com>

	PR gdb/6817
	* Makefile.in (dbxread.o): Update.
	* dbxread.c (read_dbx_symtab): Use cp_canonicalize_string.
	* dwarf2read.c (GDB_FORM_cached_string): New.
	(read_partial_die): Use dwarf2_canonicalize_name.
	(dwarf2_linkage_name): Use dwarf2_name.
	(dwarf2_canonicalize_name): New.
	(dwarf2_name): Use dwarf2_canonicalize_name.
	(dwarf_form_name, dump_die): Handle GDB_FORM_cached_string.
	* stabsread.c (define_symbol, read_type): Use cp_canonicalize_string.
	* symtab.c (lookup_symbol_in_language): Canonicalize input before
	searching.
	* cp-name-parser.y: operator() requires two parameters,
	according to libiberty.
	* minsyms.c (lookup_minimal_symbol): Canonicalize input
	before searching.
	* NEWS: Update.

gdb/testsuite

2009-03-31  Daniel Jacobowitz  <dan@codesourcery.com>
	    Jan Kratochvil  <jan.kratochvil@redhat.com>

	PR gdb/931
	* gdb.cp/gdb1355.exp (f_li, f_lui, f_si, f_sui): Allow canonical
	output.
	* gdb.cp/templates.exp: Allow canonical output.  Remove KFAILs
	for gdb/931.
	* dw2-strp.S (DW_AT_language): Change to C++.
	(DW_TAG_variable (name ""), Abbrev code 7, .Lemptyname): New.
2009-03-31 20:21:08 +00:00
Joel Brobecker
02d9a9cebf * gdb.ada/tasks: New testcase. 2009-03-31 16:48:49 +00:00
Stan Shebs
1042e4c058 2009-03-30 Stan Shebs <stan@codesourcery.com>
Make tracepoints into a type of breakpoint.
	* breakpoint.h (enum bptype): Add bp_tracepoint.
	(struct breakpoint): Add fields step_count, pass_count, actions.
	(get_tracepoint, get_tracepoint_by_number): Declare.
	(all_tracepoints): Declare.
	* breakpoint.c: Include tracepoint.h, readline.h.
	(ALL_TRACEPOINTS): Move here from tracepoint.c.
	(tracepoint_count): Ditto.
	(should_be_inserted): GDB does not insert tracepoints itself.
	(print_it_typical): Add tracepoint case.
	(bpstat_what): Ditto.
	(print_one_breakpoint_location): Ditto, and add printing for
	pass count, step count, and action list.
	(user_settable_breakpoint): Add tracepoint case.
	(allocate_bp_location): Ditto.
	(set_breakpoint_location_function): Ditto.
	(disable_breakpoints_in_shlibs): Ditto.
	(mention): Ditto.
	(break_command_really): Add argument traceflag, use to choose
	basic breakpoint type.
	(break_command_1): Pass extra argument.
	(set_breakpoint, handle_gnu_v3_exceptions): Ditto.
	(breakpoint_re_set_one): Add tracepoint case.
	(disable_command, enable_command): Ditto.
	(set_tracepoint_count): Move here from tracepoint.c.
	(trace_command): Move here from tracepoint.c and use
	break_command_really.
	(tracepoints_info): Move here from tracepoint.c and call
	breakpoints_info.
	(enable_trace_command): Move here from tracepoint.c and call
	enable_command.
	(disable_trace_command): Move here from tracepoint.c and call
	disable_command.
	(delete_trace_command): Move here from tracepoint.c and call
	delete_breakpoint.
	(trace_pass_command): Move here from tracepoint.c.
	(get_tracepoint_by_number): Ditto.
	(tracepoint_save_command): Ditto.
	(get_tracepoint): New function.
	(all_tracepoints): New function.
	(_initialize_breakpoint): Move tracepoint init from tracepoint.c,
	deprecate "enable trace" and "disable trace" commands.
	* tracepoint.h (struct tracepoint): Remove.
	(tracepoint_chain): Remove decl.
	(deprecated_create_tracepoint_hook): Remove decl.
	(deprecated_delete_tracepoint_hook): Remove decl.
	(deprecated_modify_tracepoint_hook): Remove decl.
	(ALL_TRACEPOINTS, ALL_TRACEPOINTS_SAFE): Remove.
	(free_actions): Update signature.
	(validate_actionline): Update signature.
	(end_actions_pseudocommand): Declare.
	(while_stepping_pseudocommand): Declare.
	* tracepoint.c: Include breakpoint.h.
	(tracepoint_chain, tracepoint_count): Remove.
	(free_actions, make_cleanup_free_actions): Update signature.
	(trace_command, set_raw_tracepoint): Remove.
	(trace_mention): Remove.
	(tracepoints_info): Remove.
	(tracepoint_operation, map_args_over_tracepoints): Remove.
	(get_tracepoint_by_number): Remove.
	(enable_trace_command, disable_trace_command): Remove.
	(delete_trace_command, trace_pass_command): Remove.
	(trace_actions_command, read_actions): Update signature.
	(validate_actionline): Update signature, use bp loc.
	(encode_actions): Ditto.
	(download_tracepoint): New function, body of trace_start_command.
	(trace_start_command): Call it, use all_tracepoints.
	(tracepoint_save_command): Remove.
	(tracepoint_dump_command): Use get_tracepoint.
	(end_actions_pseudocommand): Make globally visible.
	(while_stepping_pseudocommand): Ditto.
	(_initialize_tracepoint): Move command definitions to breakpoint.c.

	doc/
	* gdb.texinfo (Tracepoints): Describe tracepoints as a
	special case of breakpoints.
	(Enable and Disable Tracepoints): Mention deprecation.
	(Listing Tracepoints): Update description and example.

	testsuite/
	* gdb.trace/actions.exp: Update to match new info trace format.
	* gdb.trace/deltrace.exp: Ditto.
	* gdb.trace/infotrace.exp: Ditto.
	* gdb.trace/passcount.exp: Ditto.
	* gdb.trace/save-trace.exp: Ditto.
	* gdb.trace/while-stepping.exp: Ditto.
	* gdb.trace/tracecmd.exp: Ditto, plus don't allow pending option.

	gdbtk/
	* generic/gdbtk-bp.c (gdb_actions_command): Update to handle
	tracepoints as breakpoints.
	(gdb_get_tracepoint_info): Ditto, plus use get_tracepoint and
	breakpoint locations.
	(tracepoint_exists): Ditto, plus use all_tracepoints.
2009-03-31 05:08:37 +00:00
Thiago Jung Bauermann
f8f6f20b6e gdb/
Expose frames to Python.
	* Makefile.in (SUBDIR_PYTHON_OBS): Add python-frame.o.
	(SUBDIR_PYTHON_SRCS): Add python-frame.c.
	(python-frame.o): New target.
	* python/python-frame.c: New file.
	* python/python-internal.h (gdbpy_frames, gdbpy_newest_frame,
	gdbpy_frame_stop_reason_string, gdbpy_selected_frame,
	gdbpy_initialize_frames): New prototypes.
	* python/python.c (_initialize_python): Call gdbpy_initialize_frames.
	(GdbMethods): Add `selected_frame' and `frame_stop_reason_string'
	entries.
	* stack.c (find_frame_funname): New function, factored out of
	print_frame.
	(print_frame): Call find_frame_funname.
	* stack.h (find_frame_funname): Add prototype.

gdb/doc/
	* gdb.texinfo (Frames in Python): New node.
	(Python API): Update.

gdb/testsuite/
	* gdb.python/python-frame.c: New file.
	* gdb.python/python-frame.exp: New file.
2009-03-30 19:54:33 +00:00
Thiago Jung Bauermann
c0c6f77785 gdb/
Change gdb.Value.address from a method to an attribute.
	* python/python-value.c (value_object): Add `address' element.
	(valpy_dealloc): Decrement reference to self->address if set.
	(valpy_new): Initialize val_obj->address.
	(valpy_address): Rename to ...
	(valpy_get_address): ... this.  Change signature from method to
	attribute.  Update self->address if not set.
	(value_to_value_object): Initialize val_obj->address.
	(value_object_getset): Add `address' element.
	(value_object_methods): Remove `address' element.

gdb/testsuite/
	* gdb.python/python-value.exp: Add tests for the address
	attribute.

gdb/doc/
	* gdb.texinfo (Values From Inferior): Change gdb.Value.address
	from a method to an attribute.
2009-03-29 21:11:11 +00:00
Andreas Schwab
3cb5190557 * gdb.arch/powerpc-prologue.exp: Update for disassemble-next-line. 2009-03-29 14:52:54 +00:00
Doug Evans
88fc996f58 * thread.c (do_restore_current_thread_cleanup): Redo test for
whether to restore old->inferior_ptid.

	* gdb.mi/mi-nonstop-exit.exp: New file.
	* gdb.mi/non-stop-exit.c: New file.
2009-03-27 02:44:51 +00:00
Tom Tromey
56ef84b1f1 gdb
* breakpoint.c (resolve_sal_pc): Preserve original line number
	when skipping prologue.
gdb/testsuite
	Update for change to prologue skipping:
	* gdb.mi/mi2-simplerun.exp: Update.
	* gdb.mi/mi2-break.exp: Update.
	* gdb.mi/mi-simplerun.exp: Update.
	* gdb.mi/mi-break.exp: Update.
	* gdb.base/ending-run.exp: Update.
2009-03-26 23:30:12 +00:00
Thiago Jung Bauermann
def2b0009c gdb/
Add gdb.Value.is_optimized_out attribute.
	* python/python-value.c (valpy_get_is_optimized_out): New
	function.
	(value_object_getset): New variable.
	(value_object_type): Initialize tp_getset element.

gdb/doc/
	* gdb.texinfo (Values From Inferior): Document is_optimized_out
	attribute.

gdb/testsuite/
	* gdb.python/python-value.exp (test_value_in_inferior): Test
	gdb.Value.is_optimized_out attribute.
2009-03-26 20:58:11 +00:00
Jan Kratochvil
442ddf5987 gdb/
Recognize missing DW_AT_location as <value optimized out>.
	* dwarf2read.c
	(new_symbol <DW_TAG_variable> <!DW_AT_location> <!DW_AT_external>):
	Call add_symbol_to_list.

gdb/testsuite/
	* gdb.dwarf2/dw2-noloc-main.c: New file.
	* gdb.dwarf2/dw2-noloc.S: New symbols matrix.
	(.text): Remove.
	(.data): New.
	(DW_AT_stmt_list, .debug_line, DW_AT_frame_base): Remove.
	(DW_AT_low_pc, DW_AT_high_pc): Reference `dw2-noloc-main.c'.
	(DW_TAG_subprogram func_cu1, noloc): Remove.
	(main): New.
	* gdb.dwarf2/dw2-noloc.exp: Use prepare_for_testing, compile also
	`dw2-noloc-main.c'.  Test the new DIEs from `dw2-noloc.S'.
	(file_symbols): New procedure.
2009-03-26 14:47:19 +00:00
Tom Tromey
a8df5de46d * gdb.base/charset.exp (valid_target_charset): New proc.
Use it to skip tests on invalid charsets.
2009-03-25 19:25:49 +00:00
Pierre Muller
cc1d7add9b * gdb.base/completion.exp: Add a test for directory completion. 2009-03-25 10:52:22 +00:00
Jan Kratochvil
bcd5727bdd Fix a racy FAIL.
* gdb.base/auxv.exp (fetch_auxv): Fix trailing newlines consumption.
	* gdb.base/callfuncs.exp (fetch_all_registers): Likewise.
2009-03-22 21:11:45 +00:00
Thiago Jung Bauermann
cc924cad91 gdb/
2009-03-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Jim Blandy  <jimb@red-bean.com>
	    Thiago Jung Bauermann  <bauerman@br.ibm.com>
	    Tom Tromey  <tromey@redhat.com>

	Miscellaneous fixes to the Python code.
	* python/python-cmd.c (cmdpy_init): Accept keyword
	arguments.
	* python/python-value.c (valpy_string): Accept keyword
	arguments.
	(valpy_binop): Use `break' to exit from the TRY_CATCH block.
	Do not call value_to_value_object on NULL RES_VAL.
	(value_object_methods): Change `string' entry to also accept
	keyword arguments.
	(convert_value_from_python): Return a copy of the value if obj is
	a gdb.Value object.
	(value_object_methods): Mark the `string' method as accepting
	keywords, and show method "prototype" in the doc string.
	* python/python.c (get_parameter): Don't return inside a
	TRY_CATCH.

gdb/doc/
2009-03-21  Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* gdb.texinfo (Values From Inferior): Fix optional arguments
	markup.
	(Commands In Python): Adjust argument names of gdb.Command.__init__
	to what the function accepts as keywords.

gdb/testsuite/
2009-03-21  Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* gdb.python/python-cmd.exp: Add tests for keyword arguments.
	* gdb.python/python-function.exp: Add test for function returning
	a GDB value.
2009-03-21 03:13:02 +00:00
Thiago Jung Bauermann
bc3b79fd1a gdb/
2009-03-05  Tom Tromey  <tromey@redhat.com>

	Add support for convenience functions in Python.
	* Makefile.in (SUBDIR_PYTHON_OBS): Add python-function.o.
	(SUBDIR_PYTHON_SRCS): Add python-function.c.
	(python-function.o): New target.
	* eval.c: Include "python/python.h" and <ctype.h>.
	(evaluate_subexp_standard): Handle values of type
	TYPE_CODE_INTERNAL_FUNCTION.
	* gdbtypes.h (type_code): Add TYPE_CODE_INTERNAL_FUNCTION.
	* parse.c (write_exp_string): Remove duplicate word in comment.
	* python/python-function.c: New file.
	* python/python-internal.h (gdbpy_initialize_functions): Add
	prototype.
	* python/python.c (_initialize_python): Call
	gdbpy_initialize_functions.
	* valprint.c (value_check_printable): Handle values of type
	TYPE_CODE_INTERNAL_FUNCTION.
	* value.c: Include "cli/cli-decode.h".
	(internal_function): New struct.
	(functionlist, internal_fn_type): New static variables.
	(lookup_only_internalvar,
	lookup_internalvar): Add const qualifier to name argument.
	(create_internalvar): Likewise.  Initialize new field.
	(set_internal_var): Fix typo in comment.  Don't allow assignment
	to canonical variable.
	(value_create_internal_function, value_internal_function_name,
	call_internal_function, function_command, function_destroyer,
	add_internal_function): New functions.
	(_initialize_values): Create `function' placeholder command.
	Initialize internal_fn_type.
	* value.h (lookup_only_internalvar, create_internalvar,
	lookup_internalvar): Add const qualifier to name argument.
	(internal_function_fn, add_internal_function, call_internal_function,
	value_internal_function_name): Add prototypes.
	(struct internalvar) <canonical>: New field.

gdb/doc/
2008-03-05  Tom Tromey  <tromey@redhat.com>

	* gdb.texinfo (Convenience Vars): Document convenience functions.
	(Functions In Python): New node.
	(Python API): Update.

gdb/testsuite/
2009-03-05  Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* gdb.python/python-function.exp: New file.
2009-03-21 03:03:56 +00:00
Tom Tromey
6c7a06a3fa gdb:
2009-03-19  Tom Tromey  <tromey@redhat.com>
	    Julian Brown  <julian@codesourcery.com>

	PR i18n/7220, PR i18n/7821, PR exp/8815, PR exp/9103,
	PR i18n/9401, PR exp/9613:
	* NEWS: Update
	* value.h (value_typed_string): Declare.
	(val_print_string): Update.
	* valprint.h (print_char_chars): Update.
	* valprint.c (print_char_chars): Add type argument.  Update.
	(val_print_string): Likewise.
	* valops.c (value_typed_string): New function.
	* utils.c (host_char_to_target): New function.
	(parse_escape): Use host_char_to_target, host_hex_value.  Update.
	Remove '^' case.
	(no_control_char_error): Remove.
	* typeprint.c (print_type_scalar): Update.
	* scm-valprint.c (scm_scmval_print): Update.
	* scm-lang.h (scm_printchar, scm_printstr): Update.
	* scm-lang.c (scm_printchar): Add type argument.
	(scm_printstr): Likewise.
	* printcmd.c (print_formatted): Update.
	(print_scalar_formatted): Update.
	(printf_command) <wide_string_arg, wide_char_arg>: New constants.
	Handle '%lc' and '%ls'.
	* parser-defs.h (struct typed_stoken): New type.
	(struct stoken_vector): Likewise.
	(write_exp_string_vector): Declare.
	* parse.c (write_exp_string_vector): New function.
	* p-valprint.c (pascal_val_print): Update.
	* p-lang.h (is_pascal_string_type, pascal_printchar,
	pascal_printstr): Update.
	* p-lang.c (is_pascal_string_type): Remove 'char_size' argument.
	Add 'char_type' argument.
	(pascal_emit_char): Add type argument.
	(pascal_printchar): Likewise.
	(pascal_printstr): Likewise.
	* objc-lang.c (objc_emit_char): Add type argument.
	(objc_printchar): Likewise.
	(objc_printstr): Likewise.
	* macroexp.c (get_character_constant): Handle unicode characters.
	Use c_parse_escape.
	(get_string_literal): Handle unicode strings.  Use
	c_parse_escape.
	* m2-valprint.c (print_unpacked_pointer): Update.
	(m2_print_array_contents): Update.
	(m2_val_print): Update.
	* m2-lang.c (m2_emit_char): Add type argument.
	(m2_printchar): Likewise.
	(m2_printstr): Likewise.
	* language.h (struct language_defn) <la_printchar>: Add type
	argument.
	<la_printstr, la_emitchar>: Likewise.
	(LA_PRINT_CHAR): Likewise.
	(LA_PRINT_STRING): Likewise.
	(LA_EMIT_CHAR): Likewise.
	* language.c (unk_lang_emit_char): Add type argument.
	(unk_lang_printchar): Likewise.
	(unk_lang_printstr): Likewise.
	* jv-valprint.c (java_val_print): Update.
	* jv-lang.c (java_emit_char): Add type argument.
	* f-valprint.c (f_val_print): Update.
	* f-lang.c (f_emit_char): Add type argument.
	(f_printchar): Likewise.
	(f_printstr): Likewise.
	* expprint.c (print_subexp_standard): Update.
	* charset.h (target_wide_charset): Declare.
	(c_target_char_has_backslash_escape, c_parse_backslash,
	host_char_print_literally, host_char_to_target,
	target_char_to_host, target_char_to_control_char): Remove.
	(enum transliterations): New type.
	(convert_between_encodings): Declare.
	(HOST_ESCAPE_CHAR): New define.
	(host_letter_to_control_character, host_hex_value): Declare.
	(enum wchar_iterate_result): New enum.
	(struct wchar_iterator): Declare.
	(make_wchar_iterator, make_cleanup_wchar_iterator, wchar_iterator,
	wchar_push_back): Declare.
	* charset-list.h: New file.
	* c-valprint.c (textual_name): New function.
	(textual_element_type): Handle wide character types.
	(c_val_print): Pass original type to textual_element_type.  Handle
	wide character types.
	(c_value_print): Use textual_element_type.  Pass original type of
	value to val_print.
	* c-lang.h (enum c_string_type): New type.
	(c_printchar, c_printstr): Update.
	* c-lang.c (classify_type): New function.
	(print_wchar): Likewise.
	(c_emit_char): Add type argument.  Handle wide characters.
	(c_printchar): Likewise.
	(c_printstr): Add type argument.  Handle wide and multibyte
	character sets.
	(convert_ucn): New function.
	(emit_numeric_character): Likewise.
	(convert_octal): Likewise.
	(convert_hex): Likewise.
	(ADVANCE): New macro.
	(convert_escape): New function.
	(parse_one_string): Likewise.
	(evaluate_subexp_c): Likewise.
	(exp_descriptor_c): New global.
	(c_language_defn): Use exp_descriptor_c.
	(cplus_language_defn): Likewise.
	(asm_language_defn): Likewise.
	(minimal_language_defn): Likewise.
	(charset_for_string_type): New function.
	* c-exp.y (%union): Add 'svec' and 'tsval'.
	(CHAR): New token.
	(exp): Add CHAR production.
	(string_exp): Rewrite.
	(exp) <string_exp>: Rewrite.
	(tempbuf): Now global.
	(tempbuf_init): New global.
	(parse_string_or_char): New function.
	(yylex) <tempbuf>: Now global.
	<tokptr, tempbufindex, tempbufsize, token_string, class_prefix>:
	Remove.
	Handle 'u', 'U', and 'L' prefixes.  Call parse_string_or_char.
	(c_parse_escape): New function.
	* auxv.c (fprint_target_auxv): Update.
	* ada-valprint.c (ada_emit_char): Add type argument.
	(ada_printchar): Likewise.
	(ada_print_scalar): Update.
	(printstr): Add type argument.  Update calls to ada_emit_char.
	(ada_printstr): Add type argument.
	(ada_val_print_array): Update.
	(ada_val_print_1): Likewise.
	* ada-lang.c (emit_char): Add type argument.
	* ada-lang.h (ada_emit_char, ada_printchar, ada_printstr): Add
	type arguments.
	* gdb_locale.h: Include langinfo.h.
	* charset.c (_initialize_charset): Set default host charset from
	the locale.  Don't register charsets.  Add target-wide-charset
	commands.  Call find_charset_names.
	(struct charset, struct translation): Remove.
	(GDB_DEFAULT_HOST_CHARSET): Remove.
	(GDB_DEFAULT_TARGET_WIDE_CHARSET): New define.
	(target_wide_charset_name): New global.
	(show_host_charset_name): Handle "auto".
	(show_target_wide_charset_name): New function.
	(host_charset_enum, target_charset_enum): Remove.
	(charset_enum): New global.
	(all_charsets, register_charset, lookup_charset, all_translations,
	register_translation, lookup_translation): Remove.
	(simple_charset, ascii_print_literally, ascii_to_control): Remove.
	(iso_8859_print_literally, iso_8859_to_control,
	iso_8859_family_charset): Remove.
	(ebcdic_print_literally, ebcdic_to_control,
	ebcdic_family_charset): Remove.
	(struct cached_iconv, check_iconv_cache, cached_iconv_convert,
	register_iconv_charsets): Remove.
	(target_wide_charset_be_name, target_wide_charset_le_name): New
	globals.
	(identity_either_char_to_other): Remove.
	(set_be_le_names, validate): New functions.
	(backslashable, backslashed, represented): Remove.
	(default_c_target_char_has_backslash_escape): Remove.
	(default_c_parse_backslash, iconv_convert): Remove.
	(ascii_to_iso_8859_1_table, ascii_to_ebcdic_us_table,
	ascii_to_ibm1047_table, iso_8859_1_to_ascii_table,
	iso_8859_1_to_ebcdic_us_table, iso_8859_1_to_ibm1047_table,
	ebcdic_us_to_ascii_table, ebcdic_us_to_iso_8859_1_table,
	ebcdic_us_to_ibm1047_table, ibm1047_to_ascii_table,
	ibm1047_to_iso_8859_1_table, ibm1047_to_ebcdic_us_table): Remove.
	(table_convert_char, table_translation, simple_table_translation):
	Remove.
	(current_host_charset, current_target_charset,
	c_target_char_has_backslash_escape_func,
	c_target_char_has_backslash_escape_baton): Remove.
	(c_parse_backslash_func, c_parse_backslash_baton): Remove.
	(host_char_to_target_func, host_char_to_target_baton): Remove.
	(target_char_to_host_func, target_char_to_host_baton): Remove.
	(cached_iconv_host_to_target, cached_iconv_target_to_host):
	Remove.
	(lookup_charset_or_error, check_valid_host_charset): Remove.
	(set_host_and_target_charsets): Remove.
	(set_host_charset, set_target_charset): Remove.
	(set_host_charset_sfunc, set_target_charset_sfunc): Rewrite.
	(set_target_wide_charset_sfunc): New function.
	(show_charset): Print target wide character set.
	(host_charset, target_charset): Rewrite.
	(target_wide_charset): New function.
	(c_target_char_has_backslash_escape): Remove.
	(c_parse_backslash): Remove.
	(host_letter_to_control_character): New function.
	(host_char_print_literally): Remove.
	(host_hex_value): New function.
	(target_char_to_control_char): Remove.
	(cleanup_iconv): New function.
	(convert_between_encodings): New function.
	(target_char_to_host): Remove.
	(struct wchar_iterator): Define.
	(make_wchar_iterator, make_cleanup_wchar_iterator, wchar_iterator,
	wchar_push_back): New functions.
	(do_cleanup_iterator): New function.
	(char_ptr): New typedef.
	(charsets): New global.
	(add_one, find_charset_names): New functions.
	(default_charset_names): New global.
	(auto_host_charset_name): Likewise.
	* aclocal.m4, config.in, configure: Rebuild.
	* configure.ac: Call AM_LANGINFO_CODESET.
	(GDB_DEFAULT_HOST_CHARSET): Default to UTF-8.
	(AM_ICONV): Invoke earlier.
	* acinclude.m4: Include codeset.m4.  Subst LIBICONV_INCLUDE and
	LIBICONV_LIBDIR.  Check for libiconv in build tree.
	* Makefile.in (LIBICONV_LIBDIR, LIBICONV_INCLUDE): New macros.
	(INTERNAL_CFLAGS_BASE): Add LIBICONV_INCLUDE.
	(INTERNAL_LDFLAGS): Add LIBICONV_LIBDIR.
	* gdb_obstack.h (obstack_grow_wstr): New define.
        * gdb_wchar.h: New file.
        * defs.h: Include it.
gdb/testsuite:
	* gdb.base/store.exp: Update for change to escape output.
	* gdb.base/callfuncs.exp (fetch_all_registers): Update for change
	to escape output.
	* gdb.base/pointers.exp: Update for change to escape output.
	* gdb.base/long_long.exp (gdb_test_long_long): Update for change
	to escape output.
	* gdb.base/constvars.exp (do_constvar_tests): Update for change to
	escape output.
	* gdb.base/call-rt-st.exp (print_struct_call): Update for change
	to escape output.
	* gdb.cp/ref-types.exp (gdb_start_again): Update for change to
	escape output.
	* gdb.base/setvar.exp: Update for change to escape output.
	* lib/gdb.exp (default_gdb_start): Set LC_CTYPE to C.
	* gdb.base/printcmds.exp (test_print_all_chars): Update for change
	to escape output.
	(test_print_string_constants): Likewise.
	* gdb.base/charset.exp (valid_host_charset): Check size of
	wchar_t.  Handle UCS-2 and UCS-4.  Add tests for wide and unicode
	cases.  Handle "auto"-related output.
	* gdb.base/charset.c (char16_t, char32_t): New typedefs.
	(uvar, Uvar): New globals.
gdb/doc:
	* gdb.texinfo (Character Sets): Remove obsolete text.  Document
	set target-wide-charset.
	(Requirements): Mention iconv.
2009-03-20 23:04:40 +00:00
Jerome Guitton
c31af87b2e * gdb.ada/fixed_points/fixed_points.adb: Add a test on overprecise
deltas.
	* gdb.ada/fixed_points.exp: Ditto.
2009-03-19 14:08:50 +00:00
Pedro Alves
51272cf2e9 * return-nodebug.c: Don't include stdio.h.
(init): Delete.
	(func): Delete definition and provide extern declaration.
	(t): New.
	(main): Don't call printf.  Call func and store its result in t.
	* return-nodebug1.c: New.
	* return-nodebug.exp: Don't expect stdio output.  Instead, print
	the global variable t.  Drop printf formatters and cast types from
	foreach loop.  Don't use prepare_for_testing.  Compile
	return-nodebug.c and return-nodebug1.c in separate steps.  Don't
	define FORMAT or CAST.
2009-03-18 15:36:01 +00:00
Paul Pluzhnikov
d24948ac99 2009-03-17 Paul Pluzhnikov <ppluzhnikov@google.com>
* gdb.base/solib-display.exp: Disable test for remote targers.
2009-03-18 05:43:55 +00:00
Jan Kratochvil
61ff14c69a gdb/
* stack.c (return_command <retval_exp>): New variables retval_expr
	and old_chain.  Inline parse_and_eval to initialize retval_expr.  Check
	RETVAL_EXPR for UNOP_CAST and set RETURN_TYPE to the RETURN_VALUE type
	if RETURN_TYPE is NULL.

gdb/doc/
	* gdb.texinfo (Returning): New description for missing debug info.

gdb/testsuite/
	* gdb.base/return-nodebug.exp, gdb.base/return-nodebug.c: New.
2009-03-15 09:19:40 +00:00
Jan Kratochvil
cb4dce936e Fix a racy FAIL.
* gdb.base/multi-forks.exp (continue_to_exit_bp_loc): New function with
	code from `follow parent, print pids'.
	(`follow child, print pids', `follow parent, print pids'): Call it.
	Replace `gdb_test "break..."' by gdb_breakpoint.
2009-03-14 14:25:55 +00:00
Vladimir Prus
f7c60c5e2b * gdb.mi/mi-cli.exp: Adjust for output difference in
sync and async modes.
2009-03-13 10:55:08 +00:00
Joel Brobecker
383ace49f8 * gdb.ada/ptype_arith_binop.exp: Remove some commented-out code
that was checked in by mistake. Remove loading of ada.exp, since
        this is not necessary in this case.
2009-03-13 02:24:38 +00:00
Joel Brobecker
4ce102af1e * gdb.ada/ptype_arith_binop.exp: New testcase. 2009-03-13 02:15:36 +00:00
Joel Brobecker
529a2aefc2 * gdb.ada/mod_from_name: New testcase. 2009-03-12 23:42:05 +00:00