aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2013-08-292013-08-29 Sanimir Agovic <sanimir.agovic@intel.com>Sanimir Agovic2-1/+6
* valops.c (do_search_struct_field): Pass v2 instead of base_type to value_type.
2013-08-29cleanup: make allocate_value_contents staticSanimir Agovic3-2/+6
2013-08-29 Sanimir Agovic <sanimir.agovic@intel.com> * value.c (allocate_value_contents): Make static. * value.h (allocate_value_contents): Remove prototype.
2013-08-29cleanup: use value_lazy_at instead of allocate_value_lazy/attribute setterSanimir Agovic4-16/+13
I came across a pattern used to construct a value in the following way: struct value *val = allocate_value_lazy (type); VALUE_LVAL (val) = lval_memory; set_value_address (val, address); Instead we fold the above call into: value_at_lazy (type, addr); 2013-08-27 Sanimir Agovic <sanimir.agovic@intel.com> * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use value_at_lazy instead of assembling value via allocate_value_lazy and attribute setter. * findvar.c (default_read_var_value): Use value_at_lazy instead of assembling value via allocate_value_lazy and attribute setter. * valops.c (do_search_struct_field): Use value_at_lazy instead of assembling value via allocate_value_lazy and attribute setter.
2013-08-29cleanup: replace allocate_value and memcpy with value_from_contentsSanimir Agovic2-4/+6
2013-08-29 Sanimir Agovic <sanimir.agovic@intel.com> * value.c (value_from_contents_and_address): Replace allocate_value and memcpy with value_from_contents.
2013-08-292013-08-29 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon2-1/+5
* gdb.python/py-arch.exp: Load gdb-python.exp.
2013-08-292013-08-29 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon13-49/+116
* python/py-framefilter.c (py_print_frame): Remove usage of PyString_AsString. Use python_string_to_host_string instead. Refactor function to work with a string as a new allocation instead of a pointer. (py_print_frame): Ditto. * python/lib/gdb/frames.py (return_list): Cain iterators together instead of adding them as a list. (_sort_list): Call return_list, and remove duplicate code. (execute_frame_filters): Convert iterator to a list with list(). * python/lib/gdb/command/frame_filters.py (SetFrameFilterPriority._set_filter_priority): Convert priority attribute to an integer. * python/lib/gdb/FrameIterator.py (FrameIterator.next): Define wrapper function __next__. * python/lib/gdb/FrameDecorator.py: If basestring not defined, define as "str". 2013-08-29 Phil Muldoon <pmuldoon@redhat.com> * gdb.python/py-framefilter.py (FrameFilter.filter): Check itertools for imap attribute. Otherwise use map(). (ElidingIterator): Define wrapper function __next__. * gdb.python/py-framefilter-mi.exp: Do not use execfile, use exec (open (read ())) instead. * gdb.python/py-framefilter.exp: Ditto. * gdb.python/py-arch.exp: Update print based test to Python 3.x compliance. * gdb.python/py-frame.exp: Ditto. * gdb.python/py-type.exp: Ditto.
2013-08-292013-08-29 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon1-2/+0
* ChangeLog: Remove blank lines between PR and ChangeLog description.
2013-08-292013-08-29 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon2-1/+31
PR python/15752 * python/py-framefilter.c (apply_frame_filter): Check gdb_python_initialized. Exit if the Python frame-filter code cannot be initialized.
2013-08-292013-08-29 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon2-1/+8
PR cli/15842 * top.c (print_gdb_version): Remove erroneous newline after help text.
2013-08-29gdb/Yao Qi2-2/+7
* varobj.c (install_dynamic_child): Remove trailing space. Add one blank line after variable declaration.
2013-08-28PR gdb/15415Jan Kratochvil13-28/+168
gdb/ 2013-08-27 Jan Kratochvil <jan.kratochvil@redhat.com> PR gdb/15415 * corefile.c (get_exec_file): Use exec_filename. * defs.h (OPF_DISABLE_REALPATH): New definition. Add new comment. * exec.c (exec_close): Free EXEC_FILENAME. (exec_file_attach): New variable canonical_pathname. Use OPF_DISABLE_REALPATH. Call gdb_realpath explicitly. Set EXEC_FILENAME. * exec.h (exec_filename): New. * inferior.c (print_inferior, inferior_command): Use PSPACE_EXEC_FILENAME. * mi/mi-main.c (print_one_inferior): Likewise. * progspace.c (clone_program_space, print_program_space): Likewise. * progspace.h (struct program_space): New field pspace_exec_filename. * source.c (openp): Describe OPF_DISABLE_REALPATH. New variable realpath_fptr, initialize it from OPF_DISABLE_REALPATH, use it. gdb/testsuite/ 2013-08-27 Jan Kratochvil <jan.kratochvil@redhat.com> PR gdb/15415 * gdb.base/argv0-symlink.c: New file. * gdb.base/argv0-symlink.exp: New file.
2013-08-28PR server/15604Jan Kratochvil5-0/+24
gdb/gdbserver/ 2013-08-28 Jan Kratochvil <jan.kratochvil@redhat.com> PR server/15604 * linux-low.c: Include filestuff.h. (linux_create_inferior) <pid == 0>: Call close_most_fds. * lynx-low.c: Include filestuff.h. (lynx_create_inferior) <pid == 0>: Call close_most_fds. * server.c: Include filestuff.h. (main): Call notice_open_fds. * spu-low.c: Include filestuff.h. (spu_create_inferior) <pid == 0>: Call close_most_fds.
2013-08-28 * gdb.dwarf2/gdb-index.exp (add_gdb_index): Use explicit test nameTom Tromey2-1/+7
when saving index.
2013-08-28gdb/common/linux-ptrace.c: Fix build on non-Intel architectures.Will Newton2-1/+6
As uintptr_t is used stdint.h must be included on all architectures. 2013-08-28 Will Newton <will.newton@linaro.org> * common/linux-ptrace.c: Include stdint.h unconditionally.
2013-08-28gdb/Jan Kratochvil2-1/+6
Code cleanup. * nto-tdep.c (nto_find_and_open_solib): Use OPF_TRY_CWD_FIRST.
2013-08-28gdb/Yao Qi5-2/+79
* event-top.c (gdb_setup_readline): Call stderr_fileopen instead of stdio_fileopen. * main.c (captured_main) [__MINGW32__]: Set stderr unbuffered. .Call stderr_fileopen instead of stdio_fileopen. * ui-file.c [__MINGW32__] (stderr_file_write): New function. [__MINGW32__] (stderr_file_fputs): New function. (stderr_fileopen): New function. * ui-file.h (stderr_fileopen): Declare.
2013-08-27 * dwarf2read.c (struct dwarf2_cu): Tweak comment.Doug Evans2-10/+17
(struct dwarf2_per_cu_data): Ditto. (maybe_queue_comp_unit): Delete forward decl. Add comment. (process_imported_unit_die): Ditto. (follow_die_sig_1): Simplify assert.
2013-08-27windows-nat.c: Don't install a deprecated_xfer_memory method.Pedro Alves2-22/+25
This stops another target from installing a target_ops->deprecated_xfer_memory method. Tested on native MinGW. gdb/ 2013-08-27 Pedro Alves <palves@redhat.com> * windows-nat.c (windows_xfer_memory): Adjust prototype to follow xfer_partial's interface. Return TARGET_XFER_E_IO on error. (windows_xfer_partial): Defer TARGET_OBJECT_MEMORY handling to windows_xfer_memory directly. (init_windows_ops): Don't install a deprecated_xfer_memory method.
2013-08-27darwin-nat.c: Don't install a deprecated_xfer_memory method.Pedro Alves2-21/+6
darwin_xfer_partial already handles TARGET_OBJECT_MEMORY, so this method is not necessary. gdb/ 2013-08-27 Pedro Alves <palves@redhat.com> * darwin-nat.c (darwin_xfer_memory): Delete. (_initialize_darwin_inferior): Don't install a deprecated_xfer_memory method.
2013-08-27Add options to skip unavailable localsYao Qi12-27/+157
This is the patch to add new option '--skip-unavailable' to MI commands '-stack-list-{locals, arguments, variables}'. This patch extends list_args_or_locals to add a new parameter 'skip_unavailable', and don't list locals or arguments if values are unavailable and 'skip_unavailable' is true. This is inspecting a trace frame (tfind mode), where only a few locals have been collected. -stack-list-locals, no switch vs new switch: -stack-list-locals --simple-values ^done,locals=[{name="array",type="unsigned char [2]"},{name="i",type="int",value="<unavailable>"}] -stack-list-locals --skip-unavailable --simple-values ^done,locals=[{name="array",type="unsigned char [2]"}] -stack-list-arguments, no switch vs new switch: -stack-list-arguments --simple-values ^done,stack-args=[frame={level="0",args=[{name="j",type="int",value="4"},{name="s",type="char *",value="<unavailable>"}]},frame={level="1",args=[]}] -stack-list-arguments --skip-unavailable --simple-values ^done,stack-args=[frame={level="0",args=[{name="j",type="int",value="4"}]},frame={level="1",args=[]}] -stack-list-variables, no switch vs new switch: -stack-list-variables --simple-values ^done,variables=[{name="j",arg="1",type="int",value="4"},{name="s",arg="1",type="char *",value="<unavailable>"},{name="array",type="unsigned char [2]"},{name="i",type="int",value="<unavailable>"}] -stack-list-variables --skip-unavailable --simple-values ^done,variables=[{name="j",arg="1",type="int",value="4"},{name="array",type="unsigned char [2]"}] tests are added to test these new options. gdb: 2013-08-27 Pedro Alves <pedro@codesourcery.com> Yao Qi <yao@codesourcery.com> * mi/mi-cmd-stack.c (list_args_or_locals): Adjust prototype. (parse_no_frames_option): Remove. (mi_cmd_stack_list_locals): Handle --skip-unavailable. (mi_cmd_stack_list_args): Adjust. (mi_cmd_stack_list_variables): Handle --skip-unavailable. (list_arg_or_local): Add new parameter 'skip_unavailable'. Return early if SKIP_UNAVAILABLE is true and ARG->val is unavailable. Caller update. (list_args_or_locals): New parameter 'skip_unavailable'. Handle it. * valprint.c (scalar_type_p): Rename to ... (val_print_scalar_type_p): ... this. Make extern. (val_print, value_check_printable): Adjust. * valprint.h (val_print_scalar_type_p): Declare. * value.c (value_entirely_unavailable): New function. * value.h (value_entirely_unavailable): Declare. * NEWS: Mention the new option "--skip-unavailable" to MI commands '-stack-list-locals', '-stack-list-arguments' and '-stack-list-variables'. gdb/doc: 2013-08-27 Pedro Alves <pedro@codesourcery.com> Yao Qi <yao@codesourcery.com> * gdb.texinfo (GDB/MI Stack Manipulation) <-stack-list-locals>: Document new --skip-unavailable option. <-stack-list-variables>: Document new --skip-unavailable option. gdb/testsuite: 2013-08-27 Yao Qi <yao@codesourcery.com> * gdb.trace/entry-values.exp: Test unavailable entry value is not shown when option '--skip-unavailable' is specified. * gdb.trace/mi-trace-unavailable.exp (test_trace_unavailable): Add tests for new option '--skip-unavailable'.
2013-08-27Add mi_getopt_allow_unknownYao Qi4-27/+78
This patch is to add a new function mi_getopt_allow_unknown, which returns -1 silently (without throwing error) when unknown option is met, and use this function to parse options for command '-stack-list-arguments'. gdb/ * mi/mi-cmd-stack.c (parse_no_frames_option): Remove. (mi_cmd_stack_list_args): Use mi_getopt_silent to handle options. * mi/mi-getopt.c (mi_getopt): Remove. (mi_getopt_1): Renamed from mi_getopt. Add one parameter 'error_on_unknown'. (mi_getopt): Call mi_getopt_1. (mi_getopt_silent): New. * mi/mi-getopt.h (mi_getopt_silent): Declare.
2013-08-27gdb/testsuite/Yao Qi2-1/+11
* lib/gdb.exp (gdb_remote_download): Don't pass $tofile to remote_download if it is empty.
2013-08-26 PR symtab/15885Doug Evans6-2/+135
* dwarf2read.c (dw2_dump): Print some minimal information indicating .gdb_index is in use. * symfile.c (reread_symbols): Reset objfile->sf. testsuite/ * gdb.dwarf2/Makefile.in (EXECUTABLES): Add gdb-index. (clean): rm -f *.gdb-index *.with-index. * gdb.dwarf2/gdb-index.exp: New testcase.
2013-08-26 * NEWS: Document "mt print objfiles" now takes optional regexp.Doug Evans5-7/+26
* symmisc.c (maintenance_print_objfiles): Argument is now an optional regexp of objfiles to print. (_initialize_symmisc): Update doc string for "mt print objfiles". doc/ * gdb.texinfo (Maintenance Commands): "maint print objfiles" now takes an optional regexp.
2013-08-26 * dwarf2read.c (write_psymtabs_to_index): Move error checks ahead ofDoug Evans2-3/+8
missing debug info checks.
2013-08-26 * lib/gdb.exp (run_on_host): Moved here from gnu-debugdata.exp.Doug Evans3-37/+44
* gdb.base/gnu-debugdata.exp (run): Moved to gdb.exp and renamed to run_on_host. All callers updated.
2013-08-262013-08-26 Raunaq Bathija <raunaq12@in.ibm.com>Ulrich Weigand2-2/+28
Ulrich Weigand <uweigand@de.ibm.com> * xcoffread.c (arrange_linetable): Add fix to correctly handle line tables generated by XLC compiled binaries.
2013-08-24gdb/testsuite/Yao Qi3-0/+59
* gdb.trace/entry-values.c (end): New (main): Call end. * gdb.trace/entry-values.exp: Load trace-support.exp. Set tracepoint and collect data. Test entry value is unavailable.
2013-08-24gdb/testsuite/Yao Qi4-0/+291
* lib/dwarf.exp (_location): Handle DW_OP_deref_size. * gdb.trace/entry-values.c: New. * gdb.trace/entry-values.exp: New.
2013-08-24 * symmisc.c (dump_symtab): Delete prototype.Doug Evans2-8/+8
(dump_msymbols, dump_objfile): Ditto. (maintenance_info_symtabs): Mark as dont_repeat. (_initialize_symmisc): Improve doc string for "mt info symtabs".
2013-08-24 * elfread.c (elf_symfile_read): Move "Done reading minimal symbols"Doug Evans2-3/+8
debugging printf to better location.
2013-08-23target.c:target_read_live_memory: Fix type of local.Pedro Alves2-1/+6
'ret' is used to hold the return of target_read, and pass it on. Both target_read and target_read_live_memory return LONGEST. gdb/ 2013-08-23 Pedro Alves <palves@redhat.com> * target.c (target_read_live_memory): Change type of 'ret' local to LONGEST.
2013-08-23remote.c: don't install a deprecated_xfer_memory hook.Pedro Alves2-66/+27
There's no need for deprecated_xfer_memory nowadays. Memory access goes through target_xfer_partial/TARGET_OBJECT_MEMORY, etc. In fact, the remote target already handles that, and is deferring to the same helpers the deprecated_xfer_memory hook is. Basically, only a few adjustments to make these helper routines's interfaces closer to target_xfer_partial's were necessary. Tested on x86_64 Fedora 17 w/ gdbserver. gdb/ 2013-08-23 Pedro Alves <palves@redhat.com> * remote.c (remote_write_bytes_aux, remote_write_bytes) (remote_read_bytes): Change return type to LONGEST, and adjust to return a target_xfer_error on error. (remote_xfer_memory): Delete. (remote_flash_write): Change type of 'ret' local to LONGEST. (remote_xfer_partial, remote_xfer_partial): Adjust. (init_remote_ops): Don't install a deprecated_xfer_memory hook.
2013-08-23 ARI fix: Push # directives to start of line.Pierre Muller2-6/+11
* rs6000-nat.c (rs6000_ptrace32, rs6000_ptrace64): Rule applied.
2013-08-232013-08-12 Muhammad Waqas <mwaqas@codesourcery.com>Muhammad Waqas4-26/+167
PR gdb/15501 * breakpoint.c (enable_command, disable_command): Iterate over all specified breakpoint locations. 2013-07-12 Muhammad Waqas <mwaqas@codesourccery.com> PR gdb/15501 * gdb.base/ena-dis-br.exp: Add test to verify enable/disable commands work correctly with multiple arguments that include multiple locations.
2013-08-23 * common/linux-ptrace.c (linux_fork_to_function): Push #Luis Machado2-4/+11
directives to the start of the line. (linux_check_ptrace_features): Fix warning message to use the "_" markup.
2013-08-22 Unify ptrace options discovery code and make both GDB andLuis Machado34-577/+715
gdbserver use it. gdb/ * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-nat.h and nat/linux-waitpid.h. (linux-waitpid.o): New object file rule. * common/linux-ptrace.c: Include nat/linux-waitpid.h. (current_ptrace_options): Moved from linux-nat.c. (linux_ptrace_test_ret_to_nx): Use type casts for ptrace parameters. (linux_fork_to_function): New function. (linux_grandchild_function): Likewise. (linux_child_function): Likewise. (linux_check_ptrace_features): New function, heavily based on linux-nat.c:linux_test_for_tracefork. (linux_enable_event_reporting): New function. (ptrace_supports_feature): Likewise. (linux_supports_tracefork): Likewise. (linux_supports_traceclone): Likewise. (linux_supports_tracevforkdone): Likewise. (linux_supports_tracesysgood): Likewise. * common/linux-ptrace.h (HAS_NOMMU): Moved from gdbserver/linux-low.c. (linux_enable_event_reporting): New declaration. (linux_supports_tracefork): Likewise. (linux_supports_traceclone): Likewise. (linux_supports_tracevforkdone): Likewise. (linux_supports_tracesysgood): Likewise. * config.in (PTRACE_TYPE_ARG4): Regenerate. * config/aarch64/linux.mh (NATDEPFILES): Add linux-waitpid.o. * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise. * config/arm/linux.mh (NATDEPFILES): Likewise. * config/i386/linux.mh (NATDEPFILES): Likewise. * config/i386/linux64.mh (NATDEPFILES): Likewise. * config/ia64/linux.mh (NATDEPFILES): Likewise. * config/m32r/linux.mh (NATDEPFILES): Likewise. * config/m68k/linux.mh (NATDEPFILES): Likewise. * config/mips/linux.mh (NATDEPFILES): Likewise. * config/pa/linux.mh (NATDEPFILES): Likewise.. * config/powerpc/linux.mh (NATDEPFILES): Likewise.. * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise. * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise. * config/sparc/linux.mh (NATDEPFILES): Likewise. * config/sparc/linux64.mh (NATDEPFILES): Likewise. * config/tilegx/linux.mh (NATDEPFILES): Likewise. * config/xtensa/linux.mh (NATDEPFILES): Likewise. * configure.ac (AC_CACHE_CHECK): Add void * to the list of ptrace's 4th argument's types. Check the type of PTRACE_TYPE_ARG4. * configure: Regenerate. * linux-nat.c: Include nat/linux-nat.h and nat/linux-waitpid.h. (SYSCALL_SIGTRAP): Moved to nat/linux-nat.h. (linux_supports_tracefork_flag): Remove. (linux_supports_tracesysgood_flag): Likewise. (linux_supports_tracevforkdone_flag): Likewise. (current_ptrace_options): Moved to common/linux-ptrace.c. (linux_tracefork_child): Remove. (my_waitpid): Remove. (linux_test_for_tracefork): Renamed to linux_check_ptrace_features and moved to common/linux-ptrace.c. (linux_test_for_tracesysgood): Remove. (linux_supports_tracesysgood): Remove. (linux_supports_tracefork): Remove. (linux_supports_tracevforkdone): Remove. (linux_enable_tracesysgood): Remove. (linux_enable_event_reporting): Remove. (linux_init_ptrace): New function. (linux_child_post_attach): Call linux_init_ptrace. (linux_child_post_startup_inferior): Call linux_init_ptrace. (linux_child_follow_fork): Call linux_supports_tracefork and linux_supports_tracevforkdone. (linux_child_insert_fork_catchpoint): Call linux_supports_tracefork. (linux_child_insert_vfork_catchpoint): Likewise. (linux_child_set_syscall_catchpoint): Call linux_supports_tracesysgood. (lin_lwp_attach_lwp): Call linux_supports_tracefork. * nat/linux-nat.h: New file. * nat/linux-waitpid.c: New file. * nat/linux-waitpid.h: New file. gdb/gdbserver/ * Makefile.in: Explain why ../target and ../nat are not listed as include file search paths. (linux-waitpid.o): New object file rule. * configure.srv (srv_native_linux_obj): New variable. Replace all occurrences of linux native object files with $srv_native_linux_obj. * linux-low.c: Include nat/linux-nat.h and nat/linux-waitpid.h. (HAS_NOMMU): Move defining logic to common/linux-ptrace.c. (linux_enable_event_reporting): Remove declaration. (my_waitpid): Moved to common/linux-waitpid.c. (linux_wait_for_event): Pass ptid when calling linux_enable_event_reporting. (linux_supports_tracefork_flag): Remove. (linux_enable_event_reporting): Likewise. (linux_tracefork_grandchild): Remove. (STACK_SIZE): Moved to common/linux-ptrace.c. (linux_tracefork_child): Remove. (linux_test_for_tracefork): Remove. (linux_look_up_symbols): Call linux_supports_traceclone. (initialize_low): Remove call to linux_test_for_tracefork. * linux-low.h (PTRACE_TYPE_ARG3): Move to common/linux-ptrace.h. (PTRACE_TYPE_ARG4): Likewise. Include linux-ptrace.h.
2013-08-22Adding missing files from my last commit.Sergio Durigan Junior2-0/+458
2013-08-22[Committing the `catch syscall' patch for ARM, from Samuel Bronson.]Sergio Durigan Junior6-4/+82
This time, it passes all the tests and comes with a nearly complete XML file (plus a script that can nearly regenerate the XML file). (I elected to leave out __ARM_NR_cmpxchg, since it has dire warnings to the effect that the only pieces of code that should be aware of it are the implementation and the __kuser_cmpxchg code in entry-armv.S.) gdb/ 2013-08-14 Samuel Bronson <naesten@gmail.com> ARM Linux support for `catch syscall'. * syscalls/arm-linux.py: New file. * syscalls/arm-linux.xml: Likewise. * arm-linux-tdep.c (arm_linux_get_syscall_number): New function. (arm_linux_init_abi): Register the new function and syscall xml file. * data-directory/Makefile.in: Install the new syscall xml file. * NEWS: Brag about this. gdb/testsuite/ 2013-08-14 Samuel Bronson <naesten@gmail.com> ARM Linux support for `catch syscall'. * gdb.base/catch-syscall.exp: Test this on ARM now. (fill_all_syscalls_numbers): ARM has close/chroot on 6/61, too.
2013-08-22fix dwz.exp on 32-bit targetsTom Tromey3-6/+54
This fixes dwz.exp on 32-bit targets. It does so by introducing a new "default" setting for the address size in the DWARF assembler. Built and regtested on x86-64 Fedora 18. I also ran the gdb.dwarf2 tests on an x86 machine (gcc45). * lib/dwarf.exp (cu, tu): Handle addr_size of "default". Change default addr_size. * lib/gdb.exp (is_64_target): New gdb_caching_proc.
2013-08-22convert one more caching procTom Tromey2-21/+22
I noticed that skip_btrace_tests is a classic "caching proc" that I missed when I added gdb_caching_proc. This patch converts it. Built and regtested on x86-64 Fedora 18. * lib/gdb.exp (skip_btrace_tests): Use gdb_caching_proc and standard_temp_file.
2013-08-22fix gdb.arch to be parallel-safeTom Tromey18-85/+53
This fixes parts of gdb.arch to be parallel-safe. I only changed the bits I could test on this machine. I don't have access to many of the machines needed to fully switch gdb.arch; but I am happy to provide advice to others attempting this. Or, I can send an untested patch to convert it all. Tested on x86-64 Fedora 18. * gdb.arch/amd64-byte.exp: Use standard_testfile, clean_restart. * gdb.arch/amd64-disp-step.exp: Use standard_testfile. * gdb.arch/amd64-dword.exp: Use standard_testfile, clean_restart. * gdb.arch/amd64-entry-value-param.exp: Use standard_testfile. * gdb.arch/amd64-entry-value.exp: Use standard_testfile. * gdb.arch/amd64-prologue-xmm.exp: Use standard_testfile. * gdb.arch/amd64-word.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-avx.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-byte.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-disp-step.exp: Use standard_testfile. * gdb.arch/i386-dr3-watch.exp: Use standard_testfile. * gdb.arch/i386-permbkpt.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-signal.exp: Use standard_testfile. * gdb.arch/i386-size-overlap.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-sse.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-unwind.exp: Use standard_testfile. * gdb.arch/i386-word.exp: Use standard_testfile, clean_restart.
2013-08-22fix gdb.python to be parallel-safeTom Tromey12-26/+62
This fixes gdb.python to be parallel-safe, mostly by changing it to use gdb_remote_download. Tested on x86-64 Fedora 18. * gdb.python/py-error.exp: Use gdb_remote_download. * gdb.python/py-mi.exp: Use gdb_remote_download. * gdb.python/py-objfile-script.exp: Use standard_output_file. * gdb.python/py-prettyprint.exp: Use gdb_remote_download. (run_lang_tests): Likewise. * gdb.python/py-section-script.c: Use SCRIPT_FILE rather than filename. * gdb.python/py-section-script.exp: Set SCRIPT_FILE when compiling. Use gdb_remote_download. Update some tests. * gdb.python/py-strfns.exp (test_strfns_core_file): Use standard_output_file. * gdb.python/py-typeprint.exp: Use gdb_remote_download. * gdb.python/py-frame-args.exp: Use gdb_remote_download. * gdb.python/py-framefilter-mi.exp: Use gdb_remote_download. * gdb.python/py-framefilter.exp: Use gdb_remote_download, standard_output_file.
2013-08-22use standard_temp_file in another caching procTom Tromey2-4/+8
In an earlier patch I forgot to change the caching proc in cell.exp to use standard_temp_file. This fixes the oversight. Tested on x86-64 Fedora 18. * lib/cell.exp (skip_cell_tests): Use standard_temp_file.
2013-08-22introduce gdb_remote_download and finish parallel fixes in gdb.dwarf2Tom Tromey8-6/+34
This finishes making gdb.dwarf2 parallel-safe. To do this, this patch introduces a new gdb_remote_download proc, that works somewhat differently in the one specific case where it matters: for a copy to "host", if no destination was given, and the host is not actually remote, then standard_output_file is used. In parallel mode this guarantees that the resulting file will end up in a parallel-safe location. Tested on x86-64 Fedora 18. * gdb.dwarf2/dw2-basic.exp: Use gdb_remote_download. * gdb.dwarf2/dw2-compressed.exp: Use gdb_remote_download. * gdb.dwarf2/dw2-intercu.exp: Use gdb_remote_download. * gdb.dwarf2/dw2-intermix.exp: Use gdb_remote_download. * gdb.dwarf2/dw2-producer.exp: Use gdb_remote_download. * gdb.dwarf2/mac-fileno.exp: Use gdb_remote_download. * lib/gdb.exp (gdb_remote_download): New proc.
2013-08-22fix some gdb.dwarf2 tests for parallel safetyTom Tromey7-15/+39
This fixes a few gdb.dwarf2 tests to be more parallel-safe. This mostly amounts to changing them to write their files into the directory designated by standard_output_file. Built and regtested on x86-64 Fedora 18. * gdb.dwarf2/clztest.exp: Use standard_testfile. * gdb.dwarf2/dw2-minsym-in-cu.exp: Use standard_testfile. * gdb.dwarf2/fission-base.S: Remove directory from DW_AT_GNU_dwo_name. * gdb.dwarf2/fission-base.exp: Use build_executable. Set debug-file-directory. * gdb.dwarf2/fission-reread.S: Remove directory from DW_AT_GNU_dwo_name. * gdb.dwarf2/fission-reread.exp: Use build_executable. Set debug-file-directory.
2013-08-22PR gdb/15871: Unavailable entry value is not shown correctlyPedro Alves4-18/+105
In entry-values.exp, we have a test where the entry value of 'j' is unavailable, so it is expected that printing j@entry yields "<unavailable>". However, the actual output is: (gdb) frame #0 0x0000000000400540 in foo (i=0, i@entry=2, j=2, j@entry=<error reading variable: Cannot access memory at address 0x6009e8>) The error is thrown here: #0 throw_it (reason=RETURN_ERROR, error=MEMORY_ERROR, fmt=0x8cd550 "Cannot access memory at address %s", ap=0x7fffffffc8e8) at ../../src/gdb/exceptions.c:373 #1 0x00000000005e2f9c in throw_error (error=MEMORY_ERROR, fmt=0x8cd550 "Cannot access memory at address %s") at ../../src/gdb/exceptions.c:422 #2 0x0000000000673a5f in memory_error (status=5, memaddr=6293992) at ../../src/gdb/corefile.c:204 #3 0x0000000000673aea in read_memory (memaddr=6293992, myaddr=0x7fffffffca60 "\200\316\377\377\377\177", len=4) at ../../src/gdb/corefile.c:223 #4 0x00000000006784d1 in dwarf_expr_read_mem (baton=0x7fffffffcd50, buf=0x7fffffffca60 "\200\316\377\377\377\177", addr=6293992, len=4) at ../../src/gdb/dwarf2loc.c:334 #5 0x000000000067645e in execute_stack_op (ctx=0x1409480, op_ptr=0x7fffffffce87 "\237<\005@", op_end=0x7fffffffce88 "<\005@") at ../../src/gdb/dwarf2expr.c:1045 #6 0x0000000000674e29 in dwarf_expr_eval (ctx=0x1409480, addr=0x7fffffffce80 "\003\350\t`", len=8) at ../../src/gdb/dwarf2expr.c:364 #7 0x000000000067c5b2 in dwarf2_evaluate_loc_desc_full (type=0x10876d0, frame=0xd8ecc0, data=0x7fffffffce80 "\003\350\t`", size=8, per_cu=0xf24c40, byte_offset=0) at ../../src/gdb/dwarf2loc.c:2236 #8 0x000000000067cc65 in dwarf2_evaluate_loc_desc (type=0x10876d0, frame=0xd8ecc0, data=0x7fffffffce80 "\003\350\t`", size=8, per_cu=0xf24c40) at ../../src/gdb/dwarf2loc.c:2407 #9 0x000000000067a5d4 in dwarf_entry_parameter_to_value (parameter=0x13a7960, deref_size=18446744073709551615, type=0x10876d0, caller_frame=0xd8ecc0, per_cu=0xf24c40) at ../../src/gdb/dwarf2loc.c:1160 #10 0x000000000067a962 in value_of_dwarf_reg_entry (type=0x10876d0, frame=0xd8de70, kind=CALL_SITE_PARAMETER_DWARF_REG, kind_u=...) at ../../src/gdb/dwarf2loc.c:1310 #11 0x000000000067aaca in value_of_dwarf_block_entry (type=0x10876d0, frame=0xd8de70, block=0xf1c2d4 "Q", block_len=1) at ../../src/gdb/dwarf2loc.c:1363 #12 0x000000000067e7c9 in locexpr_read_variable_at_entry (symbol=0x13a7540, frame=0xd8de70) at ../../src/gdb/dwarf2loc.c:3326 #13 0x00000000005daab6 in read_frame_arg (sym=0x13a7540, frame=0xd8de70, argp=0x7fffffffd0e0, entryargp=0x7fffffffd100) at ../../src/gdb/stack.c:362 #14 0x00000000005db384 in print_frame_args (func=0x13a7470, frame=0xd8de70, num=-1, stream=0xea3890) at ../../src/gdb/stack.c:669 #15 0x00000000005dc338 in print_frame (frame=0xd8de70, print_level=1, print_what=SRC_AND_LOC, print_args=1, sal=...) at ../../src/gdb/stack.c:1199 #16 0x00000000005db8ee in print_frame_info (frame=0xd8de70, print_level=1, print_what=SRC_AND_LOC, print_args=1) at ../../src/gdb/stack.c:851 #17 0x00000000005da2bb in print_stack_frame (frame=0xd8de70, print_level=1, print_what=SRC_AND_LOC) at ../../src/gdb/stack.c:169 #18 0x00000000005de236 in frame_command (level_exp=0x0, from_tty=1) at ../../src/gdb/stack.c:2265 dwarf2_evaluate_loc_desc_full (frame #7) knows to handle NOT_AVAILABLE_ERROR errors, but read_memory always throws a generic error. Presently, only the value machinery knows to handle unavailable memory. We need to push the awareness down to the target_xfer layer, making it return a finer grained error indication. We can only return a generic -1 nowadays, which leaves the upper layers with no clue on why the xfer failed. Use target_xfer_partial directly, rather than propagating the error through target_read_memory so as to get a better address to display in the error message. (target_read_memory & friends build on top of target_read (thus the target_xfer machinery), but turn all errors to EIO, an errno value. I think this is a mistake, and we'd better convert all these to return a target_xfer_error too, but that can be done separately. I looked around a bit over memory_error calls, and the need to handle random errno values, other than the EIOs gdb itself hardcodes, probably comes (only) from deprecated_xfer_memory, which uses errno for error indication, but I didn't look exhaustively. We should really get rid of deprecated_xfer_memory and of passing down errno values as error indication in target_read & friends methods). Tested on x86_64 Fedora 17, native and gdbserver. Fixes the test in the PR, which will be added to the testsuite later. gdb/ 2013-08-22 Pedro Alves <palves@redhat.com> PR gdb/15871 * corefile.c (target_xfer_memory_error): New function. (memory_error): Defer EIO to target_memory_error. (read_memory): Use target_xfer_partial, and handle finer-grained target xfer errors. * target.c (target_xfer_error_to_string): New function. (memory_xfer_partial_1): If memory is known to be unavailable, return TARGET_XFER_E_UNAVAILABLE instead of -1. (target_xfer_partial): Make extern. * target.h (enum target_xfer_error): New enum. (target_xfer_error_to_string): Declare function. (target_xfer_partial): Declare function. (struct target_ops) <xfer_partial>: Adjust describing comment.
2013-08-22 * configure.host: Support powerpc64le-linux and powerpcle-linux hosts.Alan Modra3-3/+8
* configure.tgt: Likewise as targets.
2013-08-21Renegerate gdbserver/config.in.Pedro Alves2-0/+7
In: gdb/gdbserver/ 2013-07-03 Pedro Alves <palves@redhat.com> * Makefile.in (config.status): Depend on development.sh. * acinclude.m4: Include libmcheck.m4. * configure: Regenerate. I missed regenerating config.in... Tested on x86_64 Fedora 17. gdb/gdbserver/ 2013-08-21 Pedro Alves <palves@redhat.com> * config.in: Renegerate.
2013-08-21Fix whitespace.Pedro Alves1-11/+11