Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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.
|
|
* NEWS: Update.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* solib.c (solib_find): Don't need dir separator if path has
drive spec.
|
|
|
|
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'.
|
|
* 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.
|
|
|
|
|
|
|
|
64 bits in 64-cross-32 environment.
|
|
* tracepoint.c (all_tracepoint_actions_and_cleanup): Declare.
(encode_actions): Move code to ...
(all_tracepoint_actions_and_cleanup): ... here. New.
(trace_dump_command): Likewise.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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".
|
|
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.
|
|
find_and_open_source can leak a cleanup.
* source.c (find_and_open_source): Call do_cleanups.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
execute_command can leak a cleanup along one return path.
* top.c (execute_command): Discard 'cleanup_if_error' cleanups.
|
|
Some code in stabsread.c can return without running cleanups.
* stabsread.c (read_struct_type): Call do_cleanups along
all return paths.
|
|
|
|
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.
|
|
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.
|
|
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'.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
macho_symfile_read leaks a cleanup by assigning to 'back_to' too late.
* machoread.c (macho_symfile_read): Assign first cleanup to
'back_to'.
|
|
m32r_load is missing a call to do_cleanups along one return path.
* m32r-rom.c (m32r_load): Call do_cleanups at all returns.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
This fixes a linespec bug noticed by the cleanup checker.
find_linespec_symbols did this:
cleanup = demangle_for_lookup (name, state->language->la_language,
&lookup_name);
[...]
cleanup = make_cleanup (xfree, canon);
But this is wrong, as it makes a subsequent call to do_cleanups not
clean up all the local state.
* linespec.c (find_linespec_symbols): Don't reassign to 'cleanup'.
|