Commit Graph

30175 Commits

Author SHA1 Message Date
Joel Brobecker d0a8ab18c7 Rename "wild_match" parameter in ada-lang.c:ada_add_local_symbols
... to avoid -Wshadow warning...

gdb/ChangeLog:

        -Wshadow warning fix.
        * ada-lang.c (ada_add_local_symbols): Rename "wild_match"
        parameter into "wild_match_p".  Adjust code accordingly.
        Document this parameter in the function description.
2012-03-29 23:29:47 +00:00
Joel Brobecker 48b7833268 Rename "wild_match" parameter in add_symbols_from_enclosing_procs
gdb/ChangeLog:

        -Wshadow warning fix.
        * ada-lang.c (add_symbols_from_enclosing_procs): Rename
        "wild_match" parameter to "wild_match_p" (-Wshadow).
2012-03-29 23:29:37 +00:00
Joel Brobecker 2e6e035354 Remove trailing spaces in ada-lang.c:ada_lookup_simple_minsym doc.
gdb/ChangeLog:

        * ada-lang.c (ada_lookup_simple_minsym): Remove trailing spaces
        in function documentation.
2012-03-29 23:29:28 +00:00
Joel Brobecker dc4024cd3f Fix -Wshadow warning in ada-lang.c:ada_lookup_simple_minsym
gdb/ChangeLog:

        -Wshadow warning fix.
        * ada-lang.c (ada_lookup_simple_minsym): Rename wild_match local
        variable into wild_match_p.  Adjust code accordingly.
2012-03-29 23:29:19 +00:00
Pedro Alves 689cc2ae8d 2012-03-29 Pedro Alves <palves@redhat.com>
* linux-low.c (regsets_store_inferior_registers) [__sparc__]:
	Correct ptrace arguments.
2012-03-29 21:27:28 +00:00
Joel Brobecker 6c88661cd4 Fix -Wshadow error in ada-valprint.c
gdb/ChangeLog:

        * ada-valprint.c (ada_val_print_1): Move the code handling
        TYPE_CODE_ENUM inside its own lexical block.  Declare
        variables len and val there, instead of in the function's
        top level block.  Avoid declaring deref_val again in a way
        that shadows another variable of the same name declared
        in one of the up-level blocks.  Just re-use the up-level
        variable instead.
2012-03-29 18:50:21 +00:00
Joel Brobecker 4e5c77fe1a Make ada_lookup_encoded_symbol "return" a struct ada_symbol_info
This makes ada_lookup_encoded_symbol more consistent with other functions
such as ada_lookup_symbol_list, and also makes it clearer in the code
using that function that symbol and block are related.

gdb/ChangeLog:

        * ada-lang.c (ada_lookup_encoded_symbol): Now returns void.
        Replace block_found argument by symbol_info.  Adjust
        implementation accordingly.  Add function documentation.
        (ada_lookup_symbol): Adjust to new ada_lookup_encoded_symbol.
        Fix documentation.
        * ada-lang.h (ada_lookup_encoded_symbol): Update declaration.
        * ada-exp.y (write_object_renaming): Adjust to new
        ada_lookup_encoded_symbol API.
2012-03-29 18:23:00 +00:00
Joel Brobecker 1c0ac8c766 [Ada] struct ada_symbol_info minor reformatting & doc update.
gdb/ChangeLog:

 	* ada-lang.h (struct ada_symbol_info): Reformat.  Improve
 	documentation.
2012-03-29 18:22:51 +00:00
Kevin Buettner 2aaed97917 Commit gdb and sim support for v850e2 and v850e2v3 on behalf of
Rathish C <Rathish.C@kpitcummins.com>.
2012-03-29 00:57:19 +00:00
gdbadmin 1c1b6f059a *** empty log message *** 2012-03-29 00:00:03 +00:00
Joel Brobecker 927fbba674 [NEWS] Announce support for Ada varobj support.
gdb/ChangeLog:

        * NEWS: Add entry for Ada varobj support.
