2012-08-06 Nathaniel Flath <flat0103@gmail.com>
* NEWS: New entry for 'cd' default parameters.
* cli/cli-cmds.c (cd_command): Replace error_no_arg by DIR assignment.
gdb/doc/
2012-08-06 Nathaniel Flath <flat0103@gmail.com>
* gdb.texinfo (Working Directory): Added information about new
default argument for 'cd' command.
when starting up the program.
* gdb.python/py-value.exp (test_value_numeric_ops): Pointers may
show a symbolic value as well.
* gdb.server/server-exec-info.exp: Skip test when skipping
gdbserver test and/or when skipping shared library tests.
* gdb.threads/linux-dp.exp: Unset "seen" when done with it to
avoid name conflicts with other tests.
marker comment at the beginning (after intialization).
* gdb.base/watchpoint.exp (test_complex_watchpoint): Set func2
breakpoint on marker comment instead of function begin.
(test_wide_location_1): Do not expect HW watchpoints on 32-bit
PowerPC.
(test_wide_location_2): Do not expect HW watchpoints on 32-bit
or 64-bit PowerPC.
(do_tests): Consistently set can-use-hw-watchpoints to 0 if
gdb,no_hardware_watchpoints flag is set.
(initialize): Remove now redundant can-use-hw-watchpoints change.
* inf-child.c (inf_child_fileio_pwrite): If pwrite fails, fall back
to attempting lseek/write.
(inf_child_fileio_pread): Likewise for pread.
gdbserver/ChangeLog:
* hostio.c (handle_pread): If pread fails, fall back to attempting
lseek/read.
(handle_pwrite): Likewise for pwrite.
* linux-arm-low.c (arm_linux_hw_point_initialize): Distinguish
between unsupported TYPE and unimplementable ADDR/LEN combination.
(arm_insert_point): Act on new return value.
testsuite/ChangeLog:
* gdb.base/watchpoint.exp (test_wide_location_1): Expect software
watchpoints on ARM. When expecting software watchpoints, tolerate
(remote) targets that report unsupported hardware watchpoint only
at continue time.
(test_wide_location_2): Likewise.
* server.c (process_point_options): Only skip tokens if we find
one that is unrecognized. Don't treat 'X' specially while
skipping unrecognized tokens.
* infcall.c (call_function_by_hand): Move BP_ADDR comment to
AT_ENTRY_POINT.
(call_function_by_hand) <ON_STACK>: Call write_memory with
gdbarch_breakpoint_from_pc, if possible.
(call_function_by_hand) <AT_ENTRY_POINT>: The BP_ADDR comment is moved
here.
gdb/testsuite/
* gdb.base/valgrind-infcall.c: New file.
* gdb.base/valgrind-infcall.exp: New file.
* arm-linux-nat.c (arm_linux_hw_breakpoint_initialize): Do not
attempt to 4-byte-align HW breakpoint addresses for Thumb.
gdbserver/ChangeLog:
* linux-arm-low.c (arm_linux_hw_point_initialize): Do not attempt
to 4-byte-align HW breakpoint addresses for Thumb.
Fix testsuite regression after --use-deprecated-index-sections removal.
* gdb.base/annota1.exp (run until main breakpoint): Update the expect
string.
* gdb.base/async-shell.exp (gdbindex_warning_re): Likewise.
* gdb.ada/aliased_array.exp: Use standard_ada_testfile.
* gdb.ada/array_bounds.exp: Use standard_ada_testfile.
* gdb.ada/array_return.exp: Use standard_ada_testfile.
* gdb.ada/array_subscript_addr.exp: Use standard_ada_testfile.
* gdb.ada/arrayidx.exp: Use standard_ada_testfile.
* gdb.ada/arrayparam.exp: Use standard_ada_testfile.
* gdb.ada/arrayptr.exp: Use standard_ada_testfile.
* gdb.ada/atomic_enum.exp: Use standard_ada_testfile.
* gdb.ada/bad-task-bp-keyword.exp: Use standard_ada_testfile.
* gdb.ada/bp_enum_homonym.exp: Use standard_ada_testfile.
* gdb.ada/bp_on_var.exp: Use standard_ada_testfile.
* gdb.ada/bp_range_type.exp: Use standard_ada_testfile.
* gdb.ada/call_pn.exp: Use standard_ada_testfile.
* gdb.ada/catch_ex.exp: Use standard_ada_testfile.
* gdb.ada/char_enum.exp: Use standard_ada_testfile.
* gdb.ada/char_param.exp: Use standard_ada_testfile.
* gdb.ada/complete.exp: Use standard_ada_testfile.
* gdb.ada/cond_lang.exp: Use standard_ada_testfile,
standard_output_file.
* gdb.ada/dyn_loc.exp: Use standard_ada_testfile.
* gdb.ada/enum_idx_packed.exp: Use standard_ada_testfile.
* gdb.ada/exec_changed.exp: Use standard_ada_testfile,
standard_output_file.
* gdb.ada/exprs.exp: Use standard_ada_testfile.
* gdb.ada/fixed_cmp.exp: Use standard_ada_testfile.
* gdb.ada/fixed_points.exp: Use standard_ada_testfile.
* gdb.ada/formatted_ref.exp: Use standard_ada_testfile.
* gdb.ada/frame_args.exp: Use standard_ada_testfile.
* gdb.ada/fullname_bp.exp: Use standard_ada_testfile.
* gdb.ada/fun_addr.exp: Use standard_ada_testfile.
* gdb.ada/fun_in_declare.exp: Use standard_ada_testfile.
* gdb.ada/funcall_param.exp: Use standard_ada_testfile.
* gdb.ada/homonym.exp: Use standard_ada_testfile.
* gdb.ada/info_locals_renaming.exp: Use standard_ada_testfile.
* gdb.ada/int_deref.exp: Use standard_ada_testfile.
* gdb.ada/interface.exp: Use standard_ada_testfile.
* gdb.ada/lang_switch.exp: Use standard_ada_testfile,
standard_output_file
* gdb.ada/mi_catch_ex.exp: Use standard_ada_testfile.
* gdb.ada/mi_task_arg.exp: Use standard_ada_testfile.
* gdb.ada/mi_task_info.exp: Use standard_ada_testfile.
* gdb.ada/mod_from_name.exp: Use standard_ada_testfile.
* gdb.ada/nested.exp: Use standard_ada_testfile.
* gdb.ada/null_array.exp: Use standard_ada_testfile.
* gdb.ada/null_record.exp: Use standard_ada_testfile.
* gdb.ada/operator_bp.exp: Use standard_ada_testfile.
* gdb.ada/packed_array.exp: Use standard_ada_testfile.
* gdb.ada/packed_tagged.exp: Use standard_ada_testfile.
* gdb.ada/print_chars.exp: Use standard_ada_testfile.
* gdb.ada/print_pc.exp: Use standard_ada_testfile.
* gdb.ada/ptr_typedef.exp: Use standard_ada_testfile.
* gdb.ada/ptype_field.exp: Use standard_ada_testfile.
* gdb.ada/ptype_tagged_param.exp: Use standard_ada_testfile.
* gdb.ada/rec_return.exp: Use standard_ada_testfile.
* gdb.ada/ref_param.exp: Use standard_ada_testfile.
* gdb.ada/ref_tick_size.exp: Use standard_ada_testfile.
* gdb.ada/same_enum.exp: Use standard_ada_testfile.
* gdb.ada/set_pckd_arr_elt.exp: Use standard_ada_testfile.
* gdb.ada/small_reg_param.exp: Use standard_ada_testfile.
* gdb.ada/start.exp: Use standard_ada_testfile.
* gdb.ada/str_ref_cmp.exp: Use standard_ada_testfile.
* gdb.ada/sym_print_name.exp: Use standard_ada_testfile.
* gdb.ada/taft_type.exp: Use standard_ada_testfile.
* gdb.ada/tagged.exp: Use standard_ada_testfile.
* gdb.ada/tagged_not_init.exp: Use standard_ada_testfile.
* gdb.ada/task_bp.exp: Use standard_ada_testfile.
* gdb.ada/tasks.exp: Use standard_ada_testfile.
* gdb.ada/tick_last_segv.exp: Use standard_ada_testfile.
* gdb.ada/type_coercion.exp: Use standard_ada_testfile.
* gdb.ada/uninitialized_vars.exp: Use standard_ada_testfile.
* gdb.ada/variant_record_packed_array.exp: Use standard_ada_testfile.
* gdb.ada/watch_arg.exp: Use standard_ada_testfile.
* gdb.ada/whatis_array_val.exp: Use standard_ada_testfile.
* gdb.ada/widewide.exp: Use standard_ada_testfile.
SIZE to size_t.
(dwarf2_evaluate_loc_desc): Likewise.
(dwarf2_loc_desc_needs_frame): Likewise.
(locexpr_describe_location_1): Likewise.
* dwarf2loc.h (struct dwarf2_locexpr_baton): Make SIZE as
size_t.
(struct dwarf2_loclist_baton): Likewise.
* dwarf2read.c (struct dwarf_block): Likewise.
(dump_die_shallow): Use pulongest to print dwarf_block.size.
(decode_locdesc): Expand SIZE and I to size_t.
On x86_64-linux targetting AVR, we see the following issues:
(gdb) print 1.6e+308
$1 = 0.89002949
(gdb) print 1.6e-308
$3 = 2.87630892
What happens is that GDB is trying to convert the value it read
(as a host "long double") into a target "double" value. The routine
performing the conversion does not realize that 1.6e+308 is just
too large to fit in a double. Similarly, it does not notice that
1.6e-308 is too small to be represented.
This patch enhances convert_doublest_to_floatformat to both handle
floats that are too small and too large.
gdb/ChangeLog:
* doublest.c (convert_doublest_to_floatformat): If the exponent
is too small, treat the value as zero. If the exponent is too
large, treat the value as infinity.
This allows the user to enable this option at configure time if building
a release, or to disable it if building a snapshot.
gdb/ChangeLog:
* configure.ac: Add --enable-lmcheck configure option.
* configure: Regenerate.
* linespec.c (linespec_lexer_lex_number): Update comments,
change the return and add check to make sure the input is
the decimal numbers.
(linespec_lexer_lex_one): If linespec_lexer_lex_number return
false, call linespec_lexer_lex_string.
* cli/cli-setshow.c (do_setshow_command): Handle case 'var_uinteger'
and 'var_zuninteger' together. Handle case 'var_integer' and
'var_zinteger' together.
and 'abfd'.
* elfread.c (elf_symfile_read): Make a cleanup for 'debugfile'
and 'abfd'.
* jit.c (jit_bfd_try_read_symtab): Make a cleanup for 'nbfd'.
* machoread.c (macho_add_oso_symfile): Make a cleanup for
'abfd'.
(macho_symfile_read): Make a cleanup for 'dsym_bfd'.
* objfiles.c (allocate_objfile): Acquire a new reference.
* rs6000-nat.c (add_vmap): Don't acquire a BFD reference.
* solib.c (solib_read_symbols): Don't acquire a BFD reference.
* spu-linux-nat.c (spu_symbol_file_add_from_memory): Make
a cleanup for 'nbfd'.
* symfile-mem.c (symbol_file_add_from_memory): Make a cleanup
for 'nbfd'.
* symfile.c (symbol_file_add_with_addrs_or_offsets): Don't
make a cleanup for 'abfd'.
(symbol_file_add): Make a BFD cleanup.
and delete reference to --use-deprecated-index-sections.
* symfile.h (use_deprecated_index_sections): Delete.
* dwarf2read.c (use_deprecated_index_sections): Make static.
(read_index_from_section): Update wording of how to load
deprecated index sections.
(_initialize_dwarf2_read): New options
"set/show use-deprecated-index-sections".
* main.c (captured_main): Delete --use-deprecated-index-sections.
doc/
* gdb.texinfo (Mode Options): Delete --use-deprecated-index-sections.
(Index Files): Document how to control the use of deprecated index
sections.
(Index Section Format): Replace --use-deprecated-index-sections with
"set use-deprecated-index-sections on".
PR threads/11692
PR gdb/12203
gdb/
* infrun.c (handle_inferior_event) <new thread>: Don't special
case minus_one_ptid.
<TARGET_WAITKIND_SPURIOUS>: Ditto.
* linux-thread-db.c (thread_get_info_callback): Don't return early
if the thread is zombie.
(thread_from_lwp): Change return type to void. Rewrite stale
comment.
(attach_thread): Don't return early if the thread is zombie,
instead set its "dying" flag.
(thread_db_wait): Don't return TARGET_WAITKIND_SPURIOUS anymore.
(find_new_threads_callback): Don't return early if the thread is
zombie.
gdb/testsuite/
* gdb.threads/create-fail.c: New file.
* gdb.threads/create-fail.exp: New file.
* gdb.base/sigall.exp (signals): New list.
<top level>: Loop over signals in the $signals list instead of
calling a test function once per signal.
* gdb.reverse/sigall-precsave.exp (signals): New list.
<top level>: Loop over signals in the $signals list instead of
calling a test function once per signal.
* gdb.reverse/sigall-reverse.exp (signals): New list.
<top level>: Loop over signals in the $signals list instead of
calling a test function once per signal.
and case 'var_optional_filename' together.
* infcmd.c (_initialize_infcmd): Call add_setshow_string_noescape_cmd
instead of add_setshow_optional_filename_cmd for setshow command
'args'. Set completer for 'set args'.
gdb/testsuite:
* gdb.base/setshow.exp: Test 'set args ~'.
* common/gdb_vecs.c: New file, contents from utils.c.
* common/host-defs.h: New file, contents from defs.h.
* utils.h: New file, contents from defs.h.
* defs.h: Move all declarations of objects defined in utils.c
to utils.h (except QUIT() and related).
#include "utils.h", "host-defs.h".
* probe.h (probe_p): Move here from gdb_vecs.h.
* symfile.c: #include "probe.h" instead of "gdb_vecs.h".
* utils.c (free_char_ptr_vec): Moved to common/gdb_vecs.c.
(dirnames_to_char_ptr_vec_append, dirnames_to_char_ptr_vec): Ditto.
* Makefile.in (SFILES): Add common/gdb_vecs.c.
(HFILES_NO_SRCDIR): Add common/gdb_vecs.h, common/host-defs.h, utils.h.
(COMMON_OBS): Add gdb_vecs.o.
(gdb_vecs.o): New rule.
parameter. If non-zero, use SYMNAME as the canonical name
for the SaL.
Update all callers.
(convert_linespec_to_sals): Use add_sal_to_sals for
expressions, too.
(decode_line_full): No need to "fill in missing canonical names"
anymore. Simply make cleanups for the allocated names.
source_filename, function_name, and label_name.
(symbol_not_found_error): Make all parameters const.
(linespec_parser_delete): No need to check for NULL
when using xfree. Cast const char * to char * for xfree.
(locate_dwz_sections): Recognize .gdb_index.
(create_cus_from_index_list): New function.
(create_cus_from_index): Use it. Handle .dwz data.
(read_index_from_section): New function, extracted from
dwarf2_read_index.
(dwarf2_read_index): Use it. Read .gdb_index from dwz file,
if needed.
gdb_bfd_unref.
(free_dwo_file): Use gdb_bfd_unref.
* cli/cli-dump.c: Include gdb_bfd.h.
(bfd_openw_with_cleanup): Use gdb_bfd_ref.
(bfd_openr_with_cleanup): Likewise.
* windows-nat.c (windows_make_so): Use gdb_bfd_ref,
gdb_bfd_unref.
* utils.c: Include gdb_bfd.h.
(do_bfd_close_cleanup): Use gdb_bfd_unref.
* symfile.c: Include gdb_bfd.h.
(separate_debug_file_exists): Use gdb_bfd_unref.
(bfd_open_maybe_remote): Use gdb_bfd_ref.
(symfile_bfd_open): Use gdb_bfd_ref, gdb_bfd_unref.
(generic_load): Use gdb_bfd_ref.
(reread_symbols): Use gdb_bfd_unref.
* symfile-mem.c: Include gdb_bfd.h.
(symbol_file_add_from_memory): Use make_cleanup_bfd_close.
* spu-linux-nat.c (spu_bfd_open): Use gdb_bfd_ref, gdb_bfd_unref.
* solib.c: Include gdb_bfd.h.
(solib_bfd_fopen): Use gdb_bfd_ref.
(solib_bfd_open): Use gdb_bfd_unref.
(free_so_symbols): Use gdb_bfd_unref.
(reload_shared_libraries_1): Use gdb_bfd_unref.
* solib-spu.c: Include gdb_bfd.h.
(spu_bfd_fopen): Use gdb_bfd_ref, gdb_bfd_unref.
* solib-pa64.c (pa64_solib_create_inferior_hook): Use gdb_bfd_ref,
gdb_bfd_unref.
* solib-frv.c: Include gdb_bfd.h.
(enable_break2): Use gdb_bfd_unref.
* solib-dsbt.c: Include gdb_bfd.h.
(enable_break2): Use gdb_bfd_unref.
* solib-darwin.c: Include gdb_bfd.h.
(darwin_solib_get_all_image_info_addr_at_init): Use gdb_bfd_ref,
gdb_bfd_unref.
(darwin_bfd_open): Use gdb_bfd_unref.
* rs6000-nat.c (add_vmap): Use gdb_bfd_ref, gdb_bfd_unref.
* remote-mips.c: Include gdb_bfd.h.
(mips_load_srec): Use gdb_bfd_ref.
(pmon_load_fast): Use gdb_bfd_ref.
* remote-m32r-sdi.c: Include gdb_bfd.h.
(m32r_load): Use gdb_bfd_ref.
* record.c: Include gdb_bfd.h.
(record_save_cleanups): Use gdb_bfd_unref.
(cmd_record_save): Use gdb_bfd_unref.
* procfs.c (insert_dbx_link_bpt_in_file): Use gdb_bfd_ref,
gdb_bfd_unref.
* objfiles.h (gdb_bfd_close_or_warn): Remove.
(gdb_bfd_ref, gdb_bfd_unref): Move to gdb_bfd.h.
* objfiles.c: Include gdb_bfd.h.
(free_objfile): Use gdb_bfd_unref.
(gdb_bfd_close_or_warn, gdb_bfd_ref, gdb_bfd_unref): Move to
gdb_bfd.c.
* machoread.c (macho_add_oso_symfile): Use gdb_bfd_unref.
(macho_symfile_read_all_oso): Use gdb_bfd_ref, gdb_bfd_unref.
(macho_check_dsym): Likewise.
* m32r-rom.c: Include gdb_bfd.h.
(m32r_load): Use gdb_bfd_ref.
(m32r_upload_command): Use gdb_bfd_ref.
* jit.c: Include gdb_bfd.h.
(jit_bfd_try_read_symtab): Use gdb_bfd_ref, gdb_bfd_unref.
* gdb_bfd.h: New file.
* gdb_bfd.c: New file.
* gcore.c: Include gdb_bfd.h.
(create_gcore_bfd): Use gdb_bfd_ref.
(do_bfd_delete_cleanup): Use gdb_bfd_unref.
(gcore_command): Use gdb_bfd_unref.
* exec.c: Include gdb_bfd.h.
(exec_close): Use gdb_bfd_unref.
(exec_close_1): Use gdb_bfd_unref.
(exec_file_attach): Use gdb_bfd_ref.
* elfread.c: Include gdb_bfd.h.
(build_id_verify): Use gdb_bfd_unref.
* dsrec.c: Include gdb_bfd.h.
(load_srec): Use gdb_bfd_ref.
* corelow.c: Include gdb_bfd.h.
(core_close): Use gdb_bfd_unref.
(core_open): Use gdb_bfd_ref.
* bfd-target.c: Include gdb_bfd.h.
(target_bfd_xclose): Use gdb_bfd_unref.
(target_bfd_reopen): Use gdb_bfd_ref.
* Makefile.in (SFILES): Add gdb_bfd.c.
(HFILES_NO_SRCDIR): Add gdb_bfd.h.
(COMMON_OBS): Add gdb_bfd.o.
TASK and REST.
(create_breakpiont): find_condition_and_thread will now
initialize COND_STRING, THREAD, and REST (and TASK).
(addr_string_to_sals): Likewise.
PR 14329
* defs.h (GDB_MI_MSG_WIDTH): New.
* ser_base (ser_base_read_error_fd): New function.
(do_ser_base_readchar): Poll error file descriptor as well as
standard output.
(generic_readchar): Refactor error handling.
* gdb.base/store.exp (check_set): Import gdb_prompt.
(continue to wack_${t}): Make it to conditional gdb_test_multiple.
(${prefix}; next ${t}): Hide its name, handle it conditionally now.
PR 11914
* f-valprint.c (info_common_command): New variable frame_id.
Reinitialize FI form FRAME_ID after each print_variable_and_value.
* printcmd.c (print_variable_and_value): Extend function comment.
Add comment for invalidated FRAME.
* stack.c (backtrace_command_1): New variable frame_id. Reinitialize
FI form FRAME_ID after each print_frame_local_vars.
(struct print_variable_and_value_data): Change frame to frame_id.
(do_print_variable_and_value): New variable frame, initialize it from
p->frame_id. Add comment for invalidated FRAME.
(print_frame_local_vars, print_frame_arg_vars): New function comment.
Update CB_DATA.FRAME to CB_DATA.FRAME_ID initialization. Add comment
for invalidated FRAME.
gdb/testsuite/
PR 11914
* gdb.python/py-prettyprint.c (eval_func, eval_sub): New.
(main): Call eval_sub.
* gdb.python/py-prettyprint.exp:
(python execfile ('py-prettyprint.py')): Move it earlier.
New breakpoint for eval-break.
(continue to breakpoint: eval-break, info locals): New test.
(python execfile ('py-prettyprint.py')): Move it from here.
* gdb.python/py-prettyprint.py (class pp_eval_type): New.
(register_pretty_printers): Register pp_eval_type.
(type_unit_group): Embed "per_cu" member, remove pointer.
New union member "t", move member "tus" into it, all uses updated.
New member "hash", replaces member "line_offset, all uses updated.
(quick_file_names): Replace member "offset" with "hash", all uses
updated.
(hash_stmt_list_entry, eq_stmt_list_entry): New functions.
(hash_file_name_entry, eq_file_name_entry): Call them.
(hash_type_unit_group, eq_type_unit_group): Ditto.
(dw2_get_cu, dw2_get_primary_cu): Replace assert with a better one.
(dw2_get_file_names_reader): Fix file name table calculation for TUs.
(dw2_get_file_names): Update.
(create_type_unit_group): Replace "per_cu" arg with "cu".
All callers updated. Fix "quick" (.gdb_index) handling.
(get_type_unit_group): Replace "per_cu" arg with "cu".
All callers updated.
(build_type_unit_groups): Don't reset tu_stats.
"tab_cur_size". Change member "tab" to be a htab_t.
(create_filename_seen_cache): Update.
(clear_filename_seen_cache, delete_filename_seen_cache): Update.
(filename_seen): Update.
* buildsym.c (end_symtab_1): Split it to ...
(end_symtab_get_static_block): ... this ...
(end_symtab_from_static_block): ... and this function.
(end_symtab, end_expandable_symtab): Call them.
* buildsym.h (end_symtab_get_static_block)
(end_symtab_from_static_block): New declarations.
* dwarf2read.c (process_full_comp_unit): New variable static_block.
Set its valid CU ranges.
gdb/testsuite/
* gdb.dwarf2/dw2-minsym-in-cu.S: New file.
* gdb.dwarf2/dw2-minsym-in-cu.exp: New file.
(filename_seen_cache): New struct.
(INITIAL_FILENAME_SEEN_CACHE_SIZE): New macro.
(create_filename_seen_cache): New function.
(clear_filename_seen_cache, delete_filename_seen_cache): New functions.
(filename_seen): Delete arg "first". New arg "cache". All callers
updated.
(output_source_filename_data): New struct.
(output_source_filename): Delete arg "first". New arg "data".
All callers updated.
(sources_info): Delete local "first". New locals "data", "cleanups".
Rewrite to use filename_seen_cache.
(add_partial_filename_data): Delete member "first". New member
"filename_seen_cache". All uses updated.
(make_source_files_completion_list): Rewrite to use
filename_seen_cache.
* gdb.dwarf2/dw2-anonymous-func.exp: Use
prepare_for_testing_full.
* gdb.dwarf2/dw2-basic.exp: Use prepare_for_testing_full.
* gdb.dwarf2/dw2-compressed.exp: Use prepare_for_testing_full.
* gdb.dwarf2/dw2-const.exp: Use prepare_for_testing_full.
* gdb.dwarf2/dw2-cu-size.exp: Use prepare_for_testing_full.
* gdb.dwarf2/dw2-intercu.exp: Use prepare_for_testing_full.
* gdb.dwarf2/dw2-intermix.exp: Use prepare_for_testing_full.
* gdb.dwarf2/dw2-linkage-name-trust.exp: Use
prepare_for_testing_full.
* gdb.dwarf2/dw2-producer.exp: Use prepare_for_testing_full.
* gdb.dwarf2/dw2-ref-missing-frame.exp: Use
prepare_for_testing_full.
* gdb.dwarf2/dw2-restore.exp: Use prepare_for_testing_full.
* gdb.dwarf2/dw2-strp.exp: Use prepare_for_testing_full.
* gdb.dwarf2/mac-fileno.exp: Use prepare_for_testing_full.
* gdbint.texinfo: Remove @syncodeindex directives that put all the
indices into a single node "Index". Instead, join function and
variable indices into a single index, separate from the concept
index. Requested in
http://sourceware.org/ml/gdb-patches/2012-07/msg00146.html.
(Top): Update the top-level menu: instead of one "Index" there are
now separate entries "Concept Index" and "Function and Variable
Index".
(Concept Index, Function and Variable Index): New nodes.
(Index): Node deleted.
* gdb.reverse/consecutive-precsave.exp: Use standard_output_file.
* gdb.reverse/finish-precsave.exp: Use standard_output_file.
* gdb.reverse/i386-precsave.exp: Use standard_output_file.
* gdb.reverse/machinestate-precsave.exp: Use standard_output_file.
* gdb.reverse/sigall-precsave.exp: Use standard_output_file.
* gdb.reverse/solib-precsave.exp: Use standard_output_file.
* gdb.reverse/step-precsave.exp: Use standard_output_file.
* gdb.reverse/until-precsave.exp: Use standard_output_file.
* gdb.reverse/watch-precsave.exp: Use standard_output_file.
* dwarf2read.c (dwarf2_per_objfile): New members n_type_unit_groups,
all_type_unit_groups, type_unit_groups, tu_stats.
(dwarf2_per_cu_data): Move "imported_symtabs" into new union "s".
All uses updated. Add type_unit_group to union "s".
(type_unit_group): New struct.
(IS_TYPE_UNIT_GROUP): New macro.
(abbrev_table): Delete unused member "section".
(dw2_do_instantiate_symtab): Early exit if type_unit_group.
(dw2_get_cu): Assert not used with type_unit_group.
(dw2_get_primary_cu): New function.
(dw2_build_type_unit_groups_reader): New function.
(dw2_build_type_unit_groups): New function.
(dw2_get_file_names): Assert not called on type units.
(dw2_map_symtabs_matching_filename): Call dw2_build_type_unit_groups.
Redo loop to iterate over type unit groups instead of type units.
(dw2_expand_symtabs_matching, dw2_map_symbol_filenames): Ditto.
(read_abbrev_offset): New function.
(init_cutu_and_read_dies): New arg "abbrev_table". All callers
updated.
(create_partial_symtab): New function.
(process_psymtab_comp_unit_reader): Assert not used with type units.
Call create_partial_symtab.
(process_psymtab_type_unit): Delete.
(hash_type_unit_group, eq_type_unit_group): New functions.
(allocate_type_unit_groups_table): New function.
(NO_STMT_LIST_TYPE_UNIT_PSYMTAB): New macro.
(NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE): New macro.
(create_type_unit_group, get_type_unit_group): New functions.
(tu_abbrev_offset): New struct.
(sort_tu_by_abbrev_offset): New function.
(add_type_unit_group_to_table): New function.
(build_type_unit_groups): New function.
(build_type_psymtabs_reader): New function.
(build_type_psymtab_dependencies): New function.
(build_type_psymtabs): Rewrite.
(scan_partial_symbols): Flag an error if a DW_TAG_imported_unit
is seen in a type unit.
(process_queue): Move symtab expansion debugging printfs here.
Call process_full_type_unit for type units.
(compute_symtab_includes): Assert not called for type units.
(process_cu_includes): Don't call compute_symtab_includes for
type units.
(process_full_type_unit): New function.
(process_imported_unit_die): Flag an error if called for type units.
(handle_DW_AT_stmt_list): Delete arg "want_line_info". All callers
updated. Assert not called for type units.
(read_file_scope): Call dwarf2_start_symtab.
(setup_type_unit_groups): New function.
(read_type_unit_scope): Rewrite.
(abbrev_table_read_table): Initialize abbrev_table->offset.
(abbrev_table_free_cleanup): New function.
(dwarf2_start_symtab): New function.
(load_full_type_unit): Assert not called for type unit groups.
All callers updated.
(start_symtab): Move most contents to ...
(restart_symtab): ... here. New function.
(reset_symtab_globals): New function.
(end_symtab_1): Renamed from end_symtab. New arg "expandable".
Call reset_symtab_globals.
(end_symtab, end_expandable_symtab): New functions.
(set_missing_symtab, augment_type_symtab): New functions.
* buildsym.h (end_expandable_symtab): Declare.
(augment_type_symtab, restart_symtab): Declare.
standard_output_file.
* gdb.mi/gdb2549.exp: Use standard_testfile.
* gdb.mi/gdb669.exp: Use standard_testfile.
* gdb.mi/gdb701.exp: Use standard_testfile.
* gdb.mi/gdb792.exp: Use standard_testfile.
* gdb.mi/mi-async.exp: Use standard_testfile.
* gdb.mi/mi-basics.exp: Use standard_testfile.
* gdb.mi/mi-break.exp: Use standard_testfile.
* gdb.mi/mi-cli.exp: Use standard_testfile.
* gdb.mi/mi-console.exp: Use standard_testfile.
* gdb.mi/mi-disassemble.exp: Use standard_testfile.
* gdb.mi/mi-eval.exp: Use standard_testfile.
* gdb.mi/mi-file-transfer.exp: Use standard_testfile.
* gdb.mi/mi-file.exp: Use standard_testfile.
* gdb.mi/mi-inheritance-syntax-error.exp: Use standard_testfile.
* gdb.mi/mi-logging.exp: Use standard_testfile.
* gdb.mi/mi-nonstop-exit.exp: Use standard_testfile.
* gdb.mi/mi-nonstop.exp: Use standard_testfile.
* gdb.mi/mi-ns-stale-regcache.exp: Use standard_testfile.
* gdb.mi/mi-nsintrall.exp: Use standard_testfile.
* gdb.mi/mi-nsmoribund.exp: Use standard_testfile.
* gdb.mi/mi-nsthrexec.exp: Use standard_testfile.
* gdb.mi/mi-pending.exp: Use standard_testfile,
standard_output_file.
* gdb.mi/mi-pthreads.exp: Use standard_testfile.
* gdb.mi/mi-read-memory.exp: Use standard_testfile.
* gdb.mi/mi-regs.exp: Use standard_testfile.
* gdb.mi/mi-return.exp: Use standard_testfile.
* gdb.mi/mi-reverse.exp: Use standard_testfile.
* gdb.mi/mi-simplerun.exp: Use standard_testfile.
* gdb.mi/mi-solib.exp: Use standard_testfile,
standard_output_file.
* gdb.mi/mi-stack.exp: Use standard_testfile.
* gdb.mi/mi-stepi.exp: Use standard_testfile.
* gdb.mi/mi-stepn.exp: Use standard_testfile.
* gdb.mi/mi-syn-frame.exp: Use standard_testfile.
* gdb.mi/mi-until.exp: Use standard_testfile.
* gdb.mi/mi-var-block.exp: Use standard_testfile.
* gdb.mi/mi-var-child-f.exp: Use standard_testfile.
* gdb.mi/mi-var-child.exp: Use standard_testfile.
* gdb.mi/mi-var-cmd.exp: Use standard_testfile.
* gdb.mi/mi-var-cp.exp: Use standard_testfile.
* gdb.mi/mi-var-display.exp: Use standard_testfile.
* gdb.mi/mi-var-invalidate.exp: Use standard_testfile,
standard_output_file.
* gdb.mi/mi-var-rtti.exp: Use standard_testfile.
* gdb.mi/mi-watch-nonstop.exp: Use standard_testfile.
* gdb.mi/mi-watch.exp: Use standard_testfile.
* gdb.mi/mi2-amd64-entry-value.exp: Use standard_testfile.
* gdb.mi/mi2-basics.exp: Use standard_testfile.
* gdb.mi/mi2-break.exp: Use standard_testfile.
* gdb.mi/mi2-cli.exp: Use standard_testfile.
* gdb.mi/mi2-console.exp: Use standard_testfile.
* gdb.mi/mi2-disassemble.exp: Use standard_testfile.
* gdb.mi/mi2-eval.exp: Use standard_testfile.
* gdb.mi/mi2-file.exp: Use standard_testfile.
* gdb.mi/mi2-pthreads.exp: Use standard_testfile.
* gdb.mi/mi2-read-memory.exp: Use standard_testfile.
* gdb.mi/mi2-regs.exp: Use standard_testfile.
* gdb.mi/mi2-return.exp: Use standard_testfile.
* gdb.mi/mi2-simplerun.exp: Use standard_testfile.
* gdb.mi/mi2-stack.exp: Use standard_testfile.
* gdb.mi/mi2-stepi.exp: Use standard_testfile.
* gdb.mi/mi2-syn-frame.exp: Use standard_testfile.
* gdb.mi/mi2-until.exp: Use standard_testfile.
* gdb.mi/mi2-var-block.exp: Use standard_testfile.
* gdb.mi/mi2-var-child.exp: Use standard_testfile.
* gdb.mi/mi2-var-cmd.exp: Use standard_testfile.
* gdb.mi/mi2-var-display.exp: Use standard_testfile.
* gdb.mi/mi2-watch.exp: Use standard_testfile.
* gdb.cp/ambiguous.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/annota2.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/annota3.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/anon-ns.exp: Use standard_testfile.
* gdb.cp/anon-struct.exp: Use standard_testfile.
* gdb.cp/anon-union.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/arg-reference.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/bool.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/breakpoint.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/bs15503.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/call-c.exp: Use standard_testfile, clean_restart,
standard_output_file.
* gdb.cp/casts.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/class2.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/classes.exp: Use standard_testfile, prepare_for_testing.
(test_static_members): Update.
* gdb.cp/cmpd-minsyms.exp: Use standard_testfile.
* gdb.cp/converts.exp: Use standard_testfile.
* gdb.cp/cp-relocate.exp: Use standard_testfile.
* gdb.cp/cpcompletion.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/cpexprs.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/cplabel.exp: Use standard_testfile.
* gdb.cp/cplusfuncs.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/ctti.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/derivation.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/destrprint.exp: Use standard_testfile.
* gdb.cp/dispcxx.exp: Use standard_testfile.
* gdb.cp/exception.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/expand-psymtabs-cxx.exp: Use standard_testfile.
* gdb.cp/extern-c.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/formatted-ref.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/fpointer.exp: Use standard_testfile.
* gdb.cp/gdb1355.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/gdb2384.exp: Use standard_testfile, clean_restart,
standard_output_file.
* gdb.cp/gdb2495.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/hang.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/infcall-dlopen.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/inherit.exp: Use standard_testfile, prepare_for_testing.
(do_tests): Update.
* gdb.cp/koenig.exp: Use standard_testfile.
* gdb.cp/local.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/m-data.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/m-static.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/mb-ctor.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/mb-inline.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/mb-templates.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/member-ptr.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/meth-typedefs.exp: Use standard_testfile.
* gdb.cp/method.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/method2.exp: Use standard_testfile.
* gdb.cp/minsym-fallback.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/misc.exp: Use standard_testfile, prepare_for_testing.
(do_tests): Update.
* gdb.cp/namespace-enum.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/namespace-nested-import.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/namespace.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nextoverthrow.exp: Use standard_testfile.
* gdb.cp/no-dmgl-verbose.exp: Use standard_testfile.
* gdb.cp/nsdecl.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/nsimport.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nsnested.exp: Use standard_testfile.
* gdb.cp/nsnoimports.exp: Use standard_testfile.
* gdb.cp/nsrecurs.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nsstress.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nsusing.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/operator.exp: Use standard_testfile.
* gdb.cp/oranking.exp: Use standard_testfile.
* gdb.cp/overload-const.exp: Use standard_testfile.
* gdb.cp/overload.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/ovldbreak.exp: Use standard_testfile.
* gdb.cp/ovsrch.exp: Use standard_testfile.
* gdb.cp/paren-type.exp: Use standard_testfile.
* gdb.cp/pass-by-ref.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/pr-1023.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr-1210.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr-574.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr10687.exp: Use standard_testfile, clean_restart.
* gdb.cp/pr10728.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/pr12028.exp: Use standard_testfile.
* gdb.cp/pr9067.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr9167.exp: Use standard_testfile.
* gdb.cp/pr9631.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/printmethod.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/psmang.exp: Use standard_testfile, clean_restart.
* gdb.cp/psymtab-parameter.exp: Use standard_testfile.
* gdb.cp/ptype-cv-cp.exp: Use standard_testfile.
* gdb.cp/re-set-overloaded.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/readnow-language.exp: Use standard_testfile.
* gdb.cp/ref-params.exp: Use standard_testfile, build_executable.
(gdb_start_again): Use clean_restart.
* gdb.cp/ref-types.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/rtti.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/shadow.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/smartp.exp: Use standard_testfile.
* gdb.cp/static-method.exp: Use standard_testfile.
* gdb.cp/static-print-quit.exp: Use standard_testfile.
* gdb.cp/temargs.exp: Use standard_testfile.
* gdb.cp/templates.exp: Use standard_testfile,
prepare_for_testing.
(do_tests): Update.
* gdb.cp/try_catch.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/typedef-operator.exp: Use standard_testfile.
* gdb.cp/userdef.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/virtbase.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/virtfunc.exp: Use standard_testfile,
prepare_for_testing.
(do_tests): Update.
* gdb.cp/virtfunc2.exp: Use standard_testfile,
prepare_for_testing.
Fix XFAIL compatibility with old i386 systems.
* gdb.base/stale-infcall.exp (test system longjmp tracking support):
Check also 'Cannot insert breakpoint 0'.
Code cleanup for the next patch.
* arm-linux-nat.c (arm_linux_stopped_data_address): Change variable
siginfo_p to siginfo, update its users incl. the linux_nat_get_siginfo
call for it.
* ia64-linux-nat.c (ia64_linux_stopped_data_address): Likewise.
(ia64_linux_stopped_data_address):
* linux-nat.c (linux_nat_get_siginfo): Add parameter siginfo, change
the return value.
* linux-nat.h (linux_nat_get_siginfo): Likewise.
* ppc-linux-nat.c (ppc_linux_stopped_data_address): Change variable
siginfo_p to siginfo, update its users incl. the linux_nat_get_siginfo
call for it.
PR 14321
* findcmd.c (parse_find_args): New variable pattern_buf_size_need.
Increase buffer sizes to 2x we need, not just 2x of the previous size.
gdb/testsuite/
PR 14321
* gdb.base/find.exp
(find int64_search_buf, +64/8*100, int64_search_buf): New test.