Commit Graph

31980 Commits

Author SHA1 Message Date
gdbadmin
a4e6529be5 *** empty log message *** 2013-02-25 00:00:03 +00:00
Maciej W. Rozycki
ca9c94efe7 * mips-tdep.c (mips32_scan_prologue): Reset frame_offset to zero
if $fp is used as the virtual frame pointer.
2013-02-24 12:54:04 +00:00
gdbadmin
95ab2206e0 *** empty log message *** 2013-02-24 00:00:36 +00:00
gdbadmin
5e2091fa63 *** empty log message *** 2013-02-23 00:00:03 +00:00
Alan Modra
24c274a133 * elfread.c (elf_symtab_read): Do not use udata.p here to find
symbol size.
	* ppc64-tdep.c (ppc64_elf_make_msymbol_special): New function.
	* ppc64-tdep.h (ppc64_elf_make_msymbol_special): Declare.
	* ppc-linux-tdep.c (ppc_linux_init_abi): Set up to use the above.
	* ppcfbsd-tdep.c (ppcfbsd_init_abi): Likewise.
2013-02-22 23:24:24 +00:00
Jan Kratochvil
bfada1897a gdb/
Code cleanup.
	* elfread.c (build_id_bfd_get): Make the return type const.
	(build_id_verify): Make the check parameter const.
	(build_id_to_debug_filename): Make the build_id parameter and variable
	data const.
	(find_separate_debug_file_by_buildid): Make the variable build_id const.
2013-02-22 16:40:56 +00:00
gdbadmin
757b8d9405 *** empty log message *** 2013-02-22 00:00:03 +00:00
Tom Tromey
d57350ea35 * gdb.texinfo: Remove bad @syncodeindex.
(Values From Inferior, Types In Python, Inferiors In Python)
	(Events In Python, Threads In Python, Frames In Python, Blocks In
	Python, Symbols In Python, Symbol Tables In Python): Remove
	@tables.
	(Packets, General Query Packets, Tracepoint Packets)
	(Host I/O Packets): Use @w{} for empty @item.