2012-03-28 21:31:56 +00:00
Joel Brobecker 7191c1399c [doco] document the "type_changed" flag further.
gdb/doc/ChangeLog:

        * gdb.texinfo (GDB/MI Variable Objects): Document what happens
        to the children of a varobj and its update range when -var-update
        returns that the varobj's type changed.
2012-03-28 21:31:46 +00:00
Joel Brobecker d32cafc7d5 New varobj language callback: value_is_changeable_p.
This patch introduces a new language-specific callback for varobj
objects, allowing us to move the language-specific bits of the
varobj_value_is_changeable_p routine to language-specific functions.
This is more elegant than testing for the varobj's language...

gdb/ChangeLog:

        * varobj.c (default_value_is_changeable_p): New function,
        extracted from varobj_value_is_changeable_p.  Add declaration.
        (ada_value_is_changeable_p): New function, extracted from
        varobj_value_is_changeable_p.  Add declaration.
        (struct language_specific): New field "value_is_changeable_p".
        (languages): Add entries for new field.
        (varobj_create): Set language before calling install_new_value.
        (varobj_value_is_changeable_p): Reimplement to call the varobj's
        "value_is_changeable_p" language callback.
2012-03-28 21:31:29 +00:00
Joel Brobecker 181875a4ab Varobj support for Ada.
This patch adds varobj support for Ada variables.  Most of the code
is implemented in a separate Ada-specific file called ada-varobj.c.
The only bits in varobj.c are the functions used as the hooks in
the language-specific varobj's vector.

gdb/ChangeLog:

        * ada-varobj.h, ada-varobj.c: New files.
        * Makefile.in (SFILES): Add ada-varobj.c.
        (HFILES_NO_SRCDIR): Add ada-varobj.h.
        (COMMON_OBS): Add ada-varobj.o.
2012-03-28 21:31:18 +00:00
Joel Brobecker 7a290c40a9 framework for varobj type mutation
This patch introduces the framework necessary to support type mutations.
The only language that currently provides a language-specific hook for
that feature is Ada, but the hook remain unimplemented for now. The
actual implementation is tied to the rest of the varobj code for Ada,
and thus will be provided then.

gdb/ChangeLog:

        * varobj.c (ada_value_has_mutated): Add declaration.  New function.
        (struct language_specific): New field "value_has_mutated".
        (languages): Set field "value_has_mutated" in each entry of array.
        (varobj_value_has_mutated): New function.
        (varobj_udpdate): Add handling of type mutation.
        (value_of_root): Add handling of type mutation.
        (ada_value_has_mutated): New function.
2012-03-28 21:31:05 +00:00
Pedro Alves c14dfd3206 2012-03-28 Pedro Alves <palves@redhat.com>
* linux-ia64-low.c (ia64_regmap): Map IA64_EC_REGNUM to PT_AR_EC.
	(IA64_GR0_REGNUM, IA64_FR0_REGNUM)
	(IA64_FR1_REGNUM): New defines.
	(ia64_fetch_register): New.
	(the_low_target): Install it.
	* linux-low.h (struct linux_target_ops) <fetch_register>: New
	field.
	* linux-low.c (linux_fetch_registers): Try the
	the_low_target.fetch_register hook first.

	* linux-arm-low.c (the_low_target): Adjust.
	* linux-bfin-low.c (the_low_target): Adjust.
	* linux-cris-low.c (the_low_target): Adjust.
	* linux-crisv32-low.c (the_low_target): Adjust.
	* linux-m32r-low.c (the_low_target): Adjust.
	* linux-m68k-low.c (the_low_target): Adjust.
	* linux-mips-low.c (the_low_target): Adjust.
	* linux-ppc-low.c (the_low_target): Adjust.
	* linux-s390-low.c (the_low_target): Adjust.
	* linux-sh-low.c (the_low_target): Adjust.
	* linux-sparc-low.c (the_low_target): Adjust.
	* linux-tic6x-low.c (the_low_target): Adjust.
	* linux-x86-low.c (the_low_target): Adjust.
	* linux-xtensa-low.c (the_low_target): Adjust.
