Commit Graph

32704 Commits

Author SHA1 Message Date
Gary Benson
ced63ec087 2013-06-04 Gary Benson <gbenson@redhat.com>
* target.h (target_ops): New field
	"to_augmented_libraries_svr4_read".
	(target_augmented_libraries_svr4_read): New macro.
	* target.c (update_current_target): Handle
	to_augmented_libraries_svr4_read.
	* remote.c (remote_state): New field
	"augmented_libraries_svr4_read".
	(remote_augmented_libraries_svr4_read_feature): New function.
	(remote_protocol_features): Add entry for
	"augmented-libraries-svr4-read".
	(remote_augmented_libraries_svr4_read): New function.
	(init_remote_ops): Initialize
	remote_ops.to_augmented_libraries_svr4_read.
2013-06-04 13:10:53 +00:00
Gary Benson
85dc5a128b 2013-06-04 Gary Benson <gbenson@redhat.com>
* gdb.texinfo (General Query Packets/qSupported): Added
	"qXfer:libraries-svr4:read" and "augmented-libraries-svr4-read".
	to the table of currently defined stub features.
	Added a more detailed entry for "augmented-libraries-svr4-read".
	(General Query Packets/qXfer:libraries-svr4:read): Documented
	the augmented form of this packet.
2013-06-04 13:07:45 +00:00
Gary Benson
7f91dbec54 2013-06-04 Gary Benson <gbenson@redhat.com>
* NEWS: Update.
2013-06-04 13:02:15 +00:00
Gary Benson
b1fbec6251 2013-06-04 Gary Benson <gbenson@redhat.com>
* server.c (handle_query): Add "augmented-libraries-svr4-read+"
	to qSupported response when appropriate.
	(handle_qxfer_libraries_svr4): Allow qXfer:libraries-svr4:read
	with nonzero-length annex.
	* linux-low.c (linux_qxfer_libraries_svr4): Parse and handle
	arguments supplied in annex.
2013-06-04 12:59:21 +00:00
Gary Benson
607ece04f4 2013-06-04 Gary Benson <gbenson@redhat.com>
* objfiles.h (inhibit_section_map_updates): New function
	declaration.
	(resume_section_map_updates): Likewise.
	(resume_section_map_updates_cleanup): Likewise.
	* objfiles.c (objfile_pspace_info): Removed field
	"objfiles_changed_p".  New fields "new_objfiles_available",
	"section_map_dirty" and "inhibit_updates".
	(allocate_objfile): Set new_objfiles_available.
	(free_objfile): Set section_map_dirty.
	(objfile_relocate1): Likewise.
	(in_plt_section): Likewise.
	(find_pc_section): Update the conditions under which the
	section map will be updated.
	(inhibit_section_map_updates): New function.
	(resume_section_map_updates): Likewise.
	(resume_section_map_updates_cleanup): Likewise.
2013-06-04 12:53:34 +00:00
Gary Benson
9ee6a5acd5 2013-06-04 Gary Benson <gbenson@redhat.com>
* probe.h (get_probe_argument_count): New declaration.
	(evaluate_probe_argument): Likewise.
	* probe.c (get_probe_argument_count): New function.
	(evaluate_probe_argument): Likewise.
	(probe_safe_evaluate_at_pc): Use the above new functions.
2013-06-04 12:50:21 +00:00
Alan Modra
845d47080b * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
* rs6000-tdep.c (read_insn): Add frame param, don't assume big-endian.
	(ppc_insns_match_pattern): Add frame param.  Avoid multiple
	target mem reads on optional insns.
	* ppc-linux-tdep.c (ppc_skip_trampoline_code): Update
	ppc_insns_match_pattern calls.
	* ppc64-tdep.c (ppc64_standard_linkage2, ppc64_standard_linkage3):
	Add match for power7 thread safety insns, and new order of
	std 2,40(1) insn.  Correct code shown for _dl_runtime_resolve
	invocation in comment, and update rest of comment.
	(PPC64_STANDARD_LINKAGE1_LEN, PPC64_STANDARD_LINKAGE2_LEN,
	PPC64_STANDARD_LINKAGE3_LEN): Delete.
	(ppc64_standard_linkage2_target): Update insn offsets.
	(ppc64_skip_trampoline_code): Use a single insn buffer.  Match newer
	stubs first.  Update calls.
2013-06-04 02:44:35 +00:00
Yao Qi
404e278f8d gdb/
* solib.c (solib_find): Don't need dir separator if path has
	drive spec.
