public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  tromey/cleanup-checker: fix init_cutu_and_read_dies
@ 2013-05-16 20:59 tromey
  0 siblings, 0 replies; only message in thread
From: tromey @ 2013-05-16 20:59 UTC (permalink / raw)
  To: archer-commits

The branch, tromey/cleanup-checker has been updated
  discards  8a08c1b0d1feef7543005325d453a9efdcb4b7dc (commit)
  discards  ac28d0b42cadec26606c351c4dc0da64b4ad7cc9 (commit)
  discards  e13ea91044ecb6b7e11ef6a0948a6344ffd74c7b (commit)
  discards  b5934aa76217694c13b6942ceb8cdc1347b3fe90 (commit)
  discards  b908d1f6d6bb9abe29ae0d51b50590ef2b05b2a8 (commit)
  discards  62c38fe0b1ff8bf404a80e3fdcaf7674447342d5 (commit)
  discards  68aa964f224cd625de302c7a92cf04002ced6011 (commit)
  discards  3126887c2a009b84551f6928146274eb257d299c (commit)
  discards  1b6aab822d8534f9aa988c4a6decebbbc7cc9682 (commit)
  discards  cd87ddaa4a8f00efdda393d1e46c97026061c60f (commit)
  discards  0e4714eb136cb739e765b48bf92577f4d97a845f (commit)
  discards  0045f22ad9b72875d5ac8cea97490ae0d0cd5e9b (commit)
  discards  afc715666e5fa331f966e3039b0c235155ce1277 (commit)
  discards  d8eab1fc5ef85749c7323128f719c9f7f6d62a66 (commit)
  discards  2d3e0116baaa0352c711db1cbb2149a40c84fd48 (commit)
  discards  f3940903f9784069c2b7291830fd1a5d05bc595e (commit)
  discards  d2a26c8f60250b73c0af1dc69afd7e24d07709f5 (commit)
  discards  19ad7176bb73d31dcf94ec0c73739b2d3d906719 (commit)
  discards  41aceedec390eee91fc7ea6cb64ab83c88ae7f2a (commit)
  discards  581961da08a63cfee0d973a33ef7faa3c87b143f (commit)
  discards  84e0e8372df7f377bb9352ea0412ce8412459cc1 (commit)
  discards  4325d09461e89376402d4c594c34d4d51ee54eb2 (commit)
  discards  a737657e27e1595d5b04bdbbd772be1b7a746696 (commit)
  discards  cd06d044eb69a3e50650744f950179eeed15e3b6 (commit)
  discards  8aaa4bff619497e49e8a61a54df0b7f82779bdaa (commit)
  discards  3b154a472ffac9cea9c09221ece6af9e77b31625 (commit)
  discards  4fa96e4172912d0b76468717cc3571bed32dd2cd (commit)
  discards  7c03920f78b234c426fdb1307a8035b268d21562 (commit)
  discards  668178b2c763a59e4651dabd10ee38fdddc37d2a (commit)
  discards  b82374f54619bb0d461d91ab5a40365992548976 (commit)
  discards  9b80994f1e27a03ac3bf3dadfbebf1f7837deb92 (commit)
  discards  a7e8faba7c73d1912025d17f01aa3a9a757d832f (commit)
  discards  36cafe4607fda38a06212cbdb7de1723d1da6f57 (commit)
  discards  39b5a3293ce43e0a2d1d79633d99bd88e33801e6 (commit)
  discards  f3008ba4857500b99ba46752a25a351b6b4777b8 (commit)
  discards  92e6b6a1fe3fd7885440b6980377af3ea3214374 (commit)
  discards  284f852a6a591eebee8ad7771a6bb9a2c23d6894 (commit)
  discards  c0ee22e97e7faba76eb25f400bdb3e4c90ca4f40 (commit)
  discards  b5bf6ca0277ca19092a95363f6d941f388aebb9a (commit)
  discards  db7f01b90cfe91e8983a96110a63d4fa2c38c598 (commit)
  discards  71e35171076ebf86e6c9317cf02fbbb278e9838f (commit)
  discards  c96847a6874989b24231a314760776becb458c59 (commit)
       via  b126c46b967e111bece3f8798f1fcc0f550bf692 (commit)
       via  927f199f5b4c929e2e6af9f3fefcff1357c1a9b7 (commit)
       via  499055a7be510a935a9e0aa0035cb113e300d221 (commit)
       via  889ef3796e2432eb0ea30ccc81d7e7099987cdfc (commit)
       via  1b1b855dc118d306eb6c4e55c8f34bc705e51fd9 (commit)
       via  754ed97cedaa9d4fa4ba49b4483ce47258e71533 (commit)
       via  40e6daa4eced95f1cb2d0c3d5bdafe82da0bcdff (commit)
       via  197a244755f95dd4740ae50ce56c323cae77d85e (commit)
       via  d23377272def84730a2adbd4e5a284c67cf25838 (commit)
       via  dad8a21166e083121eb485a77b873f3ddeab42a6 (commit)
       via  17b829498d92873084d1d5d2f7621aa798cf0782 (commit)
       via  5643e7d10c0f5494a08673795a6074dc0c7f214f (commit)
       via  149348747db59898209d195c5b65f0af9e3f5ee6 (commit)
       via  41abc5022f5822168de9e1561034ccc02dc888c2 (commit)
       via  23e76c3f554cd9259c4cfb822f1b3d5195f61b59 (commit)
       via  2da920f7bbb70cd320ec8717e1f52f0b3a9ed3f1 (commit)
       via  6cda6683baa0b6a2e7ec84397ab5efb7c10fa49e (commit)
       via  2d1853543c2b3ae07d7443563ed9177a0ae44466 (commit)
       via  016807462b453627191e61bedb335342b85479a6 (commit)
       via  b2f26fb1659f4956ecdb39a858ff5a921f7c6b27 (commit)
       via  770fc7a0562c805c6aee0b368fa2c903356679af (commit)
       via  3d27f67c018ad861ab1cc1873a2479697621439b (commit)
       via  5fbc877b5b1ba2d02f13ffd1cec88c235efc73ac (commit)
       via  a2b322373dfdf31d72238a6030786414b40fe2bc (commit)
       via  16b2d9546251585f556a320ba72622184cd47645 (commit)
       via  8ee06c018224e3bc10097fbad49c1dffd001ff40 (commit)
       via  26ef109cfd214b6cdb72247ed8191d888ebea4ad (commit)
       via  2d09254e64c89a90cabde961da769d849eae44c9 (commit)
       via  c4c20af4f698687016c5e2eb8889e7f3c603e2b2 (commit)
       via  c23ae0b8f972073ffde6990ce2ae2497b101bb96 (commit)
       via  b55417f4656d9000fbb9fdde34ff0c3c5d0bd378 (commit)
       via  734a7aa17709f5e86b4d213a32de374ddd286d6e (commit)
       via  7cc409a26a8c92de1eeb9f03661848f4c32cf628 (commit)
       via  d154b8bcd46ab7db6bf23399783297f80af1a21f (commit)
       via  c771602adbe1975050ea1cbd23255ef555ea0562 (commit)
       via  02c275e3d25d04da6cfb72275d4c15b9174c5763 (commit)
       via  b41143e17de2efb94bfbcc00374f9e7d555828e5 (commit)
       via  c55666b4391b55d2451cc05d5fde30b528a29c1d (commit)
       via  5bee0f1be77fa166678cdce20fd514302a8b6d20 (commit)
       via  b442a2c3a00ce18b8c0ec549943b24175f61eb24 (commit)
       via  e16265ff92cc2a9822a1ada6829f2fbf45adb1dc (commit)
       via  a933249b1f9a8036b9e9e6f4ca704e862ce2faf9 (commit)
       via  2f29cec422c253be15f2eef04067d1d4f5dfbfaf (commit)
       via  5aa148e4cbf9f25d8a1a33d71c029abe3a7d9f6c (commit)
       via  0e8baff8e5a7752131364f177906d70ee92934f0 (commit)
       via  0c4d80b4815ec4698a37846243ac1994f4d461bf (commit)
       via  7353e382d81309bf17cc4addd99ef6e52df49150 (commit)
       via  10853ff1dc86eb6f331f4c7b175d1cb0308b19d0 (commit)
       via  4917f7eef3ad12d18fe0757ffda9de60ba556078 (commit)
       via  e55999758aa986a1f3e55ad3e741e3d591e3b38a (commit)
       via  19d4501df9cf271fed4f30f8a24e786d4add9552 (commit)
       via  6f0258cb652b897a1c2e50197a59c7e8c117f91b (commit)
       via  b01b13936c8ef44b9eb3bc1f6a85edc4c6610888 (commit)
       via  e6e0cb74ef4c2fad6b021adbf9cfb28e1b90372a (commit)
       via  aaff5eec7e98db292460ab53f47194a9e762798d (commit)
       via  b74c156c02cac7fb90ea19bc7a5de78457987a85 (commit)
       via  78762a4af473e619e3d2b4c545f544ab887d5b6b (commit)
       via  7a6238d05b50241a569ca445dfa618c3cd3a638c (commit)
       via  a91d830489296a37cc62b9cedff6072b88a8e9fe (commit)
       via  a4c8dde8904ab79f98b6450b1b8deb4c4c32fa7f (commit)
       via  d3184353b6f0f57269d312135c4073c3ebeea74a (commit)
       via  405f66c46796dbbc453d77ddd8472899c7e0359e (commit)
       via  b5ae236fa445289bccdfcb131df21dc1f7512567 (commit)
       via  a6b1ebe618d1e0e0a01cbeecd11c227469eb7ce9 (commit)
       via  100be925a50e9bc2634749aef30454ef91892fae (commit)
       via  f34f21507d436eccdc711811486bdb2a3fff0fd7 (commit)
       via  499e1aa537ff95059f94e3578b46bad03476f81d (commit)
       via  9ebb53df62142e78f45f2038d1abd6cc50140cf3 (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)
       via  f039214ffb9514ec16feb28d1f2471b1e1325a0e (commit)
       via  9f206662f66c7097aff7ef70925f409825a75bdb (commit)
       via  b55209d9a23dfc4e2f563a0b6bdd674f18d908d5 (commit)
       via  c7c855256383b1c3fd1e34704e19e462c603f25b (commit)
       via  271c6e6cca0e1a275fc9300f004cd51dc1b5433d (commit)
       via  d0dde44e0059b3fbfd55efaf87116ee382d775b4 (commit)
      from  8a08c1b0d1feef7543005325d453a9efdcb4b7dc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit b126c46b967e111bece3f8798f1fcc0f550bf692