2012-03-28 18:30:01 +00:00
Pedro Alves ca9b8b9ce8 2012-03-28 Pedro Alves <palves@redhat.com>
* ia64-linux-nat.c (supply_fpregset, ia64_linux_fetch_register):
	Always supply $fr0 as 0.0 and $fr1 as 1.0.
2012-03-28 17:50:17 +00:00
Tom Tromey cc0265cdda * python/py-inferior.c (infpy_read_memory): Remove cleanups and
explicitly free 'buffer' on exit paths.  Decref 'membuf_object'
	before returning.
2012-03-28 17:38:08 +00:00
Tom Tromey 3ad2ec6f11 * .dir-locals.el: New file. 2012-03-28 17:35:38 +00:00
Keith Seitz e2171b3cd2 * gdb.linespec/ls-dollar.cc: New file.
* gdb.linespec/ls-dollar.exp: New test.
2012-03-28 17:33:33 +00:00
Pedro Alves 4a6510ba7f 2012-03-28 Pedro Alves <palves@redhat.com>
* ia64-linux-nat.c (u_offsets): Map IA64_EC_REGNUM to PT_AR_EC.
2012-03-28 17:29:54 +00:00
Keith Seitz 0e4acfccb3 * gdb.cp/namespace.exp: Add breakpoint tests for functions
starting with the global namespace.
2012-03-28 17:29:42 +00:00
Joel Brobecker 5a75128f93 [ia64-linux] Allow libunwind to fetch register 0
On ia64-linux, GDB sometimes prints the following error when trying
to switch to a different task:

    (gdb) task 3
    Register 0 is not available

This is a random failure that sometimes happens, sometimes does not.
The error comes from the fact that the libunwind library is requesting
the value of register 0 (zero): This eventually leads us to
ia64-linux-nat.c:ia64_linux_fetch_register.

This function relies on ia64_cannot_fetch_register to determine
whether or not we have access to the register's value.  The ptrace
interface does not provide the r0 value, and so we end up telling
the regcache that this register's value is not available.  And yet,
for r0, we do not need to ask ptrace for its value, since it is
always zero.

So, the fix was to add a special rule for supplying a nul value
when regnum == IA64_GR0_REGNUM.

gdb/ChangeLog:

        * ia64-linux-nat.c (ia64_linux_fetch_register): Add special
        handling for r0.
2012-03-28 17:08:48 +00:00
Pawandeep Oza 306f8a0221 Pawandeep Oza updated to write-after-apporval section at the correct order 2012-03-28 04:37:43 +00:00
gdbadmin aa731a46f8 *** empty log message *** 2012-03-28 00:00:33 +00:00
Jan Kratochvil 3708f05e58 gdb/doc/
* gdb.texinfo (Auto-loading): Move @menu to the end of @node.
	Create two new links fir 'objfile-gdb.py file'
	and 'dotdebug_gdb_scripts section'.
2012-03-27 20:44:13 +00:00
Jan Kratochvil 8e0583c837 gdb/doc/
* gdb.texinfo (Auto-loading): Rename node reference
	'.debug_gdb_scripts section' to 'dotdebug_gdb_scripts section'.
	Twice.
	(.debug_gdb_scripts section): Rename the node ...
	(dotdebug_gdb_scripts section): ... here.
	(Maintenance Commands): Also rename this node reference.
