public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: jkratoch@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx
Date: Sat, 29 Apr 2017 22:28:00 -0000	[thread overview]
Message-ID: <20170429222808.129412.qmail@sourceware.org> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 123800 bytes --]

The branch, users/jkratoch/indexcxx has been updated
       via  98bebcd98b51d05daf04b0d5c4d7f6e112597c57 (commit)
       via  a941291cab71b9ac356e1c03968c177c03e602ab (commit)
       via  45ce1b47e4490993b5c1a04f4a8acb62d9ec5039 (commit)
       via  a93866c8bfd4ad4b32c81e73e6a73aa9d831d350 (commit)
       via  0749542484129e77a30f1089d6d671197be5035f (commit)
       via  deb1fa3edaf10c65d1f39951779927da955e3a57 (commit)
       via  b421c83cb866120ab347d60fda20fb0e2011be8c (commit)
       via  ef79d9a3c6ed1e3ccd466bae76956019a7c5d376 (commit)
       via  f8fdb78eafb3f70661f6e4a43beb004dde9e0921 (commit)
       via  9ccbfd7bc1b7228d67f2d4ca878224d493918264 (commit)
       via  76e75227c37bc058449a09fe5017eeb40cda0781 (commit)
       via  51046d9e60727cd6a4cfeae29a05ce2e1e394dc9 (commit)
       via  4023ae762ed9b52e4925242b705d0b3a50f6ed13 (commit)
       via  af43057bafa7260dbcc453d2acc47eb63b974c50 (commit)
       via  b091120773f8a740065b6449617cfbf1e0e789f4 (commit)
       via  6c401f72e979ddd7e2f890dcc88f93f683233d74 (commit)
       via  d0e449a1865c741c5e0c9d43a7d61a0621163aa7 (commit)
       via  434a40239548115cf04a80410e4f570f35c361c1 (commit)
       via  1670f9c1546818c4ffe02e8f460df1c1c4b1601d (commit)
       via  d6f48aed23d1004a4ed8ab3b2742b0bf7c838c1c (commit)
       via  428544e8ae6252a615a3100889f3df7d2c5483c4 (commit)
       via  750eaa47f10f48d19aacbec74ab6867da0164677 (commit)
       via  4621115fe529869e938dca605bb90190ea52316a (commit)
       via  b06b2c92c06cf100f259f218337d007ee0b1c884 (commit)
       via  4e3afec278d1fb55b983751d02119f65566bd094 (commit)
       via  d949ff5607b9f595e0eed2ff15fbe5eb84eb3a34 (commit)
       via  339053c29abac25e5f86a1ccccd4e8e3b2d362df (commit)
       via  7974a6050b6e2c44722a533e2d5d9131e7db00ff (commit)
       via  343b374c61f793f745b820c3cf61f69186566b18 (commit)
       via  e15c3eb45bdc8bd5717fd5ceddcc30c3de07b58f (commit)
       via  5b66fac4bad619766fb1a5f5179c08b67d48a8c5 (commit)
       via  72bc1d246686ff38ef01f5a35769ebdbe39f023c (commit)
       via  de9a3c4285fad1914929ee304ddaa26e76af8031 (commit)
       via  da3d25afa26476bf24247b8696fd00ab31f39db9 (commit)
       via  fba37edd96c8dc65a63bd5b4fef5366de45b165a (commit)
       via  1f78f649e868979d36490d7c2ea0b3d41abc5ec6 (commit)
       via  55bcecda5703eb4647165cb3ddb86aed63fd44d2 (commit)
       via  14f72d45a22f25f6d00a62fc03bcf9827df226f5 (commit)
       via  1425c41dcd68350d9be9670910c547cc7ab91e0e (commit)
       via  5c99fcf8031bcf96f2c948e9fc5d3b03c97f631a (commit)
       via  f2d830a50def7a00a911620a3e9c7d920e5ef0f0 (commit)
       via  76c20d54ca5042e11af9ddf5723cc24cf47736ec (commit)
       via  d7153c4ac333c9127c18efcf184607d368bb142d (commit)
       via  641338d8e9b62bde9672f13f0dca2324b61e46e2 (commit)
       via  21d68fcd0c2f9113369d860ee1e5841bfacc35ff (commit)
       via  a61d92b7bd4da998dd5d73e9205b4871f7c4825d (commit)
       via  7a81a73b2e5d00b76e15d97db7b8f0c9809ba1b7 (commit)
       via  ce8ad8721313d288a05a95b62d95ca43db584ebb (commit)
       via  97d343d40012b1030f1fd219f91efcab180fb3ef (commit)
       via  04b31182bf3f8a1a76e995bdfaaaab4c009b9cb2 (commit)
       via  d21f3ddb0d5f95aff5c769ae283ce5522262f48d (commit)
       via  740a463062bd5d1641bdfb639295dafe89341b9b (commit)
       via  3e6b644558f941d3fe482e15efbc53d8f39ef8b7 (commit)
       via  b41c5a85a734b9ca813d4a314b66ef4b4b4d1b11 (commit)
       via  23ec1e32b1ab714649a7c25e49b5d721fe3bd3db (commit)
       via  c46cec3a8cfe02fbe0f6c67ba53abc5369c5c659 (commit)
       via  bbdd9a6894d7875407da59d490faf5588163d21c (commit)
       via  e63d123268f23a4cbc45ee55fb6dbc7d84729da3 (commit)
       via  c185f580b2b3baf7cee762c8ab31ab6925b9534a (commit)
       via  19c4559475791cd70e319eaf5c1e23d23d9ae81e (commit)
       via  03def0812a9ee962d9dcfe9b0ba37783e58acfb8 (commit)
       via  4658f12e9c5ec0d2efb04f1688f6cd6bd9f1a47d (commit)
       via  c4ab9505b53cdc899506ed421fddb7e1f8faf7a3 (commit)
       via  919383ac718c2a3187ee2a9ad659daa22da26258 (commit)
       via  126124cc0f3f0417913bfd84d83e4e525b6facf9 (commit)
       via  be6a24d8eabdbeef32a9d79e81307af4491fcf56 (commit)
       via  d581dda88162831ebbd0757312fa93681d945327 (commit)
       via  0348fd79d4c32243d91e8a55f20f408a9b4ec20d (commit)
       via  6e3d1f0728d980a384c5aa63ce7f2ff3919c5024 (commit)
       via  adc1273cb27286452ed8b32c5ca3ea263b4854f0 (commit)
       via  debed3db4887483552103da36d180967ef0dca5f (commit)
       via  d28b6364b1fba1c0270c001f0d82a69e351e1922 (commit)
       via  b0b92aeb3828219075fce23543fb39fee8608e99 (commit)
       via  16c4d54a71d8052988ed9c8005a03a7f934245f4 (commit)
       via  b5c3668253b909fd1f5b011893a35bb8dfd3be9b (commit)
       via  5625a2864147f4d92b22edfeeab7600818988be2 (commit)
       via  23bcc18f470ee4364bd362a8b78c6c1415a9dadb (commit)
       via  a49abe0bb18e04d3a4b692995fcfae70cd470775 (commit)
       via  9e9821ddd80c0d0b3dda54d34cc8867f256d4583 (commit)
       via  0dc9a308a1ec9675bf6b33bae9e8b1faa0bad9ed (commit)
       via  e1ba30532c6de26a14404ab4919bb591e8da3eab (commit)
       via  e662f84f5d6d014746550ce3d3f623583c043ff0 (commit)
       via  1587442d37ee4266e54d59bfdc783574f0587aff (commit)
       via  534455547021f3262fa60d32cabb626af01692a3 (commit)
       via  8b353c47b70568ab9f0cfd619b7a19e931c2b0c8 (commit)
       via  957f6b39cab6cac0e4c54e650c7f75109544ac1d (commit)
       via  9ad8982091eeb76b380e459fe721aaeacf7b8f24 (commit)
       via  42354845ae5e00ec1c3519e1f2166b79a9533401 (commit)
       via  7034215fd6d99f275998f7f0f8a346ab35fcbee6 (commit)
       via  b02cd3e978e9273074f7cbe2ca1d5b372225a56d (commit)
       via  7eacd66b086cabb1daab20890d5481894d4f56b2 (commit)
       via  bce964aa6c777d236fbd641f2bc7bb931cfe4bf3 (commit)
       via  97e83a100aa8250be783304bfe0429761c6e6b6b (commit)
       via  f082820db966c79e47a143da774700055a1fad41 (commit)
       via  b43eea27e99f5fd270b3bec455054ea53ac700bb (commit)
       via  bf1554384b186b448904dbc13ee5374239c88520 (commit)
       via  10f489e57677e670bf980e93896762594e9ad908 (commit)
       via  0092b74da6d86185c4d0c0fa0f540b97647bf44a (commit)
       via  a14a62ddff9eadbb8a7ad101ab06b02e44b6c00a (commit)
       via  46b9c12945629fffb61001a8f13a37c96675c0b7 (commit)
       via  2e78302469502f4f8a98144b60c09d4d9b6438fd (commit)
      from  c5141d02425a95ed688b640eebfc99ede92e61de (commit)

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

- Log -----------------------------------------------------------------
commit 98bebcd98b51d05daf04b0d5c4d7f6e112597c57
Merge: c5141d0 a941291
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Apr 29 23:58:43 2017 +0200

    Merge remote-tracking branch 'gdb/master' into indexcxx

commit a941291cab71b9ac356e1c03968c177c03e602ab
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Apr 29 14:48:16 2017 +0930

    PR21432, buffer overflow in perform_relocation
    
    The existing reloc offset range tests didn't catch small negative
    offsets less than the size of the reloc field.
    
    	PR 21432
    	* reloc.c (reloc_offset_in_range): New function.
    	(bfd_perform_relocation, bfd_install_relocation): Use it.
    	(_bfd_final_link_relocate): Likewise.

commit 45ce1b47e4490993b5c1a04f4a8acb62d9ec5039
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Fri Mar 31 13:24:36 2017 -0400

    Make environ.exp run on all platforms (and create info-program.exp)
    
    This has been on my TODO list for a while.  There's a really old bug
    about this (PR testsuite/8595), and there was no reason for
    environ.exp to be specific for hppa* targets.  So this patch removes
    this constraint, modernizes the testcase, and cleans up some things.
    Most of the tests remained, and some were rewritten (especially the
    one that checks if "show environment" works, which is something kind
    of hard to do).
    
    As a bonus, I'm adding a separated info-program.exp file containing
    all the tests related to "info program" that were present on
    environ.exp.
    
    Tested locally, everything still passes.
    
    gdb/testsuite/ChangeLog:
    2017-04-28  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR testsuite/8595
    	* gdb.base/environ.exp: Make test available in all architectures.
    	Move bits related to "info program" testing to
    	gdb.base/info-program.exp.  Rewrite tests to use the two new
    	procedures mentione below.
    	(test_set_show_env_var) New procedure.
    	(test_set_show_env_var_equal): Likewise.
    	* gdb.base/info-program.exp: New file.

commit a93866c8bfd4ad4b32c81e73e6a73aa9d831d350
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Apr 29 00:00:38 2017 +0000

    Automatic date update in version.in

commit 0749542484129e77a30f1089d6d671197be5035f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Remove cleanup in get_return_value
    
    With regcache ctor, we can use it to create local object in
    get_return_value (), so that the cleanup can be removed.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* infcmd.c (get_return_value): Use regcache ctor, and remove
    	cleanup.

commit deb1fa3edaf10c65d1f39951779927da955e3a57
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Use tag dispatch regcache ctor in regcache_dup
    
    This patch adds a tag dispatch ctor to create read-only regcache from
    a write-through regcache, also this patch deletes copy ctor and
    assignment operator.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    	    Pedro Alves  <palves@redhat.com>
    
    	* regcache.c (regcache::regcache): New tag dispatch ctor.
    	(do_cooked_read): Moved above.
    	(regcache_dup): Use the tag dispatch ctor..
    	* regcache.h (regcache): Declare ctor, delete copy ctor and
    	assignment operator, remove friend regcache_dup.

commit b421c83cb866120ab347d60fda20fb0e2011be8c
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Simplify regcache_dup
    
    regcache_dup, in fact, is to create a readonly regcache from a
    non-readonly regcache.  This patch adds an assert that src is not
    readonly.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (regcache_dup): Assert !src->m_readonly_p and
    	call method save instead of regcache_cpy.
    	* regcache.h (struct regcache): Make regcache_dup a friend.

commit ef79d9a3c6ed1e3ccd466bae76956019a7c5d376
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Class-fy regcache
    
    This patch moves regcache declaration to regcache.h, and converts
    regcache apis to member functions, for example, regcache_invalidate
    is changed to regcache::invalidate.
    
    This patch also add "m_" prefix to these private fields.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (struct regcache): Move to regcache.h
    	(regcache::arch): New method.
    	(regcache_get_ptid): Update.
    	(get_regcache_arch): Call arch method.
    	(get_regcache_aspace): Call method aspace.
    	(register_buffer): Change it to method.
    	(regcache_save): Change it to regcache::save.
    	(regcache_restore): Likewise.
    	(regcache_cpy_no_passthrough): Remove the declaration.
    	(regcache_cpy): Call methods restore and cpy_no_passthrough.
    	(regcache_cpy_no_passthrough): Change it to method
    	cpy_no_passthrough.
    	(regcache_register_status): Change it to method
    	get_register_status.
    	(regcache_invalidate): Change it to method invalidate.
    	(regcache_thread_ptid_changed): Use methods ptid and set_ptid.
    	(regcache_raw_update): Change it to method raw_update.
    	(regcache_raw_read): Likewise.
    	(regcache_raw_read_signed): Likewise.
    	(regcache_raw_read_unsigned): Likewise.
    	(regcache_raw_write_signed): Likewise.
    	(regcache_raw_write_unsigned): Likewise.
    	(regcache_cooked_read): Likewise.
    	(regcache_cooked_read_value): Likewise.
    	(regcache_cooked_read_signed): Likewise.
    	(regcache_cooked_read_unsigned): Likewise.
    	(regcache_cooked_write_signed): Likewise.
    	(regcache_cooked_write_unsigned): Likewise.
    	(regcache_raw_set_cached_value): Likewise.
    	(regcache_raw_write): Likewise.
    	(regcache_cooked_write): Likewise.
    	(regcache_xfer_part): Likewise.
    	(regcache_raw_read_part): Likewise.
    	(regcache_raw_write_part): Likewise.
    	(regcache_cooked_read_part): Likewise.
    	(regcache_cooked_write_part): Likewise.
    	(regcache_raw_supply): Likewise.
    	(regcache_raw_collect): Likewise.
    	(regcache_transfer_regset): Likewise.
    	(regcache_supply_regset): Likewise.
    	(regcache_collect_regset): Likewise.
    	(regcache_debug_print_register): Likewise.
    	(enum regcache_dump_what): Move it to regcache.h.
    	(regcache_dump): Change it to method dump.
    	* regcache.h (enum regcache_dump_what): New.
    	(class regcache): New.
    	* target.c (target_fetch_registers): Call method
    	debug_print_register.
    	(target_store_registers): Likewise.