2013-06-04 01:33:31 +00:00
gdbadmin
0e8faa7b6e *** empty log message *** 2013-06-04 00:00:32 +00:00
Joel Brobecker
f6aea118f8 Revert "fix cleanup handling in macho_symfile_read"
This patch indirectly causes a SEGV by creating a dangling pointer.
Reverting this patch while working on a clearer memory management
method for this part of the code.

gdb/Changelog:

        Revert:
        * machoread.c (macho_symfile_read): Assign first cleanup to
        'back_to'.
2013-06-03 13:22:29 +00:00
Yao Qi
87967e273f gdb/
* mi/mi-cmd-var.c (mi_no_values, mi_simple_values): Move to
	mi-parse.c.  Make them static.
	(mi_all_values): Likewise.
	(mi_parse_values_option): Move to mi-parse.c.  Rename it to
	mi_parse_print_values.  Make it external.
	* mi/mi-cmds.h (mi_no_values, mi_simple_values, mi_all_values):
	Remove the declarations.
	* mi/mi-parse.c (mi_parse_print_values): Moved from mi-cmd-var.c.
	* mi/mi-parse.h (mi_parse_print_values): Declare.
	* mi/mi-cmd-stack.c: Include mi-parse.h.
	(parse_print_values): Remove
	(mi_cmd_stack_list_locals): Call mi_parse_print_values instead
	of parse_print_values.
	(mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Likewise.
2013-06-03 03:16:24 +00:00
gdbadmin
2590d1455c *** empty log message *** 2013-06-03 00:00:03 +00:00
gdbadmin
e55608f4cc *** empty log message *** 2013-06-02 00:00:32 +00:00
gdbadmin
bb8779ef82 *** empty log message *** 2013-06-01 00:00:02 +00:00
Doug Evans
d1ec4ce7c9 * linux-x86-low.c (ps_get_thread_area): Properly extend address to
64 bits in 64-cross-32 environment.
2013-05-31 19:14:33 +00:00
Yao Qi
3ca73e0c7d gdb/
* tracepoint.c (all_tracepoint_actions_and_cleanup): Declare.
	(encode_actions): Move code to ...
	(all_tracepoint_actions_and_cleanup): ... here.  New.
	(trace_dump_command): Likewise.
2013-05-31 10:06:02 +00:00
gdbadmin
e8de40a833 *** empty log message *** 2013-05-31 00:00:32 +00:00
Tom Tromey
4e993a190a maintenance_expand_symtabs leaks a cleanup
It turns out that maintenance_expand_symtabs was missing a call to
do_cleanups.  I found this using the cleanup checker.

	* symmisc.c (maintenance_expand_symtabs): Call do_cleanups.
2013-05-30 17:44:54 +00:00
Tom Tromey
e3b76b4f44 fix up xml-support.c
xml-support.c has a function that returns a cleanup via an out parameter.

This changes this function to be a normal cleanup constructor --
returning the cleanup directly and returning the other result via an
out parameter.

This is sort of a hack, but it lets the checker work here.

I also noticed that gdb_xml_create_parser_and_cleanup does not need to
be exported any more.

	* xml-support.c (gdb_xml_create_parser_and_cleanup): Rename from
	gdb_xml_create_parser_and_cleanup_1.  Return a cleanup.  Remove
	'old_chain' argument.  Add 'parser_result' argument.
	(gdb_xml_create_parser_and_cleanup): Remove old version.
	(gdb_xml_parse_quick): Update.
	(xml_process_xincludes): Update.
	* xml-support.h (gdb_xml_create_parser_and_cleanup): Don't
	declare.
2013-05-30 17:41:38 +00:00
Tom Tromey
db26349c64 fix compile_rx_or_error
compile_rx_or_error looks like a constructor, but it can return NULL.
This patch changes it to remove the NULL return, making it work
like any other cleanup constructor.

This is a stylistic patch but I think it is also better for code to
follow the normal conventions.

	* probe.c (collect_probes): Check arguments for NULL before
	calling compile_rx_or_error.
	* utils.c (compile_rx_or_error): Require 'rx' to be non-NULL.
	Remove NULL return.
2013-05-30 17:39:34 +00:00
Tom Tromey
77f9e71302 some fixes to infrun.c
This fixes some of the problems in infrun.c that the checker reported.
I filed the remaining problems as bugs.

This patch is purely stylistic.

	* infrun.c (adjust_pc_after_break): Introduce an outer null
	cleanup.
2013-05-30 17:37:50 +00:00
Tom Tromey
45475de718 fix mi-cmd-var.c
This is a stylistic change in mi-cmd-var.c that adds outer cleanups
where needed by the checker.

	* mi/mi-cmd-var.c (varobj_update_one): Add an outer null cleanup.
2013-05-30 17:37:12 +00:00
Tom Tromey
ac5007fd4e fix cli-script.c
read_command_lines_1 had some (IMNSHO) spaghetti-ish code for cleanup
handling.  This makes the code much simpler to understand, by
introducing an outer cleanup.

This is another case where a stylistic change for the checker is also
nice for the reader.

	* cli/cli-script.c (read_command_lines_1): Use a null cleanup
	for 'old_chain'.  Do not check 'head' before processing
	cleanups.
2013-05-30 17:36:29 +00:00
Tom Tromey
cd82eddcf1 fix mi-cmd-stack.c
mi-cmd-stack.d had a conditional cleanup, "cleanup_tuple" that
confused the checker.  However, there was no need for this, since it
was only used via do_cleanups at the end of the function, just before
another call to do_cleanups.

So, while this is a stylistic patch for the checker, I also consider
it a generic improvement for readers of the code.

	* mi/mi-cmd-stack.c (list_arg_or_local): Remove
	"cleanup_tuple".
2013-05-30 17:35:40 +00:00
Tom Tromey
57cee33aee fix dbxread.c
This is a stylistic change to make some code in dbxread.c analyzable
by the checker.

	* dbxread.c (dbx_read_symtab): Declare 'back_to' in a more
	inner scope.  Unconditionally call do_cleanups.
2013-05-30 17:34:18 +00:00
Tom Tromey
795d915c9b fix source.c
find_and_open_source can leak a cleanup.

	* source.c (find_and_open_source): Call do_cleanups.
2013-05-30 17:33:41 +00:00
Tom Tromey
1fc3cf4a5a fix linux-thread-db.c
This is a stylistic change to make it so the checker can analyze a
function in linux-thread-db.c.

	* linux-thread-db.c (thread_db_load_search): Unconditionally
	call do_cleanups.
2013-05-30 17:31:48 +00:00
Tom Tromey
e35ac9bf5c fix in solib-aix.c
solib_aix_bfd_open has an early "return" that doesn't run cleanups.
This fixes the problem by dropping the null_cleanup and using a later
cleanup as the master cleanup for the function.

	* solib-aix.c (solib_aix_bfd_open): Don't use a null cleanup
	for 'cleanup'; instead use a later one.
2013-05-30 17:31:00 +00:00
Tom Tromey
f330038710 use explicit returns to avoid checker confusion
The checker does not understand the idiom

if (except.reason < 0) {
   do_cleanups (whatever);
   GDB_PY_HANDLE_EXCEPTION (except);
}

because it doesn't realize that the nested 'if' actually has the same
condition.

This fixes instances of this to be more explicit.

	* python/py-breakpoint.c (bppy_get_commands): Use
	explicit, unconditional return.
	* python/py-frame.c (frapy_read_var): Likewise.
	* python/python.c (gdbpy_decode_line): Likewise.
2013-05-30 17:30:03 +00:00
Tom Tromey
c27e16e3f1 fix cp-namespace.c
cp_lookup_symbol_imports_or_template could return without
running cleanups.

	* cp-namespace.c (cp_lookup_symbol_imports_or_template): Call
	do_cleanups on all return paths.
2013-05-30 17:29:06 +00:00
Tom Tromey
5ae85e4448 fix top.c
execute_command can leak a cleanup along one return path.

	* top.c (execute_command): Discard 'cleanup_if_error' cleanups.
2013-05-30 17:27:44 +00:00
Tom Tromey
73b8d9dab1 fix one bug in stabsread.c
Some code in stabsread.c can return without running cleanups.

	* stabsread.c (read_struct_type): Call do_cleanups along
	all return paths.
2013-05-30 17:25:15 +00:00
Maciej W. Rozycki
7d26658403 * mips-linux-tdep.c: Adjust formatting throughout. 2013-05-30 17:23:05 +00:00
Tom Tromey
0f900f54b5 fix mipsread.c
Some code in mipsread.c could leak cleanups along some return paths.

	* mipsread.c (read_alphacoff_dynamic_symtab): Call do_cleanups
	along all return paths.
2013-05-30 17:21:51 +00:00
Tom Tromey
a991ac289d fix one bug in symfile.c
find_separate_debug_file could leak a cleanup along some return paths.

	* symfile.c (find_separate_debug_file): Call do_cleanups
	along all return paths.
2013-05-30 17:21:15 +00:00
Tom Tromey
1abaf0423f fix symtab.c
search_symbols had some bad code resulting in a cleanup being both
discarded and run.

	* symtab.c (search_symbols): Introduce a null cleanup for
	'retval_chain'.
2013-05-30 17:20:02 +00:00
Tom Tromey
edefe1dab2 fix py-value.c
Some code in py-value.c could exit a loop without running some
cleanups made in the loop.

	* python/py-value.c (valpy_binop): Call do_cleanups before
	exiting loop.
2013-05-30 17:18:54 +00:00
Tom Tromey
54f72dcc36 fix py-prettyprint.c
print_children, in py-prettyprint.c, could call do_cleanups twice on
the same cleanup.

	* python/py-prettyprint.c (print_children): Remove extra
	do_cleanups call.
2013-05-30 17:17:25 +00:00
Tom Tromey
af1c697129 fix py-frame.c
A couple return paths in frapy_read_var were missing do_cleanups calls.

	* python/py-frame.c (frapy_read_var): Call do_cleanups along
	all return paths.
2013-05-30 17:16:05 +00:00
Tom Tromey
b862ce75d2 fix py-breakpoint.c
One return path in bppy_get_commands was missing a do_cleanups call.

	* python/py-breakpoint.c (bppy_get_commands): Call do_cleanups
	along all return paths.
2013-05-30 17:14:35 +00:00
Tom Tromey
e12fefc804 simplify cli-logging.c for analysis
This is another stylistic patch.  It changes cli-logging.c to be
analyzable by the checker, again following the method of adding an
outer cleanup and unconditionally calling do_cleanups.

	* cli/cli-logging.c (set_logging_redirect): Unconditionally
	call do_cleanups.
2013-05-30 17:13:19 +00:00
Tom Tromey
4867f990df fix varobj.c
c_value_of_root is missing a call to do_cleanups at one return.
This fixes the problem by removing that return and letting control
fall through.

	* varobj.c (c_value_of_root): Call do_cleanups along all
	return paths.
2013-05-30 17:11:38 +00:00
Tom Tromey
4fd2d6afa0 make a cleanup unconditionally in tracepoint.c
This is another cosmetic patch.  It introduces an "outer" cleanup in
trace_dump_command and arranges to unconditionally call do_cleanups.
This lets the checker analyze the function.

	* tracepoint.c (trace_dump_command): Unconditionally call
	do_cleanups.
2013-05-30 17:10:41 +00:00
Tom Tromey
752eb8b456 fix two buglets in breakpoint.c
First, output_thread_groups leaks a cleanup along one return path.

Second, parse_cmd_to_aexpr could return without running its cleanups,
if there was an exception in a TRY_CATCH.

	* breakpoint.c (output_thread_groups, parse_cmd_to_aexpr): Call
	do_cleanups earlier.
2013-05-30 17:09:02 +00:00
Tom Tromey
e42d0aa5ba fix cleanup handling in macho_symfile_read
macho_symfile_read leaks a cleanup by assigning to 'back_to' too late.

	* machoread.c (macho_symfile_read): Assign first cleanup to
	'back_to'.
2013-05-30 17:06:31 +00:00
Tom Tromey
4bbc010a2d fix cleanup handling in m32r_load
m32r_load is missing a call to do_cleanups along one return path.

	* m32r-rom.c (m32r_load): Call do_cleanups at all returns.
2013-05-30 17:05:32 +00:00
Tom Tromey
b963592585 fix list_available_thread_groups
list_available_thread_groups, in mi-main.c, leaks a cleanup.
This changes it to call do_cleanups.

	* mi/mi-main.c (list_available_thread_groups): Call do_cleanups.
2013-05-30 17:04:47 +00:00
Tom Tromey
25f4350049 cleanup fixes for inf-ptrace.c
This is one of the stylistic patches.  The code here in inf-ptrace.c
is not incorrect, but it is in a style that the cleanup checker cannot
handle.  This patch changes it to a simpler style, following the usual
method of introducing an unconditional "outer" cleanup.

	* inf-ptrace.c (inf_ptrace_create_inferior): Unconditionally
	call discard_cleanups.
	(inf_ptrace_attach): Likewise.
2013-05-30 17:04:03 +00:00
Tom Tromey
d6a2e54a5d cleanup fixes for remote-mips.c
remote-mips.c has a few 'return's where cleanups are not run.

	* remote-mips.c (mips_exit_debug): Call do_cleanups on all
	return paths.
	(mips_initialize): Likewise.
	(common_open): Call do_cleanups.
2013-05-30 17:03:00 +00:00
Tom Tromey
48be7c1b92 fix up cleanup handling in internal_vproblem
internal_vproblem can return, so this introduces proper cleanup
handling there.  Otherwise it may make a cleanup that is leaked.

	* utils.c (internal_vproblem): Call do_cleanups.
2013-05-30 17:01:16 +00:00