Author: Tom Tromey <tromey@redhat.com>
Date:   Thu May 16 14:43:34 2013 -0600

    fix init_cutu_and_read_dies

commit 927f199f5b4c929e2e6af9f3fefcff1357c1a9b7
Author: Tom Tromey <tromey@redhat.com>
Date:   Thu May 16 14:42:15 2013 -0600

    fix dwarf_decode_line_header

commit 499055a7be510a935a9e0aa0035cb113e300d221
Author: Tom Tromey <tromey@redhat.com>
Date:   Thu May 9 11:44:45 2013 -0600

    introduce scoped cleanups
    
    This adds scoped cleanups to gdb.  A scoped cleanup is a more
    efficient, and checkable, alternative to the common idiom:
    
        cleanup = make_cleanup (null_cleanup, NULL);
        ...
        do_cleanups (cleanup);
    
    ... where the cleanup is always run when exiting the scope.
    
    The efficiency comes from stack allocating the scoped cleanup.  This
    is probably minor.  However, I've noticed myself sometimes avoiding
    null cleanups on this basis, and it is nice to erase that bias.
    
    The checking comes from using a GCC extension when available.  This
    check ensures that the scoped cleanup was either run or discarded when
    the scope exits.

commit 889ef3796e2432eb0ea30ccc81d7e7099987cdfc
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed May 8 14:57:11 2013 -0600

    fix up xml-support.c
    
    xml-support.c has a function that returns a cleanup via an out parameter.
    
    This changes this function to be a normal cleanup constructor --
    returning the cleanup directly and returning the other result via an
    out parameter.
    
    This is sort of a hack, but it lets the checker work here.
    
    I also noticed that gdb_xml_create_parser_and_cleanup is not really
    needed, so I removed it.
    
    	* xml-support.c (gdb_xml_create_parser_and_cleanup_1): Return
    	a cleanup.  Remove 'old_chain' argument.  Add 'parser_result'
    	argument.
    	(gdb_xml_create_parser_and_cleanup): Remove.
    	(gdb_xml_parse_quick): Use gdb_xml_create_parser_and_cleanup_1.
    	(xml_process_xincludes): Update.
    	* xml-support.h (gdb_xml_create_parser_and_cleanup): Don't
    	declare.

commit 1b1b855dc118d306eb6c4e55c8f34bc705e51fd9
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed May 8 14:52:26 2013 -0600

    fix compile_rx_or_error
    
    compile_rx_or_error looks like a constructor, but it can return NULL.
    This patch changes it to remove the NULL return, making it work
    like any other cleanup constructor.
    
    This is a stylistic patch but I think it is also better for code to
    follow the normal conventions.
    
    	* probe.c (collect_probes): Check arguments for NULL before
    	calling compile_rx_or_error.
    	* utils.c (compile_rx_or_error): Require 'rx' to be non-NULL.
    	Remove NULL return.

commit 754ed97cedaa9d4fa4ba49b4483ce47258e71533
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue May 7 11:57:54 2013 -0600

    some fixes to infrun.c
    
    This fixes some of the problems in infrun.c that the checker reported.
    I filed the remaining problems as bugs.
    
    This patch is purely stylistic.
    
    	* infrun.c (handle_vfork_child_exec_or_exit)
    	(fetch_inferior_event, adjust_pc_after_break): Introduce
    	an outer null cleanup.