commit f8fdb78eafb3f70661f6e4a43beb004dde9e0921
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:18 2017 -0400

    Class-ify lm_info_windows
    
    This patch makes lm_info_windows a "real" class.  It initializes the field
    and replaces XCNEW/xfree with new/delete.
    
    gdb/ChangeLog:
    
    	* windows-nat.c (struct lm_info_windows): Initialize field.
    	(windows_make_so): Allocate lm_info_windows with new.
    	(windows_free_so): Free lm_info_windows with delete.

commit 9ccbfd7bc1b7228d67f2d4ca878224d493918264
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:18 2017 -0400

    Class-ify lm_info_darwin
    
    This patch makes lm_info_darwin a "real" class.  It initializes the
    field and replaces XCNEW/xfree with new/delete.
    
    gdb/ChangeLog:
    
    	* solib-darwin.c (struct lm_info_darwin): Initialize field.
    	(darwin_current_sos): Allocate lm_info_darwin with new, remove
    	cleanup.
    	(darwin_free_so): Free lm_info_darwin with delete.

commit 76e75227c37bc058449a09fe5017eeb40cda0781
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:17 2017 -0400

    Class-ify lm_info_svr4
    
    This patch makes lm_info_svr4 a "real" class.  It initializes fields,
    uses bool and replaces XCNEW/xfree with new/delete.
    
    The memcpy in svr4_copy_library_list is replaced by a usage of the
    default copy constructor.
    
    gdb/ChangeLog:
    
    	* solib-svr4.h (struct lm_info_svr4): Initialize fields.
    	<l_addr_p>: Change type to bool.
    	* solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
    	(svr4_free_so): Free lm_info_svr4 with delete.
    	(svr4_copy_library_list): Replace memcpy with call to copy
    	constructor.
    	(library_list_start_library, svr4_default_sos): Allocate
    	lm_info_svr4 with new.

commit 51046d9e60727cd6a4cfeae29a05ce2e1e394dc9
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:16 2017 -0400

    Class-ify lm_info_target
    
    This patch makes lm_info_target a "real" class.  It adds a destructor,
    uses std::string, initializes the fields and replaces XCNEW/xfree with
    new/delete.
    
    gdb/ChangeLog:
    
    	* solib-target.c (struct lm_info_target): Add destructor,
    	initialize fields.
    	<name>: Change type to std::string.
    	(library_list_start_library): Allocate lm_info_target with new.
    	(solib_target_free_library_list): Free lm_info_target with
    	delete.
    	(solib_target_current_sos): Adapt to std::string.
    	(solib_target_free_so): Free lm_info_target with delete.

commit 4023ae762ed9b52e4925242b705d0b3a50f6ed13
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:16 2017 -0400

    Class-ify lm_info_frv
    
    This patches makes lm_info_frv a "real" class.  It adds a destructor,
    initializes the fields and replaces XCNEW/xfree with new/delete.
    
    gdb/ChangeLog:
    
    	* solib-frv.c (struct lm_info_frv): Add destructor, initialize
    	fields.
    	(frv_current_sos): Allocate lm_info_frv with new.
    	(frv_relocate_main_executable): Free lm_info_frv with delete,
    	allocate with new.
    	(frv_clear_solib, frv_free_so): Free lm_info_frv with delete.

commit af43057bafa7260dbcc453d2acc47eb63b974c50
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:15 2017 -0400

    Fix indentation of lm_info_frv
    
    This patch fixes the indentation of lm_info_frv, so that the real
    changes of the following patch are not lost in the reformatting.
    
    gdb/ChangeLog:
    
    	* solib-frv.c (struct lm_info_frv): Fix indentation.

