From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8446 invoked by alias); 14 May 2013 13:15:31 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 8426 invoked by uid 9364); 14 May 2013 13:15:31 -0000 Date: Tue, 14 May 2013 13:15:00 -0000 Message-ID: <20130514131531.8373.qmail@sourceware.org> From: gary@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] gbenson/rtld-probes: Merge remote branch 'gdb/master' into gbenson/rtld-probes X-Git-Refname: refs/heads/gbenson/rtld-probes X-Git-Reftype: branch X-Git-Oldrev: c5260d1d1b60de9a3897f7f045ac66085b7c62d2 X-Git-Newrev: 32774de1333ab48c13ad61ff0869292df26ec1b0 X-SW-Source: 2013-q2/txt/msg00067.txt.bz2 List-Id: The branch, gbenson/rtld-probes has been updated via 32774de1333ab48c13ad61ff0869292df26ec1b0 (commit) via b7b21175961e89d402475f8315ebd41d38a8b1e1 (commit) via 4561066c2ca4b9803f61aa3d5ab922eacf9074e6 (commit) via 18ff964b7afe30af7c370dc755bab2ba4f6904d1 (commit) via 0b6d485333eaecc80f2ee1c526d00afc34545568 (commit) via 85d1ecb8e8c205ad9920ec7d9122e1f41a8722e6 (commit) via 99625c81b71b4ebde9922688db0c52533ad9169a (commit) via 9ff19ea62ce51ec67ab3fe646aec8a5b3d8b06ce (commit) via 599663b891b44af7854305c29b2e5c9036d3d18a (commit) via a9fd162da6d20785d86daf2963c175d7b31b1502 (commit) via 81160eb832e138cbbbaefcb1a618b833e0cba067 (commit) via e093c20cb935fd6cfd50166fce1f476f61cdedb4 (commit) via 5f44153b7e6247e1a59ada51f4ff56f9ba43d019 (commit) via 6043f67954e86f417874a92239683afc05acc197 (commit) via 3f9c92cea940830cd60a14f0918fc8881c10a11a (commit) via 16231982db16e600b6678b7ba8a50db941f71448 (commit) via c9d9bd917e99201f16e2d7da4b8637d37df66224 (commit) via f9faafae8750b071370766a40e9e1204d667285c (commit) via a2d6e67eab0c21881486166bb23a22a759cbfe0f (commit) via c4d847ed07a5b98bc1d22e1053ae6723278a5ade (commit) via 2b6f779f35f31109cd1fa7e847153d463f1b21ba (commit) via 4ab6caae50b7dd03fdd35f9b63f74323098d1d1a (commit) via 7698b6278eabefc34834cd51a04f8c821d6daed4 (commit) via 6ac38df064fe8efd580ebb9426bbedd343de78c5 (commit) via 77c8328144b9f4724ec07ec612e65bdbd20b04fb (commit) via 6fccee683ae32b5ba453daf063581d6819deeaef (commit) from c5260d1d1b60de9a3897f7f045ac66085b7c62d2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 32774de1333ab48c13ad61ff0869292df26ec1b0 Merge: c5260d1 b7b2117 Author: Gary Benson Date: Tue May 14 14:15:14 2013 +0100 Merge remote branch 'gdb/master' into gbenson/rtld-probes commit b7b21175961e89d402475f8315ebd41d38a8b1e1 Author: Alan Modra Date: Tue May 14 00:00:06 2013 +0000 daily update commit 4561066c2ca4b9803f61aa3d5ab922eacf9074e6 Author: gdbadmin Date: Tue May 14 00:00:02 2013 +0000 *** empty log message *** commit 18ff964b7afe30af7c370dc755bab2ba4f6904d1 Author: yufeng Date: Mon May 13 22:28:27 2013 +0000 gas/ * testsuite/gas/aarch64/diagnostic.s: Update. * testsuite/gas/aarch64/diagnostic.l: Ditto. * testsuite/gas/aarch64/movi.s: Add new tests. * testsuite/gas/aarch64/movi.d: Update. opcodes/ * aarch64-asm.c (aarch64_ins_advsimd_imm_modified): Remove assertion. * aarch64-opc.c (operand_general_constraint_met_p): Relax the range check from [0, 255] to [-128, 255]. commit 0b6d485333eaecc80f2ee1c526d00afc34545568 Author: Tom Tromey Date: Mon May 13 19:32:17 2013 +0000 * gdb.dwarf2/implptrconst.exp: Create a CU with 4 byte address size and change type sizes to 4 bytes. commit 85d1ecb8e8c205ad9920ec7d9122e1f41a8722e6 Author: Tom Tromey Date: Mon May 13 16:57:20 2013 +0000 fix PR number in ChangeLog commit 99625c81b71b4ebde9922688db0c52533ad9169a Author: Tom Tromey Date: Mon May 13 16:56:09 2013 +0000 PR gdb/15538: * dwarf2read.c (dwarf2_record_block_ranges): Ensure that the ranges section has been read. commit 9ff19ea62ce51ec67ab3fe646aec8a5b3d8b06ce Author: Tom Tromey Date: Mon May 13 16:51:51 2013 +0000 PR exp/15364: * eval.c (evaluate_subexp_standard) : Return a not_lval value for EVAL_AVOID_SIDE_EFFECTS. * opencl-lang.c (evaluate_subexp_opencl): Return a not_lval value for EVAL_AVOID_SIDE_EFFECTS. gdb/testsuite * gdb.base/exprs.exp (test_expr): Add regression test. * gdb.base/exprs.c (null_t_struct): New global. commit 599663b891b44af7854305c29b2e5c9036d3d18a Author: Nick Clifton Date: Mon May 13 10:52:52 2013 +0000 * v850.igen (LDSR): Accept but ignore a selID parameter. commit a9fd162da6d20785d86daf2963c175d7b31b1502 Author: Joel Brobecker Date: Mon May 13 10:27:35 2013 +0000 Float parameter passing in funcall on ppc-aix & ppc-lynx178. Given the following code: float global_float = 0.0; void set_float (float f) { global_float = f; } GDB incorrectly calls set_float if the set_float function is marked as prototyped: (gdb) call set_float (5.0) (gdb) print global_float $1 = 2048 What happens, when the function is marked as prototyped, is that GDB finds that the argument is a float, casts the value given in the expression to a float, and then gives that float to ppc-aix/ ppc-lynx178's push_dummy_call gdbarch routine. The latter then blindly copies it as is in the first floating-point register, instead of making sure that it has the proper format first. gdb/ChangeLog: * rs6000-aix-tdep.c (rs6000_push_dummy_call): Convert floating point registers to register type before storing value. * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise. commit 81160eb832e138cbbbaefcb1a618b833e0cba067 Author: mbilal Date: Mon May 13 08:49:23 2013 +0000 * History saving should stay disabled for test cases * I saw some test cases in gdb.base/default.exp and gdb.base/setshow.exp are enabling the history saving. Hence .gdb_history file is modified with history information even though, by default, we have History saving disabled. So we should modify GDB test cases so that history saving should stay off for all test cases. ChangeLog: 2013-05-13 Muhammad Bilal * gdb.base/default.exp: Disable history saving. * gdb.base/setshow.exp: Likewise. commit e093c20cb935fd6cfd50166fce1f476f61cdedb4 Author: gdbadmin Date: Mon May 13 00:00:32 2013 +0000 *** empty log message *** commit 5f44153b7e6247e1a59ada51f4ff56f9ba43d019 Author: Alan Modra Date: Mon May 13 00:00:06 2013 +0000 daily update commit 6043f67954e86f417874a92239683afc05acc197 Author: Alan Modra Date: Sun May 12 00:00:06 2013 +0000 daily update commit 3f9c92cea940830cd60a14f0918fc8881c10a11a Author: gdbadmin Date: Sun May 12 00:00:03 2013 +0000 *** empty log message *** commit 16231982db16e600b6678b7ba8a50db941f71448 Author: Alan Modra Date: Sat May 11 00:00:06 2013 +0000 daily update commit c9d9bd917e99201f16e2d7da4b8637d37df66224 Author: gdbadmin Date: Sat May 11 00:00:02 2013 +0000 *** empty log message *** ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 5 + bfd/coffcode.h | 6 + bfd/version.h | 2 +- gdb/ChangeLog | 124 ++ gdb/Makefile.in | 6 + gdb/NEWS | 4 + gdb/common/filestuff.c | 27 + gdb/common/filestuff.h | 10 + gdb/configure | 10 +- gdb/configure.ac | 10 +- gdb/darwin-nat.c | 7 + gdb/data-directory/Makefile.in | 4 + gdb/doc/ChangeLog | 17 + gdb/doc/gdb.texinfo | 845 +++++++++++- gdb/dwarf2read.c | 5 +- gdb/eval.c | 12 +- gdb/inf-ttrace.c | 11 + gdb/mi/mi-cmd-stack.c | 229 +++- gdb/mi/mi-cmds.c | 1 + gdb/mi/mi-cmds.h | 1 + gdb/opencl-lang.c | 11 +- gdb/python/lib/gdb/FrameDecorator.py | 285 ++++ gdb/python/lib/gdb/FrameIterator.py | 45 + gdb/python/lib/gdb/__init__.py | 2 + gdb/python/lib/gdb/command/frame_filters.py | 461 ++++++ gdb/python/lib/gdb/frames.py | 229 +++ gdb/python/py-framefilter.c | 1528 ++++++++++++++++++++ gdb/python/py-objfile.c | 60 + gdb/python/py-progspace.c | 60 + gdb/python/py-utils.c | 22 + gdb/python/python-internal.h | 3 + gdb/python/python.c | 9 + gdb/python/python.h | 66 + gdb/remote.c | 3 +- gdb/rs6000-aix-tdep.c | 15 +- gdb/rs6000-lynx178-tdep.c | 14 +- gdb/sol-thread.c | 24 + gdb/solib-aix.c | 26 +- gdb/stack.c | 121 ++- gdb/testsuite/ChangeLog | 31 + gdb/testsuite/gdb.base/default.exp | 2 + gdb/testsuite/gdb.base/exprs.c | 1 + gdb/testsuite/gdb.base/exprs.exp | 4 + gdb/testsuite/gdb.base/setshow.exp | 2 + gdb/testsuite/gdb.dwarf2/implptrconst.exp | 8 +- gdb/testsuite/gdb.python/py-framefilter-gdb.py.in | 48 + gdb/testsuite/gdb.python/py-framefilter-mi.c | 138 ++ gdb/testsuite/gdb.python/py-framefilter-mi.exp | 179 +++ gdb/testsuite/gdb.python/py-framefilter.c | 155 ++ gdb/testsuite/gdb.python/py-framefilter.exp | 239 +++ gdb/testsuite/gdb.python/py-framefilter.py | 117 ++ .../gdb.trace/qtro.c} | 30 +- gdb/testsuite/gdb.trace/qtro.exp | 173 +++ gdb/version.in | 2 +- opcodes/ChangeLog | 6 + opcodes/aarch64-asm.c | 1 - opcodes/aarch64-opc.c | 6 +- sim/bfin/ChangeLog | 4 + sim/bfin/configure | 3 +- sim/common/ChangeLog | 6 + sim/common/acinclude.m4 | 3 +- sim/cr16/ChangeLog | 4 + sim/cr16/configure | 3 +- sim/cris/ChangeLog | 4 + sim/cris/configure | 3 +- sim/d10v/ChangeLog | 4 + sim/d10v/configure | 3 +- sim/igen/ChangeLog | 4 + sim/igen/configure | 3 +- sim/m68hc11/ChangeLog | 4 + sim/m68hc11/configure | 3 +- sim/mips/ChangeLog | 4 + sim/mips/configure | 3 +- sim/mn10300/ChangeLog | 4 + sim/mn10300/configure | 3 +- sim/v850/ChangeLog | 8 + sim/v850/configure | 3 +- sim/v850/v850.igen | 8 +- 78 files changed, 5370 insertions(+), 176 deletions(-) create mode 100644 gdb/python/lib/gdb/FrameDecorator.py create mode 100644 gdb/python/lib/gdb/FrameIterator.py create mode 100644 gdb/python/lib/gdb/command/frame_filters.py create mode 100644 gdb/python/lib/gdb/frames.py create mode 100644 gdb/python/py-framefilter.c create mode 100644 gdb/testsuite/gdb.python/py-framefilter-gdb.py.in create mode 100644 gdb/testsuite/gdb.python/py-framefilter-mi.c create mode 100644 gdb/testsuite/gdb.python/py-framefilter-mi.exp create mode 100644 gdb/testsuite/gdb.python/py-framefilter.c create mode 100644 gdb/testsuite/gdb.python/py-framefilter.exp create mode 100644 gdb/testsuite/gdb.python/py-framefilter.py rename gdb/{sparc-sol-thread.c => testsuite/gdb.trace/qtro.c} (53%) create mode 100644 gdb/testsuite/gdb.trace/qtro.exp First 500 lines of diff: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e680c3a..eb254b7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2013-05-10 Joel Brobecker + + * coffcode.h (styp_to_sec_flags) [RS6000COFF_C]: Add handling + of STYP_EXCEPT, STYP_LOADER and STYP_TYPCHK sections. + 2013-05-09 Joel Brobecker * bfd.c (_bfd_default_error_handler): Replace use of putc diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 9d9c992..2a1a172 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -795,6 +795,12 @@ styp_to_sec_flags (bfd *abfd ATTRIBUTE_UNUSED, else if (styp_flags & STYP_PAD) sec_flags = 0; #ifdef RS6000COFF_C + else if (styp_flags & STYP_EXCEPT) + sec_flags |= SEC_LOAD; + else if (styp_flags & STYP_LOADER) + sec_flags |= SEC_LOAD; + else if (styp_flags & STYP_TYPCHK) + sec_flags |= SEC_LOAD; else if (styp_flags & STYP_DWARF) sec_flags |= SEC_DEBUGGING; #endif diff --git a/bfd/version.h b/bfd/version.h index fe85ccd..89b903a 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20130510 +#define BFD_VERSION_DATE 20130514 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c3399ba..c978f0b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,127 @@ +2013-05-13 Tom Tromey + + PR gdb/15338: + * dwarf2read.c (dwarf2_record_block_ranges): Ensure that the + ranges section has been read. + +2013-05-13 Tom Tromey + + PR exp/15364: + * eval.c (evaluate_subexp_standard) : Return a not_lval value for + EVAL_AVOID_SIDE_EFFECTS. + * opencl-lang.c (evaluate_subexp_opencl): Return a not_lval value + for EVAL_AVOID_SIDE_EFFECTS. + +2013-05-13 Joel Brobecker + + * rs6000-aix-tdep.c (rs6000_push_dummy_call): Convert + floating point registers to register type before storing + value. + * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): + Likewise. + +2013-05-10 Joel Brobecker + Tom Tromey + + * common/filestuff.c (mark_fd_no_cloexec, unmark_fd_no_cloexec): + New functions. + * common/filestuff.c (mark_fd_no_cloexec, unmark_fd_no_cloexec): + Declare. + * darwin-nat.c (darwin_pre_ptrace): Use mark_fd_no_cloexec. + (darwin_ptrace_him): Use unmark_fd_no_cloexec. + * inf-ttrace.c (do_cleanup_pfds): Use unmark_fd_no_cloexec. + (inf_ttrace_prepare): Use mark_fd_no_cloexec. + +2013-05-10 Freddie Chopin + Tom Tromey + + PR build/15414: + * configure: Rebuild. + * configure.ac (build_warnings): Do not use -Wformat-nonliteral + with -Wno-format. + +2013-05-10 Pedro Alves + + * remote.c (_initialize_remote): Fix spelling of + qXfer:traceframe-info:read packet in packet config command. + +2013-05-10 David Taylor + + PR remote/15455 + + * remote.c (remote_trace_set_readonly_regions): Do not overwrite + "QTro" at start of packet. + +2013-05-10 Joel Brobecker + + * solib-aix.c (solib_aix_relocate_section_addresses): + For the .bss section action, apply the same offset as + the .data section. + +2013-05-10 Joel Brobecker + + * solib-aix.c (solib_aix_relocate_section_addresses): + Remove FIXME comment. + +2013-05-10 Joel Brobecker + + PR tdep/15420: + * sol-thread.c (ps_lgetxregsize, ps_lgetxregs, ps_lsetxregs): + New functions, directly copied from sparc-sol-thread.c. + * sparc-sol-thread.c: Delete. + * configure.ac: Remove code handling sparc-solaris-thread.c. + * configure: Regenerate. + +2013-05-10 Phil Muldoon + + * stack.c (backtrace_command_1): Add "no-filters", and Python frame + filter logic. + (backtrace_command): Add "no-filters" option parsing. + (_initialize_stack): Alter help to reflect "no-filters" option. + * Makefile.in (SUBDIR_PYTHON_OBS): Add py-framefilter.o + (SUBDIR_PYTHON_SRCS): Add py-framefilter.c + (py-frame.o): Add target + * data-directory/Makefile.in (PYTHON_DIR): Add Python frame + filter files. + * python/python.h: Add new frame filter constants, and flag enum. + (apply_frame_filter): Add definition. + * python/python.c (apply_frame_filter): New non-Python + enabled function. + * python/py-utils.c (py_xdecref): New function. + (make_cleanup_py_xdecref): Ditto. + * python/py-objfile.c: Declare frame_filters dictionary. + (objfpy_dealloc): Add frame_filters dealloc. + (objfpy_new): Initialize frame_filters attribute. + (objfile_to_objfile_object): Ditto. + (objfpy_get_frame_filters): New function. + (objfpy_set_frame_filters): New function. + * python/py-progspace.c: Declare frame_filters dictionary. + (pspy_dealloc): Add frame_filters dealloc. + (pspy_new): Initialize frame_filters attribute. + (pspacee_to_pspace_object): Ditto. + (pspy_get_frame_filters): New function. + (pspy_set_frame_filters): New function. + * python/py-framefilter.c: New file. + * python/lib/gdb/command/frame_filters.py: New file. + * python/lib/gdb/frames.py: New file. + * python/lib/gdb/__init__.py: Initialize global frame_filters + dictionary + * python/lib/gdb/FrameDecorator.py: New file. + * python/lib/gdb/FrameIterator.py: New file. + * mi/mi-cmds.c (mi_cmds): Add frame filters command. + * mi/mi-cmds.h: Declare. + * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Add + --no-frame-filter logic, and Python frame filter logic. + (stack_enable_frame_filters): New function. + (parse_no_frame_option): Ditto. + (mi_cmd_stack_list_frames): Add --no-frame-filter and Python frame + filter logic. + (mi_cmd_stack_list_locals): Ditto. + (mi_cmd_stack_list_args): Ditto. + (mi_cmd_stack_list_variables): Ditto. + * NEWS: Add frame filter note. + 2013-05-09 Doug Evans * symfile.c (syms_from_objfile_1): Delete args offsets, num_offsets. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 2597ddb..9127894 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -288,6 +288,7 @@ SUBDIR_PYTHON_OBS = \ py-exitedevent.o \ py-finishbreakpoint.o \ py-frame.o \ + py-framefilter.o \ py-function.o \ py-gdb-readline.o \ py-inferior.o \ @@ -322,6 +323,7 @@ SUBDIR_PYTHON_SRCS = \ python/py-exitedevent.c \ python/py-finishbreakpoint.c \ python/py-frame.c \ + python/py-framefilter.c \ python/py-function.c \ python/py-gdb-readline.c \ python/py-inferior.c \ @@ -2144,6 +2146,10 @@ py-frame.o: $(srcdir)/python/py-frame.c $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-frame.c $(POSTCOMPILE) +py-framefilter.o: $(srcdir)/python/py-framefilter.c + $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-framefilter.c + $(POSTCOMPILE) + py-function.o: $(srcdir)/python/py-function.c $(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-function.c $(POSTCOMPILE) diff --git a/gdb/NEWS b/gdb/NEWS index 65284dc..7cd1646 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -3,6 +3,10 @@ *** Changes since GDB 7.6 +* Python scripting + + ** Frame filters and frame decorators have been added. + * New targets Nios II ELF nios2*-*-elf diff --git a/gdb/common/filestuff.c b/gdb/common/filestuff.c index 68f66ca..e7af3a5 100644 --- a/gdb/common/filestuff.c +++ b/gdb/common/filestuff.c @@ -177,6 +177,33 @@ notice_open_fds (void) fdwalk (do_mark_open_fd, NULL); } +/* See filestuff.h. */ + +void +mark_fd_no_cloexec (int fd) +{ + do_mark_open_fd (NULL, fd); +} + +/* See filestuff.h. */ + +void +unmark_fd_no_cloexec (int fd) +{ + int i, val; + + for (i = 0; VEC_iterate (int, open_fds, i, val); ++i) + { + if (fd == val) + { + VEC_unordered_remove (int, open_fds, i); + return; + } + } + + gdb_assert_not_reached (_("fd not found in open_fds")); +} + /* Helper function for close_most_fds that closes the file descriptor if appropriate. */ diff --git a/gdb/common/filestuff.h b/gdb/common/filestuff.h index 0db33f0..b162a0c 100644 --- a/gdb/common/filestuff.h +++ b/gdb/common/filestuff.h @@ -24,6 +24,16 @@ extern void notice_open_fds (void); +/* Mark a file descriptor as inheritable across an exec. */ + +extern void mark_fd_no_cloexec (int fd); + +/* Mark a file descriptor as no longer being inheritable across an + exec. This is only meaningful when FD was previously passed to + mark_fd_no_cloexec. */ + +extern void unmark_fd_no_cloexec (int fd); + /* Close all open file descriptors other than those marked by 'notice_open_fds', and stdin, stdout, and stderr. Errors that occur while closing are ignored. */ diff --git a/gdb/configure b/gdb/configure index c5ad94b..6033791 100755 --- a/gdb/configure +++ b/gdb/configure @@ -11969,13 +11969,6 @@ $as_echo "#define HAVE_THREAD_DB_LIB 1" >>confdefs.h CONFIG_OBS="${CONFIG_OBS} sol-thread.o" CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c" - # On SPARC CPUs, we also need to build sparc-sol-thread. - case ${host_cpu} in - sparc*) - CONFIG_OBS="${CONFIG_OBS} sparc-sol-thread.o" - CONFIG_SRCS="${CONFIG_SRCS} sparc-sol-thread.c" - ;; - esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then : @@ -12453,7 +12446,7 @@ fi # NOTE: If you change this list, remember to update # gdb/doc/gdbint.texinfo. build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \ --Wformat-nonliteral -Wpointer-sign \ +-Wpointer-sign \ -Wno-unused -Wunused-value -Wunused-function \ -Wno-switch -Wno-char-subscripts -Wmissing-prototypes \ -Wdeclaration-after-statement -Wempty-body" @@ -12462,6 +12455,7 @@ build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \ # GCC versions complain about %I64. case "${host}" in *-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;; + *) build_warnings="$build_warnings -Wformat-nonliteral" ;; esac # Check whether --enable-build-warnings was given. diff --git a/gdb/configure.ac b/gdb/configure.ac index bb7fbdd..3e95c25 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -1742,13 +1742,6 @@ if test ${build} = ${host} -a ${host} = ${target} ; then [Define if using Solaris thread debugging.]) CONFIG_OBS="${CONFIG_OBS} sol-thread.o" CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c" - # On SPARC CPUs, we also need to build sparc-sol-thread. - case ${host_cpu} in - sparc*) - CONFIG_OBS="${CONFIG_OBS} sparc-sol-thread.o" - CONFIG_SRCS="${CONFIG_SRCS} sparc-sol-thread.c" - ;; - esac AC_CHECK_LIB(dl, dlopen) CONFIG_LDFLAGS="${CONFIG_LDFLAGS} $RDYNAMIC" # Sun randomly tweaked the prototypes in @@ -1926,7 +1919,7 @@ fi # NOTE: If you change this list, remember to update # gdb/doc/gdbint.texinfo. build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \ --Wformat-nonliteral -Wpointer-sign \ +-Wpointer-sign \ -Wno-unused -Wunused-value -Wunused-function \ -Wno-switch -Wno-char-subscripts -Wmissing-prototypes \ -Wdeclaration-after-statement -Wempty-body" @@ -1935,6 +1928,7 @@ build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \ # GCC versions complain about %I64. case "${host}" in *-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;; + *) build_warnings="$build_warnings -Wformat-nonliteral" ;; esac AC_ARG_ENABLE(build-warnings, diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c index acdbf36..a2da924 100644 --- a/gdb/darwin-nat.c +++ b/gdb/darwin-nat.c @@ -66,6 +66,7 @@ #include #include "darwin-nat.h" +#include "common/filestuff.h" /* Quick overview. Darwin kernel is Mach + BSD derived kernel. Note that they share the @@ -1516,6 +1517,9 @@ darwin_pre_ptrace (void) ptrace_fds[1] = -1; error (_("unable to create a pipe: %s"), safe_strerror (errno)); } + + mark_fd_no_cloexec (ptrace_fds[0]); + mark_fd_no_cloexec (ptrace_fds[1]); } static void @@ -1533,6 +1537,9 @@ darwin_ptrace_him (int pid) close (ptrace_fds[0]); close (ptrace_fds[1]); + unmark_fd_no_cloexec (ptrace_fds[0]); + unmark_fd_no_cloexec (ptrace_fds[1]); + darwin_init_thread_list (inf); startup_inferior (START_INFERIOR_TRAPS_EXPECTED); diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in index d98ac77..13433ed 100644 --- a/gdb/data-directory/Makefile.in +++ b/gdb/data-directory/Makefile.in @@ -53,10 +53,14 @@ PYTHON_DIR = python PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR) PYTHON_FILES = \ gdb/__init__.py \ + gdb/frames.py \ + gdb/FrameIterator.py \ + gdb/FrameDecorator.py \ gdb/types.py \ gdb/printing.py \ gdb/prompt.py \ gdb/command/__init__.py \ + gdb/command/frame_filters.py \ gdb/command/type_printers.py \ gdb/command/pretty_printers.py \ gdb/command/prompt.py \ diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 80f08a5..908fbb4 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,20 @@ +2013-05-10 Phil Muldoon + + * gdb.texinfo (Backtrace): Add "no-filter" argument. + (Python API): Add Frame Filters API, Frame Wrapper API, + Writing a Frame Filter/Wrapper, Managing Management of Frame + Filters chapter entries. + (Frame Filters API): New Node. + (Frame Wrapper API): New Node. + (Writing a Frame Filter): New Node. + (Managing Frame Filters): New Node. + (Progspaces In Python): Add note about frame_filters attribute. + (Objfiles in Python): Ditto. + (GDB/MI Stack Manipulation): Add -enable-frame-filters command, + @anchors and --no-frame-filters option to -stack-list-variables, + -stack-list-frames, -stack-list-locals and -stack-list-arguments + commands. + 2013-05-08 Joel Brobecker * gdbint.texinfo (Native Debugging): Add "AIX Shared Library diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index f685cd2..1869d74 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -6465,6 +6465,7 @@ currently executing frame and describes it briefly, similar to the @menu * Frames:: Stack frames * Backtrace:: Backtraces +* Frame Filter Management:: Managing frame filters * Selection:: Selecting a frame * Frame Info:: Information on a frame @@ -6552,6 +6553,7 @@ line per frame, for many frames, starting with the currently executing frame (frame zero), followed by its caller (frame one), and on up the stack. +@anchor{backtrace-command} @table @code @kindex backtrace @kindex bt @r{(@code{backtrace})} @@ -6577,6 +6579,19 @@ Similar, but print only the outermost @var{n} frames. @itemx bt full -@var{n} Print the values of the local variables also. @var{n} specifies the number of frames to print, as described above. + +@item backtrace no-filters +@itemx bt no-filters +@itemx bt no-filters @var{n} +@itemx bt no-filters -@var{n} +@itemx bt no-filters full +@itemx bt no-filters full @var{n} +@itemx bt no-filters full -@var{n} +Do not run Python frame filters on this backtrace. @xref{Frame +Filter API}, for more information. Additionally use @ref{disable +frame-filter all} to turn off all frame filters. This is only +relevant when @value{GDBN} has been configured with @code{Python} +support. @end table @kindex where @@ -6727,6 +6742,149 @@ Display an absolute filename. Show the current way to display filenames. @end table +@node Frame Filter Management +@section Management of Frame Filters. +@cindex managing frame filters + +Frame filters are Python based utilities to manage and decorate the +output of frames. @xref{Frame Filter API}, for further information. + +Managing frame filters is performed by several commands available +within @value{GDBN}, detailed here. + +@table @code +@kindex info frame-filter +@item info frame-filter +Print a list of installed frame filters from all dictionaries, showing +their name, priority and enabled status. + +@kindex disable frame-filter +@anchor{disable frame-filter all} +@item disable frame-filter @var{filter-dictionary} @var{filter-name} +Disable a frame filter in the dictionary matching +@var{filter-dictionary}, or @code{all}, and @var{filter-name}. +@var{filter-dictionary} may be @code{all}, @code{global}, +@code{progspace} or the name of the object file where the frame filter +dictionary resides. When @code{all} is specified, all frame filters +across all dictionaries are disabled. @var{filter-name} is the name +of the frame filter and is used when @code{all} is not the option for +@var{filter-dictionary}. A disabled frame-filter is not deleted, it +may be enabled again later. + +@kindex enable frame-filter +@item enable frame-filter @var{filter-dictionary} @var{filter-name} +Enable a frame filter in the dictionary matching +@var{filter-dictionary}, or @code{all}, and @var{filter-name}. hooks/post-receive -- Repository for Project Archer.