commit 40e6daa4eced95f1cb2d0c3d5bdafe82da0bcdff
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue May 7 11:36:46 2013 -0600

    fix breakpoint_1
    
    This is a stylistic change to make breakpoint_1 analyzable.
    
    The issue here is maybe fixable in the analyzer with some work.
    
    	* breakpoint.c (breakpoint_1): Introduce an outer null cleanup.

commit 197a244755f95dd4740ae50ce56c323cae77d85e
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue May 7 11:34:59 2013 -0600

    introduce dangling_cleanup attribute and change source to use it
    
    Some functions leak cleanups on purpose.  However, these functions
    aren't "constructors" in the cleanup-checker sense, as they do not
    return the cleanup.
    
    This patch adds an attribute that can be used to mark these functions.
    This avoids a bunch of false reports from the checker.
    
    This patch is really a huge hack.  It is basically giving up on
    cleanly checking the use of cleanups.  You can see this most easily by
    noticing that I elected not to have this property propagate through
    the call chain.
    
    Still, I figured I'd see what people thought of this patch.  Without
    it the checker is harder to use, as you must know which functions are
    ignorable.
    
    Maybe some of these are fixable with a bit more thought.
    
    	* ada-lang.c (old_renaming_is_invisible): Use DANGLING_CLEANUP.
    	* breakpoint.c (breakpoint_re_set_default): Use DANGLING_CLEANUP.
    	* c-exp.y (operator_stoken): Use DANGLING_CLEANUP.
    	* coffread.c (coff_locate_sections): Use DANGLING_CLEANUP.
    	* contrib/cleanup_check.py (leaks_cleanup): New global.
    	(note_dangling_cleanup, leaves_dangling_cleanup): New functions.
    	(CleanupChecker.compute_master): Add comment.  Check
    	leaves_dangling_cleanup.
    	(CleanupChecker.check_cleanups): Don't mention special constructors
    	to the user.
    	(register_attributes): New function.  Register it with gcc.
    	* defs.h (DANGLING_CLEANUP): New define.
    	* dwarf2read.c (read_cutu_die_from_dwo, handle_DW_AT_stmt_list)
    	(setup_type_unit_groups, dwarf2_add_field, dwarf2_add_typedef)
    	(dwarf2_add_member_fn, psymtab_include_file_name)
    	(dwarf_decode_lines): Use DANGLING_CLEANUP.
    	* linux-nat.c (linux_child_pid_to_exec_file): Use DANGLING_CLEANUP.
    	* python/py-prettyprint.c (push_dummy_python_frame): Use
    	DANGLING_CLEANUP.
    	* stabsread.c (read_member_functions, read_struct_fields)
    	(read_baseclasses): Use DANGLING_CLEANUP.
    	* utils.h (gdb_bfd_errmsg): Use DANGLING_CLEANUP.

commit d23377272def84730a2adbd4e5a284c67cf25838
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue May 7 10:55:56 2013 -0600

    fix mi-cmd-var.c
    
    This is a stylistic change in mi-cmd-var.c that adds outer cleanups
    where needed by the checker.
    
    	* mi/mi-cmd-var.c (mi_cmd_var_list_children): Add an outer
    	null cleanup.
    	(mi_cmd_var_update, varobj_update_one): Likewise.

commit dad8a21166e083121eb485a77b873f3ddeab42a6
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue May 7 10:54:48 2013 -0600

    fix cli-script.c
    
    read_command_lines_1 had some (IMNSHO) spaghetti-ish code for cleanup
    handling.  This makes the code much simpler to understand, by
    introducing an outer cleanup.
    
    This is another case where a stylistic change for the checker is also
    nice for the reader.
    
    	* cli/cli-script.c (read_command_lines_1): Use a null cleanup
    	for 'old_chain'.  Do not check 'head' before processing
    	cleanups.

commit 17b829498d92873084d1d5d2f7621aa798cf0782
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue May 7 09:23:12 2013 -0600

    fix mi-cmd-stack.c
    
    mi-cmd-stack.d had a conditional cleanup, "cleanup_tuple" that
    confused the checker.  However, there was no need for this, since it
    was only used via do_cleanups at the end of the function, just before
    another call to do_cleanups.
    
    So, while this is a stylistic patch for the checker, I also consider
    it a generic improvement for readers of the code.
    
    	* mi/mi-cmd-stack.c (list_arg_or_local): Remove
    	"cleanup_tuple".

commit 5643e7d10c0f5494a08673795a6074dc0c7f214f
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue May 7 09:03:52 2013 -0600

    fix dbxread.c
    
    This is a stylistic change to make some code in dbxread.c analyzable
    by the checker.
    
    	* dbxread.c (dbx_read_symtab): Declare 'back_to' in a more
    	inner scope.  Unconditionally call do_cleanups.

commit 149348747db59898209d195c5b65f0af9e3f5ee6
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue May 7 09:01:51 2013 -0600

    fix source.c
    
    find_and_open_source can leak a cleanup.
    
    	* source.c (find_and_open_source): Call do_cleanups.

commit 41abc5022f5822168de9e1561034ccc02dc888c2
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue May 7 08:53:19 2013 -0600

    fix linux-thread-db.c
    
    This is a stylistic change to make it so the checker can analyze a
    function in linux-thread-db.c.
    
    	* linux-thread-db.c (thread_db_load_search): Unconditionally
    	call do_cleanups.

commit 23e76c3f554cd9259c4cfb822f1b3d5195f61b59
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon May 6 13:47:54 2013 -0600

    fix in solib-aix.c
    
    solib_aix_bfd_open has an early "return" that doesn't run cleanups.
    This fixes the problem by dropping the null_cleanup and using a later
    cleanup as the master cleanup for the function.
    
    	* solib-aix.c (solib_aix_bfd_open): Don't use a null cleanup
    	for 'cleanup'; instead use a later one.

commit 2da920f7bbb70cd320ec8717e1f52f0b3a9ed3f1
Author: Tom Tromey <tromey@redhat.com>
Date:   Thu Mar 7 07:43:40 2013 -0700

    use explicit returns to avoid checker confusion
    
    The checker does not understand the idiom
    
    if (except.reason < 0) {
       do_cleanups (whatever);
       GDB_PY_HANDLE_EXCEPTION (except);
    }
    
    because it doesn't realize that the nested 'if' actually has the same
    condition.
    
    This fixes instances of this to be more explicit.
    
    	* python/py-breakpoint.c (bppy_get_commands): Use
    	explicit, unconditional return.
    	* python/py-frame.c (frapy_read_var): Likewise.
    	* python/python.c (gdbpy_decode_line): Likewise.

