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/index: DWARF-5: .debug_names index consumer
Date: Sun, 18 Jun 2017 19:30:00 -0000	[thread overview]
Message-ID: <20170618193040.107727.qmail@sourceware.org> (raw)

The branch, users/jkratoch/index has been updated
  discards  0b088180e930a5337b7d01a67e08fe62c5fea441 (commit)
  discards  b94ba00665671b17f8c105efc314ca8b11b31ded (commit)
  discards  67ac1f63c84b6f0b39ba16f92222cba2a40ecb7c (commit)
  discards  4926bfc3e33a2149a5d1fe9760f2e017757a3264 (commit)
  discards  d5d9b4e3e29fb119a61138a11c93634eae865e68 (commit)
  discards  65ca64ea7b6404e263a3a788abc5b3340e26b7a6 (commit)
  discards  08ea9dc56e39f68f3f0b6ee73e24f8b853e8c6a1 (commit)
  discards  4d073453abaa58cdce67b5f5dccd991190a182fa (commit)
       via  b137841b37b6247aa63d8270e5820c8c605d9093 (commit)
       via  5229437ae3de0f997b264835433697889d9c94b6 (commit)
       via  14f14266282cc676c6424a78d8f84d82a8502773 (commit)
       via  4be4f2b35cd1d2313268c1cb77687d4e1968c231 (commit)
       via  e39de6c1d1c9ede6e08c98e99e0db418a7ce974b (commit)
       via  426b46fa0c561ae485b9b09c4972f269a0632103 (commit)
       via  16c6cfce5fe4f039e3dfe7829bfe8686bd6d4f14 (commit)
       via  bdd32e03c5e87bd38e63e9cc3fd35375241db58f (commit)
       via  99149362b110c0b243eecff05cdbda0d7260b412 (commit)
       via  1d4fbac99e05c2d2ea98984f9bc6f7d7f1a183b7 (commit)
       via  ae3e2ccfe75e5c62749c15ead5c95e052aad21ca (commit)
       via  8465943af6a6f756c3d4b077eb1081ade927b26b (commit)
       via  3e019bdc20eb81b91ab5bc774386201b874c0bac (commit)
       via  cf0dd6f02cd45d6dbb6bd87dde25dd3ed74eb7d0 (commit)
       via  291e62953900e0f4998224127bc56239e421cda9 (commit)
       via  6f98355cda4ac718855d247fd942553b1706549b (commit)
       via  e197589b72e7b7b2db95c63acd58abb574b4249c (commit)
       via  4b48e2f6a50e85e5acc316289c4a6af693ad98f0 (commit)
       via  7dba9362c172f1073487536eb137feb2da30b0ff (commit)
       via  d68f19767dfbb33c1813563d5a4af0731a1855c5 (commit)
       via  a87dc45adc983a8e6ec3db8d18cd31c35abd2048 (commit)
       via  c092b67bf0adb0fc1e179612b161e19938929e66 (commit)
       via  00fd923b247530bd30f695b5bd899467536ad4f8 (commit)
       via  75e06f9753af16bd8a4d864431ceb1a4cdd13f58 (commit)
       via  6353d82b8fa825c2143f41e84b0d5d4446c6e99a (commit)
       via  8cac017d35ef374e65acc98818a17cf8a652cbd0 (commit)
       via  0d96e4df4812c3bad77c229dfef47a9bc115ac12 (commit)
       via  cd3ea7c69acc5045eb28f9bf80d923116e15e4f5 (commit)
       via  62b76e4b6e0b4cb5b3e0053d1de4097b32577049 (commit)
       via  63634bb4a107877dd08b6282e28e11cfd1a1649e (commit)
       via  63323b5b23bd83fa7b04ea00dff593c933e9b0e3 (commit)
       via  76800cba595efc3fe95a446c2d664e42ae4ee869 (commit)
       via  08c7881b814c546efc3996fd1decdf0877f7a779 (commit)
       via  37de058ab2e9619fbb6dea52ec2773a5d65619c4 (commit)
       via  45159d6ad394fe7db840b2b92eaa69508b8a8fe7 (commit)
       via  6e89f899896fd596527d24de6a8a98bc633805fb (commit)
       via  f7e16c2a9cc405707e646e951397938d2b4eea48 (commit)
       via  b46c4cf0908b05ab493d4f30e9a52a887ee118fd (commit)
       via  e64519d1ed7fd8f990f05a5562d5b5c0c44b7d7e (commit)
       via  f461bbd847f15657f3dd2f317c30c75a7520da1f (commit)
       via  ae87f7e73eba29bd38b3a9684a10b948ed715612 (commit)
       via  6394c606997f88acfc80de4dff33a4ae2de987b4 (commit)
       via  99031bafd6e81a41553803886c6b245cb0ab89d9 (commit)
       via  8eca1095d96c215409371c5687573aac89a0a980 (commit)
       via  f78d1b3ae1cee2bc1a2be4b3c30df9627e13fdc1 (commit)
       via  b6947a7f08011375120186688bf2efd866f7d148 (commit)
       via  db5fa770268baf8cc82cf9b141d69799fd485fe2 (commit)
       via  5524b5250e319f41933605420e9526fb74cfb9ae (commit)
       via  4c0b797e0d2005780d8f0300f0ccc14b9d7c13b5 (commit)
       via  c53d2e6d744da000aaafe0237bced090aab62818 (commit)
       via  d5722aa2fe9e1d76d98865a9ab77a7b9388743c9 (commit)
       via  05c966f3c98d6126404f1cd7f233148a89810b5d (commit)
       via  04f963fd489cae724a60140e13984415c205f4ac (commit)
       via  319c2dbe240a797c6f9436bfd64f5c16045ad5a1 (commit)
       via  f9a36b297d470a72ead64ed07cd5f313d9d7a502 (commit)
       via  b27685f2016c510d03ac9a64f7b04ce8efcf95c4 (commit)
       via  01ec7a272201de84be1ca2c557e58d97891f288c (commit)
       via  848d907446d738604d11ab4061f3b0a8b23d4504 (commit)
       via  3b912944f4257dd935c91b77a51bc2e4baa1018e (commit)
       via  da614360f520b84a9c87506eb0c880f7a056468b (commit)
       via  cbd0eecf261c2447781f8c89b0d955ee66fae7e9 (commit)
       via  6490dc678bc35f2204afb38449de5127ef8bcca0 (commit)
       via  dc74becf498f60c842d81eb6e98cfcbc3f167c22 (commit)
       via  8569cfa78c2cc8b5ef66b0bebddcc0e63231fb51 (commit)
       via  55acdf2242372ae52abb25c80db8e75df5578b23 (commit)
       via  f65e204425b5b46a5927d9501c42f25d98a866ce (commit)
       via  23f945bf8cebf348154aff43782de2e1977e9230 (commit)
       via  f236533e3c6a2693bea879b2a4d24d1229864ac9 (commit)
       via  65d84b76164dc8ec1a1f0f0e0fd41667065ffd4e (commit)
       via  242d31ab7c3901e02bd68c1824d1d3610e02562b (commit)
       via  03c8af18d1a8f359fd023696848bda488119da60 (commit)
       via  840989c113433c069f54872d7e051e1572202326 (commit)
       via  3bf310110722b03d9ff9c4f34f5920a9be2878d0 (commit)
       via  359b19bb24d048750aa5367ad56a33267300d1a8 (commit)
       via  07c9ca3bd8e6f83bcec49c922b52422c538f60f7 (commit)
       via  f1cc987420d9d2489eb453bd1c87139666cbe7fd (commit)
       via  cdaac320fd62bff75562aaa3e466494dc72dd175 (commit)
       via  af547a9614969e1d1ea6fcec6b59cd77a606380f (commit)
       via  805acca042afed8e8431c92ab031167b03475676 (commit)
       via  ddd7882a582637d86a321c1ab835f6cdbeb6d017 (commit)
       via  e93523245b704bc126705620969b4736b00350c5 (commit)
       via  d5d1163eff2415a01895f1cff8bbee32b3f0ab66 (commit)
       via  0567c9861e113a573cc905002a59cb1bc3d78450 (commit)
       via  10bbbc1d790836122c417fe4fef7233604bb3982 (commit)
       via  032bb6eae8a0166f9b5d2eac6960383c532ef6d1 (commit)
       via  a0688fac4b1662e34a9a08e233112beb7403f642 (commit)
       via  973e9aab63a70311dffa2993dac52bd63ea461ec (commit)
       via  f12f6bad7d4e8de1d1f4c9c1811757571149c8f1 (commit)
       via  d9109c8080ac0a2caeaa5f3d51e8a3b4891a68a8 (commit)
       via  4ac0cb1cf04f105586746a6cce5b0f93d76f2b33 (commit)
       via  30a254669b16b86166fed1f9a4c4f9cc55a07fdc (commit)
       via  b3464d0316235899d9facf81896d7a427d5cd6d0 (commit)
       via  4b76cda9938e4cb200bccffb6e020268c6a51b89 (commit)
       via  e8f8bcb35f22965c8e4309c4aa4227241c485fe7 (commit)
       via  70a1152bee7cb959ab0c6c13bada03190125022f (commit)
       via  c2f134ac418eafca850e7095d789a01ec1142fc4 (commit)
       via  a81e6d4d261b7471428408f4ebba1b8113c16ccf (commit)
       via  6fd931f2d66af8398b2fae3ab5f5afe091b8362f (commit)
       via  bc8f2430e08cc2a520db49a42686e0529be4a3bc (commit)
       via  5c3ce2bc8adea307917d3bfeef53114795764db6 (commit)
       via  3704e3589d3d187fbf76e688388b1a92fd627c8d (commit)
       via  fd0219988dada5b4ddb04b691f71c9acdd87b739 (commit)
       via  c4dcb155c446cee135101d72172b47e3fc99caf9 (commit)
       via  9b97dfbf8049bed3b2f79c6c785afaf18206dad3 (commit)
       via  c7198f97e026f2a2d53de8dda090c04619355a36 (commit)
       via  561bf3e950e410fbcac06523d43039f1f58150ca (commit)
       via  6d45d4b42b5b360c0b80259e101c01d650d0be23 (commit)
       via  9845682bda4149b5b3648f2d49a041aef5bc1af5 (commit)
       via  654f3b6a2af84ba0f9c6a4c011364b8f650d66a6 (commit)
       via  dbb2bcd0059f8d91de5a792f8684c8908c316720 (commit)
       via  fe7bb2d5ab1f47163f38d2070dc1e62c1920bb44 (commit)
       via  2f91880f3afb3cc521111dfcc99b214c77aa97a1 (commit)
       via  e3d1d4088ad3b4d0fed39df62ad295ed60707807 (commit)
       via  64aa8e030360ba68e32ca15fa5aa426160a2efb1 (commit)
       via  a0abe74332bd25aeb68acfadd74280c0f117c493 (commit)
       via  f4e6805f98d2b3eae305f66ba26ab25aae1485f2 (commit)
       via  cd6402916febae6d8a4e62c572ea6fd487eebb61 (commit)
       via  7ef0acc15ec011371a3901a997c867165bf7a733 (commit)
       via  cc89d0b3344614ae97456df84034096b698e5790 (commit)
       via  9d5c718b7a9c46132940f899f40556a77ca462a0 (commit)
       via  be9e3704f91190c1e1c5d253494423b13c982d93 (commit)
       via  b8b6e72f3db1f798680742c02f3dc220175d0757 (commit)
       via  5369082e7b786dee2c185f768b126a9a18cb2915 (commit)
       via  4ec192e6abe86319b9e9af6f2ae4cf0614b1e2b3 (commit)
       via  ff4ca5ac6a2e85177dc7efe5cbda7b956bb71fd5 (commit)
       via  6322e5c5cb7ffe1c26c50f117765503717b0431c (commit)
       via  51fa2693add9ead8288f475d380f4aec7372fe5a (commit)
       via  bc327528fd2ccdc6c29ab6ae608085dddbad5cc8 (commit)
       via  81b6fe3bf9f3be2b6b81d05d08ac58d2a6dcb760 (commit)
       via  3030551ec55042d7c87bd55fd29db2b06fe06df9 (commit)
       via  aefd8b33d97bded58e51d75271f99e1eaec9fb28 (commit)
       via  2090129c36c7e582943b7d300968d19b46160d84 (commit)
       via  043a49349c713dc329a2dfc413b082c3826ecdb8 (commit)
       via  156525114c1cbbace0dec223494b842ffc60d52e (commit)
       via  2d7cc5c7973b6d1bdd9205288863bedadeaf8b41 (commit)
       via  62e20ed45e3da5f3ba695e4ee109317668180fe6 (commit)
       via  50d6adef3b8509c4e7e37b4b708e0593d43ed347 (commit)
       via  4a8a33c843681410eeba4e05aa749abda8a8341b (commit)
       via  d1be909e7fbf753fd3aa18681089e3bcacbcf51c (commit)
       via  4936f23592b910d65cc9f077115559366f9c4662 (commit)
       via  58f59b7616851b2f3737e385ec9095765eeeffa3 (commit)
       via  78e8a2ff5f01799874be41fdc919d34c670496c6 (commit)
       via  f4a6504277d861057aedd2b88369493d644935c6 (commit)
       via  9f7fb0aa2b6eb9fb185c1c2ae4159d783acadc0e (commit)
       via  e1e01040aa83ddef0bb5c60a8b187f769b2b1ec3 (commit)
       via  fbe654c8bc78eb06b6d7ee4fcec64e9e34e7a9ac (commit)
       via  9949827bea788753c29b7bb503d6d5dda6ea21ff (commit)
       via  5c8ed6a4a1d197658086e9175f820227ebffebec (commit)
       via  d24b756188bd63a422671a73e31af718007264ca (commit)
       via  0ee3a6dbd06b88a4e02f3f46c3ec036fd951400b (commit)
       via  ae0d01d663a2bac65afb8b94bbf1a91d95298f68 (commit)
       via  670b1a13351f34c38ea1abb6cb20e247fb002015 (commit)
       via  7bdf4127c38081c7764c0bf1db55d0b2e56391dc (commit)
       via  458ad2b83ecf4d764703767bccf19723ca741f00 (commit)
       via  fbebaf4a56dd03251bc2e12fa6834d90555aa82a (commit)
       via  056bafd472efccfb2d7f44f6469dfa08cdf7414b (commit)
       via  61756f84eedc470c975f8bafe6ddf10acaca6942 (commit)
       via  a6ba6751c9cf5ef909e47d09609c28ad1509dfa9 (commit)
       via  d9409498813c75c1a9e9287ac6e5100ed3130390 (commit)
       via  af54f0eb968ba8cb3862fd3cad097a3f3363467b (commit)
       via  91001320a22466d1580e169bcb023d3b822226b4 (commit)
       via  6734f10ae9af6cfd47e70baa2cd3e326afabe5ed (commit)
       via  3ea0007c8ca3ec851df6ab5391a98467b4021f92 (commit)
       via  49cf576c221b1d45d222f8cddaddbddf29336461 (commit)
       via  923ca33982401c5700421a592d2b0ee083cbefa1 (commit)
       via  26b6a6aba5567143ed0f59388663b8f50e5cfcab (commit)
       via  22827c51338ce25574ed7b204a2e5bd40f45bdad (commit)
       via  0af6b29b9dcd8ff2c34d07a76e3416acf3758bfc (commit)
       via  4a4a4a27ba5c731044d3d3594545e6f06b0ec0e5 (commit)
       via  0e05cf3a61e1996829359e1c32eedb6820930331 (commit)
       via  c1fc2657206188767cb66813d07b9ecbb5e9ec51 (commit)
       via  3b0871f44a3402f4e1e811ae81c8ba1293c1c7be (commit)
       via  a5e364af4a3d745bb79cfc9a1d533632d4d04b57 (commit)
       via  e7cd2680e089327e7fefaf1cf5a58ec09e379f0d (commit)
       via  0efdc7237e8eb2c75b9c74bc60175ef50719b8b8 (commit)
       via  6cf3bf8875d84aff854fe5fe5a04141033d5ee6f (commit)
       via  b5430a3ced5fe5ba484bd9b3215b9ae19ced0160 (commit)
       via  f378ab099d535f5540f292fed07fcf4b1fabd314 (commit)
       via  19fb31c0060f646a9f84be1a84ed1bea04e7ed57 (commit)
       via  580dfe9d4cb936535927fb954bdc96a2320c6244 (commit)
       via  ae3b3f34ed96f121af37018b8ff3a78810881ad8 (commit)
       via  ab12fca3906c9c76ec25a9de52f5142f5736413f (commit)
       via  13ace07792fa75aa276e2d7c3cb03cec117d63a4 (commit)
       via  c56ccc05b2c98510f360d7f454f38169eb3bdb06 (commit)
       via  5b4a1ff337973732ff9a5ad9b1cb84d74a7e6185 (commit)
       via  90b4491842980d57a0e572167a168e04a476bca5 (commit)
       via  b9c6833008dfb3c45354f4e810e631a77f3c9cb3 (commit)
       via  1b1810b5e01968cdfc16d537b4d5c27adab8a173 (commit)
       via  8c65b54f18c03ffb844e1cbaa3b46b43444ff9e7 (commit)
       via  10045478d984f9924cb945423388ba25b7dd3ffe (commit)
       via  940171d08654a9ff5bf9b8886f76e8189a02cf09 (commit)
       via  64984c22f7045d53590f816e7ba0b9b9fa1dbbe7 (commit)
       via  37cd38778dfb73d28e533fd1ddabb88b4b3a5771 (commit)
       via  8e2f54bcee7e3e8315d4a39a302eaf8e4389e07d (commit)
       via  08c3f6d234761d92b50d3c56d3cb4b82fdd58c77 (commit)
       via  8ffd39f2e42151b383616923ae922e697273ec8e (commit)
       via  4aeb0dfcc42acfc108d3f870384d1719adc9569b (commit)
       via  eb8f2b9c44619eecdb3b77da01da910fcf05abed (commit)
       via  42bfe59e3a3fef26be6809168756f40740fac1d0 (commit)
       via  b54b03bd874936ab3c91f23e5dff3a87153c4e36 (commit)
       via  8286623c113daf97a45cde5fc8ef9587b85c898b (commit)
       via  a0f1b963327b9cc349a1e6b4c543a29fbee68fba (commit)
       via  f158f208759703b94dbfc6de2222ae7740420faf (commit)
       via  521103fd00e593c08a6bedb619c5a9f8f7cc5a91 (commit)
       via  17b89b34b8d7a5a8b713c92a9ebe689c6edd6798 (commit)
       via  2b51eddc5503ea84d48c5b3b3ec3388eba440451 (commit)
       via  70c16c04ac76a90f18e920aaea1026bde90c493c (commit)
       via  db6be0d5e31f11c10004f1f2ef2de05d213da1f4 (commit)
       via  8e86a419d7f8753f4e77cf23aa53bc02ac6febf1 (commit)
       via  ca87ae741fe9c8aad9db1afbf109dc070d0168cf (commit)
       via  67aa8be4cb43cd94bc322fed8bdba48b3c8719c4 (commit)
       via  ffc61c5de1a5a89e3e37fb9376725c32a839c34d (commit)
       via  a09f2586017aeed82fa07c8bfea6c75859295bd9 (commit)
       via  bfcfbe611b4d7e650236f8b8ba7d0706cfe6a0b7 (commit)
       via  6813cafe52236a95289accb138032c1d6dd3272e (commit)
       via  146c3d9d5993289ae0af7c1c872eebaa8662d2fc (commit)
       via  b40889f2c860d768fa72662d8a3ce7e81ea79aac (commit)
       via  2153e1dc0512822ed070de220e33a1a03ea7a4eb (commit)
       via  b057297ab63a9124aae1773566815cd8c4bde8e9 (commit)
       via  22e7d2933103f1384c1d54dff6188cd57cbe171a (commit)
       via  64aaf98419a0485fe3490dfb53417ac9958c7327 (commit)
       via  b77b02a5ca5a021ee8b5e5453e8843447d1132b2 (commit)
       via  e521e87e8514b9d3497208b70bcd067f132c58ed (commit)
       via  d8e07dda92366be0f6fc2e7128620d3dd53494e3 (commit)
       via  8c8f9122ce6e6c00f72914479af57a7b87244554 (commit)
       via  68fce50f04f495980f4ea81746339a9de5b52ebb (commit)
       via  88954b49e47574cdd048a23ca391a85fb6f77f47 (commit)
       via  e3ec9b69cde4e07d95eaadee75566fd4a8091df5 (commit)
       via  cdd238daf949385bd6ef188e24b40d9fcb83a0e8 (commit)
       via  7a3929c417b1388c689a0cd6b0b2f6579d85ec78 (commit)
      from  0b088180e930a5337b7d01a67e08fe62c5fea441 (commit)

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

