{"push_id":565627350,"size":21,"distinct_size":21,"ref":"refs/heads/master","head":"54ebc97a0dcfd178839462f9260c91978aaab90a","before":"b10c5c5012c3accfefa3f3847d3eb83a788bdbbf","commits":[{"sha":"8265ef950202a4bf0d3444802ad5d7087b4b185d","author":{"email":"b4953b306061b51f49702b8be9315d1b0a8e0aa9@google.com","name":"Cary Coutant"},"message":"Add extra debugging output for files and descriptors.\n\ngold/\n\t* descriptors.cc (Descriptors::open): Set artificially-low limit for\n\tfile descriptors when debugging enabled. Add debug output.\n\t(Descriptors::release): Add debug output.\n\t(Descriptors::close_some_descriptor): Likewise.\n\t(Descriptors::close_all): Likewise.\n\t* fileread.cc (File_read::lock): Likewise.\n\t(File_read::unlock): Likewise.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/8265ef950202a4bf0d3444802ad5d7087b4b185d"},{"sha":"2cfbf2fece582c29df348104b28677c38a8301f4","author":{"email":"b4953b306061b51f49702b8be9315d1b0a8e0aa9@google.com","name":"Cary Coutant"},"message":"Fix a file descriptor leak in gold.\n\nWhen an LTO linker plugin claims an external member of a thin archive, gold\ndoes not properly unlock the file and make its file descriptor available for\nreuse. This patch fixes the problem by modifying Archive::include_member to\nunlock the object file via an RAII class instance, ensuring that it will be\nunlocked no matter what path is taken through the function.\n\ngold/\n\tPR gold/15660\n\t* archive.cc (Thin_archive_object_unlocker): New class.\n\t(Archive::include_member): Unlock external members of thin archives.\n\t* testsuite/Makefile.am (plugin_test_1): Rename .syms files.\n\t(plugin_test_2): Likewise.\n\t(plugin_test_3): Likewise.\n\t(plugin_test_4): Likewise.\n\t(plugin_test_5): Likewise.\n\t(plugin_test_6): Likewise.\n\t(plugin_test_7): Likewise.\n\t(plugin_test_8): Likewise.\n\t(plugin_test_9): Likewise.\n\t(plugin_test_10): Likewise.\n\t(plugin_test_11): New test case.\n\t* testsuite/Makefile.in: Regenerate.\n\t* testsuite/plugin_test.c (claim_file_hook): Check for parallel .syms\n\tfile to decide whether to claim file.\n\t(all_symbols_read_hook): Likewise.\n\t* testsuite/plugin_test_1.sh: Adjust expected output.\n\t* testsuite/plugin_test_2.sh: Likewise.\n\t* testsuite/plugin_test_3.sh: Likewise.\n\t* testsuite/plugin_test_6.sh: Likewise.\n\t* testsuite/plugin_test_tls.sh: Likewise.\n\t* testsuite/plugin_test_11.sh: New testcase.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/2cfbf2fece582c29df348104b28677c38a8301f4"},{"sha":"23081de0180381317070db296fbe3f587b501ccf","author":{"email":"b4953b306061b51f49702b8be9315d1b0a8e0aa9@google.com","name":"Cary Coutant"},"message":"Add missing ChangeLog entries.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/23081de0180381317070db296fbe3f587b501ccf"},{"sha":"80bd5fab6252d1cdff1ca95096ebe9b3053c8ec3","author":{"email":"c495fe4dba026c81f120733ccce155c132d5c6ba@redhat.com","name":"Pedro Alves"},"message":"Fix build breakage due to event loop simplification\n\ncommit 70b66289 (Simplify event-loop core, remove two-step event\nprocessing) causes a build failure when compiling GDB with gcc/-O2:\n\n gdb/event-loop.c: In function ‘gdb_do_one_event’:\n gdb/event-loop.c:296:10: error: ‘res’ may be used uninitialized in this function\n [-Werror=maybe-uninitialized]\n\tif (res > 0)\n\t   ^\n\nGCC isn't realizing that event_source_head can never be > 2 and that\ntherefore 'res' is always initialized in all possible paths.  Adding a\ndefault case that internal_error's makes GCC realize that.\n\nTested on x86_64 Fedora 20.\n\ngdb/ChangeLog:\n2015-02-04  Pedro Alves  <palves@redhat.com>\n\n\tFix build breakage.\n\t* event-loop.c (gdb_do_one_event): Add default switch case.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/80bd5fab6252d1cdff1ca95096ebe9b3053c8ec3"},{"sha":"f3853b34448594744f284fa96f26e41fd533a50d","author":{"email":"2a3695df0edcde19d41e033e172c391a56c7af17@redhat.com","name":"Nick Clifton"},"message":"More fixes for memory access violations triggered by running readelf on fuzzed binaries.\n\n\tPR binutils/17531\n\t* dwarf.c (read_and_display_attr_value): Test for a block length\n\tbeing so long that it wraps around to before the start of the block.\n\t(process_debug_info): Test for section_begin wrapping around to\n\tbefore the start of the section.\n\t(display_gdb_index): Test for num_cus being so large that the end\n\taddress wraps around to before the start of the section.\n\t(process_cu_tu_index): Test for j being so large that the section\n\tindex pool wraps around to before the start of the section.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/f3853b34448594744f284fa96f26e41fd533a50d"},{"sha":"518be979d905d8e8708c70149fdb3207aba53aa1","author":{"email":"63bca33a6a1e19f381dec9b7049f8467c9b91a3c@google.com","name":"Doug Evans"},"message":"Speed up GDB's TUI output\n\nIn the TUI mode, we call wrefresh after outputting every single\ncharacter.  This results in the I/O becoming very slow.  Fix this by\ndelaying refreshing the console window until an explicit flush of\ngdb_stdout is requested, or a write to any other (unbuffered) file is\ndone.\n\n2015-02-04  Doug Evans  <dje@google.com>\n\t    Pedro Alves  <palves@redhat.com>\n\t    Eli Zaretskii  <eliz@gnu.org>\n\n\tPR tui/17810\n\t* tui/tui-command.c (tui_refresh_cmd_win): New function.\n\t* tui/tui-command.c (tui_refresh_cmd_win): Declare.\n\t* tui/tui-file.c: #include tui/tui-command.h.\n\t(tui_file_fputs): Refresh command window if stream is not gdb_stdout.\n\t(tui_file_flush): Refresh command window if stream is gdb_stdout.\n\t* tui/tui-io.c (tui_puts): Remove calls to wrefresh, fflush.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/518be979d905d8e8708c70149fdb3207aba53aa1"},{"sha":"3101e6373ee4bd78f7efbe21a730a4327b0ca8f6","author":{"email":"2a3695df0edcde19d41e033e172c391a56c7af17@redhat.com","name":"Nick Clifton"},"message":"Fix encoding of \"addw ax, [hl]\" and \"subw ax, [hl]\".\n\n\t* config/rl78-parse.y (addsubw): Fix encoding of [HL] variant of\n\tthese instructions.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/3101e6373ee4bd78f7efbe21a730a4327b0ca8f6"},{"sha":"8962a307ae3dd59166a4a6dc4e60a4da880686cd","author":{"email":"e6b730070cb8ff71eb70dcaf29e26324d883b33b@gmail.com","name":"H.J. Lu"},"message":"Pass -flto-partition=none to the PR ld/12365 test\n\n\t*  ld-plugin/lto.exp: Pass -flto-partition=none to the PR\n\tld/12365 test.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/8962a307ae3dd59166a4a6dc4e60a4da880686cd"},{"sha":"1528345d6c4a407e0b36b3474eb458cbd04146f7","author":{"email":"b084e43d53a276329e0351a2aa437c439bfbe747@linux.vnet.ibm.com","name":"Andreas Arnez"},"message":"Fix internal error when core file section is too big\n\nAs reported in PR 17808, a test case with a forged (invalid) core file\ncan crash GDB with an assertion failure.  In that particular case the\nprstatus of an i386 core file looks like that from an AMD64 core file.\nConsequently the respective regset supply function i386_supply_gregset\nis invoked with a larger buffer than usual.  But i386_supply_gregset\nasserts a specific buffer size, and this assertion fails.\n\nThe patch relaxes all buffer size assertions in regset supply\nfunctions such that they merely check for a sufficiently large buffer.\nFor consistency the regset collect functions are adjusted as well.\n\ngdb/ChangeLog:\n\n\tPR corefiles/17808:\n\t* gdbarch.sh (iterate_over_regset_sections_cb): Document this\n\tfunction type, particularly its SIZE parameter.\n\t* gdbarch.h: Regenerate.\n\t* amd64-tdep.c (amd64_supply_fpregset): In gdb_assert, compare\n\tactual against required size using \">=\" instead of \"==\".\n\t(amd64_collect_fpregset): Likewise.\n\t* i386-tdep.c (i386_supply_gregset): Likewise.\n\t(i386_collect_gregset): Likewise.\n\t(i386_supply_fpregset): Likewise.\n\t(i386_collect_fpregset): Likewise.\n\t* mips-linux-tdep.c (mips_supply_gregset_wrapper): Likewise.\n\t(mips_fill_gregset_wrapper): Likewise.\n\t(mips_supply_fpregset_wrapper): Likewise.\n\t(mips_fill_fpregset_wrapper): Likewise.\n\t(mips64_supply_gregset_wrapper): Likewise.\n\t(mips64_fill_gregset_wrapper): Likewise.\n\t(mips64_supply_fpregset_wrapper): Likewise.\n\t(mips64_fill_fpregset_wrapper): Likewise.\n\t* mn10300-linux-tdep.c (am33_supply_gregset_method): Likewise.\n\t(am33_supply_fpregset_method): Likewise.\n\t(am33_collect_gregset_method): Likewise.\n\t(am33_collect_fpregset_method): Likewise.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/1528345d6c4a407e0b36b3474eb458cbd04146f7"},{"sha":"dde9acd693251ccbe28d2d9c6c8b3cdc8ca884ed","author":{"email":"b084e43d53a276329e0351a2aa437c439bfbe747@linux.vnet.ibm.com","name":"Andreas Arnez"},"message":"x86: Use correct .reg-xstate section size\n\nWhen reading the XSAVE extended state from an i386 or AMD64 core file,\nthe respective regset iterator requests a minimum section size of\nzero.  Since the respective regset supply function does not check the\nsize either, this may lead to accessing data out of range if the\nsection is too short.\n\nIn write mode, the iterator always uses the maximum supported size for\nthe XSAVE extended state.\n\nThis is now changed such that the iterator always requests the\nexpected size of this section based on xcr0, both for reading and\nwriting.\n\ngdb/ChangeLog:\n\n\t* amd64-linux-tdep.c (amd64_linux_iterate_over_regset_sections):\n\tFor \".reg-xstate\", explicitly specify the requested section size\n\tvia X86_XSTATE_SIZE instead of just 0 on input and\n\tX86_XSTATE_MAX_SIZE on output.\n\t* i386-linux-tdep.c (i386_linux_iterate_over_regset_sections):\n\tLikewise.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/dde9acd693251ccbe28d2d9c6c8b3cdc8ca884ed"},{"sha":"f962539ad23759af4ba8f7eece1946fdc2f50876","author":{"email":"b084e43d53a276329e0351a2aa437c439bfbe747@linux.vnet.ibm.com","name":"Andreas Arnez"},"message":"Warn if core file register section is larger than expected\n\nWhen reading a core file register section which is larger than\nexpected, emit a warning.  Assume that a register section usually has\nexactly the size specified by the regset section iterator.  In some\nspecial cases this assumption is wrong, or at least does not match the\nregset supply function's logic.  Thus also add a way to suppress the\nwarning in those cases, using a new flag REGSET_VARIABLE_SIZE.\n\ngdb/ChangeLog:\n\n\t* regset.h (struct regset): Add flags field.\n\t(REGSET_VARIABLE_SIZE): New value for a regset's flags field.\n\t* corelow.c (get_core_register_section): Add warning if the size\n\texceeds the requested size and the regset does not have the\n\tREGSET_VARIABLE_SIZE flag set.\n\t* alphanbsd-tdep.c (alphanbsd_gregset): Add REGSET_VARIABLE_SIZE\n\tflag.\n\t* armbsd-tdep.c (armbsd_gregset): Likewise.\n\t* hppa-hpux-tdep.c (hppa_hpux_regset): Likewise.\n\t* hppaobsd-tdep.c (hppaobsd_gregset): Likewise.\n\t* m68kbsd-tdep.c (m68kbsd_gregset): Likewise.\n\t* mipsnbsd-tdep.c (mipsnbsd_gregset): Likewise.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/f962539ad23759af4ba8f7eece1946fdc2f50876"},{"sha":"42d9e5288b6576b56f3f803901433b88ee863bc6","author":{"email":"c495fe4dba026c81f120733ccce155c132d5c6ba@redhat.com","name":"Pedro Alves"},"message":"Fix '--target_board=native-extended-gdbserver/-m32'\n\nRunning the testsuite with the native-extended-gdbserver.exp board and\npassing a variant spec, like\n\n  make check RUNTESTFLAGS=\"--target_board=native-extended-gdbserver/-m32\"\n\nresults in dejagnu trying to open a rsh connection to\n\"native-extended-gdbserver\", which of course is wrong.  The point of\nthis board is running things locally.\n\nThe issue is that the native-extended-gdbserver board does not clear\nthe \"isremote\" flag properly.\n\nReported by Sergio at:\n  https://sourceware.org/ml/gdb-patches/2015-02/msg00067.html\n\ntestsuite/\n2015-02-04  Pedro Alves  <palves@redhat.com>\n\n\t* boards/native-extended-gdbserver.exp: Remove any target variant\n\tspecifications from the board name before clearing the isremote\n\tflag from board_info.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/42d9e5288b6576b56f3f803901433b88ee863bc6"},{"sha":"3c537f7fdb11f02f7082749f3f21dfdd2c2025e8","author":{"email":"0a9c5350547d97e930a976072b24aa4bbddb3981@google.com","name":"Peter Collingbourne"},"message":"Resolve forwarding symbols in plugins.\n\n2015-02-04  Peter Collingbourne  <pcc@google.com>\n\n\t* plugin.cc (Pluginobj::get_symbol_resolution_info): Resolve\n\tforwarding symbols when computing symbol resolution info for plugins.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/3c537f7fdb11f02f7082749f3f21dfdd2c2025e8"},{"sha":"20ba1ce66d31b9dd16ed8c648f46ce32aa3a03e0","author":{"email":"c495fe4dba026c81f120733ccce155c132d5c6ba@redhat.com","name":"Pedro Alves"},"message":"Linux: don't resume new LWPs until we've pulled all events out of the kernel\n\nSince the starvation avoidance series\n(https://sourceware.org/ml/gdb-patches/2014-12/msg00631.html), both\nGDB and GDBserver pull all events out of ptrace before deciding which\nevent to process.\n\nThere's one problem with that though.  Because we resume new threads\nimmediately when we see a PTRACE_EVENT_CLONE event, if the program\nconstantly spawns threads fast enough, new threads can spawn threads\nfaster we can pull events out of the kernel, and thus we'd get stuck\nin an infinite loop, never returning any event to the core to process.\nI occasionally see this happen with the\nattach-many-short-lived-threads.exp test against gdbserver.\n\nThe fix is to delay resuming new threads until we've pulled out all\nevents out of the kernel.\n\nOn native, we already have the resume_stopped_resumed_lwps function\nthat knows to resume LWPs that are stopped with no event to report to\nthe core.  So the patch just adds another use.  GDBserver didn't have\nthe equivalent yet, so the patch adds one.\n\nTested on x86_64 Fedora 20, native and gdbserver (remote and\nextended-remote).\n\ngdb/gdbserver/ChangeLog:\n2015-02-04  Pedro Alves  <palves@redhat.com>\n\n\t* linux-low.c (handle_extended_wait): Don't resume LWPs here.\n\t(resume_stopped_resumed_lwps): New function.\n\t(linux_wait_for_event_filtered): Use it.\n\ngdb/ChangeLog:\n2015-02-04  Pedro Alves  <palves@redhat.com>\n\n\t* linux-nat.c (handle_extended_wait): Don't resume LWPs here.\n\t(wait_lwp): Don't call wait_lwp if linux_handle_extended_wait\n\treturns true.\n\t(resume_stopped_resumed_lwps): Don't check whether the thread is\n\tmarked as executing.\n\t(linux_nat_wait_1): Use resume_stopped_resumed_lwps.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/20ba1ce66d31b9dd16ed8c648f46ce32aa3a03e0"},{"sha":"b66d1c52ac4537484353797ce8d791c0552b3839","author":{"email":"b4953b306061b51f49702b8be9315d1b0a8e0aa9@google.com","name":"Cary Coutant"},"message":"Add missing ChangeLog entry.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/b66d1c52ac4537484353797ce8d791c0552b3839"},{"sha":"2abdd192f1ed671c5dcf0d6e52ebee96c8610b40","author":{"email":"8dfbc7392a2c9d02be2d9ba85e1f89fef7ba109c@jiong-VPCCW152CU","name":"Jiong Wang"},"message":"[AArch64] Add support for Cortex-A72\n\n2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>\n\n\t* config/tc-aarch64.c (aarch64_cpus): Add support for Cortex-A72.\n\t* doc/c-aarch64.texi (-mcpu=): Add \"cortex-a72\".","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/2abdd192f1ed671c5dcf0d6e52ebee96c8610b40"},{"sha":"881d5d5db08ee6b343e1f1fc560d785fed29428e","author":{"email":"bb271a05043db396cc975a0c35ecf24f1f8ce1ab@redhat.com","name":"Jan Kratochvil"},"message":"Fix Python 3 build error on 32-bit hosts\n\non Fedora Rawhide (==22) i686 using --with-python=/usr/bin/python3 one gets:\n\n./python/py-value.c:1696:3: error: initialization from incompatible pointer type [-Werror]\n   valpy_hash,            /*tp_hash*/\n   ^\n./python/py-value.c:1696:3: error: (near initialization for ‘value_object_type.tp_hash’) [-Werror]\ncc1: all warnings being treated as errors\nMakefile:2628: recipe for target 'py-value.o' failed\n\nThis is because in Python 2 tp_hash was:\n\ttypedef long (*hashfunc)(PyObject *);\nwhile in Python 3 tp_hash is:\n\ttypedef Py_hash_t (*hashfunc)(PyObject *);\n\nPy_hash_t is int for 32-bit hosts and long for 64-bit hosts.  While on 32-bit\nhosts sizeof(long)==sizeof(int) still the hashfunc type is formally\nincompatible.  As this patch should have no compiled code change it is not\nreally necessary for gdb-7.9, it would fix there just this non-fatal\ncompilation warning:\n\t./python/py-value.c:1696:3: warning: initialization from incompatible pointer type\n\t   valpy_hash,            /*tp_hash*/\n\t   ^\n\t./python/py-value.c:1696:3: warning: (near initialization for ‘value_object_type.tp_hash’)\n\ngdb/ChangeLog\n2015-02-04  Jan Kratochvil  <jan.kratochvil@redhat.com>\n\n\t* python/python-internal.h (Py_hash_t): Define it for Python <3.2.\n\t* python/py-value.c (valpy_fetch_lazy): Use it.  Remove cast to the\n\treturn type.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/881d5d5db08ee6b343e1f1fc560d785fed29428e"},{"sha":"b9394193d08bef2193f805ded0af898e4c10a509","author":{"email":"a7cf98fea732f88c9e72cd3b82c7c8d29e3197d1@codesourcery.com","name":"Don Breazeal"},"message":"Clean up System V IPC objects allocated by test.\n\nThis commit modifies the test program gdb.base/info-os.c so that\nit cleans up all allocated System V IPC objects when a fatal\nerror occurs.  Without this, it was possible for the program\nto leave IPC objects on the system, and such objects persist\nuntil they are manually deleted or the system reboots.\n\nI looked at changing the SysV IPC key for allocating the IPC objects to\nIPC_PRIVATE.  That would prevent errors due to namespace conflicts with the\nkey.  However, the test needs to read the actual key number from the 'info\nos' command output, and IPC_PRIVATE won't work for that.\n\ngdb/testsuite/ChangeLog:\n2015-02-04  Don Breazeal  <donb@codesourcery.com>\n\n        * gdb.base/info-os.c (shmid, semid, msqid): Make variables static\n        and initialize them.\n        (ipc_cleanup): New function.\n        (main): Don't declare shmid, semid, and msqid.  Add a call to\n        atexit so that we call ipc_cleanup on exit.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/b9394193d08bef2193f805ded0af898e4c10a509"},{"sha":"b39b8b9d90e142179709e846c15afdebd49b0fb1","author":{"email":"6b31706989f3cf9466bfddbf48eab0c43e646ba8@gmail.com","name":"Rafael Ávila de Espíndola"},"message":"Combine loop epilogue into main loop body to reduce duplication.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/b39b8b9d90e142179709e846c15afdebd49b0fb1"},{"sha":"64a81db054a44e5539c4de5103125f3587de6403","author":{"email":"64b285df2af30b39a5c8967bdd7812e31d1a9397@gmail.com","name":"Alan Modra"},"message":"Fix msp430 build with gcc-5\n\ngcc-5 correctly complains \"loop exit may only be reached after\nundefined behavior\".  I was going to correct this by checking the\nindex before dereferencing the array rather than the other way around,\nbut then I noticed it is possible for extract_cmd to write the\nterminating zero one past the end of \"cmd\".  Fixing that means no\nindex check is needed in md_assemble.\n\n\t* config/tc-msp430.c (md_assemble): Correct size passed to\n\textract_cmd.  Remove index check.","distinct":true,"url":"https://api.github.com/repos/bminor/binutils-gdb/commits/64a81db054a44e5539c4de5103125f3587de6403"}]}