2013-02-21 19:08:10 +00:00
Alan Modra
c03551323c bfd/
* elf-bfd.h (struct elf_build_id): Extracted from..
	(struct elf_build_id_info): ..here.  Delete.
	(struct output_elf_obj_tdata): New, extracted from..
	(struct elf_obj_tdata): ..here.  Reorganize for better packing.
	Add "o" field.
	(elf_program_header_size): Reference tdata->o.
	(elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
	elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec,
	elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise.
	* elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata
	when opening bfd in any mode that might write.
	(_bfd_elf_write_object_contents): Use build_id field in
	output_elf_obj_tdata.
	(_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test.
	(elfobj_grok_gnu_build_id): Adjust for elf_tdata changes.
gdb/
	* elfread.c (build_id_bfd_get): Adjust for elf_tdata changes.
ld/
	* emultempl/elf32.em (write_build_id, setup_build_id): Adjust
	for elf_tdata changes.
2013-02-21 04:35:22 +00:00
Siva Chandra Reddy
9f44fbc034 Add a new method 'disassemble' to gdb.Architecture class.
* python/py-arch.c (archpy_disassmble): Implementation of the
	new method gdb.Architecture.disassemble.
	(arch_object_methods): Add entry for the new method.

	* doc/gdb.texinfo (Architectures In Python): Add description
	about the new method gdb.Architecture.disassemble.

	* testsuite/gdb.python/py-arch.c: New test case
	* testsuite/gdb.python/py-arch.exp: New tests to test
	gdb.Architecture.disassemble
	* testsuite/gdb.python/Makefile.in: Add py-arch to the list of
	EXECUTABLES.
2013-02-21 01:46:57 +00:00
gdbadmin
d373aa7be9 *** empty log message *** 2013-02-21 00:00:03 +00:00
Jiong Wang
b74ea3eb01 gdb/
* MAINTAINERS (Write After Approval): Add myself to the list.
2013-02-20 07:45:14 +00:00
gdbadmin
286cc68d2d *** empty log message *** 2013-02-20 00:00:03 +00:00
Pedro Alves
aca2255198 gdbserver:server.c - use unpack_varlen_hex to extract hex numbers.
Addresses, as most numbers in the RSP are hex encoded, with variable
length (that just means the width isn't specified, and there's no top
cap.  So they should be extracted with unpack_varlen_hex.

A couple spots in server.c are using strto(u)l, which doesn't work on
LLP64 targets.

This patch fixes it.

Tested on x86_64 Fedora 17.

2013-02-19  Pedro Alves  <palves@redhat.com>
	    Kai Tietz <ktietz@redhat.com>

	PR gdb/15161

	* server.c (handle_query) <CRC check>: Use unpack_varlen_hex
	instead of strtoul to extract address from packet.
	(process_serial_event) <'z'>: Likewise.
2013-02-19 20:52:57 +00:00
Pedro Alves
61a672f17d Garbage collect struct monitor_ops::load_routine.
While touching monitor_load in a previous patch, I noticed this method
is no longer set to anything other than NULL in the tree, so we can
remove it.

Tested by building with --enable-targets=all.

2013-02-19  Pedro Alves  <palves@redhat.com>

	Garbage collect 'struct monitor_ops'::load_routine.

	* monitor.h (struct monitor_ops) <load_routine>: Remove field.
	* monitor.c (monitor_load): No longer call
	current_monitor->load_routine.
	* dbug-rom.c (init_dbug_cmds): Don't set 'load_routine'.
	* m32r-rom.c (init_m32r_cmds): Don't set 'load_routine'.
	* ppcbug-rom.c (init_ppc_cmds): Don't set 'load_routine'.
2013-02-19 19:41:28 +00:00
Pedro Alves
40e397df34 Harmonize this monitor_load with generic_load.
Harmonize this old-looking code with generic_load, which fixes several
issues.

2013-02-19  Pedro Alves  <palves@redhat.com>

	PR gdb/15161

	Harmonize with generic_load.

	* monitor.c: Include "readline/readline.h".
	(monitor_load): Rename parameter 'file' to 'args'.  Use build_argv
	instead of sscanf.  Use CORE_ADDR/strtoulst instead of unsigned
	long/strtol for the 'load_offset' local.  Error out if no argument
	is given or if too many arguments are given.  Tilde expand the
	passed in file name.
2013-02-19 19:27:21 +00:00
Kai Tietz
f698ca8e12 PR gdb/15161
* symfile.c (load_section_data): Change type of load_offset
       to CORE_ADDR.
       (generic_load): User strtoulst instead of strtoul for conversion
       of load_offset.
2013-02-19 18:31:49 +00:00
Walter Lee
3361b059eb * tilegx-tdep.c (tilegx_analyze_prologue): add check for
for return address, "lr" register, saved on stack.
        * tilegx-tdep.c (tilegx_frame_cache): update "PC" reg
        after we invoke tilegx_analyze_prologue.
2013-02-19 16:22:42 +00:00
Walter Lee
bb1bcd865b * tilegx-tdep.c (itilegx_gdbarch_init): char type should be signed. 2013-02-19 16:21:29 +00:00
Walter Lee
3e9d51302a * tilegx-tdep.c (tilegx_skip_prologue): Use skip_prologue_using_sal. 2013-02-19 16:20:47 +00:00
Walter Lee
4aaf25031b * tilegx-tdep.c (INT_SWINT_1_SIGRETURN): New macro.
(tilegx_write_pc): New function.
        (tilegx_cannot_reference_register): Return zero if REGNO
        is TILEGX_FAULTNUM_REGNUM.
        (tilegx_gdbarch_init): Add call to set_gdbarch_write_pc.
        (tilegx_register_name): Add handling of "faultnum" register.
        * tilegx-tdep.h (enum tilegx_regnum): Add TILEGX_FAULTNUM_REGNUM.
        * tilegx-linux-tdep.c (tilegx_linux_supply_regset): Add
        handling of TILEGX_FAULTNUM_REGNUM.
        * tilegx-linux-nat.c (regmap): Add entry for TILEGX_FAULTNUM_REGNUM.
2013-02-19 16:19:33 +00:00
Walter Lee
bc23a95694 * tilegx-tdep.c (tilegx_push_dummy_call): args pushed on stack
should be aligned to 64bit.
2013-02-19 16:09:13 +00:00
Kai Tietz
42f45f1a89 * windows-nat.c (windows_xfer_memory): Fix debug-output
for LLP64.
2013-02-19 15:46:32 +00:00
Lei Liu
6ce4c1124b 2013-02-19 Lei Liu <lei.liu2@windriver.com>
* mips-linux-nat.c (mips64_linux_regsets_store_registers):
	Don't check DSP register number if HAVE_DSP is not set.
2013-02-19 07:50:30 +00:00
Lei Liu
13dbc7852d 2013-02-19 Lei Liu <lei.liu2@windriver.com>
* MAINTAINERS (Write After Approval): Add myself to the list.
2013-02-19 07:01:07 +00:00
gdbadmin
11e965c4b6 *** empty log message *** 2013-02-19 00:00:33 +00:00
Alan Modra
30e8ee25e3 include/
* bfdlink.h (struct bfd_link_info): Delete emit_note_gnu_build_id.
bfd/
	* configure.in: Bump version to 2.23.52.
	* elf-bfd.h (struct elf_build_id_info): New.
	(struct elf_obj_tdata): Delete after_write_object_contents,
	after_write_object_contents_info and build_id_size.  Make build_id
	a pointer to struct elf_build_id_info.
	* elf.c (_bfd_elf_write_object_contents): Style.  Update
	after_write_ibject_contents invocation.
	(elfobj_grok_gnu_build_id): Update for new build_id struct.  Don't
	allow zero size notes.
	* configure: Regenerate.
gdb/
	* elfread.c (struct build_id): Delete.  Use struct elf_build_id
	throughout file instead.
	(build_id_bfd_get): Update to use new elf_tdata build_id field.
	Don't xmalloc return value.
	(build_id_verify): Similarly.  Don't xfree.
	(build_id_to_debug_filename): Update.
	(find_separate_debug_file_by_buildid): Update, don't xfree.
ld/
	* emultempl/elf32.em (emit_note_gnu_build_id): New static var.
	Replace all info->emit_note_gnu_build_id refs.
	(id_note_section_size): Rename from
	gld${EMULATION_NAME}_id_note_section_size.
	(struct build_id_info): Delete.
	(write_build_id): Rename from
	gld${EMULATION_NAME}_write_build_id_section.
	Update elf_tdata usage.  Style, formatting.
	(setup_build_id): New function.
	(gld${EMULATION_NAME}_after_open): Use setup_build_id.
2013-02-18 23:50:32 +00:00
Tom Tromey
4c9ad8c2c0 PR gdb/15102:
* dwarf2read.c (read_subrange_type): Use result of
	'check_typedef'.
gdb/testsuite
	* gdb.dwarf2/subrange.exp: New file.
2013-02-18 21:04:28 +00:00
Yao Qi
4f3cee1ca1 gdb/gdbserver
* linux-bfin-low.c (the_low_target): Use NULL instead of 0.
2013-02-18 14:54:57 +00:00
gdbadmin
bdeb34ba52 *** empty log message *** 2013-02-18 00:00:33 +00:00
gdbadmin
813402189e *** empty log message *** 2013-02-17 00:00:33 +00:00
Yao Qi
983dc440fe gdb/
2013-02-16  Yuanhui Zhang  <asmwarrior@gmail.com>

	* frame.c: Remove one extra white space after #include
	directive.
2013-02-16 08:57:48 +00:00
gdbadmin
1082a0c400 *** empty log message *** 2013-02-16 00:00:03 +00:00
Jan Kratochvil
7fb2b84a25 gdb/
* contrib/cc-with-tweaks.sh: Extend the comment for -p option.
2013-02-15 20:30:16 +00:00
Jan Kratochvil
edceb2a99a gdb/
* gdb-gdb.gdb.in: Wrap set complaints, b internal_error, b info_command
	and dir commands into an if block.
2013-02-15 20:28:24 +00:00
Tom Tromey
e81b7af881 2013-02-15 Sanimir Agovic <sanimir.agovic@intel.com>
* python/py-breakpoint (struct pybp_code):  Use int instead of
	enum type_code.
2013-02-15 17:12:29 +00:00
Hafiz Abid Qadeer
f5911ea119 2013-02-15 Pedro Alves <pedro@codesourcery.com>
Hafiz Abid Qadeer  <abidh@codesourcery.com>

	gdb/
	* NEWS: Mention new field "trace-file".
	* tracepoint.c (trace_status_mi): Output "trace-file" field.
	(tfile_open): Record the trace file's filename in the trace
	status.
	(tfile_files_info): Mention the name of the trace file.
	Check the "filename" field explicitely.
	(trace_status_command): Explicitely check "filename" field.
	(trace_find_command): Ditto.
	(trace_find_pc_command): Ditto.
	(trace_find_tracepoint_command): Ditto.
	(trace_find_line_command): Ditto.
	(trace_find_range_command): Ditto.
	(trace_find_outside_command): Ditto.
	* tracepoint.h (struct trace_status) <from_file>: Rename it
	to "filename" and make it hold the trace file's filename
	instead of a boolean.
	* remote.c (remote_get_trace_status): Initialize "filename"
	field with NULL instead	of 0.

	gdb/doc/
	* gdb.texinfo (GDB/MI Tracepoint Commands) <-trace-status>:
	Document the "trace-file" field.

	gdb/testsuite/
	* gdb.trace/tfile.exp: Add test for -trace-status command.
2013-02-15 09:47:50 +00:00
Yao Qi
796cb314e7 gdb/
* remote.c: Fix a typo.
2013-02-15 03:37:12 +00:00
gdbadmin
886f4b6d96 *** empty log message *** 2013-02-15 00:00:33 +00:00
Pierre Muller
42e79b1dfd * contrib/ari/gdb_ari.sh (GNU/Linux rule): Remove. 2013-02-14 21:08:35 +00:00
Pedro Alves
8e1d55a3df gdbserver: QTNotes, plug memory leak.
The previous notes aren't being released before setting new ones.

Tested on x86_64 Fedora 17.

gdb/gdbserver/
2013-02-14  Pedro Alves  <palves@redhat.com>

	Plug memory leak.

	* tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME,
	TRACING_NOTES and TRACING_STOP_NOTE before clobbering.
2013-02-14 18:07:19 +00:00
Pedro Alves
458820da59 gdbserver:tracepoint.c:cmd_qtdpsrc use savestring.
An obvious use case for savestring.

Tested on x86_64 Fedora 17.

2013-02-14  Pedro Alves  <palves@redhat.com>

	* tracepoint.c (cmd_qtdpsrc): Use savestring.
2013-02-14 17:30:03 +00:00
Pedro Alves
baea0daecf Move savestring to common/common-utils.c, make gdbserver use it.
This makes gdbserver share gdb's savestring, instead of baking its own.

Tested on x86_64 Fedora 17.

gdb/
2013-02-14  Pedro Alves  <palves@redhat.com>

	* utils.c (savestring): Don't #undef it.  Move function to
	common/common-utils.c.
	* common/common-utils.c: Include gdb_string.h.
	(savestring): Move here from utils.c.
	* common/common-utils.h (savestring): Declare.

gdb/gdbserver/
2013-02-14  Pedro Alves  <palves@redhat.com>

	* tracepoint.c (save_string): Delete.
	(add_tracepoint_action): Use savestring instead of save_string.
2013-02-14 17:11:41 +00:00
Pedro Alves
57c3b6ede5 savestring: Rename parameter 'size' to 'len'.
It's better to avoid needless confusion, and call string length,
length, instead of size, which is usually used to refer to sizeof of
the string (len+1):

	size_t len = strlen (str);
	size_t size = sizeof (str);

Tested on x86_64 Fedora 17.

2013-02-14  Pedro Alves  <palves@redhat.com>

	* utils.c (savestring): Rename parameter 'size' to 'len'.
2013-02-14 17:09:00 +00:00
Jan Kratochvil
420f4384af gdb/testsuite/
* gdb.threads/pthread_cond_wait.c (main): Remove variable ts.  Replace
	nanosleep by sleep.
2013-02-14 15:24:11 +00:00
Yufeng Zhang
d6c44983c3 2013-02-14 Pedro Alves <palves@redhat.com>
Yufeng Zhang  <yufeng.zhang@arm.com>

	* aarch64-linux-nat.c (aarch64_init_debug_reg_state): Delete.
	(aarch64_inferior_data, struct aarch64_inferior_data):
	Delete.
	(struct aarch64_process_info): New.
	(aarch64_process_list): New global.
	(aarch64_find_process_pid, aarch64_add_process)
	(aarch64_process_info_get): New functions.
	(aarch64_inferior_data_get): Delete.
	(aarch64_process_info_get): New function.
	(aarch64_forget_process): New function.
	(aarch64_get_debug_reg_state): New parameter 'pid'.  Reimplement.
	(aarch64_linux_prepare_to_resume): Pass the lwp's pid to
	aarch64_get_debug_reg_state.
	(aarch64_notify_debug_reg_change): Use iterate_over_lwps
	instead of linux_nat_iterate_watchpoint_lwps.
	(aarch64_linux_new_fork): New function.
	(aarch64_linux_child_post_startup_inferior): Use
	aarch64_forget_process instead of aarch64_init_debug_reg_state.
	(aarch64_handle_breakpoint, aarch64_linux_insert_hw_breakpoint)
	(aarch64_linux_remove_hw_breakpoint)
	(aarch64_handle_aligned_watchpoint)
	(aarch64_handle_unaligned_watchpoint)
	(aarch64_linux_insert_watchpoint)
	(aarch64_linux_remove_watchpoint)
	(aarch64_linux_stopped_data_address): Adjust to pass the current
	process id to aarch64_debug_reg_state.
	(_initialize_aarch64_linux_nat): Install aarch64_linux_new_fork as
	linux_nat_new_fork hook, and aarch64_forget_process as
	linux_nat_forget_process hook; remove the call to
	register_inferior_data_with_cleanup.
2013-02-14 13:50:30 +00:00
Pedro Alves
4819b3f897 Fix ptype bug actually exercised in userdef.exp
I happened to notice a bug with ptype &Ref, and found out userdef.exp
actually exercises the bug.  With:

class Container
{
public:
  Member m;

  Member& operator* ();
};

Member& Container::operator* ()
{
  return this->m;
}

And 'c' is of type Container:

(gdb) p c
$1 = {m = {z = -9192}}
(gdb) p *c
$2 = (Member &) @0x7fffffffda20: {z = -9192}
(gdb) ptype *c
type = class Member {
  public:
    int z;
} &

(gdb) p &*c
$3 = (Member *) 0x7fffffffda20

(gdb) ptype &*c
type = class Member {
  public:
    int z;
} &*
(gdb)

Notice that last print (&*c) on says the type is a pointer - that's
how you get the address behind a reference.  But notice the last ptype
instead says the type of the same expression is a pointer _reference_.
This looks like a bug to me.

This patch fixes it.  The issue is that we're entering the VALUE_LVAL
(x) == lval_memory branch by mistake for references.  The fix is just
to swap the tests so references are checked first, like value_addr
also handles references first.

Tested on x86_64 Fedora 17.

2013-02-14  Pedro Alves  <palves@redhat.com>

	* eval.c (evaluate_subexp_for_address) <default_case_after_eval,
	EVAL_AVOID_SIDE_EFFECTS>: Swap and handle TYPE_CODE_REF before
	lval_memory.

2013-02-14  Pedro Alves  <palves@redhat.com>

	* gdb.cp/userdef.exp (ptype &*c): Don't expect an &.
2013-02-14 12:43:46 +00:00
Hafiz Abid Qadeer
1773c82c92 2013-02-14 Pedro Alves <pedro@codesourcery.com>
Hafiz Abid Qadeer  <abidh@codesourcery.com>

	gdb/
	* tracepoint.h (validate_trace_state_variable_name): Declare.
	* tracepoint.c (validate_trace_state_variable_name): New.
	(trace_variable_command): Parse the trace state variable's name
	without using parse_expression.  Do several validations.
	* mi/mi-main.c (mi_cmd_trace_define_variable): Don't parse the
	trace state variable's name with parse_expression.  Validate it.

	gdb/testsuite/
	* gdb.trace/tsv.exp: Adjust tests, and add a few more.
2013-02-14 10:19:39 +00:00
Yao Qi
53778a978f gdb/
* infcmd.c (breakpoint_proceeded): Remove it.
2013-02-14 04:00:16 +00:00
Yao Qi
7b3ae3a66f gdb/
* tracepoint.c (end_actions_pseudocommand): Make it static.
	(while_stepping_pseudocommand): Likewise.
	* tracepoint.h (end_actions_pseudocommand): Remove the
	declaration.
	(while_stepping_pseudocommand): Likewise.
2013-02-14 03:57:13 +00:00