2012-03-27 20:15:20 +00:00
Pedro Alves 6350a0664a Fix formatting. 2012-03-27 19:16:23 +00:00
Pedro Alves f99d8bf46c 2012-03-27 Pedro Alves <palves@redhat.com>
Eliminate struct ui_stream.

	* ui-out.h (struct ui_stream): Delete.
	(ui_out_field_stream): Adjust prototype.
	(ui_out_stream_new, ui_out_stream_delete)
	(make_cleanup_ui_out_stream_delete): Delete declarations.
	* ui-out.c (ui_out_field_stream): Change prototype to take a
	ui_file instead of a ui_stream.  Adjust.
	(ui_out_stream_new, ui_out_stream_delete, do_stream_delete)
	(make_cleanup_ui_out_stream_delete): Delete.
	* breakpoint.c (print_breakpoint_location)
	(print_one_detail_ranged_breakpoint, print_it_watchpoint): Use
	ui_file/mem_fileopen instead of ui_stream/ui_out_stream_new.
	* disasm.c (dump_insns): Ditto.
	(do_mixed_source_and_assembly, do_assembly_only): Adjust
	prototype.
	(gdb_disassembly): Use ui_file/mem_fileopen instead of
	ui_stream/ui_out_stream_new.
	* infcmd.c (print_return_value): Ditto.
	* osdata.c (info_osdata_command): Don't allocate a local
	ui_stream.
	* stack.c (print_frame_arg, print_frame_args, print_frame): Use
	ui_file/mem_fileopen instead of ui_stream/ui_out_stream_new.
	* tracepoint.c (print_one_static_tracepoint_marker): Don't
	allocate a local ui_stream.
	* mi/mi-cmd-stack.c (list_arg_or_local): Use ui_file/mem_fileopen
	instead of ui_stream/ui_out_stream_new.
	(list_args_or_locals): Don't allocate a local ui_stream.
	* mi/mi-main.c (get_register, mi_cmd_data_evaluate_expression)
	(mi_cmd_data_read_memory): Use ui_file/mem_fileopen instead of
	ui_stream/ui_out_stream_new.
	* cli/cli-setshow.c (do_setshow_command): Ditto.
