Commit Graph

76271 Commits

Author SHA1 Message Date
Nick Clifton
b10bf8c587 PR gas/15273
* config/tc-arm.c (do_co_reg): Do not call check_obsolete with a
	NULL message, instead just check ARM_CPU_IS_ANY directly.
2013-03-14 10:23:13 +00:00
Nick Clifton
ba724cfc0c PR gas/15212
* doc/c-arc.texi (ARC Directives): Use @code instead of @bullte
	for table format.
	* doc/c-arm.texi (ARM-Instruction-Set): Likewise.  Also add text
	to the @item directives.
	(ARM-Neon-Alignment): Move to correct place in the document.
	* doc/c-cr16.texi (CR16 Operand Qualifiers): Fix up table
	formatting.
	* doc/c-tic54x.texi (TIC54X-Subsyms): Correct use of
	@smallexample.
2013-03-14 10:00:46 +00:00
Yao Qi
e2be70a0e1 gdb/testsuite/
* gdb.trace/tstatus.exp (run_trace_experiment): Save the output
	of 'tstatus' into tstatus_output.
	(top level): Save the trace data to tfile.  Read trace file in
	tfile target.  Check the trace status.
2013-03-14 09:12:21 +00:00
Yao Qi
d6682f9ee9 gdb/
* tracepoint.c (tfile_write_status): Write 'stop_desc' of trace
	status to tfile if trace is stopped by command 'tstop'.
2013-03-14 09:08:56 +00:00
Yao Qi
a22fa6e48d gdb/
* tracepoint.c (tfile_write_status): Write trace notes and user
	name into tfile if they are not NULL.
2013-03-14 09:06:40 +00:00
Yao Qi
d0353e7691 gdb/
2013-03-14  Hui Zhu  <hui@codesourcery.com>
	    Yao Qi  <yao@codesourcery.com>

	* Makefile.in (REMOTE_OBS): Add ctf.o.
	(SFILES): Add ctf.c.
	(HFILES_NO_SRCDIR): Add ctf.h.
	* ctf.c, ctf.h: New files.
	* tracepoint.c: Include 'ctf.h'.
	(collect_pseudocommand): Remove static.
	(trace_save_command): Parse option "-ctf".
	Produce different trace file writers per option.
	Adjust output message.
	(trace_save_tfile, trace_save_ctf): New.
	* tracepoint.h (trace_save_tfile, trace_save_ctf): Declare.
	* mi/mi-main.c: Include 'ctf.h'.
	(mi_cmd_trace_save): Handle option '-ctf'.  Call either
	trace_save_tfile or trace_save_ctf.
	* NEWS: Mention these changes.

gdb/doc/
2013-03-14  Hui Zhu  <hui@codesourcery.com>
	    Yao Qi  <yao@codesourcery.com>

	* gdb.texinfo (Trace Files): Add "tsave -ctf".