- Log -----------------------------------------------------------------
commit b137841b37b6247aa63d8270e5820c8c605d9093
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:54 2017 +0200

    DWARF-5: .debug_names index consumer
    
    Hi,
    
    it is not regression-free against no-index but it is regression-free against
    .gdb_index.  That is because .gdb_index is not regression-free against
    no-index.
    
    Some testcases needed to be updated as they were missing .debug_aranges.
    While that does not matter for no-index (as GDB builds the mapping internally
    during dwarf2_build_psymtabs_hard) and neither for .gdb_index (as GDB uses that
    internally built mapping which it stores into .gdb_index) it does matter for
    .debug_names as that simply assumes existing .debug_aranges from GCC.
    
    I tried some performance checking but the index handling speed is negligible
    compared to the CU expansion associated with it.  .debug_names looked even as
    a bit faster to me than .gdb_index which rather surprised me but I did not
    investigate it more.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_debug_names): New declaration.
    	* dwarf2read.c (mapped_debug_names): New.
    	(struct dwarf2_per_objfile): Add debug_names, debug_aranges and
    	debug_names_table.
    	(dwarf2_elf_names): Add debug_names and debug_aranges.
    	(struct dwz_file): Add debug_names.
    	(dwarf2_locate_sections): Add debug_names and debug_aranges.
    	(locate_dwz_sections): Add debug_names.
    	(create_signatured_type_table_from_debug_names)
    	(create_addrmap_from_aranges): New.
    	(dwarf2_read_index): Update function comment.
    	(read_debug_names_from_section, create_cus_from_debug_names_list)
    	(create_cus_from_debug_names, dwarf2_read_debug_names): New.
    	(dwarf5_djb_hash): Function renamed from DebugNamesNameTable::djb_hash.
    	(dw2_debug_names_iterator): New.
    	(read_indirect_string_at_offset): New declaration.
    	(mapped_debug_names::namei_to_name)
    	(dw2_debug_names_iterator::find_vec_in_debug_names)
    	(dw2_debug_names_iterator::find_vec_in_debug_names)
    	(dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
    	(dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
    	(dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
    	New.
    	(dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
    	(dwarf2_free_objfile): Delete also debug_names_table;
    	(debug_names::djb_hash): Rename it to dwarf5_djb_hash.
    	(debug_names::build): Update djb_hash caller.
    	* elfread.c (elf_sym_fns_debug_names): New.
    	* psymtab.h (dwarf2_debug_names_functions): New declaration.
    	* symfile.h (struct dwarf2_debug_sections): Add debug_names and
    	debug_aranges.
    	* xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
    
    gdb/testsuite/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.base/maint.exp (check for .gdb_index): Check also for
    	.debug_names.
    	* gdb.dlang/watch-loc.c (.debug_aranges): New.
    	* gdb.dwarf2/dw2-case-insensitive-debug.S: Likewise.
    	* gdb.dwarf2/gdb-index.exp (check if index present, .gdb_index used)
    	(.gdb_index used after symbol reloading): Support also .debug_names.
    	* gdb.mi/dw2-ref-missing-frame-func.c (.debug_aranges): New.

commit 5229437ae3de0f997b264835433697889d9c94b6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:53 2017 +0200

    Refactor: Move some generic code out of .gdb_index code
    
    Hi,
    
    just for the next patch.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (create_cu_from_index_list): New from ...
    	(create_cus_from_index_list): ... this function, use it.
    	(dw_expand_symtabs_matching_file_matcher)
    	(dw2_expand_symtabs_matching_one): New from ...
    	(dw2_expand_symtabs_matching): ... this function, use them.

commit 14f14266282cc676c6424a78d8f84d82a8502773
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:53 2017 +0200

    Code cleanup: dwarf2_initialize_objfile return value
    
    Hi,
    
    dwarf2_initialize_objfile was returning boolean whether it is psymtabs or
    .gdb_index while now it needs to return also whether it is .debug_names.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
    	declarations from elfread.c.
    	(dwarf2_initialize_objfile): Change return value.
    	* elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
    	declarations to defs.h.
    	(elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
    	* symfile.h (dwarf2_initialize_objfile): Change return type.

commit 4be4f2b35cd1d2313268c1cb77687d4e1968c231
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:53 2017 +0200

    DWARF-5: .debug_names index producer
    
    Hi,
    
    there are two FIXME lines I do not have a real answer for.
    
    Also I am not sure if the -dwarf-4 option for former .gdb_index should be named
    that way.  And contrib/gdb-add-index.sh (incl. cc-with-tweaks.sh) has no
    commandline option for that -dwarf-4 GDB option.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* contrib/gdb-add-index.sh (index): Rename to ...
    	(index4): ... here.
    	(index5, debugstr, debugstrmerge, debugstrerr): New variables.
    	Support also .debug_names and .debug_str.
    	* dwarf2read.c: Include cmath, locale, set, list.
    	(INDEX_SUFFIX): Rename to ...
    	(INDEX4_SUFFIX): ... here.
    	(INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
    	(data_buf::append_unsigned_leb128, data_buf::empty)
    	(data_buf::operator const char *, debug_names, check_dwarf64_offsets): New.
    	(write_gdbindex): New from write_psymtabs_to_index code.
    	(write_debug_names): New.
    	(write_psymtabs_to_index): New parameter is_dwarf5.  Support
    	filename_str and out_file_str.  Move code to write_gdbindex, possibly
    	call write_debug_names.
    	(save_gdb_index_command): New parameter -dwarf-4.
    	(_initialize_dwarf2_read): Document the new parameter -dwarf-4.
    
    gdb/doc/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.texinfo (Index Files): Document .debug_names and -dwarf-4.
    	(Index Section Format): Mention .debug_names.

commit e39de6c1d1c9ede6e08c98e99e0db418a7ce974b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:53 2017 +0200

    cc-with-tweaks.sh: Use gdb-add-index.sh
    
    Hi,
    
    currently contrib/cc-with-tweaks.sh is calling for its -i option objcopy itself
    instead of using contrib/gdb-add-index.sh which does the same.
    
    With DWARF-5 .debug_names the commands are more complicated (as now also
    .debug_str needs to be modified) and so I have decided to rather reuse
    contrib/gdb-add-index.sh instead of duplicating its code
    in contrib/cc-with-tweaks.sh.
    
    The problem is when no index is produced whether contrib/cc-with-tweaks.sh
    should fail or not.  As originally contrib/cc-with-tweaks.sh was more quiet
    (=successful) than contrib/gdb-add-index.sh and so after this patch the
    testsuite runs with an index would "regress".  I have tried to keep the
    behavior unchanged.  Some cases still error with:
    	Ada is not currently supported by the index
    But some cases (such as some trivial gdb.dwarf2/ testcases with no DWARF data
    to index) produce no index while the testcases still PASS now instead of:
    	-PASS: gdb.arch/i386-bp_permanent.exp: stack pointer value matches
    	+gdb compile failed, gdb-add-index.sh: No index was created for /quadgdb/testsuite.unix.-m64/outputs/gdb.arch/i386-bp_permanent/i386-bp_permanent
    	+gdb-add-index.sh: [Was there no debuginfo? Was there already an index?]
    	+UNTESTED: gdb.arch/i386-bp_permanent.exp: failed to compile
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* contrib/cc-with-tweaks.sh (t, GDB_ADD_INDEX): New variables.
    	<$want_index>: Call $GDB_ADD_INDEX.

commit 426b46fa0c561ae485b9b09c4972f269a0632103
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:52 2017 +0200

    binutils

commit 16c6cfce5fe4f039e3dfe7829bfe8686bd6d4f14
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:52 2017 +0200

    gccidx

commit bdd32e03c5e87bd38e63e9cc3fd35375241db58f
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Jun 18 09:19:34 2017 +0930

    is_underscore_target for ld-elf tests
    
    and correct targ_underscore in config.bfd
    
    bfd/
    	* config.bfd: Correct targ_underscore for epiphany, ip2k,
    	m32c, mn10200, pru, rl78, rx, crisv32 and v850.
    ld/
    	* testsuite/lib/ld-lib.exp (is_underscore_target): New.
    	* testsuite/ld-elf/elf.exp (ASFLAGS): Define UNDERSCORE.
    	* testsuite/ld-elf/pr21562a.s: If UNDERSCORE defined,
    	reference sym with prefix.
    	* testsuite/ld-elf/pr21562b.s: Likewise.
    	* testsuite/ld-elf/sizeof.s: Likewise.
    	* testsuite/ld-elf/startof.s: Likewise.
    	* testsuite/ld-elf/pr14156a.d: Adjust for extra symbols.
    	* testsuite/ld-elf/pr21562a.d: Remove underscore target from
    	xfails, and match prefixed symbol.
    	* testsuite/ld-elf/pr21562b.d: Likewise.
    	* testsuite/ld-elf/pr21562c.d: Likewise.
    	* testsuite/ld-elf/pr21562d.d: Likewise.
    	* testsuite/ld-elf/pr21562e.d: Likewise.
    	* testsuite/ld-elf/pr21562f.d: Likewise.
    	* testsuite/ld-elf/pr21562g.d: Likewise.
    	* testsuite/ld-elf/pr21562h.d: Likewise.
    	* testsuite/ld-elf/pr21562i.d: Likewise.
    	* testsuite/ld-elf/pr21562j.d: Likewise.
    	* testsuite/ld-elf/pr21562k.d: Likewise.
    	* testsuite/ld-elf/pr21562l.d: Likewise.
    	* testsuite/ld-elf/pr21562m.d: Likewise.
    	* testsuite/ld-elf/pr21562n.d: Likewise.
    	* testsuite/ld-elf/sizeofa.d: Likewise.
    	* testsuite/ld-elf/sizeofb.d: Likewise.
    	* testsuite/ld-elf/sizeofc.d: Likewise.
    	* testsuite/ld-elf/startofa.d: Likewise.
    	* testsuite/ld-elf/startofb.d: Likewise.
    	* testsuite/ld-elf/startofc.d: Likewise.

commit 99149362b110c0b243eecff05cdbda0d7260b412
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jun 18 00:00:37 2017 +0000

    Automatic date update in version.in

commit 1d4fbac99e05c2d2ea98984f9bc6f7d7f1a183b7
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 17 23:19:25 2017 +0200

    Add ATTRIBUTE_PRINTF to trace_start_error
    
    clang complains that the fmt passed to vwarning in trace_start_error is
    not a literal.  This looks like a fair warning, which can be removed by
    adding ATTRIBUTE_PRINTF to the declaration of trace_start_error.
    
    gdb/ChangeLog:
    
    	* nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.

commit ae3e2ccfe75e5c62749c15ead5c95e052aad21ca
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 17 23:19:08 2017 +0200

    linux-low: Remove usage of "register" keyword
    
    AFAIK, the register keyword is not relevant today, and clang complains
    about it:
    
    /home/emaisin/src/binutils-gdb/gdb/gdbserver/linux-low.c:5873:3: error: 'register' storage class specifier is deprecated and incompatible with C++1z
          [-Werror,-Wdeprecated-register]
      register PTRACE_XFER_TYPE *buffer;
      ^~~~~~~~~
    
    I think we can safely remove it.
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-low.c (linux_read_memory, linux_write_memory): Remove
    	usage of "register" keyword.

commit 8465943af6a6f756c3d4b077eb1081ade927b26b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 17 23:18:49 2017 +0200

    gdb: Add -Wno-mismatched-tags
    
    clang complains that for some types, we use both the class and struct
    keywords in different places.  It's not really a problem, so I think we
    can safely turn this warning off.
    
    gdb/ChangeLog:
    
    	* configure: Re-generate.
    	* warning.m4 (build_warnings): Add -Wno-mismatched-tags.
    
    gdb/gdbserver/ChangeLog:
    
    	* configure: Re-generate.

commit 3e019bdc20eb81b91ab5bc774386201b874c0bac
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 17 23:18:20 2017 +0200

    gdb: Use -Werror when checking for (un)supported warning flags
    
    In warning.m4, we pass all the warning flags one by one to the compiler
    to test if they are supported by this particular compiler.  If the
    compiler exits with an error, we conclude that this warning flag is not
    supported and exclude it.  This allows us to use warning flags without
    having to worry about which versions of which compilers support each
    flag.
    
    clang, by default, only emits a warning if an unknown flag is passed:
    
      warning: unknown warning option '-Wfoo' [-Wunknown-warning-option]
    
    The result is that we think that all the warning flags we use are
    supported by clang (they are not), and the compilation fails later when
    building with -Werror, since the aforementioned warning becomes an
    error.  The fix is to also pass -Werror when probing for supported
    flags, then we'll correctly get an error when using an unknown warning,
    and we'll exclude it:
    
      error: unknown warning option '-Wfoo' [-Werror,-Wunknown-warning-option]
    
    I am not sure why there is a change in a random comment in
    gdbserver/configure, but I suppose it's a leftfover from a previous
    patch, so I included it.
    
    gdb/ChangeLog:
    
    	* configure: Re-generate.
    	* warning.m4: Pass -Werror to compiler when checking for
    	supported warning flags.
    
    gdb/gdbserver/ChangeLog:
    
    	* configure: Re-generate.

commit cf0dd6f02cd45d6dbb6bd87dde25dd3ed74eb7d0
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 17 23:17:00 2017 +0200

    gdb: Pass -x c++ to the compiler
    
    Because we are compiling .c files containing C++ code, clang++ complains
    with:
    
      clang: error: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
    
    If renaming all the source files to .cpp is out of the question, an
    alternative is to pass "-x c++" to convince the compiler that we are
    really compiling C++.  It works fine with GCC too.
    
    gdb/ChangeLog:
    
    	* Makefile.in (COMPILE.pre): Add "-x c++".
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (COMPILE.pre): Add "-x c++".

commit 291e62953900e0f4998224127bc56239e421cda9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jun 17 00:00:41 2017 +0000

    Automatic date update in version.in

commit 6f98355cda4ac718855d247fd942553b1706549b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jun 16 15:38:42 2017 +0100

    extract/store integer function template
    
    This patch converts functions extract_{unsigned,signed}_integer
    to a function template extract_integer, which has two instantiations.  It
    also does the similar changes to store__{unsigned,signed}_integer,
    regcache::raw_read_{unsigned,signed}, regcache::raw_write_{unsigned,signed},
    regcache::cooked_read_{unsigned,signed},
    regcache::cooked_write_{unsigned,signed}.
    
    This patch was posted here
    https://sourceware.org/ml/gdb-patches/2017-05/msg00492.html but the
    problem was fixed in a different way.  However, I think the patch is still
    useful to shorten the code.
    
    gdb:
    
    2017-06-16  Alan Hayward  <alan.hayward@arm.com>
    	    Pedro Alves  <palves@redhat.com>
    	    Yao Qi  <yao.qi@linaro.org>
    
    	* defs.h (RequireLongest): New.
    	(extract_integer): Declare function template.
    	(extract_signed_integer): Remove the declaration, but define it
    	static inline.
    	(extract_unsigned_integer): Likewise.
    	(store_integer): Declare function template.
    	(store_signed_integer): Remove the declaration, but define it
    	static inline.
    	(store_unsigned_integer): Likewise.
    	* findvar.c (extract_integer): New function template.
    	(extract_signed_integer): Remove.
    	(extract_unsigned_integer): Remove.
    	(extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
    	instantiations.
    	(store_integer): New function template.
    	(store_signed_integer): Remove.
    	(store_unsigned_integer): Remove.
    	(store_integer): Explicit instantiations.
    	* regcache.c (regcache_raw_read_signed): Update.
    	(regcache::raw_read): New function.
    	(regcache::raw_read_signed): Remove.
    	(regcache::raw_read_unsigned): Remove.
    	(regcache_raw_read_unsigned): Update.
    	(regcache_raw_write_unsigned): Update.
    	(regcache::raw_write_signed): Remove.
    	(regcache::raw_write): New function.
    	(regcache_cooked_read_signed): Update.
    	(regcache::raw_write_unsigned): Remove.
    	(regcache::cooked_read_signed): Remove.
    	(regcache_cooked_read_unsigned): Update.
    	(regcache::cooked_read_unsigned): Remove.
    	(regcache_cooked_write_signed): Update.
    	(regcache_cooked_write_unsigned): Update.
    	* regcache.h (regcache) <raw_read_signed>: Remove.
    	<raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
    	<raw_read, raw_write>: New.
    	<cooked_read_signed, cooked_write_signed>: Remove.
    	<cooked_write_unsigned, cooked_read_unsigned>: Remove.
    	<cooked_read, cooked_write>: New.
    	* sh64-tdep.c (sh64_pseudo_register_read): Update.
    	(sh64_pseudo_register_write): Update.

commit e197589b72e7b7b2db95c63acd58abb574b4249c
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 16 21:50:43 2017 +0930

    Regen rx-decode.c
    
    opcodes/
    	* rx-decode.c: Regenerate.

commit 4b48e2f6a50e85e5acc316289c4a6af693ad98f0
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jun 16 15:16:19 2017 +0100

    Fixing linking configure generated tests of ifunc support.
    
    	* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Do not fail if the
    	bucketlist is empty because there are no symbols to add to the
    	list.

commit 7dba9362c172f1073487536eb137feb2da30b0ff
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 16 19:41:41 2017 +0930

    Rewrite __start and __stop symbol handling
    
    This arranges for __start and __stop symbols to be defined before
    garbage collection, for all target formats.  That should allow the
    COFF and PE --gc-sections to keep a singleton orphan input section,
    a feature lost by 2017-06-13 commit cbd0eecf26.  The fancier ELF
    treatment of keeping all input sections associated with a __start or
    __stop symbol, from 2015-10-23 commit 1cce69b9dc, is retained.
    
    .startof. and .sizeof. symbols are deliberately not defined before
    garbage collection, so these won't affect garbage collection of
    sections.
    
    The patch also ensures __start, __stop, .startof. and .sizeof. symbols
    are defined before target size_dynamic_sections is called, albeit
    with a preliminary value, so that target code doesn't need to cope
    with a symbol changing from undefined at size_dynamic_sections to
    defined at relocate_section.
    
    Also, a number of problems with the testcases have been fixed.
    
    	PR ld/20022
    	PR ld/21557
    	PR ld/21562
    	PR ld/21571
    include/
    	* bfdlink.h (struct bfd_link_hash_entry): Delete undef.section.
    bfd/
    	* targets.c (struct bfd_target): Add _bfd_define_start_stop.
    	(BFD_JUMP_TABLE_LINK): Likewise.
    	* elf-bfd.h (bfd_elf_define_start_stop): Declare.
    	* elflink.c (_bfd_elf_gc_mark_rsec): Update comment.
    	(bfd_elf_define_start_stop): New function.
    	* linker.c (bfd_generic_define_start_stop): New function.
    	* coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Init
    	new field.
    	* aout-adobe.c (aout_32_bfd_define_start_stop): Define.
    	* aout-target.h (MY_bfd_define_start_stop): Define.
    	* aout-tic30.c (MY_bfd_define_start_stop): Define.
    	* binary.c (binary_bfd_define_start_stop): Define.
    	* bout.c (b_out_bfd_define_start_stop): Define.
    	* coff-alpha.c (_bfd_ecoff_bfd_define_start_stop): Define.
    	* coff-mips.c (_bfd_ecoff_bfd_define_start_stop): Define.
    	* coff-rs6000.c (_bfd_xcoff_bfd_define_start_stop): Define.
    	* coffcode.h (coff_bfd_define_start_stop): Define.
    	* elfxx-target.h (bfd_elfNN_bfd_define_start_stop): Define.
    	* i386msdos.c (msdos_bfd_define_start_stop): Define.
    	* i386os9k.c (os9k_bfd_define_start_stop): Define.
    	* ieee.c (ieee_bfd_define_start_stop): Define.
    	* ihex.c (ihex_bfd_define_start_stop): Define.
    	* libbfd-in.h (_bfd_nolink_bfd_define_start_stop): Define.
    	* mach-o-target.c (bfd_mach_o_bfd_define_start_stop): Define.
    	* mmo.c (mmo_bfd_define_start_stop): Define.
    	* nlm-target.h (nlm_bfd_define_start_stop): Define.
    	* oasys.c (oasys_bfd_define_start_stop): Define.
    	* pef.c (bfd_pef_bfd_define_start_stop): Define.
    	* plugin.c (bfd_plugin_bfd_define_start_stop): Define.
    	* ppcboot.c (ppcboot_bfd_define_start_stop): Define.
    	* som.c (som_bfd_define_start_stop): Define.
    	* srec.c (srec_bfd_define_start_stop): Define.
    	* tekhex.c (tekhex_bfd_define_start_stop): Define.
    	* versados.c (versados_bfd_define_start_stop): Define.
    	* vms-alpha.c (vms_bfd_define_start_stop): Define.
    	(alpha_vms_bfd_define_start_stop): Define.
    	* xsym.c (bfd_sym_bfd_define_start_stop): Define.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    ld/
    	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't set
    	__start/__stop syms here.
    	* ldlang.c (lang_set_startof): Delete.
    	(start_stop_syms, start_stop_count, start_stop_alloc): New vars.
    	(lang_define_start_stop, lang_init_start_stop, foreach_start_stop,
    	undef_start_stop, lang_undef_start_stop, lang_init_startof_sizeof,
    	set_start_stop, lang_finalize_start_stop): New functions.
    	(lang_process): Call _start_stop functions.
    	* testsuite/ld-elf/pr21562a.d: Use xfail rather than notarget.
    	Correct typos and list of xfail targets.
    	* testsuite/ld-elf/pr21562b.d: Likewise.
    	* testsuite/ld-elf/pr21562c.d: Likewise.
    	* testsuite/ld-elf/pr21562d.d: Likewise.
    	* testsuite/ld-elf/pr21562e.d: Likewise.
    	* testsuite/ld-elf/pr21562f.d: Likewise.
    	* testsuite/ld-elf/pr21562g.d: Likewise.
    	* testsuite/ld-elf/pr21562h.d: Likewise.
    	* testsuite/ld-elf/pr21562i.d: Likewise.
    	* testsuite/ld-elf/pr21562j.d: Likewise.
    	* testsuite/ld-elf/pr21562k.d: Likewise.
    	* testsuite/ld-elf/pr21562l.d: Likewise.
    	* testsuite/ld-elf/pr21562m.d: Likewise.
    	* testsuite/ld-elf/pr21562n.d: Likewise.
    	* testsuite/ld-elf/sizeofa.d: Likewise.  Adjust to pass for generic ELF.
    	* testsuite/ld-elf/sizeofb.d: Likewise.
    	* testsuite/ld-elf/startofa.d: Likewise.
    	* testsuite/ld-elf/startofb.d: Likewise.

commit d68f19767dfbb33c1813563d5a4af0731a1855c5
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Fri Jun 16 14:20:38 2017 +0100

    [AArch64] Use SYMBOL_REFERENCES_LOCAL in one symbol check
    
    For some pc-relative relocations we want to allow them under PIC mode while
    a normal global symbol defined in the same dynamic object can still bind
    externally through copy relocation.  So, we should not allow pc-relative
    relocation against such symbol.
    
    SYMBOL_REFERENCES_LOCAL should be used and is more accurate than the original
    individual checks.
    
    bfd/
    	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use
    	SYMBOL_REFERENCES_LOCAL.
    ld/
    	* testsuite/ld-aarch64/aarch64-elf.exp: Update test name
    	* testsuite/ld-aarch64/pcrel.s: Add new testcases.
    	* testsuite/ld-aarch64/pcrel_pic_undefined.d: Update the expected
    	warnings.
    	* testsuite/ld-aarch64/pcrel_pic_defined_local.d: Rename ...
    	* testsuite/ld-aarch64/pcrel_pic_defined.d: ... to this.
    	Update expected warnings.

commit a87dc45adc983a8e6ec3db8d18cd31c35abd2048
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Feb 10 14:11:55 2017 +0300

    arc: Select CPU model properly before disassembling
    
    Enforce CPU model for disassembler via its options, if it was specified in XML
    target description, otherwise use default method of determining CPU implemented
    in disassembler - scanning ELF private header.  The latter requires
    disassemble_info->section to be properly initialized.  To make sure that
    info->section is set in all cases this patch partially reverts [1] for ARC: it
    reinstates arc_delayed_print_insn as a "print_insn" function for ARC, but
    now this function only sets disassemble_info->section and then calls
    default_print_insn to do the rest of the job.
    
    Support for CPU in disassembler options for ARC has been added in [2].
    
    [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=39503f82427e22ed8e04d986ccdc8562091ec62e
    [2] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=10045478d984f9924cb945423388ba25b7dd3ffe
    
    gdb/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* arc-tdep.c (arc_disassembler_options): New variable.
    	(arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
    	of default_print_insn.
    	(arc_delayed_print_insn): Set info->section when needed,
    	use default_print_insn to retrieve a disassembler.

commit c092b67bf0adb0fc1e179612b161e19938929e66
Author: Eric Christopher <echristo@gmail.com>
Date:   Thu Jun 15 18:46:17 2017 -0700

    2017-06-15  Eric Christopher  <echristo@gmail.com>
    
            * aarch64.cc: Fix a few	typos and grammar-os.

commit 00fd923b247530bd30f695b5bd899467536ad4f8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jun 16 00:00:27 2017 +0000

    Automatic date update in version.in

commit 75e06f9753af16bd8a4d864431ceb1a4cdd13f58
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 15 12:30:53 2017 -0700

    Correct "ld --help" to display "-z stack-size=SIZE"
    
    ELF Linker command line option to set stack size is "-z stack-size=SIZE",
    not "-z stacksize=SIZE".
    
    	* exsup.c (elf_shlib_list_options): Display "-z stack-size=SIZE"
    	instead of "-z stacksize=SIZE".

commit 6353d82b8fa825c2143f41e84b0d5d4446c6e99a
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Jun 15 16:51:01 2017 +0100

    [AArch64] Allow COPY relocation elimination
    
      As discussed at the PR, this patch tries to avoid COPY relocation generation
    and propagate the original relocation into runtime if it was relocating on
    writable section.  The ELIMINATE_COPY_RELOCS has been set to true and it's
    underlying infrastructure has been improved so that the COPY reloc elimination
    at least working on absoluate relocations (ABS64) on AArch64.
    
      BFD linker copy relocation elimination framwork requires the backend to always
    allocate dynrelocs for all those relocation types that are possible to introduce
    copy relocations.  This is for adjust_dynamic_symbol hook to be able to get all
    symbol reference information.  Should one symbol is referenced by more than one
    relocations, if there is any of them needs copy relocation then linker should
    generate it.
    
    bfd/
    	PR ld/21532
    	* elfnn-aarch64.c (ELIMINATE_COPY_RELOCS): Set to 1.
    	(elfNN_aarch64_final_link_relocate): Also propagate relocations to
    	runtime for if there needs copy relocation elimination.
    	(need_copy_relocation_p): New function.  Return true for symbol with
    	pc-relative references and if it's against read-only sections.
    	(elfNN_aarch64_adjust_dynamic_symbol): Use need_copy_relocation_p.
    	(elfNN_aarch64_check_relocs): Allocate dynrelocs for relocation types
    	that are related with accessing external objects.
    	(elfNN_aarch64_gc_sweep_hook): Sync the relocation types with the change
    	in elfNN_aarch64_check_relocs.
    
    ld/
    	* testsuite/ld-aarch64/copy-reloc-exe-2.s: New test source file.
    	* testsuite/ld-aarch64/copy-reloc-2.d: New test.
    	* testsuite/ld-aarch64/copy-reloc-exe-eliminate.s: New test source file.
    	* testsuite/ld-aarch64/copy-reloc-eliminate.d: New test.
    	* testsuite/ld-aarch64/copy-reloc-so.s: Define new global objects.
    	* testsuite/ld-aarch64/aarch64-elf.exp: Run new tests.

commit 8cac017d35ef374e65acc98818a17cf8a652cbd0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 15 08:21:48 2017 -0700

    i386-dis: Add 2 tests with invalid bnd register
    
    	PR binutils/21594
    	* testsuite/gas/i386/mpx.s: Add 2 tests with invalid bnd
    	register.
    	* testsuite/gas/i386/x86-64-mpx.s: Likewise.
    	* testsuite/gas/i386/mpx.d: Updated.
    	* testsuite/gas/i386/x86-64-mpx.d: Likewise.

commit 0d96e4df4812c3bad77c229dfef47a9bc115ac12
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 15 06:40:17 2017 -0700

    i386-dis: Check valid bnd register
    
    Since there are only 4 bnd registers, return "(bad)" for register
    number > 3.
    
    	PR binutils/21594
    	* i386-dis.c (OP_E_register): Check valid bnd register.
    	(OP_G): Likewise.

commit cd3ea7c69acc5045eb28f9bf80d923116e15e4f5
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 13:26:54 2017 +0100

    Prevent address violation problem when disassembling corrupt aarch64 binary.
    
    	PR binutils/21595
    	* aarch64-dis.c (aarch64_ext_ldst_reglist): Check for an out of
    	range value.

commit 62b76e4b6e0b4cb5b3e0053d1de4097b32577049
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 13:08:47 2017 +0100

    Fix address violation parsing a corrupt ieee binary.
    
    	PR binutils/21581
    	(ieee_archive_p): Use a static buffer to avoid compiler bugs.

commit 63634bb4a107877dd08b6282e28e11cfd1a1649e
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 12:44:23 2017 +0100

    Avoid a possible compiler bug by using a static buffer instead of a stack local buffer.
    
    	PR binutils/21582
    	* ieee.c (ieee_object_p): Use a static buffer to avoid compiler
    	bugs.

commit 63323b5b23bd83fa7b04ea00dff593c933e9b0e3
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 12:37:01 2017 +0100

    Fix address violation when disassembling a corrupt RL78 binary.
    
    	PR binutils/21588
    	* rl78-decode.opc (OP_BUF_LEN): Define.
    	(GETBYTE): Check for the index exceeding OP_BUF_LEN.
    	(rl78_decode_opcode): Use OP_BUF_LEN as the length of the op_buf
    	array.
    	* rl78-decode.c: Regenerate.

commit 76800cba595efc3fe95a446c2d664e42ae4ee869
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 12:08:57 2017 +0100

    Handle EITR records in VMS Alpha binaries with overlarge command length parameters.
    
    	PR binutils/21579
    	* vms-alpha.c (_bfd_vms_slurp_etir): Extend check of cmd_length.

commit 08c7881b814c546efc3996fd1decdf0877f7a779
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 11:52:02 2017 +0100

    Prevent invalid array accesses when disassembling a corrupt bfin binary.
    
    	PR binutils/21586
    	* bfin-dis.c (gregs): Clip index to prevent overflow.
    	(regs): Likewise.
    	(regs_lo): Likewise.
    	(regs_hi): Likewise.

commit 37de058ab2e9619fbb6dea52ec2773a5d65619c4
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Jun 15 10:35:28 2017 +0100

    [GOLD] Don't install branch-to-stub for TLS relaxed ERRATUM 843419 sequences on AArch64
    
    TLS relaxation may change erratum 843419 sequences that those offending ADRP
    instructions actually transformed into other instructions in which case there
    is erratum 843419 risk anymore that we should avoid installing unnecessary
    branch-to-stub.
    
    gold/
            * aarch64.cc (Insn_utilities::is_mrs_tpidr_el0): New method.
            (AArch64_relobj<size, big_endian>::try_fix_erratum_843419_optimized):
            Return ture for some TLS relaxed sequences.

commit 45159d6ad394fe7db840b2b92eaa69508b8a8fe7
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed Jun 14 16:45:20 2017 -0400

    PR gdb/21574: Mention $SHELL and startup-with-shell on "help run"
    
    This simple patch updates the documentation of "help run" in order to
    mention that the shell used to start the inferior comes from the
    $SHELL environment variable.  It also mentions that this behaviour can
    be disabled by using the "set startup-with-shell off" command.
    
    gdb/ChangeLog:
    2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR gdb/21574
    	* infcmd.c (_initialize_infcmd): Expand "help run" documentation
    	to mention $SHELL and startup-with-shell.

commit 6e89f899896fd596527d24de6a8a98bc633805fb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jun 15 00:00:48 2017 +0000

    Automatic date update in version.in

commit f7e16c2a9cc405707e646e951397938d2b4eea48
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Wed May 17 02:09:14 2017 -0700

    xtensa: don't expect XCHAL_* macros to be constant
    
    Get rid of the assumption that XCHAL_* macros are preprocessor
    constants: don't use them in preprocessor conditionals or in static
    variable initializers.
    
    2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
    bfd/
    	* elf32-xtensa.c (elf_xtensa_be_plt_entry,
    	elf_xtensa_le_plt_entry): Add dimension for the ABI to arrays,
    	keep both windowed and call0 ABI PLT definitions.
    	(elf_xtensa_create_plt_entry): Use selected ABI to choose upper
    	elf_xtensa_*_plt_entry endex.
    	(ELF_MAXPAGESIZE): Fix at minimal supported MMU page size.
    
    gas/
    	* config/tc-xtensa.c (density_supported, xtensa_fetch_width,
    	absolute_literals_supported): Leave definitions uninitialized.
    	(directive_state): Leave entries for directive_density and
    	directive_absolute_literals initialized to false.
    	(xg_init_global_config, xtensa_init): New functions.
    	* config/tc-xtensa.h (TARGET_BYTES_BIG_ENDIAN): Define as 0.
    	(HOST_SPECIAL_INIT): New definition.
    	(xtensa_init): New declaration.

commit b46c4cf0908b05ab493d4f30e9a52a887ee118fd
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Tue Jun 13 10:26:55 2017 -0700

    Maxim Grigoriev stepping down as Xtensa maintainer
    
    gdb/
    2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.

commit e64519d1ed7fd8f990f05a5562d5b5c0c44b7d7e
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 17:10:28 2017 +0100

    Fix seg-fault when trying to disassemble a corrupt score binary.
    
    	PR binutils/21576
    	* score7-dis.c (score_opcodes): Add sentinel.

commit f461bbd847f15657f3dd2f317c30c75a7520da1f
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 17:01:54 2017 +0100

    Fix address violation bug when disassembling a corrupt SH binary.
    
    	PR binutils/21578
    	* elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
    	flag value.

commit ae87f7e73eba29bd38b3a9684a10b948ed715612
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 16:50:03 2017 +0100

    Fix address violation when disassembling a corrupt binary.
    
    	PR binutils/21580
    binutils * objdump.c (disassemble_bytes): Check for buffer overrun when
    	printing out rae insns.
    
    ld	* testsuite/ld-nds32/diff.d: Adjust expected output.

commit 6394c606997f88acfc80de4dff33a4ae2de987b4
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Jun 14 16:28:30 2017 +0100

    Don't use print_insn_XXX in GDB
    
    This is a follow-up to
    
      [PATCH 0/6] Unify the disassembler selection in gdb and objdump
      https://sourceware.org/ml/binutils/2017-05/msg00192.html
    
    that is, opcodes is able to select the right disassembler, so gdb
    doesn't have to select them.  Instead, gdb can just use
    default_print_insn.  As a result, these print_insn_XXX are not used
    out of opcodes, so this patch also moves their declarations from
    include/dis-asm.h to opcodes/disassemble.h.  With this change,
    GDB doesn't use any print_insn_XXX directly any more.
    
    gdb:
    
    2017-06-14  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_gdb_print_insn): Call
    	default_print_insn instead of print_insn_aarch64.
    	* arm-tdep.c (gdb_print_insn_arm): Call
    	default_print_insn instead of print_insn_big_arm
    	and print_insn_little_arm.
    	* i386-tdep.c (i386_print_insn): Call default_print_insn
    	instead of print_insn_i386.
    	* ia64-tdep.c (ia64_print_insn): Call
    	default_print_insn instead of print_insn_ia64.
    	* mips-tdep.c (gdb_print_insn_mips): Call
    	default_print_insn instead of print_insn_big_mips
    	and print_insn_little_mips.
    	* spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
    	instead of print_insn_spu.
    
    include:
    
    2017-06-14  Yao Qi  <yao.qi@linaro.org>
    
    	* dis-asm.h (print_insn_aarch64): Move it to opcodes/disassemble.h.
    	(print_insn_big_arm, print_insn_big_mips): Likewise.
    	(print_insn_i386, print_insn_ia64): Likewise.
    	(print_insn_little_arm, print_insn_little_mips): Likewise.
    	(print_insn_spu): Likewise.
    
    opcodes:
    
    2017-06-14  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-dis.c: Include disassemble.h instead of dis-asm.h.
    	* arm-dis.c: Likewise.
    	* ia64-dis.c: Likewise.
    	* mips-dis.c: Likewise.
    	* spu-dis.c: Likewise.
    	* disassemble.h (print_insn_aarch64): New declaration, moved from
    	include/dis-asm.h.
    	(print_insn_big_arm, print_insn_big_mips): Likewise.
    	(print_insn_i386, print_insn_ia64): Likewise.
    	(print_insn_little_arm, print_insn_little_mips): Likewise.

commit 99031bafd6e81a41553803886c6b245cb0ab89d9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 14 06:11:48 2017 -0700

    xfail pr20022.d on targets without dynamic relocs in .text
    
    ld-gc/pr20022.d requires support for dynamic relocations in .text
    section.
    
    	PR ld/20022
    	* testsuite/ld-gc/pr20022.d: Skip on targets without dynamic
    	relocations in .text section.

commit 8eca1095d96c215409371c5687573aac89a0a980
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 14 04:36:17 2017 -0700

    Skip PR ld/21562 tests on targets with leading char or without --gc-sections
    
    Symbol lookup in linker will always fail on targets with leading char
    in symbol name since __start_SECNAME and __stop_SECNAME in C may be
    ___start_SECNAME and ___stop_SECNAME in assembly.  Also tests with
    --gc-sections always fails on targets without --gc-sections support.
    
    	* testsuite/ld-elf/pr21562a.d: Skip on targets with leading char
    	in in symbol name or without --gc-sections.
    	* testsuite/ld-elf/pr21562b.d: Likewise.
    	* testsuite/ld-elf/pr21562c.d: Likewise.
    	* testsuite/ld-elf/pr21562d.d: Likewise.
    	* testsuite/ld-elf/pr21562i.d: Likewise.
    	* testsuite/ld-elf/pr21562j.d: Likewise.
    	* testsuite/ld-elf/pr21562k.d: Likewise.
    	* testsuite/ld-elf/pr21562l.d: Likewise.
    	* testsuite/ld-elf/pr21562m.d: Likewise.
    	* testsuite/ld-elf/pr21562n.d: Likewise.
    	* testsuite/ld-elf/pr21562e.d: Skip on targets with leading char
    	in symbol name.
    	* testsuite/ld-elf/pr21562f.d: Likewise.
    	* testsuite/ld-elf/pr21562g.d: Likewise.
    	* testsuite/ld-elf/pr21562h.d: Likewise.

commit f78d1b3ae1cee2bc1a2be4b3c30df9627e13fdc1
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 14 05:51:59 2017 -0700

    Add size to bar in ld-gc/pr20022a.s
    
    Some linker backends require size info on dynamic symbols.
    
    	* testsuite/ld-gc/pr20022a.s: Add size to bar.

commit b6947a7f08011375120186688bf2efd866f7d148
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 14 05:49:02 2017 -0700

    Skip sizeof/startof tests on targets with leading char
    
    Symbol lookup in linker will always fail on targets with leading char
    in symbol name since __start_SECNAME and __stop_SECNAME in C may be
    ___start_SECNAME and ___stop_SECNAME in assembly.
    
    	* testsuite/ld-elf/sizeofa.d: Skip on targets with leading char
    	in symbol name.
    	* testsuite/ld-elf/sizeofb.d: Likewise.
    	* testsuite/ld-elf/startofa.d: Likewise.
    	* testsuite/ld-elf/startofb.d: Likewise.

commit db5fa770268baf8cc82cf9b141d69799fd485fe2
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 13:35:06 2017 +0100

    Fix address violation problems when disassembling a corrupt RX binary.
    
    	PR binutils/21587
    	* rx-decode.opc: Include libiberty.h
    	(GET_SCALE): New macro - validates access to SCALE array.
    	(GET_PSCALE): New macro - validates access to PSCALE array.
    	(DIs, SIs, S2Is, rx_disp): Use new macros.
    	* rx-decode.c: Regenerate.

commit 5524b5250e319f41933605420e9526fb74cfb9ae
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Jun 14 14:24:03 2017 +0200

    Fix register selection in var-access.exp
    
    The new test var-access.exp causes FAILs on i686.  This is because the
    test chooses the wrong name for DWARF register number 1: It uses
    "edx" (which corresponds to DWARF register number 2), but should have used
    "ecx" instead.
    
    Also, the current logic in var-access.exp does not correctly distinguish
    between a 64-bit and a 32-bit program on an x86-64 target.  It uses the
    64-bit register names for both.
    
    These problems are fixed.  In order to address the latter, the convenience
    macros is_*_target are exploited where appropriate.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/var-access.exp: Use register name ecx instead of edx
    	on 32-bit x86 targets.  Exploit is_*_target macros where
    	appropriate.

commit 4c0b797e0d2005780d8f0300f0ccc14b9d7c13b5
Author: Georg-Johann Lay <gjl@gcc.gnu.org>
Date:   Wed Jun 14 12:23:39 2017 +0100

    Move location of .jumptables section and add .hightext section to AVR linker script.
    
    	PR ld/21583
    	* scripttempl/avr.sc (.jumptables): Move down in text section.
    	(.hightext): New in text.

commit c53d2e6d744da000aaafe0237bced090aab62818
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 11:27:15 2017 +0100

    Fix potential address violations when processing a corrupt Alpha VMA binary.
    
    	PR binutils/21589
    	* vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
    	maximum value for the ascic pointer.  Check that name processing
    	does not read beyond this value.
    	(_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
    	end of etir record.

commit d5722aa2fe9e1d76d98865a9ab77a7b9388743c9
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jun 14 11:08:52 2017 +0100

    Introduce gdb::byte_vector, add allocator that default-initializes
    
    In some cases we've been replacing heap-allocated gdb_byte buffers
    managed with xmalloc/make_cleanup(xfree) with gdb::vector<gdb_byte>.
    That usually pessimizes the code a little bit because std::vector
    value-initializes elements (which for gdb_byte means
    zero-initialization), while if you're creating a temporary buffer,
    you're most certaintly going to fill it in with some data.  An
    alternative is to use
    
      unique_ptr<gdb_byte[]> buf (new gdb_byte[size]);
    
    but it looks like that's not very popular.
    
    Recently, a use of obstacks in dwarf2read.c was replaced with
    std::vector<gdb_byte> and that as well introduced a pessimization for
    always memsetting the buffer when it's garanteed that the zeros will
    be overwritten immediately.  (see dwarf2read.c change in this patch to
    find it.)
    
    So here's a different take at addressing this issue "by design":
    
    #1 - Introduce default_init_allocator<T>
    
    I.e., a custom allocator that does default construction using default
    initialization, meaning, no more zero initialization.  That's the
    default_init_allocation<T> class added in this patch.
    
    See "Notes" at
    <http://en.cppreference.com/w/cpp/container/vector/resize>.
    
    #2 - Introduce def_vector<T>
    
    I.e., a convenience typedef, because typing the allocator is annoying:
    
      using def_vector<T> = std::vector<T, gdb::default_init_allocator<T>>;
    
    #3 - Introduce byte_vector
    
    Because gdb_byte vectors will be the common thing, add a convenience
    "byte_vector" typedef:
    
      using byte_vector = def_vector<gdb_byte>;
    
    which is really the same as:
    
      std::vector<gdb_byte, gdb::default_init_allocator<gdb_byte>>;
    
    The intent then is to make "gdb::byte_vector" be the go-to for dynamic
    byte buffers.  So the less friction, the better.
    
    #4 - Adjust current code to use it.
    
    To set the example going forward.  Replace std::vector uses and also
    unique_ptr<byte[]> uses.
    
    One nice thing is that with this allocator, for changes like these:
    
      -std::unique_ptr<byte[]> buf (new gdb_byte[some_size]);
      +gdb::byte_vector buf (some_size);
       fill_with_data (buf.data (), buf.size ());
    
    the generated code is the same as before.  I.e., the compiler
    de-structures the vector and gets rid of the unused "reserved vs size"
    related fields.
    
    The other nice thing is that it's easier to write
      gdb::byte_vector buf (size);
    than
      std::unique_ptr<gdb_byte[]> buf (new gdb_byte[size]);
    or even (C++14):
      auto buf = std::make_unique<gdb_byte[]> (size); // zero-initializes...
    
    #5 - Suggest s/std::vector<gdb_byte>/gdb::byte_vector/ going forward.
    
    Note that this commit actually fixes a couple of bugs where the current
    code is incorrectly using "std::vector::reserve(new_size)" and then
    accessing the vector's internal buffer beyond the vector's size: see
    dwarf2loc.c and charset.c.  That's undefined behavior and may trigger
    debug mode assertion failures.  With default_init_allocator,
    "resize()" behaves like "reserve()" performance wise, in that it
    leaves new elements with unspecified values, but, it does that safely
    without triggering undefined behavior when you access those values.
    
    gdb/ChangeLog:
    2017-06-14  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c: Include "common/byte-vector.h".
    	(ada_value_primitive_packed_val): Use gdb::byte_vector.
    	* charset.c (wchar_iterator::iterate): Resize the vector instead
    	of reserving it.
    	* common/byte-vector.h: Include "common/def-vector.h".
    	(wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
    	* cli/cli-dump.c: Include "common/byte-vector.h".
    	(dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
    	* common/byte-vector.h: New file.
    	* common/def-vector.h: New file.
    	* common/default-init-alloc.h: New file.
    	* dwarf2loc.c: Include "common/byte-vector.h".
    	(rw_pieced_value): Use gdb::byte_vector, and resize the vector
    	instead of reserving it.
    	* dwarf2read.c: Include "common/byte-vector.h".
    	(data_buf::m_vec): Now a gdb::byte_vector.
    	* gdb_regex.c: Include "common/def-vector.h".
    	(compiled_regex::compiled_regex): Use gdb::def_vector<char>.
    	* mi/mi-main.c: Include "common/byte-vector.h".
    	(mi_cmd_data_read_memory): Use gdb::byte_vector.
    	* printcmd.c: Include "common/byte-vector.h".
    	(print_scalar_formatted): Use gdb::byte_vector.
    	* valprint.c: Include "common/byte-vector.h".
    	(maybe_negate_by_bytes, print_decimal_chars): Use
    	gdb::byte_vector.

commit 05c966f3c98d6126404f1cd7f233148a89810b5d
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date:   Wed Jun 14 10:52:40 2017 +0100

    [opcodes][arm] Remove bogus entry added by accident in former patch
    
    2017-07-14  Andre Vieira  <andre.simoesdiasvieira@arm.com>
    
    	* arm-dis.c (print_insn_arm): Remove bogus entry for bx.

commit 04f963fd489cae724a60140e13984415c205f4ac
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 10:35:16 2017 +0100

    Fix seg-faults in objdump when disassembling a corrupt versados binary.
    
    	PR binutils/21591
    	* versados.c (versados_mkobject): Zero the allocated tdata structure.
    	(process_otr): Check for an invalid offset in the otr structure.

commit 319c2dbe240a797c6f9436bfd64f5c16045ad5a1
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Tue Jun 13 07:48:40 2017 +0200

    Accept more epiphany targets
    
    In particular this adds support for the epiphany-rtems target.
    
    bfd/
    	* config.bfd (epiphany-*-elf): Accept epiphany-*-*.
    
    ld/
    	* configure.tgt (epiphany-*-elf): Accept epiphany-*-*.

commit f9a36b297d470a72ead64ed07cd5f313d9d7a502
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jun 14 00:00:25 2017 +0000

    Automatic date update in version.in

commit b27685f2016c510d03ac9a64f7b04ce8efcf95c4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 13:04:56 2017 -0700

    ld: Don't define __start_SECNAME/__stop_SECNAME for -r
    
    __start_SECNAME and __stop_SECNAME shouldn't be defined for "ld -r".
    
    	* ldlang.c (lang_set_startof): Skip if config.build_constructors
    	is FALSE.
    	* testsuite/ld-elf/sizeofc.d: New file.
    	* testsuite/ld-elf/startofc.d: Likewise.

commit 01ec7a272201de84be1ca2c557e58d97891f288c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jun 13 21:14:50 2017 +0200

    darwin-nat: Add missing include
    
    I forgot this one, which is kind of related.
    
    The function trace_start_error_with_name has moved in commit "Share
    fork_inferior et al with gdbserver", so this additional include is
    needed.
    
    Fixes:
    
    darwin-nat.c:1735:5: error: use of undeclared identifier 'trace_start_error_with_name'
        trace_start_error_with_name ("close");
    
    gdb/ChangeLog:
    
    	* darwin-nat.c: Include "nat/fork-inferior.h".

commit 848d907446d738604d11ab4061f3b0a8b23d4504
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jun 13 21:14:35 2017 +0200

    darwin: Add fork-inferior.o to NATDEPFILES
    
    I happened to be build-testing on macOS and found this:
    
      Undefined symbols for architecture x86_64:
    
        "fork_inferior(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char**, void (*)(), void (*)(int), void (*)(), char const*, void (*)(char const*, char* const*, char* const*))", referenced from:
    
            darwin_create_inferior(target_ops*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char**, int) in darwin-nat.o
    
        "startup_inferior(int, int, target_waitstatus*, ptid_t*)", referenced from:
    
            gdb_startup_inferior(int, int) in fork-child.o
    
        "trace_start_error(char const*, ...)", referenced from:
    
            darwin_ptrace_me() in darwin-nat.o
    
        "trace_start_error_with_name(char const*)", referenced from:
    
            darwin_ptrace_me() in darwin-nat.o
    
      ld: symbol(s) not found for architecture x86_64
    
      clang: error: linker command failed with exit code 1 (use -v to see invocation)
    
    Adding fork-inferior.o fixes it.  I factored out the Darwin bits that
    are no architecture-specific in the section meant for that at the top.
    
    I only built-tested this using Travis-CI, since I don't have access to
    this platform.
    
    gdb/ChangeLog:
    
    	* configure.nat: Factor out Darwin bits that are not
    	architecture-specific.  Add fork-inferior.o.

commit 3b912944f4257dd935c91b77a51bc2e4baa1018e
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jun 13 21:14:25 2017 +0200

    aix: Add fork-inferior.o to NATDEPFILES
    
    Trying to build on AIX gives:
    
    ld: 0711-317 ERROR: Undefined symbol: .trace_start_error_with_name(char const*)
    ld: 0711-317 ERROR: Undefined symbol: .fork_inferior(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char**, void (*)(), void (*)(int), void (*)(), char const*, void (*)(char const*, char* const*, char* const*))
    ld: 0711-317 ERROR: Undefined symbol: .startup_inferior(int, int, target_waitstatus*, ptid_t*)
    
    Including fork-inferior.o in the build should help.  I also factored out
    the AIX bits that are not architecture-specific to be consistent with the other
    OSes.
    
    gdb/ChangeLog:
    
    	* configure.nat: Factor out AIX bits that are not
    	architecture-specific.  Add fork-inferior.o.

commit da614360f520b84a9c87506eb0c880f7a056468b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 12:03:40 2017 -0700

    ld: Add tests for .startof.SECNAME/.sizeof.SECNAME
    
    	* testsuite/ld-elf/sizeof.d: Renamed to ...
    	* testsuite/ld-elf/sizeofa.d: This.  Updated.
    	* testsuite/ld-elf/startof.d: Renamed to ...
    	* testsuite/ld-elf/startofa.d: This.  Updated.
    	* testsuite/ld-elf/sizeofb.d: New file.
    	* testsuite/ld-elf/startofb.d: Likewise.

commit cbd0eecf261c2447781f8c89b0d955ee66fae7e9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 08:53:22 2017 -0700

    Always define referenced __start_SECNAME/__stop_SECNAME
    
    Currently, linker will define __start_SECNAME and __stop_SECNAME symbols
    only for orphaned sections.
    
    However, during garbage collection, ELF linker marks all sections with
    references to __start_SECNAME and __stop_SECNAME symbols as used even
    when section SECNAME isn't an orphaned section and linker won't define
    __start_SECNAME nor __stop_SECNAME.  And ELF linker stores the first
    input section whose name matches __start_SECNAME or __stop_SECNAME in
    u.undef.section for garbage collection.  If these symbols are provided
    in linker script, u.undef.section is set to the section where they will
    defined by linker script, which leads to the incorrect output.
    
    This patch changes linker to always define referenced __start_SECNAME and
    __stop_SECNAME if the input section name is the same as the output section
    name, which is always true for orphaned sections, and SECNAME is a C
    identifier.  Also __start_SECNAME and __stop_SECNAME symbols are marked
    as hidden by ELF linker so that __start_SECNAME and __stop_SECNAME symbols
    for section SECNAME in different modules are unique.  For garbage
    collection, ELF linker stores the first matched input section in the
    unused vtable field.
    
    bfd/
    
    	PR ld/20022
    	PR ld/21557
    	PR ld/21562
    	PR ld/21571
    	* elf-bfd.h (elf_link_hash_entry): Add start_stop.  Change the
    	vtable field to a union.
    	(_bfd_elf_is_start_stop): Removed.
    	* elf32-i386.c (elf_i386_convert_load_reloc): Also check for
    	__start_SECNAME and __stop_SECNAME symbols.
    	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
    	* elflink.c (_bfd_elf_is_start_stop): Removed.
    	(_bfd_elf_gc_mark_rsec): Check start_stop instead of calling
    	_bfd_elf_is_start_stop.
    	(elf_gc_propagate_vtable_entries_used): Skip __start_SECNAME and
    	__stop_SECNAME symbols.  Updated.
    	(elf_gc_smash_unused_vtentry_relocs): Likewise.
    	(bfd_elf_gc_record_vtinherit): Likewise.
    	(bfd_elf_gc_record_vtentry): Likewise.
    
    ld/
    
    	PR ld/20022
    	PR ld/21557
    	PR ld/21562
    	PR ld/21571
    	* ld.texinfo: Update __start_SECNAME/__stop_SECNAME symbols.
    	* ldlang.c (lang_insert_orphan): Move handling of __start_SECNAME
    	and __stop_SECNAME symbols to ...
    	(lang_set_startof): Here.  Also define __start_SECNAME and
    	__stop_SECNAME for -Ur.
    	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Mark
    	referenced __start_SECNAME and __stop_SECNAME symbols as hidden
    	and set start_stop for garbage collection.
    	* testsuite/ld-elf/pr21562a.d: New file.
    	* testsuite/ld-elf/pr21562a.s: Likewise.
    	* testsuite/ld-elf/pr21562a.t: Likewise.
    	* testsuite/ld-elf/pr21562b.d: Likewise.
    	* testsuite/ld-elf/pr21562b.s: Likewise.
    	* testsuite/ld-elf/pr21562b.t: Likewise.
    	* testsuite/ld-elf/pr21562c.d: Likewise.
    	* testsuite/ld-elf/pr21562c.t: Likewise.
    	* testsuite/ld-elf/pr21562d.d: Likewise.
    	* testsuite/ld-elf/pr21562d.t: Likewise.
    	* testsuite/ld-elf/pr21562e.d: Likewise.
    	* testsuite/ld-elf/pr21562f.d: Likewise.
    	* testsuite/ld-elf/pr21562g.d: Likewise.
    	* testsuite/ld-elf/pr21562h.d: Likewise.
    	* testsuite/ld-elf/pr21562i.d: Likewise.
    	* testsuite/ld-elf/pr21562j.d: Likewise.
    	* testsuite/ld-elf/pr21562k.d: Likewise.
    	* testsuite/ld-elf/pr21562l.d: Likewise.
    	* testsuite/ld-elf/pr21562m.d: Likewise.
    	* testsuite/ld-elf/pr21562n.d: Likewise.
    	* testsuite/ld-gc/pr20022.d: Likewise.
    	* testsuite/ld-gc/pr20022a.s: Likewise.
    	* testsuite/ld-gc/pr20022b.s: Likewise.
    	* testsuite/ld-gc/gc.exp: Run PR ld/20022 tests.
    	* testsuite/ld-gc/pr19161.d: Also accept local __start_SECNAME
    	symbol.
    	* testsuite/ld-gc/start.d: Likewise.
    	* testsuite/ld-x86-64/lea1a.d: Updated.
    	* testsuite/ld-x86-64/lea1b.d: Updated.
    	* testsuite/ld-x86-64/lea1d.d: Updated.
    	* testsuite/ld-x86-64/lea1e.d: Likewise.

commit 6490dc678bc35f2204afb38449de5127ef8bcca0
Author: Georg-Johann Lay <avr@gjlay.de>
Date:   Tue Jun 13 16:50:26 2017 +0100

    Replace multiple AVR scripts with a single, customizable linker script.
    
    	PR ld/21569
            * scripttempl/avrtiny.sc: Remove file.
    	* Makefile.am (eavrtiny.c): Depend on avr.sc, no more on avrtiny.sc.
    	* Makefile.in: Regenerate.
    	* emulparams/avrtiny.sh (SCRIPT_NAME): Set var to "avr".
    	(TEXT_ORIGIN): Remove var.
    	(FUSE_NAME, FUSE_LENGTH, LOCK_LENGTH, SIGNATURE_LENGTH)
    	(RODATA_PM_OFFSET): Set new vars.
    	* emulparams/avr1.sh (FUSE_NAME, EEPROM_LENGTH, FUSE_LENGTH)
    	(LOCK_LENGTH, SIGNATURE_LENGTH, USER_SIGNATURE_LENGTH): Set new vars.
    	* emulparams/avr2.sh: Same.
    	* emulparams/avr25.sh: Same.
    	* emulparams/avr3.sh: Same.
    	* emulparams/avr31.sh: Same.
    	* emulparams/avr35.sh: Same.
    	* emulparams/avr4.sh: Same.
    	* emulparams/avr5.sh: Same.
    	* emulparams/avr51.sh: Same.
    	* emulparams/avr6.sh: Same.
    	* emulparams/avrxmega1.sh: Same.
    	* emulparams/avrxmega2.sh: Same.
    	* emulparams/avrxmega3.sh: Same.
    	* emulparams/avrxmega4.sh: Same.
    	* emulparams/avrxmega5.sh: Same.
    	* emulparams/avrxmega6.sh: Same.
    	* emulparams/avrxmega7.sh: Same.
    	* scripttempl/avr.sc (__EEPROM_REGION_LENGTH__): Only define
    	if EEPROM_LENGTH is set.
    	(MEMORY) [eeprom]: Same.
    	(SECTIONS) [.eeprom]: Same for output section.
    	(__USER_SIGNATURE_REGION_LENGTH__): Only define if
    	USER_SIGNATURE_LENGTH is set.
    	(MEMORY) [user_signatures]: Same.
    	(SECTIONS) [.fuse]: Only define output section if FUSE_NAME = fuse.
    	(SECTIONS) [.config]: Only define output section if FUSE_NAME = config.

commit dc74becf498f60c842d81eb6e98cfcbc3f167c22
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 08:18:19 2017 -0700

    ld: Add tests for -Ur
    
    Test -Ur with __start_SECNAME, __stop_SECNAME, .startof.SECNAME and
    .sizeof.SECNAME.  __start_SECNAME and __stop_SECNAME should be defined
    to the start and the end of section SECNAME.  .startof.SECNAME and
    .sizeof.SECNAME should be undefined.
    
    	* testsuite/ld-elf/sizeof.d: New file.
    	* testsuite/ld-elf/sizeof.s: Likewise.
    	* testsuite/ld-elf/startof.d: Likewise.
    	* testsuite/ld-elf/startof.s: Likewise.

commit 8569cfa78c2cc8b5ef66b0bebddcc0e63231fb51
Author: Renlin Li <renlin.li@arm.com>
Date:   Tue Jun 13 14:03:47 2017 +0100

    [LD][Testsuite] Add --no-dynamic-linker option to dynamic-1 rdynamic-1 test case.
    
    arm-none-eabi-ld supports shared libraries. However, the toolchain may be
    configured to generate statically linked executable by default.
    
    It is required to have --no-dynamic-linker option before adding dynamic symbol
    to static executable.
    For dynamically linked executable, the behavior won't change.
    
    ld/ChangeLog
    2017-06-13  Renlin Li  <renlin.li@arm.com>
    
    	* testsuite/ld-elf/shared.exp (build_tests): Add --no-dynamic-linker
    	option to rdynamic-1 and dynamic-1 tests.

commit 55acdf2242372ae52abb25c80db8e75df5578b23
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:32 2017 +0200

    read/write_pieced_value: Merge into one function
    
    Since read_pieced_value and write_pieced_value share significant logic,
    this patch merges them into a single function rw_pieced_value.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
    	(read_pieced_value, write_pieced_value): ...here.  Reduce to
    	wrappers that just call rw_pieced_value.

commit f65e204425b5b46a5927d9501c42f25d98a866ce
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:32 2017 +0200

    write_pieced_value: Notify memory_changed observers
    
    So far write_pieced_value uses write_memory when writing memory pieces to
    the target.  However, this is a case where GDB potentially overwrites a
    watchpoint value.  In such a case write_memory_with_notification should be
    used instead, so that memory_changed observers get notified.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): When writing the data for a
    	memory piece, use write_memory_with_notification instead of
    	write_memory.

commit 23f945bf8cebf348154aff43782de2e1977e9230
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:31 2017 +0200

    Fix bit-/byte-offset mismatch in parameter to read_value_memory
    
    The function read_value_memory accepts a parameter embedded_offset and
    expects it to represent the byte offset into the given value.  However,
    the only invocation with a possibly non-zero embedded_offset happens in
    read_pieced_value, where a bit offset is passed instead.
    
    Adjust the implementation of read_value_memory to meet the caller's
    expectation.  This implicitly fixes the invocation in read_pieced_value.
    
    gdb/ChangeLog:
    
    	* valops.c (read_value_memory): Change embedded_offset to
    	represent a bit offset instead of a byte offset.
    	* value.h (read_value_memory): Adjust comment.

commit f236533e3c6a2693bea879b2a4d24d1229864ac9
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:31 2017 +0200

    read/write_pieced_value: Remove unnecessary variable copies
    
    In read_pieced_value's main loop, the variables `dest_offset_bits' and
    `source_offset_bits' are basically just copies of `offset' and
    `bits_to_skip', respectively.  In write_pieced_value the copies are
    reversed.  This is not very helpful when trying to keep the logic between
    these functions in sync.  Since the copies are unnecessary, this patch
    just removes them.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (read_pieced_value): Remove unnecessary variables
    	dest_offset_bits and source_offset_bits.
    	(write_pieced_value): Likewise.

commit 65d84b76164dc8ec1a1f0f0e0fd41667065ffd4e
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:31 2017 +0200

    Respect piece offset for DW_OP_bit_piece
    
    So far GDB ignores the piece offset of all kinds of DWARF bit
    pieces (DW_OP_bit_piece) and treats such pieces as if the offset was zero.
    
    This is fixed, and an appropriate test is added.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (read_pieced_value): Respect the piece offset, as
    	given by DW_OP_bit_piece.
    	(write_pieced_value): Likewise.
    
      Andreas Arnez  <arnez@linux.vnet.ibm.com>
    
    	* gdb.dwarf2/var-access.exp: Add test for composite location with
    	nonzero piece offsets.

commit 242d31ab7c3901e02bd68c1824d1d3610e02562b
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:30 2017 +0200

    read/write_pieced_value: Improve logic for buffer allocation
    
    So far the main loop in read_pieced_value and write_pieced_value is
    structured like this:
    
    (1) Prepare a buffer and some variables we may need;
    
    (2) depending on the DWARF piece type to be handled, use the buffer and
        the prepared variables, ignore them, or even recalculate them.
    
    This approach reduces readability and may also lead to unnecessary copying
    of data.  This patch moves the preparations to the places where sufficient
    information is available and removes some of the variables involved.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (read_pieced_value): Move the buffer allocation and
    	some other preparations to the places where sufficient information
    	is available.
    	(write_pieced_value): Likewise.

commit 03c8af18d1a8f359fd023696848bda488119da60
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:30 2017 +0200

    Fix handling of DWARF register pieces on big-endian targets
    
    For big-endian targets the logic in read/write_pieced_value tries to take
    a register piece from the LSB end.  This requires offsets and sizes to be
    adjusted accordingly, and that's where the current implementation has some
    issues:
    
    * The formulas for recalculating the bit- and byte-offsets into the
      register are wrong.  They just happen to yield correct results if
      everything is byte-aligned and the piece's last byte belongs to the
      given value.
    
    * After recalculating the bit offset into the register, the number of
      bytes to be copied from the register is not recalculated.  Of course
      this does not matter if everything (particularly the piece size) is
      byte-aligned.
    
    These issues are fixed.  The size calculation is performed with a new
    helper function bits_to_bytes().
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (bits_to_bytes): New function.
    	(read_pieced_value): Fix offset calculations for register pieces
    	on big-endian targets.
    	(write_pieced_value): Likewise.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/var-access.exp: Add test for non-byte-aligned
    	register pieces.

commit 840989c113433c069f54872d7e051e1572202326
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:30 2017 +0200

    read/write_pieced_value: Drop 'buffer_size' variable
    
    When the variable 'buffer_size' in read_pieced_value and
    write_pieced_value was introduced, it was needed for tracking the buffer's
    allocated size.  Now that the buffer's data type has been changed to a
    std::vector, the variable is no longer necessary; so remove it.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
    	(write_pieced_value): Likewise.

commit 3bf310110722b03d9ff9c4f34f5920a9be2878d0
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:29 2017 +0200

    Add DWARF piece test cases for bit-field access
    
    This verifies some of the previous fixes to the logic in
    write_pieced_value when accessing bit-fields.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/var-access.exp: Add tests for accessing bit-fields
    	located in one or more DWARF pieces.

commit 359b19bb24d048750aa5367ad56a33267300d1a8
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:28 2017 +0200

    write_pieced_value: Transfer least significant bits into bit-field
    
    On big-endian targets, when targeting a bit-field, write_pieced_value
    currently transfers the source value's *most* significant bits to the
    target value, instead of its least significant bits.  This is fixed.
    
    In particular the fix adjusts the initial value of 'offset', which can now
    potentially be nonzero.  Thus the variable 'type_len' is renamed to
    'max_offset', to avoid confusion.  And for consistency, the affected logic
    that was mirrored in read_pieced_value is changed there in the same way.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): When writing to a bit-field,
    	transfer the source value's least significant bits, instead of its
    	lowest-addressed ones.  Rename type_len to max_offset.
    	(read_pieced_value): Mirror above changes to write_pieced_value as
    	applicable.

commit 07c9ca3bd8e6f83bcec49c922b52422c538f60f7
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:28 2017 +0200

    write_pieced_value: Fix buffer offset for memory pieces
    
    In write_pieced_value, when transferring the data to target memory via a
    buffer, the bit offset within the target value is not reduced to its
    sub-byte fraction before using it as a bit offset into the buffer.  This
    is fixed.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
    	truncate full bytes from dest_offset_bits before using it as an
    	offset into the buffer.

commit f1cc987420d9d2489eb453bd1c87139666cbe7fd
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:27 2017 +0200

    write_pieced_value: Include transfer size in byte-wise check
    
    In write_pieced_value, when checking whether the data can be transferred
    byte-wise, the current logic verifies the source- and destination offsets
    to be byte-aligned, but not the transfer size.  This is fixed.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): Include transfer size in
    	byte-wise check.

commit cdaac320fd62bff75562aaa3e466494dc72dd175
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:27 2017 +0200

    write_pieced_value: Fix copy/paste error in size calculation
    
    In write_pieced_value, the number of bytes containing a portion of the
    bit-field in a given piece is calculated with the wrong starting offset;
    thus the result may be off by one.  This bug was probably introduced when
    copying this logic from read_pieced_value.  Fix it.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
    	calculation of this_size.

commit af547a9614969e1d1ea6fcec6b59cd77a606380f
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:27 2017 +0200

    read/write_pieced_value: Respect value parent's offset
    
    In the case of targeting a bit-field, read_pieced_value and
    write_pieced_value calculate the number of bits preceding the bit-field
    without considering the relative offset of the value's parent.  This is
    relevant for a structure variable like this:
    
      struct s {
          uint64_t foo;
          struct {
    	  uint32_t bar;
    	  uint32_t bf : 10;  /* <-- target bit-field */
          } baz;
      } s;
    
    In this scenario, if 'val' is a GDB value representing s.baz.bf,
    val->parent represents the whole s.baz structure, and the following holds:
    
      - value_offset (val) == sizeof s.baz.bar == 4
      - value_offset (val->parent) == sizeof s.foo == 8
    
    The current logic would only use value_offset(val), resulting in the wrong
    offset into the target value.  This is fixed.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (read_pieced_value): Respect parent value's offset
    	when targeting a bit-field.
    	(write_pieced_value): Likewise.

commit 805acca042afed8e8431c92ab031167b03475676
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:26 2017 +0200

    gdb/testsuite: Add "get_endianness" convenience proc
    
    The test suite contains multiple instances of determining the target's
    endianness with GDB's "show endian" command.  This patch replaces these by
    an invocation of a new convenience proc 'get_endianness'.
    
    gdb/testsuite/ChangeLog:
    
    	* lib/gdb.exp (get_endianness): New proc.
    	* gdb.arch/aarch64-fp.exp: Use it.
    	* gdb.arch/altivec-regs.exp: Likewise.
    	* gdb.arch/e500-regs.exp: Likewise.
    	* gdb.arch/vsx-regs.exp: Likewise.
    	* gdb.base/dump.exp: Likewise.
    	* gdb.base/funcargs.exp: Likewise.
    	* gdb.base/gnu_vector.exp: Likewise.
    	* gdb.dwarf2/formdata16.exp: Likewise.
    	* gdb.dwarf2/implptrpiece.exp: Likewise.
    	* gdb.dwarf2/nonvar-access.exp: Likewise.
    	* gdb.python/py-inferior.exp: Likewise.
    	* gdb.trace/unavailable-dwarf-piece.exp: Likewise.

commit ddd7882a582637d86a321c1ab835f6cdbeb6d017
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:26 2017 +0200

    Remove addr_size field from struct piece_closure
    
    The addr_size field in the piece_closure data structure is a relic from
    before introducing the typed DWARF stack.  It is obsolete now.  This patch
    removes it.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
    	(allocate_piece_closure): Drop addr_size parameter.
    	(dwarf2_evaluate_loc_desc_full): Adjust call to
    	allocate_piece_closure.

commit e93523245b704bc126705620969b4736b00350c5
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:26 2017 +0200

    PR gdb/21226: Take DWARF stack value pieces from LSB end
    
    When taking a DW_OP_piece or DW_OP_bit_piece from a DW_OP_stack_value, the
    existing logic always takes the piece from the lowest-addressed end, which
    is wrong on big-endian targets.  The DWARF standard states that the
    "DW_OP_bit_piece operation describes a sequence of bits using the least
    significant bits of that value", and this also matches the current logic
    in GCC.  For instance, the GCC guality test case pr54970.c fails on s390x
    because of this.
    
    This fix adjusts the piece accordingly on big-endian targets.  It is
    assumed that:
    
    * DW_OP_piece shall take the piece from the LSB end as well;
    
    * pieces reaching outside the stack value bits are considered undefined,
      and a zero value can be used instead.
    
    gdb/ChangeLog:
    
    	PR gdb/21226
    	* dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
    	the LSB end, independent of endianness.
    
    gdb/testsuite/ChangeLog:
    
    	PR gdb/21226
    	* gdb.dwarf2/nonvar-access.exp: Add checks for verifying that
    	stack value pieces are taken from the LSB end.

commit d5d1163eff2415a01895f1cff8bbee32b3f0ab66
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:26 2017 +0200

    write_pieced_value: Fix size capping logic
    
    A field f in a structure composed of DWARF pieces may be located in
    multiple pieces, where the first and last of those may contain bits from
    other fields as well.  So when writing to f, the beginning of the first
    and the end of the last of those pieces may have to be skipped.  But the
    logic in write_pieced_value for handling one of those pieces is flawed
    when the first and last piece are the same, i.e., f is contained in a
    single piece:
    
      < - - - - - - - - - piece_size - - - - - - - - - ->
      +-------------------------------------------------+
      | skipped_bits |   f_bits   | / / / / / / / / / / |
      +-------------------------------------------------+
    
    The current logic determines the size of the sub-piece to operate on by
    limiting the piece size to the bit size of f and then subtracting the
    skipped bits:
    
      min (piece_size, f_bits) - skipped_bits
    
    Instead of:
    
      min (piece_size - skipped_bits, f_bits)
    
    So the resulting sub-piece size is corrupted, leading to wrong handling of
    this piece in write_pieced_value.
    
    Note that the same bug was already found in read_pieced_value and fixed
    there (but not in write_pieced_value), see PR 15391.
    
    This patch swaps the calculations, bringing them into the same (correct)
    order as in read_pieced_value.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): Fix order of calculations for
    	size capping.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/var-pieces.exp: Add test case for modifying a
    	variable at nonzero offset.

commit 0567c9861e113a573cc905002a59cb1bc3d78450
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:25 2017 +0200

    Add test for modifiable DWARF locations
    
    This adds a test for read/write access to variables with various types of
    DWARF locations.  It uses register- and memory locations and composite
    locations with register- and memory pieces.
    
    Since the new test calls gdb_test_no_output with commands that contain
    braces, it is necessary for string_to_regexp to quote braces as well.
    This was not done before.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/var-access.c: New file.
    	* gdb.dwarf2/var-access.exp: New test.
    	* lib/gdb-utils.exp (string_to_regexp): Quote braces as well.

commit 10bbbc1d790836122c417fe4fef7233604bb3982
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jun 13 14:03:16 2017 +0100

    Prevent a call to abort when a relocatable link encounters a relocation against a symbol in a section removed by garbage collection.
    
    	PR ld/21524
    	* elflink.c (elf_link_adjust_relocs): Generate an error when
    	encountering a reloc against a symbol removed by garbage
    	collection.

commit 032bb6eae8a0166f9b5d2eac6960383c532ef6d1
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Jun 13 09:05:04 2017 +0100

    Move initialize_tdesc_mips* calls from mips-linux-nat.c to mips-linux-tdep.c
    
    All target descriptions except mips initialization are called in -tdep.c,
    instead of -nat.c, so this patch moves mips target descriptions
    initialization to -tdep.c.  Secondly, I want to change the target
    descriptions from pre-generated to dynamical creation, so I want to test
    that these pre-generated target descriptions equal to these dynamically
    created ones.  Move target descriptions initialization to -tdep.c files so
    we can test them in any hosts (if they are still -nat.c, we can only test
    them on mips-linux host.).
    
    gdb:
    
    2017-06-13  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-linux-nat.c: Move include features/mips*-linux.c to
    	mips-linux-tdep.c.
    	(_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
    	to mips-linux-tdep.c.
    	* mips-linux-tdep.c: Include features/mips*-linux.c
    	(_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
    	functions.
    	* mips-linux-tdep.h (tdesc_mips_linux): Declare.
    	(tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
    	(tdesc_mips64_dsp_linux): Declare.

commit a0688fac4b1662e34a9a08e233112beb7403f642
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jun 13 00:00:43 2017 +0000

    Automatic date update in version.in

commit 973e9aab63a70311dffa2993dac52bd63ea461ec
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 2 06:54:06 2017 -0600

    Add some 128-bit integer tests
    
    This adds some tests for printing 128-bit integers.
    
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	* gdb.dwarf2/formdata16.exp: Add tests.

commit f12f6bad7d4e8de1d1f4c9c1811757571149c8f1
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 22 16:55:18 2017 -0600

    Remove val_print_type_code_int
    
    Now that print_scalar_formatted is more capable, there's no need for
    val_print_type_code_int.  This patch removes it in favor of
    val_print_scalar_formatted.
    
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	* valprint.h (val_print_type_code_int): Remove.
    	* valprint.c (generic_val_print_int): Always call
    	val_print_scalar_formatted.
    	(val_print_type_code_int): Remove.
    	* printcmd.c (print_scalar_formatted): Handle options->format==0.
    	* f-valprint.c (f_val_print): Use val_print_scalar_formatted.
    	* c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
    	* ada-valprint.c (ada_val_print_num): Use
    	val_print_scalar_formatted.

commit d9109c8080ac0a2caeaa5f3d51e8a3b4891a68a8
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 22 18:43:59 2017 -0600

    Simplify print_scalar_formatted
    
    This unifies the two switches in print_scalar_formatted, removing some
    now-redundant code.  Now scalar types are never converted to LONGEST,
    instead printing is done using print_*_chars, operating on the byte
    representation.
    
    ChangeLog
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	* printcmd.c (print_scalar_formatted): Unify the two switches.
    	Don't convert scalars to LONGEST.
    
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	* gdb.arch/altivec-regs.exp: Expect decimal results for uint128.

commit 4ac0cb1cf04f105586746a6cce5b0f93d76f2b33
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 22 16:32:25 2017 -0600

    Let print_decimal_chars handle signed values
    
    This changes print_decimal_chars to handle signed values.
    
    gdb/ChangeLog
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	PR exp/16225:
    	* valprint.h (print_decimal_chars): Update.
    	* valprint.c (maybe_negate_by_bytes): New function.
    	(print_decimal_chars): Add "is_signed" argument.
    	* printcmd.c (print_scalar_formatted): Update.

commit 30a254669b16b86166fed1f9a4c4f9cc55a07fdc
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 22 03:55:58 2017 -0600

    Don't always zero pad in print_*_chars
    
    This changes print_octal_chars and print_decimal_chars to never zero
    pad, and changes print_binary_chars and print_hex_chars to only
    optionally zero-pad, based on a flag.
    
    ChangeLog
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	PR exp/16225:
    	* valprint.h (print_binary_chars, print_hex_chars): Update.
    	* valprint.c (val_print_type_code_int): Update.
    	(print_binary_chars): Add "zero_pad" argument.
    	(emit_octal_digit): New function.
    	(print_octal_chars): Don't zero-pad.
    	(print_decimal_chars): Likewise.
    	(print_hex_chars): Add "zero_pad" argument.
    	* sh64-tdep.c (sh64_do_fp_register): Update.
    	* regcache.c (regcache::dump): Update.
    	* printcmd.c (print_scalar_formatted): Update.
    	* infcmd.c (default_print_one_register_info): Update.
    
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	PR exp/16225:
    	* gdb.reverse/i386-sse-reverse.exp: Update tests.
    	* gdb.arch/vsx-regs.exp: Update tests.
    	* gdb.arch/s390-vregs.exp (hex128): New proc.
    	Update test.
    	* gdb.arch/altivec-regs.exp: Update tests.

commit b3464d0316235899d9facf81896d7a427d5cd6d0
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 12 19:04:52 2017 +0100

    mips-tdep.c: Remove MAX_REGISTER_SIZE usage
    
    mips_eabi_push_dummy_call is storing the address of a struct in a
    buffer that must have the same of the confisued/set ABI register size.
    Add a define for the maximum ABI size and use it to size the local
    buffer.  Also rename the 'regsize' local to 'abi_regsize' for clarity.
    
    Tested that --enable-targets=all still builds.
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    	    Alan Hayward  <alan.hayward@arm.com>
    
    	* mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
    	(mips_eabi_push_dummy_call): Rename local 'regsize' to
    	'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
    	use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
    	Assert that abi_regsize bytes fit in 'ref_valbuf'.

commit 4b76cda9938e4cb200bccffb6e020268c6a51b89
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 12 02:51:52 2017 +0100

    .gdb_index prod perf regression: mapped_symtab now vector of values
    
    ... instead of vector of pointers
    
    There's no real reason for having mapped_symtab::data be a vector of
    heap-allocated symtab_index_entries.  symtab_index_entries is not that
    large, it's movable, and it's cheap to move.  Making the vector hold
    values instead improves cache locality and eliminates many roundtrips
    to the heap.
    
    Using the same test as in the previous patch, against the same gdb
    inferior, timing improves ~13% further:
    
      ~6.0s => ~5.2s (average of 5 runs).
    
    Note that before the .gdb_index C++ifycation patch, we were at ~5.7s.
    We're now consistenly better than before.
    
    gdb/ChangeLog
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (mapped_symtab::data): Now a vector of
    	symtab_index_entry instead of vector of
    	std::unique_ptr<symtab_index_entry>.  All users adjusted to check
    	whether an element's name is NULL instead of checking whether the
    	element itself is NULL.
    	(find_slot): Change return type.  Adjust.
    	(hash_expand, , add_index_entry, uniquify_cu_indices)
    	(write_hash_table): Adjust.

commit e8f8bcb35f22965c8e4309c4aa4227241c485fe7
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 12 02:40:18 2017 +0100

    .gdb_index prod perf regression: Estimate size of psyms_seen
    
    Using the same test as the previous patch, perf shows GDB spending
    over 7% in "free".  A substantial number of those calls comes from
    insertions in the psyms_seen unordered_set causing lots of rehashing
    and recreating buckets.  Fix this by computing an estimate of the size
    of the set upfront.
    
    Using the same test as in the previous patch, against the same gdb
    inferior, timing improves ~8% further:
    
      ~6.5s => ~6.0s (average of 5 runs).
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (recursively_count_psymbols): New function.
    	(write_psymtabs_to_index): Call it to compute number of psyms and
    	pass estimate size of psyms_seen to unordered_set's ctor.

commit 70a1152bee7cb959ab0c6c13bada03190125022f
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 12 00:49:51 2017 +0100

    .gdb_index prod perf regression: find before insert in unordered_map
    
    "perf" shows the unordered_map::emplace call in write_hash_table a bit
    high up on profiles.  Fix this using the find + insert idiom instead
    of going straight to insert.
    
    I tried doing the same to the other unordered_maps::emplace calls in
    the file, but saw no performance improvement, so left them be.
    
    With a '-g3 -O2' build of gdb, and:
    
      $ cat save-index.cmd
      set $i = 0
      while $i < 100
        save gdb-index .
        set $i = $i + 1
      end
      $ time ./gdb -data-directory=data-directory -nx --batch -q -x save-index.cmd  ./gdb.pristine
    
    I get an improvement of ~7%:
    
      ~7.0s => ~6.5s (average of 5 runs).
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (write_hash_table): Check if key already exists
    	before emplacing.

commit c2f134ac418eafca850e7095d789a01ec1142fc4
Author: Pedro Alves <palves@redhat.com>
Date:   Sat Jun 10 16:51:14 2017 +0100

    Code cleanup: dwarf2read.c: Add data_buf::append_uint
    
    This avoids having to specify the integer size twice in the same line.
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (data_buf::append_space): Rename to...
    	(data_buf::grow): ... this, and make private.  Adjust all callers.
    	(data_buf::append_uint): New method.
    	(add_address_entry, write_one_signatured_type)
    	(write_psymtabs_to_index): Use it.

commit a81e6d4d261b7471428408f4ebba1b8113c16ccf
Author: Pedro Alves <palves@redhat.com>
Date:   Sat Jun 10 00:53:00 2017 +0100

    Code cleanup: dwarf2read.c: Eliminate ::file_write
    
    There's no real need for all this indirection.
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
    	(file_write (FILE *, const std::vector<Elem>&)): Delete.
    	(data_buf::file_write): Call ::fwrite directly.

commit 6fd931f2d66af8398b2fae3ab5f5afe091b8362f
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 12 00:43:55 2017 +0100

    Code cleanup: dwarf2read.c:uniquify_cu_indices: Use std::unique
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (uniquify_cu_indices): Use std::unique and
    	std::vector::erase.

commit bc8f2430e08cc2a520db49a42686e0529be4a3bc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Jun 12 16:29:53 2017 +0100

    Code cleanup: C++ify .gdb_index producer
    
    gdb/ChangeLog
    2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	Code cleanup: C++ify .gdb_index producer.
    	* dwarf2read.c: Include <unordered_set> and <unordered_map>.
    	(MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
    	(struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
    	(create_strtab, add_string): Remove.
    	(file_write, data_buf): New.
    	(struct symtab_index_entry): Use std::vector for cu_indices.
    	(struct mapped_symtab): Use std::vector for data.
    	(hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
    	(create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
    	Remove.
    	(find_slot): Change return type.  Update it to the new data structures.
    	(hash_expand, add_index_entry): Update it to the new data structures.
    	(offset_type_compare): Remove.
    	(uniquify_cu_indices): Update it to the new data structures.
    	(c_str_view, c_str_view_hasher, vector_hasher): New.
    	(add_indices_to_cpool): Remove.
    	(write_hash_table): Update it to the new data structures.
    	(struct psymtab_cu_index_map, hash_psymtab_cu_index)
    	(eq_psymtab_cu_index): Remove.
    	(psym_index_map): New typedef.
    	(struct addrmap_index_data): Change addr_obstack pointer to data_buf
    	reference and std::unordered_map for cu_index_htab.
    	(add_address_entry, add_address_entry_worker, write_address_map)
    	(write_psymbols): Update it to the new data structures.
    	(write_obstack): Remove.
    	(struct signatured_type_index_data): Change types_list to a data_buf
    	reference and psyms_seen to a std::unordered_set reference.
    	(write_one_signatured_type, recursively_write_psymbols)
    	(write_psymtabs_to_index): Update it to the new data structures.

commit 5c3ce2bc8adea307917d3bfeef53114795764db6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 12 07:37:15 2017 -0700

    ELF: Pass bfd_link_info to merge_gnu_properties
    
    Pass struct bfd_link_info * to merge_gnu_properties to give backend
    control of how GNU properties are merged based on linker command line
    options.
    
    	* elf-bfd.h (elf_backend_data): Add struct bfd_link_info *
    	to merge_gnu_properties.
    	* elf-properties.c (elf_merge_gnu_properties): Add struct
    	bfd_link_info * and pass it to merge_gnu_properties.
    	(elf_merge_gnu_property_list): Add struct bfd_link_info *
    	and pass it to elf_merge_gnu_properties.
    	(_bfd_elf_link_setup_gnu_properties): Pass info to
    	elf_merge_gnu_property_list.
    	* elf32-i386.c (elf_i386_merge_gnu_properties): Add struct
    	bfd_link_info *.
    	* elf64-x86-64.c (elf_x86_64_merge_gnu_properties): Likewise.

commit 3704e3589d3d187fbf76e688388b1a92fd627c8d
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Fri Jun 9 11:19:01 2017 +0200

    S/390: Return with an error for broken tls rewrites
    
    bfd/ChangeLog:
    
    2017-06-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* elf32-s390.c (elf_s390_relocate_section): Return false in case
    	the rewriting fails.
    	* elf64-s390.c (elf_s390_relocate_section): Likewise.

commit fd0219988dada5b4ddb04b691f71c9acdd87b739
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jun 12 00:00:38 2017 +0000

    Automatic date update in version.in

commit c4dcb155c446cee135101d72172b47e3fc99caf9
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sun Jun 11 23:16:01 2017 +0200

    Introduce "set debug separate-debug-file"
    
    I helped someone figure out why their separate debug info (debug
    link-based) was not found by gdb.  It turns out that the debug file was
    not named properly.  It made me realize that it is quite difficult to
    diagnose this kind of problems.  This patch adds some debug output to
    show where GDB looks for those files, so that it should be (more)
    obvious to find what's wrong.
    
    Here's an example of the result, first with an example of unsuccessful lookup,
    and then a successful one.
    
      (gdb) set debug separate-debug-file on
      (gdb) file /usr/bin/gnome-calculator
      Reading symbols from /usr/bin/gnome-calculator...
      Looking for separate debug info (build-id) for /usr/bin/gnome-calculator
        Trying /usr/local/lib/debug/.build-id/0d/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug
    
      Looking for separate debug info (debug link) for /usr/bin/gnome-calculator
        Trying /usr/bin/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug
        Trying /usr/bin/.debug/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug
        Trying /usr/local/lib/debug//usr/bin/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug
      (no debugging symbols found)...done.
      (gdb) set debug-file-directory /usr/lib/debug
      (gdb) file /usr/bin/gnome-calculator
      Reading symbols from /usr/bin/gnome-calculator...
      Looking for separate debug info by build-id for /usr/bin/gnome-calculator
        Trying /usr/lib/debug/.build-id/0d/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug
      Reading symbols from /usr/lib/debug/.build-id/0d/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug...done.
      done.
    
    Note: here, the debug link happens to be named like the build-id, but it
    doesn't have to be this way.  It puzzled me for a minute.
    
    gdb/ChangeLog:
    
    	* NEWS (Changes since GDB 8.0): Announce {set,show} debug
    	separate-debug-file commands.
    	* symfile.h (separate_debug_file_debug): New global.
    	* symfile.c (separate_debug_file_debug): New global.
    	(separate_debug_file_exists, find_separate_debug_file): Add
    	debug output.
    	(_initialize_symfile): Add "set debug separate-debug-file"
    	command.
    	* build-id.c (build_id_to_debug_bfd,
    	find_separate_debug_file_by_buildid): Add debug output.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Optional Messages about Internal Happenings):
    	Document {set,show} debug separate-debug-file commands.

commit 9b97dfbf8049bed3b2f79c6c785afaf18206dad3
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Jun 11 13:34:13 2017 +0930

    PR 21564, Section start in binary output file incorrect
    
    	PR 21564
    	* binary.c (binary_set_section_contents): Scale lma by octets
    	per byte to set filepos.

commit c7198f97e026f2a2d53de8dda090c04619355a36
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jun 11 00:00:44 2017 +0000

    Automatic date update in version.in

commit 561bf3e950e410fbcac06523d43039f1f58150ca
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jun 10 00:00:43 2017 +0000

    Automatic date update in version.in

commit 6d45d4b42b5b360c0b80259e101c01d650d0be23
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Jun 10 00:24:05 2017 +0200

    gdbarch: Remove displaced_step_free_closure
    
    The displaced_step_free_closure gdbarch hook allows architectures to
    free data they might have allocated to complete a displaced step.
    However, all architectures using that hook use the
    simple_displaced_step_free_closure provided in arch-utils.{c,h}, which
    does a simple xfree.  We can remove it and do an xfree directly instead
    of calling the hook.
    
    gdb/ChangeLog:
    
    	* gdbarch.sh (displaced_step_free_closure): Remove.
    	* gdbarch.h, gdbarch.c: Re-generate.
    	* aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
    	displaced_step_free_closure.
    	* amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
    	* arm-linux-tdep.c (arm_linux_init_abi): Likewise.
    	* i386-linux-tdep.c (i386_linux_init_abi): Likewise.
    	* rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
    	* rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
    	* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
    	* arch-utils.h (simple_displaced_step_free_closure): Remove.
    	* arch-utils.c (simple_displaced_step_free_closure): Remove.
    	* infrun.c (displaced_step_clear): Call xfree instead of
    	gdbarch_displaced_step_free_closure.

commit 9845682bda4149b5b3648f2d49a041aef5bc1af5
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Fri Jun 9 18:16:19 2017 -0400

    Include <signal.h> on gdbserver/fork-child.c (and fix regressions)
    
    Hi,
    
    This is another obvious patch that fixes a thinko from my previous
    startup-with-shell series.  We should conditionally include <signal.h>
    on gdb/gdbserver/fork-child.c because gdbserver will be putting the
    inferior's terminal on the correct mode after the call to
    fork_inferior, and for that it needs to ignore SIGTTOU.
    
    This patch fixes a bunch of regressions happening on AArch64 that were
    reported by Yao.
    
    gdb/gdbserver/ChangeLog:
    2017-06-09  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* fork-child.c: Conditionally include <signal.h>.

commit 654f3b6a2af84ba0f9c6a4c011364b8f650d66a6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jun 9 10:43:43 2017 -0700

    x86-64: Add some x32 ELF property tests
    
    	* testsuite/ld-x86-64/property-x86-3-x32.d: New file.
    	* testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-4b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-3.d: Also pass
    	-defsym __64_bit__=1 to asssembler.
    	* testsuite/ld-x86-64/property-x86-4a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-4b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-3.s: Align to 4 bytes if
    	__64_bit__ isn't defined.
    	* testsuite/ld-x86-64/property-x86-4a.s: Likewise.
    	* testsuite/ld-x86-64/property-x86-4b.s: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run property-x86-3-x32,
    	property-x86-4a-x32 and property-x86-4b-x32.

commit dbb2bcd0059f8d91de5a792f8684c8908c316720
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Fri Jun 9 12:02:05 2017 +0100

    Revert "[AArch64] Allow COPY relocation elimination"
    
    This reverts commit bc327528fd2ccdc6c29ab6ae608085dddbad5cc8.
    
    This patch can only be committed after PC-relative relocation types
    support on copy relocation elimination is also completed.

commit fe7bb2d5ab1f47163f38d2070dc1e62c1920bb44
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jun 9 00:00:44 2017 +0000

    Automatic date update in version.in

commit 2f91880f3afb3cc521111dfcc99b214c77aa97a1
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Jun 8 16:58:25 2017 -0400

    Fix possible bug when no args have been provided to the executable
    
    Hi,
    
    This bug is related to:
    
      <https://sourceware.org/ml/gdb-patches/2017-06/msg00216.html>
    
    On stringify_argv, we have to check if args[0] is not NULL before
    stringifying anything, otherwise we might do the wrong thing when
    trimming the "ret" string in the end.  args[0] will be NULL when no
    arguments are passed to the inferior that will be started.
    
    Checked in as obvious.
    
    gdb/ChangeLog:
    2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* common/common-utils.c (stringify_argv): Check for "arg[0] !=
    	NULL".

commit e3d1d4088ad3b4d0fed39df62ad295ed60707807
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Tue May 23 13:36:33 2017 +0200

    [ARC] Corrected conditions for dynamic sections creation.
    
    Fixed conditions to create the dynamic sections.
    Previously there would be times where the dynamic sections would not be created
    although they were actually required for linking to work.
    
    Issue found through OpenADK build, more precisely the ublicb testsuite package.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	elf32-arc.c (elf_arc_check_relocs): Fixed conditions to generate
    	dynamic sections.

commit 64aa8e030360ba68e32ca15fa5aa426160a2efb1
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Wed Apr 5 23:22:07 2017 +0200

    [ARC] Fixed condition to generate TEXTREL.
    
    TEXTREL was being generated even when relocatable .o files had the .rela.text
    section. Now it is limitted only to dynamic object files that still have them.
    Nevertheless, our target aborts in those cases due to architecture limitations
    where icache is not coherent with dcache, and to force this coherence expensive
    kernel level support would be needed.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* elf32-arc.c (elf_arc_size_dynamic_sections): Changed condition to
    	require TEXTREL.

commit a0abe74332bd25aeb68acfadd74280c0f117c493
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Thu Dec 29 17:10:01 2016 +0100

    [ARC] Fixed TLS for IE model.
    
    In the case of static relocation, the GOT entries are fixed at link time
    and are set by the linker.
    In order to compute the right TLS offset it is necessary to add TCB_SIZE
    to the offset, just in case the dynamic linker is not expected to be
    executed (static linked case).
    This problem does appear in dynamic linked applications, as the dynamic
    linker is adding this TCB_SIZE by operating the TCB block structure.
    
    Problem revealed in GLIBC with static linking.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to
    	patched section contents for TLS IE reloc.
    	elf32-arc.c: Remove TCB_SIZE preprocessor macro.
    
    Rebase to 0006

commit f4e6805f98d2b3eae305f66ba26ab25aae1485f2
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Wed Nov 30 20:23:21 2016 +0100

    [ARC] Add RELOC_FOR_GLOBAL_SYMBOL in ARC target code.
    
    This miss was identified in the context of openssh building for ARC.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	elf32-arc.c (elf_arc_relocate_section): Added "call" to
    	RELOC_FOR_GLOBAL_SYMBOL macro.

commit cd6402916febae6d8a4e62c572ea6fd487eebb61
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Wed Nov 30 14:07:20 2016 +0100

    [ARC] ARC_PC32 dynamic reloc incorrectly generated.
    
    Fixed issue related to the generation of ARC_PC32 dynamic relocs when symbol
    is dynamic but still defined in a non shared object.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	elf32-arc.c (elf_arc_relocate_section): Small refactor and condition
    	changes.

commit 7ef0acc15ec011371a3901a997c867165bf7a733
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Mon May 30 15:19:22 2016 +0530

    [ARC] Don't convert _DYNAMIC@ to _GLOBAL_OFFSET_TABLE_
    
    Historically the arc abi demanded that a GOT[0] should be referencible as
    [pc+_DYNAMIC@gotpc].  Hence we convert a _DYNAMIC@gotpc to a GOTPC reference to
    _GLOBAL_OFFSET_TABLE_.
    
    This is no longer the case and uClibc and upcomming GNU libc don't expect this
    to happen.
    
    gas/ChangeLog:
    
        Vineet Gupta  <vgupta@synopsys.com>
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* config/tc-arc.c (md_undefined_symbol): Changed.
    	* config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.

commit cc89d0b3344614ae97456df84034096b698e5790
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Mon Oct 24 22:19:48 2016 +0200

    [ARC] Reassign the symbol got information to actual symbol when indirect.
    
    GOT information would not be reassign to symbol when it became a indect
    symbol.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
    	symbols.

commit 9d5c718b7a9c46132940f899f40556a77ca462a0
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Mon Oct 24 12:52:04 2016 +0200

    [ARC] Disable warning on absolute relocs when symbol is local.
    
    R_ARC_32 and R_ARC_32_ME cannot be generated as dynamic relocs.
    However, a warning message and check_relocs was aborting when this type of
    reloc was being resolved to a local symbol.
    This is wrong as local symbols are resolvable at link time.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* elf32-arc.c (elf_arc_check_relocs): Added condition to disable
    	warning and "Bad value" for local symbols ARC_32 or ARC_32_ME relocs.

commit be9e3704f91190c1e1c5d253494423b13c982d93
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Wed Dec 7 14:22:54 2016 +0100

    [ARC] Avoid creating dynamic relocs when static linked is requested.
    
    bfd/Changelog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* elf32-arc.c (ADD_RELA): Changed to only work when dynamic object is
    	created.

commit b8b6e72f3db1f798680742c02f3dc220175d0757
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jun 8 16:05:24 2017 +0100

    Add MN10300_MAX_REGISTER_SIZE
    
    gdb/
    	* mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
    	(mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
    	(mn10300_push_dummy_call): Likewise.

commit 5369082e7b786dee2c185f768b126a9a18cb2915
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jun 8 15:57:12 2017 +0100

    Update ff4ca5ac6a2e8 to the correct version.
    
    gdb/
    	* mi/mi-main.c (register_changed_p): Use value_contents_eq.

commit 4ec192e6abe86319b9e9af6f2ae4cf0614b1e2b3
Author: Richard Earnshaw <Richard.Earnshaw@arm.com>
Date:   Thu Jun 8 15:11:44 2017 +0100

    [bfd][arm] Don't assert on suspicious build attributes in input file
    
    It's generally a bad idea to use assertions to validate our idea of
    what an input file looks like.  We need to be as liberal as possible
    in what we accept with respect to standards and conservative with what
    we produce.
    
    Currently, if gcc is used to produce an assembler file which contains
    only data, but the FPU is set to fpv4-sp-d16 and mfloat-abi=hard, then
    the following attributes will be set in the output:
    
            .cpu arm7tdmi
            .eabi_attribute 27, 1   @ Tag_ABI_HardFP_use
            .eabi_attribute 28, 1   @ Tag_ABI_VFP_args
            .eabi_attribute 20, 1   @ Tag_ABI_FP_denormal
            .eabi_attribute 21, 1   @ Tag_ABI_FP_exceptions
            .eabi_attribute 23, 3   @ Tag_ABI_FP_number_model
            .eabi_attribute 24, 1   @ Tag_ABI_align8_needed
            .eabi_attribute 25, 1   @ Tag_ABI_align8_preserved
            .eabi_attribute 26, 2   @ Tag_ABI_enum_size
            .eabi_attribute 30, 6   @ Tag_ABI_optimization_goals
            .eabi_attribute 34, 0   @ Tag_CPU_unaligned_access
            .eabi_attribute 18, 4   @ Tag_ABI_PCS_wchar_t
    
    There is then no .fpu directive to cause Tag_FP_arch to be set,
    because there are no functions containing code in the object file.  If
    this object file is assembled by hand, but without -mfpu on the
    invocation of the assembler, then the build attributes produced will
    trigger an assertion during linking.
    
    Thinking about the build attributes, the combination of a
    single-precision only implementation of no floating-point architecture
    is still no floating-point architecture.  Hence the assertion on the
    input BFD in the linker makes no real sense.
    
    We should, however, be more conservative in what we generate, so I've
    left the assertion on the output bfd in place; I don't think we can
    trigger it with this change since we never merge the problematic tags
    from a perversely generated input file.
    
    	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove assertion
    	that the input bfd has Tag_FP_ARCH non-zero if Tag_ABI_HardFP_use
    	is non-zero.  Add clarifying comments.

commit ff4ca5ac6a2e85177dc7efe5cbda7b956bb71fd5
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jun 8 14:02:59 2017 +0100

    Remove MAX_REGISTER_SIZE from mi/mi-main.c
    
    gdb/
    	* mi/mi-main.c (register_changed_p): Use cooked_read_value.

commit 6322e5c5cb7ffe1c26c50f117765503717b0431c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 7 21:18:01 2017 -0700

    x86: Dump local IFUNC functions in the map file
    
    Dump local IFUNC functions in the map file when generating IRELATIVE
    relocations if -Map is used.
    
    bfd/
    
    	* elf32-i386.c (elf_i386_check_relocs): Set local IFUNC symbol
    	name.  Use local IFUNC symbol name string to report unsupported
    	non-PIC call to IFUNC function.
    	(elf_i386_relocate_section): Dump local IFUNC name with minfo
    	when generating R_386_IRELATIVE relocation.
    	(elf_i386_finish_dynamic_symbol): Likewise.
    	* elf_x86_64_check_relocs (elf_x86_64_check_relocs): Set local
    	IFUNC symbol name.
    	(elf_x86_64_relocate_section): Dump local IFUNC name with minfo
    	when generating R_X86_64_IRELATIVE relocation.
    	(elf_x86_64_finish_dynamic_symbol): Likewise.
    
    ld/
    
    	* testsuite/ld-ifunc/ifunc-1-local-x86.d: Pass
    	"-Map tmpdir/ifunc-1-local-x86.map" to ld and check
    	ifunc-1-local-x86.map.
    	* testsuite/ld-ifunc/ifunc-1-x86.d: Pass
    	"-Map tmpdir/ifunc-1-x86.map" to ld and check ifunc-1-x86.map.
    	* testsuite/ld-ifunc/ifunc-1-local-x86.map: New file.
    	* testsuite/ld-ifunc/ifunc-1-x86.map: Likewise.

commit 51fa2693add9ead8288f475d380f4aec7372fe5a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 8 03:48:04 2017 -0700

    cl

commit bc327528fd2ccdc6c29ab6ae608085dddbad5cc8
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Jun 7 12:05:39 2017 +0100

    [AArch64] Allow COPY relocation elimination
    
      As discussed at the PR, this patch tries to avoid COPY relocation generation
    and propagate the original relocation into runtime if it was relocating on
    writable section.  The ELIMINATE_COPY_RELOCS has been set to true and it's
    underlying infrastructure has been improved so that the COPY reloc elimination
    at least working on absoluate relocations (ABS64) after this patch.
    
    bfd/
            PR ld/21532
            * elfnn-aarch64.c (ELIMINATE_COPY_RELOCS): Set to 1.
            (elfNN_aarch64_final_link_relocate): Also propagate relocations to
            runtime for copy relocation elimination cases.
            (alias_readonly_dynrelocs): New function.
            (elfNN_aarch64_adjust_dynamic_symbol): Keep the dynamic relocs instead
            of generating copy relocation if it is not against read-only sections.
            (elfNN_aarch64_check_relocs): Likewise.
    
    ld/
            * testsuite/ld-aarch64/copy-reloc-eliminate.d: New test.
            * testsuite/ld-aarch64/copy-reloc-exe-eliminate.s: New test source file.
            * testsuite/ld-aarch64/aarch64-elf.exp: Run new testcase.

commit 81b6fe3bf9f3be2b6b81d05d08ac58d2a6dcb760
Author: Eric Christopher <echristo@gmail.com>
Date:   Wed Jun 7 17:49:35 2017 -0700

    2017-06-07  Eric Christopher  <echristo@gmail.com>
    
    	* aarch64.cc (maybe_apply_stub): Add debug logging for looking
    	up stubs to undefined symbols and early return rather than
    	fail to look them up.
    	(scan_reloc_for_stub): Add debug logging for no stub creation
    	for undefined symbols.

commit 3030551ec55042d7c87bd55fd29db2b06fe06df9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jun 8 00:00:39 2017 +0000

    Automatic date update in version.in

commit aefd8b33d97bded58e51d75271f99e1eaec9fb28
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Dec 22 22:14:02 2016 -0500

    Implement proper "startup-with-shell" support on gdbserver
    
    This patch implements the proper support for the "startup-with-shell"
    feature on gdbserver.  A new packet is added, QStartupWithShell, and
    it is sent on initialization.  If the host sends a
    "QStartupWithShell:1", it means the inferior shall be started using a
    shell.  If the host sends a "QStartupWithShell:0", it means the
    inferior shall be started without using a shell.  Any other value is
    considered an error.
    
    There is no way to remotely set the shell that will be used by the
    target to start the inferior.  In order to do that, the user must
    start gdbserver while providing a shell via the $SHELL environment
    variable.  The same is true for the host side.
    
    The "set startup-with-shell" setting from the host side is used to
    decide whether to start the remote inferior using a shell.  This same
    setting is also used to decide whether to use a shell to start the
    host inferior; this means that it is not really possible to start the
    inferior using different mechanisms on target and host.
    
    A documentation patch is included, along with a new testcase for the
    feature.
    
    gdb/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* NEWS (Changes since GDB 8.0): Announce that GDBserver is now
    	able to start inferiors	using a shell.
    	(New remote packets): Announce new packet "QStartupWithShell".
    	* remote.c: Add PACKET_QStartupWithShell.
    	(extended_remote_create_inferior): Handle new
    	PACKET_QStartupWithShell.
    	(remote_protocol_features) <QStartupWithShell>: New entry for
    	PACKET_QStartupWithShell.
    	(_initialize_remote): Call "add_packet_config_cmd" for
    	QStartupShell.
    
    gdb/gdbserver/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* server.c (handle_general_set): Handle new packet
    	"QStartupWithShell".
    	(handle_query): Add "QStartupWithShell" to the list of supported
    	packets.
    	(gdbserver_usage): Add help text explaining the
    	new "--startup-with-shell" and "--no-startup-with-shell" CLI
    	options.
    	(captured_main): Recognize and act upon the presence of the new
    	CLI options.
    
    gdb/testsuite/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* gdb.base/startup-with-shell.c: New file.
    	* gdb.base/startup-with-shell.exp: Likewise.
    
    gdb/doc/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* gdb.texinfo (Starting) <startup-with-shell>: Add @anchor.
    	(Connecting) <Remote Packet>: Add "startup-with-shell"
    	and "QStartupWithShell" to the table.
    	(Remote Protocol) <QStartupWithShell>: New item, explaining the
    	packet.

commit 2090129c36c7e582943b7d300968d19b46160d84
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Dec 22 21:11:11 2016 -0500

    Share fork_inferior et al with gdbserver
    
    This is the most important (and the biggest, sorry) patch of the
    series.  It moves fork_inferior from gdb/fork-child.c to
    nat/fork-inferior.c and makes all the necessary adjustments to both
    GDB and gdbserver to make sure everything works OK.
    
    There is no "most important change" with this patch; all changes are
    made in a progressive way, making sure that gdbserver had the
    necessary features while not breaking GDB at the same time.
    
    I decided to go ahead and implement a partial support for starting the
    inferior with a shell on gdbserver, although the full feature comes in
    the next patch.  The user won't have the option to disable the
    startup-with-shell, and also won't be able to change which shell
    gdbserver will use (other than setting the $SHELL environment
    variable, that is).
    
    Everything is working as expected, and no regressions were present
    during the tests.
    
    gdb/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    	    Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
    	and "nat/fork-inferior.h".
    	* common/common-inferior.h: New file, with contents from
    	"gdb/inferior.h".
    	* commom/common-utils.c: Include "common-utils.h".
    	(stringify_argv): New function.
    	* common/common-utils.h (stringify_argv): New prototype.
    	* configure.nat: Add "fork-inferior.o" as a dependency for
    	"*linux*", "fbsd*" and "nbsd*" hosts.
    	* corefile.c (get_exec_file): Update comment.
    	* darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
    	instead of "startup_inferior".
    	(darwin_create_inferior): Call "add_thread_silent" after
    	"fork_inferior".
    	* fork-child.c: Cleanup unnecessary includes.
    	(SHELL_FILE): Move to "common/common-fork-child.c".
    	(environ): Likewise.
    	(exec_wrapper): Initialize.
    	(get_exec_wrapper): New function.
    	(breakup_args): Move to "common/common-fork-child.c"; rename to
    	"breakup_args_for_exec".
    	(escape_bang_in_quoted_argument): Move to
    	"common/common-fork-child.c".
    	(saved_ui): New variable.
    	(prefork_hook): New function.
    	(postfork_hook): Likewise.
    	(postfork_child_hook): Likewise.
    	(gdb_startup_inferior): Likewise.
    	(fork_inferior): Move to "common/common-fork-child.c".  Update
    	function to support gdbserver.
    	(startup_inferior): Likewise.
    	* gdbcore.h (get_exec_file): Remove declaration.
    	* gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
    	instead of "startup_inferior".  Call "add_thread_silent" after
    	"fork_inferior".
    	* inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
    	(inf_ptrace_create_inferior): Call "gdb_startup_inferior"
    	instead of "startup_inferior".  Call "add_thread_silent" after
    	"fork_inferior".
    	* inferior.h: Include "common-inferior.h".
    	(trace_start_error): Move to "common/common-utils.h".
    	(trace_start_error_with_name): Likewise.
    	(fork_inferior): Move prototype to "nat/fork-inferior.h".
    	(startup_inferior): Likewise.
    	(gdb_startup_inferior): New prototype.
    	* nat/fork-inferior.c: New file, with contents from "fork-child.c".
    	* nat/fork-inferior.h: New file.
    	* procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
    	instead of "startup_inferior".  Call "add_thread_silent" after
    	"fork_inferior".
    	* target.h (target_terminal_init): Move prototype to
    	"target/target.h".
    	(target_terminal_inferior): Likewise.
    	(target_terminal_ours): Likewise.
    	* target/target.h (target_terminal_init): New prototype, moved
    	from "target.h".
    	(target_terminal_inferior): Likewise.
    	(target_terminal_ours): Likewise.
    	* utils.c (gdb_flush_out_err): New function.
    
    gdb/gdbserver/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    	    Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SFILES): Add "nat/fork-inferior.o".
    	* configure: Regenerate.
    	* configure.srv (srv_linux_obj): Add "fork-child.o" and
    	"fork-inferior.o".
    	(i[34567]86-*-lynxos*): Likewise.
    	(spu*-*-*): Likewise.
    	* fork-child.c: New file.
    	* linux-low.c: Include "common-inferior.h", "nat/fork-inferior.h"
    	and "environ.h".
    	(linux_ptrace_fun): New function.
    	(linux_create_inferior): Adjust function prototype to reflect
    	change on "target.h".  Adjust function code to use
    	"fork_inferior".
    	(linux_request_interrupt): Delete "signal_pid".
    	* lynx-low.c: Include "common-inferior.h" and "nat/fork-inferior.h".
    	(lynx_ptrace_fun): New function.
    	(lynx_create_inferior): Adjust function prototype to reflect
    	change on "target.h".  Adjust function code to use
    	"fork_inferior".
    	* nto-low.c (nto_create_inferior): Adjust function prototype and
    	code to reflect change on "target.h".  Update comments.
    	* server.c: Include "common-inferior.h", "nat/fork-inferior.h",
    	"common-terminal.h" and "environ.h".
    	(terminal_fd): Moved to fork-child.c.
    	(old_foreground_pgrp): Likewise.
    	(restore_old_foreground_pgrp): Likewise.
    	(last_status): Make it global.
    	(last_ptid): Likewise.
    	(our_environ): New variable.
    	(startup_with_shell): Likewise.
    	(program_name): Likewise.
    	(program_argv): Rename to...
    	(program_args): ...this.
    	(wrapper_argv): New variable.
    	(start_inferior): Delete function.
    	(get_exec_wrapper): New function.
    	(get_exec_file): Likewise.
    	(get_environ): Likewise.
    	(prefork_hook): Likewise.
    	(post_fork_inferior): Likewise.
    	(postfork_hook): Likewise.
    	(postfork_child_hook): Likewise.
    	(handle_v_run): Update code to deal with arguments coming from the
    	remote host.  Update calls from "start_inferior" to
    	"create_inferior".
    	(captured_main): Likewise.  Initialize environment variable.  Call
    	"have_job_control".
    	* server.h (post_fork_inferior): New prototype.
    	(get_environ): Likewise.
    	(last_status): Declare.
    	(last_ptid): Likewise.
    	(signal_pid): Likewise.
    	* spu-low.c: Include "common-inferior.h" and "nat/fork-inferior.h".
    	(spu_ptrace_fun): New function.
    	(spu_create_inferior): Adjust function prototype to reflect change
    	on "target.h".  Adjust function code to use "fork_inferior".
    	* target.c (target_terminal_init): New function.
    	(target_terminal_inferior): Likewise.
    	(target_terminal_ours): Likewise.
    	* target.h: Include <vector>.
    	(struct target_ops) <create_inferior>: Update prototype.
    	(create_inferior): Update macro.
    	* utils.c (gdb_flush_out_err): New function.
    	* win32-low.c (win32_create_inferior): Adjust function prototype
    	and code to reflect change on "target.h".
    
    gdb/testsuite/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* gdb.server/non-existing-program.exp: Update regex in order to
    	reflect the fact that gdbserver is now using fork_inferior (with a
    	shell) to startup the inferior.

commit 043a49349c713dc329a2dfc413b082c3826ecdb8
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Dec 22 13:30:42 2016 -0500

    Share parts of gdb/gdbthread.h with gdbserver
    
    GDB and gdbserver now share 'switch_to_thread' because of
    fork_inferior.  To make things clear, I created a new file name
    common/common-gdbthread.h, and left the implementation specific to
    each part.
    
    gdb/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
    	* common/common-gdbthread.h: New file, with parts from
    	"gdb/gdbthread.h".
    	* gdbthread.h: Include "common-gdbthread.h".
    	(switch_to_thread): Moved to "common/common-gdbthread.h".
    
    gdb/gdbserver/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* inferiors.c (switch_to_thread): New function.

commit 156525114c1cbbace0dec223494b842ffc60d52e
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Dec 22 12:41:16 2016 -0500

    Move parts of inferior job control to common/
    
    This commit moves a few bits responsible for dealing with inferior job
    control from GDB to common/, which makes them available to gdbserver.
    This is necessary for the upcoming patches that will share
    fork_inferior et al between GDB and gdbserver.
    
    We move some parts of gdb/terminal.h to gdb/common/common-terminal.h,
    especifically the code that checks terminal features and that are used
    to set job_control accordingly.
    
    After sharing parts of gdb/terminal.h, we also to share the two
    functions on gdb/inflow.c that are going to be needed by the
    fork_inferior rework.  They are 'gdb_setpgid' and the new
    'have_job_control'.  I've also taken the opportunity to give a more
    meaningful name to "inflow.c" on common/.  Now it is called
    "job-control.c" (thanks Pedro for the suggestion).
    
    gdb/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (SFILES): Add "common/job-control.c".
    	(HFILES_NO_SRCDIR): Add "common/job-control.h".
    	(COMMON_OBS): Add "job-control.o".
    	* common/job-control.c: New file, with contents from
    	"gdb/inflow.c".
    	* common/job-control.h: New file, with contents from "terminal.h".
    	* fork-child.c: Include "job-control.h".
    	* inflow.c: Include "job-control.h".
    	(gdb_setpgid): Move to "common/common-inflow.c".
    	(_initialize_inflow): Move setting of "job_control" to
    	"handle_job_control".
    	* terminal.h (job_control): Moved to "common/common-terminal.h".
    	(gdb_setpgid): Likewise.
    	* top.c: Include "job_control.h".
    	* utils.c: Likewise.
    	(job_control): Moved to "job-control.c".
    
    gdb/gdbserver/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (SFILE): Add "common/job-control.c".
    	(OBS): Add "job-control.o".

commit 2d7cc5c7973b6d1bdd9205288863bedadeaf8b41
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jun 7 14:21:40 2017 +0100

    Introduce compiled_regex, eliminate make_regfree_cleanup
    
    This patch replaces compile_rx_or_error and make_regfree_cleanup with
    a class that wraps a regex_t.
    
    gdb/ChangeLog:
    2017-06-07  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SFILES): Add gdb_regex.c.
    	(COMMON_OBS): Add gdb_regex.o.
    	* ada-lang.c (ada_add_standard_exceptions)
    	(ada_add_exceptions_from_frame, name_matches_regex)
    	(ada_add_global_exceptions, ada_exceptions_list_1): Change regex
    	parameter type to compiled_regex.  Adjust.
    	(ada_exceptions_list): Use compiled_regex.
    	* break-catch-throw.c (exception_catchpoint::pattern): Now a
    	std::unique_ptr<compiled_regex>.
    	(exception_catchpoint::~exception_catchpoint): Remove regfree
    	call.
    	(check_status_exception_catchpoint): Adjust to use compiled_regex.
    	(handle_gnu_v3_exceptions): Adjust to use compiled_regex.
    	* breakpoint.c (solib_catchpoint::compiled): Now a
    	std::unique_ptr<compiled_regex>.
    	(solib_catchpoint::~solib_catchpoint): Remove regfree call.
    	(check_status_catch_solib): Adjust to use compiled_regex.
    	(add_solib_catchpoint): Adjust to use compiled_regex.
    	* cli/cli-cmds.c (apropos_command): Use compiled_regex.
    	* cli/cli-decode.c (apropos_cmd): Change regex parameter to
    	compiled_regex reference.  Adjust to use it.
    	* cli/cli-decode.h: Remove struct re_pattern_buffer forward
    	declaration.  Include "gdb_regex.h".
    	(apropos_cmd): Change regex parameter to compiled_regex reference.
    	* gdb_regex.c: New file.
    	* gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
    	declarations.
    	(class compiled_regex): New.
    	* linux-tdep.c: Include "common/gdb_optional.h".
    	(struct mapping_regexes): New, factored out from
    	mapping_is_anonymous_p, and adjusted to use compiled_regex.
    	(mapping_is_anonymous_p): Use mapping_regexes wrapped in a
    	gdb::optional and remove cleanups.  Adjust to compiled_regex.
    	* probe.c: Include "common/gdb_optional.h".
    	(collect_probes): Use compiled_regex and gdb::optional and remove
    	cleanups.
    	* skip.c: Include "common/gdb_optional.h".
    	(skiplist_entry::compiled_function_regexp): Now a
    	gdb::optional<compiled_regex>.
    	(skiplist_entry::compiled_function_regexp_is_valid): Delete field.
    	(free_skiplist_entry): Remove regfree call.
    	(compile_skip_regexp, skip_rfunction_p): Adjust to use
    	compiled_regex and gdb::optional.
    	* symtab.c: Include "common/gdb_optional.h".
    	(search_symbols): Use compiled_regex and gdb::optional.
    	* utils.c (do_regfree_cleanup, make_regfree_cleanup)
    	(get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
    	to gdb_regex.c.

commit 62e20ed45e3da5f3ba695e4ee109317668180fe6
Author: Michael Collison <michael.collison@arm.com>
Date:   Wed Jun 7 13:34:34 2017 +0100

    Add support for AArch64 system register names IP0, IP1, FP and LR.
    
    	* config/tc-aarch64.c (reg_entry_reg_names): Add IP0,
    	IP1, FP, and LR as register aliases of register 16, 17, 29
    	and 30 respectively.
    	* testsuite/gas/aarch64/diagnostic.l: Remove diagnostic
    	prohibiting register 'lr' which is now an alias.
    	* testsuite/gas/aarch64/diagnostic.s: Remove instruction
    	utilizing register 'lr' which is now an alias.

commit 50d6adef3b8509c4e7e37b4b708e0593d43ed347
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jun 7 10:16:46 2017 +0100

    Remove MAX_REGISTER_SIZE from regcache.c
    
    gdb/
    	* regcache.c (regcache::save): Avoid buffer use.
    	(regcache::dump): Likewise.

commit 4a8a33c843681410eeba4e05aa749abda8a8341b
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jun 7 10:06:10 2017 +0100

    Remove MAX_REGISTER_SIZE from sh(64)-tdep.c
    
    gdb/
    	* sh-tdep.c (sh_pseudo_register_read): Remove
    	MAX_REGISTER_SIZE.
    	(sh_pseudo_register_write): Likewise.
    	* sh64-tdep.c (sh64_pseudo_register_read): Likewise.
    	(sh64_pseudo_register_write): Likewise.

commit d1be909e7fbf753fd3aa18681089e3bcacbcf51c
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jun 7 09:57:55 2017 +0100

    Remove MAX_REGISTER_SIZE from aarch64-tdep.c
    
    gdb/
    	* aarch64-tdep.c (aarch64_store_return_value): Use
    	V_REGISTER_SIZE.
    	(aarch64_pseudo_read_value): Likewise.
    	(aarch64_pseudo_write): Likewise.

commit 4936f23592b910d65cc9f077115559366f9c4662
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jun 7 15:22:58 2017 +0930

    Fix a number of pr21529 testcase failures
    
    Various targets fail this testcase due to ld not supporting binary output.
    
    	* testsuite/ld-unique/pr21529.d: xfail aarch64, arm, hppa, ia64,
    	nds32, and score.  Match any output.

commit 58f59b7616851b2f3737e385ec9095765eeeffa3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jun 7 00:00:40 2017 +0000

    Automatic date update in version.in

commit 78e8a2ff5f01799874be41fdc919d34c670496c6
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Jun 6 11:19:06 2017 -0700

    bfd: support section groups with preceding SHF_GROUP sections
    
    GAS always places section groups (SHT_GROUP) before the rest of the
    sections in the output file.  However, other assemblers may place
    section groups after the group members.
    
    This patch fixes handlign such situations, and removes some duplicated
    logic.
    
    bfd/ChangeLog:
    
    2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* elf.c (setup_group): Make sure BFD sections are created for all
    	group sections in the input file when processing SHF_GROUP
    	sections.
    	(bfd_section_from_shdr): Avoid duplicating logic already
    	implemented in `setup_group'.

commit f4a6504277d861057aedd2b88369493d644935c6
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Jun 6 16:42:45 2017 +0100

    Remove declaration of set_register_cache from regdef.h
    
    Function set_register_cache was removed by 3aee891821f538cfb4e0a08a26196c70127f1474
    ([GDBserver] Multi-process + multi-arch), so this patch removes the
    declaration too.
    
    gdb:
    
    2017-06-06  Yao Qi  <yao.qi@linaro.org>
    
    	* regformats/regdef.h (set_register_cache): Remove the
    	declaration.

commit 9f7fb0aa2b6eb9fb185c1c2ae4159d783acadc0e
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Jun 6 16:34:20 2017 +0100

    Remove a MAX_REGISTER_SIZE from frame.c
    
    gdb/
    	* frame.c (frame_unwind_register_signed): Use
    	frame_unwind_register_value.

commit e1e01040aa83ddef0bb5c60a8b187f769b2b1ec3
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jun 6 15:53:59 2017 +0100

    Fix double free when running gdb.linespec/ls-errs.exp (PR breakpoints/21553)
    
    The problem is that b->extra_string is free'ed twice: Once in the
    breakpoint's dtor, and another time via make_cleanup (xfree).
    
    This patch gets rid of the cleanups, fixing the problem.
    
    Tested on x86_64 GNU/Linux.
    
    gdb/ChangeLog:
    2017-06-06  Pedro Alves  <palves@redhat.com>
    
    	PR breakpoints/21553
    	* breakpoint.c (create_breakpoints_sal_default)
    	(init_breakpoint_sal, create_breakpoint_sal): Use
    	gdb::unique_xmalloc_ptr for string parameters.
    	(create_breakpoint): Constify 'extra_string' and 'cond_string'
    	parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
    	(base_breakpoint_create_breakpoints_sal)
    	(bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
    	(strace_marker_create_breakpoints_sal)
    	(create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
    	string parameters.
    	* breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
    	gdb::unique_xmalloc_ptr for string parameters.
    	(create_breakpoint): Constify 'extra_string' and 'cond_string'
    	parameters.

commit fbe654c8bc78eb06b6d7ee4fcec64e9e34e7a9ac
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Jun 6 15:45:08 2017 +0100

    Remove uses of MAX_REGISTER_SIZE from alpha-tdep.c
    
    gdb/
    	* alpha-tdep.c (alpha_register_to_value): Use
    	get_frame_register_value.
    	(alpha_value_to_register): Use ALPHA_REGISTER_SIZE.

commit 9949827bea788753c29b7bb503d6d5dda6ea21ff
Author: Daniel Bonniot de Ruisselet <bonniot@gmail.com>
Date:   Tue Jun 6 15:06:02 2017 +0100

    Handle printing information about PE format files which have 0 as the value of the HInt Table in the import tables structure.
    
    	PR binutils/21546
    	* peXXigen.c (pe_print_idata): Use the address of the first thunk
    	if the hint address is zero.

commit 5c8ed6a4a1d197658086e9175f820227ebffebec
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu May 25 10:40:07 2017 +0100

    [Patch, ARM] Relax the restrictions on REG_SP under Thumb mode on ARMv8-A
    
      For Thumb mode, since ARMv8-A, REG_SP is allowed in most of the places in
    Rd/Rt/Rt2 etc while it was disallowed before ARMv8-A, and was rejected through
    the "reject_bad_reg" macro and several scattered checks.
    
      This patch only rejects REG_SP in "reject_bad_reg" and several related places
    for legacy architectures before ARMv8-A. I have checked those affected instructions
    , all of them qualify such relaxations.
    
      Testcases adjusted accordingly.
        * ld-sp-warn.d was written without .arch and without -march options passed.
          By default it assumes all architectures, so I deleted the REG_SP warning
          on ldrsb as it's supported on ARMv8-A.  There are actually quite a few
          seperate tests on other architectures, for example ld-sp-warn-v7.l etc.,
          so there the test for ldrsb on legacy architectures are still covered.
        * sp-pc-validations-bad-t has been extended to armv8-a.
        * strex-bad-t.d restricted on armv7-a.
        * Some new tests for REG_SP used as Rd/Rt etc added in sp-usage-thumb2-relax*.
    
    gas/
    	* config/tc-arm.c (reject_bad_reg): Allow REG_SP on ARMv8-A.
    	(parse_operands): Allow REG_SP for OP_oRRnpcsp and OP_RRnpcsp on
    	ARMv8-A.
    	(do_co_reg): Allow REG_SP for Rd on ARMv8-A.
    	(do_t_add_sub): Likewise.
    	(do_t_mov_cmp): Likewise.
    	(do_t_tb): Likewise.
    	* testsuite/gas/arm/ld-sp-warn.l: Delete the warning on REG_SP as Rt for
    	ldrsb.
    	* testsuite/gas/arm/sp-pc-validations-bad-t-v8a.d: New test.
    	* testsuite/gas/arm/sp-pc-validations-bad-t-v8a.l: New test.
    	* testsuite/gas/arm/sp-pc-validations-bad-t.d: Specifies -march=armv7-a.
    	* testsuite/gas/arm/sp-pc-validations-bad-t.s: Remove ".arch armv7-a".
    	* testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.d: New test.
    	* testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.l: New test.
    	* testsuite/gas/arm/sp-usage-thumb2-relax-on-v8.d: New test.
    	* testsuite/gas/arm/sp-usage-thumb2-relax.s: New test.
    	* testsuite/gas/arm/strex-bad-t.d: Specifies -march=armv7-a.

commit d24b756188bd63a422671a73e31af718007264ca
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jun 6 14:52:31 2017 +0100

    Fix memory leaks in the sysinfo program.
    
    	* sysinfo.y: Free memory allocated by token NAME.

commit 0ee3a6dbd06b88a4e02f3f46c3ec036fd951400b
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Tue Jun 6 14:30:47 2017 +0100

    Fix AArch64 in the same way as other targets updated in 8170f7693bc0a9442c0aa280197925db92d48ca6.
    
    	PR ld/19579
    	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check
    	ELF_COMMON_DEF_P for common symbols.

commit ae0d01d663a2bac65afb8b94bbf1a91d95298f68
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Jun 6 13:50:07 2017 +0100

    Add IA64_MAX_FP_REGISTER_SIZE
    
    gdb/
    	* ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
    	(ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
    	(ia64_value_to_register): Likewise.
    	(ia64_extract_return_value): Likewise.
    	(ia64_store_return_value): Likewise.
    	(ia64_push_dummy_call): Likewise.

commit 670b1a13351f34c38ea1abb6cb20e247fb002015
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jun 6 10:15:27 2017 +0100

    ld: Fix spelling mistake in comment.
    
    ld/ChangeLog:
    
    	* ld.h (struct args_type): Fix typo in comment.

commit 7bdf4127c38081c7764c0bf1db55d0b2e56391dc
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Wed Mar 22 17:27:49 2017 +0000

    ld: Allow section groups to be resolved as part of a relocatable link
    
    This commit adds a new linker feature: the ability to resolve section
    groups as part of a relocatable link.
    
    Currently section groups are automatically resolved when performing a
    final link, and are carried through when performing a relocatable link.
    By carried through this means that one copy of each section group (from
    all the copies that might be found in all the input files) is placed
    into the output file.  Sections that are part of a section group will
    not match input section specifiers within a linker script and are
    forcibly kept as separate sections.
    
    There is a slight resemblance between section groups and common
    section.  Like section groups, common sections are carried through when
    performing a relocatable link, and resolved (allocated actual space)
    only at final link time.
    
    However, with common sections there is an ability to force the linker to
    allocate space for the common sections when performing a relocatable
    link, there's currently no such ability for section groups.
    
    This commit adds such a mechanism.  This new facility can be accessed in
    two ways, first there's a command line switch --force-group-allocation,
    second, there's a new linker script command FORCE_GROUP_ALLOCATION.  If
    one of these is used when performing a relocatable link then the linker
    will resolve the section groups as though it were performing a final
    link, the section group will be deleted, and the members of the group
    will be placed like normal input sections.  If there are multiple copies
    of the group (from multiple input files) then only one copy of the group
    members will be placed, the duplicate copies will be discarded.
    
    Unlike common sections that have the --no-define-common command line
    flag, and INHIBIT_COMMON_ALLOCATION linker script command there is no
    way to prevent group resolution during a final link, this is because the
    ELF gABI specifically prohibits the presence of SHT_GROUP sections in a
    fully linked executable.  However, the code as written should make
    adding such a feature trivial, setting the new resolve_section_groups
    flag to false during a final link should work as you'd expect.
    
    bfd/ChangeLog:
    
    	* elf.c (_bfd_elf_make_section_from_shdr): Don't initially mark
    	SEC_GROUP sections as SEC_EXCLUDE.
    	(bfd_elf_set_group_contents): Replace use of abort with an assert.
    	(assign_section_numbers): Use resolve_section_groups flag instead
    	of relocatable link type.
    	(_bfd_elf_init_private_section_data): Use resolve_section_groups
    	flag instead of checking the final_link flag for part of the
    	checks in here.  Fix white space as a result.
    	* elflink.c (elf_link_input_bfd): Use resolve_section_groups flag
    	instead of relocatable link type.
    	(bfd_elf_final_link): Likewise.
    
    include/ChangeLog:
    
    	* bfdlink.h (struct bfd_link_info): Add new resolve_section_groups
    	flag.
    
    ld/ChangeLog:
    
    	* ld.h (struct args_type): Add force_group_allocation field.
    	* ldgram.y: Add support for FORCE_GROUP_ALLOCATION.
    	* ldlex.h: Likewise.
    	* ldlex.l: Likewise.
    	* lexsup.c: Likewise.
    	* ldlang.c (unique_section_p): Check resolve_section_groups flag
    	not the relaxable link flag.
    	(lang_add_section): Discard section groups when we're resolving
    	groups.  Clear the SEC_LINK_ONCE flag if we're resolving section
    	groups.
    	* ldmain.c (main): Initialise resolve_section_groups flag in
    	link_info based on command line flags.
    	* testsuite/ld-elf/group11.d: New file.
    	* testsuite/ld-elf/group12.d: New file.
    	* testsuite/ld-elf/group12.ld: New file.
    	* NEWS: Mention new features.
    	* ld.texinfo (Options): Document --force-group-allocation.
    	(Miscellaneous Commands): Document FORCE_GROUP_ALLOCATION.

commit 458ad2b83ecf4d764703767bccf19723ca741f00
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Jun 6 00:33:20 2017 -0700

    bfd: remove unused local variables in elf32-score, elf32-score7 and elfxx-mips
    
    bfd/ChangeLog:
    
    2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Remove unused
    	variable `bed'.
    	* elf32-score.c (score_elf_final_link_relocate): Likewise.
    	(s3_bfd_score_elf_check_relocs): Likewise.
    	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
    	(score_elf_final_link_relocate): Likewise.
    	(s7_bfd_score_elf_check_relocs): Likewise.

commit fbebaf4a56dd03251bc2e12fa6834d90555aa82a
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Jun 6 00:01:58 2017 -0700

    bfd: remove unused local variable in elflink.c:init_reloc_cookie_rels
    
    bfd/ChangeLog:
    
    2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* elflink.c (init_reloc_cookie_rels): Remove unused variable
    	`bed'.

commit 056bafd472efccfb2d7f44f6469dfa08cdf7414b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jun 6 01:24:06 2017 +0100

    ELF/BFD: Hold the number of internal static relocs in `->reloc_count'
    
    Correct a commit e5713223cbc1 ("MIPS/BFD: For n64 hold the number of
    internal relocs in `->reloc_count'") regression and change internal
    relocation handling in the generic ELF BFD linker code such that, except
    in the presence of R_SPARC_OLO10 relocations, a section's `reloc_count'
    holds the number of internal rather than external relocations, making
    the handling more consistent between GAS, which sets `->reloc_count'
    with a call to `bfd_set_reloc', and LD, which sets `->reloc_count' as it
    reads input sections.
    
    The handling of dynamic relocations remains unchanged and they continue
    holding the number of external relocations in `->reloc_count'; they are
    also not converted to the internal form except in `elf_link_sort_relocs'
    (which does not handle the general, i.e. non-n64-MIPS case of composed
    relocations correctly as per the ELF gABI, though it does not seem to
    matter for the targets we currently support).
    
    The n64 MIPS backend is the only one with `int_rels_per_ext_rel' set to
    non-one, and consequently the change is trivial for all the remaining
    backends and targets.
    
    	bfd/
    	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Subtract `count'
    	from `reloc_count' rather than decrementing it.
    	* elf.c (bfd_section_from_shdr): Multiply the adjustment to
    	`reloc_count' by `int_rels_per_ext_rel'.
    	* elf32-score.c (score_elf_final_link_relocate): Do not multiply
    	`reloc_count' by `int_rels_per_ext_rel' for last relocation
    	entry determination.
    	(s3_bfd_score_elf_check_relocs): Likewise.
    	* elf32-score7.c (score_elf_final_link_relocate): Likewise.
    	(s7_bfd_score_elf_relocate_section): Likewise.
    	(s7_bfd_score_elf_check_relocs): Likewise.
    	* elf64-mips.c (mips_elf64_get_reloc_upper_bound): Remove
    	prototype and function.
    	(mips_elf64_slurp_one_reloc_table): Do not update `reloc_count'.
    	(mips_elf64_slurp_reloc_table): Assert that `reloc_count' is
    	triple rather than once the sum of REL and RELA relocation entry
    	counts.
    	(bfd_elf64_get_reloc_upper_bound): Remove macro.
    	* elflink.c (_bfd_elf_link_read_relocs): Do not multiply
    	`reloc_count' by `int_rels_per_ext_rel' for internal relocation
    	storage allocation size determination.
    	(elf_link_input_bfd): Multiply `.ctors' and `.dtors' section's
    	size by `int_rels_per_ext_rel'.  Do not multiply `reloc_count'
    	by `int_rels_per_ext_rel' for last relocation entry
    	determination.
    	(bfd_elf_final_link): Do not multiply `reloc_count' by
    	`int_rels_per_ext_rel' for internal relocation storage
    	allocation size determination.
    	(init_reloc_cookie_rels): Do not multiply `reloc_count' by
    	`int_rels_per_ext_rel' for last relocation entry determination.
    	(elf_gc_smash_unused_vtentry_relocs): Likewise.
    	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
    	(_bfd_mips_elf_relocate_section): Likewise.

commit 61756f84eedc470c975f8bafe6ddf10acaca6942
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Mon Jun 5 17:25:02 2017 -0700

    Drop arm support for falkor/qdf24xx targets, not present in released hardware.
    
    	gas/
    	* config/tc-arm.c (arm_cpus): Delete falkor and qdf24xx entries.
    	* doc/c-arm.texi (-mcpu): Likewise.

commit a6ba6751c9cf5ef909e47d09609c28ad1509dfa9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jun 6 00:00:35 2017 +0000

    Automatic date update in version.in

commit d9409498813c75c1a9e9287ac6e5100ed3130390
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 5 14:54:12 2017 -0700

    Add a testcase for PR ld/21529
    
    	PR ld/21529
    	* testsuite/ld-unique/pr21529.d: New file.
    	* testsuite/ld-unique/pr21529.s: Likewise.
    	* testsuite/ld-unique/unique.exp: Run *.d.

commit af54f0eb968ba8cb3862fd3cad097a3f3363467b
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jun 5 11:02:42 2017 +0930

    PR21529, internal error in linker.c
    
    	PR 21529
    	* linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.

commit 91001320a22466d1580e169bcb023d3b822226b4
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jun 5 14:43:54 2017 +0930

    Fix --enable-new-dtags config support
    
    and testsuite when configured with --enable-new-dtags.
    
    	* ldmain.c (main): Correct setting of link_indo.new_dtags.
    	* testsuite/ld-elf/now-3.d: Pass --disable-new-dtags to ld
    	* testsuite/ld-elf/now-4.d: Likewise.
    	* testsuite/ld-elf/rpath-1.d: Likewise.
    	* testsuite/ld-elf/rpath-2.d: Likewise.

commit 6734f10ae9af6cfd47e70baa2cd3e326afabe5ed
Author: Slava Barinov <v.barinov@samsung.com>
Date:   Mon Jun 5 09:27:38 2017 +0930

    Introduce --enable-new-dtags configure option.
    
    This option switches on ld.bfd --enable-new-dtags by default.
    
    	* configure.ac: Add --enable-new-dtags option.
    	* ldmain.c: Set link_info.new_dtags to 1 if when --enable-new-dtags is
    	switched on.
    	* configure: Regenerate.
    	* config.in: Regenerate.

commit 3ea0007c8ca3ec851df6ab5391a98467b4021f92
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jun 5 00:00:50 2017 +0000

    Automatic date update in version.in

commit 49cf576c221b1d45d222f8cddaddbddf29336461
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sun Jun 4 09:04:09 2017 -0700

    Document the GDB 8.0 release in gdb/ChangeLog
    
    gdb/ChangeLog:
    
    	GDB 8.0 released.

commit 923ca33982401c5700421a592d2b0ee083cbefa1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jun 4 00:00:42 2017 +0000

    Automatic date update in version.in

commit 26b6a6aba5567143ed0f59388663b8f50e5cfcab
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 3 22:06:55 2017 +0200

    x86-linux-nat: Remove unused arch_lwp_info structure
    
    The structure arch_lwp_info for x86 is not used, remove it.
    
    gdb/ChangeLog:
    
    	* x86-linux-nat.c (struct arch_lwp_info): Remove.

commit 22827c51338ce25574ed7b204a2e5bd40f45bdad
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Jun 3 21:24:00 2017 +0200

    linux-nat: Remove unused parameter
    
    The parameter "first" of linux_nat_post_attach_wait is unused, remove
    it.
    
    gdb/ChangeLog:
    
    	* linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
    	parameter.
    	(linux_nat_attach): Adjust call to linux_nat_post_attach_wait.

commit 0af6b29b9dcd8ff2c34d07a76e3416acf3758bfc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jun 3 00:00:36 2017 +0000

    Automatic date update in version.in

commit 4a4a4a27ba5c731044d3d3594545e6f06b0ec0e5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jun 2 14:49:37 2017 -0700

    x86: Remove linker option: -z prefix-nop
    
    Since it is incorrect to convert
    
    	bnd call *foo@GOTPCREL(%rip)
    
    to
    
    	bnd nop
    	call foo
    
    this patch removes the "-z prefix-nop" option from x86 linker.
    
    	* emulparams/call_nop.sh: Remove -z prefix-nop.
    	* ld.texinfo: Likewise.
    	* testsuite/ld-i386/call3c.d: Check for linker error.
    	* testsuite/ld-x86-64/call1c.d: Likewise.

commit 0e05cf3a61e1996829359e1c32eedb6820930331
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Jun 2 23:24:21 2017 +0200

    Use delete instead of xfree for gdb_timer
    
    gdb_timer objects are new'ed in create_timer, but xfree'd in
    poll_timers.  Use delete instead.
    
    gdb/ChangeLog:
    
    	* event-loop.c (poll_timers): Unallocate timer using delete
    	instead of xfree.

commit c1fc2657206188767cb66813d07b9ecbb5e9ec51
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Jun 2 23:16:21 2017 +0200

    C++ify breakpoint class hierarchy (destructors only)
    
    Breakpoints are currently in a limbo state between C and C++.  There is
    a pseudo class hierarchy implemented using struct fields.  Taking
    watchpoint as an example:
    
      struct watchpoint
      {
        /* The base class.  */
        struct breakpoint base;
    
        ...
      }
    
    and it is instantianted with "new watchpoint ()".  When destroyed, a
    destructor is first invoked through the breakpoint_ops, and then the
    memory is freed by calling delete through a pointer to breakpoint.
    Address sanitizer complains about this, for example, because we new and
    delete the same memory using different types.
    
    This patch takes the logical step of making breakpoint subclasses extend
    the breakpoint class for real, and converts their destructors to actual
    C++ destructors.
    
    Regtested on the buildbot.
    
    gdb/ChangeLog:
    
    	* breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
    	(struct breakpoint) <~breakpoint>: New.
    	(struct watchpoint): Inherit from breakpoint.
    	<~watchpoint>: New.
    	<base>: Remove.
    	(struct tracepoint): Inherit from breakpoint.
    	<base>: Remove.
    	* breakpoint.c (longjmp_breakpoint_ops): Remove.
    	(struct longjmp_breakpoint): Inherit from breakpoint.
    	<~longjmp_breakpoint>: New.
    	<base>: Remove.
    	(new_breakpoint_from_type): Remove casts.
    	(watchpoint_in_thread_scope): Remove reference to base field.
    	(watchpoint_del_at_next_stop): Likewise.
    	(update_watchpoint): Likewise.
    	(watchpoint_check): Likewise.
    	(bpstat_check_watchpoint): Likewise.
    	(set_longjmp_breakpoint): Likewise.
    	(struct fork_catchpoint): Inherit from breakpoint.
    	<base>: Remove.
    	(struct solib_catchpoint): Inherit from breakpoint.
    	<~solib_catchpoint>: New.
    	<base>: Remove.
    	(dtor_catch_solib): Change to ...
    	(solib_catchpoint::~solib_catchpoint): ... this.
    	(breakpoint_hit_catch_solib): Remove reference to base field.
    	(add_solib_catchpoint): Likewise.
    	(create_fork_vfork_event_catchpoint): Likewise.
    	(struct exec_catchpoint): Inherit from breakpoint.
    	<~exec_catchpoint>: New.
    	<base>: Remove.
    	(dtor_catch_exec): Change to ...
    	(exec_catchpoint::~exec_catchpoint): ... this.
    	(dtor_watchpoint): Change to ...
    	(watchpoint::~watchpoint): ... this.
    	(watch_command_1): Remove reference to base field.
    	(catch_exec_command_1): Likewise.
    	(base_breakpoint_dtor): Change to ...
    	(breakpoint::~breakpoint): ... this.
    	(base_breakpoint_ops): Remove dtor field value.
    	(longjmp_bkpt_dtor): Change to ...
    	(longjmp_breakpoint::~longjmp_breakpoint): ... this.
    	(strace_marker_create_breakpoints_sal): Remove reference to base
    	field.
    	(delete_breakpoint): Don't manually call breakpoint destructor.
    	(create_tracepoint_from_upload): Remove reference to base field.
    	(trace_pass_set_count): Likewise.
    	(initialize_breakpoint_ops): Don't initialize
    	momentary_breakpoint_ops, don't set dtors.
    	* ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
    	<~ada_catchpoint>: New.
    	<base>: Remove.
    	(create_excep_cond_exprs): Remove reference to base field.
    	(dtor_exception): Change to ...
    	(ada_catchpoint::~ada_catchpoint): ... this.
    	(dtor_catch_exception): Remove.
    	(dtor_catch_exception_unhandled): Remove.
    	(dtor_catch_assert): Remove.
    	(create_ada_exception_catchpoint): Remove reference to base
    	field.
    	(initialize_ada_catchpoint_ops): Don't set dtors.
    	* break-catch-sig.c (struct signal_catchpoint): Inherit from
    	breakpoint.
    	<~signal_catchpoint>: New.
    	<base>: Remove.
    	(signal_catchpoint_dtor): Change to ...
    	(signal_catchpoint::~signal_catchpoint): ... this.
    	(create_signal_catchpoint): Remove reference to base field.
    	(initialize_signal_catchpoint_ops): Don't set dtor.
    	* break-catch-syscall.c (struct syscall_catchpoint): Inherit
    	from breakpoint.
    	<~syscall_catchpoint>: New.
    	<base>: Remove.
    	(dtor_catch_syscall): Change to ...
    	(syscall_catchpoint::~syscall_catchpoint): ... this.
    	(create_syscall_event_catchpoint): Remove reference to base
    	field.
    	(initialize_syscall_catchpoint_ops): Don't set dtor.
    	* break-catch-throw.c (struct exception_catchpoint): Inherit
    	from breakpoint.
    	<~exception_catchpoint>: New.
    	<base>: Remove.
    	(dtor_exception_catchpoint): Change to ...
    	(exception_catchpoint::~exception_catchpoint): ... this.
    	(handle_gnu_v3_exceptions): Remove reference to base field.
    	(initialize_throw_catchpoint_ops): Don't set dtor.
    	* ctf.c (ctf_get_traceframe_address): Remove reference to base
    	field.
    	* remote.c (remote_get_tracepoint_status): Likewise.
    	* tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
    	* tracefile.c (tracefile_fetch_registers): Likewise.
    	* tracepoint.c (actions_command): Likewise.
    	(validate_actionline): Likewise.
    	(tfind_1): Likewise.
    	(get_traceframe_location): Likewise.
    	(find_matching_tracepoint_location): Likewise.
    	(parse_tracepoint_status): Likewise.
    	* mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.

commit 3b0871f44a3402f4e1e811ae81c8ba1293c1c7be
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Jun 2 23:16:20 2017 +0200

    Create struct type for longjmp breakpoint
    
    The longjmp kind of breakpoint has a destructor, but doesn't have an
    associated structure.  The next patch converts breakpoint destructors from
    breakpoint_ops::dtor to actual destructors, but to do that it is needed
    for longjmp_breakpoint to have a structure that will contain such
    destructor.  This patch adds it.
    
    According to initialize_breakpoint_ops, a longjmp breakpoint derives
    from "momentary breakpoints", so eventually a momentary_breakpoint
    struct/class should probably be created.  It's not necessary for the
    destructor though, so a structure type for this abstract kind of
    breakpoint can be added when we fully convert breakpoint ops into
    methods of the breakpoint type hierarchy.
    
    It is now necessary to instantiate different kinds of breakpoint objects
    in set_raw_breakpoint_without_location based on bptype (sometimes a
    breakpoint, sometimes a longjmp_breakpoint), so it now uses
    new_breakpoint_from_type to do that.  I also changed set_raw_breakpoint
    to use it, even though I don't think that it can ever receive a bptype
    that actually requires it.  However, I think it's good if all breakpoint
    object instantion is done in a single place.
    
    gdb/ChangeLog:
    
    	* breakpoint.c (struct longjmp_breakpoint): New struct.
    	(is_tracepoint_type): Change return type to bool.
    	(is_longjmp_type): New function.
    	(new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
    	(set_raw_breakpoint_without_location): Use
    	new_breakpoint_from_type.
    	(set_raw_breakpoint): Likewise.

commit a5e364af4a3d745bb79cfc9a1d533632d4d04b57
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Jun 2 23:16:19 2017 +0200

    Introduce and use new_breakpoint_from_type
    
    This is a small preparatory patch to factor out a snippet that appears
    twice.  More kinds of breakpoints will need to be created based on
    bptype, so I think it's a good idea to centralize the instantiation of
    breakpoint objects.
    
    gdb/ChangeLog:
    
    	* breakpoint.c (new_breakpoint_from_type): New function.
    	(create_breakpoint_sal): Use new_breakpoint_from_type and
    	unique_ptr.
    	(create_breakpoint): Likewise.

commit e7cd2680e089327e7fefaf1cf5a58ec09e379f0d
Author: Michael Eager <eager@eagercon.com>
Date:   Fri Jun 2 08:04:59 2017 -0700

    Correct check for endianness
    
    * interp.c: (target_big_endian): target endianess recognition fix.

commit 0efdc7237e8eb2c75b9c74bc60175ef50719b8b8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jun 2 00:00:23 2017 +0000

    Automatic date update in version.in

commit 6cf3bf8875d84aff854fe5fe5a04141033d5ee6f
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Thu Jun 1 09:47:31 2017 -0700

    Correct ChangeLog entry date.

commit b5430a3ced5fe5ba484bd9b3215b9ae19ced0160
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Thu Jun 1 09:40:46 2017 -0700

    Use the ELF class to determine the word size for FreeBSD core notes.
    
    FreeBSD ELF cores contain data structures with that have two different
    layouts: one for ILP32 platforms and a second for LP64 platforms.
    Previously, the code used 'bits_per_word' from 'arch_info', but this
    field is not a reliable indicator of the format for FreeBSD MIPS cores
    in particular.
    
    I had originally posted this patch back in November because process
    cores for FreeBSD MIPS contained an e_flags value of 0 in the header
    which resulted in a bfd_arch which always had 'bits_per_word' set to
    32.  This permitted reading o32 cores, but not n64 cores.  The feedback
    I received then was to try to change n64 cores to use a different
    default bfd_arch that had a 64-bit 'bits_per_word' when e_flags was zero.
    I submitted a patch to that effect but it was never approved.  Instead,
    I changed FreeBSD's kernel and gcore commands to preserve the e_flags
    field from an executable when generating process cores.  With a proper
    e_flags field in process cores, n64 cores now use a 64-bit bfd_arch and
    now work fine.  However, the change to include e_flags in the process
    cores had the unintended side effect of breaking handling of o32
    process cores.  Specifically, FreeBSD MIPS builds o32 with a default
    MIPS architecture of 'mips3', thus FreeBSD process cores with a non-zero
    e_flags match the 'mips3' bfd_arch which has 64 'bits_per_word'.
    
    From this, it seems that 'bits_per_word' for FreeBSD MIPS is not likely
    to ever be completely correct.  However, FreeBSD core dumps do
    reliably set the ELF class to ELFCLASS32 for cores using ILP32 and
    ELFCLASS64 for cores using LP64.  As such, I think my original patch of
    using the ELF class instead of 'bits_per_word' is probably the simplest
    and most reliable approach for detecting the note structure layout.
    
    bfd/ChangeLog:
    
    	* elf.c (elfcore_grok_freebsd_psinfo): Use ELF header class to
    	determine structure sizes.
    	(elfcore_grok_freebsd_prstatus): Likewise.

commit f378ab099d535f5540f292fed07fcf4b1fabd314
Author: Alan Modra <amodra@gmail.com>
Date:   Fri May 26 10:02:29 2017 +0930

    PPC64_OPT_LOCALENTRY
    
    ELFv2 functions with localentry:0 are those with a single entry point,
    ie. global entry == local entry, and that have no requirement on r2 or
    r12, and guarantee r2 is unchanged on return.  Such an external
    function can be called via the PLT without saving r2 or restoring it
    on return, avoiding a common load-hit-store for small functions.   The
    optimization is attractive.  The TOC pointer load-hit-store is a major
    reason why calls to small functions that need no register saves, or
    with shrink-wrap, no register saves on a fast path, are slow on
    powerpc64le.
    
    To be safe, this optimization needs ld.so support to check that the
    run-time matches link-time function implementation.  If a function
    in a shared library with st_other localentry non-zero is called
    without saving and restoring r2, r2 will be trashed on return, leading
    to segfaults.  For that reason the optimization does not happen for
    weak functions since a weak definition is a fairly solid hint that the
    function will likely be overridden.  I'm also not enabling the
    optimization by default unless glibc-2.26 is detected, which should
    have the ld.so checks implemented.
    
    bfd/
    	* elf64-ppc.c (struct ppc_link_hash_table): Add has_plt_localentry0.
    	(ppc64_elf_merge_symbol_attribute): Merge localentry bits from
    	dynamic objects.
    	(is_elfv2_localentry0): New function.
    	(ppc64_elf_tls_setup): Default params->plt_localentry0.
    	(plt_stub_size): Adjust size for tls_get_addr_opt stub.
    	(build_tls_get_addr_stub): Use a simpler stub when r2 is not saved.
    	(ppc64_elf_size_stubs): Leave stub_type as ppc_stub_plt_call for
    	optimized localentry:0 stubs.
    	(ppc64_elf_build_stubs): Save r2 in ELFv2 __glink_PLTresolve.
    	(ppc64_elf_relocate_section): Leave nop unchanged for optimized
    	localentry:0 stubs.
    	(ppc64_elf_finish_dynamic_sections): Set PPC64_OPT_LOCALENTRY in
    	DT_PPC64_OPT.
    	* elf64-ppc.h (struct ppc64_elf_params): Add plt_localentry0.
    include/
    	* elf/ppc64.h (PPC64_OPT_LOCALENTRY): Define.
    ld/
    	* emultempl/ppc64elf.em (params): Init plt_localentry0 field.
    	(enum ppc64_opt): New, replacing OPTION_* defines.  Add
    	OPTION_PLT_LOCALENTRY, and OPTION_NO_PLT_LOCALENTRY.
    	(PARSE_AND_LIST_*): Support --plt-localentry and --no-plt-localentry.
    	* testsuite/ld-powerpc/elfv2so.d: Update.
    	* testsuite/ld-powerpc/powerpc.exp (TLS opt 5): Use --no-plt-localentry.
    	* testsuite/ld-powerpc/tlsopt5.d: Update.

commit 19fb31c0060f646a9f84be1a84ed1bea04e7ed57
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Thu Jun 1 13:46:15 2017 +0200

    S/390: idte/ipte fixes
    
    Later CPU generations added optional operands to the ipte/idte
    instructions.  I've added these with:
    https://sourceware.org/ml/binutils/2017-05/msg00316.html ... but
    supported the optional operands only with the specific hardware
    levels.  However, it is more useful to have the optional operands
    already in the first versions.  Of course they need to be zero there.
    
    Regression-tested with on s390 and s390x.  Committed to mainline.
    
    Bye,
    
    -Andreas-
    
    opcodes/ChangeLog:
    
    2017-06-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-opc.txt: Support the optional parameters with the first
    	versions of ipte/idte.
    
    gas/ChangeLog:
    
    2017-06-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* testsuite/gas/s390/esa-g5.d: Add ipte tests.
    	* testsuite/gas/s390/esa-g5.s: Likewise.
    	* testsuite/gas/s390/zarch-z196.d: Remove ipte tests.
    	* testsuite/gas/s390/zarch-z196.s: Likewise.
    	* testsuite/gas/s390/zarch-z990.d: Add idte tests.
    	* testsuite/gas/s390/zarch-z990.s: Likewise.
    	* testsuite/gas/s390/zarch-zEC12.d: Remove ipte/idte tests.
    	* testsuite/gas/s390/zarch-zEC12.s: Likewise.

commit 580dfe9d4cb936535927fb954bdc96a2320c6244
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jun 1 00:00:46 2017 +0000

    Automatic date update in version.in

commit ae3b3f34ed96f121af37018b8ff3a78810881ad8
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed May 31 17:09:07 2017 +0200

    Rename "mem" related commmands
    
    Rename "mem" related commands, so that their naming is consistent with
    the <command-name>_command pattern of naming functions that implement
    commands.
    
    gdb/ChangeLog:
    
    	* memattr.c (mem_info_command): Rename to ...
    	(info_mem_command): ... this.
    	(mem_enable_command): Rename to ...
    	(enable_mem_command): ... this.
    	(mem_disable_command): Rename to ...
    	(disable_mem_command): ... this.
    	(mem_delete_command): Rename to ...
    	(delete_mem_command): ... this.
    	(_initialize_mem): Adjust function names.

commit ab12fca3906c9c76ec25a9de52f5142f5736413f
Author: Alan Modra <amodra@gmail.com>
Date:   Wed May 31 18:10:01 2017 +0930

    PowerPC64 ld help quoting
    
    	* emultempl/ppc64elf.em (plt-static-chain help): Fix quoting.

commit 13ace07792fa75aa276e2d7c3cb03cec117d63a4
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Mon Nov 21 14:27:57 2016 +0100

    btrace: support decoder events
    
    Newer versions of libipt support instruction flow decoder events instead of
    indicating those events with flags in struct pt_insn.  Add support for them in
    GDB.
    
    gdb/
    	* btrace.c (handle_pt_insn_events): New.
    	(ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
    	STATUS.  Split into this and ...
    	(handle_pt_insn_event_flags): ... this.

commit c56ccc05b2c98510f360d7f454f38169eb3bdb06
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Mon Nov 21 11:46:15 2016 +0100

    config, btrace: check for pt_insn_event in libipt
    
    Version 2 of libipt adds an event system to instruction flow decoders and
    deprecates indicating events via flags in struct pt_insn.  Add configuration
    checks to determine which version we have.
    
    gdb/
    	* configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
    	and struct pt_insn.resynced.
    	* configure: Regenerated.
    	* config.in: Regenerated.

commit 5b4a1ff337973732ff9a5ad9b1cb84d74a7e6185
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Wed May 31 09:44:08 2017 +0300

    Avoid compilation warning on MinGW in xstrndup
    
    libiberty/ChangeLog:
    
    2017-05-31  DJ Delorie  <dj@redhat.com>
    
    	* configure.ac (strnlen): Add to AC_CHECK_DECLS.
    	* configure: Likewise.
    	* config.in: Add HACE_DECL_STRNLEN.

commit 90b4491842980d57a0e572167a168e04a476bca5
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Wed May 31 09:37:48 2017 +0300

    Make libiberty/waitpid.c compile without warnings on MinGW
    
    libiberty/ChangeLog:
    
    2017-05-31  Eli Zaretskii  <eliz@gnu.org>
    
    	* waitpid.c (wait) [__MINGW32__]: Define as a macro
    	that calls _cwait, so that this function works on MinGW.

commit b9c6833008dfb3c45354f4e810e631a77f3c9cb3
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Wed May 31 09:35:07 2017 +0300

    Fix MinGW compilation warnings due to environ.h
    
    include/ChangeLog:
    
    2017-05-31  Eli Zaretskii <eliz@gnu.org>
    
    	* environ.h: Add #ifndef guard.

commit 1b1810b5e01968cdfc16d537b4d5c27adab8a173
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed May 31 00:00:41 2017 +0000

    Automatic date update in version.in

commit 8c65b54f18c03ffb844e1cbaa3b46b43444ff9e7
Author: Casey Smith <clegg89@gmail.com>
Date:   Tue May 30 15:07:56 2017 +0100

    Fix calculation of R_ARM_RHM_ALU_PREL_11_0 relocation when used with a SUB instruction.
    
    	PR ld/21523
    	* elf32-arm.c (elf32_arm_final_link_relocate): Install an absolute
    	value when processing the R_ARM_THM_ALU_PREL_11_0 reloc.

commit 10045478d984f9924cb945423388ba25b7dd3ffe
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Thu Mar 16 15:21:31 2017 +0300

    [ARC] Allow CPU to be enforced via disassemble_info options
    
    Currently print_insn_arc relies on BFD mach and ELF private headers to
    distinguish between various ARC architectures.  Sometimes those values are not
    correct or available, mainly in the case of debugging targets without and ELF
    file available.  Changing a BFD mach is not a problem for the debugger, because
    this is a generic BFD field, and GDB, for example, already sets it according to
    information provided in XML target description or specified via GDB 'set arch'
    command.  However, things are more complicated for ELF private headers, since
    it requires existing of an actual ELF file.  To workaround this problem this
    patch allows CPU model to be specified via disassemble info options.  If CPU is
    specified in options, then it will take a higher precedence than whatever might
    be specified in ELF file.
    
    This is mostly needed for ARC EM and ARC HS, because they have the same
    "architecture" (mach) ARCv2 and differ in their private ELF headers.  Other ARC
    architectures can be distinguished between each other purely via "mach" field.
    
    Proposed disassemble option format is "cpu=<CPU>", where CPU can be any valid
    ARC CPU name as supported by GAS.  Note that this creates a seeming redundancy
    with objdump -m/--architecture option, however -mEM and -mHS still result in
    "ARCv2" architecture internally, while -Mcpu={HS,EM} would have an actual
    effect on disassembler.
    
    opcodes/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* arc-dis.c (enforced_isa_mask): Declare.
    	(cpu_types): Likewise.
    	(parse_cpu_option): New function.
    	(parse_disassembler_options): Use it.
    	(print_insn_arc): Use enforced_isa_mask.
    	(print_arc_disassembler_options): Document new options.
    
    binutils/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* doc/binutils.texi: Document new cpu=... disassembler options for ARC.

commit 940171d08654a9ff5bf9b8886f76e8189a02cf09
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Apr 7 17:22:39 2017 +0300

    [ARC] Add arc-cpu.def with processor definitions
    
    This patch extracts ARC CPU definitions from gas/config/tc-arc.c (cpu_types)
    into a separate file arc-cpu.def.  This will allow reuse of CPU type definition
    in multiple places where it might be needed, for example in disassembler.  This
    will help ensure that gas and disassembker use same option values for CPUs.
    
    arc-cpu.def file relies on preprocessor macroses which are defined somewhere
    else.  This for example multiple C files to include arc-cpu.def, but define
    different macroses, therefore creating different structures.
    
    include/ChangeLog:
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* elf/arc-cpu.def: New file.
    
    gas/ChangeLog:
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* config/tc-arc.c (cpu_types): Include arc-cpu.def
    
    Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>

commit 64984c22f7045d53590f816e7ba0b9b9fa1dbbe7
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Mar 17 18:37:42 2017 +0300

    [ARC] Implement compatible function for ARC BFD architectures
    
    The general rule for bfd_arch_info_type->compatible (A, B) is that if A and B
    are compatible, then this function should return architecture that is more
    "feature-rich", that is, can run both A and B.  ARCv2, EM and HS all has same
    mach number, so bfd_default_compatible assumes they are the same, and returns
    an A.  That causes issues with GDB, because GDB assumes that if machines are
    compatible, then "compatible ()" always returns same machine regardless of
    argument order.  As a result GDB gets confused because, for example,
    compatible(ARCv2, EM) returns ARCv2, but compatible(EM, ARCv2) returns EM,
    hence GDB is not sure if they are compatible and prints a warning.
    
    bfd/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  Anton.Kolesov@synopsys.com
    
    	 cpu-arc.c (arc_compatible): New function.

commit 37cd38778dfb73d28e533fd1ddabb88b4b3a5771
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Mar 17 16:43:31 2017 +0300

    [ARC] Remove duplicate ARC600 entry
    
    ARC600 is already defined as the head of the bfd_arch_arc.
    
    bfd/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* cpu-arc.c (arch_info_struct): Remove duplicate ARC600 entry.

commit 8e2f54bcee7e3e8315d4a39a302eaf8e4389e07d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 30 06:34:05 2017 -0700

    Add bfd_get_file_size to get archive element size
    
    We can't use stat() to get archive element size.  Add bfd_get_file_size
    to get size for both normal files and archive elements.
    
    bfd/
    
    	PR binutils/21519
    	* bfdio.c (bfd_get_file_size): New function.
    	* bfd-in2.h: Regenerated.
    
    binutils/
    
    	PR binutils/21519
    	* objdump.c (dump_relocs_in_section): Replace get_file_size
    	with bfd_get_file_size to get archive element size.
    	* testsuite/binutils-all/objdump.exp (test_objdump_f): New
    	proc.
    	(test_objdump_h): Likewise.
    	(test_objdump_t): Likewise.
    	(test_objdump_r): Likewise.
    	(test_objdump_s): Likewise.
    	Add objdump tests on archive.

commit 08c3f6d234761d92b50d3c56d3cb4b82fdd58c77
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Store function segments as objects.

commit 8ffd39f2e42151b383616923ae922e697273ec8e
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Remove bfun_s vector.

commit 4aeb0dfcc42acfc108d3f870384d1719adc9569b
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Replace struct btrace_function::segment.
    
    This used to hold a pair of pointers to the previous and next function segment
    that belong to this function call.  Replace with a pair of indices into the
    vector of function segments.

commit eb8f2b9c44619eecdb3b77da01da910fcf05abed
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Remove struct btrace_function::flow.
    
    This used to hold a pair of pointers to the previous and next function segment
    in execution flow order.  It is no longer necessary as the previous and next
    function segments now are simply the previous and next elements in the vector
    of function segments.

commit 42bfe59e3a3fef26be6809168756f40740fac1d0
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Replace struct btrace_function::up.
    
    This used to hold a function segment pointer.  Change it to hold an index into
    the vector of function segments instead.

commit b54b03bd874936ab3c91f23e5dff3a87153c4e36
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Remove struct btrace_thread_info::{begin,end}.
    
    These are no longer needed and might hold invalid addresses once we change the
    vector of function segment pointers into a vector of function segment objects
    where a reallocation of the vector changes the address of its elements.

commit 8286623c113daf97a45cde5fc8ef9587b85c898b
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Remove constant arguments.

commit a0f1b963327b9cc349a1e6b4c543a29fbee68fba
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Use function segment index in insn iterator.
    
    Remove FUNCTION pointer in struct btrace_insn_iterator and use an index into
    the list of function segments instead.

commit f158f208759703b94dbfc6de2222ae7740420faf
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Use function segment index in call iterator.
    
    Remove FUNCTION pointer in struct btrace_call_iterator and use an index into
    the list of function segments instead.

commit 521103fd00e593c08a6bedb619c5a9f8f7cc5a91
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Add btinfo to instruction interator.
    
    This will serve as the access path to the vector of function segments once
    the FUNCTION pointer in struct btrace_insn_iterator is removed.

commit 17b89b34b8d7a5a8b713c92a9ebe689c6edd6798
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Transfer ownership of pointers.
    
    Directly insert new btrace_function pointers into the vector and have the
    vector own these pointers.  This allows us to later retrieve these objects by
    their number directly after creation whereas at the moment we have to wait
    until the vector is fully populated.
    
    This requires to pull btrace_thread_info through different functions but
    cleans up the code for freeing the trace.

commit 2b51eddc5503ea84d48c5b3b3ec3388eba440451
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Use std::vector in struct btrace_thread_information.

commit 70c16c04ac76a90f18e920aaea1026bde90c493c
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Tue May 30 12:04:10 2017 +0200

    S/390: Fix indentation
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (md_gather_operands): Fix indentation.

commit db6be0d5e31f11c10004f1f2ef2de05d213da1f4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue May 30 11:29:57 2017 +0200

    Fix NEWS formatting in GDB 8.0 section
    
    Change the GDB 8.0 section of the NEWS file to try to follow this order:
    
      * Functional changes
      * Added and removed configurations and targets
      * New commands
      * New options
      * MI changes
    
    In particular, there were two "New commands" sections.
    
    gdb/ChangeLog:
    
    	* NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
    	"Removed targets and native configurations" up.  Merge duplicate
    	"New commands" sub-sections.  Add "New options" sub-sections.

commit 8e86a419d7f8753f4e77cf23aa53bc02ac6febf1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue May 30 11:24:52 2017 +0200

    gdb.base/watch-cond-infcall.exp: Don't run if target doesn't support infcalls
    
    This test requires calling a function in the inferior, and therefore it
    doesn't make sense to run it if the target doesn't support calling
    functions from GDB.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/watch-cond-infcall.exp: Don't run if target doesn't
    	support function calls from GDB.

commit ca87ae741fe9c8aad9db1afbf109dc070d0168cf
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 29 12:38:42 2017 +0200

    S/390: Fix instruction types of csdtr and csxtr
    
    opcodes/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-opc.c: Add new instruction types RRF_0URF and RRF_0UREFE.
    	* s390-opc.txt: Fix instruction typs of csdtr and csxtr.
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* testsuite/gas/s390/zarch-z9-ec.d: Adjust csdtr and csxtr.
    	* testsuite/gas/s390/zarch-z9-ec.s: Likewise.

commit 67aa8be4cb43cd94bc322fed8bdba48b3c8719c4
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 29 12:38:11 2017 +0200

    S/390: Add missing operand to tb instruction
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* testsuite/gas/s390/esa-g5.d: Add missing operand to tb
    	instruction.
    	* testsuite/gas/s390/esa-g5.s: Likewise.
    
    opcodes/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-opc.txt: Add missing operand to tb instruction.

commit ffc61c5de1a5a89e3e37fb9376725c32a839c34d
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 29 12:36:57 2017 +0200

    S/390: Add ipte/idte variants with optional operands
    
    This patch adds missing variants of ipte and idte instructions added with later CPU
    generations.
    
    ipte got an optional operand with z196 and another one with zEC12.
    idte got an optional operand with zEC12
    
    opcodes/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-opc.c: Add new idte/ipte variants.
    	* s390-opc.txt: Likewise.
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* testsuite/gas/s390/zarch-z196.d: Add new idte/ipte variants.
    	* testsuite/gas/s390/zarch-z196.s: Likewise.
    	* testsuite/gas/s390/zarch-zEC12.d: Likewise.
    	* testsuite/gas/s390/zarch-zEC12.s: Likewise.

commit a09f2586017aeed82fa07c8bfea6c75859295bd9
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 29 12:34:56 2017 +0200

    S/390: Improve error checking for optional operands
    
    So far we only had an instruction flag which made an arbitrary number
    of operands optional.  This limits error checking capabilities for
    instructions marked that way.  With this patch the optparm flag only
    allows a single optional parameter and another one is added (optparm2)
    allowing 2 optional arguments.  Hopefully we won't need more than that
    in the future. So far there will be only a single use of optparm2.
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (md_gather_operands): Support new optparm2
    	instruction flag.
    
    include/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* opcode/s390.h: Add new instruction flags optparm2.
    
    opcodes/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-dis.c (s390_print_insn_with_opcode): Support new optparm2
    	instruction flag.
    	* s390-mkopc.c (main): Recognize the new instruction flag when
    	parsing instruction list.

commit bfcfbe611b4d7e650236f8b8ba7d0706cfe6a0b7
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 29 12:33:15 2017 +0200

    S/390: Remove optional operand flag.
    
    The per operand optional flag hasn't been used for quite some time.
    Cleanup some remains.
    
    include/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* opcode/s390.h: Remove S390_OPERAND_OPTIONAL.
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (md_gather_operands): Remove code dealing with
    	S390_OPERAND_OPTIONAL.

commit 6813cafe52236a95289accb138032c1d6dd3272e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue May 30 00:00:15 2017 +0000

    Automatic date update in version.in

commit 146c3d9d5993289ae0af7c1c872eebaa8662d2fc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon May 29 00:00:36 2017 +0000

    Automatic date update in version.in

commit b40889f2c860d768fa72662d8a3ce7e81ea79aac
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun May 28 00:00:39 2017 +0000

    Automatic date update in version.in

commit 2153e1dc0512822ed070de220e33a1a03ea7a4eb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat May 27 00:00:40 2017 +0000

    Automatic date update in version.in

commit b057297ab63a9124aae1773566815cd8c4bde8e9
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri May 26 17:04:13 2017 +0100

    Add regcache raw_supply_integer and raw_collect_integer.
    
    Use these to replace instances of MAX_REGISTER_SIZE.
    
    	* defs.h (copy_integer_to_size): New declaration.
    	* findvar.c (copy_integer_to_size): New function.
    	(do_cint_test): New selftest function.
    	(copy_integer_to_size_test): Likewise.
    	(_initialize_findvar): Likewise.
    	* mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
    	(mips_fbsd_collect_reg): Use raw_collect_integer.
    	* mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
    	(mips64_fill_gregset): Use raw_collect_integer
    	(mips64_fill_fpregset): Use raw_supply_integer.
    	* regcache.c (regcache::raw_supply_integer): New function.
    	(regcache::raw_collect_integer): Likewise.
    	* regcache.h: (regcache::raw_supply_integer): New declaration.
    	(regcache::raw_collect_integer): Likewise.

commit 22e7d2933103f1384c1d54dff6188cd57cbe171a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri May 26 00:00:38 2017 +0000

    Automatic date update in version.in

commit 64aaf98419a0485fe3490dfb53417ac9958c7327
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu May 25 00:00:45 2017 +0000

    Automatic date update in version.in

commit b77b02a5ca5a021ee8b5e5453e8843447d1132b2
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Add unit test to gdbarch methods register_to_value and value_to_register
    
    This patch adds one unit test for gdbarch methods register_to_value and
    value_to_register.  The test pass different combinations of {regnu, type}
    to gdbarch_register_to_value and gdbarch_value_to_register.  In order
    to do the test, add a new function create_new_frame to create a fake
    frame.  It can be improved after we converted frame_info to class.
    
    In order to isolate regcache (from target_ops operations on writing
    registers, like target_store_registers), the sub-class of regcache in the
    test override raw_write.  Also, in order to get the right regcache from
    get_thread_arch_aspace_regcache, the sub-class of regcache inserts itself
    to current_regcache.
    
    Suppose I incorrectly modified the size of buffer as below,
    
    @@ -1228,7 +1228,7 @@ ia64_register_to_value (struct frame_info *frame, int regnum,
                            int *optimizedp, int *unavailablep)
     {
       struct gdbarch *gdbarch = get_frame_arch (frame);
    -  gdb_byte in[MAX_REGISTER_SIZE];
    +  gdb_byte in[1];
    
       /* Convert to TYPE.  */
       if (!get_frame_register_bytes (frame, regnum, 0,
    
    build GDB with "-fsanitize=address" and run unittest.exp, asan can detect
    such error
    
    ==2302==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fff98193870 at pc 0xbd55ea bp 0x7fff981935a0 sp 0x7fff98193598
    WRITE of size 16 at 0x7fff98193870 thread T0
        #0 0xbd55e9 in frame_register_unwind(frame_info*, int, int*, int*, lval_type*, unsigned long*, int*, unsigned char*) /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:1119
        #1 0xbd58c8 in frame_register(frame_info*, int, int*, int*, lval_type*, unsigned long*, int*, unsigned char*) /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:1147
        #2 0xbd6e25 in get_frame_register_bytes(frame_info*, int, unsigned long, int, unsigned char*, int*, int*) /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:1427
        #3 0x70080a in ia64_register_to_value /home/yao/SourceCode/gnu/gdb/git/gdb/ia64-tdep.c:1236
        #4 0xbf570e in gdbarch_register_to_value(gdbarch*, frame_info*, int, type*, unsigned char*, int*, int*) /home/yao/SourceCode/gnu/gdb/git/gdb/gdbarch.c:2619
        #5 0xc05975 in register_to_value_test /home/yao/SourceCode/gnu/gdb/git/gdb/gdbarch-selftests.c:131
    
    Or, even if GDB is not built with asan, GDB just crashes.
    
    *** stack smashing detected ***: ./gdb terminated
    Aborted (core dumped)
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* Makefile.in (SFILES): Add gdbarch-selftests.c.
    	(COMMON_OBS): Add gdbarch-selftests.o.
    	* frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
    	* frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
    	* gdbarch-selftests.c: New file.
    	* regcache.h (regcache) <~regcache>: Mark it virtual if
    	GDB_SELF_TEST.
    	<raw_write>: Likewise.

commit e521e87e8514b9d3497208b70bcd067f132c58ed
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Move current_regcache to regcache::current_regcache
    
    This patches moves global variable current_regcache to a class regcache
    static variable (protected) so that the unit test I add in the following
    patch can access it (by means of extending class regcache in unit test).
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (current_regcache): Change it to
    	regcache::current_regcache.
    	(regcache_observer_target_changed): Update.
    	(regcache_thread_ptid_changed): Make it a regcache static
    	method.
    	(regcache_thread_ptid_changed): Update.
    	(class regcache_access): New.
    	(current_regcache_test): Update.
    	(_initialize_regcache): Update.
    	* regcache.h: Include forward_list.
    	(regcache): Declare regcache_thread_ptid_changed and declare
    	registers_changed_ptid as friend.

commit d8e07dda92366be0f6fc2e7128620d3dd53494e3
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Get register contents by register_size instead of TYPE_LENGTH
    
    We should use register_size to get register contents instead of
    TYPE_LENGTH.
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* i387-tdep.c (i387_register_to_value): Use register_size
    	instead of TYPE_LENGTH.
    	* m68k-tdep.c (m68k_register_to_value): Likewise.

commit 8c8f9122ce6e6c00f72914479af57a7b87244554
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Restrict i387_convert_register_p
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* i387-tdep.c (i387_convert_register_p): Return false if type
    	code isn't TYPE_CODE_FLT.

commit 68fce50f04f495980f4ea81746339a9de5b52ebb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Restrict alpha_convert_register_p
    
    This patch restricts alpha_convert_register_p from
    "TYPE_LENGTH (type) != 8" to "TYPE_LENGTH (type) == 4", because,
    
     - we have check "TYPE_LENGTH (valtype) == 4" in alpha_register_to_value
       and alpha_value_to_register,
     - alpha lds and sts instruction access 4 bytes,
     - comments "It might need to convert the [float] register into the
       corresponding [integer] type (see Alpha)" and integer is 4-byte on
       alpha,
    
    I think it is the right restrict condition to "TYPE_LENGTH (valtype) == 4".
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* alpha-tdep.c (alpha_convert_register_p): Return true if type
    	length is 4.
    	(alpha_register_to_value): Remove type length check.
    	(alpha_value_to_register): Likewise.

commit 88954b49e47574cdd048a23ca391a85fb6f77f47
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Restrict ia64_convert_register_p
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* ia64-tdep.c (ia64_convert_register_p): Check type's code is
    	TYPE_CODE_FLT.

commit e3ec9b69cde4e07d95eaadee75566fd4a8091df5
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Restrict m68k_convert_register_p
    
    We need to convert register if the type is float.  Suppose we get a value
    from float point register, but its type is integer, we don't have to convert.
    This case may not exist in real code, but exist in my unit test case.
    
    warning: Cannot convert floating-point register value to non-floating-point type.
    Self test failed: arch m68k: self-test failed at gdb/git/gdb/findvar.c:1072
    
                  ok = gdbarch_register_to_value (gdbarch, frame, regnum, type,
                                                  buf.data (), &optim, &unavail);
    
    1072:         SELF_CHECK (ok);
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* m68k-tdep.c (m68k_convert_register_p): Check type's code is
    	TYPE_CODE_FLT or not.

commit cdd238daf949385bd6ef188e24b40d9fcb83a0e8
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Use XCNEW gdbarch_tdep
    
    This patch uses XCNEW gdbarch_tdep instead of XNEW.
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
    	* avr-tdep.c (avr_gdbarch_init): Likewise.
    	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
    	* cris-tdep.c (cris_gdbarch_init): Likewise.
    	* ft32-tdep.c (ft32_gdbarch_init): Likewise.
    	* lm32-tdep.c (lm32_gdbarch_init): Likewise.
    	* m32r-tdep.c (m32r_gdbarch_init): Likewise.
    	* m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
    	* mep-tdep.c (mep_gdbarch_init): Likewise.
    	* microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
    	* mips-tdep.c (mips_gdbarch_init): Likewise.
    	* mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
    	* moxie-tdep.c (moxie_gdbarch_init): Likewise.
    	* msp430-tdep.c (msp430_gdbarch_init): Likewise.
    	* sh64-tdep.c (sh64_gdbarch_init): Likewise.
    	* v850-tdep.c (v850_gdbarch_init): Likewise.

commit 7a3929c417b1388c689a0cd6b0b2f6579d85ec78
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:22 2017 +0100

    Clear GDB internal state after each unit test
    
    GDB has some global variables, like sentinel_frame,
    current_thread_arch, and etc, we need to reset them after each unit
    tests.
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* selftest-arch.c (tests_with_arch): Call registers_changed
    	and reinit_frame_cache.
    	* selftest.c (run_self_tests): Likewise.

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

Summary of changes:
 bfd/ChangeLog                                      |  371 +++++
 bfd/aout-adobe.c                                   |    1 +
 bfd/aout-target.h                                  |    3 +
 bfd/aout-tic30.c                                   |    3 +
 bfd/arc-got.h                                      |    7 +-
 bfd/bfd-in2.h                                      |   17 +-
 bfd/bfdio.c                                        |   23 +
 bfd/binary.c                                       |    5 +-
 bfd/bout.c                                         |    1 +
 bfd/coff-alpha.c                                   |    1 +
 bfd/coff-mips.c                                    |    1 +
 bfd/coff-rs6000.c                                  |    1 +
 bfd/coff64-rs6000.c                                |    2 +
 bfd/coffcode.h                                     |    4 +
 bfd/config.bfd                                     |   19 +-
 bfd/cpu-arc.c                                      |   60 +-
 bfd/elf-bfd.h                                      |   25 +-
 bfd/elf-properties.c                               |   15 +-
 bfd/elf.c                                          |   94 +-
 bfd/elf32-arc.c                                    |   89 +-
 bfd/elf32-arm.c                                    |   15 +-
 bfd/elf32-i386.c                                   |   42 +-
 bfd/elf32-s390.c                                   |   21 +-
 bfd/elf32-score.c                                  |    8 +-
 bfd/elf32-score7.c                                 |   16 +-
 bfd/elf32-sh.c                                     |    2 +-
 bfd/elf32-xtensa.c                                 |   60 +-
 bfd/elf64-mips.c                                   |   19 +-
 bfd/elf64-ppc.c                                    |   77 +-
 bfd/elf64-ppc.h                                    |    3 +
 bfd/elf64-s390.c                                   |   21 +-
 bfd/elf64-x86-64.c                                 |   46 +-
 bfd/elflink.c                                      |  201 ++--
 bfd/elfnn-aarch64.c                                |  181 ++-
 bfd/elfxx-mips.c                                   |    6 +-
 bfd/elfxx-target.h                                 |    6 +
 bfd/i386msdos.c                                    |    1 +
 bfd/i386os9k.c                                     |    1 +
 bfd/ieee.c                                         |    5 +-
 bfd/ihex.c                                         |    1 +
 bfd/libbfd-in.h                                    |    3 +
 bfd/libbfd.h                                       |    3 +
 bfd/linker.c                                       |   39 +-
 bfd/mach-o-target.c                                |    1 +
 bfd/mmo.c                                          |    1 +
 bfd/nlm-target.h                                   |    1 +
 bfd/oasys.c                                        |    1 +
 bfd/peXXigen.c                                     |    5 +
 bfd/pef.c                                          |    1 +
 bfd/plugin.c                                       |    1 +
 bfd/ppcboot.c                                      |    1 +
 bfd/som.c                                          |    1 +
 bfd/srec.c                                         |    1 +
 bfd/targets.c                                      |    8 +-
 bfd/tekhex.c                                       |    1 +
 bfd/versados.c                                     |   13 +-
 bfd/version.h                                      |    2 +-
 bfd/vms-alpha.c                                    |   53 +-
 bfd/xsym.c                                         |    1 +
 binutils/ChangeLog                                 |   21 +
 binutils/doc/binutils.texi                         |    8 +
 binutils/objdump.c                                 |   29 +-
 binutils/sysinfo.y                                 |   15 +-
 binutils/testsuite/binutils-all/objdump.exp        |  178 ++-
 gas/ChangeLog                                      |   60 +
 gas/config/tc-aarch64.c                            |    5 +
 gas/config/tc-arc.c                                |   34 +-
 gas/config/tc-arc.h                                |    1 -
 gas/config/tc-arm.c                                |   55 +-
 gas/config/tc-s390.c                               |   35 +-
 gas/config/tc-xtensa.c                             |   32 +-
 gas/config/tc-xtensa.h                             |    9 +-
 gas/doc/c-arm.texi                                 |    2 -
 gas/testsuite/gas/aarch64/diagnostic.l             |    1 -
 gas/testsuite/gas/aarch64/diagnostic.s             |    2 +-
 gas/testsuite/gas/arm/ld-sp-warn.l                 |    1 -
 .../gas/arm/sp-pc-validations-bad-t-v8a.d          |    4 +
 .../gas/arm/sp-pc-validations-bad-t-v8a.l          |  192 +++
 gas/testsuite/gas/arm/sp-pc-validations-bad-t.d    |    3 +-
 gas/testsuite/gas/arm/sp-pc-validations-bad-t.s    |    2 +-
 .../gas/arm/sp-usage-thumb2-relax-on-v7.d          |    4 +
 .../gas/arm/sp-usage-thumb2-relax-on-v7.l          |   17 +
 .../gas/arm/sp-usage-thumb2-relax-on-v8.d          |   25 +
 gas/testsuite/gas/arm/sp-usage-thumb2-relax.s      |   27 +
 gas/testsuite/gas/arm/strex-bad-t.d                |    1 +
 gas/testsuite/gas/i386/mpx.d                       |    4 +
 gas/testsuite/gas/i386/mpx.s                       |   12 +
 gas/testsuite/gas/i386/x86-64-mpx.d                |    4 +
 gas/testsuite/gas/i386/x86-64-mpx.s                |   12 +
 gas/testsuite/gas/s390/esa-g5.d                    |    4 +-
 gas/testsuite/gas/s390/esa-g5.s                    |    4 +-
 gas/testsuite/gas/s390/zarch-z9-ec.d               |    4 +-
 gas/testsuite/gas/s390/zarch-z9-ec.s               |    4 +-
 gas/testsuite/gas/s390/zarch-z990.d                |    3 +-
 gas/testsuite/gas/s390/zarch-z990.s                |    3 +-
 gdb/ChangeLog                                      | 1050 ++++++++++++++
 gdb/MAINTAINERS                                    |    2 +-
 gdb/Makefile.in                                    |   12 +-
 gdb/NEWS                                           |   54 +-
 gdb/aarch64-linux-tdep.c                           |    2 -
 gdb/aarch64-tdep.c                                 |    8 +-
 gdb/ada-lang.c                                     |  103 +-
 gdb/ada-valprint.c                                 |    3 +-
 gdb/alpha-tdep.c                                   |   48 +-
 gdb/amd64-linux-tdep.c                             |    2 -
 gdb/arc-tdep.c                                     |   63 +-
 gdb/arch-utils.c                                   |    8 -
 gdb/arch-utils.h                                   |    7 -
 gdb/arm-linux-tdep.c                               |    2 -
 gdb/arm-tdep.c                                     |    5 +-
 gdb/avr-tdep.c                                     |    2 +-
 gdb/bfin-tdep.c                                    |    2 +-
 gdb/break-catch-sig.c                              |   27 +-
 gdb/break-catch-syscall.c                          |   26 +-
 gdb/break-catch-throw.c                            |   46 +-
 gdb/breakpoint.c                                   |  471 +++----
 gdb/breakpoint.h                                   |   30 +-
 gdb/btrace.c                                       |  993 +++++++-------
 gdb/btrace.h                                       |   77 +-
 gdb/build-id.c                                     |    7 +
 gdb/c-valprint.c                                   |    4 +-
 gdb/charset.c                                      |    2 +-
 gdb/charset.h                                      |    4 +-
 gdb/cli/cli-cmds.c                                 |   21 +-
 gdb/cli/cli-decode.c                               |   11 +-
 gdb/cli/cli-decode.h                               |    5 +-
 gdb/cli/cli-dump.c                                 |   16 +-
 gdb/common/byte-vector.h                           |   62 +
 gdb/common/common-defs.h                           |   14 -
 gdb/{gdb_regex.h => common/common-gdbthread.h}     |   25 +-
 gdb/{gdb_regex.h => common/common-inferior.h}      |   31 +-
 gdb/common/common-utils.c                          |   24 +
 gdb/common/common-utils.h                          |    4 +
 gdb/{gdb_regex.h => common/def-vector.h}           |   34 +-
 gdb/common/default-init-alloc.h                    |   67 +
 gdb/common/job-control.c                           |   93 ++
 gdb/{terminal.h => common/job-control.h}           |   47 +-
 gdb/config.in                                      |    9 +
 gdb/configure                                      |  157 ++-
 gdb/configure.ac                                   |    7 +
 gdb/configure.nat                                  |   22 +-
 gdb/contrib/cc-with-tweaks.sh                      |    2 +-
 gdb/corefile.c                                     |    4 +-
 gdb/cris-tdep.c                                    |    2 +-
 gdb/ctf.c                                          |    4 +-
 gdb/darwin-nat.c                                   |   17 +-
 gdb/defs.h                                         |   54 +-
 gdb/doc/ChangeLog                                  |   13 +
 gdb/doc/gdb.texinfo                                |   45 +
 gdb/dwarf2loc.c                                    |  478 ++++----
 gdb/dwarf2read.c                                   | 1372 +++++++++----------
 gdb/event-loop.c                                   |    2 +-
 gdb/f-valprint.c                                   |    3 +-
 gdb/findvar.c                                      |  233 +++-
 gdb/fork-child.c                                   |  629 +--------
 gdb/frame.c                                        |   40 +-
 gdb/frame.h                                        |    8 +
 gdb/ft32-tdep.c                                    |    2 +-
 gdb/gdb_regex.c                                    |   57 +
 gdb/gdb_regex.h                                    |   39 +-
 gdb/gdbarch-selftests.c                            |  156 +++
 gdb/gdbarch.c                                      |   24 -
 gdb/gdbarch.h                                      |   15 -
 gdb/gdbarch.sh                                     |   12 -
 gdb/gdbcore.h                                      |    6 -
 gdb/gdbserver/ChangeLog                            |  111 ++
 gdb/gdbserver/Makefile.in                          |    5 +-
 gdb/gdbserver/configure                            |   13 +-
 gdb/gdbserver/configure.srv                        |    6 +-
 gdb/gdbserver/fork-child.c                         |  116 ++
 gdb/gdbserver/inferiors.c                          |    9 +
 gdb/gdbserver/linux-low.c                          |  107 +-
 gdb/gdbserver/lynx-low.c                           |   51 +-
 gdb/gdbserver/nto-low.c                            |   10 +-
 gdb/gdbserver/server.c                             |  278 +++--
 gdb/gdbserver/server.h                             |   14 +
 gdb/gdbserver/spu-low.c                            |   44 +-
 gdb/gdbserver/target.c                             |   27 +
 gdb/gdbserver/target.h                             |   13 +-
 gdb/gdbserver/win32-low.c                          |   23 +-
 gdb/gdbthread.h                                    |    5 +-
 gdb/gnu-nat.c                                      |    8 +-
 gdb/i386-linux-tdep.c                              |    2 -
 gdb/i386-tdep.c                                    |    2 +-
 gdb/i387-tdep.c                                    |    8 +-
 gdb/ia64-tdep.c                                    |   16 +-
 gdb/inf-ptrace.c                                   |   15 +-
 gdb/infcmd.c                                       |   14 +-
 gdb/inferior.h                                     |   34 +-
 gdb/inflow.c                                       |   64 +-
 gdb/infrun.c                                       |    8 +-
 gdb/linux-nat.c                                    |    4 +-
 gdb/linux-tdep.c                                   |   85 +-
 gdb/lm32-tdep.c                                    |    2 +-
 gdb/m32r-tdep.c                                    |    2 +-
 gdb/m68hc11-tdep.c                                 |    2 +-
 gdb/m68k-tdep.c                                    |   20 +-
 gdb/memattr.c                                      |   16 +-
 gdb/mep-tdep.c                                     |    2 +-
 gdb/mi/mi-cmd-break.c                              |    2 +-
 gdb/mi/mi-main.c                                   |   34 +-
 gdb/microblaze-tdep.c                              |    2 +-
 gdb/mips-fbsd-tdep.c                               |   45 +-
 gdb/mips-linux-nat.c                               |   11 -
 gdb/mips-linux-tdep.c                              |   44 +-
 gdb/mips-linux-tdep.h                              |    6 +
 gdb/mips-tdep.c                                    |   48 +-
 gdb/mn10300-tdep.c                                 |   11 +-
 gdb/moxie-tdep.c                                   |    2 +-
 gdb/msp430-tdep.c                                  |    2 +-
 gdb/{fork-child.c => nat/fork-inferior.c}          |  247 ++---
 gdb/nat/fork-inferior.h                            |  106 ++
 gdb/printcmd.c                                     |  198 +--
 gdb/probe.c                                        |   19 +-
 gdb/procfs.c                                       |    7 +-
 gdb/python/py-record-btrace.c                      |   12 +-
 gdb/record-btrace.c                                |   41 +-
 gdb/regcache.c                                     |  262 ++--
 gdb/regcache.h                                     |   47 +-
 gdb/regformats/regdef.h                            |    5 -
 gdb/remote.c                                       |   24 +-
 gdb/rs6000-aix-tdep.c                              |    1 -
 gdb/rs6000-tdep.c                                  |    2 -
 gdb/s390-linux-tdep.c                              |    2 -
 gdb/selftest-arch.c                                |    4 +
 gdb/selftest.c                                     |    4 +
 gdb/sh-tdep.c                                      |    6 +-
 gdb/sh64-tdep.c                                    |   50 +-
 gdb/skip.c                                         |   24 +-
 gdb/spu-tdep.c                                     |    2 +-
 gdb/symfile.c                                      |   18 +
 gdb/symfile.h                                      |    4 +
 gdb/symtab.c                                       |   42 +-
 gdb/target.h                                       |   18 +-
 gdb/target/target.h                                |   14 +
 gdb/terminal.h                                     |   12 -
 gdb/testsuite/ChangeLog                            |   82 ++
 gdb/testsuite/gdb.arch/aarch64-fp.exp              |    9 +-
 gdb/testsuite/gdb.arch/altivec-regs.exp            |   20 +-
 gdb/testsuite/gdb.arch/e500-regs.exp               |   12 +-
 gdb/testsuite/gdb.arch/s390-vregs.exp              |   17 +-
 gdb/testsuite/gdb.arch/vsx-regs.exp                |   20 +-
 gdb/testsuite/gdb.base/dump.exp                    |    7 +-
 gdb/testsuite/gdb.base/funcargs.exp                |   12 +-
 gdb/testsuite/gdb.base/gnu_vector.exp              |    7 +-
 .../gdb.base/startup-with-shell.c}                 |   29 +-
 gdb/testsuite/gdb.base/startup-with-shell.exp      |   89 ++
 gdb/testsuite/gdb.base/watch-cond-infcall.exp      |    5 +
 gdb/testsuite/gdb.dwarf2/formdata16.exp            |   40 +-
 gdb/testsuite/gdb.dwarf2/implptrpiece.exp          |   10 +-
 gdb/testsuite/gdb.dwarf2/nonvar-access.exp         |   31 +-
 .../gdb.dwarf2/var-access.c}                       |   29 +-
 gdb/testsuite/gdb.dwarf2/var-access.exp            |  345 +++++
 gdb/testsuite/gdb.python/py-inferior.exp           |   12 +-
 gdb/testsuite/gdb.reverse/i386-sse-reverse.exp     |   94 +-
 gdb/testsuite/gdb.server/non-existing-program.exp  |   12 +-
 .../gdb.trace/unavailable-dwarf-piece.exp          |    8 +-
 gdb/testsuite/lib/gdb-utils.exp                    |    2 +-
 gdb/testsuite/lib/gdb.exp                          |   13 +
 gdb/top.c                                          |    1 +
 gdb/tracefile-tfile.c                              |    4 +-
 gdb/tracefile.c                                    |   10 +-
 gdb/tracepoint.c                                   |   20 +-
 gdb/utils.c                                        |   57 +-
 gdb/v850-tdep.c                                    |    2 +-
 gdb/valops.c                                       |    7 +-
 gdb/valprint.c                                     |  252 ++--
 gdb/valprint.h                                     |    9 +-
 gdb/value.h                                        |    9 +-
 gdb/warning.m4                                     |    7 +-
 gdb/x86-linux-nat.c                                |   10 -
 gold/ChangeLog                                     |   18 +
 gold/aarch64.cc                                    |   56 +-
 include/ChangeLog                                  |   33 +
 include/bfdlink.h                                  |    6 +-
 include/dis-asm.h                                  |    8 -
 include/elf/arc-cpu.def                            |   49 +
 include/elf/ppc64.h                                |    1 +
 include/environ.h                                  |    2 +
 include/opcode/s390.h                              |   23 +-
 ld/ChangeLog                                       |  326 +++++-
 ld/Makefile.am                                     |    2 +-
 ld/Makefile.in                                     |    2 +-
 ld/NEWS                                            |    5 +
 ld/config.in                                       |    4 +
 ld/configure                                       |   26 +-
 ld/configure.ac                                    |   18 +
 ld/configure.tgt                                   |    2 +-
 ld/emulparams/avr1.sh                              |    8 +
 ld/emulparams/avr2.sh                              |    8 +
 ld/emulparams/avr25.sh                             |    8 +
 ld/emulparams/avr3.sh                              |    8 +
 ld/emulparams/avr31.sh                             |    8 +
 ld/emulparams/avr35.sh                             |    8 +
 ld/emulparams/avr4.sh                              |    8 +
 ld/emulparams/avr5.sh                              |    8 +
 ld/emulparams/avr51.sh                             |    8 +
 ld/emulparams/avr6.sh                              |    8 +
 ld/emulparams/avrtiny.sh                           |   10 +-
 ld/emulparams/avrxmega1.sh                         |    8 +
 ld/emulparams/avrxmega2.sh                         |    8 +
 ld/emulparams/avrxmega3.sh                         |    8 +
 ld/emulparams/avrxmega4.sh                         |    8 +
 ld/emulparams/avrxmega5.sh                         |    8 +
 ld/emulparams/avrxmega6.sh                         |    8 +
 ld/emulparams/avrxmega7.sh                         |    8 +
 ld/emulparams/call_nop.sh                          |    5 -
 ld/emultempl/elf32.em                              |    7 +-
 ld/emultempl/ppc64elf.em                           |   69 +-
 ld/ld.h                                            |    5 +
 ld/ld.texinfo                                      |   41 +-
 ld/ldgram.y                                        |    4 +-
 ld/ldlang.c                                        |  260 +++--
 ld/ldlex.h                                         |    1 +
 ld/ldlex.l                                         |    1 +
 ld/ldmain.c                                        |    9 +
 ld/lexsup.c                                        |    8 +-
 ld/scripttempl/avr.sc                              |   69 +-
 ld/scripttempl/avrtiny.sc                          |  262 ----
 ld/testsuite/ld-aarch64/aarch64-elf.exp            |    6 +-
 ld/testsuite/ld-aarch64/copy-reloc-2.d             |    7 +
 ld/testsuite/ld-aarch64/copy-reloc-eliminate.d     |    4 +
 ld/testsuite/ld-aarch64/copy-reloc-exe-2.s         |   32 +
 ld/testsuite/ld-aarch64/copy-reloc-exe-eliminate.s |    7 +
 ld/testsuite/ld-aarch64/copy-reloc-so.s            |   19 +
 ld/testsuite/ld-aarch64/pcrel.s                    |    6 +
 ld/testsuite/ld-aarch64/pcrel_pic_defined.d        |   10 +
 ld/testsuite/ld-aarch64/pcrel_pic_defined_local.d  |    5 -
 ld/testsuite/ld-aarch64/pcrel_pic_undefined.d      |   16 +-
 ld/testsuite/ld-arc/tls_ie-01.d                    |    4 +-
 ld/testsuite/ld-elf/elf.exp                        |    4 +
 ld/testsuite/ld-elf/group11.d                      |    6 +
 ld/testsuite/ld-elf/group12.d                      |    6 +
 ld/testsuite/ld-elf/group12.ld                     |   14 +
 ld/testsuite/ld-elf/now-3.d                        |    2 +-
 ld/testsuite/ld-elf/now-4.d                        |    2 +-
 ld/testsuite/ld-elf/pr14156a.d                     |    1 +
 ld/testsuite/ld-elf/pr21562a.d                     |   12 +
 ld/testsuite/ld-elf/pr21562a.s                     |   12 +
 ld/testsuite/ld-elf/pr21562a.t                     |    3 +
 ld/testsuite/ld-elf/pr21562b.d                     |   12 +
 ld/testsuite/ld-elf/pr21562b.s                     |   12 +
 ld/testsuite/ld-elf/pr21562b.t                     |    5 +
 ld/testsuite/ld-elf/pr21562c.d                     |   13 +
 ld/testsuite/ld-elf/pr21562c.t                     |    7 +
 ld/testsuite/ld-elf/pr21562d.d                     |   13 +
 ld/testsuite/ld-elf/pr21562d.t                     |    5 +
 ld/testsuite/ld-elf/pr21562e.d                     |   10 +
 ld/testsuite/ld-elf/pr21562f.d                     |   10 +
 ld/testsuite/ld-elf/pr21562g.d                     |   10 +
 ld/testsuite/ld-elf/pr21562h.d                     |   10 +
 ld/testsuite/ld-elf/pr21562i.d                     |   13 +
 ld/testsuite/ld-elf/pr21562j.d                     |   13 +
 ld/testsuite/ld-elf/pr21562k.d                     |   13 +
 ld/testsuite/ld-elf/pr21562l.d                     |   13 +
 ld/testsuite/ld-elf/pr21562m.d                     |   13 +
 ld/testsuite/ld-elf/pr21562n.d                     |   13 +
 ld/testsuite/ld-elf/rpath-1.d                      |    2 +-
 ld/testsuite/ld-elf/rpath-2.d                      |    2 +-
 ld/testsuite/ld-elf/shared.exp                     |    4 +-
 ld/testsuite/ld-elf/sizeof.s                       |   15 +
 ld/testsuite/ld-elf/sizeofa.d                      |   12 +
 ld/testsuite/ld-elf/sizeofb.d                      |   13 +
 ld/testsuite/ld-elf/sizeofc.d                      |   12 +
 ld/testsuite/ld-elf/startof.s                      |   15 +
 ld/testsuite/ld-elf/startofa.d                     |   12 +
 ld/testsuite/ld-elf/startofb.d                     |   13 +
 ld/testsuite/ld-elf/startofc.d                     |   12 +
 ld/testsuite/ld-gc/gc.exp                          |    6 +
 ld/testsuite/ld-gc/pr19161.d                       |    2 +-
 ld/testsuite/ld-gc/pr20022.d                       |   13 +
 ld/testsuite/ld-gc/pr20022a.s                      |    9 +
 ld/testsuite/ld-gc/pr20022b.s                      |    8 +
 ld/testsuite/ld-gc/start.d                         |    2 +-
 ld/testsuite/ld-i386/call3c.d                      |   12 +-
 ld/testsuite/ld-ifunc/ifunc-1-local-x86.d          |    3 +-
 ld/testsuite/ld-ifunc/ifunc-1-local-x86.map        |    3 +
 ld/testsuite/ld-ifunc/ifunc-1-x86.d                |    3 +-
 ld/testsuite/ld-ifunc/ifunc-1-x86.map              |    3 +
 ld/testsuite/ld-nds32/diff.d                       |    6 +-
 ld/testsuite/ld-powerpc/elfv2so.d                  |    2 +-
 ld/testsuite/ld-powerpc/powerpc.exp                |    2 +-
 ld/testsuite/ld-powerpc/tlsopt5.d                  |    4 +-
 ld/testsuite/ld-unique/pr21529.d                   |    5 +
 ld/testsuite/ld-unique/pr21529.s                   |    8 +
 ld/testsuite/ld-unique/unique.exp                  |    7 +-
 ld/testsuite/ld-x86-64/call1c.d                    |   12 +-
 ld/testsuite/ld-x86-64/lea1a.d                     |    2 +-
 ld/testsuite/ld-x86-64/lea1b.d                     |    2 +-
 ld/testsuite/ld-x86-64/lea1d.d                     |    2 +-
 ld/testsuite/ld-x86-64/lea1e.d                     |    2 +-
 .../{property-x86-3.d => property-x86-3-x32.d}     |    7 +-
 ld/testsuite/ld-x86-64/property-x86-3.d            |    2 +-
 ld/testsuite/ld-x86-64/property-x86-3.s            |   28 +
 .../{property-x86-4a.d => property-x86-4a-x32.d}   |    4 +-
 ld/testsuite/ld-x86-64/property-x86-4a.d           |    2 +-
 .../{property-x86-4b.d => property-x86-4b-x32.d}   |    4 +-
 ld/testsuite/ld-x86-64/property-x86-4b.d           |    2 +-
 ld/testsuite/ld-x86-64/property-x86-4b.s           |   15 +-
 ld/testsuite/ld-x86-64/x86-64.exp                  |    3 +
 ld/testsuite/lib/ld-lib.exp                        |   19 +
 libiberty/ChangeLog                                |   11 +
 libiberty/config.in                                |    4 +
 libiberty/configure                                |   21 +
 libiberty/configure.ac                             |    3 +-
 libiberty/waitpid.c                                |    5 +
 opcodes/ChangeLog                                  |   73 +
 opcodes/aarch64-dis.c                              |    5 +-
 opcodes/arc-dis.c                                  |  131 ++-
 opcodes/arm-dis.c                                  |    4 +-
 opcodes/bfin-dis.c                                 |    8 +-
 opcodes/disassemble.h                              |    8 +
 opcodes/i386-dis.c                                 |   10 +
 opcodes/ia64-dis.c                                 |    2 +-
 opcodes/mips-dis.c                                 |    2 +-
 opcodes/rl78-decode.c                              |  820 ++++++------
 opcodes/rl78-decode.opc                            |    6 +-
 opcodes/rx-decode.c                                | 1448 ++++++++++----------
 opcodes/rx-decode.opc                              |   24 +-
 opcodes/s390-dis.c                                 |   11 +-
 opcodes/s390-mkopc.c                               |    8 +-
 opcodes/s390-opc.c                                 |    6 +-
 opcodes/s390-opc.txt                               |   10 +-
 opcodes/score7-dis.c                               |    3 +-
 opcodes/spu-dis.c                                  |    2 +-
 sim/microblaze/ChangeLog                           |    4 +
 sim/microblaze/interp.c                            |    2 +-
 427 files changed, 11239 insertions(+), 6700 deletions(-)
 create mode 100644 gas/testsuite/gas/arm/sp-pc-validations-bad-t-v8a.d
 create mode 100644 gas/testsuite/gas/arm/sp-pc-validations-bad-t-v8a.l
 create mode 100644 gas/testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.d
 create mode 100644 gas/testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.l
 create mode 100644 gas/testsuite/gas/arm/sp-usage-thumb2-relax-on-v8.d
 create mode 100644 gas/testsuite/gas/arm/sp-usage-thumb2-relax.s
 create mode 100644 gdb/common/byte-vector.h
 copy gdb/{gdb_regex.h => common/common-gdbthread.h} (57%)
 copy gdb/{gdb_regex.h => common/common-inferior.h} (55%)
 copy gdb/{gdb_regex.h => common/def-vector.h} (53%)
 create mode 100644 gdb/common/default-init-alloc.h
 create mode 100644 gdb/common/job-control.c
 copy gdb/{terminal.h => common/job-control.h} (50%)
 create mode 100644 gdb/gdb_regex.c
 create mode 100644 gdb/gdbarch-selftests.c
 create mode 100644 gdb/gdbserver/fork-child.c
 copy gdb/{fork-child.c => nat/fork-inferior.c} (74%)
 create mode 100644 gdb/nat/fork-inferior.h
 copy gdb/{gdb_regex.h => testsuite/gdb.base/startup-with-shell.c} (54%)
 create mode 100644 gdb/testsuite/gdb.base/startup-with-shell.exp
 copy gdb/{gdb_regex.h => testsuite/gdb.dwarf2/var-access.c} (54%)
 create mode 100644 gdb/testsuite/gdb.dwarf2/var-access.exp
 create mode 100644 include/elf/arc-cpu.def
 delete mode 100644 ld/scripttempl/avrtiny.sc
 create mode 100644 ld/testsuite/ld-aarch64/copy-reloc-2.d
 create mode 100644 ld/testsuite/ld-aarch64/copy-reloc-eliminate.d
 create mode 100644 ld/testsuite/ld-aarch64/copy-reloc-exe-2.s
 create mode 100644 ld/testsuite/ld-aarch64/copy-reloc-exe-eliminate.s
 create mode 100644 ld/testsuite/ld-aarch64/pcrel_pic_defined.d
 delete mode 100644 ld/testsuite/ld-aarch64/pcrel_pic_defined_local.d
 create mode 100644 ld/testsuite/ld-elf/group11.d
 create mode 100644 ld/testsuite/ld-elf/group12.d
 create mode 100644 ld/testsuite/ld-elf/group12.ld
 create mode 100644 ld/testsuite/ld-elf/pr21562a.d
 create mode 100644 ld/testsuite/ld-elf/pr21562a.s
 create mode 100644 ld/testsuite/ld-elf/pr21562a.t
 create mode 100644 ld/testsuite/ld-elf/pr21562b.d
 create mode 100644 ld/testsuite/ld-elf/pr21562b.s
 create mode 100644 ld/testsuite/ld-elf/pr21562b.t
 create mode 100644 ld/testsuite/ld-elf/pr21562c.d
 create mode 100644 ld/testsuite/ld-elf/pr21562c.t
 create mode 100644 ld/testsuite/ld-elf/pr21562d.d
 create mode 100644 ld/testsuite/ld-elf/pr21562d.t
 create mode 100644 ld/testsuite/ld-elf/pr21562e.d
 create mode 100644 ld/testsuite/ld-elf/pr21562f.d
 create mode 100644 ld/testsuite/ld-elf/pr21562g.d
 create mode 100644 ld/testsuite/ld-elf/pr21562h.d
 create mode 100644 ld/testsuite/ld-elf/pr21562i.d
 create mode 100644 ld/testsuite/ld-elf/pr21562j.d
 create mode 100644 ld/testsuite/ld-elf/pr21562k.d
 create mode 100644 ld/testsuite/ld-elf/pr21562l.d
 create mode 100644 ld/testsuite/ld-elf/pr21562m.d
 create mode 100644 ld/testsuite/ld-elf/pr21562n.d
 create mode 100644 ld/testsuite/ld-elf/sizeof.s
 create mode 100644 ld/testsuite/ld-elf/sizeofa.d
 create mode 100644 ld/testsuite/ld-elf/sizeofb.d
 create mode 100644 ld/testsuite/ld-elf/sizeofc.d
 create mode 100644 ld/testsuite/ld-elf/startof.s
 create mode 100644 ld/testsuite/ld-elf/startofa.d
 create mode 100644 ld/testsuite/ld-elf/startofb.d
 create mode 100644 ld/testsuite/ld-elf/startofc.d
 create mode 100644 ld/testsuite/ld-gc/pr20022.d
 create mode 100644 ld/testsuite/ld-gc/pr20022a.s
 create mode 100644 ld/testsuite/ld-gc/pr20022b.s
 create mode 100644 ld/testsuite/ld-ifunc/ifunc-1-local-x86.map
 create mode 100644 ld/testsuite/ld-ifunc/ifunc-1-x86.map
 create mode 100644 ld/testsuite/ld-unique/pr21529.d
 create mode 100644 ld/testsuite/ld-unique/pr21529.s
 copy ld/testsuite/ld-x86-64/{property-x86-3.d => property-x86-3-x32.d} (61%)
 copy ld/testsuite/ld-x86-64/{property-x86-4a.d => property-x86-4a-x32.d} (81%)
 copy ld/testsuite/ld-x86-64/{property-x86-4b.d => property-x86-4b-x32.d} (67%)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4d15e1a..f2f9b45 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,374 @@
+2017-06-18  Alan Modra  <amodra@gmail.com>
+
+	* config.bfd: Correct targ_underscore for epiphany, ip2k,
+	m32c, mn10200, pru, rl78, rx, crisv32 and v850.
+
+2017-06-16  Nick Clifton  <nickc@redhat.com>
+
+	* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Do not fail if the
+	bucketlist is empty because there are no symbols to add to the
+	list.
+
+2017-06-16  Alan Modra  <amodra@gmail.com>
+
+	PR ld/20022
+	PR ld/21557
+	PR ld/21562
+	PR ld/21571
+	* targets.c (struct bfd_target): Add _bfd_define_start_stop.
+	(BFD_JUMP_TABLE_LINK): Likewise.
+	* elf-bfd.h (bfd_elf_define_start_stop): Declare.
+	* elflink.c (_bfd_elf_gc_mark_rsec): Update comment.
+	(bfd_elf_define_start_stop): New function.
+	* linker.c (bfd_generic_define_start_stop): New function.
+	* coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Init
+	new field.
+	* aout-adobe.c (aout_32_bfd_define_start_stop): Define.
+	* aout-target.h (MY_bfd_define_start_stop): Define.
+	* aout-tic30.c (MY_bfd_define_start_stop): Define.
+	* binary.c (binary_bfd_define_start_stop): Define.
+	* bout.c (b_out_bfd_define_start_stop): Define.
+	* coff-alpha.c (_bfd_ecoff_bfd_define_start_stop): Define.
+	* coff-mips.c (_bfd_ecoff_bfd_define_start_stop): Define.
+	* coff-rs6000.c (_bfd_xcoff_bfd_define_start_stop): Define.
+	* coffcode.h (coff_bfd_define_start_stop): Define.
+	* elfxx-target.h (bfd_elfNN_bfd_define_start_stop): Define.
+	* i386msdos.c (msdos_bfd_define_start_stop): Define.
+	* i386os9k.c (os9k_bfd_define_start_stop): Define.
+	* ieee.c (ieee_bfd_define_start_stop): Define.
+	* ihex.c (ihex_bfd_define_start_stop): Define.
+	* libbfd-in.h (_bfd_nolink_bfd_define_start_stop): Define.
+	* mach-o-target.c (bfd_mach_o_bfd_define_start_stop): Define.
+	* mmo.c (mmo_bfd_define_start_stop): Define.
+	* nlm-target.h (nlm_bfd_define_start_stop): Define.
+	* oasys.c (oasys_bfd_define_start_stop): Define.
+	* pef.c (bfd_pef_bfd_define_start_stop): Define.
+	* plugin.c (bfd_plugin_bfd_define_start_stop): Define.
+	* ppcboot.c (ppcboot_bfd_define_start_stop): Define.
+	* som.c (som_bfd_define_start_stop): Define.
+	* srec.c (srec_bfd_define_start_stop): Define.
+	* tekhex.c (tekhex_bfd_define_start_stop): Define.
+	* versados.c (versados_bfd_define_start_stop): Define.
+	* vms-alpha.c (vms_bfd_define_start_stop): Define.
+	(alpha_vms_bfd_define_start_stop): Define.
+	* xsym.c (bfd_sym_bfd_define_start_stop): Define.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2017-06-16  Jiong Wang  <jiong.wang@arm.com>
+
+	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use
+	SYMBOL_REFERENCES_LOCAL.
+
+2017-06-15  Jiong Wang  <jiong.wang@arm.com>
+
+	PR ld/21532
+	* elfnn-aarch64.c (ELIMINATE_COPY_RELOCS): Set to 1.
+	(elfNN_aarch64_final_link_relocate): Also propagate relocations to
+	runtime for if there needs copy relocation elimination.
+	(need_copy_relocation_p): New function.  Return true for symbol with
+	pc-relative references and if it's against read-only sections.
+	(elfNN_aarch64_adjust_dynamic_symbol): Use need_copy_relocation_p.
+	(elfNN_aarch64_check_relocs): Allocate dynrelocs for relocation types
+	that are related with accessing external objects.
+	(elfNN_aarch64_gc_sweep_hook): Sync the relocation types with the change
+	in elfNN_aarch64_check_relocs.
+
+2017-06-15  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21582
+	* ieee.c (ieee_object_p): Use a static buffer to avoid compiler
+	bugs.
+	PR binutils/21581
+	(ieee_archive_p): Likewise.
+
+2017-06-15  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21579
+	* vms-alpha.c (_bfd_vms_slurp_etir): Extend check of cmd_length.
+
+2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* elf32-xtensa.c (elf_xtensa_be_plt_entry,
+	elf_xtensa_le_plt_entry): Add dimension for the ABI to arrays,
+	keep both windowed and call0 ABI PLT definitions.
+	(elf_xtensa_create_plt_entry): Use selected ABI to choose upper
+	elf_xtensa_*_plt_entry endex.
+	(ELF_MAXPAGESIZE): Fix at minimal supported MMU page size.
+
+2017-06-14  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21578
+	* elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
+	flag value.
+
+2017-06-14  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21589
+	* vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
+	maximum value for the ascic pointer.  Check that name processing
+	does not read beyond this value.
+	(_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
+	end of etir record.
+
+2017-06-14  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21591
+	* versados.c (versados_mkobject): Zero the allocated tdata structure.
+	(process_otr): Check for an invalid offset in the otr structure.
+
+2017-06-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config.bfd (epiphany-*-elf): Accept epiphany-*-*.
+
+2017-06-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/20022
+	PR ld/21557
+	PR ld/21562
+	PR ld/21571
+	* elf-bfd.h (elf_link_hash_entry): Add start_stop.  Change the
+	vtable field to a union.
+	(_bfd_elf_is_start_stop): Removed.
+	* elf32-i386.c (elf_i386_convert_load_reloc): Also check for
+	__start_SECNAME and __stop_SECNAME symbols.
+	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
+	* elflink.c (_bfd_elf_is_start_stop): Removed.
+	(_bfd_elf_gc_mark_rsec): Check start_stop instead of calling
+	_bfd_elf_is_start_stop.
+	(elf_gc_propagate_vtable_entries_used): Skip __start_SECNAME and
+	__stop_SECNAME symbols.  Updated.
+	(elf_gc_smash_unused_vtentry_relocs): Likewise.
+	(bfd_elf_gc_record_vtinherit): Likewise.
+	(bfd_elf_gc_record_vtentry): Likewise.
+
+2017-06-13  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/21524
+	* elflink.c (elf_link_adjust_relocs): Generate an error when
+	encountering a reloc against a symbol removed by garbage
+	collection.
+
+2017-06-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf-bfd.h (elf_backend_data): Add struct bfd_link_info *
+	to merge_gnu_properties.
+	* elf-properties.c (elf_merge_gnu_properties): Add struct
+	bfd_link_info * and pass it to merge_gnu_properties.
+	(elf_merge_gnu_property_list): Add struct bfd_link_info *
+	and pass it to elf_merge_gnu_properties.
+	(_bfd_elf_link_setup_gnu_properties): Pass info to
+	elf_merge_gnu_property_list.
+	* elf32-i386.c (elf_i386_merge_gnu_properties): Add struct
+	bfd_link_info *.
+	* elf64-x86-64.c (elf_x86_64_merge_gnu_properties): Likewise.
+
+2017-06-11  Joe Zbiciak  <joe.zbiciak@leftturnonly.info>
+
+	PR 21564
+	* binary.c (binary_set_section_contents): Scale lma by octets
+	per byte to set filepos.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_check_relocs): Fixed conditions to generate
+	dynamic sections.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_size_dynamic_sections): Changed condition to
+	require TEXTREL.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to
+	patched section contents for TLS IE reloc.
+	* elf32-arc.c: Remove TCB_SIZE preprocessor macro.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_relocate_section): Added "call" to
+	RELOC_FOR_GLOBAL_SYMBOL macro.
+
+2018-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_relocate_section): Small refactor and condition
+	changes.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* config/tc-arc.c (md_undefined_symbol): Changed.
+	* config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
+	symbols.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_check_relocs): Added condition to disable
+	warning and "Bad value" for local symbols ARC_32 or ARC_32_ME relocs.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (ADD_RELA): Changed to only work when dynamic
+	object is created.
+
+2017-06-08  Richard Earnshaw  <rearnsha@arm.com>
+
+	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove assertion
+	that the input bfd has Tag_FP_ARCH non-zero if Tag_ABI_HardFP_use
+	is non-zero.  Add clarifying comments.
+
+2017-06-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_check_relocs): Set local IFUNC symbol
+	name.  Use local IFUNC symbol name string to report unsupported
+	non-PIC call to IFUNC function.
+	(elf_i386_relocate_section): Dump local IFUNC name with minfo
+	when generating R_386_IRELATIVE relocation.
+	(elf_i386_finish_dynamic_symbol): Likewise.
+	* elf_x86_64_check_relocs (elf_x86_64_check_relocs): Set local
+	IFUNC symbol name.
+	(elf_x86_64_relocate_section): Dump local IFUNC name with minfo
+	when generating R_X86_64_IRELATIVE relocation.
+	(elf_x86_64_finish_dynamic_symbol): Likewise.
+
+2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* elf.c (setup_group): Make sure BFD sections are created for all
+	group sections in the input file when processing SHF_GROUP
+	sections.
+	(bfd_section_from_shdr): Avoid duplicating logic already
+	implemented in `setup_group'.
+
+2017-06-06  Daniel Bonniot de Ruisselet  <bonniot@gmail.com>
+
+	PR binutils/21546
+	* peXXigen.c (pe_print_idata): Use the address of the first thunk
+	if the hint address is zero.
+
+2017-06-06  James Clarke  <jrtc27@jrtc27.com>
+
+	PR ld/19579
+	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check
+	ELF_COMMON_DEF_P for common symbols.
+
+2017-06-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* elf.c (_bfd_elf_make_section_from_shdr): Don't initially mark
+	SEC_GROUP sections as SEC_EXCLUDE.
+	(bfd_elf_set_group_contents): Replace use of abort with an assert.
+	(assign_section_numbers): Use resolve_section_groups flag instead
+	of relocatable link type.
+	(_bfd_elf_init_private_section_data): Use resolve_section_groups
+	flag instead of checking the final_link flag for part of the
+	checks in here.  Fix white space as a result.
+	* elflink.c (elf_link_input_bfd): Use resolve_section_groups flag
+	instead of relocatable link type.
+	(bfd_elf_final_link): Likewise.
+
+2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Remove unused
+	variable `bed'.
+	* elf32-score.c (score_elf_final_link_relocate): Likewise.
+	(s3_bfd_score_elf_check_relocs): Likewise.
+	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
+	(score_elf_final_link_relocate): Likewise.
+	(s7_bfd_score_elf_check_relocs): Likewise.
+
+2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* elflink.c (init_reloc_cookie_rels): Remove unused variable
+	`bed'.
+
+2017-06-06  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Subtract `count'
+	from `reloc_count' rather than decrementing it.
+	* elf.c (bfd_section_from_shdr): Multiply the adjustment to
+	`reloc_count' by `int_rels_per_ext_rel'.
+	* elf32-score.c (score_elf_final_link_relocate): Do not multiply
+	`reloc_count' by `int_rels_per_ext_rel' for last relocation
+	entry determination.
+	(s3_bfd_score_elf_check_relocs): Likewise.
+	* elf32-score7.c (score_elf_final_link_relocate): Likewise.
+	(s7_bfd_score_elf_relocate_section): Likewise.
+	(s7_bfd_score_elf_check_relocs): Likewise.
+	* elf64-mips.c (mips_elf64_get_reloc_upper_bound): Remove
+	prototype and function.
+	(mips_elf64_slurp_one_reloc_table): Do not update `reloc_count'.
+	(mips_elf64_slurp_reloc_table): Assert that `reloc_count' is
+	triple rather than once the sum of REL and RELA relocation entry
+	counts.
+	(bfd_elf64_get_reloc_upper_bound): Remove macro.
+	* elflink.c (_bfd_elf_link_read_relocs): Do not multiply
+	`reloc_count' by `int_rels_per_ext_rel' for internal relocation
+	storage allocation size determination.
+	(elf_link_input_bfd): Multiply `.ctors' and `.dtors' section's
+	size by `int_rels_per_ext_rel'.  Do not multiply `reloc_count'
+	by `int_rels_per_ext_rel' for last relocation entry
+	determination.
+	(bfd_elf_final_link): Do not multiply `reloc_count' by
+	`int_rels_per_ext_rel' for internal relocation storage
+	allocation size determination.
+	(init_reloc_cookie_rels): Do not multiply `reloc_count' by
+	`int_rels_per_ext_rel' for last relocation entry determination.
+	(elf_gc_smash_unused_vtentry_relocs): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
+	(_bfd_mips_elf_relocate_section): Likewise.
+
+2017-06-05  Alan Modra  <amodra@gmail.com>
+
+	PR 21529
+	* linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.
+
+2017-06-01  John Baldwin  <jhb@FreeBSD.org>
+
+	* elf.c (elfcore_grok_freebsd_psinfo): Use ELF header class to
+	determine structure sizes.
+	(elfcore_grok_freebsd_prstatus): Likewise.
+
+2017-06-01  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (struct ppc_link_hash_table): Add has_plt_localentry0.
+	(ppc64_elf_merge_symbol_attribute): Merge localentry bits from
+	dynamic objects.
+	(is_elfv2_localentry0): New function.
+	(ppc64_elf_tls_setup): Default params->plt_localentry0.
+	(plt_stub_size): Adjust size for tls_get_addr_opt stub.
+	(build_tls_get_addr_stub): Use a simpler stub when r2 is not saved.
+	(ppc64_elf_size_stubs): Leave stub_type as ppc_stub_plt_call for
+	optimized localentry:0 stubs.
+	(ppc64_elf_build_stubs): Save r2 in ELFv2 __glink_PLTresolve.
+	(ppc64_elf_relocate_section): Leave nop unchanged for optimized
+	localentry:0 stubs.
+	(ppc64_elf_finish_dynamic_sections): Set PPC64_OPT_LOCALENTRY in
+	DT_PPC64_OPT.
+	* elf64-ppc.h (struct ppc64_elf_params): Add plt_localentry0.
+
+2017-05-30  Casey Smith  <clegg89@gmail.com>
+
+	PR ld/21523
+	* elf32-arm.c (elf32_arm_final_link_relocate): Install an absolute
+	value when processing the R_ARM_THM_ALU_PREL_11_0 reloc.
+
+2017-05-30  Anton Kolesov  Anton.Kolesov@synopsys.com
+
+	* cpu-arc.c (arc_compatible): New function.
+
+2017-05-30  Anton Kolesov  <anton.kolesov@synopsys.com>
+
+	* cpu-arc.c (arch_info_struct): Remove duplicate ARC600 entry.
+
+2017-05-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/21519
+	* bfdio.c (bfd_get_file_size): New function.
+	* bfd-in2.h: Regenerated.
+
 2017-05-23  Dilian Palauzov  <git-dpa@aegee.org>
 
 	* elf32-arc.c (arc_elf_merge_attributes): Add fall through
diff --git a/bfd/aout-adobe.c b/bfd/aout-adobe.c
index a2c927d..487ed8c 100644
--- a/bfd/aout-adobe.c
+++ b/bfd/aout-adobe.c
@@ -466,6 +466,7 @@ aout_adobe_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
 #define aout_32_bfd_discard_group	            bfd_generic_discard_group
 #define aout_32_section_already_linked              _bfd_generic_section_already_linked
 #define aout_32_bfd_define_common_symbol            bfd_generic_define_common_symbol
+#define aout_32_bfd_define_start_stop               bfd_generic_define_start_stop
 #define aout_32_bfd_link_hash_table_create          _bfd_generic_link_hash_table_create
 #define aout_32_bfd_link_add_symbols	            _bfd_generic_link_add_symbols
 #define aout_32_bfd_link_just_syms	            _bfd_generic_link_just_syms
diff --git a/bfd/aout-target.h b/bfd/aout-target.h
index 2e98c4d..65bc44c 100644
--- a/bfd/aout-target.h
+++ b/bfd/aout-target.h
@@ -513,6 +513,9 @@ MY_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
 #ifndef MY_bfd_define_common_symbol
 #define MY_bfd_define_common_symbol bfd_generic_define_common_symbol
 #endif
+#ifndef MY_bfd_define_start_stop
+#define MY_bfd_define_start_stop bfd_generic_define_start_stop
+#endif
 #ifndef MY_bfd_reloc_type_lookup
 #define MY_bfd_reloc_type_lookup NAME (aout, reloc_type_lookup)
 #endif
diff --git a/bfd/aout-tic30.c b/bfd/aout-tic30.c
index 5db3da7..068428c 100644
--- a/bfd/aout-tic30.c
+++ b/bfd/aout-tic30.c
@@ -968,6 +968,9 @@ tic30_aout_set_arch_mach (bfd *abfd,
 #ifndef MY_bfd_define_common_symbol
 #define MY_bfd_define_common_symbol bfd_generic_define_common_symbol
 #endif
+#ifndef MY_bfd_define_start_stop
+#define MY_bfd_define_start_stop bfd_generic_define_start_stop
+#endif
 #ifndef MY_bfd_reloc_type_lookup
 #define MY_bfd_reloc_type_lookup tic30_aout_reloc_type_lookup
 #endif
diff --git a/bfd/arc-got.h b/bfd/arc-got.h
index b8a6d15..f1f6c0e 100644
--- a/bfd/arc-got.h
+++ b/bfd/arc-got.h
@@ -22,6 +22,8 @@
 #ifndef ARC_GOT_H
 #define ARC_GOT_H
 
+#define TCB_SIZE (8)
+
 enum tls_type_e
 {
   GOT_UNKNOWN = 0,
@@ -354,7 +356,8 @@ relocate_fix_got_relocs_for_got_info (struct got_entry **          list_p,
 		  = tls_sec->output_section->vma;
 
 		bfd_put_32 (output_bfd,
-			    sym_value - sec_vma,
+			    sym_value - sec_vma
+			    + (elf_hash_table (info)->dynamic_sections_created ? 0 : TCB_SIZE),
 			    htab->sgot->contents + entry->offset
 			    + (entry->existing_entries == TLS_GOT_MOD_AND_OFF
 			       ? 4 : 0));
@@ -478,8 +481,10 @@ GOT_OFFSET = %#lx, GOT_VMA = %#lx, INDEX = %ld, ADDEND = 0x0\n",
 	{
 	  bfd_vma addend = 0;
 	  if (list->type == GOT_TLS_IE)
+	  {
 	    addend = bfd_get_32 (output_bfd,
 				 htab->sgot->contents + got_offset);
+	  }
 
 	  ADD_RELA (output_bfd, got,
 		    got_offset + (e == TLS_GOT_MOD_AND_OFF ? 4 : 0),
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index ae2fceb..4348793 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1242,6 +1242,8 @@ long bfd_get_mtime (bfd *abfd);
 
 file_ptr bfd_get_size (bfd *abfd);
 
+file_ptr bfd_get_file_size (bfd *abfd);
+
 void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
     int prot, int flags, file_ptr offset,
     void **map_addr, bfd_size_type *map_len);
@@ -7591,7 +7593,8 @@ typedef struct bfd_target
   NAME##_bfd_is_group_section, \
   NAME##_bfd_discard_group, \
   NAME##_section_already_linked, \
-  NAME##_bfd_define_common_symbol
+  NAME##_bfd_define_common_symbol, \
+  NAME##_bfd_define_start_stop
 
   int         (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
   bfd_byte *  (*_bfd_get_relocated_section_contents)
@@ -7655,6 +7658,11 @@ typedef struct bfd_target
   bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
                                             struct bfd_link_hash_entry *);
 
+  /* Define a __start, __stop, .startof. or .sizeof. symbol.  */
+  struct bfd_link_hash_entry *(*_bfd_define_start_stop) (struct bfd_link_info *,
+                                                         const char *,
+                                                         asection *);
+
   /* Routines to handle dynamic symbols and relocs.  */
 #define BFD_JUMP_TABLE_DYNAMIC(NAME) \
   NAME##_get_dynamic_symtab_upper_bound, \
@@ -7734,6 +7742,13 @@ bfd_boolean bfd_generic_define_common_symbol
 #define bfd_define_common_symbol(output_bfd, info, h) \
        BFD_SEND (output_bfd, _bfd_define_common_symbol, (output_bfd, info, h))
 
+struct bfd_link_hash_entry *bfd_generic_define_start_stop
+   (struct bfd_link_info *info,
+    const char *symbol, asection *sec);
+
+#define bfd_define_start_stop(output_bfd, info, symbol, sec) \
+       BFD_SEND (output_bfd, _bfd_define_start_stop, (info, symbol, sec))
+
 struct bfd_elf_version_tree * bfd_find_version_for_sym


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


             reply	other threads:[~2017-06-18 19:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-18 19:30 jkratoch [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-06-28 21:21 jkratoch
2017-06-22 20:03 jkratoch
2017-06-22 18:34 jkratoch
2017-06-09  5:59 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=20170618193040.107727.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).