* infrun.c (restore_inferior_thread_state): Use
discard_inferior_thread_state to free the data.
(discard_inferior_thread_state): xfree also siginfo_data.
* copy-relocs.cc (Copy_relocs::emit_copy_reloc): Hold a lock on the
object when reading from the file.
* gold.cc (queue_middle_tasks): Hold a lock on the object when doing
second layout pass.
* icf.cc (preprocess_for_unique_sections): Hold a lock on the object
when reading section contents.
(get_section_contents): Likewise.
(icf::find_identical_sections): Likewise.
* mapfile.cc (Mapfile::print_discarded_sections): Hold a lock on the
object when reading from the file.
* plugin.cc (Plugin_manager::layout_deferred_objects): Hold a lock on
the object when doing deferred section layout.
New command "set directories".
* NEWS: Document them.
* source.c (set_directories_command): New function.
(show_directories_1): Renamed from show_directories.
All callers updated.
(show_directories_command): New function.
(_initialize_source): Install "directories" as a set/show
variable instead of just a show command.
doc/
* gdb.texinfo (Source Path): Document "set directories".
testsuite/
* gdb.base/help.exp: Update expected output.
* gdb.python/py-parameter.exp: New file.
(testobjfiles_notext): Likewise.
(libs): Don't use HOSTING_LIBS; fill with default symbol defs instead.
* lib/ld-lib.exp (ld_simple_link_defsyms): Add cygming clause.
(is_ir_dummy_bfd): Delete prototype.
* plugin.c: Fix formatting issues.
(is_ir_dummy_bfd): Make static.
(plugin_active_plugins_p): New function.
* ldfile.c (ldfile_try_open_bfd): Use it to save work if no plugins
are loaded. Always close file descriptor after claim handler returns.
* ldmain.c (add_archive_element): Likewise.
2010-11-04 Sami Wagiaalla <swagiaal@redhat.com>
* gdbtypes.h: Create struct rank.
Convert all 'BADNESS' macros to const struct rank declarations.
(sum_ranks): New function.
(compare_ranks): New function.
* valops.c (find_oload_champ): Updated.
(classify_oload_match): Use compare_ranks.
Improved comments.
(compare_parameters): Use compare_ranks.
* gdbtypes.c: Initialize 'BADNESS' constants.
(sum_ranks): New function.
(compare_ranks): New function.
(compare_badness): Use compare_ranks.
(rank_function): Use global constants instead of literals.
(rank_one_type): Ditto.
Return struct rank.
Use sum_ranks.
(OPTION_NOPS): Define.
(md_longopts): Add --nops.
(md_parse_option): Handle it.
(md_show_usage): Publish.
(ppc_handle_align): Pad with a branch followed by nops if more
than nop_limit nops.
I noticed that some variables are only used inside one side of
an if/else blob. So I moved these variables inside that block for
better clarity.
gdb/ChangeLog:
* ada-valprint.c (ada_val_print_array): Move variables `eltlen'
and `len' declaration and computation inside block where they
are being used.
This patch should fix the following regression:
(gdb) print my_table
-$1 = ()
-(gdb) PASS: gdb.ada/null_array.exp: print my_table
+$1 = (warning: unable to get bounds of array, assuming null array
+)
+(gdb) FAIL: gdb.ada/null_array.exp: print my_table
The problem was introduced by a change in val_print_array_elements
which removed a check for the case where the array's high bound
is smaller than the array's low bound (empty array).
This change restores the check and forces the len to zero in that case.
Looking at the patch that caused the regression, I suspect that we may
have other parts that might have been broken (non-zero array low bound?).
gdb/ChangeLog:
* valprint.c (val_print_array_elements): Put back handling of
empty arrays.