commit 6cda6683baa0b6a2e7ec84397ab5efb7c10fa49e
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:43:27 2013 -0700

    fix cp-namespace.c
    
    cp_lookup_symbol_imports_or_template could return without
    running cleanups.
    
    	* cp-namespace.c (cp_lookup_symbol_imports_or_template): Call
    	do_cleanups on all return paths.

commit 2d1853543c2b3ae07d7443563ed9177a0ae44466
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:36:21 2013 -0700

    fix top.c
    
    execute_command can leak a cleanup along one return path.
    
    	* top.c (execute_command): Discard 'cleanup_if_error' cleanups.

commit 016807462b453627191e61bedb335342b85479a6
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:33:18 2013 -0700

    fix one bug in stabsread.c
    
    Some code in stabsread.c can return without running cleanups.
    
    	* stabsread.c (read_struct_type): Call do_cleanups along
    	all return paths.

commit b2f26fb1659f4956ecdb39a858ff5a921f7c6b27
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:31:14 2013 -0700

    fix mipsread.c
    
    Some code in mipsread.c could leak cleanups along some return paths.
    
    	* mipsread.c (read_alphacoff_dynamic_symtab): Call do_cleanups
    	along all return paths.

commit 770fc7a0562c805c6aee0b368fa2c903356679af
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:22:40 2013 -0700

    fix one bug in symfile.c
    
    find_separate_debug_file could leak a cleanup along some return paths.
    
    	* symfile.c (find_separate_debug_file): Call do_cleanups
    	along all return paths.

commit 3d27f67c018ad861ab1cc1873a2479697621439b
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:21:16 2013 -0700

    fix symtab.c
    
    search_symbols had some bad code resulting in a cleanup being both
    discarded and run.
    
    	* symtab.c (search_symbols): Introduce a null cleanup for
    	'retval_chain'.

commit 5fbc877b5b1ba2d02f13ffd1cec88c235efc73ac
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:13:35 2013 -0700

    fix py-value.c
    
    Some code in py-value.c could exit a loop without running some
    cleanups made in the loop.
    
    	* python/py-value.c (valpy_binop): Call do_cleanups before
    	exiting loop.

commit a2b322373dfdf31d72238a6030786414b40fe2bc
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:11:25 2013 -0700

    fix py-prettyprint.c
    
    print_children, in py-prettyprint.c, could call do_cleanups twice on
    the same cleanup.
    
    	* python/py-prettyprint.c (print_children): Remove extra
    	do_cleanups call.

commit 16b2d9546251585f556a320ba72622184cd47645
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:10:29 2013 -0700

    fix py-frame.c
    
    A couple return paths in frapy_read_var were missing do_cleanups calls.
    
    	* python/py-frame.c (frapy_read_var): Call do_cleanups along
    	all return paths.

commit 8ee06c018224e3bc10097fbad49c1dffd001ff40
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:08:39 2013 -0700

    fix py-breakpoint.c
    
    One return path in bppy_get_commands was missing a do_cleanups call.
    
    	* python/py-breakpoint.c (bppy_get_commands): Call do_cleanups
    	along all return paths.

commit 26ef109cfd214b6cdb72247ed8191d888ebea4ad
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:05:33 2013 -0700

    simplify cli-logging.c for analysis
    
    This is another stylistic patch.  It changes cli-logging.c to be
    analyzable by the checker, again following the method of adding an
    outer cleanup and unconditionally calling do_cleanups.
    
    	* cli/cli-logging.c (set_logging_redirect): Unconditionally
    	call do_cleanups.

commit 2d09254e64c89a90cabde961da769d849eae44c9
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:04:14 2013 -0700

    fix varobj.c
    
    c_value_of_root is missing a call to do_cleanups at one return.
    This fixes the problem by removing that return and letting control
    fall through.
    
    	* varobj.c (c_value_of_root): Call do_cleanups along all
    	return paths.

commit c4c20af4f698687016c5e2eb8889e7f3c603e2b2
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Mar 5 14:00:20 2013 -0700

    make a cleanup unconditionally in tracepoint.c
    
    This is another cosmetic patch.  It introduces an "outer" cleanup in
    trace_dump_command and arranges to unconditionally call do_cleanups.
    This lets the checker analyze the function.
    
    	* tracepoint.c (trace_dump_command): Unconditionally call
    	do_cleanups.

commit c23ae0b8f972073ffde6990ce2ae2497b101bb96
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 14:08:50 2013 -0700

    fix two buglets in breakpoint.c
    
    First, output_thread_groups leaks a cleanup along one return path.
    
    Second, parse_cmd_to_aexpr could return without running its cleanups,
    if there was an exception in a TRY_CATCH.
    
    	* breakpoint.c (output_thread_groups, parse_cmd_to_aexpr): Call
    	do_cleanups earlier.

commit b55417f4656d9000fbb9fdde34ff0c3c5d0bd378
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 14:07:24 2013 -0700

    fix cleanup handling in macho_symfile_read
    
    macho_symfile_read leaks a cleanup by assigning to 'back_to' too late.
    
    	* machoread.c (macho_symfile_read): Assign first cleanup to
    	'back_to'.

commit 734a7aa17709f5e86b4d213a32de374ddd286d6e
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 14:05:14 2013 -0700

    fix cleanup handling in m32r_load
    
    m32r_load is missing a call to do_cleanups along one return path.
    
    	* m32r-rom.c (m32r_load): Call do_cleanups at all returns.

commit 7cc409a26a8c92de1eeb9f03661848f4c32cf628
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 13:51:53 2013 -0700

    fix list_available_thread_groups
    
    list_available_thread_groups, in mi-main.c, leaks a cleanup.
    This changes it to call do_cleanups.
    
    	* mi/mi-main.c (list_available_thread_groups): Call do_cleanups.

commit d154b8bcd46ab7db6bf23399783297f80af1a21f
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 13:50:24 2013 -0700

    cleanup fixes for inf-ptrace.c
    
    This is one of the stylistic patches.  The code here in inf-ptrace.c
    is not incorrect, but it is in a style that the cleanup checker cannot
    handle.  This patch changes it to a simpler style, following the usual
    method of introducing an unconditional "outer" cleanup.
    
    	* inf-ptrace.c (inf_ptrace_create_inferior): Unconditionally
    	call discard_cleanups.
    	(inf_ptrace_attach): Likewise.

commit c771602adbe1975050ea1cbd23255ef555ea0562
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 13:49:52 2013 -0700

    cleanup fixes for remote-mips.c
    
    remote-mips.c has a few 'return's where cleanups are not run.
    
    	* remote-mips.c (mips_exit_debug): Call do_cleanups on all
    	return paths.
    	(mips_initialize): Likewise.
    	(common_open): Call do_cleanups.

commit 02c275e3d25d04da6cfb72275d4c15b9174c5763
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 13:40:05 2013 -0700

    fix up cleanup handling in internal_vproblem
    
    internal_vproblem can return, so this introduces proper cleanup
    handling there.  Otherwise it may make a cleanup that is leaked.
    
    	* utils.c (internal_vproblem): Call do_cleanups.