2012-03-27 19:08:37 +00:00
Pawandeep Oza 72508ac0bf * arm-linux-tdep.c (arm_linux_init_abi): Call
set_gdbarch_process_record.
       Initialize `arm_swi_record' field.

       * arm-tdep.c (arm_process_record): New function.
       (deallocate_reg_mem): New function.
       (decode_insn): New function.
       (thumb_record_branch): New function.
       (thumb_record_ldm_stm_swi(): New function.
       (thumb_record_misc): New function.
       (thumb_record_ld_st_stack): New function.
       (thumb_record_ld_st_imm_offset): New function.
       (thumb_record_ld_st_reg_offset(): New function.
       (thumb_record_add_sub_cmp_mov): New function.
       (thumb_record_shift_add_sub): New function.
       (arm_record_coproc_data_proc): New function.
       (arm_record_coproc): New function.
       (arm_record_b_bl): New function.
       (arm_record_ld_st_multiple): New function.
       (arm_record_ld_st_reg_offset): New function.
       (arm_record_ld_st_imm_offset): New function.
       (arm_record_data_proc_imm): New function.
       (arm_record_data_proc_misc_ld_str): New function.
       (arm_record_extension_space): New function.
       (arm_record_strx): New function.
       (sbo_sbz): New function.
       (struct insn_decode_record): New structure for arm insn record.
       (REG_ALLOC): New macro for reg allocations.
       (MEM_ALLOC): New macro for memory allocations.

       * arm-tdep.h (struct gdbarch_tdep): New field 'arm_swi_record'
2012-03-27 15:46:33 +00:00
Andreas Schwab 89e028e2ef * m68klinux-nat.c (fetch_register): Fix strict-aliasing violation.
(store_register): Likewise.
2012-03-27 08:15:26 +00:00
gdbadmin fda3c10b5f *** empty log message *** 2012-03-27 00:00:32 +00:00
Pawandeep Oza 3d9a9eb0f3 MAINTAINERS (Write After Approval): Add myself to the list. 2012-03-26 18:18:40 +00:00
Pedro Alves 63c88e1312 2012-03-26 Pedro Alves <palves@redhat.com>
* server.c (handle_qxfer_libraries): Don't bail early if
	the_target->qxfer_libraries_svr4 is not NULL.
2012-03-26 13:54:57 +00:00
Pedro Alves fb723180bd 2012-03-26 Pedro Alves <palves@redhat.com>
* linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment.
2012-03-26 12:39:19 +00:00
gdbadmin fc72a5f0f1 *** empty log message *** 2012-03-26 00:00:03 +00:00
Jan Kratochvil 5b43fab2ea gdb/
* NEWS (set breakpoint condition-evaluation): Change "gdb" to "host".
	Describe also the option "auto".
2012-03-25 13:44:01 +00:00
gdbadmin e0645b3035 *** empty log message *** 2012-03-25 00:00:33 +00:00
gdbadmin b25d0f6e19 *** empty log message *** 2012-03-24 00:00:04 +00:00
Doug Evans 2f4e0a8013 * lib/gdb.exp (BUILD_DATA_DIRECTORY): New global. 2012-03-23 22:28:35 +00:00
Pedro Alves 0afae3cf2e 2012-03-23 Pedro Alves <palves@redhat.com>
* linux-low.c (linux_qxfer_libraries_svr4): Terminate the
	"library-list-svr4" element's start tag when the the DSO list is
	empty.
2012-03-23 20:27:08 +00:00
Pedro Alves 485f1ee4f6 2012-03-23 Pedro Alves <palves@redhat.com>
* linux-low.c (read_one_ptr): Read the inferior's pointer through
	a variable whose type size is the same as the inferior's pointer
	size.
2012-03-23 20:26:14 +00:00
gdbadmin 51dc010c5a *** empty log message *** 2012-03-23 00:00:33 +00:00
Richard Henderson b5453b9508 * sparc-linux-nat.c (_initialize_sparc_linux_nat): Fix prototype.
* sparc-nat.c (sparc_xfer_wcookie): Make static.
2012-03-22 20:36:34 +00:00
Richard Henderson 227ee7fc71 * jit.c (jit_read_code_entry): Compute alignment and offset of
int64_t member before computing entry_size.
2012-03-22 20:33:42 +00:00
Siva Chandra Reddy 7b282c5acc 2012-03-14 Siva Chandra <sivachandra@google.com>
Python scripting: Add new method Value.referenced_value to
        gdb.Value which can dereference pointer as well as reference
        values.
        * NEWS: Add entry under 'Python scripting' about the new method
        Value.referenced_value on gdb.Value objects.
        * python/py-value.c (valpy_referenced_value): New function
        defining a new method on gdb.Value objects which can dereference
        pointer and reference values.
        * testsuite/gdb.python/py-value.cc: Add test case for
        testing the methodology exposing C++ values to Python.
        * testsuite/gdb.python/py-value-cc.exp: Add tests testing the
        methodology exposing C++ values to Python.
        * testsuite/gdb.python/Makefile.in: Add py-value-cc to
        EXECUTABLES.
        * docs/gdb.texinfo (Python API/Values From Inferior): Add
        description about the new method Value.referenced_value.  Add
        description on how Value.dereference is different (and similar)
        to Value.referenced_value.
2012-03-22 08:10:44 +00:00
Siva Chandra Reddy 0c83539f7e 2012-03-22 Siva Chandra Reddy <sivachandra@google.com>
* MAINTAINERS (Write After Approval): Add myself to the list.
2012-03-22 07:48:40 +00:00
gdbadmin 08715974a5 *** empty log message *** 2012-03-22 00:00:03 +00:00
Kevin Buettner 7ccffd7c80 * symtab.c (skip_prologue_sal): Change test to check for "main()"
in addition to "main".
2012-03-21 21:59:19 +00:00
Joel Brobecker bd0b9f9e12 SEGV during AX eval of OP_DOUBLE (unsupported)
To reproduce the problem, simply try the following with any program:

    (gdb) maintenance agent-eval 1.0
    Critical error handler: process [...] terminated due to access violation

(this is on Windows; on GNU/Linux, the libc copes better)

The problem is quite simple: gen_expr is given an expression that
contains an unrecognized operator (OP_DOUBLE in this case). When that
happens, it tries to report an error with a string image of the operator
in the error message.  Conversion of the opcode into a string is done
using op_string which, despite its name, probably is not what the author
was looking for.  This function returns NULL for a lot of the opcodes,
thus triggering the crash.

There is a function that corresponds to what we are looking for:
expprint.c:op_name. It was static, though, so I made it non-static,
and used it from ax-gdb.c:gen_expr.

gdb/ChangeLog:

        * expression.h (op_name): Add declaration.
        * expprint.c (op_name): Remove declaration.  Make non-static.
        * ax-gdb.c (gen_expr): Use op_name instead of op_string.
2012-03-21 15:16:24 +00:00