2013-03-14 09:02:30 +00:00
Jakub Jelinek
6f2ef5f590 * emulparams/aarch64linux.sh (LIBPATH_SUFFIX): Set to 64 for
aarch64linux* emulations.
2013-03-14 08:56:05 +00:00
Yao Qi
3f43bc09fa gdb/
* tracepoint.c (trace_file_writer_xfree): New.
	(struct tfile_writer_data): New.
	(tfile_dtor, tfile_can_target_save, tfile_start): New.
	(tfile_write_header, tfile_write_regblock_type): New.
	(tfile_write_status, tfile_write_uploaded_tsv): New.
	(tfile_write_uploaded_tp, tfile_write_definition_end): New.
	(tfile_write_raw_data, (tfile_end): New.
	(tfile_write_ops): New global variable.
	(TRACE_WRITE_R_BLOCK): New macro.
	(TRACE_WRITE_M_BLOCK_HEADER): New macro.
	(TRACE_WRITE_M_BLOCK_MEMORY): New macro.
	(TRACE_WRITE_V_BLOCK): New macro.
	(trace_save): Add extra one parameter WRITER.  Make it static.
	Use WRITER to writer trace.
	(tfile_trace_file_writer_new): New.
	(trace_save_command): Caller update.
	(trace_save_tfile): Write trace data in TFILE format.
	* tracepoint.h (struct trace_frame_write_ops): New.
	(struct trace_file_write_ops): New.
	(struct trace_file_writer): New.
	(trace_save): Remove its declaration.
	(trace_save_tfile): Declare it.
	* mi/mi-main.c (mi_cmd_trace_save): Call trace_save_tfile
	instead of trace_save.
2013-03-14 08:50:55 +00:00
gdbadmin
70ef316113 *** empty log message *** 2013-03-14 00:00:34 +00:00
Alan Modra
6cf2404530 daily update 2013-03-13 23:00:04 +00:00
Pedro Alves
58665b4094 Make hppa-hpux-nat.c:hppa_hpux_save_state_offset static.
Dave reports:

> There is one small (...) issue that needs fixing:
>
> gcc -g -O2   -I. -I../../src/gdb -I../../src/gdb/common -I../../src/gdb/config -DLOCALEDIR="\"/opt/gnu64/share/locale\"" -DHAVE_CONFIG_H -I../../src/gdb/../include/opcode -I../../src/gdb/../opcodes/.. -I../../src/gdb/../readline/.. -I../bfd -I../../src/gdb/../bfd -I../../src/gdb/../include -I../libdecnumber -I../../src/gdb/../libdecnumber  -I../../src/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -Werror -c -o hppa-hpux-nat.o -MT hppa-hpux-nat.o -MMD -MP -MF .deps/hppa-hpux-nat.Tpo ../../src/gdb/hppa-hpux-nat.c
> ../../src/gdb/hppa-hpux-nat.c:45:1: error: no previous prototype for 'hppa_hpux_save_state_offset' [-Werror=missing-prototypes]
> cc1: all warnings being treated as errors
>
> Believe the function should be static.

gdb/
2013-03-13  Pedro Alves  <palves@redhat.com>

	* hppa-hpux-nat.c (hppa_hpux_save_state_offset): Make static.
2013-03-13 18:50:16 +00:00
Pedro Alves
10217050c8 Fix completer.c FIXME, and invalid pointer to pointer conversion.
As mentioned in the previous patch, I grepped for "\*\*) &" and found
one hit in completer.c.

I was about to post a patch that simply made
current_demangling_style_string const, and cast away constness at the
xfree site.  However, looking deeper, it seem to be there's a lot of
dead code in the file.

First, all external callers of set_demangling_style are found in the
stabs reader, commented out for over 12 years:

  http://sourceware.org/ml/gdb-patches/2000-12/msg00214.html

I don't think it's likely we'll ever make the older mangling schemes
work for stabs.  If we do, we can rediscuss the approach then.

Then, set_demangling_command has special handling for unknown
demangling styles, but "set demangle-style" is an enum command, and
with those, the user can only specify a known enumeration value, by
design:

  (gdb) set demangle-style gangnam-style
  Undefined item: "gangnam-style".


This patch removes all that dead code, then makes
current_demangling_style_string point to an element of
demangling_style_names, as the FIXME suggests, and then makes
current_demangling_style_string, removing the need for the 'const char
**' cast.

gdb/
2013-03-13  Pedro Alves  <palves@redhat.com>

	* dbxread.c (read_ofile_symtab, process_one_symbol): Remove
	commented out code.
	* demangle.c (current_demangling_style_string): Make it const.
	(set_demangling_command): Assert the demangling style is known.
	Remove all handling of unknown styles.  Set
	'current_demangling_style_string' to an element of the
	demangling_style_names array.
	(set_demangling_style): Delete.
	(_initialize_demangler): Set current_demangling_style_string to the
	element of the demangling_style_names array that corresponds to
	the default demangling style.  Remove FIXME note.  Don't call
	set_demangling_style.
	* gdb-demangle.h (set_demangling_style): Remove declaration.
2013-03-13 18:38:12 +00:00
Joel Brobecker
4fa7e2ff22 Extraneous NULL in linux_target_ops when HAVE_LINUX_BTRACE not defined
This fixes the followin error when HAVE_LINUX_BTRACE is not defined:

    linux-low.c:5943: error: excess elements in struct initializer
    linux-low.c:5943: error: (near initialization for 'linux_target_ops')

gdb/gdbserver/ChangeLog:

        * linux-low.c (linux_target_ops) [!HAVE_LINUX_BTRACE]:
        Remove extraneous NULL element.
2013-03-13 18:37:54 +00:00
Pedro Alves
6f937416b9 Constify strings in tracepoint.c, lookup_cmd and the completers.
This is sort of a continuation of Keith's parse_exp_1 constification
patch.  It started out by undoing these bits:

  @@ -754,9 +754,12 @@ validate_actionline (char **line, struct
   	  tmp_p = p;
   	  for (loc = t->base.loc; loc; loc = loc->next)
   	    {
  -	      p = tmp_p;
  -	      exp = parse_exp_1 (&p, loc->address,
  +	      const char *q;
  +
  +	      q = tmp_p;
  +	      exp = parse_exp_1 (&q, loc->address,
   				 block_for_pc (loc->address), 1);
  +	      p = (char *) q;

and progressively making more things const upwards, fixing fallout,
rinse repeat, until GDB built again (--enable-targets=all).

That ended up constifying lookup_cmd/add_cmd and (lots of) friends,
and the completers.

I didn't try to constify the command hooks themselves, because I know
upfront there are commands that write to the command string argument,
and I think I managed to stop at a nice non-hacky split point already.

I think the only non-really-super-obvious changes are
tracepoint.c:validate_actionline, and tracepoint.c:trace_dump_actions.

The rest is just mostly about 'char *' => 'const char *', 'char **'=>
'const char **', and the occasional (e.g., deprecated_cmd_warning)
case of 'char **'=> 'const char *', where/when I noticed that nothing
actually cares about the pointer to pointer output.

Tested on x86_64 Fedora 17, native and gdbserver.

gdb/
2013-03-13  Pedro Alves  <palves@redhat.com>

	* ada-lang.c (struct add_partial_datum) <text, text0, word>: Make
	fields const.
	(ada_make_symbol_completion_list): Make "text0" parameter const.
	* ax-gdb.c (agent_eval_command_one): Make "exp" parameter const.
	* breakpoint.c (condition_completer): Make "text" and "word"
	parameters const.  Adjust.
	(check_tracepoint_command): Adjust to validate_actionline
	prototype change.
	(catch_syscall_completer): Make "text" and "word" parameters
	const.
	* cli/cli-cmds.c (show_user): Make "comname" local const.
	(valid_command_p): Make "command" parameter const.
	(alias_command): Make "alias_prefix" and "command_prefix" locals
	const.
	* cli/cli-decode.c (add_cmd): Make "name" parameter const.
	(add_alias_cmd): Make "name" and "oldname" parameters const.
	Adjust.  No longer make copy of OLDNAME.
	(add_prefix_cmd, add_abbrev_prefix_cmd, add_set_or_show_cmd)
	(add_setshow_cmd_full, add_setshow_enum_cmd)
	(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
	(add_setshow_filename_cmd, add_setshow_string_cmd)
	(add_setshow_string_noescape_cmd)
	(add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
	(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
	(add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd)
	(delete_cmd, add_info, add_info_alias, add_com, add_com_alias):
	Make "name" parameter const.
	(help_cmd): Rename "command" parameter to "arg".  New const local
	"command".
	(find_cmd): Make "command" parameter const.
	(lookup_cmd_1): Make "text" parameter pointer to const.  Adjust to
	deprecated_cmd_warning prototype change.
	(undef_cmd_error): Make "cmdtype" parameter const.
	(lookup_cmd): Make "line" parameter const.
	(deprecated_cmd_warning): Change type of "text" parameter to
	pointer to const char, from pointer to pointer to char.  Adjust.
	(lookup_cmd_composition): Make "text" parameter const.
	(complete_on_cmdlist, complete_on_enum): Make "text" and "word"
	parameters const.
	* cli/cli-decode.h (struct cmd_list_element) <name>: Make field
	const.
	* cli/cli-script.c (validate_comname): Make "tem" local const.
	(define_command): New const local "tem_c".  Use it in calls to
	lookup_cmd.
	(document_command): Make "tem" and "comfull" locals const.
	(show_user_1): Make "prefix" and "name" parameters const.
	* cli-script.h (show_user_1): Make "prefix" and "name" parameters
	const.
	* command.h (add_cmd, add_alias_cmd, add_prefix_cmd)
	(add_abbrev_prefix_cmd, completer_ftype, lookup_cmd, lookup_cmd_1)
	(deprecated_cmd_warning, lookup_cmd_composition, add_com)
	(add_com_alias, add_info, add_info_alias, complete_on_cmdlist)
	(complete_on_enum, add_setshow_enum_cmd)
	(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
	(add_setshow_filename_cmd, add_setshow_string_cmd)
	(add_setshow_string_noescape_cmd)
	(add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
	(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
	(add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
	Change prototypes, constifying strings.
	* completer.c (noop_completer, filename_completer): Make "text"
	and "prefix" parameters const.
	(location_completer, expression_completer)
	(complete_line_internal): Make "text" and "prefix" parameters
	const and adjust.
	(command_completer, signal_completer): Make "text" and "prefix"
	parameters const.
	* completer.h (noop_completer, filename_completer)
	(expression_completer, location_completer, command_completer)
	(signal_completer): Change prototypes.
	* corefile.c (complete_set_gnutarget): Make "text" and "word"
	parameters const.
	* cp-abi.c (cp_abi_completer): Likewise.
	* expression.h (parse_expression_for_completion): Change
	prototype.
	* f-lang.c (f_make_symbol_completion_list): Make "text" and "word"
	parameters const.
	* infcmd.c (_initialize_infcmd): Make "cmd_name" local const.
	* infrun.c (handle_completer): Make "text" and "word" parameters
	const.
	* interps.c (interpreter_completer): Make "text" and "word"
	parameters const.
	* language.h (struct language_defn)
	<la_make_symbol_completion_list>: Make "text" and "word"
	parameters const.
	* parse.c (parse_exp_1): Move const hack to parse_exp_in_context.
	(parse_exp_in_context): Rename to ...
	(parse_exp_in_context_1): ... this.
	(parse_exp_in_context): Reimplement, with const hack from
	parse_exp_1.
	(parse_expression_for_completion): Make "string" parameter const.
	* printcmd.c (decode_format): Make "string_ptr" parameter pointer
	to pointer to const char.  Adjust.
	(print_command_1): Make "exp" parameter const.
	(output_command): Rename to ...
	(output_command_const): ... this.  Make "exp" parameter const.
	(output_command): Reimplement.
	(x_command): Adjust.
	(display_command): Rename "exp" parameter to "arg".  New "exp"
	local, const version of "arg".
	* python/py-auto-load.c (gdbpy_initialize_auto_load): Make
	"cmd_name" local const.
	* python/py-cmd.c (cmdpy_destroyer): Cast const away in xfree
	call.
	(cmdpy_completer): Make "text" and "word" parameters const.
	(gdbpy_parse_command_name): Make "prefix_text2" local const.
	* python/py-param.c (add_setshow_generic): Make "tmp_name" local
	const.
	* remote.c (_initialize_remote): Make "cmd_name" local const.
	* symtab.c (language_search_unquoted_string): Make "text" and "p"
	parameters const.  Adjust.
	(completion_list_add_fields): Make "sym_text", "text" and "word"
	parameters const.
	(struct add_name_data) <sym_text, text, word>: Make fields const.
	(default_make_symbol_completion_list_break_on): Make "text" and
	"word" parameters const.  Adjust locals.
	(default_make_symbol_completion_list)
	(make_symbol_completion_list, make_symbol_completion_type)
	(make_symbol_completion_list_fn): Make "text" and "word"
	parameters const.
	(make_file_symbol_completion_list): Make "text", "word" and
	"srcfile" parameters const.  Adjust locals.
	(add_filename_to_list): Make "text" and "word" parameters const.
	(struct add_partial_filename_data) <text, word>: Make fields
	const.
	(make_source_files_completion_list): Make "text" and "word"
	parameters const.
	* symtab.h (default_make_symbol_completion_list_break_on)
	(default_make_symbol_completion_list, make_symbol_completion_list)
	(make_symbol_completion_type enum type_code)
	(make_symbol_completion_list_fn make_file_symbol_completion_list)
	(make_source_files_completion_list): Change prototype.
	* top.c (execute_command): Adjust to pass pointer to pointer to
	const char to lookup_cmd, and to deprecated_cmd_warning prototype
	change.
	(set_verbose): Make "cmdname" local const.
	* tracepoint.c (decode_agent_options): Make "exp" parameter const,
	and adjust.
	(validate_actionline): Make "line" parameter a pointer to const
	char, and adjust.
	(encode_actions_1): Make "action_exp" local const, and adjust.
	(encode_actions): Adjust.
	(replace_comma): Delete.
	(trace_dump_actions): Make "action_exp" and "next_comma" locals
	const, and adjust.  Don't frob the action string while splitting
	it at commas.  Instead, make a copy of each split substring in
	turn.
	(trace_dump_command): Adjust to validate_actionline prototype
	change.
	* tracepoint.h (decode_agent_options, decode_agent_options)
	(encode_actions, validate_actionline): Change prototypes.
	* valprint.h (output_command): Delete declaration.
	(output_command_const): Declare.
	* value.c (function_destroyer): Cast const away in xfree call.
2013-03-13 18:34:55 +00:00
Keith Seitz
6dd24dfaec * gdb.texinfo (Maintenance Commands): Add missing ')' for
"maint agent" reference to Dynamic printf.
2013-03-13 17:55:50 +00:00
Pedro Alves
a0bcdaa75e More invalid pointer to pointer conversions.
As a follow up to:

  http://sourceware.org/ml/gdb-patches/2013-03/msg00449.html

In a nutshell, casts between 'char **' <-> 'unsigned char **' and
'char **' <-> 'const char **' are invalid.

I grepped for "\*\*) &" and found these.  There's another one in
demangle.c, but I've split fixing that one to a separate patch.

I think the ada_decode_symbol change is perhaps the one that could be
surprising.  The function's description has this comment, which makes
things much clearer:

   The GSYMBOL parameter is "mutable" in the C++ sense: logically
   const, but nevertheless modified to a semantically equivalent form
   when a decoded name is cached in it.  */

 const char *
 ada_decode_symbol (const struct general_symbol_info *gsymbol)

With that out of the way, I think the patch ends up being pretty
obvious.

Tested on x86_64 Fedora 17.

gdb/
2013-03-13  Pedro Alves  <palves@redhat.com>

	* ada-lang.c (ada_decode_symbol): Cast away constness of GSYMBOL
	rather than casting 'const char * const *' to 'const char **'.
	* ada-lex.l (processInt): Make "trailer" local const.  Remove
	'const char **' cast.
	* arm-linux-tdep.c (arm_stap_parse_special_token): Add 'char *'
	locals, and use those as strtol output pointer, instead than doing
	invalid casts to from 'const char **' to 'char **'.
	(_initialize_demangle): Remove cast.
	* i386-tdep.c (i386_stap_parse_special_token): : Add 'char *'
	locals, and use those as strtol output pointer, instead than doing
	invalid casts to from 'const char **' to 'char **'.
	* solib-dsbt.c (dsbt_get_initial_loadmaps): Remove 'gdb_byte**'
	casts.
	* stap-probe.c (stap_parse_register_operand)
	(stap_parse_single_operand): Likewise.
2013-03-13 16:45:11 +00:00
Yao Qi
8ddb196517 * tracepoint.c (tfile_get_trace_state_variable_value): Look for
the last matched 'V' blcok in trace frame.

gdb/gdbserver:

	* tracepoint.c (traceframe_read_tsv): Look for the last matched
	'V' block in trace frame.

gdb/testsuite:

	* gdb.trace/tsv.exp (check_tsv): New.
	(top level): Save a tfile on current trace session. Call
	check_tsv on live target.  Load the tfile with target tfile
	and call check_tsv again.
2013-03-13 03:40:27 +00:00
Yao Qi
045dd51fd8 gdb/testsuite/
2013-03-13  Yao Qi  <yao@codesourcery.com>

	* gdb.trace/tsv.exp: Remove code unrelated to testing TSV.
	Replace some "gdb_test" with "gdb_test_no_output".
2013-03-13 03:25:13 +00:00
gdbadmin
411c1c2bb7 *** empty log message *** 2013-03-13 00:00:03 +00:00
Alan Modra
a639b7de41 daily update 2013-03-12 23:00:04 +00:00
Alan Modra
4d9aa15515 * powerpc.cc (is_branch_reloc): Forward declare.
(Target_powerpc::do_can_check_for_function_pointers): New predicate.
	(Target_powerpc::Scan::local_reloc_may_be_function_pointer): Return
	false for 64-bit, true for 32-bit non-branch relocs.
	(Target_powerpc::Scan::global_reloc_may_be_function_pointer): Likewise.
	* testsuite/Makefile.am (icf_test): Use linker map file instead of
	nm output.
	(icf_safe_test): Generate linker map file as well as nm output.
	(icf_safe_so_test): Likewise.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/icf_test.sh: Parse linker map file to determine
	section folding.
	* testsuite/icf_safe_test.sh: Likewise.  Expect folding for PowerPC.
	* testsuite/icf_safe_so_test.sh: Likewise.
	(X86_32_or_ARM_specific_safe_fold): Merge into..
	(arch_specific_safe_fold): ..this.
	(X86_64_specific_safe_fold): Delete unused function.
2013-03-12 22:46:19 +00:00
Joel Brobecker
2d450646ca Update NEWS file following GDB 7.6 branch creation.
gdb/ChangeLog:

        * NEWS: Create a new section for the next release branch.
        Rename the section of the current branch, now that it has
        been cut.
2013-03-12 22:36:27 +00:00
gdbadmin
b4b79973de Record GDB 7.6 branch creation. Bump version number to 7.6.50.20130312-cvs. 2013-03-12 22:23:41 +00:00
Sandra Loosemore
8923d7f6fb 2013-03-12 Sebastian Huber <sebastian.huber@embedded-brains.de>
gas/testsuite/
	* gas/nios2/nios2.exp: Use run_dump_tests.
	* gas/nios2/mov.d: Delete file.
	* gas/nios2/mov.s: Likewise.
	* gas/nios2/rol.d: Likewise.
	* gas/nios2/rol.s: Likewise.
	* gas/nios2/add.d: Check instruction values.
	* gas/nios2/align_fill.d: Likewise.
	* gas/nios2/and.d: Likewise.
	* gas/nios2/branch.d: Likewise.
	* gas/nios2/bret.d: Likewise.
	* gas/nios2/cache.d: Likewise.
	* gas/nios2/call.d: Likewise.
	* gas/nios2/call26.d: Likewise.
	* gas/nios2/cmp.d: Likewise.
	* gas/nios2/comments.d: Likewise.
	* gas/nios2/complex.d: Likewise.
	* gas/nios2/ctl.d: Likewise.
	* gas/nios2/custom.d: Likewise.
	* gas/nios2/etbt.d: Likewise.
	* gas/nios2/flushda.d: Likewise.
	* gas/nios2/jmp.d: Likewise.
	* gas/nios2/ldb.d: Likewise.
	* gas/nios2/ldh.d: Likewise.
	* gas/nios2/ldw.d: Likewise.
	* gas/nios2/lineseparator.d: Likewise.
	* gas/nios2/movi.d: Likewise.
	* gas/nios2/movia.d: Likewise.
	* gas/nios2/mul.d: Likewise.
	* gas/nios2/nor.d: Likewise.
	* gas/nios2/or.d: Likewise.
	* gas/nios2/registers.d: Likewise.
	* gas/nios2/ret.d: Likewise.
	* gas/nios2/rotate.d: Likewise.
	* gas/nios2/stb.d: Likewise.
	* gas/nios2/sth.d: Likewise.
	* gas/nios2/stw.d: Likewise.
	* gas/nios2/sub.d: Likewise.
	* gas/nios2/sync.d: Likewise.
	* gas/nios2/trap.d: Likewise.
	* gas/nios2/tret.d: Likewise.
	* gas/nios2/xor.d: Likewise.
2013-03-12 21:34:58 +00:00
Sandra Loosemore
531a94fdb5 2013-03-12 Sebastian Huber <sebastian.huber@embedded-brains.de>
include/
	* opcode/nios2.h: Edit comment.

	gas/
	* config/tc-nios2.c (nios2_consume_arg): Delete 'k' case.  Add 'o'
	case.  Add default BAD_CASE to switch.

	gas/testsuite/
	* gas/nios2/break.d: Check instruction values.
2013-03-12 19:18:57 +00:00
Keith Seitz
ee0475543f * mi/mi-cmds.h (mi_execute_command): Make "cmd" const.
* mi/mi-interp.c (mi_interpreter_exec): Make "command" const.
	Remove temporary copy of input string.
	(mi_execute_command_wrapper): Make "cmd" const.
	* mi/mi-main.c (mi_execute_command): Make "string_ptr" const.
	* mi/mi-parse.c (mi_parse_argv): Make "args" const.
	Use const strings.
	(mi_parse): Make "cmd" const.
	Use const strings.
	* mi/mi-parse.h (mi_parse): Make "cmd" const.
2013-03-12 18:50:39 +00:00
Keith Seitz
bbc13ae3db * ada-lang.c (ada_read_renaming_var_value): Pass const
pointer to expression string to parse_exp_1.
	(create_excep_cond_exprs): Likewise.
	* ax-gdb.c (agent_eval_command_one): Likewise.
	(maint_agent_printf_command): Likewise.
	Constify much of the string handling/parsing.
	* breakpoint.c (set_breakpoint_condition): Pass const
	pointer to expression string to parse_exp_1.
	(update_watchpoint): Likewise.
	(parse_cmd_to_aexpr): Constify string handling.
	Pass const pointer to parse_exp_1.
	(init_breakpoint_sal): Pass const pointer to parse_exp_1.
	(find_condition_and_thread): Likewise.
	Make TOK const.
	(watch_command_1): Make "arg" const.
	Constify string handling.
	Copy the expression string instead of changing the input
	string.
	(update_breakpoint_location): Pass const pointer to
	parse_exp_1.
	* eval.c (parse_and_eval_address): Make "exp" const.
	(parse_to_comma_and_eval): Make "expp" const.
	(parse_and_eval): Make "exp" const.
	* expression.h (parse_expression): Make argument const.
	(parse_exp_1): Make first argument const.
	* findcmd.c (parse_find_args): Treat "args" as const.
	* linespec.c (parse_linespec): Pass const pointer to
	linespec_expression_to_pc.
	(linespec_expression_to_pc): Make "exp_ptr" const.
	* parse.c (parse_exp_1): Make "stringptr" const.
	Make a copy of the expression to pass to parse_exp_in_context until
	this whole interface can be constified.
	(parse_expression): Make "string" const.
	* printcmd.c (ui_printf): Treat "arg" as const.
	Handle const strings.
	* tracepoint.c (validate_actionline): Pass const pointer to
	all calls to parse_exp_1.
	(encode_actions_1): Likewise.
	* value.h (parse_to_comma_and_eval): Make argument const.
	(parse_and_eval_address): Likewise.
	(parse_and_eval): Likewise.
	* varobj.c (varobj_create): Pass const pointer to parse_exp_1.
	(varobj_set_value): Likewise.
	* cli/cli-cmds.c (disassemble_command): Treat "arg" as const and
	constify string handling.
	Pass const pointers to parse_and_eval_address and
	parse_to_comman_and_eval.
	* cli/cli-utils.c (skip_to_space): Rename to ...
	(skip_to_space_const): ... this. Handle const strings.
	* cli/cli-utils.h (skip_to_space): Turn into macro which invokes
	skip_to_space_const.
	(skip_to_space_const): Declare.
	* common/format.c (parse_format_string): Make "arg" const.
	Handle const strings.
	* common/format.h (parse_format_string): Make "arg" const.
	* gdbserver/ax.c (ax_printf): Make "format" const.
	* python/python.c (gdbpy_parse_and_eval): Do not make a copy
	of the expression string.
2013-03-12 17:39:45 +00:00
Hui Zhu
f3cec7e61f 2013-03-12 Hui Zhu <hui@codesourcery.com>
* dwarf2loc.c (dwarf2_compile_expr_to_ax): Update error message.
2013-03-12 15:44:06 +00:00
Michael Eager
314d60dd50 Eliminate warning message.
* opcodes/mips-dis.c (print_insn_args): Modify def of reg.
2013-03-12 15:19:23 +00:00
Hui Zhu
9df7235c1a 2013-03-12 Yao Qi <yao@codesourcery.com>
Hui Zhu  <hui@codesourcery.com>

	* dwarf2loc.c (access_memory): Change nbits to nbytes in gdb_assert.
	(dwarf2_compile_expr_to_ax): Call access_memory in DW_OP_deref and
	DW_OP_deref_size.
2013-03-12 14:44:56 +00:00
Paul N. Hilfinger
82d049abf1 Allow 'thread' to be used as a variable name in expressions.
GDB treats the identifiers 'if', 'thread', and 'task' unconditionally
as expression delimiters in Ada mode, which is correct for 'if' and 'task',
but wrong for 'thread' in cases such as

      print thread

Borrowing from c-exp.y, we observe that 'thread' must be followed by
numerals, whereas identifiers never are and treat them as delimiters
only in that case.

In the process, the current also refactors and incidentally fixes the
code for rewinding the input to before the delimiting tokens.  For
example, the code

      watch expr if i > 2

fails because the input is only rewound to just before the 'i',
leaving the 'if' as part of the expression (and thus making the
rest look like trailing junk rather than a conditional clause).

gdb/ChangeLog:

    * ada-lex.l (rules): Only recognize 'thread' as a
    delimiter when followed by numerals, as for c-exp.y.
    Use new rewind_to_char function to rewind the input for
    expression-delimiting tokens.
    (rewind_to_char): New function.

gdb/testsuite/ChangeLog:

    * gdb.ada/expr_delims.exp: New file.
    * gdb.ada/expr_delims/foo.adb: New file.
    * gdb.ada/expr_delims/pck.ads: New file.
    * gdb.ada/expr_delims/pck.adb: New file.
2013-03-12 09:03:11 +00:00
Sandra Loosemore
dad60f8e13 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
include/
	* opcode/nios2.h (OPX_WRPRS): New define.
	(OP_MATCH_WRPRS): Likewise.

	opcodes/
	* nios2-opc.c (nios2_builtin_opcodes): Add entry for wrprs.

	gas/
	* config/tc-nios2.c (nios2_assemble_args_ds): New function.
	(nios2_arg_info_structs): Add "d,s" and "d,s,E" entries.

	gas/testsuite/
	* gas/nios2/nios2.exp: Run wrprs.
	* gas/nios2/wrprs.d: New file.
	* gas/nios2/wrprs.s: Likewise.
2013-03-12 02:41:26 +00:00
Sandra Loosemore
f5cb796a1e 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
include/
	* opcode/nios2.h (OP_RDPRS): New define.
	(OP_MATCH_RDPRS): Likewise.

	opcodes/
	* nios2-opc.c (nios2_builtin_opcodes): Add entry for rdprs.

	gas/testsuite/
	* gas/nios2/nios2.exp: Run rdprs.
	* gas/nios2/rdprs.d: New file.
	* gas/nios2/rdprs.s: Likewise.
2013-03-12 02:20:08 +00:00
Sandra Loosemore
21fde85cfd 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
opcodes/
	* nios2-opc.c (nios2_builtin_regs): Add sstatus alias for ba register.

	gas/testsuite/
	* gas/nios2/nios2.exp: Run registers.
	* gas/nios2/registers.d: New file.
	* gas/nios2/registers.s: Likewise.
2013-03-12 01:41:41 +00:00
Alan Modra
57420c2084 * gc.h (gc_process_relocs): Look through function descriptors
to determine shndx, symvalue and addend used by ICF.  Tidy
	variable duplication.
2013-03-12 00:42:14 +00:00
gdbadmin
79cbf65452 *** empty log message *** 2013-03-12 00:00:37 +00:00
Alan Modra
bac019e5f8 daily update 2013-03-11 23:00:05 +00:00
Eli Zaretskii
5c4808caa6 * gdb.texinfo (General Query Packets): Don't use colon in index
entries visible to Info format.
2013-03-11 19:43:53 +00:00
Keith Seitz
cb8ea32b8d * watchpoint.exp (test_no_hw_watchpoints): Add test using
both condition and thread.  Then delete the watchpoint.
2013-03-11 19:02:22 +00:00
Jan Kratochvil
8c1fb15545 gdb/
* configure: Regenerate.
	* configure.ac (check dynamic export flag): Link python test with
	$PYTHON_LIBS.
2013-03-11 18:49:37 +00:00
Doug Evans
cc81e1c673 * linespec.c (find_linespec_symbols): Call find_function_symbols
first, and then call lookup_prefix_sym/find_method.
2013-03-11 18:24:59 +00:00
Pedro Alves
39086a0e13 Avoid invalid pointer to pointer conversions.
Casts between 'char **' <-> 'unsigned char **' and 'char **' <-> const
char **' are actually invalid:

  http://gcc.gnu.org/ml/gcc-help/2013-03/msg00118.html

In a nutshell, char (and variants) can alias anything, but pointers to
chars get no special treatment (cf. C99/N1256, 6.5/7).

Turns out older gcc's actually warn/complain on these constructs,
though newer one's don't:

  http://sourceware.org/ml/gdb-patches/2013-03/msg00429.html
  http://sourceware.org/ml/gdb-patches/2013-03/msg00430.html

This patch fixes the cases I added last week.  It also fixes one other
preexisting case in charset.c, though it seems even older gccs don't
complain of char * <-> const char * aliasing.

Tested on x86_64 Fedora 17.

gdb/
2013-03-11  Pedro Alves  <palves@redhat.com>

	* charset.c (convert_between_encodings): Don't cast between
	different pointer to pointer types.  Instead, make the 'inp' local
	be of the type iconv expects.
	(wchar_iterate): Don't cast between different pointer to pointer
	types.  Instead, use new pointer local of the type iconv expects.
	* target.c (target_read_stralloc, target_fileio_read_stralloc):
	Add new local of type char pointer, and use it to get a
	char/string view of the byte buffer, instead of casting between
	pointer to pointer types.
2013-03-11 12:22:20 +00:00
Hafiz Abid Qadeer
905851752e 2013-03-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
* remote.c (remote_set_trace_buffer_size): Move != operator
	to the start of next line to fix an ARI warning.
2013-03-11 12:20:52 +00:00
Kyrylo Tkachov
dd5181d57f Add support for AArch32 CRC instruction in ARMv8.
gas/ChangeLog
2013-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/tc-arm.c (crc_ext_armv8): New feature set.
	(UNPRED_REG): New macro.
	(do_crc32_1): New function.
	(do_crc32b, do_crc32h, do_crc32w, do_crc32cb,
	do_crc32ch, do_crc32cw): Likewise.
	(TUEc): New macro.
	(insns): Add entries for crc32 mnemonics.
	(arm_extensions): Add entry for crc.

include/opcode/ChangeLog
2013-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* arm.h (CRC_EXT_ARMV8): New constant.
	(ARCH_CRC_ARMV8): New macro.

opcodes/ChangeLog
2013-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* arm-dis.c (arm_opcodes): Add entries for CRC instructions.
	(thumb32_opcodes): Likewise.
	(print_insn_thumb32): Handle 'S' control char.

gas/testsuite/ChangeLog
2013-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* gas/arm/crc32-bad.d: New file.
	* gas/arm/crc32-bad.l: Likewise.
	* gas/arm/crc32-bad.s: Likewise.
	* gas/arm/crc32.d: Likewise.
	* gas/arm/crc32.s: Likewise.
2013-03-11 11:09:33 +00:00
Markus Metzger
2f1d9bddcc Add tests for the new record-btrace target.
testsuite/
	* Makefile.in: Add btrace testsuite.
	* configure: Regenerated.
	* configure.ac: Add btrace testsuite.
	* gdb.btrace/Makefile.in: New file.
	* gdb.btrace/enable.c: New file.
	* gdb.btrace/enable.exp: New file.
	* gdb.btrace/function_call_history.c: New file.
	* gdb.btrace/function_call_history.exp: New file.
	* gdb.btrace/instruction_history.c: New file.
	* gdb.btrace/instruction_history.exp: New file.
	* gdb.btrace/instruction_history.S: New file.
	* lib/gdb.exp: Add btrace skip proc.
2013-03-11 08:59:00 +00:00
Markus Metzger
59ea568849 Document changes to the record target resulting from the renaming into
record-full.

Document two new record sub-commands "record instruction-history" and
"record function-call-history" and two associated set/show commands
"set record instruction-history-size" and "set record
function-call-history-size".

Add this to NEWS.

gdb/
	* NEWS: Add record changes.

doc/
	* gdb.texinfo (Process Record and Replay): Document record
	changes.
2013-03-11 08:55:36 +00:00
Markus Metzger
946287b73c Add a disassembly flag to omit the pc prefix and use it in the "record
instruction-history" command of record-btrace.

The pc prefix would appear multiple times in the branch trace disassembly,
which is more confusing than helpful.

gdb/
	* record-btrace.c (btrace_insn_history): Omit the pc prefix in
	the instruction history disassembly.
	* disasm.c (dump_insns): Omit the pc prefix, if requested.
	* disasm.h (DISASSEMBLY_OMIT_PC): New.
2013-03-11 08:53:17 +00:00
Markus Metzger
afedecd388 Add a target for branch trace recording.
The target implements the new record sub-commands
"record instruction-history" and
"record function-call-history".

The target does not support reverse execution or navigation in the
recorded execution log.

gdb/
	* Makefile.in (SFILES): Add record-btrace.c
	(COMMON_OBS): Add record-btrace.o
	* record-btrace.c: New.
	* objfiles.c: Include btrace.h.
	(free_objfile): call btrace_free_objfile.
2013-03-11 08:51:58 +00:00
Markus Metzger
15984c13c7 Add command to print the function names from recorded instructions.
This command provides a quick high-level overview over the recorded execution
log at function granularity without having to reverse-step.

gdb/
	* target.c (target_call_history, target_call_history_from,
	target_call_history_range): New.
	* target.h (target_ops) <to_call_history, to_call_history_from,
	to_call_history_range>: New fields.
	(target_call_history, target_call_history_from,
	target_call_history_range): New declaration.
	* record.c (get_call_history_modifiers, cmd_record_call_history,
	record_call_history_size): New.
	(_initialize_record): Add the "record function-call-history" command.
	Add "set/show record function-call-history-size" commands.
	* record.h (record_print_flag): New.
2013-03-11 08:50:05 +00:00
Markus Metzger
67c86d0683 Add a command to provide a disassembly of the execution trace log.
gdb/
	* target.h (target_ops) <to_insn_history, to_insn_history_from,
	to_insn_history_range>: New fields.
	(target_insn_history): New.
	(target_insn_history_from): New.
	(target_insn_history_range): New.
	* target.c (target_insn_history): New.
	(target_insn_history_from): New.
	(target_insn_history_range): New.
	* record.c: Include cli/cli-utils.h, disasm.h, ctype.h.
	(record_insn_history_size): New.
	(get_insn_number): New.
	(get_context_size): New.
	(no_chunk): New.
	(get_insn_history_modifiers): New.
	(cmd_record_insn_history): New.
	(_initialize_record): Add "set/show record instruction-history-size"
	command. Add "record instruction-history" command.
2013-03-11 08:48:38 +00:00