commit b41143e17de2efb94bfbcc00374f9e7d555828e5
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 13:33:48 2013 -0700

    fix linespec bug noticed by the checker
    
    This fixes a linespec bug noticed by the cleanup checker.
    
    find_linespec_symbols did this:
    
      cleanup = demangle_for_lookup (name, state->language->la_language,
    				 &lookup_name);
    [...]
          cleanup = make_cleanup (xfree, canon);
    
    But this is wrong, as it makes a subsequent call to do_cleanups not
    clean up all the local state.
    
    	* linespec.c (find_linespec_symbols): Don't reassign to 'cleanup'.

commit c55666b4391b55d2451cc05d5fde30b528a29c1d
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 13:32:16 2013 -0700

    remove erroneous return from setup_user_args
    
    This fixes setup_user_args to drop a useless and confusing "return".
    
    	* cli/cli-script.c (setup_user_args): Don't return after error.

commit 5bee0f1be77fa166678cdce20fd514302a8b6d20
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 12:04:43 2013 -0700

    fix cleanups in som_symtab_read
    
    This fixes som_symtab_read not to leak cleanups.
    
    	* somread.c (som_symtab_read): Call do_cleanups.

commit b442a2c3a00ce18b8c0ec549943b24175f61eb24
Author: Tom Tromey <tromey@redhat.com>
Date:   Thu May 9 10:30:37 2013 -0600

    fix print_command_1
    
    This is a stylistic patch to make it so the checker can analyze
    print_command_1.  This amounts to installing an outer cleanup and
    unconditionally invoking it.
    
    	* printcmd.c (print_command_1): Unconditionally call do_cleanups.

commit e16265ff92cc2a9822a1ada6829f2fbf45adb1dc
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 12:02:33 2013 -0700

    some cleanup checker fixes
    
    Fix some bugs pointed out by the cleanup checker.  This one just fixes
    some simple CLI reports, where CLI commands know that their caller
    will do cleanups.  This an older style with few instances, so it is
    simpler to fix them up than to teach the checker about it.
    
    	* cli/cli-cmds.c (cd_command, alias_command): Call do_cleanups.
    	* cli/cli-dump.c (restore_binary_file): Call do_cleanups.
    	* interps.c (interpreter_exec_cmd): Call do_cleanups.
    	* source.c (show_substitute_path_command): Call do_cleanups.
    	(unset_substitute_path_command, set_substitute_path_command):
    	Likewise.
    	* symfile.c (load_command): Call do_cleanups.

commit a933249b1f9a8036b9e9e6f4ca704e862ce2faf9
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 11:31:47 2013 -0700

    add the cleanup checker
    
    This patch adds the cleanup checker.  This is a Python plugin for GCC
    that checks some rules for cleanup handling.  In particular it tries
    to notice when cleanups are left dangling at the end of a function.
    
    It does this by applying a few simple rules.
    
    First, it understands that a function whose return type is "struct
    cleanup *" is a "cleanup constructor".  Such functions are expected to
    return the first cleanup that they make.
    
    Then, it has the notion of a "master cleanup".  The checker keeps a
    stack of all cleanups made in a basic block.  The first element is
    pushed on the stack is the master cleanup -- the one that must later
    be passed to either do_cleanups or discard_cleanups.
    
    It is not perfect -- some constructs confuse it.  So, part of this
    series rewrites some code in gdb so that it is analyzable.  I'll note
    these spots and you can decide whether or not this is a good idea.
    
    This patch also changes gcc-with-excheck to give it options.  Now you
    must use either -Xc (for the cleanup checker) or -Xx (for the
    exception checker).
    
    	* contrib/cleanup_check.py: New file.
    	* contrib/gcc-with-excheck: Add option parsing.

commit 2f29cec422c253be15f2eef04067d1d4f5dfbfaf
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Mar 4 11:20:36 2013 -0700

    add README.archer

commit 5aa148e4cbf9f25d8a1a33d71c029abe3a7d9f6c
Author: Cary Coutant <ccoutant@google.com>
Date:   Thu May 16 16:34:50 2013 +0000

    bfd/
    	* ecoff.c (ecoff_link_check_archive_element): Add initializers for
    	external_ext_size and esize.

commit 0e8baff8e5a7752131364f177906d70ee92934f0
Author: Tristan Gingold <gingold@adacore.com>
Date:   Thu May 16 15:41:40 2013 +0000

    bfd/
    2013-05-16  Tristan Gingold  <gingold@adacore.com>
    
    	* coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
    	* coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
    
    
    gas/
    2013-05-16  Tristan Gingold  <gingold@adacore.com>
    
    	* config/tc-ppc.c (ppc_is_toc_sym): Symbols of class XMC_TC
    	are also TOC symbols.

commit 0c4d80b4815ec4698a37846243ac1994f4d461bf
Author: Luis Machado <luisgpm@br.ibm.com>
Date:   Thu May 16 10:31:49 2013 +0000

    	* linux-low.c: Move definition checks upwards for PT_TEXT_ADDR,
    	PT_DATA_ADDR and PT_TEXT_END_ADDR.  Update comments.
    	(linux_read_offsets): Remove PT_TEXT_ADDR, PT_DATA_ADDR and
    	PT_TEXT_END_ADDR guards.  Update comments.
    	(linux_target_op) <read_offsets>: Conditionally define to
    	linux_read_offsets if the target is UCLIBC and if it defines
    	PT_TEXT_ADDR, PT_DATA_ADDR and PT_TEXT_END_ADDR.

commit 7353e382d81309bf17cc4addd99ef6e52df49150
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 16 10:13:33 2013 +0000

    gdb.ada/complete.exp: Fix FIXME.
    
    2013-05-16  Pedro Alves  <palves@redhat.com>
    
    	* gdb.ada/complete.exp (test_gdb_no_completion): Fix typo in
    	comment.  Use gdb_test_no_output.

commit 10853ff1dc86eb6f331f4c7b175d1cb0308b19d0
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Thu May 16 07:39:42 2013 +0000

    [dwarf]: Add DW_LANG_UPC support in set_cu_language.
    
    gdb/ChangeLog:
    
            * dwarf2read.c (set_cu_language): Add DW_LANG_UPC handling.

commit 4917f7eef3ad12d18fe0757ffda9de60ba556078
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Thu May 16 07:02:42 2013 +0000

    Missing do_cleanups in ada_make_symbol_completion_list.
    
    This results in an internal-warning when trying the completion
    when in Ada mode:
    
        (gdb) b simple<TAB>
        /[...]/cleanups.c:265: internal-warning: restore_my_cleanups has found a stale cleanup
        A problem internal to GDB has been detected,
        further debugging may prove unreliable.
        Quit this debugging session? (y or n)
    
    gdb/ChangeLog:
    
            * ada-lang.c (ada_make_symbol_completion_list): Make sure
            all cleanups are done before returning from this function.
    
    gdb/testsuite/ChangeLog:
    
            * gdb.ada/complete.exp: Add test verifying completion using
            the "tab" key.