commit b091120773f8a740065b6449617cfbf1e0e789f4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:14 2017 -0400

    Class-ify lm_info_dsbt
    
    This patches makes lm_info_dsbt a "real" class.  It introduces a
    destructor, initializes the field and replaces XCNEW/xfree with
    new/delete.
    
    gdb/ChangeLog:
    
    	* solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
    	map field.
    	(dsbt_current_sos): Allocate lm_info_dsbt with new.
    	(dsbt_relocate_main_executable): Free lm_info_dsbt with delete
    	and allocate with new.
    	(dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.

commit 6c401f72e979ddd7e2f890dcc88f93f683233d74
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:14 2017 -0400

    Class-ify lm_info_aix
    
    This patch makes lm_info_aix a "real" class.  It uses std::string,
    initializes fields in-class and replaces XCNEW/xfree with new/delete.
    The solib_aix_new_lm_info can be replaced by using the default copy
    constructor.
    
    gdb/ChangeLog:
    
    	* solib-aix.c (struct lm_info_aix): Initialize fields in-class.
    	<filename, member_name>: Change type to std::string.
    	(solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
    	(library_list_start_library): Allocate lm_info_aix with new.
    	(solib_aix_free_library_list, solib_aix_free_so): Free with delete.
    	(solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
    	with copy constructor.

commit d0e449a1865c741c5e0c9d43a7d61a0621163aa7
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:13 2017 -0400

    Make various lm_info implementations inherit from a base class
    
    The lm_info structure is used to store target specific information about
    mapped libraries.  It is currently defined as an opaque type in solist.h
    and a pointer to it is included in solist, the target-agnostic object
    representing a loaded shared library.  Multiple targets define their own
    implementation of lm_info.
    
    In anticipation of using C++ stuff (e.g. vector) in the lm_info objects,
    we first need to avoid different definitions of classes with the same
    name (which violates the one definition rule).  This patch does it by
    having a base class (lm_info_base) from which all the specific lm_info
    derive.  Each implementation is renamed to something that makes sense
    (e.g. lm_info_aix for AIX).  The next logical step would probably be to
    derive directly from so_list, it's not really obvious, so I'll keep that
    for another day.
    
    One special case is the Neutrino (nto) support.  It uses SVR4-style
    libraries, but overrides some methods.  To do that, it needed to have
    its own copy of SVR4's lm_info structure in nto-tdep.c, because it was
    just not possible to put it in solib-svr4.h and include that file.  Over
    time, that copy got out of sync, which is still the case today.  I can
    only assume that the lm_addr function in nto-tdep.c is broken right now.
    The first field of the old lm_info was a pointer (gdb_byte *), whereas
    in the new lm_info it's an address in the inferior (CORE_ADDR).  Trying
    to use that field today probably results in a crash.  With this
    refactor, it's now possible to put lm_info_svr4 in solib-svr4.h and just
    include it.  I have adapted the code in nto-tdep.c to that it builds,
    but it's probably not correct.  Since I don't have the knowledge nor
    setup to try this on Neutrino, somebody else would have to fix it.  But
    I am confident that I am not making things worse than they already are.
    
    gdb/ChangeLog:
    
    	* solist.h (struct lm_info): Remove.
    	(struct lm_info_base): New class.
    	(struct so_list) <lm_info>: Change type to lm_info_base *.
    	* nto-tdep.c (struct lm_info): Remove.
    	(lm_addr): Adjust.
    	* solib-aix.c (struct lm_info): Rename to ...
    	(struct lm_info_aix): ... this.  Extend lm_info_base.
    	(lm_info_p): Rename to ...
    	(lm_info_aix_p): ... this, and adjust.
    	(solib_aix_new_lm_info, solib_aix_xfree_lm_info,
    	solib_aix_parse_libraries, library_list_start_library,
    	solib_aix_free_library_list, solib_aix_parse_libraries,
    	solib_aix_get_library_list,
    	solib_aix_relocate_section_addresses, solib_aix_free_so,
    	solib_aix_get_section_offsets,
    	solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
    	Adjust.
    	(struct solib_aix_inferior_data) <library_list>: Adjust.
    	* solib-darwin.c (struct lm_info): Rename to ...
    	(struct lm_info_darwin): ... this.  Extend lm_info_base.
    	(darwin_current_sos, darwin_relocate_section_addresses): Adjust.
    	* solib-dsbt.c (struct lm_info): Rename to ...
    	(struct lm_info_dsbt): ... this.  Extend lm_info_base.
    	(struct dsbt_info) <main_executable_lm_info): Adjust.
    	(dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
    	dsbt_relocate_section_addresses): Adjust.
    	* solib-frv.c (struct lm_info): Rename to ...
    	(struct lm_info_frv): ... this.  Extend lm_info_base.
    	(main_executable_lm_info): Adjust.
    	(frv_current_sos, frv_relocate_main_executable, frv_free_so,
    	frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
    	find_canonical_descriptor_in_load_object,
    	frv_fdpic_find_canonical_descriptor): Adjust.
    	* solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
    	to lm_info_svr4.
    	(lm_info_read, lm_addr_check, svr4_keep_data_in_core,
    	svr4_clear_so, svr4_copy_library_list,
    	library_list_start_library, svr4_default_sos, svr4_read_so_list,
    	svr4_current_sos, svr4_fetch_objfile_link_map,
    	solist_update_incremental): Adjust.
    	* solib-svr4.h (struct lm_info_svr4): Move here from
    	solib-svr4.c.
    	* solib-target.c (struct lm_info): Rename to ...
    	(struct lm_info_target): ... this.  Extend lm_info_base.
    	(lm_info_p): Rename to ...
    	(lm_info_target_p): ... this.
    	(solib_target_parse_libraries, library_list_start_segment,
    	library_list_start_section, library_list_start_library,
    	library_list_end_library, solib_target_free_library_list,
    	solib_target_current_sos, solib_target_free_so,
    	solib_target_relocate_section_addresses): Adjust.
    	* windows-nat.c (struct lm_info): Rename to ...
    	(struct lm_info_windows): ... this.  Extend lm_info_base.
    	(windows_make_so, handle_load_dll, handle_unload_dll,
    	windows_xfer_shared_libraries): Adjust.

commit 434a40239548115cf04a80410e4f570f35c361c1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:12 2017 -0400

    Standardize darwin's lm_info
    
    Darwin's lm_info structure is used a little bit differently than the
    other solib implementations.  The other implementations first allocate
    an so_list object, then instanciate their specific lm_info structure,
    and assign it to so_list::lm_info.
    
    The Darwin implementation allocates both at the same time
    (darwin_so_list).  This patch changes it to be like the others, so that
    we'll be able to do some generalizations later.
    
    gdb/ChangeLog:
    
    	* solib-darwin.c (struct darwin_so_list): Remove.
    	(darwin_current_sos): Allocate an so_list object instead of a
    	darwin_so_list, separately allocate an lm_info object.
    	(darwin_free_so): Free lm_info.

commit 1670f9c1546818c4ffe02e8f460df1c1c4b1601d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 28 12:42:05 2017 -0700

    x86: Add run-time tests for -mtls-dialect=gnu2
    
    	* testsuite/config/default.exp (GNU2_CFLAGS): New.  Set
    	to -mtls-dialect=gnu2 if target compiler supports it.
    	* testsuite/ld-i386/tls.exp: Run -mtls-dialect=gnu2 tests.
    	* testsuite/ld-x86-64/tls.exp: Likewise.
    	* testsuite/ld-i386/tlsdesc1a.c: New file.
    	* testsuite/ld-i386/tlsdesc1b.c: Likewise.
    	* testsuite/ld-x86-64/tlsdesc1a.c: Likewise.
    	* testsuite/ld-x86-64/tlsdesc1b.c: Likewise.

commit d6f48aed23d1004a4ed8ab3b2742b0bf7c838c1c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 28 12:29:29 2017 -0700

    ELF: Add run-time tests for -z now
    
    	* testsuite/ld-elf/shared.exp: Add run-time tests for -z now.
    	* testsuite/ld-i386/tls.exp: Likewise.
    	* testsuite/ld-ifunc/ifunc.exp: Likewise.
    	* testsuite/ld-x86-64/tls.exp: Likewise.

commit 428544e8ae6252a615a3100889f3df7d2c5483c4
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Fri Apr 28 09:34:52 2017 -0700

    Consistently use fprintf_filtered when displaying MIPS registers.
    
    One line was using printf_filtered instead of fprintf_filtered
    to the requested file.
    
    gdb/ChangeLog:
    
    	* mips-tdep.c (print_gp_register_row): Replace printf_filtered
    	with fprintf_filtered.

commit 750eaa47f10f48d19aacbec74ab6867da0164677
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 28 07:26:45 2017 -0700

    x86: Check plt_got before using .plt.got
    
    Since the GOT procedure linkage table is supported only if plt_got
    isn't NULL, we need to check plt_got before using it.
    
    	* elf32-i386.c (elf_i386_allocate_dynrelocs): Check plt_got
    	before using .plt.got.
    	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.

commit 4621115fe529869e938dca605bb90190ea52316a
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 14:43:13 2017 +0100

    Add constructor and destructor to regcache
    
    This patch adds ctor and dtor to regcache.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (regcache::regcache): New function.
    	(regcache::~regcache): New function.
    	(regcache_xmalloc_1): Remove.
    	(regcache_xmalloc): Call new regcache.
    	(regcache_xfree): Call delete regcache.
    	(get_thread_arch_aspace_regcache): Call new regcache.

commit b06b2c92c06cf100f259f218337d007ee0b1c884
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 28 12:09:14 2017 +0100

    Fix off by one error when checking for empty note names.
    
    	PR binutils/21439
    	* readelf.c (print_gnu_build_attribute_name): Allow for an empty
    	name field.

commit 4e3afec278d1fb55b983751d02119f65566bd094
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 28 11:21:53 2017 +0100

    Fix heap-buffer address violation when reading version data from a corrupt binary.
    
    	PR binutils/21437
    	* readelf.c (process_version_sections): Check for underflow when
    	computing the start address of the auxillary version data.

commit d949ff5607b9f595e0eed2ff15fbe5eb84eb3a34
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 28 10:28:04 2017 +0100

    Fix heap-buffer overflow bugs caused when dumping debug information from a corrupt binary.
    
    	PR binutils/21438
    	* dwarf.c (process_extended_line_op): Do not assume that the
    	string extracted from the section is NUL terminated.
    	(fetch_indirect_string): If the string retrieved from the section
    	is not NUL terminated, return an error message.
    	(fetch_indirect_line_string): Likewise.
    	(fetch_indexed_string): Likewise.

commit 339053c29abac25e5f86a1ccccd4e8e3b2d362df
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 09:50:51 2017 +0100

    Use ptid method lwp in mips_linux_new_thread
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-linux-nat.c (mips_linux_new_thread): Use ptid method
    	lwp instead of ptid_get_lwp.

commit 7974a6050b6e2c44722a533e2d5d9131e7db00ff
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 09:33:16 2017 +0100

    [MIPS] Use lwpid from lwp_info instead of inferior_ptid
    
    RAJESH reported that GDB gets "Couldn't write debug register: No such
    process." on mips64 when GDB attaches to a multi threaded application.
    
    Looks GDB nows PTRACE_GET_WATCH_REGS for inferior_ptid but
    PTRACE_SET_WATCH_REGS for lwp->ptid, they may be different.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
    	lwp_info instead of getting from inferior_ptid.

commit 343b374c61f793f745b820c3cf61f69186566b18
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Apr 28 00:00:34 2017 +0000

    Automatic date update in version.in

commit e15c3eb45bdc8bd5717fd5ceddcc30c3de07b58f
Author: Keith Seitz <keiths@redhat.com>
Date:   Thu Apr 27 15:55:26 2017 -0700

    Fix overload resolution involving rvalue references and cv qualifiers.
    
    The following patch fixes several outstanding overload resolution problems
    with rvalue references and cv qualifiers in the test suite. The tests for
    these problems typically passed with one compiler version and failed with
    another. This behavior occurs because of the ordering of the overloaded
    functions in the debug info. So the first best match "won out" over the
    a subsequent better match.
    
    One of the bugs addressed by this patch is the failure of rank_one_type to
    account for type equality of two overloads based on CV qualifiers.  This was
    leading directly to problems evaluating rvalue reference overload quality,
    but it is also highlighted in gdb.cp/oranking.exp, where two test KFAIL as
    a result of this shortcoming.
    
    I found the overload resolution code committed with the rvalue reference
    patch (f9aeb8d49) needlessly over-complicated, and I have greatly simplified
    it. This fixes some KFAILing tests in gdb.exp/rvalue-ref-overload.exp.
    
    gdb/ChangeLog
    
    	* gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
    	DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
    	(CV_CONVERSION_BADNESS): Define.
    	(rank_one_type): Remove overly restrictive rvalue reference
    	rank checks.
    	Add cv-qualifier checks and subranks for type equality.
    	* gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
    	REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
    	CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
    
    gdb/testsuite/ChangeLog
    
    	* gdb.cp/oranking.cc (test15): New function.
    	(main): Call test15 and declare additional variables for testing.
    	* gdb.cp/oranking.exp: Remove kfail status for "p foo4(&a)" and
    	"p foo101('abc')" tests.
    	* gdb.cp/rvalue-ref-overloads.exp: Remove kfail status for
    	"lvalue reference overload" test.
    	* gdb.cp/rvalue-ref-params.exp: Remove kfail status for
    	"print value of f1 on Child&& in f2" test.

commit 5b66fac4bad619766fb1a5f5179c08b67d48a8c5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 15:24:08 2017 -0700

    x86-64: Use "=" instead of "+=" to update 0
    
    Use
    
      if (htab->elf.splt->size == 0)
        htab->elf.splt->size = GET_PLT_ENTRY_SIZE (output_bfd);
    
    instead of
    
      if (htab->elf.splt->size == 0)
        htab->elf.splt->size += GET_PLT_ENTRY_SIZE (output_bfd);
    
    	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Use "="
    	instead of "+=" to update 0.

commit 72bc1d246686ff38ef01f5a35769ebdbe39f023c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Apr 27 17:03:20 2017 -0400

    Add missing incref when creating Inferior Python object
    
    The test py-inferior.exp fails when using a debug build of Python 3.6.  I don't
    see it failing with my system's default Python, but it might be related to the
    different memory allocation scheme used when doing a build with pydebug.
    
    The issue is that we are missing a Py_INCREF in
    inferior_to_inferior_object.  The PyObject_New function initializes the
    object with a refcount of 1.  If we assume that this refcount
    corresponds to the reference we are returning, then we are missing an
    incref for the reference in the inferior data.
    
    The counterpart for the incref that corresponds to the reference in the
    inferior data is in py_free_inferior, in the form the gdbpy_ref instance.
    
    Here's how I can get it to crash (with some debug output):
    
      $ ./gdb -nx -ex "set debug python 1"
      (gdb) add-inferior
      Added inferior 2
      (gdb) python infs = gdb.inferiors()
      Creating Python Inferior object inf = 1
      Creating Python Inferior object inf = 2
      (gdb) remove-inferiors 2
      py_free_inferior inf = 2
      infpy_dealloc inf = <unknown>
      (gdb) python infs = None
      Fatal Python error: Objects/tupleobject.c:243 object at 0x7f9cf1a568d8 has negative ref count -1
    
      Current thread 0x00007f9cf1b68780 (most recent call first):
        File "<string>", line 1 in <module>
      [1]    408 abort (core dumped)  ./gdb -nx -ex "set debug python 1"
    
    After having created the inferiors object, their refcount is 1 (which
    comes from PyObject_New), but it should be two.  The gdb inferior object
    has a reference and the "infs" list has a reference.
    
    When invoking remove-inferiors, py_free_inferior gets called.  It does
    the decref that corresponds to the reference that the gdb inferior
    object kept.  At this moment, the refcount drops to 0 and the object
    gets deallocated, even though the "infs" list still has a reference.
    When we set "infs" to None, Python tries to decref the already zero
    refcount and the assert triggers.
    
    With this patch, it looks better:
    
      (gdb) add-inferior
      Added inferior 2
      (gdb) python infs = gdb.inferiors()
      Creating Python Inferior object inf = 1
      Creating Python Inferior object inf = 2
      (gdb) remove-inferiors 2
      py_free_inferior inf = 2
      (gdb) python infs = None
      infpy_dealloc inf = <unknown>
    
    gdb/ChangeLog:
    
    	* python/py-inferior.c (inferior_to_inferior_object): Increment reference
    	count when creating the object.

commit de9a3c4285fad1914929ee304ddaa26e76af8031
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 13:55:31 2017 -0700

    x86: Create dynamic sections in create_dynamic_sections
    
    This patch creates dynamic sections in i386/x86-64 create_dynamic_sections
    instead of creating them on demend.  Linker will strip them if they are
    empty.  It changes order in x86-64 .eh_frame section.  The extra DW_CFA_nop
    paddings is due to
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=21441
    
    bfd/
    
    	* elf32-i386.c (elf_i386_create_dynamic_sections): Create the
    	.plt.got section here.
    	(elf_i386_check_relocs): Don't create the .plt.got section.
    	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Create
    	the .plt.got and .plt.bnd sections here.
    	(elf_x86_64_check_relocs): Don't create the .plt.got nor
    	.plt.bnd sections.
    
    ld/
    
    	* testsuite/ld-x86-64/pr21038a.d: Update DW_CFA_nop paddings
    	in .eh_frame section.
    	* testsuite/ld-x86-64/pr21038c.d: Update .eh_frame order.

commit da3d25afa26476bf24247b8696fd00ab31f39db9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 09:32:35 2017 -0700

    Remove has_bnd_reloc from elf_x86_64_link_hash_entry
    
    has_bnd_reloc was added to elf_x86_64_link_hash_entry track BND
    relocations by
    
    commit 0ff2b86e7c14177ec7f9e1257f8e697814794017
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Wed Nov 20 09:01:04 2013 -0800
    
        Create the second PLT for BND relocations
    
    Since BND relocations have been deprecated by
    
    commit d258b828287a863376af60a1ef7ceafbccc83d93
    Author: Igor Zamyatin <igor.zamyatin@intel.com>
    Date:   Tue Nov 18 10:52:36 2014 +0300
    
        Add -z bndplt to generate BND prefix in PLT entries
    
    This patch removes has_bnd_reloc from elf_x86_64_link_hash_entry and
    checks bndplt instead of has_bnd_reloc.
    
    	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Remove
    	has_bnd_reloc.
    	(elf_x86_64_link_hash_newfunc): Don't clear has_bnd_reloc.
    	(elf_x86_64_copy_indirect_symbol): Don't copy has_bnd_reloc.
    	(elf_x86_64_check_relocs): Don't set has_bnd_reloc.
    	(elf_x86_64_finish_dynamic_symbol): Check bndplt instead of
    	has_bnd_reloc.
    
    Remove has_bnd_reloc

commit fba37edd96c8dc65a63bd5b4fef5366de45b165a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 09:07:23 2017 -0700

    Change _bfd_elf_link_setup_gnu_properties to bfd *
    
    Change setup_gnu_properties to return the first relocatable ELF input
    with GNU properties so that a backend can make decision based on GNU
    properties.
    
    	* elf-bfd.h (elf_backend_data): Change setup_gnu_properties
    	to return bfd *.
    	(_bfd_elf_link_setup_gnu_properties): Return bfd *.
    	* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Return
    	the first relocatable ELF input with GNU properties.

commit 1f78f649e868979d36490d7c2ea0b3d41abc5ec6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 08:55:36 2017 -0700

    i386: Simplify VxWorks for non-PIC
    
    Change
    
      if (PIC)
        {
          #1
        }
      else
        {
          #2
          if (VxWorks)
            {
              #3
            }
        }
      #4
      if (VxWorks && !PIC)
        {
          #5
        }
    
    to
    
      #4
      if (PIC)
        {
          #1
        }
      else
        {
          #2
          if (VxWorks)
            {
              #3
              #5
            }
        }
    
    	* elf32-i386.c (elf_i386_finish_dynamic_sections): Simplify
    	VxWorks for non-PIC.

commit 55bcecda5703eb4647165cb3ddb86aed63fd44d2
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Thu Apr 27 15:57:08 2017 +0200

    Read corrrect auxiliary entry in AIX
    
    Fix handling of XCOFF function auxiliary entries, in particular when
    the xlc -qfuncsect or gcc -ffunction-sections compiler option is used
    in AIX.  Also handle C_WEAKEXT storage class.
    
    gdb/
    2016-10-21  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
    	    Ulrich Weigand  <uweigand@de.ibm.com>
    
    	* xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
    	entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
    	is used in AIX.
    	(read_xcoff_symtab): Handle C_WEAKEXT storage class.
    	(process_xcoff_symbol): Likewise.
    	(scan_xcoff_symtab): Likewise.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit 14f72d45a22f25f6d00a62fc03bcf9827df226f5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 27 02:25:33 2017 +0100

    MIPS16/GAS: Factor out duplicate symbol value conversion code
    
    Factor out and consolidate duplicate section-relative to PC-relative
    symbol value conversion in `mips16_extended_frag' and `md_convert_frag'
    used for MIPS16 relaxation, observing that the final calculation in the
    latter function implies `stretch == 0'.  Sanitize the formatting of code
    moved.
    
    	gas/
    	* config/tc-mips.c (mips16_pcrel_val): New function, factored
    	out from...
    	(mips16_extended_frag): ... here.
    	(md_convert_frag): Use `mips16_pcrel_val' rather than repeated
    	code in MIPS16 relaxation, with `stretch' hardcoded to 0.

commit 1425c41dcd68350d9be9670910c547cc7ab91e0e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 27 02:13:21 2017 +0100

    MIPS16/GAS: Rename the LONG_BRANCH relaxation flag
    
    Following commit 177b4a6ad004 ("infinite loop in mips16 assembler
    relaxation"), <https://sourceware.org/ml/binutils/2002-03/msg00345.html>
    the LONG_BRANCH flag used in MIPS16 relaxation has lost its use for
    branches.  Complement commit 88a7ef168927 ("MIPS16/GAS: Restore
    unsupported relocation diagnostics") then, which has removed the remains
    of code deactivated by the former commit, and rename the flag to
    ALWAYS_EXTENDED, more accurately reflecting its current use to select
    the extended form of PC-relative ADDIU, DADDIU, LD and LW instructions.
    
    	gas/
    	* config/tc-mips.c (RELAX_MIPS16_LONG_BRANCH): Rename to...
    	(RELAX_MIPS16_ALWAYS_EXTENDED): ... this.
    	(RELAX_MIPS16_MARK_LONG_BRANCH): Rename to...
    	(RELAX_MIPS16_MARK_ALWAYS_EXTENDED): ... this.
    	(RELAX_MIPS16_CLEAR_LONG_BRANCH): Rename to...
    	(RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): ... this.
    	(mips16_extended_frag): Adjust accordingly.

commit 5c99fcf8031bcf96f2c948e9fc5d3b03c97f631a
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Apr 27 11:38:14 2017 +0100

    Remove some MAX_REGISTER_SIZE uses in ia64-tdep.c
    
    gdb/
    	* ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
    	(ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
    	(ia64_access_reg): Use get_frame_register_unsigned.
    	(ia64_access_rse_reg): Likewise.
    	(ia64_libunwind_frame_prev_register): Likewise.

commit f2d830a50def7a00a911620a3e9c7d920e5ef0f0
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 12:20:10 2017 +0930

    Tidy S_FORCE_RELOC
    
    Separate out symbol flag reasons from section reasons to force a
    reloc.  Yes, this adds another section test to the local symbol case
    too.
    
    	* symbols.c (S_FORCE_RELOC): Separate section and symbol tests.

commit 76c20d54ca5042e11af9ddf5723cc24cf47736ec
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 12:03:39 2017 +0930

    Constify elf_backend_eh_frame_address_size
    
    	* elf-bfd.h (struct elf_backend_data): Make asection param of
    	elf_backend_eh_frame_address_size const.
    	(_bfd_elf_eh_frame_address_size): Likewise.
    	* elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise.
    	* elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise.
    	* elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise.
    	* elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise.
    	* elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise.
    	(next_cie_fde_offset): Constify params.
    	(offset_adjust, adjust_eh_frame_local_symbols): Likewise.

commit d7153c4ac333c9127c18efcf184607d368bb142d
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 11:08:14 2017 +0930

    Edit .eh_frame symbols
    
    Experimental support for moving symbols defined in .eh_frame as their
    CIEs/FDEs are edited or merged.
    
    	* elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
    	(_bfd_elf_adjust_eh_frame_global_symbol): Declare.
    	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
    	aug_data_len.
    	(offset_adjust): New function.
    	(_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
    	(adjust_eh_frame_local_symbols): Likewise.
    	(_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
    	after changing anything.  Return true if anything changed.
    	* elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
    	_bfd_elf_adjust_eh_frame_global_symbol for globals.

commit 641338d8e9b62bde9672f13f0dca2324b61e46e2
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 11:06:33 2017 +0930

    Clear dynstr_index when forcing symbols local
    
    This is really just cosmetic, but it does protect a little from
    accidentally reading a stale value.
    
    	* elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
    	when force_local.

commit 21d68fcd0c2f9113369d860ee1e5841bfacc35ff
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 09:19:26 2017 +0930

    PowerPC undefweak handling
    
    This patch fixes a number of cases where -z nodynamic-undefined-weak
    was not effective in preventing dynamic relocations or linkage stubs.
    
    	* elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
    	(ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
    	(ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
    	(ppc_elf_relocate_section): Likewise.  Delete silly optimisation
    	for undef and undefweak dyn_relocs.
    	* elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
    	(ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
    	(allocate_got, allocate_dynrelocs): Likewise.
    	(ppc64_elf_relocate_section): Likewise.

commit a61d92b7bd4da998dd5d73e9205b4871f7c4825d
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 09:08:09 2017 +0930

    [GOLD] testsuite/plugin_section_order.c fix
    
    	* testsuite/plugin_section_order.c (onload): Add missing break.

commit 7a81a73b2e5d00b76e15d97db7b8f0c9809ba1b7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Apr 27 00:00:56 2017 +0000

    Automatic date update in version.in

commit ce8ad8721313d288a05a95b62d95ca43db584ebb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 27 00:47:15 2017 +0100

    MIPS/GAS: Fix `.option picX' handling with relaxation
    
    Correct the handling of `.option pic0' and `.option pic2' GAS pseudo-ops
    in relaxation and use the setting of `mips_pic' (which these directives
    control) as at the time a relaxed frag has been created rather than the
    final `mips_pic' setting at the end of the source file processed.
    
    To do so record whether `mips_pic' is NO_PIC or not in the frag itself
    and use this information throughout relaxation instead of `mips_pic' to
    decide which of NO_PIC or SVR4_PIC to produce machine code for, fixing
    code generation and removing a possible fatal failure reproducible with:
    
    $ as -32 --relax-branch -o option-pic-relax-3.o option-pic-relax-3.s
    option-pic-relax-3.s: Assembler messages:
    option-pic-relax-3.s:7: Warning: relaxed out-of-range branch into a jump
    option-pic-relax-3.s: Internal error in cvt_frag_to_fill at .../gas/write.c:490.
    Please report this bug.
    $
    
    using the test source included, due to a buffer overrun in filling the
    variable part of a frag.
    
    Likewise use the `fx_tcbit2' flag of a BFD_RELOC_16_PCREL_S2 fixup to
    handle the simple case of substituting an out of range unconditional
    branch with an equivalent absolute jump in NO_PIC code.
    
    Retain the current way of VXWORKS_PIC use, which commit 41a1578ed17c
    ("MIPS/GAS: Sanitize `.option picX' pseudo-op") has forbidden the use of
    `.option picX' with.
    
    	gas/
    	* config/tc-mips.c (RELAX_ENCODE): Add `PIC' flag.
    	(RELAX_PIC): New macro.
    	(RELAX_USE_SECOND, RELAX_SECOND_LONGER, RELAX_NOMACRO)
    	(RELAX_DELAY_SLOT, RELAX_DELAY_SLOT_16BIT)
    	(RELAX_DELAY_SLOT_SIZE_FIRST, RELAX_DELAY_SLOT_SIZE_SECOND):
    	Shift bits.
    	(RELAX_BRANCH_ENCODE): Add `pic' flag.
    	(RELAX_BRANCH_UNCOND, RELAX_BRANCH_LIKELY, RELAX_BRANCH_LINK)
    	(RELAX_BRANCH_TOOFAR): Shift bits.
    	(RELAX_BRANCH_PIC): New macro.
    	(RELAX_MICROMIPS_ENCODE): Add `pic' flag.
    	(RELAX_MICROMIPS_PIC): New macro.
    	(RELAX_MICROMIPS_UNCOND, RELAX_MICROMIPS_COMPACT)
    	(RELAX_MICROMIPS_LINK, RELAX_MICROMIPS_NODS)
    	(RELAX_MICROMIPS_RELAX32): Shift bits.
    	(relax_close_frag): Pass `mips_pic' setting to RELAX_ENCODE.
    	(append_insn): Pass `mips_pic' setting to RELAX_BRANCH_ENCODE
    	and RELAX_MICROMIPS_ENCODE, and record it in `fx_tcbit2' of the
    	first fixup created.
    	(md_apply_fix) <BFD_RELOC_16_PCREL_S2>: Use `fx_tcbit2' of the
    	fixup processed rather than `mips_pic' in choosing to relax an
    	out of range branch to a jump.
    	(relaxed_branch_length): Use the `pic' flag of the relaxed frag
    	rather than `mips_pic'.
    	(relaxed_micromips_32bit_branch_length): Likewise.
    	(md_estimate_size_before_relax): Likewise.
    	(md_convert_frag): Likewise.
    
    	* testsuite/gas/mips/option-pic-relax-0.d: New test.
    	* testsuite/gas/mips/option-pic-relax-1.d: New test.
    	* testsuite/gas/mips/option-pic-relax-2.d: New test.
    	* testsuite/gas/mips/option-pic-relax-3.d: New test.
    	* testsuite/gas/mips/option-pic-relax-3a.d: New test.
    	* testsuite/gas/mips/option-pic-relax-4.d: New test.
    	* testsuite/gas/mips/option-pic-relax-5.d: New test.
    	* testsuite/gas/mips/option-pic-relax-2.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-3.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-4.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-5.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-0.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-1.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-2.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-3.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-4.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-5.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 97d343d40012b1030f1fd219f91efcab180fb3ef
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Apr 26 15:34:00 2017 -0700

    x86: Add DT_PLTRELSZ/DT_PLTREL/DT_JMPREL for PLT relocation
    
    x86, PLT relocation may contain R_386_TLS_DESC or R_X86_64_TLSDESC
    even though there is no real PLT.  We need to add DT_PLTRELSZ, DT_PLTREL
    and DT_JMPREL if there is a .rel.plt/.rela.plt section.
    
    bfd/
    
    	* elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
    	DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
    	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
    	add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
    
    ld/
    
    	* testsuite/ld-i386/tlsdesc2.d: New test.
    	* testsuite/ld-x86-64/tlsdesc2.d: Likewise.

commit 04b31182bf3f8a1a76e995bdfaaaab4c009b9cb2
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 16:30:22 2017 +0100

    Fix a seg-fault when processing a corrupt binary containing reloc(s) with negative addresses.
    
    	PR binutils/21434
    	* reloc.c (bfd_perform_relocation): Check for a negative address
    	in the reloc.

commit d21f3ddb0d5f95aff5c769ae283ce5522262f48d
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 15:45:41 2017 +0100

    Fix PR number in ChangeLog comment.

commit 740a463062bd5d1641bdfb639295dafe89341b9b
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 15:42:03 2017 +0100

    Fix invocation of stat() on a NULL pointer.
    
    	PR binutils/21407
    	* bucomm.c (get_file_size): Return -1 if file_name is NULL.
    	* ar.c (main): Fail with usage() invocation if no file names are
    	provided.

commit 3e6b644558f941d3fe482e15efbc53d8f39ef8b7
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 14:23:26 2017 +0100

    Improve decoding of corrupt/unrecognised gnu build attribute notes.
    
    	* readelf.c (process_section_headers): Warn about overlarge
    	sections.
    	(print_gnu_build_attribute_name): Print the number of unrecognised
    	note types.  Fix formatting in the presence of errors.
    	(testsuite/binutils-all/note-2-32.s): Fix encoding of numeric notes.
    	(testsuite/binutils-all/note-2-64.s): Likewise.

commit b41c5a85a734b9ca813d4a314b66ef4b4b4d1b11
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Apr 26 14:05:03 2017 +0100

    [gdbarch] New method "execute_dwarf_cfa_vendor_op" and migrate SPARC to it
    
    Recently a feature called "return address signing" has been added to GCC to
    prevent stack smash stack on AArch64.  For details please refer:
    
      https://gcc.gnu.org/ml/gcc-patches/2017-01/msg00376.html
    
    GDB needs to be aware of this feature so it can restore the original return
    address which is critical for unwinding.
    
    On compiler side, whenever return address, i.e. LR register, is mangled or
    restored by hardware instruction, compiler is expected to generate a
    DW_CFA_AARCH64_negate_ra_state to toggle return address signing status.
    
    DW_CFA_AARCH64_negate_ra_state is using the same CFI number and
    therefore need to be multiplexed with DW_CFA_GNU_window_save which was designed
    for SPARC.
    
    A new gdbarch method "execute_dwarf_cfa_vendor_op" is introduced by this patch.
    It's parameters has been restricted to those only needed by SPARC and AArch64
    for multiplexing DW_CFA_GNU_window_save which is a CFI operation takes none
    operand.  Should any further DWARF CFI operation want to be multiplexed in the
    future,  the parameter list can be extended.  Below is the current function
    prototype.
    
       typedef int (gdbarch_execute_dwarf_cfa_vendor_op_ftype)
         (struct gdbarch *gdbarch, gdb_byte op, struct dwarf2_frame_state *fs);
    
    DW_CFA_GNU_window_save support for SPARC is migrated to this new gdbarch
    method by this patch.
    
    gdb/
    	* gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
    	* gdbarch.c: Regenerated.
    	* gdbarch.h: Regenerated.
    	* dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
    	visibility external.
    	(execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
    	between DW_CFA_lo_user and DW_CFA_high_user inclusive.
    	(enum cfa_how_kind): Move to ...
    	(struct dwarf2_frame_state_reg_info): Likewise.
    	(struct dwarf2_frame_state): Likewise.
    	* dwarf2-frame.h: ... here.
    	(dwarf2_frame_state_alloc_regs): New declaration.
    	* sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
    	(sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.

commit 23ec1e32b1ab714649a7c25e49b5d721fe3bd3db
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Apr 24 20:15:31 2017 +0100

    PR ld/21334: Always call `_bfd_elf_link_renumber_dynsyms' if required
    
    Complement commit e17b0c351f0b ("MIPS/BFD: Respect the ELF gABI dynamic
    symbol table sort requirement") and correct an inconsistency in dynamic
    symbol accounting data causing an assertion failure in the MIPS backend:
    
    ld: BFD (GNU Binutils) 2.28.51.20170330 assertion fail
    ../../binutils-gdb/bfd/elfxx-mips.c:3860
    
    in the course of making a GOT entry in a static binary to satisfy a GOT
    relocation present in input, due to the local dynamic symbol count not
    having been established.
    
    To do so let backends request `_bfd_elf_link_renumber_dynsyms' to be
    always called, rather than where a dynamic binary is linked only, and
    then make this request in the MIPS backend.
    
    	bfd/
    	PR ld/21334
    	* elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
    	member.
    	* elfxx-target.h [!elf_backend_always_renumber_dynsyms]
    	(elf_backend_always_renumber_dynsyms): Define.
    	(elfNN_bed): Initialize `always_renumber_dynsyms' member.
    	* elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
    	* elflink.c (bfd_elf_size_dynamic_sections): Also call
    	`_bfd_elf_link_renumber_dynsyms' if the backend has requested
    	it.
    	(bfd_elf_size_dynsym_hash_dynstr): Likewise.
    
    	ld/
    	PR ld/21334
    	* testsuite/ld-mips-elf/pr21334.dd: New test.
    	* testsuite/ld-mips-elf/pr21334.gd: New test.
    	* testsuite/ld-mips-elf/pr21334.ld: New test linker script.
    	* testsuite/ld-mips-elf/pr21334.s: New test source.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit c46cec3a8cfe02fbe0f6c67ba53abc5369c5c659
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Apr 24 20:13:28 2017 +0100

    ELF/BFD: Limit `_bfd_elf_link_renumber_dynsyms' call in section GC
    
    Consistently call `_bfd_elf_link_renumber_dynsyms' only if linking a
    dynamic binary, complementing code in `bfd_elf_size_dynsym_hash_dynstr'
    and commit ccabcbe51e85 ("New attempt at fixing MIPS --gc-sections et
    al."), <https://sourceware.org/ml/binutils/2005-08/msg00258.html>.
    
    	bfd/
    	* elflink.c (bfd_elf_size_dynamic_sections): Only call
    	`_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
    	sections have been created.

commit bbdd9a6894d7875407da59d490faf5588163d21c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Apr 24 20:41:33 2017 +0100

    MIPS/readelf: With `-A' also dump GOT in static binaries
    
    A static, non-relocated global offset table will be embedded in static
    binaries produced from objects containing any kind of GOT relocations,
    generally PIC code.  All symbols will have been resolved in static link
    in such binaries making all GOT entries local and their values final as
    there is no run-time load processing further performed.
    
    Dump such GOT with `readelf -A' like already done with regular GOT, to
    make it easier to examine static code that uses accesses via the GOT
    pointer.  There will be no dynamic segment or section in a static binary
    to get the GOT pointer (DT_PLTGOT) from, so use section headers to find
    a `.got' section instead.
    
    	binutils/
    	* readelf.c (process_mips_specific): Add static GOT support.

commit e63d123268f23a4cbc45ee55fb6dbc7d84729da3
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 13:07:49 2017 +0100

    Fix seg-fault attempting to compress a debug section in a corrupt binary.
    
    	PR binutils/21431
    	* compress.c (bfd_init_section_compress_status): Check the return
    	value from bfd_malloc.

commit c185f580b2b3baf7cee762c8ab31ab6925b9534a
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Apr 26 10:32:35 2017 +0100

    xtensa_pseudo_register_read/write - Use regcache_raw_read_unsigned
    
    gdb/
    	* xtensa-tdep.c (xtensa_pseudo_register_read): Use
    	regcache_raw_read_unsigned.
    	(xtensa_pseudo_register_write): Likewise.

commit 19c4559475791cd70e319eaf5c1e23d23d9ae81e
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Apr 26 09:57:15 2017 +0100

    nds32: Abort instead of returning REG_UNKNOWN
    
    gdb/
    	* nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
    	(nds32_pseudo_register_write): Likewise.

commit 03def0812a9ee962d9dcfe9b0ba37783e58acfb8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Apr 26 00:00:36 2017 +0000

    Automatic date update in version.in

commit 4658f12e9c5ec0d2efb04f1688f6cd6bd9f1a47d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Apr 25 21:32:05 2017 +0100

    Change readonly_p to bool
    
    This patch changes readonly_p type to bool.
    
    gdb:
    
    2017-04-25  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (struct regcache) <readonly_p>: Change its type
    	to bool.
    	(regcache_xmalloc_1): Update parameter type and callers update.

commit c4ab9505b53cdc899506ed421fddb7e1f8faf7a3
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Apr 12 00:03:41 2017 +0100

    MIPS/readelf: Simplify GOT[1] data availability check
    
    Unavailable data is handled gracefully in MIPS GOT processing done by
    `print_mips_got_entry', so all that is needed in special GOT[1] handling
    is to verify whether data can be retrieved for the purpose of the GNU
    marker check done with `byte_get'.  Remove the extra error reporting
    code then, introduced with commit 75ec1fdbb797 ("Fix runtime seg-fault
    in readelf when parsing a corrupt MIPS binary.") in the course of
    addressing PR binutils/21344, and defer the error case to regular local
    GOT entry processing.
    
    	binutils/
    	* readelf.c (process_mips_specific): Remove error reporting from
    	GOT[1] processing.

commit 919383ac718c2a3187ee2a9ad659daa22da26258
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Apr 12 00:02:13 2017 +0100

    MIPS/readelf: Remove extraneous null GOT data check
    
    Null data is handled gracefully throughout in MIPS GOT processing, with
    addresses printed normally and unavailable data shown as `<unknown>' by
    `print_mips_got_entry', and special processing code for GOT[1] doing an
    explicit check.  Remove an unwanted null GOT data check then, introduced
    with commit 592458412fb2 in the course of addressing PR binutils/12855.
    
    	binutils/
    	* readelf.c (process_mips_specific): Remove null GOT data check.

commit 126124cc0f3f0417913bfd84d83e4e525b6facf9
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Tue Apr 25 17:07:00 2017 +0200

    [ARC] Enhance enter/leave mnemonics.
    
    enter/leave mnemonics are enhanced to not only accept register ranges
    but also single register (i.e., r13) or even no GPR register at all.
    
    gas/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/leave_enter.d: Update test.
    	* testsuite/gas/arc/leave_enter.s: Likewise.
    
    opcodes/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-dis.c (print_insn_arc): Smartly print enter/leave mnemonics.
    	* arc-opc.c (insert_r13el): New function.
    	(R13_EL): Define.
    	* arc-tbl.h: Add new enter/leave variants.

commit be6a24d8eabdbeef32a9d79e81307af4491fcf56
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Tue Apr 25 17:07:00 2017 +0200

    [ARC] Prefer NOP instead of MOV 0,0
    
    NOP and MOV 0,0 are having the same encoding. As MOV mnemonic is
    located before NOP in the instruction table, the disassembler prints
    MOV 0,0 for NOP. Reorder the instructions such that NOP is first.
    
    gas/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/b.d: Update test.
    	* testsuite/gas/arc/noargs_hs.d: Likewise.
    
    opcode/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-tbl.h: Reorder NOP entry to be before MOV instructions.

commit d581dda88162831ebbd0757312fa93681d945327
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Apr 25 15:15:54 2017 +0100

    Change gdbarch_wchar_bit for AArch64 and ARM
    
    The size of wchar_t on AArch64 and ARM is 4-byte, so we can use the
    default value (4*TARGET_CHAR_BIT).
    
    This patch fixes some fails in gdb.cp/wide_char_types.exp on
    aarch64-linux.
    
    gdb:
    
    2017-04-25  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_gdbarch_init): Don't call
    	set_gdbarch_wchar_bit.
    	* arm-tdep.c (arm_gdbarch_init): Likewise.

commit 0348fd79d4c32243d91e8a55f20f408a9b4ec20d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Apr 25 11:49:37 2017 +0100

    MIPS16/opcodes: Add `-M no-aliases' disassembler option help text
    
    Complement commit 986e18a5a9fd ("Add a second 'pinfo' member to
    mips_opcode to extend number of available bits"),
    <https://sourceware.org/ml/binutils/2005-01/msg00261.html>, and add a
    help text for the `-M no-aliases' disassembler option.
    
    	opcodes/
    	* mips-dis.c (print_mips_disassembler_options): Add
    	`no-aliases'.

commit 6e3d1f0728d980a384c5aa63ce7f2ff3919c5024
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Apr 25 11:44:29 2017 +0100

    MIPS16/opcodes: Annotate instruction aliases
    
    Complement commit 986e18a5a9fd ("Add a second 'pinfo' member to
    mips_opcode to extend number of available bits"),
    <https://sourceware.org/ml/binutils/2005-01/msg00261.html>, and annotate
    MIPS16 NOP, LA, DLA and the synthetic forms of LD and LW instructions as
    aliases.  These correspond to MOVE, and the PC-relative ADDIU, DADDIU,
    LD and LW hardware instructions respectively.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-alias.d: New test.
    	* testsuite/binutils-all/mips/mips16-noalias.d: New test.
    	* testsuite/binutils-all/mips/mips16-alias.s: New test source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new tests.
    
    	opcodes/
    	* mips16-opc.c (AL): New macro.
    	(mips16_opcodes): Mark "nop", "la", "dla", and synthetic forms
    	of "ld" and "lw" as aliases.

commit adc1273cb27286452ed8b32c5ca3ea263b4854f0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Apr 25 10:20:14 2017 +0100

    MIPS/GAS: Correct BFD_RELOC_MIPS16_16_PCREL_S1 fixup size
    
    Correct the size of a BFD_RELOC_MIPS16_16_PCREL_S1 fixup made in
    `md_convert_frag', fixing a bug introduced with commit c9775dde3277
    ("MIPS16: Add R_MIPS16_PC16_S1 branch relocation support)".  Add test
    cases to verify that the overflow of this fixup's in-place addend is
    still correctly detected.
    
    	gas/
    	* config/tc-mips.c (md_convert_frag): Correct
    	BFD_RELOC_MIPS16_16_PCREL_S1 fixup size.
    	* testsuite/gas/mips/mips16-branch-addend-4.d: New test.
    	* testsuite/gas/mips/mips16-branch-addend-5.d: New test.
    	* testsuite/gas/mips/mips16-branch-addend-5.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-branch-addend-4.s: New test source.
    	* testsuite/gas/mips/mips16-branch-addend-5.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit debed3db4887483552103da36d180967ef0dca5f
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 10:58:57 2017 +0100

    Fix build on gcc < 5 (std::is_trivially_copyable missing)
    
    Ref: https://sourceware.org/ml/gdb-patches/2017-04/msg00660.html
    
    Simply skip the poisoning on older compilers.
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
    	(BothAreRelocatable, memcopy, memmove): Don't define.
    	* common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
    	macros.

commit d28b6364b1fba1c0270c001f0d82a69e351e1922
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Apr 25 02:40:43 2017 -0700

    gas: sparc: fix relaxation of CALL instruction into branches in a.out targets
    
    This patch avoids CALL instructions to be optimized into branches if
    the symbols referred to in the CALL instruction are not fully resolved
    at the time the assembler writes its output.
    
    Tested in sparc64-linux-gnu and sparc-sun-sunos4.1.3 targets.
    No regressions.
    
    gas/ChangeLog:
    
    2017-04-25  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	PR gas/21407
    	* config/tc-sparc.c (md_apply_fix): Do not transform `call'
    	instructions into branch instructions in fixups generating
    	additional relocations.
    	* testsuite/gas/sparc/call-relax.s: New file.
    	* testsuite/gas/sparc/call-relax.d: Likewise.
    	* testsuite/gas/sparc/call-relax-aout.d: Likewise.
    	* testsuite/gas/sparc/sparc.exp: Test call-relax and call-relax-aout.

commit b0b92aeb3828219075fce23543fb39fee8608e99
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:41 2017 +0100

    Poison non-POD memset & non-trivially-copyable memcpy/memmove
    
    This patch catches invalid initialization of non-POD types with
    memset, at compile time.
    
    This is what I used to catch the problems fixed by the previous
    patches in the series:
    
      $ make -k 2>&1 | grep "deleted function"
      src/gdb/breakpoint.c:951:53: error: use of deleted function ‘void* memset(T*, int, size_t) [with T = bp_location; <template-parameter-1-2> = void; size_t = long unsigned int]’
      src/gdb/breakpoint.c:7325:32: error: use of deleted function ‘void* memset(T*, int, size_t) [with T = bp_location; <template-parameter-1-2> = void; size_t = long unsigned int]’
      src/gdb/btrace.c:1153:42: error: use of deleted function ‘void* memset(T*, int, size_t) [with T = btrace_insn; <template-parameter-1-2> = void; size_t = long unsigned int]’
    ...
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* common/common-defs.h: Include "common/poison.h".
    	* common/function-view.h: (Not, Or, Requires): Move to traits.h
    	and adjust.
    	* common/poison.h: New file.
    	* common/traits.h: Include <type_traits>.
    	(Not, Or, Requires): New, moved from common/function-view.h.

commit 16c4d54a71d8052988ed9c8005a03a7f934245f4
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memset non-POD types: struct breakpoint
    
    Eh, struct breakpoint was made non-POD just today, with commit
    d28cd78ad820e3 ("Change breakpoint event locations to
    event_location_up").  :-)
    
      src/gdb/breakpoint.c: In function ‘void init_raw_breakpoint_without_location(breakpoint*, gdbarch*, bptype, const breakpoint_ops*)’:
      src/gdb/breakpoint.c:7447:28: error: use of deleted function ‘void* memset(T*, int, size_t) [with T = breakpoint; <template-parameter-1-2> = void; size_t = long unsigned int]’
         memset (b, 0, sizeof (*b));
    			      ^
      In file included from src/gdb/common/common-defs.h:85:0,
    		   from src/gdb/defs.h:28,
    		   from src/gdb/breakpoint.c:20:
      src/gdb/common/poison.h:56:7: note: declared here
       void *memset (T *s, int c, size_t n) = delete;
    	 ^
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* breakpoint.h (struct breakpoint): In-class initialize all
    	fields.  Make boolean fields "bool".
    	* breakpoint.c (init_raw_breakpoint_without_location): Remove
    	memset call and initializations no longer necessary.

commit b5c3668253b909fd1f5b011893a35bb8dfd3be9b
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memset non-POD types: struct btrace_insn
    
    struct btrace_insn is not a POD [1] so we shouldn't be using memset to
    initialize it [2].
    
    Use list-initialization instead, wrapped in a "pt insn to btrace insn"
    function, which looks like just begging to be added next to the
    existing pt_reclassify_insn/pt_btrace_insn_flags functions.
    
    [1] - because its field "flags" is not POD, because enum_flags has a
    non-trivial default ctor.
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* btrace.c (pt_btrace_insn_flags): Change parameter type to
    	reference.
    	(pt_btrace_insn): New function.
    	(ftrace_add_pt): Remove memset call and use pt_btrace_insn.

commit 5625a2864147f4d92b22edfeeab7600818988be2
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memset non-POD types: struct bp_location
    
    struct bp_location is not a POD, so we shouldn't be using memset to
    initialize it.
    
    Caught like this:
    
      src/gdb/breakpoint.c: In function ‘bp_location** get_first_locp_gte_addr(CORE_ADDR)’:
      src/gdb/breakpoint.c:950:53: error: use of deleted function ‘void* memset(T*, int, size_t) [with T = bp_location; <template-parameter-1-2> = void; size_t = long unsigned int]’
         memset (&dummy_loc, 0, sizeof (struct bp_location));
    						       ^
      In file included from src/gdb/defs.h:28:0,
    		   from src/gdb/breakpoint.c:20:
      src/gdb/common/common-defs.h:126:7: note: declared here
       void *memset (T *s, int c, size_t n) = delete;
    	 ^
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
    	"base" field and inherit from "bp_location" instead.  Add
    	non-default ctor.
    	(allocate_location_exception): Use new non-default ctor.
    	* breakpoint.c (get_first_locp_gte_addr): Remove memset call.
    	(init_bp_location): Convert to ...
    	(bp_location::bp_location): ... this new ctor, and remove memset
    	call.
    	(base_breakpoint_allocate_location): Use the new non-default ctor.
    	* breakpoint.h (bp_location): Now a class.  Declare default and
    	non-default ctors.  In-class initialize all members.
    	(init_bp_location): Remove declaration.

commit 23bcc18f470ee4364bd362a8b78c6c1415a9dadb
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memcpy non-trivially-copyable types: Make enum_flags triv. copyable
    
    The delete-memcpy-with-non-trivial-types patch exposed many instances
    of this problem:
    
      src/gdb/btrace.h: In function ‘btrace_insn_s* VEC_btrace_insn_s_quick_insert(VEC_btrace_insn_s*, unsigned int, const btrace_insn_s*, const char*, unsigned int)’:
      src/gdb/common/vec.h:948:62: error: use of deleted function ‘void* memmove(T*, const U*, size_t) [with T = btrace_insn; U = btrace_insn; <template-parameter-1-3> = void; size_t = long unsigned int]’
         memmove (slot_ + 1, slot_, (vec_->num++ - ix_) * sizeof (T));    \
    								^
      src/gdb/common/vec.h:436:1: note: in expansion of macro ‘DEF_VEC_FUNC_O’
       DEF_VEC_FUNC_O(T)         \
       ^
      src/gdb/btrace.h:84:1: note: in expansion of macro ‘DEF_VEC_O’
       DEF_VEC_O (btrace_insn_s);
       ^
    [...]
      src/gdb/common/vec.h:1060:31: error: use of deleted function ‘void* memcpy(T*, const U*, size_t) [with T = btrace_insn; U = btrace_insn; <template-parameter-1-3> = void; size_t = long unsigned int]’
    	  sizeof (T) * vec2_->num);       \
    				 ^
      src/gdb/common/vec.h:437:1: note: in expansion of macro ‘DEF_VEC_ALLOC_FUNC_O’
       DEF_VEC_ALLOC_FUNC_O(T)         \
       ^
      src/gdb/btrace.h:84:1: note: in expansion of macro ‘DEF_VEC_O’
       DEF_VEC_O (btrace_insn_s);
       ^
    
    So, VECs (given it's C roots) rely on memcpy/memcpy of VEC elements to
    be well defined, in order to grow/reallocate its internal elements
    array.  This means that we can only put trivially copyable types in
    VECs.  E.g., if a type requires using a custom copy/move ctor to
    relocate, then we can't put it in a VEC (so we use std::vector
    instead).  But, as shown above, we're violating that requirement.
    
    btrace_insn is currently not trivially copyable, because it contains
    an enum_flags field, and that is itself not trivially copyable.  This
    patch corrects that, by simply removing the user-provided copy
    constructor and assignment operator.  The compiler-generated versions
    work just fine.
    
    Note that std::vector relies on std::is_trivially_copyable too to know
    whether it can reallocate its elements with memcpy/memmove instead of
    having to call copy/move ctors and dtors, so if we have types in
    std::vectors that weren't trivially copyable because of enum_flags,
    this will make such vectors more efficient.
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* common/enum-flags.h (enum_flags): Don't implement copy ctor and
    	assignment operator.

commit a49abe0bb18e04d3a4b692995fcfae70cd470775
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Apr 25 00:00:36 2017 +0000

    Automatic date update in version.in

commit 9e9821ddd80c0d0b3dda54d34cc8867f256d4583
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 14:37:12 2017 -0700

    x86-64: Force symbol dynamic if it isn't undefined weak
    
    Force symbol dynamic if it isn't undefined weak.  Generate relative
    relocation for GOT reference against non-dynamic symbol in PIC to
    avoid unnecessary dynamic symbols.
    
    bfd/
    
    	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
    	no_finish_dynamic_symbol.
    	(elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
    	0.
    	(elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
    	weak symbol, don't make it dynamic.
    	(elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
    	set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
    	relocation for GOT reference.
    	(elf_x86_64_finish_dynamic_symbol): Abort if
    	no_finish_dynamic_symbol isn't 0.
    
    ld/
    
    	* testsuite/ld-x86-64/no-plt.exp: Also check no-plt-1e.nd.
    	* testsuite/ld-x86-64/no-plt-1e.nd: New file.

commit 0dc9a308a1ec9675bf6b33bae9e8b1faa0bad9ed
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 13:42:33 2017 -0700

    i386: Force symbol dynamic if it isn't undefined weak
    
    Force symbol dynamic if it isn't undefined weak.  Generate R_386_RELATIVE
    relocation for R_386_GOT32 relocation against non-dynamic symbol in PIC.
    
    	PR ld/21402
    	* elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
    	undefined weak symbol, don't make it dynamic.
    	(elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
    	set no_finish_dynamic_symbol and generate R_386_RELATIVE
    	relocation for R_386_GOT32.

commit e1ba30532c6de26a14404ab4919bb591e8da3eab
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Apr 24 21:29:12 2017 +0100

    Use floatformat_totalsize_bytes
    
    The code can be replaced by floatformat_totalsize_bytes.
    
    gdb:
    
    2017-04-24  Yao Qi  <yao.qi@linaro.org>
    
    	* doublest.c (convert_doublest_to_floatformat): Call
    	floatformat_totalsize_bytes.

commit e662f84f5d6d014746550ce3d3f623583c043ff0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 09:46:04 2017 -0700

    i386: Skip pr12570 tests for nacl targets
    
    commit f129e49f4d07f4d36319ac757fdcf3a8ce7d605b
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Tue Jan 10 11:30:25 2017 -0800
    
        Don't use elf_i386_eh_frame_plt directly
    
    fixed i386 PLT eh_frame generation.  Skip pr12570 tests since they are
    for non-nacl targets.
    
    	* testsuite/ld-i386/pr12570a.d: Skip for nacl targets.
    	* testsuite/ld-i386/pr12570b.d: Likewise.

commit 1587442d37ee4266e54d59bfdc783574f0587aff
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 09:37:10 2017 -0700

    i386: Set ELF_MAXPAGESIZE to 0x1000 for VxWorks
    
    commit a27e437177412e5b52999723f3c5d5d0d37b9087
    Author: Roland McGrath <roland@gnu.org>
    Date:   Thu Jul 28 22:35:15 2011 +0000
    
        BFD vector for elf32-i386-nacl:
    
    changed ELF_MAXPAGESIZE to 0x10000 for VxWorks.  This patch fixes it
    and updated testsuite/ld-i386/vxworks2.sd to add space for program
    headers.
    
    bfd/
    
    	PR ld/21425
    	* elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
    
    ld/
    
    	PR ld/20815
    	* testsuite/ld-i386/vxworks2.sd: Add space for program headers.

commit 534455547021f3262fa60d32cabb626af01692a3
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Mon Apr 24 14:49:48 2017 +0100

    [GAS/ARM] Fix expansion of ldr pseudo instruction
    
    The LDR rX, =cst pseudo-instruction suffers from two issues for loading
    integer constants in Thumb mode:
    
    - movs is used if the constant and register can be encoded using that
      instruction which leads to unexpected behavior due to its flag-setting
      behavior
    - mov.w, movw and mvn are used for r13 (sp) and r15 (pc) but these
      encoding are marked as UNPREDICTABLE
    
    This patch fixes those issues and update testing accordingly.
    
    2017-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (move_or_literal_pool): Remove code generating MOVS.
    	Forbid MOV.W and MOVW if destination is SP or PC.
    	* testsuite/gas/arm/thumb2_ldr_immediate_highregs_armv6t2.s: Explain
    	expectation of LDR not generating a MOVS for low registers and small
    	constants.  Add tests of MOVW generation.
    	* testsuite/gas/arm/thumb2_ldr_immediate_highregs_armv6t2.d: Update
    	expected disassembly.

commit 8b353c47b70568ab9f0cfd619b7a19e931c2b0c8
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Mon Apr 24 05:31:31 2017 -0700

    ld: fix regressions with rett instructions in sparc tests.
    
    A few tests in the ld testsuite were expecting the disassembler to
    emit `rett' instructions in V9.  This patch updates the tests to
    expect `return' instead.
    
    ld/ChangeLog:
    
    2017-04-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/ld-sparc/tlssunbin64.dd: Expect `return' instructions
    	instead of `rett' in V9.
    	* testsuite/ld-sparc/tlssunnopic64.dd: Likewise.
    	* testsuite/ld-sparc/tlssunpic64.dd: Likewise.

commit 957f6b39cab6cac0e4c54e650c7f75109544ac1d
Author: Tamar Christina <tamar.christina@arm.com>
Date:   Mon Apr 24 11:55:44 2017 +0100

    Fix snafu in aarch64 opcodes debugging statement.
    
    	* aarch64-opc.c (aarch64_logical_immediate_p): Update DEBUG_TRACE
    	arguments.

commit 9ad8982091eeb76b380e459fe721aaeacf7b8f24
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Apr 24 00:00:39 2017 +0000

    Automatic date update in version.in

commit 42354845ae5e00ec1c3519e1f2166b79a9533401
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 17:39:48 2017 +0930

    PR 21418, ar -N lacks arg check
    
    	PR 21418
    	* ar.c (main): Check -a, -b, -i and -N args are given.

commit 7034215fd6d99f275998f7f0f8a346ab35fcbee6
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 17:28:14 2017 +0930

    PR 21417, ar arg check failure
    
    	PR 21417
    	* ar.c (main): Check that an archive file is given after options.

commit b02cd3e978e9273074f7cbe2ca1d5b372225a56d
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 18:31:40 2017 +0930

    PR 21415, objdump fails to check bfd_get_section_contents status
    
    	PR 21415
    	* objdump.c (disassemble_section): Check bfd_get_section_contents
    	status.

commit 7eacd66b086cabb1daab20890d5481894d4f56b2
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 15:21:11 2017 +0930

    PR 21414, null pointer deref of _bfd_elf_large_com_section sym
    
    	PR 21414
    	* section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
    	* elf.c (lcomm_sym): New.
    	(_bfd_elf_large_com_section): Use lcomm_sym section symbol.
    	* bfd-in2.h: Regenerate.

commit bce964aa6c777d236fbd641f2bc7bb931cfe4bf3
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 11:03:34 2017 +0930

    PR 21412, get_reloc_section assumes .rel/.rela name for SHT_REL/RELA.
    
    This patch fixes an assumption made by code that runs for objcopy and
    strip, that SHT_REL/SHR_RELA sections are always named starting with a
    .rel/.rela prefix.  I'm also modifying the interface for
    elf_backend_get_reloc_section, so any backend function just needs to
    handle name mapping.
    
    	PR 21412
    	* elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
    	parameters and comment.
    	(_bfd_elf_get_reloc_section): Delete.
    	(_bfd_elf_plt_get_reloc_section): Declare.
    	* elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
    	New functions.  Don't blindly skip over assumed .rel/.rela prefix.
    	Extracted from..
    	(_bfd_elf_get_reloc_section): ..here.  Delete.
    	(assign_section_numbers): Call elf_get_reloc_section.
    	* elf64-ppc.c (elf_backend_get_reloc_section): Define.
    	* elfxx-target.h (elf_backend_get_reloc_section): Update.

commit 97e83a100aa8250be783304bfe0429761c6e6b6b
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 13:55:49 2017 +0930

    PR 21409, segfault in _bfd_dwarf2_find_nearest_line
    
    	PR 21409
    	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
    	no symbols.

commit f082820db966c79e47a143da774700055a1fad41
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 13:49:50 2017 +0930

    PR 21408, segfault in display_debug_lines_decoded
    
    	PR 21408
    	* dwarf.c (display_debug_lines_decoded): Don't segfault on NULL
    	file_table.

commit b43eea27e99f5fd270b3bec455054ea53ac700bb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Apr 23 00:00:35 2017 +0000

    Automatic date update in version.in

commit bf1554384b186b448904dbc13ee5374239c88520
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sat Apr 22 16:36:01 2017 -0700

    Fix ldn/stn multiple instructions.  Fix testcases with unaligned data.
    
    	sim/aarch64/
    	* simulator.c (vec_load): Add M argument.  Rewrite to iterate over
    	registers based on structure size.
    	(LD4, LD3, LD2, LD1_2, LD1_3, LD1_4): Pass new arg to vec_load.
    	(LD1_1): Replace with call to vec_load.
    	(vec_store): Add new M argument.  Rewrite to iterate over registers
    	based on structure size.
    	(ST4, ST3, ST2, ST1_2, ST1_3, ST1_4): Pass new arg to vec_store.
    	(ST1_1): Replace with call to vec_store.
    
    	sim/testsuite/sim/aarch64/
    	* fcvtz.s, fstur.s, ldn_single.s, ldnr.s, mla.s, mls.s, uzp.s: Align
    	data.
    	* sumulh.s: Delete unnecessary data alignment.
    	* stn_single.s: Align data.  Fix unaligned ldr insns.  Adjust cmp
    	arguments to match change.
    	* ldn_multiple.s, stn_multiple.s: New.

commit 10f489e57677e670bf980e93896762594e9ad908
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:30:21 2017 -0600

    Use ui_out_emit_list
    
    This changes some spots to use ui_out_emit_list.  This only touches
    "easy" cases, where the cleanup was used in a block-structured way.
    There's also one more use of ui_out_emit_tuple in here.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
    	ui_out_emit_list.
    	* stack.c (print_frame): Use ui_out_emit_list.
    	* mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
    	ui_out_emit_list.
    	* mi/mi-main.c (print_one_inferior)
    	(mi_cmd_data_list_register_names)
    	(mi_cmd_data_list_register_values, mi_cmd_list_features)
    	(mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
    	ui_out_emit_list.
    	* mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
    	(mi_output_solib_attribs): Use ui_out_emit_list,
    	ui_out_emit_tuple.
    	* mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
    	* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
    	(mi_cmd_stack_list_args, list_args_or_locals): Use
    	ui_out_emit_list.
    	* disasm.c (do_assembly_only): Use ui_out_emit_list.
    	* breakpoint.c (print_solib_event, output_thread_groups): Use
    	ui_out_emit_list.

commit 0092b74da6d86185c4d0c0fa0f540b97647bf44a
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:16:10 2017 -0600

    Use ui_out_emit_tuple in more places in MI
    
    This patch changes a few more spots in MI to use ui_out_emit_tuple.
    These changes required the use of gdb::optional.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
    	* mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
    	* mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.

commit a14a62ddff9eadbb8a7ad101ab06b02e44b6c00a
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:15:14 2017 -0600

    Use ui_out_emit_tuple in tracepoint.c
    
    This changes some code in tracepoint.c to use ui_out_emit_tuple.  One
    of these involved removing an otherwise unrelated cleanup (changing
    type to std::string) and the other involved introducing a new block.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* tracepoint.c (tvariables_info_1)
    	(print_one_static_tracepoint_marker): Use ui_out_emit_tuple.

commit 46b9c12945629fffb61001a8f13a37c96675c0b7
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:10:02 2017 -0600

    More uses of ui_out_emit_tuple
    
    This patch adds a few more uses of ui_out_emit_tuple.  In these cases
    a slightly more complicated change was needed.  This also adds
    annotate_arg_emitter, for use in stack.c, to avoid having to introduce
    a new scope and reindent the code for a single call.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* stack.c (print_frame_arg): Use ui_out_emit_tuple,
    	annotate_arg_emitter.
    	* breakpoint.c (print_mention_watchpoint)
    	(print_mention_masked_watchpoint): Use ui_out_emit_tuple.
    	* annotate.h (struct annotate_arg_emitter): New.

commit 2e78302469502f4f8a98144b60c09d4d9b6438fd
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 08:23:08 2017 -0600

    Use ui_out_emit_tuple
    
    This patch changes various places to use ui_out_emit_tuple,
    eliminating a number of cleanups.  This patch only tackles "easy"
    cases, which are ones where the cleanups in question were
    block-structured and did not involve any changes other than the
    obvious replacement.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* record-btrace.c (record_btrace_insn_history)
    	(record_btrace_insn_history_range, record_btrace_call_history)
    	(record_btrace_call_history_range): Use ui_out_emit_tuple.
    	* thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
    	ui_out_emit_tuple.
    	* stack.c (print_frame_info): Use ui_out_emit_tuple.
    	* solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
    	* skip.c (skip_info): Use ui_out_emit_tuple.
    	* remote.c (show_remote_cmd): Use ui_out_emit_tuple.
    	* progspace.c (print_program_space): Use ui_out_emit_tuple.
    	* probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
    	* osdata.c (info_osdata): Use ui_out_emit_tuple.
    	* mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
    	ui_out_emit_tuple.
    	* mi/mi-main.c (print_one_inferior, list_available_thread_groups)
    	(output_register, mi_cmd_data_read_memory)
    	(mi_cmd_data_read_memory_bytes, mi_load_progress)
    	(mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
    	* mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
    	Use ui_out_emit_tuple.
    	* mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
    	ui_out_emit_tuple.
    	* mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
    	(mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
    	* linux-thread-db.c (info_auto_load_libthread_db): Use
    	ui_out_emit_tuple.
    	* inferior.c (print_inferior): Use ui_out_emit_tuple.
    	* gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
    	* disasm.c (do_mixed_source_and_assembly_deprecated)
    	(do_mixed_source_and_assembly): Use ui_out_emit_tuple.
    	* cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
    	* cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
    	* breakpoint.c (print_one_breakpoint_location)
    	(print_one_breakpoint): Use ui_out_emit_tuple.
    	* auto-load.c (print_script, info_auto_load_cmd): Use
    	ui_out_emit_tuple.
    	* ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.

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

Summary of changes:
 bfd/ChangeLog                                      |  191 +++++
 bfd/bfd-in2.h                                      |   12 +
 bfd/compress.c                                     |   19 +-
 bfd/dwarf2.c                                       |    2 +-
 bfd/elf-bfd.h                                      |   30 +-
 bfd/elf-eh-frame.c                                 |  162 ++++-
 bfd/elf-properties.c                               |   11 +-
 bfd/elf.c                                          |   67 +-
 bfd/elf32-i386.c                                   |  230 +++---
 bfd/elf32-m32c.c                                   |    3 +-
 bfd/elf32-msp430.c                                 |    3 +-
 bfd/elf32-ppc.c                                    |   38 +-
 bfd/elf64-ppc.c                                    |   28 +-
 bfd/elf64-x86-64.c                                 |  326 ++++----
 bfd/elflink.c                                      |   48 +-
 bfd/elfxx-mips.c                                   |    2 +-
 bfd/elfxx-mips.h                                   |    3 +-
 bfd/elfxx-target.h                                 |    8 +-
 bfd/reloc.c                                        |   29 +-
 bfd/section.c                                      |   24 +-
 bfd/version.h                                      |    2 +-
 binutils/ChangeLog                                 |   80 ++
 binutils/ar.c                                      |   13 +-
 binutils/bucomm.c                                  |    3 +
 binutils/dwarf.c                                   |   78 ++-
 binutils/objdump.c                                 |    7 +-
 binutils/readelf.c                                 |  175 ++++-
 binutils/testsuite/binutils-all/mips/mips.exp      |    2 +
 .../testsuite/binutils-all/mips/mips16-alias.d     |   15 +
 .../testsuite/binutils-all/mips/mips16-alias.s     |   20 +
 .../testsuite/binutils-all/mips/mips16-noalias.d   |   16 +
 binutils/testsuite/binutils-all/note-2-32.s        |   32 +-
 binutils/testsuite/binutils-all/note-2-64.s        |   34 +-
 gas/ChangeLog                                      |  114 +++
 gas/config/tc-arm.c                                |   14 +-
 gas/config/tc-mips.c                               |  316 ++++----
 gas/config/tc-sparc.c                              |    9 +-
 gas/symbols.c                                      |   16 +-
 gas/testsuite/gas/arc/b.d                          |    8 +-
 gas/testsuite/gas/arc/leave_enter.d                |   41 +-
 gas/testsuite/gas/arc/leave_enter.s                |   11 +
 gas/testsuite/gas/arc/noargs_hs.d                  |    2 +-
 .../arm/thumb2_ldr_immediate_highregs_armv6t2.d    |   24 +-
 .../arm/thumb2_ldr_immediate_highregs_armv6t2.s    |   16 +-
 gas/testsuite/gas/mips/mips.exp                    |    9 +
 gas/testsuite/gas/mips/mips16-branch-addend-4.d    |   30 +
 gas/testsuite/gas/mips/mips16-branch-addend-4.s    |   24 +
 gas/testsuite/gas/mips/mips16-branch-addend-5.d    |    4 +
 gas/testsuite/gas/mips/mips16-branch-addend-5.l    |   11 +
 gas/testsuite/gas/mips/mips16-branch-addend-5.s    |   24 +
 gas/testsuite/gas/mips/option-pic-relax-0.d        |   21 +
 gas/testsuite/gas/mips/option-pic-relax-0.s        |   15 +
 gas/testsuite/gas/mips/option-pic-relax-1.d        |   18 +
 gas/testsuite/gas/mips/option-pic-relax-1.s        |   12 +
 gas/testsuite/gas/mips/option-pic-relax-2.d        |   28 +
 gas/testsuite/gas/mips/option-pic-relax-2.l        |    2 +
 gas/testsuite/gas/mips/option-pic-relax-2.s        |   19 +
 gas/testsuite/gas/mips/option-pic-relax-3.d        |   20 +
 gas/testsuite/gas/mips/option-pic-relax-3.l        |    2 +
 gas/testsuite/gas/mips/option-pic-relax-3.s        |   16 +
 gas/testsuite/gas/mips/option-pic-relax-3a.d       |    9 +
 gas/testsuite/gas/mips/option-pic-relax-4.d        |   28 +
 gas/testsuite/gas/mips/option-pic-relax-4.l        |    2 +
 gas/testsuite/gas/mips/option-pic-relax-4.s        |   20 +
 gas/testsuite/gas/mips/option-pic-relax-5.d        |   20 +
 gas/testsuite/gas/mips/option-pic-relax-5.l        |    2 +
 gas/testsuite/gas/mips/option-pic-relax-5.s        |   17 +
 gas/testsuite/gas/sparc/call-relax-aout.d          |   19 +
 gas/testsuite/gas/sparc/call-relax.d               |   18 +
 gas/testsuite/gas/sparc/call-relax.s               |   10 +
 gas/testsuite/gas/sparc/sparc.exp                  |    4 +
 gdb/ChangeLog                                      |  440 +++++++++++
 gdb/aarch64-tdep.c                                 |    1 -
 gdb/ada-lang.c                                     |   19 +-
 gdb/ada-tasks.c                                    |    4 +-
 gdb/annotate.h                                     |   11 +
 gdb/arch-utils.c                                   |    9 +
 gdb/arch-utils.h                                   |    6 +
 gdb/arm-tdep.c                                     |    1 -
 gdb/auto-load.c                                    |   16 +-
 gdb/breakpoint.c                                   |   81 +--
 gdb/breakpoint.h                                   |  125 ++--
 gdb/btrace.c                                       |   23 +-
 gdb/cli/cli-setshow.c                              |   15 +-
 gdb/common/common-defs.h                           |    1 +
 gdb/common/enum-flags.h                            |   10 -
 gdb/common/function-view.h                         |   40 +-
 gdb/common/poison.h                                |   87 +++
 gdb/common/traits.h                                |   43 +-
 gdb/cp-abi.c                                       |    5 +-
 gdb/disasm.c                                       |   19 +-
 gdb/doublest.c                                     |    3 +-
 gdb/dwarf2-frame.c                                 |   92 +--
 gdb/dwarf2-frame.h                                 |   58 ++
 gdb/gdb_bfd.c                                      |    4 +-
 gdb/gdbarch.c                                      |   23 +
 gdb/gdbarch.h                                      |    7 +
 gdb/gdbarch.sh                                     |    3 +
 gdb/gdbtypes.c                                     |  106 ++--
 gdb/gdbtypes.h                                     |   13 +-
 gdb/ia64-tdep.c                                    |   61 +-
 gdb/infcmd.c                                       |   14 +-
 gdb/inferior.c                                     |    5 +-
 gdb/linux-thread-db.c                              |    3 +-
 gdb/mi/mi-cmd-file.c                               |    5 +-
 gdb/mi/mi-cmd-info.c                               |   10 +-
 gdb/mi/mi-cmd-stack.c                              |   28 +-
 gdb/mi/mi-cmd-var.c                                |   21 +-
 gdb/mi/mi-interp.c                                 |   12 +-
 gdb/mi/mi-main.c                                   |  110 +--
 gdb/mi/mi-symbol-cmds.c                            |    8 +-
 gdb/mips-linux-nat.c                               |    5 +-
 gdb/mips-tdep.c                                    |    2 +-
 gdb/nds32-tdep.c                                   |   23 +-
 gdb/nto-tdep.c                                     |   35 +-
 gdb/osdata.c                                       |   29 +-
 gdb/probe.c                                        |    5 +-
 gdb/progspace.c                                    |    4 +-
 gdb/python/py-inferior.c                           |    7 +-
 gdb/record-btrace.c                                |   22 +-
 gdb/regcache.c                                     |  785 +++++++++++---------
 gdb/regcache.h                                     |  166 ++++-
 gdb/remote.c                                       |   11 +-
 gdb/skip.c                                         |    5 +-
 gdb/solib-aix.c                                    |  110 ++--
 gdb/solib-darwin.c                                 |   32 +-
 gdb/solib-dsbt.c                                   |   39 +-
 gdb/solib-frv.c                                    |  110 ++--
 gdb/solib-svr4.c                                   |  115 ++--
 gdb/solib-svr4.h                                   |   23 +
 gdb/solib-target.c                                 |  114 ++--
 gdb/solib.c                                        |    6 +-
 gdb/solist.h                                       |   10 +-
 gdb/sparc-tdep.c                                   |   32 +
 gdb/stack.c                                        |   44 +-
 gdb/target.c                                       |    5 +-
 gdb/testsuite/ChangeLog                            |   23 +
 gdb/testsuite/gdb.base/environ.exp                 |  302 ++-------
 gdb/testsuite/gdb.base/info-program.exp            |   45 ++
 gdb/testsuite/gdb.cp/oranking.cc                   |   22 +
 gdb/testsuite/gdb.cp/oranking.exp                  |    9 +-
 gdb/testsuite/gdb.cp/rvalue-ref-overload.exp       |    1 -
 gdb/testsuite/gdb.cp/rvalue-ref-params.exp         |    1 -
 gdb/thread.c                                       |   30 +-
 gdb/tracepoint.c                                   |   44 +-
 gdb/windows-nat.c                                  |   52 +-
 gdb/xcoffread.c                                    |   68 ++-
 gdb/xtensa-tdep.c                                  |   21 +-
 gold/ChangeLog                                     |    4 +
 gold/testsuite/plugin_section_order.c              |    1 +
 ld/ChangeLog                                       |   60 ++
 ld/testsuite/config/default.exp                    |   37 +
 ld/testsuite/ld-elf/shared.exp                     |   86 +++
 ld/testsuite/ld-i386/i386.exp                      |    1 +
 ld/testsuite/ld-i386/pr12570a.d                    |    1 +
 ld/testsuite/ld-i386/pr12570b.d                    |    1 +
 ld/testsuite/ld-i386/tls.exp                       |  111 +++
 ld/testsuite/ld-i386/tlsdesc1a.c                   |   19 +
 ld/testsuite/ld-i386/tlsdesc1b.c                   |    8 +
 ld/testsuite/ld-i386/tlsdesc2.d                    |   10 +
 ld/testsuite/ld-i386/vxworks2.sd                   |    2 +-
 ld/testsuite/ld-ifunc/ifunc.exp                    |   99 +++
 ld/testsuite/ld-mips-elf/mips-elf.exp              |   10 +
 ld/testsuite/ld-mips-elf/pr21334.dd                |   10 +
 ld/testsuite/ld-mips-elf/pr21334.gd                |   11 +
 ld/testsuite/ld-mips-elf/pr21334.ld                |    9 +
 ld/testsuite/ld-mips-elf/pr21334.s                 |   20 +
 ld/testsuite/ld-sparc/tlssunbin64.dd               |    2 +-
 ld/testsuite/ld-sparc/tlssunnopic64.dd             |    2 +-
 ld/testsuite/ld-sparc/tlssunpic64.dd               |    2 +-
 ld/testsuite/ld-x86-64/no-plt-1e.nd                |    7 +
 ld/testsuite/ld-x86-64/no-plt.exp                  |    2 +-
 ld/testsuite/ld-x86-64/pr21038a.d                  |    6 +-
 ld/testsuite/ld-x86-64/pr21038c.d                  |    4 +-
 ld/testsuite/ld-x86-64/tls.exp                     |  116 +++
 ld/testsuite/ld-x86-64/tlsdesc1a.c                 |   19 +
 ld/testsuite/ld-x86-64/tlsdesc1b.c                 |    8 +
 ld/testsuite/ld-x86-64/tlsdesc2.d                  |   10 +
 ld/testsuite/ld-x86-64/x86-64.exp                  |    1 +
 opcodes/ChangeLog                                  |   27 +
 opcodes/aarch64-opc.c                              |    4 +-
 opcodes/arc-dis.c                                  |   19 +-
 opcodes/arc-opc.c                                  |   20 +-
 opcodes/arc-tbl.h                                  |    8 +-
 opcodes/mips-dis.c                                 |    3 +
 opcodes/mips16-opc.c                               |   12 +-
 sim/aarch64/ChangeLog                              |   11 +
 sim/aarch64/simulator.c                            |  290 +++-----
 sim/testsuite/sim/aarch64/ChangeLog                |    9 +
 sim/testsuite/sim/aarch64/fcvtz.s                  |    1 +
 sim/testsuite/sim/aarch64/fstur.s                  |    1 +
 sim/testsuite/sim/aarch64/ldn_multiple.s           |  136 ++++
 sim/testsuite/sim/aarch64/ldn_single.s             |    2 +
 sim/testsuite/sim/aarch64/ldnr.s                   |    2 +
 sim/testsuite/sim/aarch64/mla.s                    |    2 +
 sim/testsuite/sim/aarch64/mls.s                    |    2 +
 sim/testsuite/sim/aarch64/stn_multiple.s           |  171 +++++
 sim/testsuite/sim/aarch64/stn_single.s             |   24 +-
 sim/testsuite/sim/aarch64/sumulh.s                 |    3 -
 sim/testsuite/sim/aarch64/uzp.s                    |    2 +
 200 files changed, 5385 insertions(+), 2630 deletions(-)
 create mode 100644 binutils/testsuite/binutils-all/mips/mips16-alias.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips16-alias.s
 create mode 100644 binutils/testsuite/binutils-all/mips/mips16-noalias.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-addend-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-addend-4.s
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-addend-5.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-addend-5.l
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-addend-5.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-0.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-0.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-1.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-1.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-2.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-2.l
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-2.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-3.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-3.l
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-3.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-3a.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-4.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-4.l
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-4.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-5.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-5.l
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-5.s
 create mode 100644 gas/testsuite/gas/sparc/call-relax-aout.d
 create mode 100644 gas/testsuite/gas/sparc/call-relax.d
 create mode 100644 gas/testsuite/gas/sparc/call-relax.s
 create mode 100644 gdb/common/poison.h
 create mode 100644 gdb/testsuite/gdb.base/info-program.exp
 create mode 100644 ld/testsuite/ld-i386/tlsdesc1a.c
 create mode 100644 ld/testsuite/ld-i386/tlsdesc1b.c
 create mode 100644 ld/testsuite/ld-i386/tlsdesc2.d
 create mode 100644 ld/testsuite/ld-mips-elf/pr21334.dd
 create mode 100644 ld/testsuite/ld-mips-elf/pr21334.gd
 create mode 100644 ld/testsuite/ld-mips-elf/pr21334.ld
 create mode 100644 ld/testsuite/ld-mips-elf/pr21334.s
 create mode 100644 ld/testsuite/ld-x86-64/no-plt-1e.nd
 create mode 100644 ld/testsuite/ld-x86-64/tlsdesc1a.c
 create mode 100644 ld/testsuite/ld-x86-64/tlsdesc1b.c
 create mode 100644 ld/testsuite/ld-x86-64/tlsdesc2.d
 create mode 100644 sim/testsuite/sim/aarch64/ldn_multiple.s
 create mode 100644 sim/testsuite/sim/aarch64/stn_multiple.s

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ba2d134..dff6a59 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,194 @@
+2017-04-29  Alan Modra  <amodra@gmail.com>
+
+	PR 21432
+	* reloc.c (reloc_offset_in_range): New function.
+	(bfd_perform_relocation, bfd_install_relocation): Use it.
+	(_bfd_final_link_relocate): Likewise.
+
+2017-04-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_allocate_dynrelocs): Check plt_got
+	before using .plt.got.
+	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
+
+2017-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Use "="
+	instead of "+=" to update 0.
+
+2017-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_create_dynamic_sections): Create the
+	.plt.got section here.
+	(elf_i386_check_relocs): Don't create the .plt.got section.
+	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Create
+	the .plt.got and .plt.bnd sections here.
+	(elf_x86_64_check_relocs): Don't create the .plt.got nor
+	.plt.bnd sections.
+
+2017-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Remove
+	has_bnd_reloc.
+	(elf_x86_64_link_hash_newfunc): Don't clear has_bnd_reloc.
+	(elf_x86_64_copy_indirect_symbol): Don't copy has_bnd_reloc.
+	(elf_x86_64_check_relocs): Don't set has_bnd_reloc.
+	(elf_x86_64_finish_dynamic_symbol): Check bndplt instead of
+	has_bnd_reloc.
+
+2017-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf-bfd.h (elf_backend_data): Change setup_gnu_properties
+	to return bfd *.
+	(_bfd_elf_link_setup_gnu_properties): Return bfd *.
+	* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Return
+	the first relocatable ELF input with GNU properties.
+
+2017-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_finish_dynamic_sections): Simplify
+	VxWorks for non-PIC.
+
+2017-04-27  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct elf_backend_data): Make asection param of
+	elf_backend_eh_frame_address_size const.
+	(_bfd_elf_eh_frame_address_size): Likewise.
+	* elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise.
+	* elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise.
+	* elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise.
+	* elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise.
+	(next_cie_fde_offset): Constify params.
+	(offset_adjust, adjust_eh_frame_local_symbols): Likewise.
+
+2017-04-27  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
+	(_bfd_elf_adjust_eh_frame_global_symbol): Declare.
+	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
+	aug_data_len.
+	(offset_adjust): New function.
+	(_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
+	(adjust_eh_frame_local_symbols): Likewise.
+	(_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
+	after changing anything.  Return true if anything changed.
+	* elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
+	_bfd_elf_adjust_eh_frame_global_symbol for globals.
+
+2017-04-27  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
+	when force_local.
+
+2017-04-27  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
+	(ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
+	(ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
+	(ppc_elf_relocate_section): Likewise.  Delete silly optimisation
+	for undef and undefweak dyn_relocs.
+	* elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
+	(ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
+	(allocate_got, allocate_dynrelocs): Likewise.
+	(ppc64_elf_relocate_section): Likewise.
+
+2017-04-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
+	DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
+	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
+	add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
+
+2017-04-26  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21434
+	* reloc.c (bfd_perform_relocation): Check for a negative address
+	in the reloc.
+
+2017-04-26  Maciej W. Rozycki  <macro@imgtec.com>
+
+	PR ld/21334
+	* elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
+	member.
+	* elfxx-target.h [!elf_backend_always_renumber_dynsyms]
+	(elf_backend_always_renumber_dynsyms): Define.
+	(elfNN_bed): Initialize `always_renumber_dynsyms' member.
+	* elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
+	* elflink.c (bfd_elf_size_dynamic_sections): Also call
+	`_bfd_elf_link_renumber_dynsyms' if the backend has requested
+	it.
+	(bfd_elf_size_dynsym_hash_dynstr): Likewise.
+
+2017-04-26  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* elflink.c (bfd_elf_size_dynamic_sections): Only call
+	`_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
+	sections have been created.
+
+2017-04-26  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21431
+	* compress.c (bfd_init_section_compress_status): Check the return
+	value from bfd_malloc.
+
+2017-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
+	no_finish_dynamic_symbol.
+	(elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
+	0.
+	(elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
+	weak symbol, don't make it dynamic.
+	(elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
+	set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
+	relocation for GOT reference.
+	(elf_x86_64_finish_dynamic_symbol): Abort if
+	no_finish_dynamic_symbol isn't 0.
+
+2017-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/21402
+	* elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
+	undefined weak symbol, don't make it dynamic.
+	(elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
+	set no_finish_dynamic_symbol and generate R_386_RELATIVE
+	relocation for R_386_GOT32.
+
+2017-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/21425
+	* elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
+
+2017-04-23  Alan Modra  <amodra@gmail.com>
+
+	PR 21414
+	* section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
+	* elf.c (lcomm_sym): New.
+	(_bfd_elf_large_com_section): Use lcomm_sym section symbol.
+	* bfd-in2.h: Regenerate.
+
+2017-04-23  Alan Modra  <amodra@gmail.com>
+
+	PR 21412
+	* elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
+	parameters and comment.
+	(_bfd_elf_get_reloc_section): Delete.
+	(_bfd_elf_plt_get_reloc_section): Declare.
+	* elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
+	New functions.  Don't blindly skip over assumed .rel/.rela prefix.
+	Extracted from..
+	(_bfd_elf_get_reloc_section): ..here.  Delete.
+	(assign_section_numbers): Call elf_get_reloc_section.
+	* elf64-ppc.c (elf_backend_get_reloc_section): Define.
+	* elfxx-target.h (elf_backend_get_reloc_section): Update.
+
+2017-04-23  Alan Modra  <amodra@gmail.com>
+
+	PR 21409
+	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
+	no symbols.
+
 2017-04-21  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR ld/21402
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 1d73134..17a35c0 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1839,6 +1839,18 @@ extern asection _bfd_std_section[4];
      { NULL }, { NULL }                                                \
     }
 
+/* We use a macro to initialize the static asymbol structures because
+   traditional C does not permit us to initialize a union member while
+   gcc warns if we don't initialize it.
+   the_bfd, name, value, attr, section [, udata]  */
+#ifdef __STDC__
+#define GLOBAL_SYM_INIT(NAME, SECTION) \
+  { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
+#else
+#define GLOBAL_SYM_INIT(NAME, SECTION) \
+  { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
+#endif
+
 void bfd_section_list_clear (bfd *);
 
 asection *bfd_get_section_by_name (bfd *abfd, const char *name);
diff --git a/bfd/compress.c b/bfd/compress.c
index f881c07..c854a20 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -542,7 +542,6 @@ bfd_init_section_compress_status (bfd *abfd, sec_ptr sec)
 {
   bfd_size_type uncompressed_size;
   bfd_byte *uncompressed_buffer;
-  bfd_boolean ret;
 
   /* Error if not opened for read.  */
   if (abfd->direction != read_direction
@@ -558,18 +557,18 @@ bfd_init_section_compress_status (bfd *abfd, sec_ptr sec)
   /* Read in the full section contents and compress it.  */
   uncompressed_size = sec->size;
   uncompressed_buffer = (bfd_byte *) bfd_malloc (uncompressed_size);
+  /* PR 21431 */
+  if (uncompressed_buffer == NULL)
+    return FALSE;
+
   if (!bfd_get_section_contents (abfd, sec, uncompressed_buffer,
 				 0, uncompressed_size))
-    ret = FALSE;
-  else
-    {
-      uncompressed_size = bfd_compress_section_contents (abfd, sec,
-							 uncompressed_buffer,
-							 uncompressed_size);
-      ret = uncompressed_size != 0;
-    }
+    return FALSE;
 
-  return ret;
+  uncompressed_size = bfd_compress_section_contents (abfd, sec,
+						     uncompressed_buffer,
+						     uncompressed_size);
+  return uncompressed_size != 0;
 }
 
 /*
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 132a674..0ef3e1f 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -4205,7 +4205,7 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd,
          looking up the function by section + offset uses the
          DW_AT_decl_line from the function DW_TAG_subprogram for the line,
          which will be the line of the function name.  */
-      if ((section->flags & SEC_CODE) == 0)
+      if (symbols != NULL && (section->flags & SEC_CODE) == 0)
 	{
 	  asymbol **tmp;
 
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index af377ee..4110ace 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -326,6 +326,12 @@ struct eh_cie_fde
 	 or 0 if the CIE doesn't have any.  */
       unsigned int personality_offset : 8;
 
+      /* Length of augmentation.  aug_str_len is the length of the
+	 string including null terminator.  aug_data_len is the length
+	 of the rest up to the initial insns.  */
+      unsigned int aug_str_len : 3;
+      unsigned int aug_data_len : 5;
+
       /* True if we have marked relocations associated with this CIE.  */
       unsigned int gc_mark : 1;
 
@@ -354,7 +360,7 @@ struct eh_cie_fde
       unsigned int merged : 1;
 
       /* Unused bits.  */
-      unsigned int pad1 : 17;
+      unsigned int pad1 : 9;
     } cie;
   } u;
   unsigned int reloc_index;
@@ -1285,7 +1291,7 @@ struct elf_backend_data
      that can't be determined for some reason.  The default definition
      goes by the bfd's EI_CLASS.  */
   unsigned int (*elf_backend_eh_frame_address_size)
-    (bfd *, asection *);
+    (bfd *, const asection *);
 
   /* These functions tell elf-eh-frame whether to attempt to turn
      absolute or lsda encodings into pc-relative ones.  The default
@@ -1360,8 +1366,10 @@ struct elf_backend_data
   bfd_size_type (*maybe_function_sym) (const asymbol *sym, asection *sec,
 				       bfd_vma *code_off);
 
-  /* Return the section which RELOC_SEC applies to.  */
-  asection *(*get_reloc_section) (asection *reloc_sec);
+  /* Given NAME, the name of a relocation section stripped of its
+     .rel/.rela prefix, return the section in ABFD to which the
+     relocations apply.  */
+  asection *(*get_reloc_section) (bfd *abfd, const char *name);
 
   /* Called to set the sh_flags, sh_link and sh_info fields of OSECTION which
      has a type >= SHT_LOOS.  Returns TRUE if the fields were initialised,
@@ -1433,7 +1441,7 @@ struct elf_backend_data
 				       elf_property *);
 
   /* Set up GNU properties.  */
-  void (*setup_gnu_properties) (struct bfd_link_info *);
+  bfd *(*setup_gnu_properties) (struct bfd_link_info *);
 
   /* Encoding used for compact EH tables.  */
   int (*compact_eh_encoding) (struct bfd_link_info *);
@@ -1529,6 +1537,10 @@ struct elf_backend_data
   /* Address of protected data defined in the shared library may be
      external, i.e., due to copy relocation.   */
   unsigned extern_protected_data : 1;
+
+  /* True if `_bfd_elf_link_renumber_dynsyms' must be called even for
+     static binaries.  */
+  unsigned always_renumber_dynsyms : 1;
 };
 
 /* Information about reloc sections associated with a bfd_elf_section_data
@@ -1975,7 +1987,7 @@ extern void bfd_elf_print_symbol
   (bfd *, void *, asymbol *, bfd_print_symbol_type);
 
 extern unsigned int _bfd_elf_eh_frame_address_size
-  (bfd *, asection *);
+  (bfd *, const asection *);
 extern bfd_byte _bfd_elf_encode_eh_address
   (bfd *abfd, struct bfd_link_info *info, asection *osec, bfd_vma offset,
    asection *loc_sec, bfd_vma loc_offset, bfd_vma *encoded);
@@ -2174,6 +2186,8 @@ extern bfd_boolean _bfd_elf_end_eh_frame_parsing
 extern bfd_boolean _bfd_elf_discard_section_eh_frame
   (bfd *, struct bfd_link_info *, asection *,
    bfd_boolean (*) (bfd_vma, void *), struct elf_reloc_cookie *);
+extern bfd_boolean _bfd_elf_adjust_eh_frame_global_symbol
+  (struct elf_link_hash_entry *, void *);
 extern bfd_boolean _bfd_elf_discard_section_eh_frame_hdr
   (bfd *, struct bfd_link_info *);
 extern bfd_vma _bfd_elf_eh_frame_section_offset
@@ -2448,7 +2462,7 @@ extern bfd_boolean _bfd_elf_is_function_type (unsigned int);
 extern bfd_size_type _bfd_elf_maybe_function_sym (const asymbol *, asection *,
 						  bfd_vma *);
 
-extern asection *_bfd_elf_get_reloc_section (asection *);
+extern asection *_bfd_elf_plt_get_reloc_section (bfd *, const char *);
 
 extern int bfd_elf_get_default_section_type (flagword);
 
@@ -2593,7 +2607,7 @@ extern bfd_boolean _bfd_elf_parse_gnu_properties
   (bfd *, Elf_Internal_Note *);
 extern elf_property * _bfd_elf_get_property
   (bfd *, unsigned int, unsigned int);
-extern void _bfd_elf_link_setup_gnu_properties
+extern bfd *_bfd_elf_link_setup_gnu_properties
   (struct bfd_link_info *);
 
 /* The linker may need to keep track of the number of relocs that it
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 1743823..52ba9c6 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -326,9 +326,9 @@ size_of_output_cie_fde (struct eh_cie_fde *entry)
 /* Return the offset of the FDE or CIE after ENT.  */
 
 static unsigned int
-next_cie_fde_offset (struct eh_cie_fde *ent,
-		     struct eh_cie_fde *last,
-		     asection *sec)
+next_cie_fde_offset (const struct eh_cie_fde *ent,
+		     const struct eh_cie_fde *last,
+		     const asection *sec)
 {
   while (++ent < last)
     {
@@ -757,6 +757,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
 
 	  strcpy (cie->augmentation, (char *) buf);
 	  buf = (bfd_byte *) strchr ((char *) buf, '\0') + 1;
+	  this_inf->u.cie.aug_str_len = buf - start - 1;
 	  ENSURE_NO_RELOCS (buf);
 	  if (buf[0] == 'e' && buf[1] == 'h')
 	    {
@@ -845,6 +846,8 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
 		    goto free_no_table;
 		  }
 	    }
+	  this_inf->u.cie.aug_data_len
+	    = buf - start - 1 - this_inf->u.cie.aug_str_len;
 
 	  /* For shared libraries, try to get rid of as many RELATIVE relocs
 	     as possible.  */
@@ -1327,6 +1330,143 @@ find_merged_cie (bfd *abfd, struct bfd_link_info *info, asection *sec,
   return new_cie->cie_inf;
 }
 
+/* For a given OFFSET in SEC, return the delta to the new location
+   after .eh_frame editing.  */
+
+static bfd_signed_vma
+offset_adjust (bfd_vma offset, const asection *sec)
+{
+  struct eh_frame_sec_info *sec_info
+    = (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info;
+  unsigned int lo, hi, mid;
+  struct eh_cie_fde *ent;
+  bfd_signed_vma delta;
+
+  lo = 0;
+  hi = sec_info->count;
+  if (hi == 0)
+    return 0;
+
+  while (lo < hi)
+    {
+      mid = (lo + hi) / 2;
+      ent = &sec_info->entry[mid];
+      if (offset < ent->offset)
+	hi = mid;
+      else if (mid + 1 >= hi)
+	break;
+      else if (offset >= ent[1].offset)
+	lo = mid + 1;
+      else
+	break;
+    }
+
+  if (!ent->removed)
+    delta = (bfd_vma) ent->new_offset - (bfd_vma) ent->offset;
+  else if (ent->cie && ent->u.cie.merged)
+    {
+      struct eh_cie_fde *cie = ent->u.cie.u.merged_with;
+      delta = ((bfd_vma) cie->new_offset + cie->u.cie.u.sec->output_offset
+	       - (bfd_vma) ent->offset - sec->output_offset);
+    }
+  else
+    {
+      /* Is putting the symbol on the next entry best for a deleted
+	 CIE/FDE?  */
+      struct eh_cie_fde *last = sec_info->entry + sec_info->count;
+      delta = ((bfd_vma) next_cie_fde_offset (ent, last, sec)
+	       - (bfd_vma) ent->offset);
+      return delta;
+    }
+
+  /* Account for editing within this CIE/FDE.  */
+  offset -= ent->offset;
+  if (ent->cie)
+    {
+      unsigned int extra
+	= ent->add_augmentation_size + ent->u.cie.add_fde_encoding;
+      if (extra == 0
+	  || offset <= 9u + ent->u.cie.aug_str_len)
+	return delta;
+      delta += extra;
+      if (offset <= 9u + ent->u.cie.aug_str_len + ent->u.cie.aug_data_len)
+	return delta;
+      delta += extra;
+    }
+  else
+    {
+      unsigned int ptr_size, width, extra = ent->add_augmentation_size;
+      if (offset <= 12 || extra == 0)
+	return delta;
+      ptr_size = (get_elf_backend_data (sec->owner)
+		  ->elf_backend_eh_frame_address_size (sec->owner, sec));
+      width = get_DW_EH_PE_width (ent->fde_encoding, ptr_size);
+      if (offset <= 8 + 2 * width)
+	return delta;
+      delta += extra;
+    }
+
+  return delta;
+}
+
+/* Adjust a global symbol defined in .eh_frame, so that it stays
+   relative to its original CIE/FDE.  It is assumed that a symbol
+   defined at the beginning of a CIE/FDE belongs to that CIE/FDE
+   rather than marking the end of the previous CIE/FDE.  This matters


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


             reply	other threads:[~2017-04-29 22:28 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-29 22:28 jkratoch [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-05-24 20:35 jkratoch
2017-05-24  7:20 jkratoch
2017-05-21 17:30 jkratoch
2017-05-07 20:21 jkratoch
2017-04-22 14:46 jkratoch
2017-04-05 16:17 jkratoch
2017-03-22 21:57 jkratoch
2016-12-17 15:05 jkratoch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170429222808.129412.qmail@sourceware.org \
    --to=jkratoch@sourceware.org \
    --cc=archer-commits@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).