commit e55999758aa986a1f3e55ad3e741e3d591e3b38a
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Thu May 16 00:00:06 2013 +0000

    daily update

commit 19d4501df9cf271fed4f30f8a24e786d4add9552
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Thu May 16 00:00:02 2013 +0000

    *** empty log message ***

commit 6f0258cb652b897a1c2e50197a59c7e8c117f91b
Author: Keith Seitz <keiths@redhat.com>
Date:   Wed May 15 21:21:04 2013 +0000

    	* gdb.base/filesym.exp: New completer test.
    	* gdb.base/filesym.c: New file.

commit b01b13936c8ef44b9eb3bc1f6a85edc4c6610888
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Wed May 15 17:49:43 2013 +0000

    sim: arm: add support for MOVW and MOVT instructions
    
    From: Jayant R. Sonar <Jayant.Sonar@kpitcummins.com>
    
    This patch adds simulator support for handling the armv7 instructions
    'movw (immediate)' and 'movt'.
    
    Compiler frequently use these instructions to load the 32bit addresses of
    global variables, string pointers etc. into the general registers.
    
    In absence of support of these instructions:
    1. GDB run simulator fails to print even simple "hello world" string
       on console.
    2. Loading of global variable addresses into the registers fail causing
       arithmetic operation failures.
    
    Patch has been regression tested for arm-none-eabi (-march=armv7-a).

commit e6e0cb74ef4c2fad6b021adbf9cfb28e1b90372a
Author: Pedro Alves <palves@redhat.com>
Date:   Wed May 15 17:33:04 2013 +0000

    Remove my name from a couple tests.
    
    Tested on x86_64 Fedora 17.
    
    gdb/testsuite/
    2013-05-15  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/fixsection.c: Remove attribution.
    	* gdb.base/watch-read.exp: Ditto.

commit aaff5eec7e98db292460ab53f47194a9e762798d
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Wed May 15 12:49:05 2013 +0000

    Remove forward enum declaration in utils.h.
    
    These forward declarations are a GNU extension, and they trigger
    a build warning when the compiler does not support it.
    
    gdb/ChangeLog:
    
            * utils.h: #include "exceptions.h".
            (enum errors): Remove partial declaration.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                                     |   19 +
 bfd/coff-rs6000.c                                 |    4 +-
 bfd/coff64-rs6000.c                               |    3 +
 bfd/coffcode.h                                    |    6 +
 bfd/ecoff.c                                       |    4 +-
 bfd/elf64-aarch64.c                               |    1 +
 bfd/version.h                                     |    2 +-
 gdb/ChangeLog                                     |  239 ++++
 gdb/Makefile.in                                   |    9 +-
 gdb/NEWS                                          |    4 +
 gdb/ada-lang.c                                    |    4 +-
 gdb/cleanups.c                                    |    5 +-
 gdb/common/filestuff.c                            |   27 +
 gdb/common/filestuff.h                            |   10 +
 gdb/configure                                     |   10 +-
 gdb/configure.ac                                  |   10 +-
 gdb/contrib/cleanup_check.py                      |  197 ++--
 gdb/corelow.c                                     |   12 +
 gdb/darwin-nat.c                                  |    7 +
 gdb/data-directory/Makefile.in                    |    4 +
 gdb/doc/ChangeLog                                 |   22 +
 gdb/doc/gdb.texinfo                               |  862 ++++++++++++-
 gdb/dwarf2read.c                                  |   40 +-
 gdb/eval.c                                        |   14 +-
 gdb/gcore.c                                       |    2 +-
 gdb/gcore.h                                       |    2 +-
 gdb/gdbarch.c                                     |   33 +
 gdb/gdbarch.h                                     |    9 +
 gdb/gdbarch.sh                                    |    4 +
 gdb/gdbserver/ChangeLog                           |   10 +
 gdb/gdbserver/linux-low.c                         |   57 +-
 gdb/go32-nat.c                                    |    2 +-
 gdb/inf-ttrace.c                                  |   11 +
 gdb/inferior.h                                    |    2 +-
 gdb/inflow.c                                      |    2 +-
 gdb/linespec.c                                    |    4 +
 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/record-full.c                                 |    4 +-
 gdb/record.c                                      |   54 +-
 gdb/remote.c                                      |    6 +-
 gdb/rs6000-aix-tdep.c                             |  312 +++++-
 gdb/{sparc-sol-thread.c => rs6000-aix-tdep.h}     |   35 +-
 gdb/rs6000-lynx178-tdep.c                         |   14 +-
 gdb/rs6000-nat.c                                  |  210 +---
 gdb/sol-thread.c                                  |   24 +
 gdb/solib-aix.c                                   |   26 +-
 gdb/stack.c                                       |  121 ++-
 gdb/symfile.c                                     |   79 +-
 gdb/symfile.h                                     |    6 +-
 gdb/target.c                                      |   12 +-
 gdb/target.h                                      |    9 +-
 gdb/testsuite/ChangeLog                           |   46 +
 gdb/testsuite/gdb.ada/complete.exp                |   24 +-
 gdb/testsuite/gdb.base/default.exp                |    2 +
 gdb/testsuite/gdb.base/exprs.c                    |    1 +
 gdb/testsuite/gdb.base/exprs.exp                  |    4 +
 gdb/{gcore.h => testsuite/gdb.base/filesym.c}     |   25 +-
 gdb/testsuite/gdb.base/filesym.exp                |   50 +
 gdb/testsuite/gdb.base/fixsection.c               |    4 +-
 gdb/testsuite/gdb.base/setshow.exp                |    2 +
 gdb/testsuite/gdb.base/watch-read.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/{gcore.h => testsuite/gdb.trace/qtro.c}       |   30 +-
 gdb/testsuite/gdb.trace/qtro.exp                  |  173 +++
 gdb/ui-file.c                                     |    2 +-
 gdb/ui-file.h                                     |    2 +-
 gdb/utils.h                                       |    2 +-
 gdb/value.h                                       |    2 +-
 gdb/version.in                                    |    2 +-
 include/opcode/ChangeLog                          |    9 +
 include/opcode/mips.h                             |   17 +-
 libiberty/ChangeLog                               |    8 +
 libiberty/hashtab.c                               |   13 +-
 opcodes/ChangeLog                                 |   24 +
 opcodes/aarch64-asm.c                             |    1 -
 opcodes/aarch64-opc.c                             |    6 +-
 opcodes/i386-gen.c                                |    2 +-
 opcodes/i386-init.h                               |    2 +-
 opcodes/mips-dis.c                                |   19 +-
 opcodes/mips-opc.c                                |   26 +-
 sim/arm/ChangeLog                                 |    5 +
 sim/arm/armemu.c                                  |   12 +-
 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/testsuite/sim/arm/ChangeLog                   |    5 +
 sim/testsuite/sim/arm/movw-movt.ms                |   53 +
 sim/v850/ChangeLog                                |    8 +
 sim/v850/configure                                |    3 +-
 sim/v850/v850.igen                                |    8 +-
 126 files changed, 6450 insertions(+), 670 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
 rename gdb/{sparc-sol-thread.c => rs6000-aix-tdep.h} (54%)
 copy gdb/{gcore.h => testsuite/gdb.base/filesym.c} (65%)
 create mode 100644 gdb/testsuite/gdb.base/filesym.exp
 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
 copy gdb/{gcore.h => testsuite/gdb.trace/qtro.c} (65%)
 create mode 100644 gdb/testsuite/gdb.trace/qtro.exp
 create mode 100644 sim/testsuite/sim/arm/movw-movt.ms

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e680c3a..e220c63 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,22 @@
+2013-05-16  Cary Coutant  <ccoutant@google.com>
+
+	* ecoff.c (ecoff_link_check_archive_element): Add initializers for
+	external_ext_size and esize.
+
+2013-05-16  Tristan Gingold  <gingold@adacore.com>
+
+	* coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
+	* coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
+
+2013-05-15  Andreas Schwab  <schwab@suse.de>
+
+	* elf64-aarch64.c (elf_backend_default_execstack): Define to 0.
+
+2013-05-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* coffcode.h (styp_to_sec_flags) [RS6000COFF_C]: Add handling
+	of STYP_EXCEPT, STYP_LOADER and STYP_TYPCHK sections.
+
 2013-05-09  Joel Brobecker  <brobecker@adacore.com>
 
 	* bfd.c (_bfd_default_error_handler): Replace use of putc
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index 0945aca..aa61afb 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -1098,7 +1098,6 @@ reloc_howto_type xcoff_howto_table[] =
 	 0xffff,		/* src_mask */
 	 0xffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
-
 };
 
 void
@@ -1146,6 +1145,9 @@ _bfd_xcoff_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
       return &xcoff_howto_table[8];
     case BFD_RELOC_PPC_TOC16:
       return &xcoff_howto_table[3];
+    case BFD_RELOC_16:
+      /* Note that this relocation is only internally used by gas.  */
+      return &xcoff_howto_table[0xc];
     case BFD_RELOC_32:
     case BFD_RELOC_CTOR:
       return &xcoff_howto_table[0];
diff --git a/bfd/coff64-rs6000.c b/bfd/coff64-rs6000.c
index 5f4a502..56a0d25 100644
--- a/bfd/coff64-rs6000.c
+++ b/bfd/coff64-rs6000.c
@@ -1826,6 +1826,9 @@ xcoff64_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
       return &xcoff64_howto_table[8];
     case BFD_RELOC_PPC_TOC16:
       return &xcoff64_howto_table[3];
+    case BFD_RELOC_16:
+      /* Note that this relocation is only internally used by gas.  */
+      return &xcoff64_howto_table[0xc];
     case BFD_RELOC_32:
     case BFD_RELOC_CTOR:
       return &xcoff64_howto_table[0x1c];
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/ecoff.c b/bfd/ecoff.c
index 5add50c..7bfb333 100644
--- a/bfd/ecoff.c
+++ b/bfd/ecoff.c
@@ -3561,9 +3561,9 @@ ecoff_link_check_archive_element (bfd *abfd,
   void (* const swap_ext_in) (bfd *, void *, EXTR *)
     = backend->debug_swap.swap_ext_in;
   HDRR *symhdr;
-  bfd_size_type external_ext_size;
+  bfd_size_type external_ext_size = 0;
   void * external_ext = NULL;
-  bfd_size_type esize;
+  bfd_size_type esize = 0;
   char *ssext = NULL;
   char *ext_ptr;
   char *ext_end;
diff --git a/bfd/elf64-aarch64.c b/bfd/elf64-aarch64.c
index e3cae95..aef472f 100644
--- a/bfd/elf64-aarch64.c
+++ b/bfd/elf64-aarch64.c
@@ -7181,6 +7181,7 @@ const struct elf_size_info elf64_aarch64_size_info =
 #define elf_backend_may_use_rela_p     1
 #define elf_backend_default_use_rela_p 1
 #define elf_backend_got_header_size (GOT_ENTRY_SIZE * 3)
+#define elf_backend_default_execstack  0
 
 #undef  elf_backend_obj_attrs_section
 #define elf_backend_obj_attrs_section		".ARM.attributes"
diff --git a/bfd/version.h b/bfd/version.h
index 4cb9d1f..e01b6f7 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20130509
+#define BFD_VERSION_DATE 20130516
 #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 2d1e3e1..8df3cff 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,242 @@
+2013-05-16  Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2read.c (set_cu_language): Add DW_LANG_UPC handling.
+
+2013-05-16  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_make_symbol_completion_list): Make sure
+	all cleanups are done before returning from this function.
+
+2013-05-15  Joel Brobecker  <brobecker@adacore.com>
+
+	* utils.h: #include "exceptions.h".
+	(enum errors): Remove partial declaration.
+
+2013-05-15  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdbarch.sh (core_xfer_shared_libraries_aix): New method.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* corelow.c (core_xfer_partial): Add TARGET_OBJECT_LIBRARIES_AIX
+	handling.
+
+	* rs6000-aix-tdep.h: New file.
+	* Makefile.in (HFILES_NO_SRCDIR): Add rs6000-aix-tdep.h.
+	* rs6000-aix-tdep.c: Include "rs6000-aix-tdep.h" and
+	"xml-utils.h".
+	(struct field_info, struct ld_info_desc): New types.
+	(ld_info32_desc, ld_info64_desc): New static constants.
+	(struct ld_info): New type.
+	(rs6000_aix_extract_ld_info): New function.
+	(rs6000_aix_shared_library_to_xml): Likewise.
+	(rs6000_aix_ld_info_to_xml): Likewise.
+	(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
+	(rs6000_aix_init_osabi): Add call to
+	set_gdbarch_core_xfer_shared_libraries_aix.
+	* rs6000-nat.c: Add "rs6000-aix-tdep.h" include.
+	Remove "xml-utils.h" include.
+	(LdInfo): Delete typedef.
+	(ARCH64_DECL, LDI_FIELD, LDI_NEXT, LDI_FD, LDI_FILENAME):
+	Delete macros.
+	(rs6000_ptrace_ldinfo): Change return type to gdb_byte *.
+	Adjust code accordingly.
+	(rs6000_core_ldinfo): Delete, folded into
+	rs6000_aix_core_xfer_shared_libraries_aix.
+	(rs6000_xfer_shared_library): Delete.
+	(rs6000_xfer_shared_libraries): Reimplement.
+
+2013-05-15  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record.c (record_goto_cmdlist): New.
+	(cmd_record_goto): Split into this ...
+	(cmd_record_goto_begin): ... this
+	(cmd_record_goto_end): ... and this.
+	(_initialize_record): Change "record goto" to prefix command.
+	Add commands for "record goto begin" and "record goto end".
+	Add an alias for "record goto start" to "record goto begin".
+
+2013-05-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* linespec.c (convert_linespec_to_sals): New comment for
+	SOURCE_FILENAME assignment.
+
+2013-05-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* cleanups.c (restore_my_cleanups): Replace gdb_assert by
+	internal_warning.
+
+2013-05-14  Tom Tromey  <tromey@redhat.com>
+
+	* eval.c (parse_and_eval_long): Make 'exp' const.
+	* value.h (parse_and_eval_long): Update.
+
+2013-05-14  Tom Tromey  <tromey@redhat.com>
+
+	* ui-file.c (gdb_fopen): Make arguments const.
+	* ui-file.h (gdb_fopen): Make arguments const.
+
+2013-05-14  Tom Tromey  <tromey@redhat.com>
+
+	* remote.c (remote_set_trace_notes): Make arguments const.
+	* target.c (update_current_target): Update cast.
+	* target.h (to_set_trace_notes): Make arguments const.
+
+2013-05-14  Tom Tromey  <tromey@redhat.com>
+
+	* go32-nat.c (go32_terminal_info): Make 'args' const.
+	* inferior.h (child_terminal_info): Update.
+	* inflow.c (child_terminal_info): Make 'args' const.
+	* target.c (default_terminal_info): Make 'args' const.
+	(debug_to_terminal_save_ours): Likewise.
+	* target.h (struct target_ops) <to_terminal_info>: Make argument
+	const.
+
+2013-05-13  Tom Tromey  <tromey@redhat.com>
+
+	* gcore.c (create_gcore_bfd): Make 'filename' const.
+	* gcore.h (create_gcore_bfd): Make 'filename' const.
+	* record-full.c (record_full_save): Make 'recfilename' const.
+	* target.c (target_save_record): Make 'filename' const.
+	* target.h (struct target_ops) <to_save_record>: Make 'filename'
+	const.
+	(target_save_record): Likewise.
+
+2013-05-13  Tom Tromey  <tromey@redhat.com>
+
+    	PR gdb/15338:
+	* dwarf2read.c (dwarf2_record_block_ranges): Ensure that the
+	ranges section has been read.
+
+2013-05-13  Tom Tromey  <tromey@redhat.com>
+
+	PR exp/15364:
+	* eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT,
+	STRUCTOP_PTR>: 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  <brobecker@adacore.com>
+
+	* 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  <brobecker@adacore.com>
+	    Tom Tromey  <tromey@redhat.com>
+
+	* 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  <freddie_chopin@op.pl>
+	    Tom Tromey  <tromey@redhat.com>
+
+	PR build/15414:
+	* configure: Rebuild.
+	* configure.ac (build_warnings): Do not use -Wformat-nonliteral
+	with -Wno-format.
+
+2013-05-10  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (_initialize_remote): Fix spelling of
+	qXfer:traceframe-info:read packet in packet config command.
+
+2013-05-10  David Taylor  <dtaylor@emc.com>
+
+	PR remote/15455
+
+	* remote.c (remote_trace_set_readonly_regions): Do not overwrite
+	"QTro" at start of packet.
+
+2013-05-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* 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  <brobecker@adacore.com>
+
+	* solib-aix.c (solib_aix_relocate_section_addresses):
+	Remove FIXME comment.
+
+2013-05-10  Joel Brobecker  <brobecker@adacore.com>
+
+	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  <pmuldoon@redhat.com>
+
+	* 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  <dje@google.com>
+
+	* symfile.c (syms_from_objfile_1): Delete args offsets, num_offsets.
+	All callers updated.
+	(syms_from_objfile): Ditto.  Make static.
+	(symbol_file_add_with_addrs): Renamed from
+	symbol_file_add_with_addrs_or_offsets.  Delete args offsets,
+	num_offsets.  All callers updated.
+	* symfile.h (syms_from_objfile): Delete.
+
+	* symfile.c (decrement_reading_symtab): Add assert.
+	(increment_reading_symtab): Ditto.
+
 2013-05-09  Joel Brobecker  <brobecker@adacore.com>
 
 	* source.c (forward_search_command): Replace call to getc
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 2597ddb..69ec68b 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 \
@@ -818,7 +820,8 @@ amd64-linux-tdep.h linespec.h i387-tdep.h mn10300-tdep.h \
 sparc64-tdep.h monitor.h ppcobsd-tdep.h srec.h solib-pa64.h \
 coff-pe-read.h parser-defs.h gdb_ptrace.h mips-linux-tdep.h \
 m68k-tdep.h spu-tdep.h jv-lang.h environ.h solib-irix.h amd64-tdep.h \
-doublest.h regset.h hppa-tdep.h ppc-linux-tdep.h ppc64-tdep.h rs6000-tdep.h \
+doublest.h regset.h hppa-tdep.h ppc-linux-tdep.h ppc64-tdep.h \
+rs6000-tdep.h rs6000-aix-tdep.h \
 common/gdb_locale.h common/gdb_dirent.h arch-utils.h trad-frame.h gnu-nat.h \
 language.h nbsd-tdep.h solib-svr4.h \
 macroexp.h ui-file.h regcache.h tracepoint.h i386-tdep.h \
@@ -2144,6 +2147,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/ada-lang.c b/gdb/ada-lang.c
index 5823022..19bceb6 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -5842,7 +5842,7 @@ ada_make_symbol_completion_list (const char *text0, const char *word,
   struct block *b, *surrounding_static_block = 0;
   int i;
   struct block_iterator iter;
-  struct cleanup *cleanup = make_cleanup (null_cleanup, NULL);
+  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
 
   gdb_assert (code == TYPE_CODE_UNDEF);
 
@@ -5943,7 +5943,7 @@ ada_make_symbol_completion_list (const char *text0, const char *word,
     }
   }
 
-  do_cleanups (cleanup);
+  do_cleanups (old_chain);
   return completions;
 }
 
diff --git a/gdb/cleanups.c b/gdb/cleanups.c
index 6d6d78c..0f44ae4 100644
--- a/gdb/cleanups.c
+++ b/gdb/cleanups.c
@@ -276,7 +276,10 @@ save_final_cleanups (void)
 static void
 restore_my_cleanups (struct cleanup **pmy_chain, struct cleanup *chain)
 {
-  gdb_assert (*pmy_chain == SENTINEL_CLEANUP);
+  if (*pmy_chain != SENTINEL_CLEANUP)
+    internal_warning (__FILE__, __LINE__,
+		      _("restore_my_cleanups has found a stale cleanup"));
+
   *pmy_chain = chain;
 }
 
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


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-05-16 20:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-16 20:59 [SCM] tromey/cleanup-checker: fix init_cutu_and_read_dies tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).