public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: scox@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  scox/strace: Merge branch 'master' into scox/strace
Date: Thu, 22 Aug 2019 19:26:00 -0000	[thread overview]
Message-ID: <20190822192649.84437.qmail@sourceware.org> (raw)

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

The branch, scox/strace has been updated
       via  e1c9923c858f265680f03f0fe5c48c0cc0bb243c (commit)
       via  546053acfa1518063ed0ea94c3e35c05089c32fc (commit)
       via  b4e87f2c1eee99dee805e3828514f8afa162f9ba (commit)
       via  d7a11d1383a2d0cdffc8c08e46b0cf5a66b3ce28 (commit)
       via  aedbe3bb9f03be12ad714adca1fefc391317bd94 (commit)
       via  ac533243beac35f158341d53edab53031218bcde (commit)
       via  52031738190ca1067bc6e40f662f4effcd428628 (commit)
       via  770c015139f038bd7b7abb5c6d84eb39d36d3080 (commit)
       via  7ce8f214f1af1dd593ad42665da416ac46033f97 (commit)
       via  f21c2bd7b7ef2a9c47e5713cabaa784bcf5c2bee (commit)
       via  d806ea2d0ef362fcddd2c1659f537b68aa114203 (commit)
       via  c1a5d03a89a455d79f025c66dce83342de4d26ce (commit)
       via  3eb185c97d8170b3f3a2b5edab4fbbd56f53f6f7 (commit)
       via  d292364e95fc9c8230b678d9026f285850074c02 (commit)
       via  903b777ddeb4c11a7de12cab59124e777614edec (commit)
       via  72c03e30ae783a5f38a8c124588a4536ae06e6ef (commit)
       via  2c115c4f3cb57cfed7a1be5bbccf0f1bc6f7fdbc (commit)
       via  b271c8567acd7b329fe6b37a3091613c634470c7 (commit)
       via  d367307b93e5589245d1f2c8bbcfe709404540a8 (commit)
       via  98ac8787e9bea0fef101b9b63c5dd06e653a46b3 (commit)
       via  34dafe9f39e61de970c36ed636daa58e1caa386c (commit)
       via  81e8046dc0daaf56fb10b11931fc77600a4b5920 (commit)
       via  398fdd6086a290748afcce0efabaebb4e363278c (commit)
       via  e699d33164a59dcfe7ad4a5154e5c6c811c1f958 (commit)
       via  bb01dbfc041dccab2f2a2818068158f61b4c0fe2 (commit)
       via  81c82c4b9005acf7865d8a19ee651968e059a848 (commit)
       via  2ddaf614439b50e6019c5218f2fbfc0d14194e96 (commit)
       via  017f982820d408fb49657b9b9b8f45a9616c5f21 (commit)
       via  ed8358e9491d5ae0a8ee021c162a85867af1146a (commit)
       via  20149b6b207ac8c2bcde6f272607109f566168a9 (commit)
       via  2d83e710a14c62cb6a9501c84fc46062f817428d (commit)
       via  d4ab829a2477d454bd38544f1b88a043ec58581c (commit)
       via  b4c555cfc48689d45481effff23c9017a4f3557f (commit)
       via  aa7ca1bb443e8c2baad17392f395d1556fecfafa (commit)
       via  fdfc8cf7f04e2f4d24ec9fff331ebd71a2e768a3 (commit)
       via  0b8b76098ff3d3dcd0c621f2e45cc0b4e7211d6a (commit)
       via  7df6aecc97b96843da080d54414052b1c954ddca (commit)
       via  63f6e94fb3cc5b6a2cfb8c28686f150e7226ab7e (commit)
       via  d8f9e51c361dfb53de3eca8d84f8938380af60ff (commit)
       via  33394263571f08a935c0a030dbde22a04eee7d70 (commit)
       via  6eac171f0624303d944ff1a1ae4d0e3b0a63c800 (commit)
       via  3df505f60eacd2c931092c7007f084d27583f9e5 (commit)
       via  272560b577894c388a3d0d3fda8294683714f582 (commit)
       via  08235187bcdd66599884f33b046cf8abcf949727 (commit)
       via  080a488354d63fec9791a26fadd15e0c5246983d (commit)
       via  db502012fc46b4dd068461aaeafeaa421489c562 (commit)
       via  3891b65efe614fe2e2f7e75e7f5ec8964f7fd96b (commit)
       via  ee556432c44dd5dbcf22c4086774bd29ded5b208 (commit)
       via  46f438e3d57bae1d74ab9a7e6cba380b0e58f552 (commit)
       via  f4ce562c7f7a95cab61bf298d289cd56f0802a95 (commit)
       via  c398c3d0b56823bb12718ae46a8c273b866ca246 (commit)
       via  e25d200487dba7dfdf92f638e4ef2aefd7bd7481 (commit)
       via  002f15c27779e154856fdf281360385f4d3be671 (commit)
       via  c9033fe839e37a378ff86e614a7d6e939b94f6c9 (commit)
       via  088f37dd90eecb647347c1aa53d36b3f5be64b21 (commit)
       via  a54700c6c45ea424b668f2201ef14906f2052412 (commit)
       via  e2a678a557b52816a7aa45902a6519bc1cae918e (commit)
       via  f2dda4778417e2d58a5b0416ff9598f68470cbfa (commit)
       via  ed4a1084d725a5d1aecefc6a430d3059a77c102d (commit)
       via  65962b20b6df7e8961ec4002179dbd51a33a627f (commit)
       via  22a2ab04f58dc7c3f5fb0e6d8f0fa96ee4aa3951 (commit)
       via  835b995b576d14fa9b73fb763d5186323b1365b6 (commit)
       via  d59b55f0952e95fdbec58021cecce85f4557b485 (commit)
       via  97dd8e07d998f5f0fcd0d06fd53e2ae9d337d222 (commit)
       via  6ae978f133a67d34d01b6bb2053f1ba20ad13eeb (commit)
       via  4196ab2a6d348f76c0e5e78252e44d9c631636d2 (commit)
       via  c6778d00df0fbc7fe53801717eb934a5d7b9674a (commit)
       via  9177214a228f7d0eb8543725287a6163993fbebf (commit)
       via  05192282ca19f8f5c201f630caed68b1632e2619 (commit)
       via  6485977b899b2780c575ff1d34ccfa7fa950e492 (commit)
       via  2208ee917050bcc901c7faefdee257ffbf8ef2ab (commit)
       via  fc9e754460ccf1c893fc9e67c02c49f58f1bd38e (commit)
       via  75faf5c41d7fc713b73cbb3523dcc6ca3855f98e (commit)
       via  b1c896b365f2dbcd14145a88d103623244cf0fb0 (commit)
       via  dfc19da6a6d43390544fa446bb1a33723b339a77 (commit)
       via  c327a44f38ad5ab0dfd8da5184c4c030798ef323 (commit)
       via  9defd221fe3ecffabc90eadd077326b27e898a2b (commit)
       via  414b84043054e9656aad008e6efb49979ec614e9 (commit)
       via  6405cd73c0d160d9b6f82744bb5510b3e101ad59 (commit)
       via  5216580d7a1134a9349ec045b475f5b40f499e5e (commit)
       via  93858ad34ec1d2250d33365468c6721023786f51 (commit)
       via  e321e7ce753f27ca9664ca08a8314924b5771d61 (commit)
       via  8270ac6229ac323fe7dfc1915b3f52d77df6bb9a (commit)
       via  7b56485db5187e6c63f330e1eb35f63b50327b74 (commit)
       via  7ba913dcdf2f94cbd501d763f0fc55a46d10331c (commit)
       via  37a4a1310484490878ce0af9ea1924d6c7dbec7b (commit)
       via  0bd27e079a99d93590fd078c86c0afe51f6d29b8 (commit)
       via  b4ef5aeb3a1880490f9441655d9de74727c9063a (commit)
       via  fede52738f3ed3e375d84197380ae1a6cd35c6fe (commit)
       via  22c3f4909af125b457564db66e3cb3c56cb9abd3 (commit)
       via  16cb7910b946bad4b5f4aa69925361004c4e412f (commit)
       via  cc0c3ffbc975fe764f6c4746611a836e7a4ce379 (commit)
       via  3f3ffe54e229482bdb0785ae2162f03d60870400 (commit)
       via  69258091762bce83b0f3dc9e07800b87bdc0649f (commit)
       via  62cf57fee7d72d0c2df2be4d999d63ea3bfafa43 (commit)
       via  2afade5dbe1bf99db3f6ab625ca540be030e0e41 (commit)
       via  a3504e96544b3f8918c4521116d537a4a07c2106 (commit)
       via  011168429859e3e3a2342ee043cbc2c7a5cf5e2f (commit)
       via  29c9291108487e1dd9bc5677dafee58ea2068f77 (commit)
       via  abc6c00fb6cbb199348ec5f0bf4d969ed48bdfad (commit)
       via  74c2c1f45f036c4f155cc65a86022ce6eef0c5c5 (commit)
       via  5067f530c3a26330263649fbef23c7685f27cbb7 (commit)
       via  86c6b807f50ecec84e55007bf6cb6e54c159727b (commit)
       via  5db2718ce48c497e317787caebacd019da59c3b0 (commit)
       via  cb41b9e70e6fbd1cb603bb9ba4372fbb8ae87b20 (commit)
       via  ca2589f3bbad1e151abbb293d4c43a87b7a4d5ec (commit)
       via  c15a79c78cc0111296b487de3fa59365f13df3bc (commit)
       via  a2d4e4b70945c1704e5249ad6a9be9d5875a4b0e (commit)
       via  57a2fe070226852b84eff8f37e49b367daa2a32f (commit)
       via  775e241e9c5f2b2ff2b59972ab70e5f20763fae6 (commit)
       via  08132bdd876fa1825810f90ecc25390dd4ded457 (commit)
       via  5312fe52e9ae6fd108f161a271315eb2821246eb (commit)
       via  9bb9c115cd3d0b9de97e02cf2e861972010daa6f (commit)
       via  b32b0a69fdf24a8b04efe9c2b90c3e830aa0c2c1 (commit)
       via  acdb5f3476c4dd5a0f7182e2e96eafee3a84d856 (commit)
       via  dc02848a69da5b8794a3d7094664e3b4d9a508cf (commit)
       via  4cfbdbfd2607a2bcfb9f745410e34aea8f044a9b (commit)
       via  988de25b366c74cd62e35f3d5cf63086a964c7aa (commit)
       via  36983a93bb338b7cdd6f7d6f9f91dc9ce9815b4e (commit)
       via  8be90e963138c88d7648c1eb2146e45f048d616e (commit)
       via  020a839d52fb8a28059dadd075b09a2fec84ef74 (commit)
       via  dac36daf78653a8e4688b825cdb15461a88470d2 (commit)
       via  1022c627dbd9d7f7f67ac68f16de05474de7a75a (commit)
       via  f211b8c0b91fc7b1657079a495f05a9a4d957821 (commit)
       via  f16a9783c5f085443d806646074e9c06fdee9a88 (commit)
       via  1ba7cdcd931ddf672e4a8a6483593f9b94e55965 (commit)
       via  2b2ed2452c0bd2437ff65e71356bece225f0be46 (commit)
       via  678581fc78cffcfd1423b557368c3a0cfb695b87 (commit)
       via  eba4caf23152a1a66d10ce37c502ec78654cd5eb (commit)
       via  378646f7a4260eecd244ba840ae1af4e663e30a5 (commit)
       via  128d6509819d9d4fe6f52d1a5dcc458b9cbd0f4c (commit)
       via  dbe15e4e1dda8e20cc347ced751631d49a5f57de (commit)
       via  7b1dd701059ead8f3af3c081fc9727b9883a74c3 (commit)
       via  8fb49c3c715190a5753980d0ddef721d816bbc3d (commit)
       via  7d55c1d61edfef2323f5d4675f0367ffb411c3cb (commit)
       via  178d871928b99112a39e0ca1284d6bbdde50ab6e (commit)
       via  b1791af06ec358d21dbe6a99129f11cc02438962 (commit)
       via  d88bdcb4a52bc041ed9b607dda22f478ec61a67b (commit)
       via  7c1c1904bedb8f873731651b420a23f573785728 (commit)
       via  f927cc8faff0d2e39561c90f5182ebe99b2f77f6 (commit)
       via  123cd851480c728845a4c3f85da772dd8331cf19 (commit)
       via  3d31bc39e655ea39721754fa0ea539a8a0c9b26c (commit)
       via  fca8e23c31e6ec37bdcb5cf1d981a39d1e6fb6f6 (commit)
       via  fc8de8e227e5146336d654f2fb4f98010d7cf12d (commit)
       via  97b031c5d6d42ff2b1758a8a8c332cb44ba9c06f (commit)
       via  7cd00957a57f8d8195baf7a85ea21b879bbbaf91 (commit)
       via  bc750500af6d0a6cb602a5d00b3f71b26ce96762 (commit)
       via  906799036a9bcc2b6f27fbcf894092bdc03f6da9 (commit)
       via  0cf9feb996cb32939840b13073a49310b1fd71e0 (commit)
       via  efba19b06a6f2baacb3920599f970d1333ffc358 (commit)
       via  f25102f7b100337923d2c81ecc12a64d428e98fe (commit)
       via  021887d88a040cf39f3afbd7da10bbe3ff1ad6c3 (commit)
       via  b3c6d7ff98954032a3e7989dbd1f50f041e010bb (commit)
       via  d2834edcb67b9d9bd7163868fa0239948a2e57b7 (commit)
       via  590042fc45f857c981bee4e0c76f6b3b528a224e (commit)
       via  404f29021abaef86a341663444fb069eb1f0282a (commit)
       via  046bebe1c0a367687bd693eb4594fcdcba0b8f7e (commit)
       via  ddbcedf5de138bc83d5d16554a3f44163dcaef7a (commit)
       via  b08b16c8391bbcd706a4aaa4b09509e7c2b8c676 (commit)
       via  cb44333d99548bbbf7be06387a31877ee9322ab4 (commit)
       via  872dceaaff9b54764b8f510b549497b9d904b136 (commit)
       via  269249d9406096dd59aecd8845e960fdddb1ebfe (commit)
       via  c0e8dcd87101119806c5bbca4c7b649c1b8c0996 (commit)
       via  128bf1fe608badb59d27f9c5c8ffb1a6a6d9d811 (commit)
       via  b02c4f162335ed055964f603ba3aca18b0e5c5bf (commit)
       via  b39152b3e5befec363302d5d81ade36ab45d6d08 (commit)
       via  0b27c27d0d3060171876736f05c39f9c86a65d3e (commit)
       via  4ee94178afbe062bc244d28595f86d63633a7af7 (commit)
       via  276cbbdf990f3f09acacdf3d9603b054ac7d29da (commit)
       via  580f1034d10934b757703110db068397c0c1e7bb (commit)
       via  d86bd7cba1965c621b63792179febcf9eeb273ad (commit)
       via  8abfcabcb49fcd8b95854a5b59e7928e3c6000ff (commit)
       via  23d188c74e7481bb0af3c42b84fc9cb0c94267e5 (commit)
       via  a80cf5d88e028fa6a72b37fe50795e70bb6e3559 (commit)
       via  d09628385443574b556f2beaaba7588a2a5fb4c0 (commit)
       via  e17869db99195849826eaaf5d2d0eb2cfdd7a2a7 (commit)
       via  2b79f3761c834cd217407f75f867f6a761703ab3 (commit)
       via  188a63736c70060180382e36364a23dcebe3c29c (commit)
       via  2252ff3d9045b54bf3a2b54c7ba33320ccab9bc7 (commit)
       via  26655f53069a2f8a8ccbc6b60537149383d28be1 (commit)
       via  0b3303472d5fd742198f04dbf4322098be6c158c (commit)
       via  ae60f04e08bf48f65d9101a6ab63f3806e6fca5e (commit)
       via  db4dc13eebbd73cddfe3abb6c001982c7bdbba3f (commit)
       via  28cd9371e84144df3b9b8903770f71d39824f8f8 (commit)
       via  6d6231ed5822782b76a2aad268cc4891e4f91dfc (commit)
       via  ca683e3a86d081fcf43685bee840086bd4c07443 (commit)
       via  89c52ae3a20e8d84a250095781c1e022af542b3f (commit)
       via  6a010cf67a96adcaf80c74f926df6b42ce13e7df (commit)
       via  97c0a07968a7c64e1de96abff8937d089f09b3e7 (commit)
       via  1b611b2dc3075d20372557021f95ec326cdf8aa5 (commit)
       via  371367a95037cac795af5cdc589a2aa0c7a4dcd3 (commit)
       via  0f52d45acd6c54aa47082778ffcbafddd423a5b4 (commit)
       via  0eba165a74cdb039a5e6ed86e0396d80f68ca22c (commit)
       via  e0d0c518daa5e10a417d16ad8158e97016562342 (commit)
       via  f126416240a3ae1be69792361bca8bcbb84e62e8 (commit)
       via  0a7b24850e0cba956bd836ecb1f60959cbf75087 (commit)
       via  c6bdbeb7c468489da9468445057d245929c3d91c (commit)
       via  59bd512b9c54c6fa2bd951cd10a1ca1e6ffb3dcf (commit)
       via  2a3ad588e0758bc2c753dfa216c344036e5a22bc (commit)
       via  117eb594228cf5447e49475e4fb33480c1f717a7 (commit)
       via  ed5913402bd4d50e342d4350ee5e4662d98a3947 (commit)
       via  776ab89fe3cdce91cd644058c9fcda0c506f995b (commit)
       via  5c1e6d53a518442741f05175dbded0d1880f4759 (commit)
       via  52b5a0c663ba7cb4f1488a7e96addc303fc6e021 (commit)
       via  0630887d4ee35ab2236d6e2f3be3a86e6d881387 (commit)
       via  a2bd7b82ee2847d0b9bc6994b7248306de3a618f (commit)
       via  c0d6f62fcec939ab896e4839f6aa14ebfcd43565 (commit)
       via  aa3b653351504e262fb455af5efb6eea6d981597 (commit)
       via  a1530dc7319595b5980e8501092782724c946351 (commit)
       via  2906593ffecef89f8d64e0f1ca21494be71d0ebd (commit)
       via  5c4dde850c0d4874d3bbe6dd1989bf0f7a5ed1c3 (commit)
       via  0f575925b6ff89def089e6b6ba810ee547d3978d (commit)
       via  b13057d9ceaa4944dc2d0ebf5df750d9350d0727 (commit)
       via  34d5c40a07be4bc195d5ed9aecf4eb2faa1482bc (commit)
       via  25ec8924842a215e7f684d3a5076607409ac822f (commit)
       via  c620ed8866cc90ccfa363daf98ce7061d076d598 (commit)
       via  e48de49be52cb6e0fe3edbcdc3e63bbc2465d930 (commit)
       via  3d2357068b03edc850b3d84a27dbe6ad12a66d6f (commit)
       via  bc4268a5d926c8f29e42d245322145dad131627f (commit)
       via  c7e4c0a6482cebcf8b129d1008a2c553a0183aee (commit)
       via  4b5e8d19afe4accc3dd87aeba58d6704e71c610d (commit)
       via  de28a3b72e4e85233c6ece9063696b13ef170c00 (commit)
       via  507dd60e28d0ef35ffb7c0880933d6b88cc3f5bd (commit)
       via  5beafce944b6b200d1fa80d7f4a8656cb2ecf2fa (commit)
       via  2d274232f3e693d54f8dd561de73810d1a03ddf7 (commit)
       via  9197cd8b52aa41a04b883d83df863ecb5afc5d35 (commit)
       via  b528dae0954436ab103fb8ab6fc1ca632b4a7c51 (commit)
       via  d17725d72f25812acc8bd16a368c0e889c4b4d1e (commit)
       via  cc5277b173701364c10204f316db28198f2c683b (commit)
       via  ac50aea1311b01c745afc4dba102a8d20d0eea6e (commit)
       via  4538d1c7c46e67b472d8d5ebf163f3dfd9c67714 (commit)
       via  52b75bf1dc759e8d9eda9a71caa52e458e57e4ff (commit)
       via  2b1d00c2b828ea98fb61f07496882f8a7aa99f5f (commit)
       via  ded631d57dec8c75ff5713f062b1c5667c31ec23 (commit)
       via  58ac439d385a285382733a35ca1fb2666edf6540 (commit)
       via  fe1f56ee14b2c30f088dc65bb4b67b9793199cea (commit)
       via  f790b310d2c29f08be79d6af8d8c391bf793fce7 (commit)
       via  d95fc6eec07344f83ec0aba4a1e4f17fb53da45b (commit)
       via  c3786b3aa311e7fba247623a98135d63d1d51c99 (commit)
       via  1c316af29ff2db118796de1486bf4e9673ac2922 (commit)
       via  6bdfee81576aae55666a9245cfc0a316a6849957 (commit)
       via  98a617f8d5cf9bfb53b2e1d5cf3f0e0f188d9e53 (commit)
       via  5c076da45ce9a24d47046ddb0bac02e158e6bf58 (commit)
       via  1aff7173105c9540bbbef75727aa200f5c288b2e (commit)
       via  2dc80cf8a5799120fd4e00199688f721e7de2a62 (commit)
       via  567238c956c4e5530bd143bfae9393c7ae5524cd (commit)
       via  c89f9f2a528e490733ace16204752e9af945454e (commit)
       via  89b085acaf8d449d6c9c0b0490c6a0c9a745db5d (commit)
       via  1512d3b7b9de3a1943623f2e1f373459d5d80a98 (commit)
       via  8e2e3c6c346c1c8142e714715e5a86b32f7e31ea (commit)
       via  6dd17ae0f9b0d9fc230e75ce345da9793498554d (commit)
       via  6e99a238f01fcf6f77ae25e8ade57e509a724b1f (commit)
       via  db2307377ffcd295f212cfa753e3ff45f1b85fb0 (commit)
       via  f32feb4ab3c30a9a80e890a51ceb94b7446bd4ea (commit)
       via  297989a10c56aec56eab0ee63f1e61c33ab20905 (commit)
       via  d079b9c04afb48ecba42c42632c34974f5a32ce8 (commit)
       via  48467cb99b04c9d908ce2dd74422c9c3f322ccc3 (commit)
       via  c7c860d2d29ca3e774c29f328d2af42eeb031958 (commit)
       via  2e6be59c8de57c32260771ac5307968d18793a0a (commit)
       via  442853af244e0352956a5d91ad5e169a85b58710 (commit)
       via  75b493d0f95c6037753e0d250e1ecc6fe8d46c38 (commit)
       via  b3b965fb91e1671da5b7d42349fa0d78e80c29f4 (commit)
       via  8f79c1075e8f258ac5a909b39704009ebc440e76 (commit)
       via  4625b4d081eb0a243c6c7370f9a12c97bf6bcf65 (commit)
       via  9596751830b82b3ceaf8e6bb0c333181dfc96257 (commit)
       via  dac6552d4a203db908e11ba4803c7e39e090716f (commit)
       via  0f3f71676a8971e0376d7d99b383660f06ff4d95 (commit)
       via  7e126ba31ab6536b1dd779e483b72f47d3a76742 (commit)
       via  ef551643dc282159185cb9916c7cb0308ae03cdd (commit)
       via  c54e42531adb7bf8d58bd4c3c8e0c710305959e1 (commit)
       via  2f86d5594071a16665711ae13da88af1cc904371 (commit)
       via  cc364be6ff45669150077387f22723de33d5f1b1 (commit)
       via  c5e20471be97e2dcd3498ac284487e2546715f66 (commit)
       via  7613ca5e3885b8e79d9096a53f3e5492a5c06cd7 (commit)
       via  7137a1ed0ad9afdd57e6ef44abbfaeaeb44dd17e (commit)
       via  024a5840006aba9ba698aa9d868a7394016dd4a0 (commit)
       via  c76ddaa3f4f8313976670ba8f15163a3544eb1af (commit)
       via  407bcc63bda3d78bedffb49ddebf0b41294218d9 (commit)
       via  2e8136f9453e21414cc328d025bec33218176b66 (commit)
       via  19889a58358ec7f6981c9b20b9541bcb95a839bf (commit)
       via  a028026d2f9bbeaa2217aa8aafa1463bd88463ba (commit)
       via  9a618ef61593ea5103aaf17bbe968bf552aa3de0 (commit)
       via  40eadf04ff1f0eaec82dc911cf079555cdbb03d0 (commit)
       via  8c728a9d93e2342c57039fcdd6e4a502875b9e09 (commit)
       via  df3a023bd614133fe69afb02cd0e8f3e590a36a9 (commit)
       via  06f44071ccbeca33fff70b928b71d95a15982740 (commit)
       via  ec49711a16785636a5b9eac3a92bd00382fcb1a9 (commit)
       via  acea835faa6e14c0b008f001ab145e301ff215f6 (commit)
       via  89ebb345e7f5e3ab97638eff7b5914ed2b2e0df1 (commit)
       via  ac79ff9ed2f2d6e87a46146eee28a1d8fa631398 (commit)
       via  1dd1bc4daf99ec7ad1f9a6feea8cf4ebe715a92d (commit)
       via  5ba29434765feed692b6342a8b0f853050be2402 (commit)
       via  89356123a17c27548c7e71f4f000b1f74e551c31 (commit)
       via  bfa2a36d94d124eb7b54fd271a543047579b47ee (commit)
       via  0c628bba5afd16e0ab3d78ca81ab3f2d5342c50c (commit)
       via  236ab0c60c9cedecd4fc23b526a588ee25636c13 (commit)
       via  a8e9d2471806ef86ff7aec43164a6fe347efba3b (commit)
       via  eb86c5e2e824787875187901b12fba52ef873278 (commit)
       via  a8eab7c6d529ddd248ff5243bb22e9346196e376 (commit)
       via  b4603c34644847e2113e8c29408db09049c5c30f (commit)
       via  c32e6a04f42b8e4a1392ee4b87d040c06b917ef5 (commit)
       via  c8cdc1e08312a238a9138b55ae080ceeab14845c (commit)
       via  7fec04c365ae2468d283fb3529a9ea334d6e528f (commit)
       via  86ceaf9867288530af927aa98680526c897cf4cc (commit)
       via  f720d67c59a4c7e6bf92538c6bfc8dc76f7c7224 (commit)
       via  9ab3a74416dac187d56fcf292b39b681d1362dae (commit)
       via  bcbaec5c407a9301ed987d380ac49426a84c3a0e (commit)
       via  01e175fe1b21950982642713513e442fc09614e6 (commit)
       via  ec38ac465d632cbc7fbecffcaadb7c6ffc4b5f39 (commit)
       via  56f79b630766bb134400b4a8da43941cfc31c0c0 (commit)
       via  4c5aa8e0b1b4439f73ef1f82344e408b989f85df (commit)
       via  7cc17433020a62935e4d91053251fe900d83c7f0 (commit)
       via  f42b26179a8606d31959207a2d8eb8582b650c99 (commit)
       via  f29ec966436f98e761f7a2a7183ad8ebab68c2ea (commit)
       via  d105cce5dd8d6a5218b044fc161ce89c6b245432 (commit)
       via  231097b03afffd0c5a2b520cd999dbcbe8d64eda (commit)
       via  1802aae8449a4d693ba1f4efb8a7917c2f20990b (commit)
       via  ccbdd22fb96b8680ebeaecd829e8e51958845a8f (commit)
       via  c213164ad2505cba5263602b7f9fa9a4dd1adf39 (commit)
       via  7a708984176cc2d247d7dd96d84c7d7501bae6eb (commit)
       via  88468fe09628974cde7dc891d088cc1e0015fa0d (commit)
       via  6cbb8e87ee4682c47eafbec670d62ea2a7a89540 (commit)
       via  12a0b67d289e2c3ed266d93e8a8c80087f7d18f8 (commit)
       via  afe09f0b6311a4dd1a7e2dc6491550bb228734f8 (commit)
       via  cd215b2eb74c179d936a3b28577753a08de1cf83 (commit)
       via  54d7dae59a2239720c848985a7d50a0a8b3319eb (commit)
       via  71c4e95abe66ec9fc2c064268e3f9640a5b951d8 (commit)
       via  46e9995a207140408309dbea40c64f11843db777 (commit)
       via  b00a0a86c40c681cf4b22a3630f85188ac849721 (commit)
       via  0b1474281c659919d9c63ccfd6891b9e9ed0fc9c (commit)
       via  d0044bac9eb6c5476d29c41872bcf8f74a990d4f (commit)
       via  f264fab3cd9364073ccf7c32f29d0f1aa7c99159 (commit)
       via  e0b989a6d74efbcdadac4974d0b8520ac31cd9b6 (commit)
       via  d8f68fcb9378b5ab1c945fa676e11da15be56dd6 (commit)
       via  ca5af91ed271a12200bb40ccfaaede4baef6f5fe (commit)
       via  5104fe361d818a46b262b5d504f3d293c9a2b44a (commit)
       via  daa15dde7202d948da694bdfe0df9e5294c7ee9a (commit)
       via  bfad4537079109d9c41ecd86af9cf84b6825a192 (commit)
       via  88f7e873362279462c676b26fee62376dba82b5c (commit)
       via  96bd6233af7c01885de4f4de3a4016014d61d859 (commit)
       via  ce38393b1abc2573d6521d11ab1fbfb5a28e5109 (commit)
       via  2d8b51cba307333b6a068296d9668cd01164de28 (commit)
       via  18ab23af8b3d473f795ce48ee54a47e1a3e7ae47 (commit)
       via  88b7e7ccb958220adabc307e6d38fc66877820fb (commit)
       via  0fcd37117e94e5b9bf5f4aaa4dccc8038b38398e (commit)
       via  4a38112da00f45527de4aec0b645443c6ee0e01e (commit)
       via  0912922656b9fec5f04623ea49292b7ae564c7ef (commit)
       via  4a8a5e84a777c7c267503a1d1ee15bce2ba19d1d (commit)
       via  76d2be8e92a900558648eeba6b4ff95cba62801e (commit)
       via  890b8bde7a07a412bc1085bd4724bd03500b0dc0 (commit)
       via  2cdfa11333867dbfcb2a6b631cda989d64f68944 (commit)
       via  8e3cfd09e813fc1a2738b0d4d19d15358e438ace (commit)
       via  f4e049775aa3b025501d6b4aae1cdb975505a767 (commit)
       via  0379b8837a875403866e2cf1a0315bee1d8d5694 (commit)
       via  b7fbad913e8874b9a887eb149b14975343bfb7ab (commit)
       via  4e1e56b9818109a39bb1b035fd50dd05a00699f2 (commit)
       via  1e0c09ba0bdd8b4dd1ab3a61b2ae2d326825bee1 (commit)
       via  1bf605de8e9ae4fcf77c21067ddaf4a242a873f7 (commit)
       via  098f9ed48e1c94a2624c825ba93d72b163d41196 (commit)
       via  801109578cd2a6ebd690dd23f0d4a1f4a67aee09 (commit)
       via  cf82af058d2f1488d8f8a096d7e3b76d1d5a4f46 (commit)
       via  01aeb396d0e7a2d76f5f2391a30328dcdd5bed1e (commit)
       via  fd6c75eecd92ad888cc369489b31d2ed9015130e (commit)
       via  f6cc34a91c173634b6afcc1a48601a601fbace37 (commit)
       via  f31ec9af48578adb0baf8db3e10da871d6ee3eca (commit)
       via  d1b6f1e5ebdd755274a77a31c4afa48969b73bee (commit)
       via  d9743a13e0c9e3043ec3ad979534fab44c0f17b2 (commit)
       via  caf0bc4e8bafc387c8136c0f63748e56245f779a (commit)
       via  9d391078d1238e1be9dea5a775982a00a2497a57 (commit)
       via  a38da35d7bc89e4c2191d4f042912038c585f36d (commit)
       via  c2cd8994669f63eb415522352a5d5006d0fbfb48 (commit)
       via  4dde7b34f4e40ee6e0ea596357e4def60bd67d20 (commit)
       via  b73dd8779c0530e91c6e5067eab4cb7ca3f794d5 (commit)
       via  ae2b53806d3ce384e349c722b21a7ad246102d5b (commit)
       via  1ce3e8442e5bab6f700f5f011de56201f76b8461 (commit)
       via  fe3eaf1cd9af54cd4c678a8dde7fd0df601c9490 (commit)
       via  368c1354e578eb280df37059aa6b8c1f178baaf4 (commit)
       via  e80cd2047079a63ab087df15d179c49ca18de202 (commit)
       via  aca2dd16474ec88b3969436044801f58f9163c5c (commit)
       via  517e9505fa563c83b4d5cb192e423a0d6baac752 (commit)
       via  f76d8b19e80b43a141ce31c0e0230e23f676182d (commit)
       via  b4094625d8a3e2b528032e2ca8d8cdecf222bb7c (commit)
       via  c223a7299e2bdb604d7006842eda7165bcbf2c15 (commit)
       via  50daf2683bad925470f6f1bd08aef928c2f4d6fe (commit)
       via  df5f8cab00a8076a5582efec028002d323950c8f (commit)
       via  80cb6c27099e199cca01bc1a2efb8e8fbc941a48 (commit)
       via  baff0c28b83bd1ad7949d07b78fdb85ad6be49a5 (commit)
       via  3b23c5f2662d3240cdc586d3d2e5fb6eb8cba4c7 (commit)
       via  0b5ec21882bcc27e93144882b84935497da6e7fe (commit)
       via  0807ab7b88fa5ffb138ba1ee22b33d26e239de2f (commit)
       via  9ad7fdef7c72b2aca0398ce8e63b89e560873807 (commit)
       via  5813316fa4aeaf52f374c20c7fdb9747b88fa8ca (commit)
       via  00e264e7626260a6df6b5a0aa7ee25215ea93f9c (commit)
       via  06210ce428ad74c28fd94f7ea3800b79791cdefa (commit)
       via  381befeedf9316991d47f4213850545a96593d23 (commit)
       via  6b78c3f83c8bcbfa714aab7627ece9673b2d602a (commit)
       via  d72a9b85651c872378f6dd732cb578f6f055a9b3 (commit)
       via  8dc0818eb2c449d553065b57e6953436896c6e5a (commit)
       via  1d942ae90810156b9875ea3e11754ab447c748db (commit)
       via  bd7918379d2688898dfb29851f2019d2a7a70959 (commit)
       via  dfd6917457a3030ea4a4b6356f65216fab92d0b8 (commit)
       via  21df382b918888de64749e977f185c4e10a5b838 (commit)
       via  206e6c58a769f9ec63827b8ca3952b0cd8c828ba (commit)
       via  cbde90f25ec66b359c90514a50bbf25d122bb7e3 (commit)
       via  7e24fb63e7db33d3627623629b0e99fe322e26f9 (commit)
       via  07128006d6caec5df31a960b131d2026f35ed948 (commit)
       via  1f77b012e61ec11c92a35223fdfed598c6d2f4e9 (commit)
       via  33eca68072e73d984fc139dde45b8140b94757cb (commit)
       via  ca8d69beb1024316af8dec571584437d613f40d2 (commit)
       via  3719fd55b6f89662653d50d33bb267c5f21127a5 (commit)
       via  5b9d7a9a647260ba754fbd2a176d37806f15acc8 (commit)
       via  03181f1c38753b24e9d13491e102b5fa685076a2 (commit)
       via  92434a14b97bf07546701613a16aaf4d8a3b3eca (commit)
       via  da73816739483bac537403262cef1c460e43319f (commit)
       via  48b550c28afd21b382e21e56b7ba246b3bf49d4b (commit)
       via  a48654b6d4ed558d632dca3d895e8ad2f0dd57a6 (commit)
       via  f26a32876ba49b2d5537beccea2a38bc544e9732 (commit)
       via  7b2438015ca87297b2796c662182f796bb5358c2 (commit)
       via  0c951c25c6c7cfbf0f399d34277f73b0fdfc18cd (commit)
       via  c9b8abb7af46c9da4b50ad8495ab2824c4125962 (commit)
       via  e4dff7651becba48d805e39655138f7f6ca30485 (commit)
       via  220f99066d6ce2a6caf17692fcc57d714d8f6910 (commit)
       via  32f598441988e5a086ba8580e82f4944c3692eb5 (commit)
       via  154a0a90ddde3a5d538830527ffd6d128cb23b1b (commit)
       via  0d4e84ed37c404eb7e691ee9d68ae2ec758d8f66 (commit)
       via  9a49df9d4bfc7ff03fed751e12b1bc32fbee4fb2 (commit)
       via  b86352cfc17fb7f07d5da9efcfd59f8b2bd08eee (commit)
       via  603490bf53fe1885ef45f9d0fb783b32f8ef6049 (commit)
       via  592f9d271caaa22a6b299cfaaf6ce3394796e0e2 (commit)
       via  830b67068cebe7db0eb0db3fa19244e03859fae0 (commit)
       via  a89fdbdb201764e3989e9113e03a769091d42cce (commit)
       via  60cfcb20ce8f95a6f71f68c51b295defa5d27032 (commit)
       via  b16507e0917169555f8bbfcb1d6c9685813ccf6c (commit)
       via  021d8588f6ca843a2aada955d00851fbb62f8a62 (commit)
       via  b777eb6de24ae1a1dc2f1e48d593b0a5c79937a9 (commit)
       via  72ee03ff58d954dbed886b672032c8c9db0a0dcc (commit)
       via  00db9531969db8b6ab984da996d0411fad938589 (commit)
       via  f2478a7e8b145a55c343bc7a62c53b021062229e (commit)
       via  2ee0a9b7bcd86721bd44d8a8fc967b2a8cbe18e0 (commit)
       via  0d12e84cfc9bd36b7bbda01a3c8f83f65a832398 (commit)
       via  f06f1252b0b8ef20adb4296faaf8293c9d36f615 (commit)
       via  7a5d944b9e86bf73ae5acaa984df24d175b80f68 (commit)
       via  48c66e1d07d65a76c685d10003d751ef883b1244 (commit)
       via  a269fbf12dcc621c45030ab9956ae28053878b7c (commit)
       via  c294730c54f15ea69b18025025c0f191e5876301 (commit)
       via  9d52077d65206b1e0df62f05b577b5ceede1228a (commit)
       via  22a20dca3a96c481093bdff5e17f1feb0f9e345c (commit)
       via  cb60f4208b2b920614306937b62bf15700824ee0 (commit)
       via  51df2ae3029caafd2b832e19d2978114a7e25a8a (commit)
       via  18101a352541a28b8e199b4d7b9f66989681dc02 (commit)
       via  05b08ac1608c8355201db21fe4c871677466f0d5 (commit)
       via  32372d80caba2e223157eca6db2fb0e65369c3c7 (commit)
       via  43dd762689eb80d5c93a6c1079697c3791fb46fa (commit)
       via  5c458ae8f529a11ecab9db470d80695bb31ecfc5 (commit)
       via  4c462cb0efb40a7a1e5297946bed59286dd0cf02 (commit)
       via  89abbcc26d891425678b8b463bc1fa81273fb54c (commit)
       via  b863685d70199489b3fe27abedfb1eb6d1452b7d (commit)
       via  166a82be89008621a31e6e56b2d52a049b53e341 (commit)
       via  9fb4c7e9f00accbbf92fc0b0a53978fd50ff6bb0 (commit)
       via  e2d0f9803e3054b05c2de716f3c928e510009436 (commit)
       via  eb6ad40f244ea6dedca1440b0ce3d89c1ecdac0c (commit)
       via  a38118e5d165324b4f9509fd82cf1f1c6421bfc5 (commit)
       via  cb1e4e32c2d9588e1d77ea49bafb5dcdc1cff764 (commit)
       via  b58a68fe5709ed205c3ac54065f1783ce58d9a01 (commit)
       via  0826779b99b49f7f8df5d186f3c481b6007010d4 (commit)
       via  268a13a5a3f7c6b9b6ffc5ac2d1b24eb41f3fbdc (commit)
       via  5b0e2db4fa08b43e9ff78d6e9a45d496522bd241 (commit)
       via  0ba852ab4126a6eb4be88577d62dc25f2be7f725 (commit)
       via  b3a7d1711e4557811865333a0ac96fc16b750869 (commit)
       via  d69cd47e7e9884f7b3a319936f70b8d93347e9e0 (commit)
       via  64da05d557f59814151e908a34f36996a027d127 (commit)
       via  1f6f6e21fa86dc3411a6498608f32e9eb24b7851 (commit)
       via  ea142fbfc9c1708a83d3532257d6728e1f5c142e (commit)
       via  62a47958bd6e3cbd909c2f19cd4669a9670ce4f1 (commit)
       via  3836e1d1ab859b9f6c41bc4565ef779640b7c706 (commit)
       via  55904abea47780ed16b4f726862ba1e14d05b96e (commit)
       via  25c816e70e578b8a9abab0dada0490dd5ae41780 (commit)
       via  923cccf9bcc2b97298c2c0563326193948410311 (commit)
       via  98602811d838077269e361e9d807fe530c780011 (commit)
       via  a0b6cbf69db7427cfdf054092062fcf82eef9a58 (commit)
       via  0598af4880f58af5ce7c15419551362646892c7f (commit)
       via  213fd9faf563ce5726ce66c8104cbaba44ba9c09 (commit)
       via  350fab54163e2dd178609d268e80bf31042d182d (commit)
       via  f0452268d6c7296106aba81f532b04dc08187352 (commit)
       via  e935475cb6bcd8146717896e88824ae93a0897c7 (commit)
       via  df0bb381e27a8b1594c492a34c48ff6e6bbd29d1 (commit)
       via  edd6266ab14004b02065ad9fb98b1da323a41981 (commit)
       via  2b40fda74b2af11a914d50f4e54c1472e1bd81fb (commit)
       via  d4693039f950eefb983a66e3270209b738e4ce8a (commit)
       via  f2d4ba38f5723a207c40a288036af2f38b70e837 (commit)
       via  db7fbcbeb749c0d4ea19284438d62b253648c58a (commit)
       via  a26c8de0ee938a48bc6f6232cdfac1a5eabaa778 (commit)
       via  5f4ba3e701d74f280d4bd8820d9c39a854e0d2cf (commit)
       via  a994424fa1e80d982644038f1ce6538e247aeed1 (commit)
       via  3d9be6f531db395a5ad940ef06e56d849f4de646 (commit)
       via  41fc454c915057d9c5536617370c5eb2a5f71323 (commit)
       via  b2b2a2159876fa8db57ce017b949cafc6f1a32df (commit)
       via  077a039f70d870899da31eb8cee597964515fa3c (commit)
       via  fdbc98707b0ab48fd8ca3ac37acefa120496baf6 (commit)
       via  c6ac893109fdc2c3fce2b7457adccdc10f235354 (commit)
       via  d1fcf2fded9a5a54d0714ae01b60ccb57e75b8b5 (commit)
       via  970f9d091dae835304d1a96805bdb5c081a40b48 (commit)
       via  f3869b1a41a809f208b964ee00cea74bd905b75f (commit)
       via  9be796f35b68aee81dc81e1c9b7410067ac0cd42 (commit)
       via  54d6600669256d2b3582d7088d11ab18f6f21f0d (commit)
       via  1faa385ff6b11df26efc46152fe15b31adbf8624 (commit)
       via  854f60884cc35806dab1c0f9e7711c45cefaf7fc (commit)
       via  125f83f66c10c89530d011f4f81324b1f43afcda (commit)
       via  163b2c58bdbf0cba9a085574ae88d4c757c6567d (commit)
       via  4d83e8d97e3b15dcd7b5c58f4199e9f5bd6fca3d (commit)
       via  bb32413ff7247f5ac3685ca9075b3432bca69a82 (commit)
       via  01c1ee4a70478178eb37e46692a02fb846a2f77b (commit)
       via  83adff695c522df8259e421162e194a95713eb45 (commit)
       via  8941884429c305ad42a41f759a98c8cca4d4aacc (commit)
       via  390b205f456be85e309570f1b6e9b75f27194de7 (commit)
       via  54ee425275c759438d90c40781e3810a551f0a5f (commit)
       via  269b4ded72af1fa05236f866b518f05cf2d408a6 (commit)
       via  41be57caf36943d71ccc6ea70be27a4939399118 (commit)
       via  65392b3edd1f6873204a4890efc286c8970abf4e (commit)
       via  f2f51cd5f511fc562f830818ec4467d8c3cced56 (commit)
       via  a6ce99e98738289658d830def1b6eb9546ab551e (commit)
       via  539300fb929ada830ec7c4002fd59f0d86c823b1 (commit)
       via  f57cf0e3e357255959d00626bce5c21396e23212 (commit)
       via  f5e9c9bde04ae52b92027b78c9ca20055f1afb78 (commit)
       via  9658dc39630b8ac4e849fb529a53902da5fc2b1f (commit)
       via  3e10cffc9872fda4519f76ba487fd108551a179f (commit)
       via  c550e7ba937e6a5e04c17275efc362a74f8fd1b1 (commit)
       via  900e33b9cf45dd70012af7fc509119edebb93339 (commit)
       via  9d3bf266fd601031d12584982ef43df22c95e933 (commit)
       via  c3949f432f4f7e4a776bd15e10dad56593abeb47 (commit)
       via  5641ec015a191e0584fd4cae57bb3262f7a51735 (commit)
       via  79dec6b7baa243a4ada018a082491990adb6aec1 (commit)
       via  a80195f1224aced64392b452d55980b6bbd2a8b9 (commit)
       via  a0a1771e895e6606a2a795c407e20aed73f69bd9 (commit)
       via  cd546e7bd2832c882e69809fdbeb7b376b62039e (commit)
       via  e3bba3fc751d2f8eea5a25b3f629b0d62257db86 (commit)
       via  d583596cc910249eff97e8f9b67c6524fb68af72 (commit)
       via  9c33702be70a7db648414775faa4850e7cf53034 (commit)
       via  36cc073ef40f2cb9cb834cdb5d543fbb284f2b32 (commit)
       via  219920a7c49069e30a7be2b166099bf795837a6d (commit)
       via  c444fad6da089b5b94ae7ea2aabce0521695a8d3 (commit)
       via  7f1c798dcc79c969d0e94bb787faa75cdf704b46 (commit)
       via  d6954c38df90637bc1b0cc2b20473e2754e5eff7 (commit)
       via  7d7571f0c14b4673ca95f6dc31d6f07d429e6697 (commit)
       via  5af5392a3d1525fb825747b203a6159ddcba0aa4 (commit)
       via  10d06d821919474afaf59fa24cb10450d2349131 (commit)
       via  7e56c51c7932cfdb178e9457011d09d53e98937b (commit)
       via  781152ec18f56726c750cc0812a740396e4ec820 (commit)
       via  999d6dff80fab12d22c2a8d91923db6bde7fb3e5 (commit)
       via  f60c61e60e59c2bfc5fdd1b448408c2af287899e (commit)
       via  f073a3e8c6735bd8fc24d35a957d8944087ea367 (commit)
       via  c432bbbaaa072438e6303b819bdcb4289c2b22e0 (commit)
       via  60d53d7f032ad7af09760afbaf01b2ec413f198a (commit)
       via  0c823d25a6eb29b331a58082e08f4b5fe06e1394 (commit)
       via  e395f487b3758b3de99fddd2ef15a799e9fc1203 (commit)
       via  1b7f24cd6b4e96c64bf82eba06be2c48942699fa (commit)
       via  3d507ff23b724ecb2b9a5a61cebd0fba275cfbc3 (commit)
       via  ba85f98c42877287f45644a6d75513239c9490a5 (commit)
       via  5ceb1f4d804b09cb8767ca704c2ba41e50a2bcdb (commit)
       via  2b7bcc8740dda3f314284169aaf1759a9f56025f (commit)
       via  c1dc7af52143966da8065b527e7a7000cf9f7705 (commit)
       via  65bd27298d31c6733b68d0cd6b7a4fc26e0598be (commit)
       via  d7560e2df501c7da1b0e4e64116dd52fe5715a96 (commit)
       via  696d5b3801a0e9d6514a92734bde09985f968a2f (commit)
       via  aa108c0c462e43ab77a1f178d8c8d2277ac73a57 (commit)
       via  a68aa5d3020948564ef99d704d27e458ba22ad9d (commit)
       via  762c164d754fc456aa4764d2ed19cc4a3ec625fb (commit)
       via  aa2f9bcf23a00fc7e9d7350757b8938c36106c42 (commit)
       via  3426ae5760319b6b31d71f3ba798154e6fcea34d (commit)
       via  8af58ffe5d06eaed8adfd1f0db2cb10d38c364e2 (commit)
       via  22e217527d1ba9ff3d933a14c9d81b066fac606d (commit)
       via  a93cbd6e69abc024bb65c8c398fa9898e551860c (commit)
       via  4838e44c8fcb2ce2316294a6f30b8d40343c36af (commit)
       via  54cc7474d4851d0e76df5252478a5ebd76b61508 (commit)
       via  b65b566cdcb577edb57616c5b49a2f245b56325c (commit)
       via  9b444f9533c38016e4f2de0198c889b13a62d2bc (commit)
       via  5c2c8c694de18370ac6161a21217627ddadeafc7 (commit)
       via  c2fc64f54ef82ccd2fedc9078c539ad273e83a0b (commit)
       via  fb54fa768d148ccd07f2b27ae26e87d95605986c (commit)
       via  f7952c5774671414d9e0e8d3524c2921daa6f28e (commit)
       via  17568d782d96434537fe9698c5ebcb09f35c20cb (commit)
       via  53e7cdbaa1d8c0c53038226de07d8160d7f66d82 (commit)
       via  7908abbf18dde6d3163758e447d72d6d2b267927 (commit)
       via  02c28df011542448e99041e32bec331c92b39945 (commit)
       via  6658b1bf6c2d8d9383826bdfd4068b77d38b3b94 (commit)
       via  21e1c91ef99c3785d1c31314dff574747b4b6e68 (commit)
       via  115ac53b852ed91e23d97e8357f24216609fa86f (commit)
       via  eaf9738bedf8de68d4bf8eafd0689cf1973648aa (commit)
       via  31ca47237fed3db1d912127a386cad6ffbb06750 (commit)
       via  41bcff7feefea958e7be1656e087cae4d54a2af9 (commit)
       via  d2802c33429eb73303dc610401f5d7d27e071ff2 (commit)
       via  dd835f8b70a2dfb4d8b84a4744606a9c922aeb25 (commit)
       via  bd7db367c4bc72bef9c7848b99aaaa1431cf1672 (commit)
       via  3add462fff33beb0e6f1480d3853eb56d664b438 (commit)
       via  489e9d8b7bb3337a7f4f902a03c176c22faeabc7 (commit)
       via  c3fabb7d69b3735bc6042a2992729944c8ced62c (commit)
       via  bbc228ee056cd006e971d5f1cb70ae0f69c1eb36 (commit)
       via  5fcee43a960f0735c53a7c24823b2e4bc1460b9f (commit)
       via  d83f1fe65da075aa08ac7d6b6ef3508587c94600 (commit)
       via  17374de40e7be36e4eb27d29bb8aac89586ce4a1 (commit)
       via  f936bca26dd7593a3b792e76eba37c5de2374961 (commit)
       via  d6ba6a11642cdbec4ce91fefe455920b5c073f60 (commit)
       via  48a3bd16c2189174f601600dc6cceedd68e908b6 (commit)
       via  c3bd716ffc20cada32e8a18a209638b578d47f5e (commit)
       via  21c32dca764039afd3517954f6dd0a23d0c9e16c (commit)
       via  73fbdc65a1f3da143e604d95443dc11ee86af710 (commit)
       via  3332534318eb10a77e441307d28336996325558c (commit)
       via  29d2c474f5a397017455da82e6dbc72629186359 (commit)
       via  152f3f4b3342ae16df5ae0640896b8cea008c893 (commit)
       via  be4da58857ee4a26b7e58893211ea4f54922e8fd (commit)
       via  5b81daba91b035ce98fb7be4970fc2be0183f6ea (commit)
       via  cb2ce89305264543a4014d98bacb26800d92d394 (commit)
       via  ab313b35e505ccab9c23acbe82087b6c22a2088d (commit)
       via  dc2c33e4562e0af441a9c8acff0400a78cb45d98 (commit)
       via  214a5cbea656f3ffc1e7e525627c56849347c709 (commit)
       via  8e2daf1532e587fee8d14aab1baad40e628065e2 (commit)
       via  8903bd8a37f905f5d77d2e04219e1a1eddaa6133 (commit)
       via  3f02ce1e3df15731872befd2e711854b2b259745 (commit)
       via  1825f487ae903438eb2a9b6f461337d8ec1b06c0 (commit)
       via  ad54d15bdb71b05010ece1ef32ab22ab46794166 (commit)
       via  2042b506c85274b4c652fbc9291be65b2550104d (commit)
       via  56122977c04496325ca9d83231e7751ab94d6b14 (commit)
       via  cda37efbffb63e2634ea0600fdad2de6a8f9f3ad (commit)
       via  6a0ee02c22b78b6d49fda99b6f2f9154d0cb0a47 (commit)
       via  63901aeccf923abaca02c8a58b1141d3859d7247 (commit)
       via  ceb13a13822b28d8e1cdc2e02975bb6569d3d8e6 (commit)
       via  238eb706f902da8afef1d5e3c9fdfeecf688bac3 (commit)
       via  81491aa0968e5bcab0388914f909ccb12e084e32 (commit)
       via  e6e4150110bcee66adfadb9f126eb3bb1fd7c054 (commit)
       via  44f0e208eb32a7ac469cef2b6760f72534abac09 (commit)
       via  7778b9128f46b1bb7af965ae3821f63b05c627ef (commit)
       via  f83d391c5aa3304faf8ef1384a6c64f082653260 (commit)
       via  13446e05a363db17f0140b1450fc7df509d2ca37 (commit)
       via  5cf82909a7047cee471ee40cfe623250c258d76e (commit)
       via  ee1d42d6c1a05725868a8ea4855eaa81cbbda635 (commit)
       via  b4eb24524b5838141bd3c3998afc81f65302eca1 (commit)
       via  8761a91b2614304963bfe211ff8c682c7eba3b51 (commit)
       via  0ed69edaab683b9290a05962faa50d970facfa84 (commit)
       via  82432e10143669d4936848d77e2a7b78c62c26e0 (commit)
       via  ec328aa512ee09ab326d59b417836bb950083230 (commit)
       via  33b906abfa7721128791883875d90394f8e2e7c2 (commit)
       via  e7e11af42dca6482302833c4106974176aa66052 (commit)
       via  6792b55e08ec49f40916d4f8d7168d0047b9e928 (commit)
       via  8e5cb9a54e156ba24a439aefa7b35e53b4cb0374 (commit)
       via  ab9f654ca3f1222f63533aabfffc223ae1fc69dc (commit)
       via  3e50a591d9f0c0b22bbf93d09eef7d2286f3716c (commit)
       via  63160fc99678fd85311ad5c89494164e6f8439d7 (commit)
       via  2c70385689542a4c4cbe160601e54f9f18a4c4c5 (commit)
       via  4970191fa557c4769697fb41db06f2dcb5f7de2e (commit)
       via  54fbadc0c35f3dad663e2e175ea8d60546ffd710 (commit)
       via  a38d71189b5895bae7bb476aa34d8a7ba75376d6 (commit)
       via  a280ab8e81498c6049dca79f64bd0cc02ead01ab (commit)
       via  e1a1babdad9d14b935cbddc7d63fb76a580a16c5 (commit)
       via  b8364fa775112f036a80e799b70311f69baac131 (commit)
       via  2a410bd1c373d377c221476ccda2156b595e6d6b (commit)
       via  de62696504f96816faf2165132d907924e904649 (commit)
       via  22f72c4868a1fd55d8d9b1cbabe6e01ed5a6f072 (commit)
       via  2e7c439dec066ac8a597d0b85193b8d3ec8e09eb (commit)
       via  04b865dc2ede2b8ca8c60f0487a179eb97895fee (commit)
       via  f93ab3a0b8039a1667a666f013cca50b03d67f9b (commit)
       via  164e3873cf41d01a9a67396575dceef7489cee64 (commit)
       via  824eacee59ea8c5625b9fad5b6eb0861b4d0f691 (commit)
       via  385b97d3ac9c5c57a610d2e5b358ed888008ae31 (commit)
       via  a33f989b4ed69c9f8f905360444e3d57a83a0cb6 (commit)
       via  bb22a41815facfaa3de621aad5d055eb8e477082 (commit)
       via  14b2a8e4244a29208ad430167860a0f01b20f215 (commit)
       via  a8d21e9ef0ae63c650e2ffa14edf5b1cd22be5cb (commit)
       via  f95675e12d3ab100ce11257a09663c68df7784ee (commit)
       via  5bff081c10ab4debfd3416739fda93b6c275496b (commit)
       via  47e3f47487396414ac936e2fd37b870fe08a55d0 (commit)
       via  5ec331ef744a495ad35469928564a43a09391562 (commit)
       via  c596f180a130c85faf8942d161be9ecf71c6791c (commit)
       via  ad692897c12247d1f8fe4e6a2f6e6d9f22703170 (commit)
       via  fd5866f6aad7336f7a2b59578b9deef81383ea3b (commit)
       via  fb1eb2f94a62813ab3daa34da59c035717ffb9da (commit)
       via  51ac9db596ea9f0affa9f7db25bb179cf70beac4 (commit)
       via  dc4ccb6f7f07e41616fd42625226229f0795d198 (commit)
       via  b13a7d03c29e28bc0b38ce166ad1907403709d36 (commit)
       via  be74b5b71481afe03aad074ad1951dcae152b97a (commit)
       via  70175d8d62178279d0fecce661b26a4f5b209fea (commit)
       via  cf02c44dfd2876867ebd6baa3ce19cf41ff978e1 (commit)
       via  7cee18263c234073bfe88cbc962b1fc68509df82 (commit)
       via  0b4fa56e07639ed28cbbcd890868e01a82a5e45c (commit)
       via  364620bf636a0a961892c9274616f8d5ad85eecc (commit)
       via  65365aa856e5a258329dc350b02bbb51f84b4c16 (commit)
       via  24865428034f44d9fffe6b2d9a318e1bd507c63a (commit)
       via  890f750a3b053532a4b839a2dd6243076de12031 (commit)
       via  2a81e61405262fd0299a5079b29ce417a8edba0c (commit)
       via  7d10623d3b153d6c15406b203fb1cf111c53f1dd (commit)
       via  e6a1c5cbcb9cee5a08d814669419936ee151b19d (commit)
       via  6f6ffbeb5a6bce5a1274478256937867f337a037 (commit)
       via  698dc1d7a269917df6237b80ccbb00733bea52cf (commit)
       via  f0a6222e30215d4b8ecb8124fe5ad4c3f321f8c4 (commit)
       via  8d6a48df549cce08ba1f05350f592be52352c7e8 (commit)
       via  f23f598e28ad39dac7ae87cdc400d2f6b27dc403 (commit)
       via  899277ae529c2b743d22093fcc1a9e46aff4422a (commit)
      from  625ae1b6b5d4a9f805d97640ef99c897279324f7 (commit)

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

- Log -----------------------------------------------------------------
commit e1c9923c858f265680f03f0fe5c48c0cc0bb243c
Merge: 625ae1b 546053a
Author: Stan Cox <scox@redhat.com>
Date:   Thu Aug 22 15:25:25 2019 -0400

    Merge branch 'master' into scox/strace

commit 546053acfa1518063ed0ea94c3e35c05089c32fc
Author: Dennis Zhang <dennis.zhang@arm.com>
Date:   Tue Aug 20 17:13:29 2019 +0100

    Adds support for following CPUs to the ARM and Aarch64 assemblers: Cortex-A77, Cortex-A76AE, Cortex-A34, Cortex-A65, and Cortex-A65AE.
    
    Related specifications can be found at
    https://developer.arm.com/ip-products/processors.
    
    gas	* NEWS: Mention the Arm and AArch64 new processors.
    	* config/tc-aarch64.c: New entries for Cortex-A34, Cortex-A65,
    	Cortex-A77, cortex-A65AE, and Cortex-A76AE.
    	* doc/c-aarch64.texi: Document new CPUs.
    	* testsuite/gas/aarch64/cpu-cortex-a34.d: New test.
    	* testsuite/gas/aarch64/cpu-cortex-a65.d: New test.
    	* testsuite/gas/aarch64/cpu-cortex-a65ae.d: New test.
    	* testsuite/gas/aarch64/cpu-cortex-a76ae.d: New test.
    	* testsuite/gas/aarch64/cpu-cortex-a77.d: New test.
    	* testsuite/gas/aarch64/nop-asm.s: New test.
    
    bfd	* cpu-aarch64.c: New entries for Cortex-A34, Cortex-A65,
    	 Cortex-A77, cortex-A65AE, and Cortex-A76AE.

commit b4e87f2c1eee99dee805e3828514f8afa162f9ba
Author: Tamar Christina <tamar.christina@arm.com>
Date:   Tue Aug 20 16:34:26 2019 +0100

    Arm: Fix performance issue with thumb-2 tailcalls
    
    We currently use a padding NOP after a Thumb to Arm interworking veneer (BX pc).
    The NOP is never executed but may result in a performance penalty on some cores.
    
    For this reason this patch changes the NOPs after Thumb to Arm veneers into B .-2
    and adds a note to this in the source code for future reference.
    
    bfd/ChangeLog:
    
    	* elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub,
    	elf32_arm_stub_long_branch_v4t_thumb_thumb,
    	elf32_arm_stub_long_branch_v4t_thumb_arm,
    	elf32_arm_stub_short_branch_v4t_thumb_arm,
    	elf32_arm_stub_long_branch_v4t_thumb_arm_pic,
    	elf32_arm_stub_long_branch_v4t_thumb_thumb_pic,
    	elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to
    	previous instruction.
    
    ld/ChangeLog:
    
    	* testsuite/ld-arm/cortex-a8-fix-b-plt.d: Update Testcase.
    	* testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d: Likewise.
    	* testsuite/ld-arm/cortex-a8-fix-bcc-plt.d: Likewise.
    	* testsuite/ld-arm/farcall-cond-thumb-arm.d: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app.d: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.d: Likewise.
    	* testsuite/ld-arm/farcall-mixed-lib-v4t.d: Likewise.
    	* testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d: Likewise.
    	* testsuite/ld-arm/farcall-thumb-arm-short.d: Likewise.
    	* testsuite/ld-arm/farcall-thumb-arm.d: Likewise.
    	* testsuite/ld-arm/farcall-thumb-thumb-pic-veneer.d: Likewise.
    	* testsuite/ld-arm/farcall-thumb-thumb.d: Likewise.
    	* testsuite/ld-arm/fix-arm1176-on.d: Likewise.
    	* testsuite/ld-arm/ifunc-10.dd: Likewise.
    	* testsuite/ld-arm/ifunc-2.dd: Likewise.
    	* testsuite/ld-arm/ifunc-4.dd: Likewise.
    	* testsuite/ld-arm/ifunc-6.dd: Likewise.
    	* testsuite/ld-arm/ifunc-8.dd: Likewise.
    	* testsuite/ld-arm/jump-reloc-veneers-long.d: Likewise.
    	* testsuite/ld-arm/mixed-app.d: Likewise.
    	* testsuite/ld-arm/thumb2-b-interwork.d: Likewise.
    	* testsuite/ld-arm/tls-longplt.d: Likewise.
    	* testsuite/ld-arm/tls-thumb1.d: Likewise.

commit d7a11d1383a2d0cdffc8c08e46b0cf5a66b3ce28
Author: Tom de Vries <tdevries@suse.de>
Date:   Tue Aug 20 17:18:09 2019 +0200

    [gdb/testsuite] Clean up stale exec in gdb_compile_pascal
    
    When running a pascal test with the stabs target board:
    ...
    $ test=gdb.pascal/case-insensitive-symbols.exp
    $ cd build/gdb/testsuite
    $ make check RUNTESTFLAGS="$test --target_board=stabs"
    ...
    we get:
    ...
    nr of untested testcases         1
    nr of unsupported tests          1
    ...
    due to:
    ...
    Error: Illegal parameter: -gstabs+^M
    Error: /usr/bin/ppcx64 returned an error exitcode^M
    ...
    
    OTOH, when running the same pascal test without the stabs target board:
    ...
    $ make check RUNTESTFLAGS="$test"
    ...
    we get:
    ...
    nr of expected passes            20
    ...
    
    But when subsequently again running with the stabs target board:
    ...
    $ make check RUNTESTFLAGS="$test --target_board=stabs"
    ...
    we now get:
    ...
    nr of expected passes            20
    ...
    
    The problem is that gdb_compile_pascal determines success based on existence
    of the exec after compilation:
    ...
        if ![file exists $destfile] {
            unsupported "Pascal compilation failed: $result"
            return "Pascal compilation failed."
        }
    ...
    without removing the exec before compilation, which allows a stale exec to
    make it seem as if compilation has succeeded.
    
    Fix this by removing the stale exec before compilation.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-20  Tom de Vries  <tdevries@suse.de>
    
    	* lib/pascal.exp (gdb_compile_pascal): Remove $destfile before
    	compilation.

commit aedbe3bb9f03be12ad714adca1fefc391317bd94
Author: Conrad Meyer <cem@FreeBSD.org>
Date:   Mon Aug 19 00:02:19 2019 -0700

    Improve remote attach round-trips without btrace
    
    For remotes which do not support btrace at all, we can save several
    round trips for each thread.  This is especially significant when your
    remote is a kernel with 100s or 1000s of threads and latency is
    intercontinental.
    
    Previously, with target, remote, and infrun debugging enabled, one
    might see:
    
        Sending packet: $Hg18aee#43...Ack
        Packet received: OK
        Sending packet: $Hg186f7#eb...Ack
        Packet received: OK
        remote:target_xfer_partial (24, , 0x805454000, 0x0, 0x0, 4096) = -1, 0
    
    repeated for all non-exited threads.
    
    Afterwards, if the remote does not specify 'qXfer:btrace-conf:read+'
    in qSupported stub features, these unnecessary thread switches are
    avoided.
    
    gdb/ChangeLog:
    
    	* remote.c (remote_target::remote_btrace_maybe_reopen): Avoid
    	unnecessary thread walk if remote doesn't support the packet.

commit ac533243beac35f158341d53edab53031218bcde
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Aug 20 00:00:27 2019 +0000

    Automatic date update in version.in

commit 52031738190ca1067bc6e40f662f4effcd428628
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date:   Tue Aug 13 05:32:20 2019 +0000

    MIPS/gas: Fix misaligned address errors to disregard ISA mode bit
    
    gas/
    	* config/tc-mips.c (fix_bad_misaligned_address): New function.
    	(fix_validate_branch): Call fix_bad_misaligned address_to
    	calculate the target address.
    	(md_apply_fix): Likewise.
    	(md_convert_frag): Update misaligned address calculation to
    	disregard ISA mode bit.

commit 770c015139f038bd7b7abb5c6d84eb39d36d3080
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date:   Mon Aug 5 23:38:46 2019 +0000

    MIPS/gas: Retain ISA mode bit for labels with .insn annotation
    
    gas/
    	* config/tc-mips.c (mips_move_labels): Retain ISA mode bit
    	when moving labels in text segments.
    	(mips_align): Indicate text mode when aligning labels in
    	text segments.
    	* gas/testsuite/gas/mips/insn-isa-mode.d: New test.
    	* gas/testsuite/gas/mips/insn-isa-mode.s: New test source.
    	* gas/testsuite/gas/mips/mips.exp: Run the new test.

commit 7ce8f214f1af1dd593ad42665da416ac46033f97
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Aug 19 12:46:03 2019 -0600

    Fix indentation in value_has_field
    
    value_has_field had a mis-indented line.  This fixes it.
    
    gdb/ChangeLog
    2019-08-19  Tom Tromey  <tromey@adacore.com>
    
    	* python/py-value.c (value_has_field): Fix indentation.

commit f21c2bd7b7ef2a9c47e5713cabaa784bcf5c2bee
Author: Tom Tromey <tromey@adacore.com>
Date:   Tue Aug 13 11:39:58 2019 -0600

    Fix Fortran regression with variables in nested functions
    
    Sergio pointed out that commit commit aa3b6533 ("Allow nested function
    displays") regressed a few gdb.fortran tests.  I was able to reproduce
    these failures with gcc head.
    
    The bug is that some spots calling contained_in will in fact do the
    wrong thing if nested functions are considered as contained.  In the
    particular case of the Fortran regression, it was the call in
    block_innermost_frame, being called from get_hosting_frame -- in this
    case, the caller is specifically trying to avoid the nested case.
    
    This patch fixes the problem by adding an "allow_nested" parameter to
    contained_in, essentially reverting the change for most callers.
    
    gdb/ChangeLog
    2019-08-19  Tom Tromey  <tromey@adacore.com>
    
    	* printcmd.c (do_one_display, info_display_command): Update.
    	* block.h (contained_in): Return bool.  Add allow_nested
    	parameter.
    	* block.c (contained_in): Return bool.  Add allow_nested
    	parameter.

commit d806ea2d0ef362fcddd2c1659f537b68aa114203
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 24 16:02:47 2019 -0600

    Add Rust support to source highlighting
    
    Currently, no release of GNU Source Highlight supports Rust.  However,
    I've checked in a patch to do so there, and I plan to make a new
    release sometime this summer.
    
    This patch prepares gdb for that by adding support for Rust to the
    source highlighting code.
    
    Because Source Highlight will throw an exception if the language is
    unrecognized, this also changes gdb to ignore exceptions here.  This
    will cause gdb to fall back to un-highlighted source text.
    
    This updates gdb's configure script to reject the combination of
    Source Highlight and -static-libstdc++.  This is done because it's not
    possible to use -static-libstdc++ and then catch exceptions from a
    shared library.
    
    Tested with the current and development versions of Source Highlight.
    
    gdb/ChangeLog
    2019-08-19  Tom Tromey  <tom@tromey.com>
    
    	* configure: Rebuild.
    	* configure.ac: Disallow the combination of -static-libstdc++ and
    	source highlight.
    	* source-cache.c (get_language_name): Handle rust.
    	(source_cache::get_source_lines): Ignore highlighting exceptions.

commit c1a5d03a89a455d79f025c66dce83342de4d26ce
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 26 15:42:25 2019 -0600

    Add --with-static-standard-libraries to the top level
    
    gdb should normally not be linked with -static-libstdc++.  Currently
    this has not caused problems, but it's incompatible with catching an
    exception thrown from a shared library -- and a subsequent patch
    changes gdb to do just this.
    
    This patch adds a new --with-static-standard-libraries flag to the
    top-level configure.  It defaults to "auto", which means enabled if
    gcc is being built, and disabled otherwise.
    
    ChangeLog
    2019-08-19  Tom Tromey  <tom@tromey.com>
    
    	* configure: Rebuild.
    	* configure.ac: Add --with-static-standard-libraries.

commit 3eb185c97d8170b3f3a2b5edab4fbbd56f53f6f7
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Aug 15 07:33:20 2019 -0600

    Fix N^2 behavior in _bfd_dwarf2_find_symbol_bias
    
    A customer reported a case where addr2line was very slow.  We tracked
    this down to some N^2 behavior in _bfd_dwarf2_find_symbol_bias in the
    unusual case where no function can be found.
    
    This patch fixes the bug, and reduces the runtime for a particular
    request from 127 seconds to 1 second.
    
    bfd/ChangeLog
    2019-08-19  Tom Tromey  <tromey@adacore.com>
    
    	* dwarf2.c (_bfd_dwarf2_find_symbol_bias): Create hash table
    	holding symbols.

commit d292364e95fc9c8230b678d9026f285850074c02
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Aug 19 20:24:35 2019 +0930

    PR24898, An out-of-bounds read occured in display_data
    
    Given 32-bit pointers and a 64-bit bfd_size_type, it is relatively
    easy to construct a value of augmentation_data_len (eg. 0x100000000)
    that won't fail pointer checks but will print without bounds.
    
    	PR 24898
    	* dwarf.c (display_debug_frames): Use the read_cie check and error
    	for augmentation data length.

commit 903b777ddeb4c11a7de12cab59124e777614edec
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Aug 19 17:34:03 2019 +0930

    PowerPC64 ha/lo insn checks
    
    These are done in ppc64_elf_edit_toc, which now also garbage collects
    unused GOT entries.  The checks for legitimate instructions weren't
    being done for the GOT relocs, unless the file also happened to have a
    toc section.
    
    	* elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename has_gotrel
    	to has_optrel.
    	(struct _ppc64_elf_section_data): Likewise.
    	(ppc64_elf_check_relocs): Set has_optrel for more relocs.
    	(ppc64_elf_edit_toc): Do ha/lo insn checks in GOT loop rather
    	than TOC loop.  Check PLT16 insns too.

commit 72c03e30ae783a5f38a8c124588a4536ae06e6ef
Author: Barnaby Wilks <Barnaby.Wilks@arm.com>
Date:   Thu Aug 15 16:21:59 2019 +0000

    Float16: Fix test failures for non ELF targets
    
    The tests were failing due to md_atof trying to do word-wise endian
    switching on the float16 (for little-endian targets sometimes
    multi word values have their word order changed).
    However since a float16 is only 1 word wide, it would end up writing
    incorrect data, as you cannot switch the word order of just one word.
    
    	* config/tc-arm.c (md_atof): Add precision check.  Formatting.

commit 2c115c4f3cb57cfed7a1be5bbccf0f1bc6f7fdbc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Aug 19 00:00:34 2019 +0000

    Automatic date update in version.in

commit b271c8567acd7b329fe6b37a3091613c634470c7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Aug 18 00:01:39 2019 +0000

    Automatic date update in version.in

commit d367307b93e5589245d1f2c8bbcfe709404540a8
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Aug 17 18:01:05 2019 +0930

    PR24911, Heap overflow issue in qsort_r, dwarf.c
    
    The actual args to this function are "pointers to pointers to
    debug_info".
    
    	PR 24911
    	* dwarf.c (comp_addr_base): Dereference args.

commit 98ac8787e9bea0fef101b9b63c5dd06e653a46b3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Aug 17 00:00:22 2019 +0000

    Automatic date update in version.in

commit 34dafe9f39e61de970c36ed636daa58e1caa386c
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Aug 16 23:48:28 2019 +0200

    [gdb/testsuite] Fix compare-sections.exp with -fPIE/-pie
    
    When running gdb.base/compare-sections.exp with target board -fPIE/-pie, we
    get:
    ...
    FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections -r
    ...
    
    The test expects the read-only sections to have the same contents as in the
    file:
    ...
        # Assume startup code doesn't change read-only sections.
        compare_sections "-r"
    ...
    but that's not the case for PIE executables.
    
    Fix this by allowing mismatched read-only sections for PIE executables.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-16  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.base/compare-sections.exp ("after run to main"): Allow
    	mismatched read-only sections for PIE executables.

commit 81e8046dc0daaf56fb10b11931fc77600a4b5920
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Aug 16 14:25:15 2019 -0700

    x86-64: Move PIC check for PC-relative relocations back
    
    commit 83924b3846361f2f76f9a6e7b5afa01c0eebbd4f
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Tue Feb 5 18:45:23 2019 -0800
    
        x86-64: Restore PIC check for PCREL reloc against protected symbol
    
    moved PIC check for PC-relative relocations to elf_x86_64_check_relocs.
    Since linker defined symbols may not be processed at the time, we need
    to move the check back to elf_x86_64_relocate_section.
    
    bfd/
    
    	PR ld/24905
    	* elf64-x86-64.c (elf_x86_64_check_relocs): Move PIC check for
    	PC-relative relocations back to ...
    	(elf_x86_64_relocate_section): Here.
    
    ld/
    
    	PR ld/24905
    	* testsuite/ld-x86-64/pr24905-x32.d: New file.
    	* testsuite/ld-x86-64/pr24905.d: Likewise.
    	* testsuite/ld-x86-64/pr24905.s: Likewise.
    	* testsuite/ld-x86-64/pr24905.t: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run pr24905 and pr24905-x32.

commit 398fdd6086a290748afcce0efabaebb4e363278c
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 12 18:18:10 2019 -0600

    Remove the TUI execution info window
    
    The TUI execution info window is unusual in that it is always linked
    to a source or disassembly window.  Even updates of its content are
    handled by the source window, so it really has no life of its own.
    
    This patch removes this window entirely and puts its functionality
    directly into the source window.  This simplifies the code somewhat.
    
    This is a user-visible change, because now the box around the source
    (or disassembly) window encloses the execution info as well.  I
    consider this an improvement as well, though.
    
    Note that this patch caused ncurses to start emitting the "CSI Z"
    sequence, so I've added this to the test suite terminal
    implementation.
    
    gdb/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.h (enum tui_win_type) <EXEC_INFO_WIN>: Remove.
    	* tui/tui-winsource.h (struct tui_exec_info_window): Remove.
    	(struct tui_source_window_base) <make_visible, refresh_window,
    	resize>: Remove methods.
    	<execution_info>: Remove field.
    	* tui/tui-winsource.c (tui_source_window_base::do_erase_source_content)
    	(tui_show_source_line, tui_source_window_base)
    	(~tui_source_window_base): Update.
    	(tui_source_window_base::resize)
    	(tui_source_window_base::make_visible)
    	(tui_source_window_base::refresh_window): Remove.
    	(tui_source_window_base::update_exec_info): Update.
    	* tui/tui-source.c (tui_source_window::set_contents): Update.
    	* tui/tui-disasm.c (tui_disasm_window::set_contents): Update.
    
    gdb/testsuite/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* lib/tuiterm.exp (_csi_Z): New proc.
    	* gdb.tui/basic.exp: Update window positions.
    	* gdb.tui/empty.exp: Update window positions.

commit e699d33164a59dcfe7ad4a5154e5c6c811c1f958
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 11 23:24:03 2019 -0600

    Remove useless assignment from tui_remove_hooks
    
    tui_remove_hooks clears deprecated_query_hook, but nothing in the TUI
    ever sets it; so remove the assignment.
    
    gdb/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-hooks.c (tui_remove_hooks): Don't set
    	deprecated_query_hook.

commit bb01dbfc041dccab2f2a2818068158f61b4c0fe2
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 11 20:00:07 2019 -0600

    Change tui_show_symtab_source to be a method
    
    This changes tui_show_symtab_source to be a method on
    tui_source_window.
    
    gdb/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_update_source_windows_with_addr)
    	(tui_update_source_windows_with_line): Update.
    	* tui/tui-source.h (struct tui_source_window)
    	<show_symtab_source>: Declare.
    	(tui_show_symtab_source): Don't declare.
    	* tui/tui-source.c (tui_show_symtab_source): Rename from
    	tui_show_symtab_source.

commit 81c82c4b9005acf7865d8a19ee651968e059a848
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 11 18:42:20 2019 -0600

    Introduce tui_source_window_base::set_contents method
    
    This introduces the tui_source_window_base::set_contents method and
    implements it in the subclasses.  This removes a check of the window
    type.
    
    gdb/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<set_contents>: Declare.
    	* tui/tui-winsource.c
    	(tui_source_window_base::update_source_window_as_is): Update.
    	* tui/tui-source.h (struct tui_source_window) <set_contents>:
    	Declare.
    	(tui_set_source_content): Don't declare.
    	* tui/tui-source.c (tui_source_window::set_contents): Rename from
    	tui_set_source_content.
    	* tui/tui-disasm.h (struct tui_disasm_window) <set_contents>:
    	Declare.
    	(tui_set_disassem_content): Don't declare.
    	* tui/tui-disasm.c (tui_disasm_window::set_contents): Rename from
    	tui_set_disassem_content.

commit 2ddaf614439b50e6019c5218f2fbfc0d14194e96
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 11 18:27:02 2019 -0600

    Change tui_update_breakpoint_info to be a method
    
    This changes tui_update_breakpoint_info to be a method on
    tui_source_window_base.
    
    gdb/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<update_breakpoint_info>: Declare.
    	(tui_update_breakpoint_info): Don't declare.
    	* tui/tui-winsource.c (tui_source_window_base::update_source_window_as_is)
    	(tui_update_all_breakpoint_info): Update.
    	(tui_source_window_base::update_breakpoint_info): Rename from
    	tui_update_breakpoint_info.
    	(tui_source_window_base::update_exec_info): Update.

commit 017f982820d408fb49657b9b9b8f45a9616c5f21
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 11 18:24:07 2019 -0600

    Change tui_update_source_window to be a method
    
    This changes tui_update_source_window to be a method on
    tui_source_window_base.
    
    gdb/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<update_source_window>: Declare.
    	(tui_update_source_window): Don't declare.
    	* tui/tui-winsource.c
    	(tui_source_window_base::update_source_window): Rename from
    	tui_update_source_window.
    	(tui_source_window_base::rerender): Update.
    	* tui/tui-source.c (tui_source_window::maybe_update): Update.
    	* tui/tui-disasm.c (tui_show_disassem)
    	(tui_show_disassem_and_update_source)
    	(tui_disasm_window::maybe_update): Update.

commit ed8358e9491d5ae0a8ee021c162a85867af1146a
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 11 18:22:06 2019 -0600

    Change tui_update_source_window_as_is to be a method
    
    This changes tui_update_source_window_as_is to be a method on
    tui_source_window_base.
    
    gdb/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<update_source_window_as_is>: Declare.
    	(tui_update_source_window_as_is): Don't declare.
    	* tui/tui-winsource.c (tui_update_source_window): Update
    	(tui_source_window_base::update_source_window_as_is): Rename from
    	tui_update_source_window_as_is.
    	(tui_source_window_base::refill): Update.
    	* tui/tui-source.c (tui_show_symtab_source): Update.
    	* tui/tui-disasm.c (tui_disasm_window::do_scroll_vertical):
    	Update.

commit 20149b6b207ac8c2bcde6f272607109f566168a9
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 11 18:19:28 2019 -0600

    Remove "noerror" parameter from some TUI functions
    
    A few TUI functions take a "noerror" parameter.  This is only checked
    in one spot: in tui_set_source_content, if noerror is false, and if an
    error occurs, then the function will call print_sys_errmsg.
    
    This seems misguided to me, so this patch removes that code and this
    parameter.
    
    gdb/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_update_source_window)
    	(tui_update_source_window_as_is): Remove "noerror" parameter.
    	* tui/tui-winsource.c (tui_update_source_window)
    	(tui_update_source_window_as_is): Remove "noerror" parameter.
    	(tui_update_source_windows_with_addr)
    	(tui_update_source_windows_with_line)
    	(tui_source_window_base::rerender)
    	(tui_source_window_base::refill): Update.
    	* tui/tui-source.h (tui_set_source_content)
    	(tui_show_symtab_source): Remove "noerror" parameter.
    	* tui/tui-source.c (tui_set_source_content): Remove "noerror"
    	parameter.
    	(tui_show_symtab_source): Likewise.
    	(tui_source_window::maybe_update): Update.
    	* tui/tui-disasm.c (tui_show_disassem)
    	(tui_show_disassem_and_update_source)
    	(tui_disasm_window::do_scroll_vertical)
    	(tui_disasm_window::maybe_update): Update.

commit 2d83e710a14c62cb6a9501c84fc46062f817428d
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 11 18:03:45 2019 -0600

    Remove separate visibility flag
    
    TUI windows keep track of their visibility in a boolean field.
    However, this is not needed, because a window is visible if and only
    if it has an underlying curses handle.  So, we can remove this
    separate field.
    
    gdb/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.c (tui_is_window_visible): Update.
    	* tui/tui-wingeneral.c (tui_make_window)
    	(tui_gen_win_info::make_visible, tui_refresh_all): Update.
    	* tui/tui-win.c (window_name_completer, tui_refresh_all_win)
    	(tui_set_focus_command, tui_all_windows_info, update_tab_width)
    	(tui_set_win_height_command, parse_scrolling_args): Update.
    	* tui/tui-source.c (tui_source_window::style_changed): Update.
    	* tui/tui-regs.c (tui_show_registers)
    	(tui_data_window::first_data_item_displayed)
    	(tui_data_window::delete_data_content_windows)
    	(tui_check_register_values, tui_reg_command): Update.
    	* tui/tui-disasm.c (tui_show_disassem): Update.
    	* tui/tui-data.h (struct tui_gen_win_info) <is_visible>: New
    	method.
    	<is_visible>: Remove field.
    	* tui/tui-data.c (tui_next_win, tui_prev_win)
    	(tui_delete_invisible_windows): Update.

commit d4ab829a2477d454bd38544f1b88a043ec58581c
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 9 21:22:38 2019 -0600

    Remove m_has_locator
    
    The previous patch removed the only use of m_has_locator, so this
    member can now be removed.
    
    gdb/ChangeLog
    2019-08-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<m_has_locator>: Remove.
    	* tui/tui-layout.c (show_source_disasm_command, show_data)
    	(show_source_or_disasm_and_command): Update.

commit b4c555cfc48689d45481effff23c9017a4f3557f
Author: Martin Liska <mliska@suse.cz>
Date:   Fri Aug 16 13:14:36 2019 +0200

    Fix detection of missing plugin for LTO objects.
    
    2019-08-16  Martin Liska  <mliska@suse.cz>
    
    	PR ld/24912
    	* elflink.c: Report error only for not relocatable.
    	* linker.c (_bfd_generic_link_add_one_symbol): Do not handle
    	here lto_slim_object as it's handled in caller.
    2019-08-16  Martin Liska  <mliska@suse.cz>
    
    	PR ld/24912
    	* object.cc (big_endian>::do_layout): Do not report error,
    	but only set a flag.
    	(big_endian>::do_add_symbols): Report error only for when
    	relocatable.

commit aa7ca1bb443e8c2baad17392f395d1556fecfafa
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Aug 16 10:19:18 2019 +0100

    Move [PAC] into a new MI field addr_flags
    
    Add a new print_pc which prints both the PC and a new field addr_flags.
    Call this wherever the PC is printed in stack.c.
    
    Add a new gdbarch method get_pc_address_flags to obtain the addr_flag
    contents. By default returns an empty string, on AArch64 this returns
    PAC if the address has been masked in the frame.
    
    Document this in the manual and NEWS file.
    
    gdb/ChangeLog:
    
    	* NEWS (Other MI changes): New subsection.
    	* aarch64-tdep.c (aarch64_get_pc_address_flags): New function.
    	(aarch64_gdbarch_init): Add aarch64_get_pc_address_flags.
    	* arch-utils.c (default_get_pc_address_flags): New function.
    	* arch-utils.h (default_get_pc_address_flags): New declaration.
    	* gdbarch.sh: Add get_pc_address_flags.
    	* gdbarch.c: Regenerate.
    	* gdbarch.h: Likewise.
    	* stack.c (print_pc): New function.
    	(print_frame_info) (print_frame): Call print_pc.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (AArch64 Pointer Authentication)
    	(GDB/MI Breakpoint Information) (Frame Information): Document
    	addr_field.

commit fdfc8cf7f04e2f4d24ec9fff331ebd71a2e768a3
Author: Christophe Lyon <christophe.lyon@linaro.org>
Date:   Fri Aug 16 08:26:45 2019 +0000

    [ld] [arm] Add support for noinit section
    
    2019-08-16  Christophe Lyon  <christophe.lyon@linaro.org>
    
    	* emulparams/armelf.sh (OTHER_SECTIONS): Add support for noinit
    	section.
    
    Change-Id: Ib293f28cc5f21e9e9a13abf4d4e37f0a0eec41c0

commit 0b8b76098ff3d3dcd0c621f2e45cc0b4e7211d6a
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 16 15:17:23 2019 +0930

    PR24909, Uninitialized use on stack in readelf
    
    	PR 24909
    	PR 23499
    	* readelf.c (get_symbol_version_string): Set sym_info earlier.

commit 7df6aecc97b96843da080d54414052b1c954ddca
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 16 13:20:28 2019 +0930

    PowerPC gcc bootstrap fail with bss-plt
    
    git commit 3e04d7655b introduced a bug by sizing output sections
    earlier in ppc_before_allocation.  That meant PLT (and GOT) sizes were
    not included when calculating total executable section sizes.
    
    	* emultempl/ppc32elf.em (ppc_before_allocation): Force running
    	prelim_size_sections before deciding whether branch trampolines
    	might be needed.

commit 63f6e94fb3cc5b6a2cfb8c28686f150e7226ab7e
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 14 16:31:05 2019 +0930

    Aligned vs. unaligned ppc32 relocs
    
    Given R_PPC_ADDR32 or R_PPC_UADDR32 relocs, this patch generates
    R_PPC_ADDR32 or R_PPC_UADDR32 dynamic relocs from either type
    depending on whether r_offset is 4-byte aligned, and similarly for
    R_PPC_ADDR16/R_PPC_UADDR16.
    
    	* elf32-ppc.c (ppc_elf_relocate_section): Optimize unaligned relocs.

commit d8f9e51c361dfb53de3eca8d84f8938380af60ff
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Thu Aug 15 18:15:16 2019 -0700

    Fix paste-o in examine-backward.exp.
    
    This patch fixes a paste-o that was introduced in commit
    c8ad9b9a31aa3e6039567fc1f152dd454c946d5f.  Previously the regexp for
    the "examine 3 bytes backward from ${address_zero}" test correctly
    matched 3 "${byte}" patterns, but in that commit the 6-byte regexp
    from the previous test was mistakenly repeated here instead.
    
    2019-08-15  Sandra Loosemore  <sandra@codesourcery.com>
    
    	gdb/testsuite/
    	* gdb.base/examine-backward.exp: Correct regexp for
    	"examine 3 bytes backward from ${address_zero}".

commit 33394263571f08a935c0a030dbde22a04eee7d70
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Aug 16 00:00:20 2019 +0000

    Automatic date update in version.in

commit 6eac171f0624303d944ff1a1ae4d0e3b0a63c800
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Aug 16 00:25:14 2019 +0200

    [gdb] Make maint info sections print relocated addresses
    
    When running gdb.base/compare-sections.exp with -fPIE/-pie, we get:
    ...
    print /u *(unsigned char *) 0x00000238^M
    Cannot access memory at address 0x238^M
    (gdb) FAIL: gdb.base/compare-sections.exp: read-only: get value of read-only section
    ...
    
    The problem is that that "maint info sections" prints an unrelocated address:
    ...
     [0]     0x00000238->0x00000254 at 0x00000238: .interp ALLOC LOAD READONLY \
                                                           DATA HAS_CONTENTS
    ...
    while the test expects a relocated address.
    
    Given that the documentation states that the command displays "the section
    information displayed by info files", and that info files shows relocated
    addresses:
    ...
            0x0000555555554238 - 0x0000555555554254 is .interp
    ...
    fix this by showing relocated addresses for maint info sections as
    well.
    
    Build and tested on x86_64-linux.
    
    gdb/ChangeLog:
    
    2019-08-16  Tom de Vries  <tdevries@suse.de>
    
    	* maint.c (maintenance_info_sections): Also handle !ALLOBJ case using
    	print_objfile_section_info.

commit 3df505f60eacd2c931092c7007f084d27583f9e5
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 9 17:29:13 2019 -0600

    TUI resize unification
    
    The TUI currently has two different ways to resize a window: the
    resize method, and the methods make_invisible_and_set_new_height and
    make_visible_with_new_height.
    
    There's no deep reason to have two different ways to resize a window,
    so this patch unifies them, leaving just the "resize" method.
    
    This also changes the locator to be handled more like an ordinary
    window and less like an adjunct of the associated source window.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-io.c (tui_puts_internal): Check TUI_CMD_WIN before
    	calling update_cmdwin_start_line.
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<do_make_visible_with_new_height, set_new_height>: Don't declare.
    	<rerender>: Declare.
    	* tui/tui-winsource.c (tui_source_window_base::update_tab_width):
    	Call rerender.
    	(tui_source_window_base::set_new_height): Remove.
    	(tui_source_window_base::rerender): Rename from
    	do_make_visible_with_new_height.
    	* tui/tui-win.c (tui_resize_all, tui_adjust_win_heights): Use
    	resize method.
    	(tui_win_info::make_invisible_and_set_new_height)
    	(tui_win_info::make_visible_with_new_height): Remove.
    	* tui/tui-stack.h (struct tui_locator_window) <rerender>:
    	Declare.
    	* tui/tui-stack.c (tui_locator_window::rerender): New method.
    	* tui/tui-regs.h (struct tui_data_window) <set_new_height,
    	do_make_visible_with_new_height>: Don't declare.
    	<rerender>: Declare.
    	* tui/tui-regs.c (tui_data_window::rerender): Rename from
    	set_new_height.
    	(tui_data_window::do_make_visible_with_new_height): Remove.
    	* tui/tui-layout.c (show_source_disasm_command, show_data): Don't
    	call tui_show_locator_content.
    	(tui_gen_win_info::resize): Call rerender.
    	(show_source_or_disasm_and_command): Don't call
    	tui_show_locator_content.
    	* tui/tui-data.h (struct tui_gen_win_info) <rerender>: New
    	method.
    	(struct tui_win_info) <rerender>: Declare.
    	<set_new_height, make_invisible_and_set_new_height,
    	make_visible_with_new_height>: Don't declare.
    	* tui/tui-data.c (tui_win_list::rerender): New method.
    	* tui/tui-command.h (struct tui_cmd_window)
    	<do_make_visible_with_new_height>: Don't declare.
    	* tui/tui-command.c
    	(tui_cmd_window::do_make_visible_with_new_height): Remove.
    
    gdb/testsuite/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* gdb.tui/empty.exp: Enable resizing tests.

commit 272560b577894c388a3d0d3fda8294683714f582
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Aug 1 11:41:32 2019 -0600

    Fix bug with character enumeration literal
    
    gnat encodes character enumeration literals using a few different
    schemes.  The gnat compiler documented the "QU" and "QW" encodings,
    but failed to document that a simpler encoding was used for certain
    characters.
    
    This patch updates gdb to handle this simple Q encoding.  Note that
    wide character literals are still not handled.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tromey@adacore.com>
    
    	* ada-exp.y (convert_char_literal): Handle "Q%c" encoding.
    	* ada-lang.c (ada_enum_name): Likewise.
    
    gdb/testsuite/ChangeLog
    2019-08-15  Tom Tromey  <tromey@adacore.com>
    
    	* gdb.ada/char_enum.exp: Add regression tests.
    	* gdb.ada/char_enum/foo.adb (Char_Enum_Type): Use '_'
    	and '0'.
    	(Char, Gchar): Update.
    	* gdb.ada/char_enum/pck.ads (Global_Enum_Type): Use '+'.

commit 08235187bcdd66599884f33b046cf8abcf949727
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Thu Aug 15 11:29:04 2019 -0500

    Rename internal Python functions to start with an underscore
    
    I could not tell if GdbSetPythonDirectory is internal or not because
    I could not find any references to it, so I left it as-is.
    
    Tested by running the testsuite on gdb.python/*.exp; everything still
    passes.
    
    2019-08-15  Christian Biesinger  <cbiesinger@google.com>
    
    	* python/lib/gdb/__init__.py (GdbOutputFile): Rename to have a
    	leading underscore.
    	(GdbOutputErrorFile): Likewise.
    	(global scope): Adjust constructor calls to GdbOutput{,Error}File
    	accordingly.
    	(execute_unwinders): Rename to have a leading underscore.
    	(auto_load_packages): Likewise.
    	(global scope): Adjust call to auto_load_packages accordingly.
    	(GdbSetPythonDirectory): Likewise.
    	* python/py-unwind.c (pyuw_sniffer): Call _execute_unwinders
    	instead of execute_unwinders.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-15  Christian Biesinger  <cbiesinger@google.com>
    
    	* gdb.python/python.exp: Expect a leading underscore on
    	GdbOutput{,Error}File.

commit 080a488354d63fec9791a26fadd15e0c5246983d
Author: Jim Wilson <jimw@sifive.com>
Date:   Thu Aug 15 12:01:13 2019 -0700

    RISC-V: Fix lui relaxation issue with code at address 0.
    
    This fixes a problem originally reported at
        https://github.com/riscv/riscv-binutils-gdb/issues/173
    
    If you have code linked at address zero, you can have a lui instruction
    loading a value 0x800 which gets relaxed to a c.lui which is valid (c.lui 0x1
    followed by addi -0x800).  Relaxation can reduce the value below 0x800 at which
    point the c.lui 0x0 is no longer valid.  We can fix this by converting the
    c.lui to a c.li which can load 0.
    
    	bfd/
    	* elfnn-riscv.c (perform_relocation) <R_RISCV_RVC_LUI>: If
    	RISCV_CONST_HIGH_PART (value) is zero, then convert c.lui instruction
    	to c.li instruction, and use ENCODE_RVC_IMM to set value.
    
    	ld/
    	* testsuite/ld-riscv-elf/c-lui-2.d: New.
    	* testsuite/ld-riscv-elf/c-lui-2.ld: New.
    	* testsuite/ld-riscv-elf/c-lui-2.s: New.
    	* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run the c-lui-2 test.

commit db502012fc46b4dd068461aaeafeaa421489c562
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 9 15:35:17 2019 -0600

    TUI window resize should not need invisibility
    
    When resizing a window, the TUI currently first makes it invisible,
    then changes the size, and then restores its visibility.
    
    I think this is done because curses doesn't truly support resizing a
    window -- there is a "wresize" extension, but the man page says it
    isn't available in all versions of curses.
    
    First, this is probably not a major problem any more.  I imagine most
    of those old systems are gone now.
    
    Second, I think it's a better API to have this detail hidden inside of
    the resize method.
    
    This patch changes the code to follow this idea, and changes the
    ordinary resize method to use wresize when it is available.  The
    special case for the command window is also moved to methods on the
    command window.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (show_layout, show_source_disasm_command)
    	(show_data): Don't change window visibility.
    	(tui_gen_win_info::resize): Remove special case for command
    	window.  Use wresize, when available.
    	(show_source_or_disasm_and_command): Don't change window
    	visibility.
    	* tui/tui-command.h (struct tui_cmd_window) <resize>: Declare.
    	<make_visible>: New method.
    	* tui/tui-command.c (tui_cmd_window::resize): New method.

commit 3891b65efe614fe2e2f7e75e7f5ec8964f7fd96b
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 21:19:45 2019 -0600

    Change TUI source window iteration
    
    Currently the TUI does separate bookkeeping to track which source
    windows exist.  It seems better to me to just refer to the list of
    windows for this, so this patch removes the special handling and
    instead adds a new iterator.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_iterator): New.
    	(struct tui_source_windows): New.
    	* tui/tui-winsource.c (tui_display_main): Update.
    	* tui/tui-win.c (tui_resize_all, tui_adjust_win_heights)
    	(new_height_ok, parse_scrolling_args): Update.
    	* tui/tui-layout.c (show_layout, show_data): Update.
    	* tui/tui-data.h (tui_source_windows, tui_clear_source_windows)
    	(tui_add_to_source_windows): Don't declare.
    	* tui/tui-data.c (source_windows, tui_source_windows)
    	(tui_clear_source_windows, tui_add_to_source_windows): Remove.

commit ee556432c44dd5dbcf22c4086774bd29ded5b208
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 17:32:45 2019 -0600

    Rename the "reset" method to "resize"
    
    tui_gen_win_info::reset really just resizes the window.  This patch
    renames it to reflect this.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base) <resize>:
    	Rename from reset.
    	* tui/tui-winsource.c (tui_source_window_base::resize): Rename.
    	* tui/tui-layout.c (show_source_disasm_command, show_data):
    	Update.
    	(tui_gen_win_info::resize): Rename.
    	(show_source_or_disasm_and_command): Update.
    	* tui/tui-data.h (struct tui_gen_win_info) <resize>: Rename from
    	reset.

commit 46f438e3d57bae1d74ab9a7e6cba380b0e58f552
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 17:30:02 2019 -0600

    Remove tui_initialize_static_data
    
    tui_initialize_static_data is not needed, because locator moving and
    resizing is already handled in the layout code.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-stack.c (tui_initialize_static_data): Remove.
    	* tui/tui-interp.c (tui_interp::init): Don't call
    	tui_initialize_static_data.
    	* tui/tui-data.h (tui_initialize_static_data): Don't declare.

commit f4ce562c7f7a95cab61bf298d289cd56f0802a95
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 16:28:46 2019 -0600

    Minor simplification in tui_default_win_viewport_height
    
    tui_default_win_viewport_height doesn't need to look at tui_win_list;
    it can simply check the type directly.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (tui_default_win_viewport_height): Don't
    	examine tui_win_list.

commit c398c3d0b56823bb12718ae46a8c273b866ca246
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 16:17:46 2019 -0600

    Remove tui_clear_source_content
    
    tui_clear_source_content is not needed.  Instead, the callers can call
    erase_source_content, which is also changed to clear the content
    vector.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_clear_source_content): Don't declare.
    	* tui/tui-winsource.c (tui_update_source_window_as_is): Don't call
    	tui_clear_source_content.
    	(tui_clear_source_content): Remove.
    	(tui_source_window_base::do_erase_source_content): Hoist call to
    	content.clear().
    	* tui/tui-stack.c (tui_show_frame_info): Don't call
    	tui_clear_source_content.

commit e25d200487dba7dfdf92f638e4ef2aefd7bd7481
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 15:57:53 2019 -0600

    Turn tui_erase_source_content into a method
    
    This changes tui_erase_source_content into a method on
    tui_source_window_base.  The bulk of the work is moved into a helper
    method, so that the callers can each pass the string appropriate to
    the particular window class.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<do_erase_source_content>: New method.
    	<erase_source_content>: New method.
    	(tui_erase_source_content): Don't declare.
    	* tui/tui-winsource.c (tui_clear_source_content): Update.
    	(tui_source_window_base::do_erase_source_content): Rename from
    	tui_erase_source_content.
    	(tui_source_window_base::show_source_content): Update.
    	* tui/tui-win.c (tui_resize_all, tui_adjust_win_heights): Update.
    	* tui/tui-source.h (struct tui_source_window)
    	<erase_source_content>: New method.
    	* tui/tui-disasm.h (struct tui_disasm_window)
    	<erase_source_content>: New method.

commit 002f15c27779e154856fdf281360385f4d3be671
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 15:52:13 2019 -0600

    Remove tui_alloc_source_buffer
    
    There is no longer any need for tui_alloc_source_buffer.  The two
    callers of this function immediately change the contents of the
    window, undoing the work done by this function.
    
    This required adding a move constructor to tui_source_element -- a
    mildly surprising find, but without this, resizing the vector will
    cause crashes.  This issue was masked earlier because
    tui_alloc_source_buffer handled this.
    
    Note that a patch for this bug was submitted here:
    
        https://sourceware.org/ml/gdb-patches/2019-08/msg00094.html
    
    That patch is better, IMO, but the author as yet hasn't responded to a
    request for a ChangeLog entry.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_alloc_source_buffer): Don't declare.
    	(struct tui_source_element): Add DISABLE_COPY_AND_ASSIGN, and move
    	constructor.
    	* tui/tui-winsource.c (tui_alloc_source_buffer): Remove.
    	* tui/tui-source.c (tui_set_source_content): Update.
    	* tui/tui-disasm.c (tui_set_disassem_content): Update.

commit c9033fe839e37a378ff86e614a7d6e939b94f6c9
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 15:09:01 2019 -0600

    Change tui_line_is_displayed to be a method
    
    This changes tui_line_is_displayed to be a method on
    tui_source_window, now that it is obvious that it can only be called
    for this type.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_line_is_displayed): Don't declare.
    	* tui/tui-winsource.c (tui_line_is_displayed): Move to
    	tui-source.c.
    	* tui/tui-source.h (struct tui_source_window) <line_is_displayed>:
    	Declare.
    	* tui/tui-source.c (tui_source_window::line_is_displayed): New
    	method.
    	(tui_source_window::maybe_update): Update.

commit 088f37dd90eecb647347c1aa53d36b3f5be64b21
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 15:06:47 2019 -0600

    Change tui_addr_is_displayed into a method
    
    This changes tui_addr_is_displayed to be a method on
    tui_disasm_window, now that it is obvious that it can only be called
    for this type.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_addr_is_displayed): Don't declare.
    	* tui/tui-winsource.c (tui_addr_is_displayed): Move to
    	tui-disasm.c.
    	* tui/tui-disasm.h (struct tui_disasm_window) <addr_is_displayed>:
    	Declare.
    	* tui/tui-disasm.c (tui_disasm_window::addr_is_displayed): New
    	method.
    	(tui_disasm_window::maybe_update): Update.

commit a54700c6c45ea424b668f2201ef14906f2052412
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 15:04:12 2019 -0600

    Move contents of tui_show_frame_info to new method
    
    This moves much of the body of tui_show_frame_info to a new method on
    tui_source_window_base.  This removes a check for the type of a
    window.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<maybe_update>: Declare.
    	* tui/tui-stack.c (tui_show_frame_info): Call maybe_update
    	method.
    	* tui/tui-source.h (struct tui_source_window) <maybe_update>:
    	Declare.
    	* tui/tui-source.c (tui_source_window::maybe_update): New method.
    	* tui/tui-disasm.h (struct tui_disasm_window) <maybe_update>:
    	Declare.
    	* tui/tui-disasm.c (tui_disasm_window::maybe_update): New method.

commit e2a678a557b52816a7aa45902a6519bc1cae918e
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 13:52:08 2019 -0600

    Avoid string_file in tui_make_status_line
    
    tui_make_status_line uses string_file where a simple std::string
    constructor would do.  This makes this change.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-stack.c (tui_make_status_line): Use string constructor.

commit f2dda4778417e2d58a5b0416ff9598f68470cbfa
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 11:32:06 2019 -0600

    Move locator code to tui-stack.c
    
    The locator is mostly implemented in tui-stack.c.  This moves the
    remaining bits to tui-stack.c and tui-stack.h, as appropriate.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c: Include tui-stack.h.
    	* tui/tui-stack.h (MAX_LOCATOR_ELEMENT_LEN)
    	(struct tui_locator_window): Move from tui-data.h.
    	* tui/tui-stack.c (_locator, tui_locator_win_info_ptr)
    	(tui_initialize_static_data): Move from tui-data.c.
    	* tui/tui-data.h (MAX_LOCATOR_ELEMENT_LEN)
    	(struct tui_locator_window): Move to tui-stack.c.
    	* tui/tui-data.c (_locator, tui_locator_win_info_ptr)
    	(tui_initialize_static_data): Move to tui-stack.c.

commit ed4a1084d725a5d1aecefc6a430d3059a77c102d
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 08:23:34 2019 -0600

    Remove FIXMEs from tui-layout.c
    
    An earlier patch added a couple of FIXME comments to tui-layout.c.
    This removes them.  This is possible due to the previous patch that
    changed how boxing works in the TUI -- now, no special case for the
    command window is needed in box_win.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (show_source_disasm_command)
    	(show_source_or_disasm_and_command): Use make_visible method, not
    	tui_make_window.
    	* tui/tui-command.h (struct tui_cmd_window) <make_visible>:
    	Remove.

commit 65962b20b6df7e8961ec4002179dbd51a33a627f
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 08:21:38 2019 -0600

    Simplify TUI boxing
    
    In the TUI, whether or not a window can be boxed is a property of the
    window's type.  This adds a can_box method to the window classes, and
    changes tui_make_window to defer to this, removing the "box_it"
    paramter.  This also lets us remove "enum tui_box", as it is no longer
    used.
    
    gdb/ChangeLog
    2019-08-15  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.h (tui_make_window): Update.
    	* tui/tui-wingeneral.c (tui_make_window): Remove "box_it"
    	parameter.
    	(tui_gen_win_info::make_visible): Update.
    	* tui/tui-regs.c (tui_data_window::display_registers_from):
    	Update.
    	* tui/tui-layout.c (show_source_disasm_command)
    	(show_source_or_disasm_and_command): Update.
    	* tui/tui-data.h (struct tui_gen_win_info) <can_box>: New method.
    	(enum tui_box): Remove.
    	(struct tui_win_info) <can_box>: New method.
    	* tui/tui-command.h (struct tui_cmd_window) <can_box>: New
    	method.

commit 22a2ab04f58dc7c3f5fb0e6d8f0fa96ee4aa3951
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Thu Aug 15 10:23:18 2019 -0700

    Disable dw2-dir-file-name.exp on remote and/or Windows host.
    
    This test has many hardwired assumptions that pathnames on build and
    host are the same, and that POSIX pathname syntax is used.  This
    results in dozens of failures on a remote Windows host.  Fixing these
    assumptions would involve nontrivial rewrites; meanwhile, let's make
    the test results reflect the reality that this testcase isn't supported
    on remote host.
    
    2019-08-15  Sandra Loosemore  <sandra@codesourcery.com>
    
    	gdb/testsuite/
    	* gdb.dwarf2/dw2-dir-file-name.exp: Skip on remote or
    	Windows host.

commit 835b995b576d14fa9b73fb763d5186323b1365b6
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Thu Aug 15 10:17:54 2019 -0700

    Skip batch-preserve-term-settings.exp tests that cannot work on Windows.
    
    This group of tests assume that the gdb "shell" command launches a
    POSIX-compliant shell supporting the PPID environment variable, which
    is used to get gdb's pid for killing it from a remote_exec shell.  But
    on Windows host "shell" launches cmd.exe, which doesn't have an
    equivalent query.
    
    2019-08-15  Sandra Loosemore  <sandra@codesourcery.com>
    
    	gdb/testsuite/
    	* gdb.base/batch-preserve-term-settings.exp
    	(test_terminal_settings_preserved_after_sigterm): Skip on Windows.

commit d59b55f0952e95fdbec58021cecce85f4557b485
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Aug 15 11:23:13 2019 -0600

    Use gdb::byte_vector in target_write_memory
    
    Pedro pointed out that target_write_memory should use gdb::byte_vector
    rather than std::vector<unsigned char>.
    
    gdb/gdbserver/ChangeLog
    2019-08-15  Tom Tromey  <tromey@adacore.com>
    
    	* target.c (target_write_memory): Use gdb::byte_vector.

commit 97dd8e07d998f5f0fcd0d06fd53e2ae9d337d222
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Wed Aug 14 18:13:04 2019 -0500

    [testsuite] Make the testsuite work on mingw
    
    Dejagnu produces an objdir like /c/, but GDB expects something like c:/.
    So fix it up in lib/gdb.exp.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-14  Christian Biesinger  <cbiesinger@google.com>
    
    	* lib/gdb.exp: When running on a mingw target, replace
    	/x/ with x:/.

commit 6ae978f133a67d34d01b6bb2053f1ba20ad13eeb
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Aug 15 15:23:18 2019 +0100

    Add a description of the 'n' symbol type displayed by nm.
    
    	PR 24767
    	* doc/binutils.texi (nm): Document the 'n' symbol type.

commit 4196ab2a6d348f76c0e5e78252e44d9c631636d2
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Aug 14 09:18:21 2019 -0600

    Replace write_inferior_memory with target_write_memory
    
    target_write_memory is just a simple wrapper for
    write_inferior_memory.  Because target_write_memory is needed for
    gdbsupport, and because gdb uses the name "target_write_memory"
    everywhere, this patch renames write_inferior_memory and removes the
    wrapper.  I think this brings gdb and gdbserver slightly more in sync.
    
    gdb/gdbserver/ChangeLog
    2019-08-15  Tom Tromey  <tromey@adacore.com>
    
    	* tracepoint.c (write_inferior_data_pointer)
    	(write_inferior_integer, write_inferior_int8)
    	(write_inferior_uinteger, m_tracepoint_action_download)
    	(r_tracepoint_action_download, x_tracepoint_action_download)
    	(l_tracepoint_action_download, clear_inferior_trace_buffer)
    	(download_agent_expr, download_tracepoint_1)
    	(download_trace_state_variables, upload_fast_traceframes): Update.
    	* server.c (gdb_write_memory): Update.
    	* remote-utils.c (relocate_instruction): Update.
    	* proc-service.c (ps_pdwrite): Update.
    	* mem-break.c (remove_memory_breakpoint)
    	(delete_fast_tracepoint_jump, set_fast_tracepoint_jump)
    	(uninsert_fast_tracepoint_jumps_at)
    	(reinsert_fast_tracepoint_jumps_at): Update.
    	* linux-x86-low.c (append_insns)
    	(i386_install_fast_tracepoint_jump_pad)
    	(amd64_write_goto_address, i386_write_goto_address): Update.
    	* linux-s390-low.c (append_insns, s390_write_goto_address):
    	Update.
    	* linux-ppc-low.c (ppc_relocate_instruction)
    	(ppc_install_fast_tracepoint_jump_pad, emit_insns)
    	(ppc_write_goto_address): Update.
    	* linux-aarch64-low.c (append_insns): Update.
    	* target.h (struct target_ops): Update.
    	(write_inferior_memory): Don't declare.
    	* target.c (target_write_memory): Rename from
    	write_inferior_memory.  Remove old target_write_memory.

commit c6778d00df0fbc7fe53801717eb934a5d7b9674a
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Aug 14 09:11:28 2019 -0600

    Simplify write_inferior_memory
    
    gdbserver's write_inferior_memory uses a static variable to avoid
    memory leaks, and has a comment referring to the lack of cleanups.
    This patch removes this comment and the code in favor of a
    straightforward use of std::vector.
    
    gdb/gdbserver/ChangeLog
    2019-08-15  Tom Tromey  <tromey@adacore.com>
    
    	* target.c (write_inferior_memory): Use std::vector.

commit 9177214a228f7d0eb8543725287a6163993fbebf
Author: Christophe Vidal <support@krizalys.com>
Date:   Thu Aug 15 14:38:31 2019 +0100

    Correct a typo in the documentation for the disassembler.
    
    	* docs/binutils.texi: Fixed notice message disassembler options
    	section of the man page.

commit 05192282ca19f8f5c201f630caed68b1632e2619
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Aug 14 14:01:57 2019 -0600

    Fix CU overrun in scan_unit_for_symbols
    
    A customer program had a DWARF CU that consisted of just a CU DIE,
    without any children.  In this situation, scan_unit_for_symbols will
    try to read past the end of the current CU, and will take use the
    first bytes of the next CU as an abbrev, printing an error message.
    
    This patch fixes the bug by changing scan_unit_for_symbols to stop at
    the end of the CU rather than the end of the .debug_info section.
    
    bfd/ChangeLog
    2019-08-15  Tom Tromey  <tromey@adacore.com>
    
    	* dwarf2.c (scan_unit_for_symbols): Check for end of CU, not end
    	of section.

commit 6485977b899b2780c575ff1d34ccfa7fa950e492
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Aug 15 12:41:24 2019 +0100

    Updatesd Swdish translation for the gas sub-directory.
    
    	* po/sv.po: Updated Swedish translation.

commit 2208ee917050bcc901c7faefdee257ffbf8ef2ab
Author: Tom de Vries <tdevries@suse.de>
Date:   Thu Aug 15 08:14:31 2019 +0200

    [gdb] Fix gdb build on mips64-linux
    
    When compiling for mips64-linux, we get:
    ...
    src/gdb/linux-nat-trad.c:139:12: error: ‘gdbarch_num_regs’ was not declared \
      in this scope
      139 |   regnum < gdbarch_num_regs (regcache->arch ());
    ...
    
    Fix this by including gdbarch.h in linux-nat-trad.c, similar to commit
    b1c896b365 "Fix gdb build on macOS".
    
    Build on mips64-linux.
    
    gdb/ChangeLog:
    
    2019-08-15  Tom de Vries  <tdevries@suse.de>
    
    	* linux-nat-trad.c: Include gdbarch.h.

commit fc9e754460ccf1c893fc9e67c02c49f58f1bd38e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Aug 15 00:00:21 2019 +0000

    Automatic date update in version.in

commit 75faf5c41d7fc713b73cbb3523dcc6ca3855f98e
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Aug 14 15:47:05 2019 +0100

    AArch64: Allow additional sizes in prologue
    
    When saving registers to the stack at the start of a function, not all state
    needs to be saved. For example, only the first 64bits of float registers need
    saving.  However, a program may choose to store extra state if it wishes,
    there is nothing preventing it doing so.
    
    The aarch64_analyze_prologue will error if it detects extra state being
    stored.  Relex this restriction.
    
    Tested via aarch64-prologue test.
    
    gdb/ChangeLog:
    
    	* aarch64-tdep.c (aarch64_analyze_prologue): Allow any valid
    	register sizes.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.arch/aarch64-prologue.c: New test.
    	* gdb.arch/aarch64-prologue.exp: New file.

commit b1c896b365f2dbcd14145a88d103623244cf0fb0
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Aug 14 08:40:18 2019 -0600

    Fix gdb build on macOS
    
    Internal testing showed that the macOS port did not build.  The
    breakage was caused by the patch to remove the gdbarch.h include from
    defs.h.  This patch fixes the problem.
    
    gdb/ChangeLog
    2019-08-14  Tom Tromey  <tromey@adacore.com>
    
    	* darwin-nat.c: Include gdbarch.h.
    	* darwin-nat-info.c: Include gdbarch.h.

commit dfc19da6a6d43390544fa446bb1a33723b339a77
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 14 10:51:22 2019 +0930

    PR24623, DWARF errors
    
    	PR 24623
    	* dwarf2.c (stash_comp_unit): New function, extracted from..
    	(_bfd_dwarf2_find_nearest_line): ..here.
    	(find_abstract_instance): Parse comp units and decode line info
    	as needed.

commit c327a44f38ad5ab0dfd8da5184c4c030798ef323
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 14 11:26:48 2019 +0930

    Use comp_unit_maybe_decode_line_info in more places
    
    	* dwarf2.c (comp_unit_maybe_decode_line_info): Declare.
    	(comp_unit_find_nearest_line): Use it here..
    	(_bfd_dwarf2_find_symbol_bias): ..and here.

commit 9defd221fe3ecffabc90eadd077326b27e898a2b
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 14 10:40:20 2019 +0930

    Remove _bfd_dwarf2_find_nearest_line addr_size parameter
    
    This parameter might appear to be used to set up offset_size, but
    since git commit 024b2372f5 offset_size is either set from the
    debug_info data or is set to 4.
    
    	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove addr_size parameter.
    	* libbfd-in.h  (_bfd_dwarf2_find_nearest_line): Update prototype.
    	* coffgen.c (coff_find_nearest_line_with_names): Adjust
    	_bfd_dwarf2_find_nearest_line calls.
    	* elf.c (_bfd_elf_find_nearest_line, _bfd_elf_find_line): Likewise.
    	* elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
    	* elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
    	* elfnn-aarch64.c (elfNN_aarch64_find_nearest_line): Likewise.
    	* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
    	* mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
    	* libbfd.h: Regenerate.

commit 414b84043054e9656aad008e6efb49979ec614e9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Aug 14 00:00:22 2019 +0000

    Automatic date update in version.in

commit 6405cd73c0d160d9b6f82744bb5510b3e101ad59
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 08:18:27 2019 -0600

    Remove tui_gen_win_info::last_visible_line
    
    The last_visible_line field of tui_gen_win_info is not used, so remove
    it.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (struct tui_gen_win_info) <last_visible_line>:
    	Remove.
    	* tui/tui-data.c (tui_initialize_static_data): Update.

commit 5216580d7a1134a9349ec045b475f5b40f499e5e
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 08:10:50 2019 -0600

    Don't track the contents of the execution info window
    
    The curses library keeps track of the contents of each window, and can
    redraw the screen as needed.  This means that in most cases is no need
    for the TUI windows to also keep track of their contents.  This patch
    removes content tracking from the execution window, leaving that to
    curses.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_exec_info_window)
    	<~tui_exec_info_window, maybe_allocate_content, get_content,
    	m_content>: Remove.
    	(struct tui_source_window_base) <set_exec_info_content,
    	show_exec_info_content>: Don't declare.
    	* tui/tui-winsource.c
    	(tui_exec_info_window::maybe_allocate_content): Remove.
    	(tui_source_window_base::update_exec_info): Rename from
    	set_exec_info_content.
    	(tui_source_window_base::show_exec_info_content)
    	(tui_source_window_base::update_exec_info): Remove.

commit 93858ad34ec1d2250d33365468c6721023786f51
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 07:37:39 2019 -0600

    Remove tui_clear_exec_info_content
    
    After the previous patch, all calls to tui_clear_exec_info_content
    come just after a call to tui_clear_source_content.  Because these two
    windows are linked, I think it makes sense to have
    tui_clear_source_content simply do the work.  So, this patch removes
    tui_clear_exec_info_content.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_clear_exec_info_content): Don't
    	declare.
    	* tui/tui-winsource.c (tui_update_source_window_as_is)
    	(tui_update_source_windows_with_addr, tui_erase_source_content):
    	Update.
    	(tui_clear_exec_info_content): Remove.

commit e321e7ce753f27ca9664ca08a8314924b5771d61
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 17:36:16 2019 -0600

    Remove tui_erase_exec_info_content
    
    One call to tui_erase_exec_info_content can be removed.  This call is
    not needed because the function in question then immediately sets the
    execution info window contents.
    
    Once this is done, tui_clear_exec_info_content is just a wrapper for
    the only call to tui_erase_exec_info_content, so
    tui_erase_exec_info_content can be renamed and the wrapper function
    removed.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_erase_exec_info_content): Don't
    	declare.
    	* tui/tui-winsource.c (tui_source_window_base::refresh_all): Don't
    	call tui_erase_exec_info_content.
    	(tui_clear_exec_info_content): Rename from
    	tui_erase_exec_info_content.
    	(tui_clear_exec_info_content): Delete.

commit 8270ac6229ac323fe7dfc1915b3f52d77df6bb9a
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 17:35:13 2019 -0600

    Turn tui_show_exec_info_content into a method
    
    This changes tui_show_exec_info_content to be a method on
    tui_source_window_base.  As it is only called by other methods on this
    class, it can be private.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<show_exec_info_content>: Declare.
    	(tui_show_exec_info_content): Don't declare.
    	* tui/tui-winsource.c
    	(tui_source_window_base::show_exec_info_content): Rename from
    	tui_show_exec_info_content.
    	(tui_source_window_base::update_exec_info): Update.

commit 7b56485db5187e6c63f330e1eb35f63b50327b74
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 17:32:19 2019 -0600

    Move code to tui-winsource.h
    
    This moves code related to the execution info window from tui-data.h
    to tui-winsource.h.  It fits better here because the execution info is
    conceptually part of the source and disassembly windows, and
    tui-winsource.h is where this common class lives.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (enum tui_bp_flag, tui_bp_flags, struct tui_source_element)
    	(TUI_BP_HIT_POS, TUI_BP_BREAK_POS, TUI_EXEC_POS)
    	(TUI_EXECINFO_SIZE, tui_exec_info_content): Move ...
    	* tui/tui-winsource.h (enum tui_bp_flag, tui_bp_flags, struct
    	tui_source_element, TUI_BP_HIT_POS, TUI_BP_BREAK_POS)
    	(TUI_EXEC_POS, TUI_EXECINFO_SIZE, tui_exec_info_content):
    	... here.

commit 7ba913dcdf2f94cbd501d763f0fc55a46d10331c
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 17:24:07 2019 -0600

    Change tui_update_exec_info to be a method
    
    This changes tui_update_exec_info to be a method on
    tui_source_window_base.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<update_exec_info>: Declare.
    	(tui_update_exec_info): Don't declare.
    	* tui/tui-winsource.c (tui_update_source_window_as_is)
    	(tui_source_window_base::refresh_all)
    	(tui_update_all_breakpoint_info): Update.
    	(tui_source_window_base::update_exec_info): Rename from
    	tui_update_exec_info.
    	* tui/tui-stack.c (tui_show_frame_info): Update.

commit 37a4a1310484490878ce0af9ea1924d6c7dbec7b
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 17:22:05 2019 -0600

    Change tui_set_exec_info_content to be a method
    
    This changes tui_set_exec_info_content to bea method on
    tui_source_window_base.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<set_exec_info_content>: Declare.
    	(tui_set_exec_info_content): Don't declare.
    	* tui/tui-winsource.c
    	(tui_source_window_base::set_exec_info_content): Rename from
    	tui_set_exec_info_content.
    	(tui_update_exec_info): Update.

commit 0bd27e079a99d93590fd078c86c0afe51f6d29b8
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 17:18:18 2019 -0600

    Change tui_show_source_content to be a method
    
    This changes tui_show_source_content to be a method on
    tui_source_window_base.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<show_source_content>: Declare.
    	(tui_show_source_content): Don't declare.
    	* tui/tui-winsource.c (tui_update_source_window_as_is): Update.
    	(tui_source_window_base::show_source_content): Rename from
    	tui_show_source_content.
    	(tui_source_window_base::refresh_all): Update.
    	* tui/tui-layout.c (show_source_disasm_command)
    	(show_source_or_disasm_and_command): Update.

commit b4ef5aeb3a1880490f9441655d9de74727c9063a
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 17:14:46 2019 -0600

    Change tui_check_and_display_highlight_if_needed to be a method
    
    This changes tui_check_and_display_highlight_if_needed to be a method
    on tui_win_info.  This makes it clear that the NULL check in that
    function is not needed, so it is removed here.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_erase_source_content)
    	(tui_show_source_content, tui_source_window_base::refresh_all):
    	Update.
    	* tui/tui-wingeneral.h
    	(tui_check_and_display_highlight_if_needed): Don't declare.
    	* tui/tui-wingeneral.c
    	(tui_win_info::check_and_display_highlight_if_needed): Rename from
    	check_and_display_highlight_if_needed.
    	* tui/tui-win.c (tui_rehighlight_all)
    	(tui_win_info::make_visible_with_new_height): Update.
    	* tui/tui-regs.c (tui_data_window::display_registers_from_line)
    	(tui_data_window::erase_data_content)
    	(tui_data_window::display_all_data): Update.
    	* tui/tui-data.h (struct tui_win_info)
    	<check_and_display_highlight_if_needed>: Declare.

commit fede52738f3ed3e375d84197380ae1a6cd35c6fe
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 12:46:23 2019 -0600

    Delete invisible TUI windows
    
    This changes the TUI so that when the layout changes, any windows that
    are invisible are now deleted.  This makes it simpler to understand
    window lifetimes.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_resize_all): Call
    	tui_delete_invisible_windows.
    	* tui/tui-layout.c (show_layout): Call
    	tui_delete_invisible_windows.
    	* tui/tui-data.h (tui_delete_invisible_windows): Declare.
    	* tui/tui-data.c (tui_delete_invisible_windows): New function.

commit 22c3f4909af125b457564db66e3cb3c56cb9abd3
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 12:38:44 2019 -0600

    Simplify tui_show_disassem
    
    tui_show_disassem does not need to call tui_add_win_to_layout, because
    the callers that could change the layout have already ensured that it
    exists.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-disasm.c (tui_show_disassem): Add assertion.  Don't call
    	tui_add_win_to_layout.

commit 16cb7910b946bad4b5f4aa69925361004c4e412f
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 12:35:08 2019 -0600

    Make tui_default_win_height static
    
    tui_default_win_height is only used in tui-layout.c, so make it static.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.h (tui_default_win_height): Don't declare.
    	* tui/tui-layout.c (tui_default_win_height): Now static.

commit cc0c3ffbc975fe764f6c4746611a836e7a4ce379
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 12:34:31 2019 -0600

    Two simplifications in tui-layout.c
    
    This patch simplifies some code in tui-layout.c.
    
    In show_layout, all the layout settings can be handled by a single
    switch statement.  In show_source_disasm_command and
    show_source_or_disasm_and_command, there is no need to check the
    current layout, as the caller has already done so.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (show_layout): Unify all layout cases into a
    	single switch.
    	(show_source_disasm_command, show_source_or_disasm_and_command):
    	Don't check current layout.

commit 3f3ffe54e229482bdb0785ae2162f03d60870400
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 12:29:18 2019 -0600

    Simplify tui_make_all_invisible
    
    This simplifies the implementation of tui_make_all_invisible.  Also,
    because show_data is only called by show_layout, this hoists the call
    to tui_make_all_invisible and removes the call from show_data.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (make_all_visible): Remove.
    	(tui_make_all_invisible): Simplify.
    	* tui/tui-layout.c (tui_make_all_invisible): Move from
    	tui-wingeneral.c; simplify.
    	(show_layout): Hoist call to tui_make_all_invisible.
    	(show_data): Don't call tui_make_all_invisible.

commit 69258091762bce83b0f3dc9e07800b87bdc0649f
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 12:27:08 2019 -0600

    Remove tui_make_all_visible
    
    The function tui_make_all_visible is not used, so remove it.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.h (tui_make_all_visible): Don't declare.
    	* tui/tui-wingeneral.c (tui_make_all_visible): Remove.

commit 62cf57fee7d72d0c2df2be4d999d63ea3bfafa43
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 12:13:40 2019 -0600

    Move current_layout to tui-layout.c
    
    This moves the current_layout global to tui-layout.c.  This allows for
    the removal of an accessor function; but also it just seems clearer to
    have it here.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (current_layout, tui_current_layout): Move from
    	tui-data.c.
    	(show_source_disasm_command, show_data)
    	(show_source_or_disasm_and_command): Don't use
    	tui_set_current_layout_to.
    	* tui/tui-data.h (tui_set_current_layout_to): Don't declare.
    	* tui/tui-data.c (current_layout, tui_current_layout): Move to
    	tui-layout.c.
    	(tui_set_current_layout_to): Remove.

commit 2afade5dbe1bf99db3f6ab625ca540be030e0e41
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 12:11:52 2019 -0600

    Remove struct tui_layout_def
    
    "layout_def" isn't actually used in the TUI, so remove it.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (tui_set_layout): Update.
    	* tui/tui-data.h (struct tui_layout_def): Remove.
    	(tui_layout_def): Don't declare.
    	* tui/tui-data.c (layout_def): Remove.
    	(tui_layout_def): Remove.

commit a3504e96544b3f8918c4521116d537a4a07c2106
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 5 12:00:06 2019 -0600

    clear_detail can only be called on TUI source windows
    
    The clear_detail method can only be called on source windows, so
    remove definitions from the base of the class hierarchy, leaving only
    a single non-virtual method.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_source_window_base)
    	<clear_detail>: No longer "override".
    	* tui/tui-regs.h (struct tui_data_window) <clear_detail>: Remove.
    	* tui/tui-regs.c (tui_data_window::clear_detail): Remove.
    	* tui/tui-data.h (struct tui_win_info) <clear_detail>: Remove.
    	* tui/tui-command.h (struct tui_cmd_window) <clear_detail>:
    	Remove.
    	* tui/tui-command.c (tui_cmd_window::clear_detail): Remove.

commit 011168429859e3e3a2342ee043cbc2c7a5cf5e2f
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Tue Aug 13 14:00:58 2019 -0500

    [readline] Fix compilation on MinGW
    
    S_ISLNK should not be called outside of an #ifdef.
    
    However, this specific call is actually unnecessary, because
    linkok can only be 0 if S_ISLNK is true, per the code above.
    
    I have sent a bug report to bug-readline, though it does not show
    up in the online archive yet.
    
    2019-08-13  Christian Biesinger  <cbiesinger@google.com>
    
    	* colors.c (_rl_print_color_indicator): Remove unnecessary
    	S_ISLNK check to fix compilation on MinGW.

commit 29c9291108487e1dd9bc5677dafee58ea2068f77
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Aug 12 12:06:20 2019 -0600

    Don't include readline headers from tracepoint.c
    
    I was curious why updating readline caused so much to be to rebuilt,
    so I look at all the uses of the readline headers.  Most are included
    for valid reasons (either readline directory or for tilde_expand); but
    the includes in tracepoint.c didn't seem to be used.
    
    This patch removes them.  Tested by rebuilding.
    
    gdb/ChangeLog
    2019-08-13  Tom Tromey  <tromey@adacore.com>
    
    	* tracepoint.c: Don't include readline.h or history.h.

commit abc6c00fb6cbb199348ec5f0bf4d969ed48bdfad
Author: Tom de Vries <tdevries@suse.de>
Date:   Tue Aug 13 18:57:50 2019 +0200

    [gdb/testsuite] Fix gdb.gdb/selftest.exp regexp
    
    With gdb.gdb/selftest.exp, we get:
    ...
    (xgdb) PASS: gdb.gdb/selftest.exp: send SIGINT signal to child process
    ^M
    Thread 1 "xgdb" received signal SIGINT, Interrupt.^M
    0x00007ffff5bf01db in poll () from /lib64/libc.so.6^M
    (gdb) FAIL: gdb.gdb/selftest.exp: send ^C to child process again
    ...
    
    The failure is due to gdb printing 'Thread 1 "xgdb" received signal SIGINT',
    but the regexp in the test-case expecting 'Program received signal SIGINT'.
    
    Fix this by updating the regexp, similar to how that is done earlier in the
    test-case.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-13  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.gdb/selftest.exp (send ^C to child process again): Accept also
    	Thread.

commit 74c2c1f45f036c4f155cc65a86022ce6eef0c5c5
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Tue Aug 13 09:09:30 2019 -0700

    Fixes for gdb.python tests on remote Windows host.
    
    This patch fixes several test ERRORs and FAILs seen from running
    gdb.python tests on a remote Windows host.  The problems fixed
    generally fall into these categories:
    - Failure to copy the .py script to the host.
    - Confusion between build and host pathnames.
    - Assuming pathnames printed on the host include "/" as a directory
      separator.
    - Tests that need to be conditionally disabled due to missing features
      on the host, etc.
    
    2019-08-13  Sandra Loosemore  <sandra@codesourcery.com>
    
    	gdb/testsuite/
    	* gdb.python/py-completion.exp: Download the .py file to the host
    	and use its host pathname.  Conditionalize tests that use
    	tab completion and manipulate files on the build machine.
    	* gdb.python/py-events.exp: Download the .py file to the host
    	and use its host pathname.
    	* gdb.python/py-evsignal.exp: Likewise.
    	* gdb.python/py-evthreads.exp: Likewise.
    	* gdb.python/py-framefilter-invalidarg.exp: Match Windows
    	pathname syntax.
    	* gdb.python/py-framefilter.exp: Download the .py file to the right
    	place on the host.  Match Windows pathname syntax.
    	* gdb.python/py-mi-var-info-path-expression.exp: Download the
    	.py file to the host and use its host pathname.
    	* gdb.python/py-objfile-script.exp: Match Windows pathname syntax.
    	* gdb.python/py-objfile.exp: Expect a host pathname, not a
    	build pathname.  Skip symlink test on Windows host.  Add missing
    	newline at end of file.
    	* gdb.python/py-pp-maint.exp: Download the .py file to the host
    	and use its host pathname.
    	* gdb.python/py-pp-registration.exp: Match Windows pathname syntax.
    	* gdb.python/py-section-script.exp: Use host location of binfile
    	on safe-path.  Use correct path separator on Windows host.
    	Reorder alternatives in gdb_test_multiple to prevent matching
    	the wrong alternative on success.
    	* gdb.python/py-symtab.exp: Match Windows pathname syntax.

commit 5067f530c3a26330263649fbef23c7685f27cbb7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Aug 13 00:00:26 2019 +0000

    Automatic date update in version.in

commit 86c6b807f50ecec84e55007bf6cb6e54c159727b
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Apr 21 13:58:49 2019 -0600

    Require readline 7 or newer
    
    This changes gdb to require readline 7 or newer at build time.
    
    gdb/ChangeLog
    2019-08-12  Tom Tromey  <tom@tromey.com>
    
    	* configure: Rebuild.
    	* configure.ac: Check for readline 7.
    	* NEWS: Mention readline 7 requirement.
    	* README: Update.
    
    gdb/doc/ChangeLog
    2019-08-12  Tom Tromey  <tom@tromey.com>
    
    	* gdb.texinfo (Configure Options): Document minimum version of
    	readline.

commit 5db2718ce48c497e317787caebacd019da59c3b0
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Aug 4 17:39:27 2019 -0600

    Remove readline hack from gdb_select
    
    As discussed on gdb-patches, this removes the readline hack from the
    mingw-hdep.c version of gdb_select.  It's believed that this is not
    needed any more.  See:
    
        https://sourceware.org/ml/gdb-patches/2019-03/msg00465.html
    
    gdb/ChangeLog
    2019-08-12  Tom Tromey  <tom@tromey.com>
    
    	* mingw-hdep.c (gdb_select): Remove readline hack.

commit cb41b9e70e6fbd1cb603bb9ba4372fbb8ae87b20
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Aug 12 10:24:03 2019 -0600

    Import readline 8.0
    
    This imports readline 8.0.
    
    readline/ChangeLog.gdb
    2019-08-12  Tom Tromey  <tom@tromey.com>
    
    	* Imported readline 8.0.

commit ca2589f3bbad1e151abbb293d4c43a87b7a4d5ec
Author: Patrick Palka <patrick@parcs.ath.cx>
Date:   Sun Mar 17 08:32:16 2019 -0600

    Fix gdb's selftest.exp after readline import
    
    After the sync there is one testsuite regression, the test
    "signal SIGINT" in gdb.gdb/selftest.exp which now FAILs.  Previously,
    the readline 6.2 SIGINT handler would temporarily reinstall the
    underlying application's SIGINT handler and immediately re-raise SIGINT
    so that the orginal handler gets invoked.  But now (since readline 6.3)
    its SIGINT handler does not re-raise SIGINT or directly invoke the
    original handler; it now sets a flag marking that SIGINT was raised, and
    waits until readline explicitly has control to call the application's
    SIGINT handler.  Anyway, because SIGINT is no longer re-raised from
    within readline's SIGINT handler, doing "signal SIGINT" with a stopped
    inferior gdb process will no longer resume and then immediately stop the
    process (since there is no 2nd SIGINT to immediately catch).  Instead,
    the inferior gdb process will now just print "Quit" and continue to run.
    So with this commit, this particular test case is adjusted to reflect
    this change in behavior (we now have to send a 2nd SIGINT manually to
    stop it).
    
    gdb/testsuite/ChangeLog
    2019-08-12  Patrick Palka  <patrick@parcs.ath.cx>
    
    	* gdb.gdb/selftest.exp (test_with_self): Update test to now
    	expect the GDB inferior to no longer immediately stop after
    	being resumed with "signal SIGINT".

commit c15a79c78cc0111296b487de3fa59365f13df3bc
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Oct 7 15:29:57 2018 -0600

    Remove gdb workaround from readline/xfree.c
    
    There is a gdb-local patch to deal with interrupts during completion.
    The original thread adding this patch is here:
    
    https://sourceware.org/ml/gdb-patches/2011-06/msg00147.html
    
    I believe readline now implements the approach suggested by
    Chet Ramey:
    
    https://sourceware.org/ml/gdb-patches/2011-06/msg00493.html
    
    So, I believe this patch can be removed.
    
    readline/ChangeLog.gdb
    2018-10-07  Tom Tromey  <tom@tromey.com>
    
    	* Makefile.in (xfree.o): Don't depend on readline.h.
    	* xfree.c (xfree): Remove gdb workaround.
    	* xmalloc.h (xfree): Remove #define.

commit a2d4e4b70945c1704e5249ad6a9be9d5875a4b0e
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Oct 7 15:25:44 2018 -0600

    Remove gdb workaround from readline/emacs_keymap.c
    
    There is a gdb-local patch in readline/emacs_keymap.c that says:
    
      /* Temporary - this is a bug in readline 5.1 that should be fixed in
         readline 5.2.  */
    
    So, I think this can be removed now.  I have no way to test this, as
    the patch was specific to mingw.
    
    readline/ChangeLog.gdb
    2018-10-07  Tom Tromey  <tom@tromey.com>
    
    	* emacs_keymap.c: Remove gdb workaround.

commit 57a2fe070226852b84eff8f37e49b367daa2a32f
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Oct 7 15:24:12 2018 -0600

    Remove gdb workaround from readline/complete.c
    
    This removes a gdb-local patch from readline's get_y_or_n.  The code
    references a gdb test that continues to work when I remove this patch.
    So, I think it is not needed any more.
    
    readline/ChangeLog.gdb
    2018-10-07  Tom Tromey  <tom@tromey.com>
    
    	* complete.c (get_y_or_n): Remove gdb workaround.

commit 775e241e9c5f2b2ff2b59972ab70e5f20763fae6
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Oct 7 12:52:13 2018 -0600

    Import readline 7.0 (patch 5)
    
    This imports readline 7.0 (up to patch 5) while preserving all
    gdb-local changes.
    
    This was done by checking out the readline git repository, making a
    branch based on the gdb baseline revision, applying the gdb changes to
    that branch, and then merging from readline 7.
    
    readline/ChangeLog.gdb
    2019-08-12  Tom Tromey  <tom@tromey.com>
    
    	* Imported readline 7.0 patch 5.

commit 08132bdd876fa1825810f90ecc25390dd4ded457
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date:   Mon Aug 12 17:17:18 2019 +0100

    Modify the ARM encoding and decoding of SQRSHRL and UQRSHLL MVE instructions.
    
    This is a change to the first published specifications [1][a] but since there is no hardware
    out there that uses the old instructions we do not want to support the old variant.
    This changes are done based on the latest published specifications [1][b].
    
    [1] https://developer.arm.com/architectures/cpu-architecture/m-profile/docs/ddi0553/latest/armv81-m-architecture-reference-manual
        [a] version bf
        [b] version bh
    
    gas	* config/tc-arm.c (enum operand_parse_code): Add the entry OP_I48_I64.
    	(po_imm1_or_imm2_or_fail): Marco to check the immediate is either of
            48 or 64.
    	(parse_operands): Add case OP_I48_I64.
    	(do_mve_scalar_shift1): Add function to encode the MVE shift
            instructions with 4 arguments.
    	* testsuite/gas/arm/mve-shift-bad.l: Modify.
    	* testsuite/gas/arm/mve-shift-bad.s: Likewise.
    	* testsuite/gas/arm/mve-shift.d: Likewise.
    	* testsuite/gas/arm/mve-shift.s: Likewise.
    
    opcodes	* arm-dis.c (struct mopcode32 mve_opcodes): Modify the mask for
    	cases MVE_SQRSHRL and MVE_UQRSHLL.
    	(print_insn_mve): Add case for specifier 'k' to check
    	specific bit of the instruction.

commit 5312fe52e9ae6fd108f161a271315eb2821246eb
Author: Barnaby Wilks <barnaby.wilks@arm.com>
Date:   Mon Aug 12 11:08:36 2019 +0100

    Add generic and ARM specific support for half-precision IEEE 754 floating point numbers to the assembler.
    
    Half precision floating point numbers will be encoded using the IEEE 754
    half precision floating point format - 16 bits in total, 1 for sign, 5
    for exponent and 10 bits of  mantissa.
    
    This patch implements the float16 directive for both the IEEE 754 format
    and the Arm alternative format for the Arm backend.
    
    The syntax of the directive is:
    
      .float16 <0-n decimal numbers>
    e.g.
      .float16 12.0
      .float16 0.23, 433.1, 0.06
    
    The Arm alternative format is almost identical to the IEEE 754 format,
    except that it doesn't encode for NaNs or Infinity (instead an exponent
    of 0x1F represents a normalized number in the range 65536 to 131008).
    
    The alternative format is documented in the reference manual:
    
      https://static.docs.arm.com/ddi0487/db/DDI0487D_b_armv8_arm.pdf?_ga=2.72318806.49764181.1561632697-999473562.1560847439
    
    Which format is used is controlled by the .float16_format <format>
    directive, where if <format> = ieee, then use the IEEE 754
    half-precision format else if <format> = alternative, then use the
    Arm alternative format
    
    Or the format can be set on the command line via the -mfp16-format
    option that has a similar syntax.  -mfp16-format=<ieee|alternative>.
    This also fixes the format and it cannot be changed by any directives.
    
    Once the format has been set (either by the command line option or a directive) it cannot be changed,
    and any attempts to change it (i.e. with the float16_format directive) will result in a warning and the
    line being ignored.
    
    For ELF targets the appropriate EABI attribute will be written out at the end of assembling
    if the format has been explicitly specified. If no format has been explicitly specified then no
    EABI attributes will be written.
    
    If the format is not explicitly specified then any float16 directives are encoding using the IEEE 754-2008
    format by default until the format is fixed or changed with the float16_format directive.
    
    gas	* config/tc-arm.c (enum fp_16bit_format): Add enum to represent the 2 float16 encodings.
    	(md_atof): Set precision for float16 type.
    	(arm_is_largest_exponent_ok): Check for whether to encode with the IEEE or alternative
    	format.
    	(set_fp16_format): Parse a float16_format directive.
    	(arm_parse_fp16_opt): Parse the fp16-format command line option.
    	(aeabi_set_public_attributes): For ELF encode the FP16 format EABI attribute.
    	* config/tc-arm.h (TC_LARGEST_EXPONENT_IS_NORMAL): Macro that expands to
    	arm_is_largest_exponent_ok.
    	(arm_is_largest_exponent_ok): Add prototype for arm_is_largest_exponent_ok function.
    	* doc/c-arm.texi: Add documentation for .float16, .float16_format and -mfp16-format=
    	* testsuite/gas/arm/float16-bad.d: New test.
    	* testsuite/gas/arm/float16-bad.l: New test.
    	* testsuite/gas/arm/float16-bad.s: New test.
    	* testsuite/gas/arm/float16-be.d: New test.
    	* testsuite/gas/arm/float16-format-bad.d: New test.
    	* testsuite/gas/arm/float16-format-bad.l: New test.
    	* testsuite/gas/arm/float16-format-bad.s: New test.
    	* testsuite/gas/arm/float16-format-opt-bad.d: New test.
    	* testsuite/gas/arm/float16-format-opt-bad.l: New test.
    	* testsuite/gas/arm/float16-le.d: New test.
    	* testsuite/gas/arm/float16.s: New test.
    	* testsuite/gas/arm/float16-eabi-alternative-format.d: New test.
    	* testsuite/gas/arm/float16-eabi-ieee-format.d: New test.
    	* testsuite/gas/arm/float16-eabi-no-format.d: New test.
    	* testsuite/gas/arm/float16-eabi.s: New test.
    
    	* config/atof-ieee.c (H_PRECISION): Macro for precision of float16
    	type.
    	(atof_ieee): Set precision and exponent bits for encoding float16
    	types.
    	(gen_to_words): NaN and Infinity encoding for float16.
    	(ieee_md_atof): Set precision for encoding float16 type.

commit 9bb9c115cd3d0b9de97e02cf2e861972010daa6f
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Aug 12 11:15:19 2019 +0930

    PR24851, gas/testsuite/gas/epiphany/badrelax.s failure with MALLOC_PERTURB_=1
    
    	PR 24851
    	* config/tc-epiphany.c (md_estimate_size_before_relax): Clear
    	extra opcode bytes when changing from a 2-byte to a 4-byte insn.

commit b32b0a69fdf24a8b04efe9c2b90c3e830aa0c2c1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Aug 12 00:00:22 2019 +0000

    Automatic date update in version.in

commit acdb5f3476c4dd5a0f7182e2e96eafee3a84d856
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Aug 11 00:00:54 2019 +0000

    Automatic date update in version.in

commit dc02848a69da5b8794a3d7094664e3b4d9a508cf
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Aug 10 13:02:49 2019 +0930

    Sort statement_enum and lang_statement_union
    
    To make comparing the two easier.
    
    	* ldlang.h (enum statement_enum): Sort.
    	(union lang_statement_union): Sort.

commit 4cfbdbfd2607a2bcfb9f745410e34aea8f044a9b
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Aug 10 12:35:20 2019 +0930

    Delete unused ldlang.h structs
    
    	* ldlang.h (lang_common_statement_type): Delete.
    	(lang_object_symbols_statement_type): Delete.
    	(union lang_statement_union): Remove common_statement and
    	object_symbols_statement.

commit 988de25b366c74cd62e35f3d5cf63086a964c7aa
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Aug 10 12:28:31 2019 +0930

    stat_alloc casts
    
    Casts from a void* just clutter the source.
    
    	* ldexp.c (exp_intop, exp_bigintop, exp_relop, exp_binop, exp_trinop),
    	(exp_unop, exp_nameop, exp_assop, exp_assert): Remove casts of
    	stat_alloc return value.
    	* ldlang.c (new_statement, new_afile, sort_def_symbol),
    	(lang_memory_region_lookup, lang_memory_region_alias),
    	(ldlang_add_undef, ldlang_add_require_defined, insert_pad),
    	(lang_add_gc_name, lang_new_phdr): Likewise.
    	* lexsup.c (set_segment_start): Likewise.

commit 36983a93bb338b7cdd6f7d6f9f91dc9ce9815b4e
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Aug 10 10:30:19 2019 +0930

    lang_input_statement_type next pointers
    
    "next" and "next_real_file" in lang_input_statement_type always point
    to another lang_input_statement_type, so it makes sense for these to
    not be the generic lang_statement_union_type.  This patch also updates
    a number of variables in ldlang.c for the same reason, and modifies
    lang_statement_append to reduce the need for casts.
    
    	* ldlang.h (lang_input_statement_type): Make next
    	and next_real_file a lang_input_statement_type pointer.
    	(lang_statement_append): Delete prototype.
    	(LANG_FOR_EACH_INPUT_STATEMENT): Update for lang_input_statement_type
    	change.
    	* ldmain.c (add_archive_element): Likewise.
    	* ldlang.c: Likewise throughout.
    	(lang_statement_append): Make static.  Make element and field
    	void pointers.  Remove casts in calls.
    	(lang_check): Use a lang_input_statement_type pointer for "file".
    	(find_rescan_insertion): Similarly for "iter" and return value.
    	(lang_process): Similarly for "insert", "iter" and "temp".
    	* emultempl/spuelf.em (embedded_spu_file): Likewise.
    	* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Expand
    	lang_statment_append call.

commit 8be90e963138c88d7648c1eb2146e45f048d616e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Aug 10 00:00:29 2019 +0000

    Automatic date update in version.in

commit 020a839d52fb8a28059dadd075b09a2fec84ef74
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Fri Aug 9 13:45:44 2019 -0700

    Match Windows pathnames in gdb.linespec/break-ask.exp.
    
    2019-08-09  Sandra Loosemore  <sandra@codesourcery.com>
    
    	gdb/testsuite/
    	* gdb.linespec/break-ask.exp: Generalize regexps to match
    	Windows pathnames too.

commit dac36daf78653a8e4688b825cdb15461a88470d2
Author: Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
Date:   Fri Aug 9 16:49:46 2019 -0300

    Fix access to uninitialized variable in fill_in_stop_func
    
    This patch changes find_pc_partial_function so that *block is set to
    nullptr when it fails, so that fill_in_stop_func won't access an
    uninitialized variable.
    
    gdb/ChangeLog:
    2019-08-09  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
    
    	* blockframe.c (find_pc_partial_function): Set *block to nullptr
    	when the function fails.

commit 1022c627dbd9d7f7f67ac68f16de05474de7a75a
Author: Andreas Arnez <arnez@linux.ibm.com>
Date:   Fri Aug 9 20:27:03 2019 +0200

    s390: Implement 'type_align' gdbarch method
    
    The align.exp test case yields many FAILs on s390x, since GDB's _Alignoff
    doesn't always agree with the compiler's.  On s390x, the maximum alignment
    is 8, but GDB returns an alignment of 16 for 16-byte data types such as
    "long double".
    
    This is fixed by implementing the type_align gdbarch method.  The new
    method returns an alignment of 8 for all integer, floating-point, and
    vector types larger than 8 bytes.  With this change, all align.exp tests
    pass.
    
    gdb/ChangeLog:
    
    	* s390-tdep.c (s390_type_align): New function.
    	(s390_gdbarch_init): Set it as type_align gdbarch method.

commit f211b8c0b91fc7b1657079a495f05a9a4d957821
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Aug 9 16:16:18 2019 +0100

    Synchronize libiberty sources with gcc mainline.
    
    	* libiberty: Sync with gcc.  Bring in:
    	2019-08-08  Martin Liska  <mliska@suse.cz>
    
    	PR bootstrap/91352
    	* lrealpath.c (is_valid_fd): New function.
    
    	2019-07-24  Martin Liska  <mliska@suse.cz>
    
    	PR lto/91228
    	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
    	Find first '\0' starting from gnu_lto + 1.
    
    	2019-07-12  Ren Kimura  <rkx1209dev@gmail.com>
    
    	* simple-object-elf.c (simple_object_elf_match): Check zero value shstrndx.
    	This fixes a Bug 90924.
    
    	2019-07-22  Martin Liska  <mliska@suse.cz>
    
    	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
    	Do not search for gnu_lto_v1, but search for first '\0'.
    
    	2019-07-18  Eduard-Mihai Burtescu  <eddyb@lyken.rs>
    
    	* cplus-dem.c: Include rust-demangle.h.
    	* rust-demangle.c: Include rust-demangle.h.
    	* rust-demangle.h: New file.
    
    	2019-05-31  Michael Forney  <mforney@mforney.org>
    
    	* cp-demangle.c: Don't define CP_DYNAMIC_ARRAYS if __STDC_NO_VLA__
    	is non-zero.
    
    	2019-04-30  Ben L  <bobsayshilol@live.co.uk>
    
    	* d-demangle.c (dlang_parse_assocarray): Correctly handle error result.
    	* testsuite/d-demangle-expected: Add testcase.
    
    	* d-demangle.c (dlang_parse_tuple): Correctly handle error result.
    	* testsuite/d-demangle-expected: Add testcase.
    
    	* d-demangle.c (dlang_parse_structlit): Correctly handle error result.
    	* testsuite/d-demangle-expected: Add testcase.
    
    	* d-demangle.c (dlang_parse_arrayliteral): Correctly handle error result.
    	* testsuite/d-demangle-expected: Add testcase.
    
    	* d-demangle.c (dlang_parse_integer): Fix stack underflow.
    	* testsuite/d-demangle-expected: Add testcase.
    
    	* cp-demangle (d_print_comp_inner): Guard against a NULL 'typed_name'.
    	* testsuite/demangle-expected: Add testcase.
    
    	* cp-demangle.c (d_encoding): Guard against NULL return values from
    	d_right (dc).
    	* testsuite/demangle-expected: Add testcase.
    
    	2019-04-29  Ben L  <bobsayshilol@live.co.uk>
    
    	* cp-demangle.c (d_expression_1): Don't peek ahead unless the current
    	char is valid.
    	* testsuite/demangle-expected: Add testcase.
    
    	2019-04-10  Nick Clifton  <nickc@redhat.com>
    
    	PR 89394
    	* cp-demangle.c (cplus_demangle_fill_name): Reject negative
    	lengths.
    	(d_count_templates_scopes): Replace num_templates and num_scopes
    	parameters with a struct d_print_info pointer parameter.  Adjust
    	body of the function accordingly.  Add recursion counter and check
    	that the recursion limit is not reached.
    	(d_print_init): Pass dpi parameter to d_count_templates_scopes.
    	Reset recursion counter afterwards, unless the recursion limit was
    	reached.

commit f16a9783c5f085443d806646074e9c06fdee9a88
Author: Mihailo Stojanovic <mihailo.stojanovic@rt-rk.com>
Date:   Fri Aug 9 11:06:37 2019 +0100

    Add support for a MIPS specific .MIPS.xhash section.
    
      This patch is a reimplementation of [1] which was submitted in 2015 by
    Neil Schellenberger. Copyright issue was sorted out [2] last year.
    It proposed a new section (.gnu.xhash) and related dynamic tag
    (DT_GNU_XHASH). The new section would be virtually identical to the
    existing .gnu.hash except for the translation table (xlat) which would
    contain correct MIPS .dynsym indexes corresponding to the hashvals in
    chains. This is because MIPS ABI imposes a different ordering on the
    dynsyms than the one expected by the .gnu.hash section. Another addition
    would be a leading word (ngnusyms) which would contain the number of
    entries in the translation table.
    
      In this patch, the new section name and dynamic tag are changed to
    reflect the fact that the section should be treated as MIPS-specific
    (.MIPS.xhash and DT_MIPS_XHASH).
    
      This patch addresses the alignment issue as reported in [3], which is
    caused by the leading word added to the .MIPS.xhash section. Leading word
    is removed in this patch, and the number of entries in the translation
    table is now calculated using DT_MIPS_SYMTABNO dynamic tag (this is
    addressed by the corresponding glibc patch).
    
      Suggestions on coding style in [4] were taken into account. Existing
    GNU hash testcase was covered, and another one was added in the MIPS
    part of the testsuite.
    
      The other major change is reserving MIPS ABI version 5 for .MIPS.xhash,
    marking the need of support for .MIPS.xhash in the dynamic linker (again,
    addressed in the corresponding glibc patch). This is something which I
    am not sure of, especially after reading [5]. I am confused on whether
    this ABI version is reserved for IFUNC, or it can be used for this
    purpose.
    
    Already mentioned glibc patch is submitted at:
    https://sourceware.org/ml/libc-alpha/2019-06/msg00456.html
    
    [1] https://sourceware.org/ml/binutils/2015-10/msg00057.html
    [2] https://sourceware.org/ml/binutils/2018-03/msg00025.html
    [3] https://sourceware.org/ml/binutils/2016-01/msg00006.html
    [4] https://sourceware.org/ml/binutils/2016-02/msg00097.html
    [5] https://sourceware.org/ml/libc-alpha/2016-12/msg00853.html
    
    ld      * emulparams/elf32bmip.sh: Add .MIPS.xhash section.
            * emulparams/elf32bmipn32-defs.sh: Add .MIPS.xhash section.
            * emulparams/elf64bmip-defs.sh: Add .MIPS.xhash section.
            * emultempl/mipself.em: Remove mips_after_parse function.
            * testsuite/ld-elf/hash.d: Update comment.
            * testsuite/ld-mips-elf/hash1.d: New test.
            * testsuite/ld-mips-elf/hash1.s: Ditto.
            * testsuite/ld-mips-elf/hash1a.d: Remove.
            * testsuite/ld-mips-elf/hash1b.d: Ditto.
            * testsuite/ld-mips-elf/hash1c.d: Ditto
            * testsuite/ld-mips-elf/hash2.d: New test.
            * testsuite/ld-mips-elf/mips-elf.exp: New tests.
            * testsuite/ld-mips-elf/start.s: New test.
    
    bfd     * elf-bfd.h (struct elf_backend_data): New members.
            * elflink.c (_bfd_elf_link_create_dynamic_sections): Create
            .gnu.hash section if necessary.
            (struct collect_gnu_hash_codes): New member.
            (elf_gnu_hash_process_symidx): New function name.
            (elf_renumber_gnu_hash_syms): Ignore local and undefined
            symbols. Record xlat location for every symbol which should have
            a .MIPS.xhash entry.
            (bfd_elf_size_dynamic_sections): Add DT_GNU_HASH dynamic tag to
            dynamic section if necessary.
            (GNU_HASH_SECTION_NAME): New define.
            (bfd_elf_size_dynsym_hash_dynstr): Get .MIPS.xhash section.
            Update the section size info.
            * elfxx-mips.c (struct mips_elf_hash_sort_data): New members.
            (struct mips_elf_link_hash_entry): New member.
            (mips_elf_link_hash_newfunc): Initialize .MIPS.xhash translation
            table location.
            (mips_elf_sort_hash_table): Initialize the pointer to the
            .MIPS.xhash section.
            (mips_elf_sort_hash_table_f): Populate the .MIPS.xhash
            translation table entry with the symbol dynindx.
            (_bfd_mips_elf_section_from_shdr): Add SHT_MIPS_XHASH.
            (_bfd_mips_elf_fake_sections): Initialize .MIPS.xhash section
            info.
            (_bfd_mips_elf_create_dynamic_sections): Create .MIPS.xhash
            section.
            (_bfd_mips_elf_size_dynamic_sections): Add DT_MIPS_XHASH tag to
            dynamic section.
            (_bfd_mips_elf_finish_synamic_sections): Add DT_MIPS_XHASH.
            (_bfd_mips_elf_final_write_processing): Set .MIPS.xhash section
            sh_link info.
            (_bfd_mips_elf_get_target_dtag): Get DT_MIPS_XHASH tag.
            (MIPS_LIBC_ABI_XHASH): New ABI version enum value.
            (_bfd_mips_post_process_headers): Mark the ABI version as
            MIPS_LIBC_ABI_XHASH if there exists a .MIPS.xhash section,
            but not a .hash section.
            (_bfd_mips_elf_record_xhash_symbol): New function. Record a
            position in the translation table, associated with the hash
            entry.
            * elfxx-mips.h (literal_reloc_p): Define
            elf_backend_record_xhash_symbol backend hook.
            * elfxx-target.h: Initialize elf_backend_record_xhash_symbol
            backend hook.
    
    include * elf/mips.h (SHT_GNU_XHASH): New define.
            (DT_GNU_XHASH): New define.
    
    binutils * readelf.c (get_mips_dynamic_type): Return MIPS_XHASH dynamic type.
            (get_mips_section_type_name): Return MI{S_XHASH name string.
            (dynamic_section_mips_val): Initialize the .MIPS.xhash dynamic
            info.
            (process_symbol_table): Initialize the .MIPS.xhash section
            pointer. Adjust the readelf output to support the new section.
            (process_object): Set the .MIPS.xhash dynamic info to zero.

commit 1ba7cdcd931ddf672e4a8a6483593f9b94e55965
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Aug 8 09:01:12 2019 +0100

    doc: fix PAC typo
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (AArch64 Pointer Authentication): Fix typo.

commit 2b2ed2452c0bd2437ff65e71356bece225f0be46
Author: Tamar Christina <tamar.christina@arm.com>
Date:   Fri Aug 9 09:06:50 2019 +0100

    Arm: Skip tests on WINCE that require mapping symbols
    
    The following tests fail on wince as they rely on mapping symbols to
    give them a fixed order.
    
    This skips them on platforms that don't have mapping symbols.
    
    binutils/ChangeLog:
    
    	* testsuite/binutils-all/arm/in-order-all.d: Skip on pe, wince, coff.
    	* testsuite/binutils-all/arm/in-order.d: Likewise.
    	* testsuite/binutils-all/arm/out-of-order-all.d: Likewise.
    	* testsuite/binutils-all/arm/out-of-order.d: Likewise.

commit 678581fc78cffcfd1423b557368c3a0cfb695b87
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 9 09:57:57 2019 +0200

    x86-64: generalize SIMD test expectations
    
    In order to be able to add/remove insns to/from the middle of these
    tests, generalize the patterns for the symbol reference comments of RIP-
    relative operands.

commit eba4caf23152a1a66d10ce37c502ec78654cd5eb
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Aug 9 06:49:04 2019 +0200

    [gdb] Fix gdb.dwarf2/varval.exp with -fPIE/-pie
    
    With target board unix/-fPIE/-pie, we get:
    ...
    FAIL: gdb.dwarf2/varval.exp: print varval2
    ...
    
    This is due comparing a get_frame_pc result (which includes the for PIE
    non-zero relocation offset) with pc_high and pc_low obtained using
    get_scope_pc_bounds (which do not include the relocation offset).
    
    Fix this by adjusting pc_high and pc_low with the relocation offset.
    
    Tested on x86_64-linux with target board unix/-fPIE/-pie.
    
    gdb/ChangeLog:
    
    2019-08-09  Tom de Vries  <tdevries@suse.de>
    
    	PR gdb/24591
    	* dwarf2read.c (dwarf2_fetch_die_loc_sect_off): Adjust pc_high and
    	pc_low with relocation offset.

commit 378646f7a4260eecd244ba840ae1af4e663e30a5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Aug 9 00:00:09 2019 +0000

    Automatic date update in version.in

commit 128d6509819d9d4fe6f52d1a5dcc458b9cbd0f4c
Author: Tom de Vries <tdevries@suse.de>
Date:   Thu Aug 8 22:26:28 2019 +0200

    [gdb/testsuite] Fix gdb.tui/basic.exp with check-read1
    
    With gdb.tui/basic.exp and check-read1, we run into (using -v for
    verbose log):
    ...
    ^[[0+++ _csi_0 <<<>>>
    ERROR: (DejaGnu) proc "_csi_0" does not exist.
    ...
    
    In contrast, without check-read1, we have:
    ...
    ^[[0;10m<SNIP>+++ _csi_m <<<0;10>>>
    ...
    
    The problem is that this regexp in _accept:
    ...
               -re "^\x1b\\\[(\[0-9;\]*)(\[0-9a-zA-Z@\])" {
    ...
    while matching the longer sequence '^[' '[' '0' ';' '1' '0' 'm', also matches
    the shorter sequence '^[' '[' '0'.
    
    The regexp attempts to match a CSI (Control Sequence Introducer) sequence, and
    the final byte of such a sequence cannot be a digit.
    
    Fix the regexp accordingly:
    ...
    -           -re "^\x1b\\\[(\[0-9;\]*)(\[0-9a-zA-Z@\])" {
    +           -re "^\x1b\\\[(\[0-9;\]*)(\[a-zA-Z@\])" {
    ...
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-08  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24862
    	* lib/tuiterm.exp (_accept): Fix CSI regexp.

commit dbe15e4e1dda8e20cc347ced751631d49a5f57de
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Aug 8 17:04:31 2019 +0100

    Change the output of readelf's note display so that the "Data size" column header is left justified.
    
    	PR 24887
    binutils* readelf.c (process_notes_at): Left justify the "Data size"
    	column heading.
    	* testsuite/binutils-all/i386/empty.d: Adjust for new output format.
    	* testsuite/binutils-all/i386/ibt.d: Likewise.
    	* testsuite/binutils-all/i386/pr21231a.d: Likewise.
    	* testsuite/binutils-all/i386/pr21231b.d: Likewise.
    	* testsuite/binutils-all/i386/shstk.d: Likewise.
    	* testsuite/binutils-all/note-2-32.d: Likewise.
    	* testsuite/binutils-all/note-2-64.d: Likewise.
    	* testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
    	* testsuite/binutils-all/x86-64/empty.d: Likewise.
    	* testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
    	* testsuite/binutils-all/x86-64/ibt.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr23494c.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr23494d.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr23494e.d: Likewise.
    	* testsuite/binutils-all/x86-64/shstk-x32.d: Likewise.
    	* testsuite/binutils-all/x86-64/shstk.d: Likewise.
    
    ld	* testsuite/ld-aarch64/bti-plt-2.d: Adjust for new output format
    	from readelf.
    	* testsuite/ld-aarch64/bti-plt-4.d: Likewise.
    	* testsuite/ld-aarch64/bti-plt-6.d: Likewise.
    	* testsuite/ld-aarch64/bti-plt-7.d: Likewise.
    	* testsuite/ld-aarch64/bti-warn.d: Likewise.
    	* testsuite/ld-aarch64/property-bti-pac1.d: Likewise.
    	* testsuite/ld-aarch64/property-bti-pac2.d: Likewise.
    	* testsuite/ld-aarch64/property-bti-pac3.d: Likewise.
    	* testsuite/ld-elf/x86-feature-1a.rd: Likewise.
    	* testsuite/ld-elf/x86-feature-1b.rd: Likewise.
    	* testsuite/ld-elf/x86-feature-1c.rd: Likewise.
    	* testsuite/ld-elf/x86-feature-1d.rd: Likewise.
    	* testsuite/ld-elf/x86-feature-1e.rd: Likewise.
    	* testsuite/ld-i386/ibt-plt-2d.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-3d.d: Likewise.
    	* testsuite/ld-i386/pr23372a.d: Likewise.
    	* testsuite/ld-i386/pr23372c.d: Likewise.
    	* testsuite/ld-i386/pr23486a.d: Likewise.
    	* testsuite/ld-i386/pr23486b.d: Likewise.
    	* testsuite/ld-i386/pr23486c.d: Likewise.
    	* testsuite/ld-i386/pr23486d.d: Likewise.
    	* testsuite/ld-i386/pr24322a.d: Likewise.
    	* testsuite/ld-i386/pr24322b.d: Likewise.
    	* testsuite/ld-i386/property-x86-3.d: Likewise.
    	* testsuite/ld-i386/property-x86-4a.d: Likewise.
    	* testsuite/ld-i386/property-x86-5.d: Likewise.
    	* testsuite/ld-i386/property-x86-cet1.d: Likewise.
    	* testsuite/ld-i386/property-x86-cet2a.d: Likewise.
    	* testsuite/ld-i386/property-x86-cet5a.d: Likewise.
    	* testsuite/ld-i386/property-x86-cet5b.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt1a.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt1b.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt2.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt3b.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt4.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt5.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk1a.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk1b.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk2.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk3a.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk3b.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk4.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk5.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2d.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.
    	* testsuite/ld-x86-64/pr23372a-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr23372a.d: Likewise.
    	* testsuite/ld-x86-64/pr23372c-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr23372c.d: Likewise.
    	* testsuite/ld-x86-64/pr23486a-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr23486a.d: Likewise.
    	* testsuite/ld-x86-64/pr23486b-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr23486b.d: Likewise.
    	* testsuite/ld-x86-64/pr23486c-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr23486c.d: Likewise.
    	* testsuite/ld-x86-64/pr23486d-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr23486d.d: Likewise.
    	* testsuite/ld-x86-64/pr24322a-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr24322a.d: Likewise.
    	* testsuite/ld-x86-64/pr24322b-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr24322b.d: Likewise.
    	* testsuite/ld-x86-64/pr24458a-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr24458a.d: Likewise.
    	* testsuite/ld-x86-64/pr24458b-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr24458b.d: Likewise.
    	* testsuite/ld-x86-64/pr24458c-x32.d: Likewise.
    	* testsuite/ld-x86-64/pr24458c.d: Likewise.
    	* testsuite/ld-x86-64/property-1.r: Likewise.
    	* testsuite/ld-x86-64/property-1a.r: Likewise.
    	* testsuite/ld-x86-64/property-2.r: Likewise.
    	* testsuite/ld-x86-64/property-2a.r: Likewise.
    	* testsuite/ld-x86-64/property-3.r: Likewise.
    	* testsuite/ld-x86-64/property-3a.r: Likewise.
    	* testsuite/ld-x86-64/property-4.r: Likewise.
    	* testsuite/ld-x86-64/property-4a.r: Likewise.
    	* testsuite/ld-x86-64/property-5.r: Likewise.
    	* testsuite/ld-x86-64/property-5a.r: Likewise.
    	* testsuite/ld-x86-64/property-6.r: Likewise.
    	* testsuite/ld-x86-64/property-7.r: Likewise.
    	* testsuite/ld-x86-64/property-7a.r: Likewise.
    	* testsuite/ld-x86-64/property-x86-3-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-3.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-4a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-5-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-5.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-cet1-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-cet1.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-cet2a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-cet2a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-cet5a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-cet5a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-cet5b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-cet5b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt2.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt4.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt5.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk1a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk1a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk1b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk1b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk2-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk2.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk4-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk4.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk5-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk5.d: Likewise.
    
    gas	* testsuite/gas/i386/property-1.d: Adjust for new output format
    	from readelf.
    	* testsuite/gas/i386/property-2.d: Likewise.
    	* testsuite/gas/i386/x86-64-property-1.d: Likewise.
    	* testsuite/gas/i386/x86-64-property-2.d: Likewise.

commit 7b1dd701059ead8f3af3c081fc9727b9883a74c3
Author: Yoshinori Sato <ysato@users.sourceforge.jp>
Date:   Thu Aug 8 13:59:17 2019 +0100

    Update the handling of shift rotate  and load/store multiple instructions in the H8300 assembler.
    
    incldue	* opcode/h8300.h (EXPAND_UNOP_EXTENDED_B): Add MODEL.
    	(EXPAND_UNOP_EXTENDED_W): Likewise.
    	(EXPAND_UNOP_EXTENDED_L): Likewise.
    	(struct h8_opcode h8_opcodes): Likewise.
    	(struct h8_opcode h8_opcodes): tas / ldm / stm supported H8S or
    	later.

commit 8fb49c3c715190a5753980d0ddef721d816bbc3d
Author: Yoshinori Sato <ysato@users.sourceforge.jp>
Date:   Thu Aug 8 13:43:13 2019 +0100

    Move the h8300 assembler's MOVFPE and MOVTPE tests to the correct location.
    
    	* gas/testsuite/gas/h8300/h8300.exp: Fix movfpe and movtpe tests.
    	* gas/testsuite/gas/h8300/misc.s: Likewise.
    	* gas/testsuite/gas/h8300/misch.s: Likewise.
    	* gas/testsuite/gas/h8300/miscs.s: Likewise.

commit 7d55c1d61edfef2323f5d4675f0367ffb411c3cb
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Aug 8 10:24:08 2019 +0100

    Fix problem building PE DLL test generator with compilers that do not support c99/c11.
    
    	* testsuite/gentestdlls.c (main): Move declaration of loop
    	variable outside of the for() statement.

commit 178d871928b99112a39e0ca1284d6bbdde50ab6e
Author: Jordan Rupprecht via binutils <binutils@sourceware.org>
Date:   Wed Aug 7 13:48:14 2019 -0700

    readelf: mask unknown description data bytes.
    
    When printing unknown note types, readelf prints the raw description
    section byte-by-byte. However, it does not mask appropriately, e.g. it
    prints the byte 'ba' as 'ffffffba'.
    
    	* readelf.c (process_note): Mask unknown description data bytes.

commit b1791af06ec358d21dbe6a99129f11cc02438962
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Aug 8 00:00:22 2019 +0000

    Automatic date update in version.in

commit d88bdcb4a52bc041ed9b607dda22f478ec61a67b
Author: Phillipe Antoine <p.antoine@catenacyber.fr>
Date:   Wed Aug 7 17:22:29 2019 +0100

    Prevent objdump from aborting when asked to disassemble an unknown type of ARC binary file.
    
    	PR 24854
    	* arc-dis.c (arc_insn_length): Return 0 rather than aborting when
    	encountering an unknown machine type.
    	(print_insn_arc): Handle arc_insn_length returning 0.  In error
    	cases return -1 rather than calling abort.

commit 7c1c1904bedb8f873731651b420a23f573785728
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 7 23:37:49 2019 +0930

    Integer overflows in readelf get_data
    
    I noticed the test for overflow of amt = size * nmemb in get_data
    wasn't effective.  An obvious example of nmemb = 3 and size = half max
    value overflows but doesn't result in amt < nmemb.  This patch fixes
    this problem and reports a size truncation or overflow rather than out
    of memory in more cases.
    
    	* readelf.c (get_data): Improve overflow checks.

commit f927cc8faff0d2e39561c90f5182ebe99b2f77f6
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Aug 7 15:15:59 2019 +0100

    Improve the formatting of the title strings of the binutils manual pages.
    
    	PR 24777
    	* doc/binutils.texi: Ensure consistent formating of title strings
    	for man pages.  Extend the title of the size man page to be more
    	informative.

commit 123cd851480c728845a4c3f85da772dd8331cf19
Author: Tom Tromey <tromey@adacore.com>
Date:   Tue Aug 6 13:50:03 2019 -0600

    Make struct frame_arg self-managing
    
    This changes struct frame_arg to be self-managing and then fixes the
    various users.
    
    Tested by the buildbot.
    
    gdb/ChangeLog
    2019-08-07  Tom Tromey  <tromey@adacore.com>
    
    	* stack.c (print_frame_arg, read_frame_local, read_frame_arg)
    	(print_frame_args): Update.
    	* python/py-framefilter.c (py_print_single_arg, enumerate_args):
    	Update.
    	* mi/mi-cmd-stack.c (list_arg_or_local): Update.
    	* frame.h (struct frame_arg): Add initializers.
    	<error>: Now a unique_xmalloc_ptr.

commit 3d31bc39e655ea39721754fa0ea539a8a0c9b26c
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Aug 7 09:47:57 2019 +0100

    AArch64 pauth: Indicate unmasked addresses in backtrace
    
    Armv8.3-a Pointer Authentication causes the function return address to be
    obfuscated on entry to some functions. GDB must unmask the link register in
    order to produce a backtrace.
    
    The following patch adds markers of [PAC] to the bracktrace, to indicate
    which addresses needed unmasking.  This includes the backtrace when using MI.
    
    For example, consider the following backtrace:
    
    (gdb) bt
    0  0x0000000000400490 in puts@plt ()
    1  0x00000000004005dc in foo ("hello") at cbreak-lib.c:6
    2  0x0000000000400604 [PAC] in bar () at cbreak-lib.c:12
    3  0x0000000000400620 [PAC] in main2 () at cbreak.c:17
    4  0x00000000004005b4 in main () at cbreak-3.c:10
    
    The functions in cbreak-lib use pointer auth, which masks the return address
    to the previous function, causing the addresses of bar (in the library) and main2
    (in the main binary) to require unmasking in order to unwind the backtrace.
    
    An extra bool is added alongside the prev_pc in the frame structure.  At the
    point at which the link register is unmasked, the AArch64 port calls into frame
    to sets the bool.  This is the most efficient way of doing it.
    
    The marker is also added to the python frame printer, which is always printed if
    set.  The marker is not explicitly exposed to the python code.
    
    I expect this will potentially cause issues with some tests in the testsuite
    when Armv8.3 pointer authentication is used.  This should be fixed up in the
    the future once real hardware is available for full testsuite testing.
    
    gdb/ChangeLog:
    
            * NEWS: Expand the Pointer Authentication entry.
            * aarch64-tdep.c (aarch64_frame_unmask_address): Rename from this.
            (aarch64_frame_unmask_lr): ... to this.
            (aarch64_prologue_prev_register, aarch64_dwarf2_prev_register):
            Call aarch64_frame_unmask_lr.
            * frame.c (struct frame_info): Add "masked" variable.
            (frame_set_previous_pc_masked) (frame_get_pc_masked): New functions.
            (fprint_frame): Check for masked pc.
            * frame.h (frame_set_previous_pc_masked) (frame_get_pc_masked): New
            declarations.
    	* python/py-framefilter.c (py_print_frame): Check for masked pc.
            * stack.c (print_frame): Check for masked pc.
    
    gdb/doc/ChangeLog:
    
            * gdb.texinfo (AArch64 Pointer Authentication): New subsection.

commit fca8e23c31e6ec37bdcb5cf1d981a39d1e6fb6f6
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Aug 7 11:40:55 2019 +0200

    ld: use a specific linker script in BPF targets
    
    This patch makes the elf64bpf emulation to use it's own linker script,
    based on elf.sc.  At the moment, the only change is that the BPF
    executable doesn't define an entry symbol (BPF programs feature
    several entry points scattered in several sections.)
    
    This is a step towards the goal of generating proper ELF executables
    that would be loaded by the kernel's libbpf.  We are not there yet:
    BPF "programs" should still be linked with -r.
    
    This change removes a warning while linking executables, decreases the
    number of unsupported tests in the target from 47 to 29, and increases
    the number of expected passes from 104 to 145.
    
    Regtested in x86_64 for all targets.
    No regressions.
    
    ld/ChangeLog:
    
    2019-08-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* scripttempl/elf64bpf.sc: Adapted from elf.sc.
    	* emulparams/elf64bpf.sh (SCRIPT_NAME): Use elf64bpf.
    	(EMBEDDED): Define.
    	* testsuite/ld-bpf/call-1.d: Do not expect a warning regarding an
    	undefined entry symbol.
    	* testsuite/ld-bpf/jump-1.d: Likewise.
    	* testsuite/ld-undefined/undefined.exp: Do not pass '-e entry' to
    	ld in BPF targets, and do not expect line number information.
    	* testsuite/ld-srec/srec.exp (run_srec_test): xfail s-record tests
    	in BPF targets.

commit fc8de8e227e5146336d654f2fb4f98010d7cf12d
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Aug 7 11:33:13 2019 +0200

    bfd: use the ELF linker to perform relocations in BPF targets
    
    This patch changes the eBPF linker to provide a relocate_section
    function instead of relying on using special functions in relocation
    howtos.
    
    Tested in x86_64 host.
    No regressions.
    
    bfd/ChangeLog:
    
    2019-08-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* elf64-bpf.c (bpf_elf_relocate_section): New function.
    	(bpf_elf_insn_disp_reloc): Delete function.
    	(elf_backend_relocate_section): Define.

commit 97b031c5d6d42ff2b1758a8a8c332cb44ba9c06f
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 7 18:53:09 2019 +0930

    PR24644, OOM-Bug in _bfd_archive_64_bit_slurp_armap
    
    	PR 24644
    	* archive64.c (_bfd_archive_64_bit_slurp_armap): Properly check
    	for overflow in expressions involving nsymz.

commit 7cd00957a57f8d8195baf7a85ea21b879bbbaf91
Author: Omair Majid <omajid@redhat.com>
Date:   Wed Aug 7 10:20:56 2019 +0100

    Fix the binutils test for .NET assembly support so that it distinguishing between targets which do not support the x86 PE format at all, and those that do support it, but which do not recognise the .NET assembly variants.
    
    	* testsuite/binutils-all/objdump.exp
    	(test_objdump_dotnet_assemblies): Fix test to distinguish errors
    	in parsing simple pei-i386 and pei-x86-64 vs parsing the newly
    	introduced machine types.
    	* testsuite/gentestdlls.c (write_simple_dll): New function.
    	(main): Generate simple and Linux-specific variants of pei-i386
    	and pei-x86-64 files so both can be used by tests.

commit bc750500af6d0a6cb602a5d00b3f71b26ce96762
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Aug 7 10:46:52 2019 +0200

    x86: drop stray FloatMF
    
    The flag is supposed to be used in templates which allow for both a
    "short" and a "long" format memory operand. Drop it from templates not
    matching this pattern. In the control/status word cases it was (ab)used
    in place of the intended IgnoreSize.

commit 906799036a9bcc2b6f27fbcf894092bdc03f6da9
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 7 11:50:28 2019 +0930

    PR24876, readelf: heap-buffer-overflow in dump_ia64_unwind
    
    	PR 24876
    	* readelf.c (dump_ia64_unwind): Check that buffer is large
    	enough for "stamp" before reading.

commit 0cf9feb996cb32939840b13073a49310b1fd71e0
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 13 12:13:15 2019 -0600

    Introduce obstack_strndup
    
    This introduces obstack_strndup and changes gdb to use it.
    
    Note that obstack_strndup works like savestring, and not exactly like
    xstrndup.  The difference is that obstack_strndup uses the passed-in
    length, while xstrndup uses strnlen to choose the length.
    
    gdb/ChangeLog
    2019-08-06  Tom Tromey  <tom@tromey.com>
    
    	* stabsread.c (patch_block_stabs, read_one_struct_field)
    	(read_enum_type): Use obstack_strndup.
    	* rust-exp.y (rust_parser::copy_name): Use obstack_strndup.
    	* gdb_obstack.h (obstack_strndup): Use obstack_strndup.
    	* dwarf2read.c (guess_full_die_structure_name)
    	(anonymous_struct_prefix): Use obstack_strndup.
    	* dbxread.c (cp_set_block_scope): Use obstack_strndup.
    	* c-exp.y (yylex): Use obstack_strndup.
    	* ada-exp.y (write_object_renaming, write_ambiguous_var)
    	(write_var_or_type): Use obstack_strndup.

commit efba19b06a6f2baacb3920599f970d1333ffc358
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 13 12:09:51 2019 -0600

    Add obstack_strdup overload taking a std::string
    
    This adds an obstack_strdup overload that takes a std::string, and
    changes a few spots in gdb to use it.
    
    gdb/ChangeLog
    2019-08-06  Tom Tromey  <tom@tromey.com>
    
    	* symfile.c (reread_symbols): Use obstack_strdup.
    	* stabsread.c (read_type): Use obstack_strdup.
    	* gdb_obstack.h (obstack_strdup): New overload.
    	* dwarf2read.c (dwarf2_compute_name, create_dwo_unit_in_dwp_v1)
    	(create_dwo_unit_in_dwp_v2, build_error_marker_type)
    	(dwarf2_canonicalize_name): Use obstack_strdup.
    	* dbxread.c (read_dbx_symtab): Use obstack_strdup.
    	* cp-support.c (inspect_type, replace_typedefs_qualified_name):
    	Use obstack_strdup.

commit f25102f7b100337923d2c81ecc12a64d428e98fe
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 13 12:03:07 2019 -0600

    Make obstack_strdup inline
    
    This changes obstack_strdup to be an inline function.  This seems
    better to me, considering how small it is; but also it follows what
    the code did before the previous patch.
    
    gdb/ChangeLog
    2019-08-06  Tom Tromey  <tom@tromey.com>
    
    	* gdb_obstack.h (obstack_strdup): Define.
    	* gdb_obstack.c (obstack_strdup): Don't define.

commit 021887d88a040cf39f3afbd7da10bbe3ff1ad6c3
Author: Tom Tromey <tom@tromey.com>
Date:   Sat May 18 15:56:03 2019 -0600

    Use obstack_strdup more
    
    This changes gdb to use obstack_strdup when appropriate, rather than
    the wordier obstack_copy0.
    
    gdb/ChangeLog
    2019-08-06  Tom Tromey  <tom@tromey.com>
    
    	* xcoffread.c (SYMNAME_ALLOC, process_xcoff_symbol): Use
    	obstack_strdup.
    	* typeprint.c (typedef_hash_table::find_global_typedef): Use
    	obstack_strdup.
    	* symfile.c (allocate_compunit_symtab): Use obstack_strdup.
    	* stabsread.c (common_block_start): Use obstack_strdup.
    	* objfiles.c (set_objfile_main_name, objfile): Use
    	obstack_strdup.
    	* namespace.c (add_using_directive): Use obstack_strdup.
    	* mdebugread.c (parse_symbol, parse_type): Use obstack_strdup.
    	* jit.c (finalize_symtab): Use obstack_strdup.
    	* dwarf2read.c (fixup_go_packaging, dwarf2_physname)
    	(guess_partial_die_structure_name, partial_die_info::fixup)
    	(dwarf2_name): Use obstack_strdup.
    	* coffread.c (coff_read_struct_type, coff_read_enum_type): Use
    	obstack_strdup.
    	* c-exp.y (scan_macro_expansion): Use obstack_strdup.
    	* buildsym.c (buildsym_compunit::end_symtab_with_blockvector): Use
    	obstack_strdup.
    	* ada-lang.c (ada_decode_symbol): Use obstack_strdup.

commit b3c6d7ff98954032a3e7989dbd1f50f041e010bb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Aug 7 00:00:50 2019 +0000

    Automatic date update in version.in

commit d2834edcb67b9d9bd7163868fa0239948a2e57b7
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Wed Jul 31 22:44:13 2019 +0200

    Add a selftest that checks documentation invariants.
    
    Several approaches were discussed (mail or irc) to verify the invariants of
    the GDB help documentation : checking with apropos ., modifying add_cmd
    to do the check and output a warning, implement maintenance check-doc.
    
    A selftest was finally chosen as:
      * this can be run on demand, including by users if they want
        to check user defined commands.
      * it does not interact with the normal behaviour of apropos, define,
        python, ...
        (such as output warnings when a user defines a command help that
         does not respect the doc).
      * when the selftest runs, it checks the user defined and python
        defined commands currently defined.
    
    gdb/ChangeLog
    	* unittests/help-doc-selftests.c: New file.
    	* Makefile.in: Add the new file.

commit 590042fc45f857c981bee4e0c76f6b3b528a224e
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Sun Jun 9 11:16:20 2019 +0200

    Make first and last lines of 'command help documentation' consistent.
    
    With this patch, the help docs now respect 2 invariants:
      * The first line of a command help is terminated by a '.' character.
      * The last character of a command help is not a newline character.
    
    Note that the changes for the last invariant were done by Tom, as part of :
     [PATCH] Remove trailing newlines from help text
     https://sourceware.org/ml/gdb-patches/2019-06/msg00050.html
    but some occurrences have been re-introduced since then.
    
    Some help docs had to be rephrased/restructured to respect the above
    invariants.
    
    Before this patch, print_doc_line was printing the first line
    of a command help documentation, but stopping at the first '.'
    or ',' character.
    
    This was giving inconsistent results :
      * The first line of command helps was sometimes '.' terminated,
        sometimes not.
      * The first line of command helps was not always designed to be
        readable/understandable/unambiguous when stopping at the first
        '.' or ',' character.
    
    This e.g. created the following inconsistencies/problems:
    < catch exception -- Catch Ada exceptions
    < catch handlers -- Catch Ada exceptions
    < catch syscall -- Catch system calls by their names
    < down-silently -- Same as the `down' command
    while the new help is:
    > catch exception -- Catch Ada exceptions, when raised.
    > catch handlers -- Catch Ada exceptions, when handled.
    > catch syscall -- Catch system calls by their names, groups and/or numbers.
    > down-silently -- Same as the `down' command, but does not print anything.
    
    Also, the command help doc should not be terminated by a newline
    character, but this was not respected by all commands.
    The cli-option -OPT framework re-introduced some occurences.
    So, the -OPT build help framework was changed to not output newlines at the
    end of %OPTIONS% replacement.
    
    This patch changes the help documentations to ensure the 2 invariants
    given above.
    
    It implied to slightly rephrase or restructure some help docs.
    
    Based on the above invariants, print_doc_line (called by
    'apropos' and 'help' commands to print the first line of a command
    help) now outputs the full first line of a command help.
    
    This all results in a lot of small changes in the produced help docs.
    There are less code changes than changes in the help docs, as a lot
    of docs are produced by some code (e.g. the remote packet usage settings).
    
    gdb/ChangeLog
    2019-08-07  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* cli/cli-decode.h (print_doc_line): Add for_value_prefix argument.
    	* cli/cli-decode.c (print_doc_line): Likewise.  It now prints
    	the full first line, except when FOR_VALUE_PREFIX.  In this case,
    	the trailing '.' is not output, and the first character is uppercased.
    	(print_help_for_command): Update call to print_doc_line.
    	(print_doc_of_command): Likewise.
    	* cli/cli-setshow.c (deprecated_show_value_hack): Likewise.
    	* cli/cli-option.c (append_indented_doc): Do not append newline.
    	(build_help_option): Append newline after first appended_indented_doc
    	only if a second call is done.
    	(build_help): Append 2 new lines before each option, except the first
    	one.
    	* compile/compile.c (_initialize_compile): Add new lines after
    	%OPTIONS%, when not at the end of the help.
    	Change help doc or code
    	producing the help doc to respect the invariants.
    	* maint-test-options.c (_initialize_maint_test_options): Likewise.
    	Also removed the new line after 'Options:', as all other commands
    	do not put an empty line between 'Options:' and the first option.
    	* printcmd.c (_initialize_printcmd): Likewise.
    	* stack.c (_initialize_stack): Likewise.
    	* interps.c (interpreter_exec_cmd): Fix "Usage:" line that was
    	incorrectly telling COMMAND is optional.
    	* ada-lang.c (_initialize_ada_language): Change help doc or code
    	producing the help doc to respect the invariants.
    	* ada-tasks.c (_initialize_ada_tasks): Likewise.
    	* breakpoint.c (_initialize_breakpoint): Likewise.
    	* cli/cli-cmds.c (_initialize_cli_cmds): Likewise.
    	* cli/cli-logging.c (_initialize_cli_logging): Likewise.
    	* cli/cli-setshow.c (_initialize_cli_setshow): Likewise.
    	* cli/cli-style.c (cli_style_option::add_setshow_commands,
    	_initialize_cli_style): Likewise.
    	* corelow.c (core_target_info): Likewise.
    	* dwarf-index-cache.c (_initialize_index_cache): Likewise.
    	* dwarf2read.c (_initialize_dwarf2_read): Likewise.
    	* filesystem.c (_initialize_filesystem): Likewise.
    	* frame.c (_initialize_frame): Likewise.
    	* gnu-nat.c (add_task_commands): Likewise.
    	* infcall.c (_initialize_infcall): Likewise.
    	* infcmd.c (_initialize_infcmd): Likewise.
    	* interps.c (_initialize_interpreter): Likewise.
    	* language.c (_initialize_language): Likewise.
    	* linux-fork.c (_initialize_linux_fork): Likewise.
    	* maint-test-settings.c (_initialize_maint_test_settings): Likewise.
    	* maint.c (_initialize_maint_cmds): Likewise.
    	* memattr.c (_initialize_mem): Likewise.
    	* printcmd.c (_initialize_printcmd): Likewise.
    	* python/lib/gdb/function/strfns.py (_MemEq, _StrLen, _StrEq,
    	_RegEx): Likewise.
    	* ravenscar-thread.c (_initialize_ravenscar): Likewise.
    	* record-btrace.c (_initialize_record_btrace): Likewise.
    	* record-full.c (_initialize_record_full): Likewise.
    	* record.c (_initialize_record): Likewise.
    	* regcache-dump.c (_initialize_regcache_dump): Likewise.
    	* regcache.c (_initialize_regcache): Likewise.
    	* remote.c (add_packet_config_cmd, init_remote_threadtests,
    	_initialize_remote): Likewise.
    	* ser-tcp.c (_initialize_ser_tcp): Likewise.
    	* serial.c (_initialize_serial): Likewise.
    	* skip.c (_initialize_step_skip): Likewise.
    	* source.c (_initialize_source): Likewise.
    	* stack.c (_initialize_stack): Likewise.
    	* symfile.c (_initialize_symfile): Likewise.
    	* symtab.c (_initialize_symtab): Likewise.
    	* target-descriptions.c (_initialize_target_descriptions): Likewise.
    	* top.c (init_main): Likewise.
    	* tracefile-tfile.c (tfile_target_info): Likewise.
    	* tracepoint.c (_initialize_tracepoint): Likewise.
    	* tui/tui-win.c (_initialize_tui_win): Likewise.
    	* utils.c (add_internal_problem_command): Likewise.
    	* valprint.c (value_print_option_defs): Likewise.
    
    gdb/testsuite/ChangeLog
    2019-08-07  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* gdb.base/style.exp: Update tests for help doc new invariants.
    	* gdb.base/help.exp: Likewise.

commit 404f29021abaef86a341663444fb069eb1f0282a
Author: Frank Ch. Eigler <fche@redhat.com>
Date:   Tue Aug 6 11:23:48 2019 -0400

    [PR build/24886] disable glibc mcheck support
    
    This patch drops gdb's configury support for glibc's mcheck function.
    It has been observed to cause false abort()s, because it is
    thread-unsafe yet interposes every malloc/free operation.  So if any
    library transitively used by gdb also uses threads, then these
    functions can easily corrupt their own checking data.  These days, gcc
    ASAN and valgrind provide high quality checking, and mcheck is
    apparently itself being slowly deprecated.
    
    So, let's stop linking to it.  Attached patch drops the
    autoconf/Makefile machinery for both gdb and gdbserver.  No
    testsuite-visible impact.  IMHO not worth mentioning in NEWS.
    
    See also: https://sourceware.org/bugzilla/show_bug.cgi?id=9939
    
    gdb/ChangeLog
    
            PR build/24886
            * configure.ac: Drop enable-libmcheck support.
            * configure, config.in: Rebuild.
            * libmcheck.m4: Remove.
            * acinclude.m4: Don't include it.
            * Makefile.in: Don't distribute it.
            * top.c (print_gdb_configuration): Don't mention it.
    
    gdb/gdbserver/ChangeLog
    
            PR build/24886
            * configure.ac: Drop enable-libmcheck support.
            * configure, config.in: Rebuild.
            * acinclude.m4: Don't include it.

commit 046bebe1c0a367687bd693eb4594fcdcba0b8f7e
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 18 22:07:10 2019 -0600

    Add more styling to "disassemble"
    
    This adds more styling to the disassemble command.  In particular,
    addresses and function names in the disassembly are now styled.
    
    This required fixing a small latent bug in set_output_style.  This
    function always passed NULL to emit_style_escape; but when writing to
    a file other than gdb_stdout, it should emit the style escape
    directly.  (FWIW this is another argument for better integrating the
    pager with ui_file and getting rid of this entire layer.)
    
    gdb/ChangeLog
    2019-08-06  Tom Tromey  <tom@tromey.com>
    
    	* utils.c (set_output_style): Sometimes pass stream to
    	emit_style_escape.
    	* ui-out.h (class ui_out) <can_emit_style_escape>: Declare.
    	* record-btrace.c (btrace_insn_history): Update.
    	* mi/mi-out.h (class mi_ui_out) <can_emit_style_escape>: New
    	method.
    	* disasm.h (gdb_pretty_print_disassembler): Add uiout parameter.
    	Update initializers.
    	<m_uiout>: New field.
    	<m_di>: Move lower.
    	* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
    	Remove "uiout" parameter.
    	(dump_insns): Update.
    	* cli-out.h (class cli_ui_out) <can_emit_style_escape>: Declare.
    	* cli-out.c (cli_ui_out::can_emit_style_escape): New method.
    
    gdb/testsuite/ChangeLog
    2019-08-06  Tom Tromey  <tom@tromey.com>
    
    	* gdb.base/style.exp: Add disassemble test.
    	* gdb.base/style.c (some_called_function): New function.
    	(main): Use it.

commit ddbcedf5de138bc83d5d16554a3f44163dcaef7a
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Tue Aug 6 11:50:52 2019 -0500

    Replace int with enum block_enum where appropriate.
    
    For better readability and type safety.
    
    gdb/ChangeLog:
    
    2019-08-06  Christian Biesinger  <cbiesinger@google.com>
    
    	* symtab.c (symbol_cache_lookup): Change int to enum block_enum.
    	(error_in_psymtab_expansion): Likewise.
    	(lookup_symbol_via_quick_fns): Likewise.
    	(basic_lookup_transparent_type_quick): Likewise.
    	(basic_lookup_transparent_type_1): Likewise.

commit b08b16c8391bbcd706a4aaa4b09509e7c2b8c676
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Jul 22 15:20:24 2019 -0600

    Clean up source file error reporting
    
    print_source_lines_base reopens the source file every time that a
    source line is to be printed.  However, there's no need to do this so
    frequently -- it's enough to do it when switching source files, and
    otherwise rely on the cache.
    
    The code seems to try to avoid these multiple opens; at a guess I'd
    say something just got confused along the way.
    
    This patch fixes the problem by reorganizing the code both to make it
    more clear, and to ensure that reopens only occur when the "last
    source visited" changes.
    
    gdb/ChangeLog
    2019-08-06  Tom Tromey  <tromey@adacore.com>
    
    	* source.c (last_source_error): Now bool.
    	(print_source_lines_base): Make "noprint" bool.  Only open
    	source file when last_source_visited changes.

commit cb44333d99548bbbf7be06387a31877ee9322ab4
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Jul 22 14:31:43 2019 -0600

    Add file offsets to the source cache
    
    Currently, gdb stores the number of lines and an array of file offsets
    for the start of each line in struct symtab.  This patch moves this
    information to the source cache.  This has two benefits.
    
    First, it allows gdb to read a source file less frequently.
    Currently, a source file may be read multiple times: once when
    computing the file offsets, once when highlighting, and then pieces
    may be read again while printing source lines.  With this change, the
    file is read once for its source text and file offsets; and then
    perhaps read again if it is evicted from the cache.
    
    Second, if multiple symtabs cover the same source file, then this will
    share the file offsets between them.  I'm not sure whether this
    happens in practice.
    
    gdb/ChangeLog
    2019-08-06  Tom Tromey  <tromey@adacore.com>
    
    	* annotate.c (annotate_source_line): Use g_source_cache.
    	* source-cache.c (source_cache::get_plain_source_lines): Change
    	parameters.  Populate m_offset_cache.
    	(source_cache::ensure): New method.
    	(source_cache::get_line_charpos): New method.
    	(extract_lines): Move lower.  Change parameters.
    	(source_cache::get_source_lines): Move lower.
    	* source-cache.h (class source_cache): Update comment.
    	<get_line_charpos>: New method.
    	<get_source_lines>: Update comment.
    	<clear>: Clear m_offset_cache.
    	<get_plain_source_lines>: Change parameters.
    	<ensure>: New method
    	<m_offset_cache>: New member.
    	* source.c (forget_cached_source_info_for_objfile): Update.
    	(info_source_command): Use g_source_cache.
    	(find_source_lines, open_source_file_with_line_charpos): Remove.
    	(print_source_lines_base, search_command_helper): Use g_source_cache.
    	* source.h (open_source_file_with_line_charpos): Don't declare.
    	* symtab.h (struct symtab) <nlines, line_charpos>: Remove.
    	* tui/tui-source.c (tui_source_window::do_scroll_vertical):
    	Use g_source_cache.

commit 872dceaaff9b54764b8f510b549497b9d904b136
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Jul 22 12:41:23 2019 -0600

    Save plain text in the source cache
    
    Currently the source cache will only store highlighted text.  However,
    there's no reason it could not also store plain text, when styling is
    turned off.
    
    This patch makes this change.  This also simplifies the source cache
    code somewhat.
    
    gdb/ChangeLog
    2019-08-06  Tom Tromey  <tromey@adacore.com>
    
    	* source-cache.c (source_cache::get_plain_source_lines):
    	Remove "first_line" and "last_line" parameters.
    	(source_cache::get_source_lines): Cache plain text.
    	* source-cache.h (class source_cache)
    	<get_plain_source_lines>: Update.

commit 269249d9406096dd59aecd8845e960fdddb1ebfe
Author: Tom Tromey <tromey@adacore.com>
Date:   Tue Jul 23 08:22:50 2019 -0600

    Fix latent bug in source cache
    
    The source cache was not returning the final \n of the requested range
    of lines.  This caused regressions with later patches in this series,
    so this patch pre-emptively fixes the bug.
    
    This adds a self-test of "extract_lines" to the source cache code.  To
    make it simpler to test, I changed extract_lines to be a static
    function, and changed it's API a bit.
    
    gdb/ChangeLog
    2019-08-06  Tom Tromey  <tromey@adacore.com>
    
    	* source-cache.c (extract_lines): No longer a method.
    	Changed type of parameter.  Include final newline.
    	(selftests::extract_lines_test): New function.
    	(_initialize_source_cache): Likewise.
    	* source-cache.h (class source_cache)
    	<extract_lines>: Don't declare.

commit c0e8dcd87101119806c5bbca4c7b649c1b8c0996
Author: Tom Tromey <tromey@adacore.com>
Date:   Tue Jul 23 12:41:02 2019 -0600

    Change breakpoint::filter to be a unique_xmalloc_ptr
    
    This changes breakpoint::filter to be a unique_xmalloc_ptr, removing
    an explicit xfree, as well as a use of a "release" method.
    
    gdb/ChangeLog
    2019-08-06  Tom Tromey  <tromey@adacore.com>
    
    	* breakpoint.c (init_breakpoint_sal): Update.
    	(breakpoint): Update.
    	* breakpoint.h (struct breakpoint) <filter>: Now a
    	unique_xmalloc_ptr.

commit 128bf1fe608badb59d27f9c5c8ffb1a6a6d9d811
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Aug 6 15:40:08 2019 +0930

    LTO object insertion point
    
    This is a mostly cosmetic fix for cases like PR24873 where LTO
    recompiled objects were supposed to be inserted inside a group.  The
    specific case handled by this patch is when the first file inside a
    group is an archive, the first file claimed by the plugin.  Prior to
    this patch we would have inserted the recompiled objects before the
    group, which doesn't matter really since the entire group will be
    reloaded, but it looks a little wrong in map files.
    
    	PR 24873
    	* ldlang.c (find_replacements_insert_point): Return "before" flag.
    	(find_next_input_statement): New function.
    	(lang_process): When placing recompiled LTO objects before a
    	claimed archive, place them immediately before in the statement
    	list.

commit b02c4f162335ed055964f603ba3aca18b0e5c5bf
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Aug 6 15:23:28 2019 +0930

    PR24873, gcc -flto objects result in --start-group .. --end-group failure to include --as-needed libraries
    
    Reloading of archives (and checking --as-needed DSOs again) is
    disabled until we hit the plugin insert point.  It's necessary to do
    that because in a case like lib1.a lto.o lib2.a where lib1.a and
    lib2.a contain duplicate symbols, we want the lto.o recompiled object
    to pull in objects from lib2.a as necessary, but not from lib1.a.
    Unfortunately this heuristic fails when the insert point is inside a
    group, because ld actually loads the symbols from the recompiled
    object before running over the contours of the script, thus missing
    the fact that new undefs appeared in the group.
    
    	PR 24873
    	* ldlang.c (plugin_undefs): New static var.
    	(open_input_bfds <lang_group_statement_enum>): Loop on
    	plugin_undefs and hitting plugin_insert point.
    	(lang_process <lto_plugin_active>): Set plugin_undefs.

commit b39152b3e5befec363302d5d81ade36ab45d6d08
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Aug 6 00:00:18 2019 +0000

    Automatic date update in version.in

commit 0b27c27d0d3060171876736f05c39f9c86a65d3e
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Thu Aug 1 17:22:28 2019 -0500

    Add block['var'] accessor
    
    Currently we support iteration on blocks; this patch extends that to make
    subscript access work as well.
    
    gdb/ChangeLog:
    
    2019-08-05  Christian Biesinger  <cbiesinger@google.com>
    
    	* NEWS: Mention dictionary access on blocks.
    	* python/py-block.c (blpy_getitem): New function.
    	(block_object_as_mapping): New struct.
    	(block_object_type): Use new struct for tp_as_mapping field.
    
    gdb/doc/ChangeLog:
    
    2019-08-05  Christian Biesinger  <cbiesinger@google.com>
    
    	* python.texi (Blocks In Python): Document dictionary access on blocks.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-05  Christian Biesinger  <cbiesinger@google.com>
    
    	* gdb.python/py-block.exp: Test dictionary access on blocks.

commit 4ee94178afbe062bc244d28595f86d63633a7af7
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Wed Jul 31 17:10:50 2019 -0500

    Add a comment briefly explaining partial symbols
    
    Based on an explanation by tromey on IRC.
    
    gdb/ChangeLog:
    
    2019-08-05  Christian Biesinger  <cbiesinger@google.com>
    
    	* objfiles.h (objfile): Add a comment describing partial symbols.

commit 276cbbdf990f3f09acacdf3d9603b054ac7d29da
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Aug 5 16:15:14 2019 +0100

    Fix objcopy's note merging capabilities so that they no longer insist on the first note being a version note.
    
    	PR 24874
    	* objcopy.c (merge_gnu_build_notes): Do not insist on the first
    	note being a version note.

commit 580f1034d10934b757703110db068397c0c1e7bb
Author: Simon Marchi <simon.marchi@efficios.com>
Date:   Mon Aug 5 10:21:22 2019 -0400

    Increase timeout in gdb.mi/list-thread-groups-available.exp
    
    Running
    
        make check-read1 TESTS="gdb.mi/list-thread-groups-available.exp"
    
    on my machine results in timeout failures.  Running it while having
    `tail -F testsuite/gdb.log` on the side shows that the test is never
    really blocked, it is just slow at consuming the large output generated
    by `-list-thread-groups --available` (which lists all the processes on
    the system).
    
    If I increase the timeout to a large value, the test passes in ~30
    seconds (compared to under 1 second normally).
    
    Increase the timeout for the particular mi_gdb_test that is long to
    execute under read1.  The new timeout value is a bit arbitrary.  The
    default timeout is 10 seconds, so I set the new timeout to be
    "old-timeout * 10", so 100 seconds in the typical case.
    
    gdb/testsuite/ChangeLog:
    
    	PR gdb/24863
    	* gdb.mi/list-thread-groups-available.exp: Increase timeout for
    	-list-thread-groups --available test when running under
    	check-read1.

commit d86bd7cba1965c621b63792179febcf9eeb273ad
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Aug 5 15:41:04 2019 +0200

    [gdb/testsuite] Run read1 timeout tests with with_read1_timeout_factor
    
    When running tests with check-read1, we run into some timeouts where the tests
    are not easy to rewrite using gdb_test_sequence:
    ...
    FAIL: gdb.base/help.exp: help data (timeout)
    FAIL: gdb.base/help.exp: help files (timeout)
    FAIL: gdb.base/help.exp: help internals (timeout)
    FAIL: gdb.base/help.exp: help user-defined (timeout)
    FAIL: gdb.base/help.exp: help breakpoint "b" abbreviation (timeout)
    FAIL: gdb.base/help.exp: help breakpoint "br" abbreviation (timeout)
    FAIL: gdb.base/help.exp: help breakpoint "bre" abbreviation (timeout)
    FAIL: gdb.base/info-macros.exp: info macros 2 (timeout)
    FAIL: gdb.base/info-macros.exp: next (timeout)
    FAIL: gdb.base/info-macros.exp: info macros 3 (timeout)
    FAIL: gdb.base/info-macros.exp: next (timeout)
    FAIL: gdb.base/info-macros.exp: next (timeout)
    FAIL: gdb.base/info-macros.exp: info macros (timeout)
    FAIL: gdb.base/info-macros.exp: next (timeout)
    FAIL: gdb.base/info-macros.exp: next (timeout)
    FAIL: gdb.base/info-macros.exp: info macros 7 (timeout)
    FAIL: gdb.cp/nested-types.exp: ptype S10 (limit = -1) // parse failed (timeout)
    FAIL: gdb.cp/nested-types.exp: set print type nested-type-limit 1 (timeout)
    ...
    
    Fix these by increasing the timeout by a factor 10.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-05  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24863
    	* lib/gdb.exp (with_read1_timeout_factor): New proc.
    	* gdb.base/help.exp: Use with_read1_timeout_factor.
    	* gdb.base/info-macros.exp: Same.
    	* gdb.cp/nested-types.exp: Same.

commit 8abfcabcb49fcd8b95854a5b59e7928e3c6000ff
Author: Tom Tromey <tromey@adacore.com>
Date:   Fri Aug 2 08:12:31 2019 -0600

    Use _() in calls to build_help
    
    Currently some code in gdb uses build_help with N_(), like:
    
      static const std::string compile_print_help
        = gdb::option::build_help (N_("\
    
    I believe this is incorrect.  The N_ macro is used to mark text that
    should end up in the message catalog, but which will be translated by
    a later call to gettext.
    
    However, in this case, there is no later call to gettext, so (if gdb
    had translations), this text would remain untranslated.
    
    Instead, I think using the ordinary _() macro is correct here.
    Translators will have to know to preserve "%OPTIONS%" in the text --
    but that seems both unavoidable and fine.
    
    Tested by rebuilding as there's not much else to do.
    
    gdb/ChangeLog
    2019-08-05  Tom Tromey  <tromey@adacore.com>
    
    	* compile/compile.c (_initialize_compile): Use _(), not N_().
    	* thread.c (_initialize_thread): Use _(), not N_().
    	* stack.c (_initialize_stack): Use _(), not N_().
    	* printcmd.c (_initialize_printcmd): Use _(), not N_().

commit 23d188c74e7481bb0af3c42b84fc9cb0c94267e5
Author: Barnaby Wilks <barnaby.wilks@arm.com>
Date:   Mon Aug 5 12:43:38 2019 +0100

    Removes support in the ARM assembler for the unsigned variants of the VQ(R)DMLAH and VQ(R)DMLASH MVE instructions.
    
    Previously GAS would accept .u32, .u16 and .u8 suffixes to the VQ(R)DMLAH and VQ(R)DMLASH
    instructions, however the Armv8.1-M Mainline specification states that these functions only
    have signed variations (.s32, .s16 and .s8 suffixes).
    This is documented here:
    https://static.docs.arm.com/ddi0553/bh/DDI0553B_h_armv8m_arm.pdf?_ga=2.143079093.1892401233.1563295591-999473562.1560847439#page=1183
    
    gas	* config/tc-arm.c (do_mve_vqdmlah): Use N_S_32 macro.
    	(do_neon_qrdmlah): Use N_S_32 macro.
    	* testsuite/gas/arm/mve-vqdmlah-bad.d: New test.
    	* testsuite/gas/arm/mve-vqdmlah-bad.l: New test.
    	* testsuite/gas/arm/mve-vqdmlah-bad.s: New test.
    	* testsuite/gas/arm/mve-vqdmlah.d: Remove unsigned instruction tests.
    	* testsuite/gas/arm/mve-vqdmlah.s: Remove unsigned instruction tests.
    	* testsuite/gas/arm/mve-vqdmlash-bad.d: New test.
    	* testsuite/gas/arm/mve-vqdmlash-bad.l: New test.
    	* testsuite/gas/arm/mve-vqdmlash-bad.s: New test.
    	* testsuite/gas/arm/mve-vqdmlash.d: Remove unsigned instruction tests.
    	* testsuite/gas/arm/mve-vqdmlash.s: Remove unsigned instruction tests.
    
    opcodes	* arm-dis.c: Only accept signed variants of VQ(R)DMLAH and VQ(R)DMLASH
    	instructions.

commit a80cf5d88e028fa6a72b37fe50795e70bb6e3559
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Aug 5 12:51:58 2019 +0200

    [gdb/testsuite] Fail in gdb_compile if pie results in non-PIE executable
    
    When running gdb.base/break-idempotent.exp with
    --target_board=unix/-fno-PIE/-no-pie, we get:
    ...
    nr of expected passes            140
    ...
    
    The test-case is compiled once with nopie and once with pie, but in both cases
    we end up with a non-PIE executable.  The "-fno-PIE -no-pie" options specified
    using the target_board are interpreted by dejagnu as multilib_flags, and end up
    overriding the pie flags.
    
    Fix this by checking in gdb_compile if the resulting exec is non-PIE despite of
    a pie setting, and if so return an error:
    ...
    Running gdb/testsuite/gdb.base/break-idempotent.exp ...
    gdb compile failed, pie failed to generate PIE executable
    
                    === gdb Summary ===
    
    nr of expected passes            70
    nr of untested testcases         1
    ...
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-05  Tom de Vries  <tdevries@suse.de>
    
    	* lib/gdb.exp (version_at_least): Factor out of ...
    	(tcl_version_at_least): ... here.
    	(gdb_compile): Fail if pie results in non-PIE executable.
    	(readelf_version, readelf_prints_pie): New proc.
    	(exec_is_pie): Return -1 if unknown.

commit d09628385443574b556f2beaaba7588a2a5fb4c0
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Aug 5 12:51:58 2019 +0200

    [gdb/testsuite] Fix typo in tcl_version_at_least
    
    In tcl_version_at_least we compare a minor against a major version number:
    ...
        } elseif { $tcl_version_major == $major \
                      && $tcl_version_major >= $minor } {
    ...
    
    Fix this by using $tcl_version_minor in the comparison instead.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-05  Tom de Vries  <tdevries@suse.de>
    
    	* lib/gdb.exp (tcl_version_at_least): Fix typo.

commit e17869db99195849826eaaf5d2d0eb2cfdd7a2a7
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Aug 5 10:40:35 2019 +0100

    Catch potential integer overflow in readelf when processing corrupt binaries.
    
    	PR 24829
    	* readelf.c (apply_relocations): Catch potential integer overflow
    	whilst checking reloc location against section size.

commit 2b79f3761c834cd217407f75f867f6a761703ab3
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sun Aug 4 22:44:05 2019 -0400

    Remove some variables in favor of using gdb::optional
    
    While reading that code, I noticed that some variables essentially meant
    whether to consider some other variable or not.  I think using
    gdb::optional (which was not available when this code was written) is
    clearer, as it embeds the used/not used predicate directly in the type
    of the variable, making it harder to miss.
    
    gdb/ChangeLog:
    
    	* dwarf2read.c (struct dw2_symtab_iterator):
    	<want_specific_block>: Remove.
    	<block_index>: Change type to gdb::optional.
    	(dw2_symtab_iter_init): Remove WANT_SPECIFIC_BLOCK parameter,
    	change type of BLOCK_INDEX parameter to gdb::optional.
    	(dw2_symtab_iter_next): Re-write in function of gdb::optional.
    	(dw2_lookup_symbol): Don't pass argument for
    	WANT_SPECIFIC_BLOCK.
    	(dw2_expand_symtabs_for_function): Don't pass argument for
    	WANT_SPECIFIC_BLOCK, pass empty optional for BLOCK_INDEX.
    	(class dw2_debug_names_iterator)
    	<dw2_debug_names_iterator>: Remove WANT_SPECIFIC_BLOCK
    	parameter, change BLOCK_INDEX type to gdb::optional.
    	<m_want_specific_block>: Remove.
    	<m_block_index>: Change type to gdb::optional.
    	(dw2_debug_names_iterator::next): Change type of IS_STATIC to
    	gdb::optional.  Re-write in function of gdb::optional.
    	(dw2_debug_names_lookup_symbol): Don't pass argument for
    	WANT_SPECIFIC_BLOCK.
    	(dw2_debug_names_expand_symtabs_for_function): Don't pass
    	argument for WANT_SPECIFIC_BLOCK, pass empty optional for
    	BLOCK_INDEX.

commit 188a63736c70060180382e36364a23dcebe3c29c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Aug 5 00:00:29 2019 +0000

    Automatic date update in version.in

commit 2252ff3d9045b54bf3a2b54c7ba33320ccab9bc7
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Sun Aug 4 14:34:31 2019 -0700

    Skip GDB test reconnect-ctrl-c.exp if nointerrupts is set.
    
    2019-08-04  Sandra Loosemore  <sandra@codesourcery.com>
    
    	gdb/testsuite/
    	* gdb.server/reconnect-ctrl-c.exp: Skip if nointerrupts.

commit 26655f53069a2f8a8ccbc6b60537149383d28be1
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Sun Aug 4 14:26:39 2019 -0700

    Add check for readline support to more GDB tab-completion tests.
    
    2019-08-04  Sandra Loosemore  <sandra@codesourcery.com>
    
    	gdb/testsuite/
    	* lib/completion-support.exp (test_gdb_complete_none): Skip
    	tab completion tests if no readline support.
    	(test_gdb_complete_unique_re): Likewise.
    	(test_gdb_complete_multiple): Likewise.

commit 0b3303472d5fd742198f04dbf4322098be6c158c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Aug 4 00:01:03 2019 +0000

    Automatic date update in version.in

commit ae60f04e08bf48f65d9101a6ab63f3806e6fca5e
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Sat Aug 3 21:20:44 2019 +0200

    NEWS and documentation for info sources [-dirname | -basename] [--] [REGEXP].
    
    gdb/ChangeLog
    2019-08-03  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
            * NEWS: Mention changes to "info sources" command.
    
    gdb/doc/ChangeLog
    2019-08-03  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
            * gdb.texinfo (Symbols): Document new args -dirname and -basename
            of "info sources" command.

commit db4dc13eebbd73cddfe3abb6c001982c7bdbba3f
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Sun Mar 31 20:12:22 2019 +0200

    New test for 'info sources [-dirname | -basename] [--] [REGEXP]'.
    
    This patch introduces a test for the 'info sources' command
    and its new arguments [-dirname | -basename] [--] [REGEXP].
    
    gdb/testsuite/ChangeLog
    
    2019-08-03  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* gdb.base/info_sources.exp: New file.
    	* gdb.base/info_sources.c: New file.
    	* gdb.base/info_sources_base.c: New file.

commit 28cd9371e84144df3b9b8903770f71d39824f8f8
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Sun Mar 31 20:06:39 2019 +0200

    New "info sources" args [-dirname | -basename] [--] [REGEXP]
    
    gdb/ChangeLog
    
    2019-08-03  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* symtab.c (filename_partial_match_opts): New struct type.
    	(struct output_source_filename_data): New members
    	regexp, c_regexp, partial_match.
    	(output_source_filename): Use new members to decide to print file.
    	(info_sources_option_defs): New variable.
    	(make_info_sources_options_def_group, print_info_sources_header,
    	info_sources_command_completer):
    	New functions.
    	(info_sources_command): Read new optional arguments.
    	(_initialize_symtab): Update info sources help.

commit 6d6231ed5822782b76a2aad268cc4891e4f91dfc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Aug 3 00:00:16 2019 +0000

    Automatic date update in version.in

commit ca683e3a86d081fcf43685bee840086bd4c07443
Author: Alexandre Oliva <oliva@adacore.com>
Date:   Fri Aug 2 15:40:32 2019 -0300

    support Ada EH ABI v1
    
    A new pair of hooks used by Ada exception handlers, for correct
    release of reraised exception occurrences, involves the introduction
    of new v1 symbols that GDB should use when available.  The older, v0
    ABI remains available in newer runtimes for bootstrapping purposes
    only.
    
    
    for  gdb/ChangeLog
    
    	* ada-lang.c (exception_support_info_v0): Renamed from...
    	(default_exception_support_info): ... this.  Create new
    	definition for v1.
    	(ada_has_this_exception_support): Look up catch_handlers_sym.
    	(ada_exception_support_info_sniffer): Try v0 after default.

commit 89c52ae3a20e8d84a250095781c1e022af542b3f
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Aug 1 11:50:55 2019 +0930

    [GOLD] PowerPC64 pc-relative TLS support
    
    Gold version of git commit c213164ad2.
    
    elfcpp/
    	* powerpc.h (R_PPC64_TPREL34, R_PPC64_DTPREL34),
    	(R_PPC64_GOT_TLSGD34, R_PPC64_GOT_TLSLD34),
    	(R_PPC64_GOT_TPREL34, R_PPC64_GOT_DTPREL34): Define.
    gold/
    	* powerpc.cc (Target_powerpc::Scan::get_reference_flags): Set
    	flags for new relocations, and some missing older relocs.
    	(Target_powerpc::Scan::local): Handle new pcrel tls relocs.
    	Call set_has_static_tls for tprel relocs.
    	(Target_powerpc::Scan::global): Likewise.
    	(Target_powerpc::Relocate::relocate): Handle new pcrel tls relocs.

commit 6a010cf67a96adcaf80c74f926df6b42ce13e7df
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Aug 1 17:43:29 2019 +0930

    [GOLD] PowerPC relocation signed overflow check
    
    Relocations with right shifts were calculating wrong overflow status.
    Since the addr34 split-field reloc is implemented as an 18-bit high
    part with value shifted right by 16 and a 16-bit low part, most of the
    pc-relative relocs were affected.
    
    	* powerpc.cc (Powerpc_relocate_functions::rela, rela_ua): Perform
    	signed right shift for signed overflow check.

commit 97c0a07968a7c64e1de96abff8937d089f09b3e7
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 2 12:35:39 2019 +0930

    PR24871, readelf segv in dump_ia64_unwind
    
    	PR 24871
    	* readelf.c (ABSADDR): Delete.
    	(dump_ia64_unwind): Expand ABSADDR.  Check validity of info.section.

commit 1b611b2dc3075d20372557021f95ec326cdf8aa5
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 2 12:34:55 2019 +0930

    PowerPC tlsie test fix
    
    	* testsuite/ld-powerpc/tlsie.s: Correct medium model ELF sequence.

commit 371367a95037cac795af5cdc589a2aa0c7a4dcd3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Aug 2 00:00:28 2019 +0000

    Automatic date update in version.in

commit 0f52d45acd6c54aa47082778ffcbafddd423a5b4
Author: Jim Wilson <jimw@sifive.com>
Date:   Thu Aug 1 16:40:15 2019 -0700

    RISC-V: Fix lui relax failure with relro.
    
    	bfd/ChangeLog
    	Ilia Diachkov  <ilia.diachkov@optimitech.com>
    	* elfnn-riscv.c (_bfd_riscv_relax_lui): Set lui relax safety area to
    	two pages in relro presence.

commit 0eba165a74cdb039a5e6ed86e0396d80f68ca22c
Author: Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
Date:   Thu Aug 1 16:51:44 2019 -0300

    Remove directory names from gdb.base/batch-exit-status.exp
    
    Adjust gdb.base/batch-exit-status.exp so that test prefixes don't show
    directory names for the source scripts passed with -x, to make test
    results from different build directories comparable.
    
    gdb/testsuite/ChangeLog:
    2019-08-01  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
    
    	* gdb.base/batch-exit-status.exp: Call test_exit_status with
    	prefix argument.
    	(test_exit_status): Add prefix argument.

commit e0d0c518daa5e10a417d16ad8158e97016562342
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Mon Apr 22 12:35:13 2019 -0800

    xtensa: bfd: add special case to loop alignment check
    
    check_loop_aligned is used during link time relaxation to only allow
    transformations that don't violate loop body alignment requirements.
    Assembler can relax loops that have too long body by adding instructions
    between the loop instruction and the loop body. check_loop_aligned must
    check alignment of the first instruction of the actual loop body.
    Detect loop / rsr.lend / wsr.lbeg sequence used in assembly time
    relaxation and adjust alignment check when it's detected.
    
    bfd/
    2019-08-01  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* elf32-xtensa.c (insn_num_slots, get_rsr_lend_opcode)
    	(get_wsr_lbeg_opcode): New functions.
    	(check_loop_aligned): Detect relaxed loops and adjust loop_len
    	and insn_len for the first actual instruction of the loop.

commit f126416240a3ae1be69792361bca8bcbb84e62e8
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jul 31 11:50:23 2019 -0600

    Fix the ia64 libunwind build
    
    This fixes the ia64 libunwind build.
    
    gdb/ChangeLog
    2019-08-01  Tom Tromey  <tromey@adacore.com>
    
    	* ia64-libunwind-tdep.h (struct libunwind_descr): Include
    	gdbarch.h.

commit 0a7b24850e0cba956bd836ecb1f60959cbf75087
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Thu Aug 1 11:49:41 2019 -0500

    Include s12z-opc.h using ../opcodes.
    
    This file exists in binutils-gdb/opcodes, and nothing in Makefile.in adds this
    to the include path.  Default builds work because in-tree readline adds
    binutils-gdb/ to the include path (!). However, this is broken when compiling
    with system readline.
    
    Other files already use this way to include files in opcodes:
    ./gdb/lm32-tdep.c:#include "../opcodes/lm32-desc.h"
    ./gdb/or1k-tdep.h:#include "../opcodes/or1k-desc.h"
    ./gdb/mep-tdep.c:#include "../opcodes/mep-desc.h"
    
    etc.
    
    gdb/ChangeLog:
    
    2019-08-01  Christian Biesinger  <cbiesinger@google.com>
    
    	* s12z-tdep.c: Fix include path for s12z-opc.h.

commit c6bdbeb7c468489da9468445057d245929c3d91c
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Aug 1 16:51:15 2019 +0100

    Require GNU make 3.82
    
    Gdbserver has failed to build with GNU make 3.81 since commit 08f10e02be.
    
    Update the NEWS file to state that versions earlier than 3.82 are not
    supported.
    
    3.82 was released in 2010, 3.81 was released 2006. A quick investigation
    of the default GNU make version provided across various distros found the
    earliest provided version to be 3.82:
    *RHEL 7, Centos 6 - make 3.82
    *Fedora 27 - make 4.2.1
    *OpenSuse 42.2, SLES11 - make 4.2.1
    *Ubuntu 16.04/18.04 - make 4.1
    *Debian Jessie - make 4.0
    
    Note that Glibc requires at least 4.0, whereas GCC still allows 3.81.
    
    gdb/ChangeLog:
    
    	* NEWS: Require GNU make 3.82.

commit 59bd512b9c54c6fa2bd951cd10a1ca1e6ffb3dcf
Author: Tom de Vries <tdevries@suse.de>
Date:   Thu Aug 1 10:48:11 2019 +0200

    [gdb/testsuite] Fix gdb.threads/fork-plus-threads.exp timeout with check-run1
    
    With gdb.threads/fork-plus-threads.exp and check-run1 we get:
    ...
    FAIL: gdb.threads/fork-plus-threads.exp: detach-on-fork=off: \
      inferior 1 exited (timeout)
    ...
    
    Fix this by calling exp_continue for new thread and thread exited messages.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-01  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24863
    	* gdb.threads/fork-plus-threads.exp: Fix check-run1 timeout by
    	calling exp_continue for new thread and thread exited messages.

commit 2a3ad588e0758bc2c753dfa216c344036e5a22bc
Author: Tom de Vries <tdevries@suse.de>
Date:   Thu Aug 1 10:48:11 2019 +0200

    [gdb/testsuite] Fix gdb.base/structs.exp timeout with check-read1
    
    With gdb.base/structs.exp and check-read1 we get:
    ...
    FAIL: gdb.base/structs.exp: p chartest (timeout)
    ...
    
    Fix this by using gdb_test_sequence.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-01  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24863
    	* gdb.base/structs.exp: Fix check-read1 timeout using
    	gdb_test_sequence.
    	* lib/gdb.exp (tcl_version_at_least, lrepeat): New proc.

commit 117eb594228cf5447e49475e4fb33480c1f717a7
Author: Tom de Vries <tdevries@suse.de>
Date:   Thu Aug 1 10:48:11 2019 +0200

    [gdb/testsuite] Fix gdb.base/break-interp.exp timeout with check-read1
    
    With gdb.base/break-interp.exp and check-read1, we run get:
    ...
    FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: \
      BINprelinkNOdebugNOpieNO: symbol-less: info files (timeout)
    FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugNO: \
      BINprelinkNOdebugNOpieYES: symbol-less: info files (timeout)
    FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: \
      BINprelinkNOdebugNOpieNO: symbol-less: info files (timeout)
    FAIL: gdb.base/break-interp.exp: LDprelinkNOdebugIN: \
      BINprelinkNOdebugNOpieYES: symbol-less: info files (timeout)
    ...
    
    Fix this by calling exp_continue after each "info files" line.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-01  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24863
    	* gdb.base/break-interp.exp: Use exp_continue after each "info files"
    	line.

commit ed5913402bd4d50e342d4350ee5e4662d98a3947
Author: Tom de Vries <tdevries@suse.de>
Date:   Thu Aug 1 10:48:11 2019 +0200

    [gdb/testsuite] Fix gdb.base/signals.exp timeout with check-read1
    
    With gdb.base/signals.exp and check-read1 we get:
    ...
    FAIL: gdb.base/signals.exp: info signals (timeout)
    ...
    
    Fix this by using gdb_test_sequence.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-08-01  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24863
    	* gdb.base/signals.exp: Fix check-read1 timeout using gdb_test_sequence.

commit 776ab89fe3cdce91cd644058c9fcda0c506f995b
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 31 23:10:40 2019 +0930

    PR24806, Linking with -T inside --start-group/--end-group
    
    This patch processes INSERT AFTER and INSERT BEFORE in a user -T
    script when such a script is invoked on the command line inside
    --start-group/--end-group.  Also, ld now warns when the user simply
    forgot --end-group.
    
    	PR 24806
    	* ldlang.c (process_insert_statements): Add start of list
    	parameter.  Use rather than lang_os_list.head.  Process insert
    	statements inside group statements with a recursive call.
    	(lang_process): Adjust process_insert_statements call.
    	* lexsup.c (parse_args): Warn when adding missing --end-group.

commit 5c1e6d53a518442741f05175dbded0d1880f4759
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 31 16:45:14 2019 +0930

    Rename lang_output_section_statement to lang_os_list
    
    The idea is to make it a little easier to find uses of this list,
    so searches don't hit occurrences of lang_output_section_statement_type
    and lang_output_section_statement_enum.
    
    	* ldlang.h (lang_os_list): Rename from lang_output_section_statement.
    	* ldlang.c: Likewise throughout file.
    	* emultempl/alphaelf.em: Likewise.
    	* emultempl/elf32.em: Likewise.
    	* emultempl/mmo.em: Likewise.
    	* emultempl/pe.em: Likewise.
    	* emultempl/pep.em: Likewise.
    	* emultempl/ppc32elf.em: Likewise.
    	* emultempl/spuelf.em: Likewise.

commit 52b5a0c663ba7cb4f1488a7e96addc303fc6e021
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Aug 1 00:00:29 2019 +0000

    Automatic date update in version.in

commit 0630887d4ee35ab2236d6e2f3be3a86e6d881387
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jul 31 00:00:21 2019 +0000

    Automatic date update in version.in

commit a2bd7b82ee2847d0b9bc6994b7248306de3a618f
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 6 08:31:57 2019 -0600

    Don't declare tui_copy_win or tui_box_win
    
    tui_copy_win and tui_box_win are not implemented, so don't declare
    them.
    
    gdb/ChangeLog
    2019-07-16  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.h (tui_copy_win, tui_box_win): Don't
    	declare.

commit c0d6f62fcec939ab896e4839f6aa14ebfcd43565
Author: Jim Wilson <jimw@sifive.com>
Date:   Tue Jul 30 14:42:16 2019 -0700

    RISC-V: Fix minor issues with FP csr instructions.
    
    	Mel Chen <mel.chen@sifive.com>
    	gas/
    	* testsuite/gas/riscv/alias-csr.s: Add testcase for CSR-access
    	alias instructions.
    	* testsuite/gas/riscv/no-aliases-csr.d: Run testcase alias-csr.s with
    	-Mno-aliases.
    	* testsuite/gas/riscv/alias-csr.d: Run testcase alias-csr.s.
    	* testsuite/gas/riscv/priv-reg.d: Update.
    	opcodes/
    	* riscv-opc.c (riscv_opcodes): Set frsr, fssr, frcsr, fscsr, frrm,
    	fsrm, fsrmi, frflags, fsflags, fsflagsi to alias instructions.
    	* riscv-opc.c (riscv_opcodes): Adjust order of frsr, frcsr, fssr,
    	fscsr.

commit aa3b653351504e262fb455af5efb6eea6d981597
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Jun 6 11:20:51 2019 -0600

    Allow nested function displays
    
    In Ada, it's possible to have nested functions.  However,
    block.c:contained_in does not recognize this.  Normally, this is no
    problem, but if gdb is stopped inside a nested function, then you can
    end up in the unexpected situation that "print" of an expression will
    work, whereas "display" of the same expression will not -- because
    contained_in returns 0.
    
    This patch simply removes the BLOCK_FUNCTION check from contained_in.
    The rationale here is that in languages without nested functions, this
    will not cause any issues.
    
    gdb/ChangeLog
    2019-07-30  Tom Tromey  <tromey@adacore.com>
    
    	* block.c (contained_in): Remove BLOCK_FUNCTION check.
    
    gdb/testsuite/ChangeLog
    2019-07-30  Tom Tromey  <tromey@adacore.com>
    
    	* gdb.ada/display_nested.exp: New file.
    	* gdb.ada/display_nested/foo.adb: New file.
    	* gdb.ada/display_nested/pack.adb: New file.
    	* gdb.ada/display_nested/pack.ads: New file.

commit a1530dc7319595b5980e8501092782724c946351
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Sun Jun 2 18:12:28 2019 -0700

    Allow display of negative offsets in print_address_symbolic()
    
    When examining addresses associated with blocks with non-contiguous
    address ranges, it's not uncommon to see large positive offsets which,
    for some address width, actually represent a smaller negative offset.
    Here's an example taken from the test case (using the
    dw2-ranges-func-lo-cold executable):
    
        (gdb) x/5i foo_cold
           0x40110d <foo+4294967277>:	push   %rbp
           0x40110e <foo+4294967278>:	mov    %rsp,%rbp
           0x401111 <foo+4294967281>:	callq  0x401106 <baz>
           0x401116 <foo+4294967286>:	nop
           0x401117 <foo+4294967287>:	pop    %rbp
    
    This commit, in conjuction with an earlier patch from this series, causes
    cases like the above to be displayed like this (below) instead:
    
    (gdb) x/5i foo_cold
       0x40110d <foo_cold>:	push   %rbp
       0x40110e <foo-18>:	mov    %rsp,%rbp
       0x401111 <foo-15>:	callq  0x401106 <baz>
       0x401116 <foo-10>:	nop
       0x401117 <foo-9>:	pop    %rbp
    
    Note that the address of foo_cold is now (due to another patch) being
    displayed as <foo_cold> instead of <foo+BigOffset>.  The subsequent
    lines are shown as negative offsets from foo.
    
    Disassembly using the "disassemble" command is somewhat affected by
    these changes:
    
    Before:
    
    (gdb) disassemble foo_cold
    Dump of assembler code for function foo:
    Address range 0x401120 to 0x40113b:
       0x0000000000401120 <+0>:	push   %rbp
       0x0000000000401121 <+1>:	mov    %rsp,%rbp
       0x0000000000401124 <+4>:	callq  0x401119 <bar>
       0x0000000000401129 <+9>:	mov    0x2ef1(%rip),%eax        # 0x404020 <e>
       0x000000000040112f <+15>:	test   %eax,%eax
       0x0000000000401131 <+17>:	je     0x401138 <foo+24>
       0x0000000000401133 <+19>:	callq  0x40110d <foo+4294967277>
       0x0000000000401138 <+24>:	nop
       0x0000000000401139 <+25>:	pop    %rbp
       0x000000000040113a <+26>:	retq
    Address range 0x40110d to 0x401119:
       0x000000000040110d <+-19>:	push   %rbp
       0x000000000040110e <+-18>:	mov    %rsp,%rbp
       0x0000000000401111 <+-15>:	callq  0x401106 <baz>
       0x0000000000401116 <+-10>:	nop
       0x0000000000401117 <+-9>:	pop    %rbp
       0x0000000000401118 <+-8>:	retq
    End of assembler dump.
    
    After:
    
    (gdb) disassemble foo_cold
    Dump of assembler code for function foo:
    Address range 0x401120 to 0x40113b:
       0x0000000000401120 <+0>:	push   %rbp
       0x0000000000401121 <+1>:	mov    %rsp,%rbp
       0x0000000000401124 <+4>:	callq  0x401119 <bar>
       0x0000000000401129 <+9>:	mov    0x2ef1(%rip),%eax        # 0x404020 <e>
       0x000000000040112f <+15>:	test   %eax,%eax
       0x0000000000401131 <+17>:	je     0x401138 <foo+24>
       0x0000000000401133 <+19>:	callq  0x40110d <foo_cold>
       0x0000000000401138 <+24>:	nop
       0x0000000000401139 <+25>:	pop    %rbp
       0x000000000040113a <+26>:	retq
    Address range 0x40110d to 0x401119:
       0x000000000040110d <-19>:	push   %rbp
       0x000000000040110e <-18>:	mov    %rsp,%rbp
       0x0000000000401111 <-15>:	callq  0x401106 <baz>
       0x0000000000401116 <-10>:	nop
       0x0000000000401117 <-9>:	pop    %rbp
       0x0000000000401118 <-8>:	retq
    End of assembler dump.
    
    Note that negative offsets are now displayed without the leading "+".
    Also, the callq to foo_cold is now displayed as such instead of a callq
    to foo with a large positive offset.
    
    gdb/ChangeLog:
    
    	* printcmd.c (print_address_symbolic): Print negative offsets.
    	(build_address_symbolic): Force signed arithmetic when computing
    	offset.

commit 2906593ffecef89f8d64e0f1ca21494be71d0ebd
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Tue Jul 30 11:04:37 2019 -0500

    [PR/24474] Add gdb.lookup_static_symbol to the python API
    
    Similar to lookup_global_symbol, except that it checks the
    STATIC_SCOPE.
    
    gdb/ChangeLog:
    
    2019-07-30  Christian Biesinger  <cbiesinger@google.com>
    
    	PR/24474: Add a function to lookup static variables.
    	* NEWS: Mention this new function.
    	* python/py-symbol.c (gdbpy_lookup_static_symbol): New function.
    	* python/python-internal.h (gdbpy_lookup_static_symbol): New function.
    	* python/python.c (python_GdbMethods): Add new function.
    
    gdb/doc/ChangeLog:
    
    2019-07-30  Christian Biesinger  <cbiesinger@google.com>
    
    	* python.texi (Symbols In Python): Document new function
    	gdb.lookup_static_symbol.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-30  Christian Biesinger  <cbiesinger@google.com>
    
    	* gdb.python/py-symbol.c: Add a static variable and one in an anonymous
    	namespace.
    	* gdb.python/py-symbol.exp: Test gdb.lookup_static_symbol.

commit 5c4dde850c0d4874d3bbe6dd1989bf0f7a5ed1c3
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Tue Jul 30 10:32:01 2019 -0500

    Add missing changelog entry
    
    I forgot to commit the change before pushing commit
    25ec8924842a215e7f684d3a5076607409ac822f

commit 0f575925b6ff89def089e6b6ba810ee547d3978d
Author: Tom de Vries <tdevries@suse.de>
Date:   Tue Jul 30 16:15:46 2019 +0200

    [gdb/testsuite] Work around tcl bug in libsegfault.exp with check-read1
    
    When running libsegfault.exp with check-read1, I get:
    ...
    Running gdb/testsuite/gdb.base/libsegfault.exp ...
    ERROR: tcl error sourcing gdb/testsuite/gdb.base/libsegfault.exp.
    ERROR: no such variable
        (read trace on "env(LD_PRELOAD)")
        invoked from within
    "set env(LD_PRELOAD)"
        ("uplevel" body line 1)
        invoked from within
    "uplevel 1 [list set $var]"
        invoked from within
    "if [uplevel 1 [list array exists $var]] {
                    set saved_arrays($var) [uplevel 1 [list array get $var]]
                } else {
                    set saved_scalars($var) [uplevel ..."
        invoked from within
    "if [uplevel 1 [list info exists $var]] {
                if [uplevel 1 [list array exists $var]] {
                    set saved_arrays($var) [uplevel 1 [list array get $var]]
              ..."
        (procedure "save_vars" line 11)
        invoked from within
    "save_vars { env(LD_PRELOAD) } {
            if { ![info exists env(LD_PRELOAD) ]
                 || $env(LD_PRELOAD) == "" } {
                set env(LD_PRELOAD) "$lib"
            } else {
             ..."
        (procedure "gdb_spawn_with_ld_preload" line 4)
        invoked from within
    "gdb_spawn_with_ld_preload $libsegfault """
    ...
    
    There are several things here interacting with environment variable
    LD_PRELOAD:
    - the expect "binary" build/gdb/testsuite/expect-read1 with does
      export LD_PRELOAD=build/gdb/testsuite/read1.so before calling native expect
    - read1.so which does unsetenv ("LD_PRELOAD") upon first call to read
    - the test-case, which wants to set or append libSegFault.so to LD_PRELOAD
    
    The error occurs when accessing $env(LD_PRELOAD), in a branch where
    "info exists env(LD_PRELOAD)" returns true. AFAIU, this is
    https://core.tcl-lang.org/tcl/tktview?name=67fd4f973a "incorrect results of
    'info exists' when unset env var in one interp and check for existence from
    another interp".
    
    Work around the tcl bug by not unsetting the variable, but setting it to ""
    instead:
    ...
    -      unsetenv ("LD_PRELOAD");
    +      setenv ("LD_PRELOAD", "", 1);
    ...
    
    Verified that reverting commit de28a3b72e "[gdb/testsuite, 2/2] Fix
    gdb.linespec/explicit.exp with check-read1" reintroduced the check-read1
    failure in gdb.linespec/explicit.exp.
    
    This fixes a similar error in attach-slow-waitpid.exp, which also sets
    LD_PRELOAD.
    
    Tested on x86_64-linux with check-read1.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-30  Tom de Vries  <tdevries@suse.de>
    
    	* lib/read1.c (read): Don't use unsetenv (v), use setenv (v, "", 1)
    	instead.

commit b13057d9ceaa4944dc2d0ebf5df750d9350d0727
Author: Tom de Vries <tdevries@suse.de>
Date:   Tue Jul 30 09:42:07 2019 +0200

    [gdb/testsuite] Fail in gdb_compile if nopie results in PIE executable
    
    When running gdb.base/dump.exp with --target_board=unix/-fPIE/-pie, we get:
    ...
    Running gdb/testsuite/gdb.base/dump.exp ...
    FAIL: gdb.base/dump.exp: dump array as value, intel hex
    ...
    
    The FAIL happens because although the test specifies nopie, the exec is
    in fact compiled as PIE.  The "-fPIE -pie" options specified using the
    target_board are interpreted by dejagnu as multilib_flags, and end up
    overriding the nopie flags.
    
    Fix this by checking in gdb_compile if the resulting exec is PIE despite of
    a nopie setting, and if so return an error:
    ...
    Running gdb/testsuite/gdb.base/dump.exp ...
    gdb compile failed, nopie failed to prevent PIE executable
    
                    === gdb Summary ===
    
    nr of untested testcases         1
    ...
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-30  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24834
    	* lib/gdb.exp (gdb_compile): Fail if nopie results in PIE executable.
    	(exec_is_pie): New proc.

commit 34d5c40a07be4bc195d5ed9aecf4eb2faa1482bc
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jul 30 13:14:36 2019 +0930

    Re: Support .gnu.lto_.lto section in ELF files
    
    	PR 24768
    	* bfd.c (struct bfd): Add lto_slim_object flag.
    	* bfd-in2.h: Regenerate.

commit 25ec8924842a215e7f684d3a5076607409ac822f
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Mon Jul 29 21:00:21 2019 -0500

    Fix misspelling (nonexistant -> nonexistent)
    
    gdb/testsuite/ChangeLog:
    
    2019-07-29  Christian Biesinger  <cbiesinger@google.com>
    
    	* gdb.python/py-objfile.exp: Fix misspelling (nonexistant -> nonexistent)

commit c620ed8866cc90ccfa363daf98ce7061d076d598
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Tue Jun 25 15:45:41 2019 -0500

    Add Objfile.lookup_{global,static}_symbol functions
    
    This is essentially the inverse of Symbol.objfile. This allows
    handling different symbols with the same name (but from different
    objfiles) and can also be faster if the objfile is known.
    
    gdb/ChangeLog:
    
    2019-07-29  Christian Biesinger  <cbiesinger@google.com>
    
    	* NEWS: Mention new functions Objfile.lookup_{global,static}_symbol.
    	* python/py-objfile.c (objfpy_lookup_global_symbol): New function.
    	(objfpy_lookup_static_symbol): New function.
    	(objfile_object_methods): Add new functions.
    
    gdb/doc/ChangeLog:
    
    2019-07-29  Christian Biesinger  <cbiesinger@google.com>
    
    	* python.texi (Objfiles In Python): Document new functions
    	  Objfile.lookup_{global,static}_symbol.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-29  Christian Biesinger  <cbiesinger@google.com>
    
    	* gdb.python/py-objfile.c: Add global and static vars.
    	* gdb.python/py-objfile.exp: Test new functions Objfile.
    	  lookup_global_symbol and lookup_static_symbol.

commit e48de49be52cb6e0fe3edbcdc3e63bbc2465d930
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jul 30 00:00:19 2019 +0000

    Automatic date update in version.in

commit 3d2357068b03edc850b3d84a27dbe6ad12a66d6f
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jul 28 15:02:35 2019 -0600

    Two fixes for test suite's terminal
    
    Exactly which escape sequences are emitted by gdb in TUI mode are
    determined largely by the curses implementation.  Testing my latest
    (as yet unsubmitted) series to refactor the TUI showed a couple of
    failures that I tracked to the test suite's terminal implementation.
    
    In particular, the CSI "@" sequence was not implemented; and the CSI
    "X" sequence was implemented incorrectly.
    
    This patch fixes both of these problems.  Tested on x86-64 Fedora 28.
    
    gdb/testsuite/ChangeLog
    2019-07-29  Tom Tromey  <tom@tromey.com>
    
    	* lib/tuiterm.exp (Term::_csi_@): New proc.
    	(Term::_csi_X): Don't move cursor.

commit bc4268a5d926c8f29e42d245322145dad131627f
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Sat May 4 23:48:36 2019 +0200

    Document 'set print frame-info|frame-arguments presence'.
    
    gdb/ChangeLog
    2019-06-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* NEWS: Mention 'set|show print frame-info'.  Mention new
    	'presence' value for 'frame-arguments'.  Mention new '-frame-info'
    	backtrace argument.  Mention that python frame filtering code
    	is now consistent with what 'backtrace' command prints.
    
    gdb/doc/ChangeLog
    2019-07-29  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* gdb.texinfo (Backtrace): Document the new '-frame-info'
    	backtrace option.  Reference 'set print frame-info'.
    	(Print Settings): Document 'set|show print frame-info'.
    	Document new 'presence' value for 'set print frame-arguments.

commit c7e4c0a6482cebcf8b129d1008a2c553a0183aee
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Sat May 4 23:47:57 2019 +0200

    Test 'set print frame-info|frame-arguments presence'.
    
    Updated tests to test the new options and new values.
    Test the default for print_what in python frame filtering.
    Updated the tests impacted by the default in python frame filtering
    which is now consistent with the backtrace command.
    
    gdb/testsuite/ChangeLog
    2019-07-29  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* gdb.base/options.exp: Update backtrace - completion to
    	new option -frame-info.
    	* gdb.base/frame-args.exp: Test new 'frame-arguments presence'.
    	Test new 'set print frame-info'.  Test backtrace -frame-info
    	overriding 'set print frame-info'.
    	* gdb.python/py-framefilter.exp: Test new 'frame-arguments presence'.
    	Test new 'set print frame-info'.
    	Verify consistency of backtrace with and without filters, with and
    	without -no-filters.
    	* gdb.python/py-framefilter-invalidarg.exp: Update to new print_what
    	default.

commit 4b5e8d19afe4accc3dd87aeba58d6704e71c610d
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Sat May 4 23:40:56 2019 +0200

    Implement 'set print frame-info|frame-arguments presence'.
    
    New settings allow to better control what frame information is printed.
    
    'set print frame-info' allows to override the default frame information
    printed when a GDB command prints a frame.
    The backtrace command has a new option -frame-info to override
    this global setting.
    
    It is now possible to have very short frame information by using the
    new 'set print frame-arguments presence' and
    'set print frame-info short-location'.
    
    Combined with 'set print address off', a backtrace will only show
    the essential information to see the function call chain, e.g.:
      (gdb) set print address off
      (gdb) set print frame-arguments presence
      (gdb) set print frame-info short-location
      (gdb) bt
      #0  break_me ()
      #1  call_me (...)
      #2  main ()
      (gdb)
    
    This is handy in particular for big backtraces with functions having
    many arguments.
    
    Python frame filter printing logic has been updated to respect the new
    setting in non MI mode.
    
    Also, the default frame information printed was inconsistent when
    backtrace was printing the frame information itself, or when the python
    frame filtering code was printing the frame information.
    This patch changes the default of python frame filtering to have a
    consistent behaviour regarding printed frame-information, whatever
    the presence/activity/matches of python filters.
    
    2019-07-29  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* frame.h (enum print_what): New value 'SHORT_LOCATION', update
    	comments.
    	(print_frame_info_auto, print_frame_info_source_line,
    	print_frame_info_location, print_frame_info_source_and_location,
    	print_frame_info_location_and_address, print_frame_info_short_location):
    	New declarations.
    	(struct frame_print_options): New member print_frame_info.
    	* extension.h (enum ext_lang_frame_args): New value CLI_PRESENCE.
    	* stack.h (get_user_print_what_frame_info): New declaration.
    	(frame_show_address): New declaration.
    	* stack.c (print_frame_arguments_choices): New value 'presence'.
    	(print_frame_info_auto, print_frame_info_source_line,
    	print_frame_info_location, print_frame_info_source_and_location,
    	print_frame_info_location_and_address, print_frame_info_short_location,
    	print_frame_info_choices, print_frame_info_print_what): New definitions.
    	(print_frame_args): Only print dots for args if print frame-arguments
    	is 'presence'.
    	(frame_print_option_defs): New element for "frame-info".
    	(get_user_print_what_frame_info): New function.
    	(frame_show_address): Make non static.  Move comment to stack.h.
    	(print_frame_info_to_print_what): New function.
    	(print_frame_info): Update comment.  Use fp_opts.print_frame_info
    	to decide what to print.
    	(backtrace_command_1): Handle the new print_frame_arguments_presence
    	value.
    	(_initialize_stack): Call add_setshow_enum_cmd for frame-info.
    	* python/py-framefilter.c (py_print_args): Handle CLI_PRESENCE.
    	(py_print_frame): In non-mi mode, use LOCATION as default for
    	print_what, similarly to frame information printed directly by
    	backtrace command. Handle frame-info user option in non MI mode.

commit de28a3b72e4e85233c6ece9063696b13ef170c00
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jul 29 16:24:57 2019 +0200

    [gdb/testsuite, 2/2] Fix gdb.linespec/explicit.exp with check-read1
    
    When running gdb.linespec/explicit.exp with check-read1, we get:
    ...
    (gdb) PASS: gdb.linespec/explicit.exp: set max-completions unlimited
    break \a
    -function
      ...
    top
    (gdb) PASS: gdb.linespec/explicit.exp: complete with no arguments
    break
    -function
     ...
    top
    (gdb) FAIL: gdb.linespec/explicit.exp: complete with no arguments (clearing input line)
    ...
    
    The problem is that the send_gdb "\t\t" triggers completion twice:
    ...
            set tst "complete with no arguments"
            send_gdb "break \t"
            gdb_test_multiple "" $tst {
                "break \\\x07" {
                    send_gdb "\t\t"
                    gdb_test_multiple "" $tst {
    	...
    	}
    	clear_input_line $tst
    ...
    but the following gdb_test_multiple only parses it once, so the second
    completion is left for clear_input_line, which fails.
    
    Fix this by triggering completion only once.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-29  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.linespec/explicit.exp: Fix completion trigger for "complete with
    	no arguments".

commit 507dd60e28d0ef35ffb7c0880933d6b88cc3f5bd
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jul 29 16:24:57 2019 +0200

    [gdb/testsuite, 1/2] Fix gdb.linespec/explicit.exp with check-read1
    
    When running gdb.linespec/explicit.exp with check-read1, we get:
    ...
    (gdb) PASS: gdb.linespec/explicit.exp: complete unique file name: break -source "3explicit.c"
    break -source exp^Glicit^G^M
    explicit.c   explicit2.c  ^M
    (gdb) FAIL: gdb.linespec/explicit.exp: complete non-unique file name
    ...
    
    The problem is that we have a gdb_test_multiple where we match two regexps:
    ...
            set tst "complete non-unique file name"
            send_gdb "break -source exp\t"
            gdb_test_multiple "" $tst {
                -re "break -source exp\\\x07licit" {
                    ...
                }
    
                -re "break -source exp\\\x07l" {
                    # This pattern may occur when glibc debuginfo is installed.
    		...
                }
            }
    ...
    but since second is a substring of the first, we'll usually match the first,
    but with check-read1 we'll match the second.
    
    Fix this by using a single regexp and merging the related code.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-29  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.linespec/explicit.exp: Fix gdb_test_multiple regexps where second
    	is a substring of the first for "complete non-unique file name".

commit 5beafce944b6b200d1fa80d7f4a8656cb2ecf2fa
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jul 29 15:07:47 2019 +0200

    [gdb/testsuite] Fix python.exp with check-read1
    
    when running python/python.exp with check-read1, we get:
    ...
    (gdb) PASS: gdb.python/python.exp: prompt substitution readline - end
    python gdb.prompt_hook = error_prompt^M
    Python Exception <type 'exceptions.RuntimeError'> Python exception calledPASS: gdb.python/python.exp: set hook
    : ^M
    (gdb) PASS: gdb.python/python.exp: set the hook to default
    python gdb.prompt_hook = None^M
    (gdb) PASS: gdb.python/python.exp: set print-stack full for prompt error test
    set python print-stack full^M
    (gdb) FAIL: gdb.python/python.exp: set the hook
    python gdb.prompt_hook = error_prompt^M
    Traceback (most recent call last):^M
      File "<string>", line 3, in error_prompt^M
    RuntimeError: Python exception called^M
    (gdb) FAIL: gdb.python/python.exp: set the hook to default
    ...
    
    The problem is that gdb_test_multiple here:
    ...
    gdb_test_multiple "python gdb.prompt_hook = error_prompt" "set the hook" {
        -re "Python Exception (exceptions.RuntimeError|<(type 'exceptions.|class ')RuntimeError'>) Python excepti
    on called.*" {
           pass "set hook"
        }
    }
    ...
    specifies a regexp that ends with ".*" but doesn't specify the expected
    $gdb_prompt.
    
    Consequently, due to check-read1, the ".*" is matched to "" and the remaining
    $gdb_prompt  is read by the the following gdb_py_test_silent_cmd, which has
    its own $gdb_prompt read by the following gdb_py_test_silent_cmd, which has
    its own $gdb_prompt causing a mismatch for the following gdb_test_multiple:
    ...
    gdb_test_multiple "python gdb.prompt_hook = error_prompt" "set the hook" {
        -re "Traceback.*File.*line.*RuntimeError.*Python exception called.*" {
            pass "set hook"
        }
    }
    ...
    which causes both FAILs.
    
    The second gdb_test_multiple has the same problem as the first, but it happens
    not to cause a FAIL because it's followed by a gdb_py_test_silent_cmd and a
    clean_restart.
    
    Fix the regexps in both gdb_test_multiple calls.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-29  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.python/python.exp: Don't terminate gdb_test_multiple regexp
    	with ".*".

commit 2d274232f3e693d54f8dd561de73810d1a03ddf7
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jul 29 14:11:13 2019 +0200

    [gdb/testsuite] Fix mi-catch-cpp-exceptions.exp and mi-nonstop.exp with check-read1
    
    With check-read1 we get:
    ...
    FAIL: gdb.mi/mi-catch-cpp-exceptions.exp: check for stap probe in libstdc++
    FAIL: gdb.mi/mi-nonstop.exp: probe for target remote
    ...
    
    In both cases this is due to using gdb_test_multiple (which expects $gdb_prompt
    by default) in combination with gdb using $gdb_mi_prompt, similar to the
    problem fixed by commit d17725d72f "Don't expect gdb_prompt in
    mi_skip_python_test".
    
    Fix this by adding the $prompt_regexp argument to the gdb_test_multiple calls.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-29  Tom de Vries  <tdevries@suse.de>
    
    	* lib/gdb.exp (skip_libstdcxx_probe_tests_prompt, gdb_is_target_1):
    	Pass prompt_regexp parameter to gdb_test_multiple calls.

commit 9197cd8b52aa41a04b883d83df863ecb5afc5d35
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jul 29 11:24:04 2019 +0200

    [gdb/testsuite] Fix gdb.base/maint.exp with check-read1
    
    With gdb.base/maint.exp and check-read1, we get:
    ...
    FAIL: gdb.base/maint.exp: maint print registers
    ...
    
    Using this patch:
    ...
    diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp
    index a7675ea215..b81d7ec660 100644
    --- a/gdb/testsuite/gdb.base/maint.exp
    +++ b/gdb/testsuite/gdb.base/maint.exp
    @@ -81,7 +81,9 @@ gdb_test_multiple $test $test {
             exp_continue
         }
         -re "$gdb_prompt $" {
    -        gdb_assert { $saw_registers && $saw_headers } $test
    +       gdb_assert { $saw_headers } "$test: saw headers"
    +       gdb_assert { $saw_registers } "$test: saw registers"
    +       pass "$test: got prompt"
         }
     }
    ...
    
    We get more information:
    ...
    PASS: gdb.base/maint.exp: maint print registers: saw headers
    FAIL: gdb.base/maint.exp: maint print registers: saw registers
    PASS: gdb.base/maint.exp: maint print registers: got prompt
    ...
    
    The problem is that when matching:
    ...
    (gdb) maint print registers^M
     Name         Nr  Rel Offset    Size  Type            ^M
     rax           0    0      0       8 int64_t         ^M
    ...
    the regexp for $saw_headers ends in "\[\r\n\]+", which
    allows it to match only the "\r".  The remaining "\n" then start the next line
    to be matched, which doesn't match for the $saw_registers regexp since it
    starts with "^\[^\r\n\]+".
    
    Fix this by ending the regexps with "\r\n".
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-29  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.base/maint.exp: Use "\r\n" instead of "\[\r\n\]+" in "maint
              print registers" regexps.

commit b528dae0954436ab103fb8ab6fc1ca632b4a7c51
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jul 29 11:24:04 2019 +0200

    [gdb/testsuite] Fix gdb.base/define.exp with check-read1
    
    When running gdb.base/define.exp with check-read1, we get:
    ...
    show prompt^M
    Gdb's prompt is "(gdb) ".^M
    (gdb) PASS: gdb.base/define.exp: save gdb_prompt
    set prompt \(blah\) ^M
    (blah) PASS: gdb.base/define.exp: set gdb_prompt
    set prompt (gdb) PASS: gdb.base/define.exp: reset gdb_prompt
    ^M
    (gdb) FAIL: gdb.base/define.exp: define do-define
    ...
    
    The problem is that the "$gdb_prompt $" regexp here:
    ...
    gdb_test_multiple "set prompt $prior_prompt " "reset gdb_prompt" {
        -re "$gdb_prompt $" {
            pass "reset gdb_prompt"
        }
    }
    ...
    triggers for the echoing of the command "set prompt $prior_prompt " rather
    than for the prompt after the command has executed.
    
    Fix this by changing the regexp to "\r\n$gdb_prompt $".
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-29  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.base/define.exp: Add "\r\n" to "reset gdb_prompt" regexp.

commit d17725d72f25812acc8bd16a368c0e889c4b4d1e
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jul 29 11:24:04 2019 +0200

    [gdb/testsuite] Don't expect gdb_prompt in mi_skip_python_test
    
    When running gdb.python/py-mi-events.exp with make check-read1, we get:
    ...
    (gdb) ^M
    python print ('test')^M
    &"python print ('test')\n"^M
    ~"test\n"^M
    ^done^M
    (gdb) FAIL: gdb.python/py-mi-events.exp: verify python support
    ^M
    python print (sys.version_info[0])^M
    &"python print (sys.version_info[0])\n"^M
    ~"2\n"^M
    ^done^M
    (gdb) FAIL: gdb.python/py-mi-events.exp: check if python 3
    ^M
    ...
    
    The FAILs happen as follows.
    
    On one hand, skip_python_tests_prompt uses the prompt_regexp parameter for the
    user_code argument of gdb_test_multiple:
    ...
    proc skip_python_tests_prompt { prompt_regexp } {
        global gdb_py_is_py3k
    
        gdb_test_multiple "python print ('test')" "verify python support" {
    	-re "not supported.*$prompt_regexp" {
    	    unsupported "Python support is disabled."
    	    return 1
    	}
    	-re "$prompt_regexp" {}
        }
    
        gdb_test_multiple "python print (sys.version_info\[0\])" "check if python 3" {
    	-re "3.*$prompt_regexp" {
                set gdb_py_is_py3k 1
            }
    	-re ".*$prompt_regexp" {
                set gdb_py_is_py3k 0
            }
        }
    ...
    
    On the other hand, gdb_test_multiple itself uses $gdb_prompt:
    ...
             -re "\r\n$gdb_prompt $" {
                if ![string match "" $message] then {
                    fail "$message"
                }
                set result 1
            }
    ...
    
    So when mi_skip_python_test calls skip_python_tests_prompt with prompt_regexp
    set to $mi_gdb_prompt:
    ...
    proc mi_skip_python_tests {} {
        global mi_gdb_prompt
        return [skip_python_tests_prompt "$mi_gdb_prompt$"]
    }
    ...
    and expect reads "(gdb) " and tries to match it (due to the READ1=1 setting),
    the user_code regexps using $prompt_regexp (set to $mi_gdb_prompt) don't match,
    but the $gdb_prompt regexp in gdb_test_multiple does match.
    
    Fix this by adding a prompt_regexp parameter to gdb_test_multiple, and using the
    parameter in skip_python_tests_prompt.
    
    Tested gdb.python/py-mi-events.exp with make check READ1=1 x86_64-linux.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-29  Tom de Vries  <tdevries@suse.de>
    
    	PR gdb/24855
    	* lib/gdb.exp (gdb_test_multiple): Add prompt_regexp parameter.
    	(skip_python_tests_prompt): Add prompt_regexp argument to
    	gdb_test_multiple calls.

commit cc5277b173701364c10204f316db28198f2c683b
Author: Martin Liska <mliska@suse.cz>
Date:   Thu Jul 4 16:39:08 2019 +0200

    Support .gnu.lto_.lto section in ELF files (PR 24768).
    
    bfd/ChangeLog:
    
    2019-07-22  Martin Liska  <mliska@suse.cz>
    
    	PR 24768
    	* archive.c (_bfd_compute_and_write_armap): Come up with
    	report_plugin_err variable.
    	* bfd-in2.h (struct bfd): Add lto_slim_object flag.
    	* elf.c (struct lto_section): New.
    	(_bfd_elf_make_section_from_shdr): Parse content of
    	.gnu_lto_.lto section.
    	* elflink.c: Report error for a missing LTO plugin.
    	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
    
    binutils/ChangeLog:
    
    2019-07-22  Martin Liska  <mliska@suse.cz>
    
    	PR 24768
    	* nm.c (filter_symbols): Set report_plugin_err if
    	error is reported.
    	(display_rel_file): Report error for a missing LTO plugin.
    
    gold/ChangeLog:
    
    2019-07-22  Martin Liska  <mliska@suse.cz>
    
    	PR 24768
    	* layout.h (class Layout): Add is_lto_slim_object and
    	set_lto_slim_object.
    	* object.cc (struct lto_section): Add lto_slim_object_.
    	(big_endian>::do_layout): Parse content of
    	.gnu_lto_.lto section.
    	(big_endian>::do_add_symbols): Report error for a missing
    	LTO plugin.

commit ac50aea1311b01c745afc4dba102a8d20d0eea6e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jul 29 00:00:28 2019 +0000

    Automatic date update in version.in

commit 4538d1c7c46e67b472d8d5ebf163f3dfd9c67714
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Jul 28 14:56:37 2019 +0930

    PR24857, ld: error adding symbols: bad value
    
    This fixes two cases where elf_link_add_object_symbols returns an
    error, setting the catch-all bfd_error_bad_value without explaining
    the error.  The second one is an internal error that can only be
    caused by a target elf_add_symbol_hook, so make that one abort.  The
    first one is my PR24339 fix.  PR24339 is another of those fuzzing bugs
    and the fix I made catches the problem when loading symbols, rather
    than when symbols are used in relocs.  While ld is correct to reject
    the object file as not complying with the ELF standard, let's be a
    little more forgiving for dynamic objects.
    
    	PR 24857
    	PR 24339
    	* elflink.c (elf_link_add_object_symbols): Report an informative
    	error on finding local symbols with index equal or greater than
    	symbol table sh_info.  Correct comment.  Allow such symbols in
    	dynamic objects.  Abort on NULL section for symbol.

commit 52b75bf1dc759e8d9eda9a71caa52e458e57e4ff
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jul 21 08:13:58 2019 -0600

    Add test that "file" shows "main"
    
    This adds a new test that checks that the "file" command will show the
    program's "main".
    
    gdb/testsuite/ChangeLog
    2019-07-27  Tom Tromey  <tom@tromey.com>
    
    	* gdb.tui/main.exp: New file.

commit 2b1d00c2b828ea98fb61f07496882f8a7aa99f5f
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 20 14:46:29 2019 -0600

    Add test case for empty TUI windows
    
    My original intent here was to add a test case to test that empty TUI
    windows re-render their contents after a resize.  However, this seems
    pretty broken at the moment, so a lot of the test is actually
    disabled.
    
    gdb/testsuite/ChangeLog
    2019-07-27  Tom Tromey  <tom@tromey.com>
    
    	* lib/tuiterm.exp (Term::clean_restart): Make "executable"
    	optional.
    	* gdb.tui/empty.exp: New file.

commit ded631d57dec8c75ff5713f062b1c5667c31ec23
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jul 19 16:15:58 2019 -0600

    Add TUI resizing test
    
    This adds a test case that resizes the terminal and then checks that
    the TUI updates properly.
    
    gdb/testsuite/ChangeLog
    2019-07-27  Tom Tromey  <tom@tromey.com>
    
    	* lib/tuiterm.exp (spawn): New proc.
    	(Term::resize): New proc.
    	* gdb.tui/resize.exp: New file.

commit 58ac439d385a285382733a35ca1fb2666edf6540
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jul 20 14:49:29 2019 -0600

    Add TUI test for "list"
    
    This adds a test to check that the "list" command will update the TUI
    source window.
    
    gdb/testsuite/ChangeLog
    2019-07-27  Tom Tromey  <tom@tromey.com>
    
    	* gdb.tui/list.exp: New file.

commit fe1f56ee14b2c30f088dc65bb4b67b9793199cea
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 18 18:07:59 2019 -0600

    Add TUI register window test
    
    This adds a very simple test of the TUI register window.
    
    gdb/testsuite/ChangeLog
    2019-07-27  Tom Tromey  <tom@tromey.com>
    
    	* gdb.tui/regs.exp: New file.

commit f790b310d2c29f08be79d6af8d8c391bf793fce7
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 18 16:54:32 2019 -0600

    Add "layout split" test
    
    This adds a test of "layout split" to the TUI test suite.
    
    gdb/testsuite/ChangeLog
    2019-07-27  Tom Tromey  <tom@tromey.com>
    
    	* gdb.tui/basic.exp: Add "layout split" test.

commit d95fc6eec07344f83ec0aba4a1e4f17fb53da45b
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 18 16:21:45 2019 -0600

    Add test for "layout asm"
    
    This adds a very simple test for "layout asm".
    
    gdb/testsuite/ChangeLog
    2019-07-27  Tom Tromey  <tom@tromey.com>
    
    	* gdb.tui/basic.exp: Add "layout asm" test.

commit c3786b3aa311e7fba247623a98135d63d1d51c99
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jul 1 16:01:58 2019 -0600

    A virtual terminal for the test suite
    
    This patch implements a simple ANSI terminal emulator for the test
    suite.  It is still quite basic, but it is good enough to allow some
    simple TUI testing to be done.
    
    gdb/testsuite/ChangeLog
    2019-07-27  Tom Tromey  <tom@tromey.com>
    
    	* lib/tuiterm.exp: New file.
    	* gdb.tui/basic.exp: New file.

commit 1c316af29ff2db118796de1486bf4e9673ac2922
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jul 28 00:00:51 2019 +0000

    Automatic date update in version.in

commit 6bdfee81576aae55666a9245cfc0a316a6849957
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Thu Jul 25 18:27:20 2019 -0700

    Fix gdb.python/py-thrhandle.exp failures for -m32 multilib
    
    This patch fixes the following failures when testing with
    "target_board unix/-m32" using a x86_64-pc-linux-gnu native GDB.
    
    FAIL: gdb.python/py-thrhandle.exp: print thread for bogus handle thrs[3]
    FAIL: gdb.python/py-thrhandle.exp: print thread for bogus handle thrs[4]
    FAIL: gdb.python/py-thrhandle.exp: print thread id for thrs[0]
    FAIL: gdb.python/py-thrhandle.exp: print thread id for thrs[1]
    FAIL: gdb.python/py-thrhandle.exp: print thread id for thrs[2]
    FAIL: gdb.python/py-thrhandle.exp: thread 0: fetch thread handle from thread
    FAIL: gdb.python/py-thrhandle.exp: thread 0: verify that handles are the same
    FAIL: gdb.python/py-thrhandle.exp: thread 1: fetch thread handle from thread
    FAIL: gdb.python/py-thrhandle.exp: thread 1: verify that handles are the same
    FAIL: gdb.python/py-thrhandle.exp: thread 2: fetch thread handle from thread
    FAIL: gdb.python/py-thrhandle.exp: thread 2: verify that handles are the same
    
    I've written it so that it might work for other 64-bit host / 32-bit target
    combos too.
    
    gdb/ChangeLog:
    
    	* linux-thread-db.c (thread_db_target::thread_handle_to_thread_info):
    	Add case for debugging 32-bit target on 64-bit host.  Revise
    	comment.

commit 98a617f8d5cf9bfb53b2e1d5cf3f0e0f188d9e53
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Sat Jul 13 15:59:44 2019 -0700

    Fix stepping bug associated with non-contiguous blocks
    
    I recently noticed the following behavior while debugging
    dw2-ranges-func-low-cold.  This is one of the test programs associated
    with the test gdb.dwarf2/dw2-ranges-func.exp.
    
    (gdb) b 70
    Breakpoint 1 at 0x401129: file dw2-ranges-func-lo-cold.c, line 70.
    (gdb) run
    Starting program: dw2-ranges-func-lo-cold
    
    Breakpoint 1, foo ()
        at dw2-ranges-func-lo-cold.c:70
    70	  if (e) foo_cold ();				/* foo foo_cold call */
    (gdb) set var e=1
    (gdb) step
    [Inferior 1 (process 12545) exited normally]
    
    This is incorrect.  When stepping, we expect a step to occur.  We do not
    expect the program to exit.  Instead, we should see the following behavior:
    
    ...
    (gdb) set var e=1
    (gdb) step
    foo ()
        at dw2-ranges-func-lo-cold.c:54
    54	  baz ();					/* foo_cold baz call */
    
    (Note that I've shortened the paths in the above sessions to improve
    readability.)
    
    The bug is in fill_in_stop_func() in infrun.c.  While working on
    non-contiguous address range improvements in 2018, I replaced the
    call to find_pc_partial_function() with a call to
    find_function_entry_range_from_pc().  Although this seemed like the
    right thing to do at the time, I now think that calling
    find_pc_partial_function (along with some other tweaks) is the right
    thing to do.
    
    For blocks with a single contiguous range, these functions do pretty
    much the same thing: when the function succeeds, the function name,
    start address, and end address are all filled in.  Additionally,
    find_pc_partial_function contains an additional output parameter
    which is set to the block containing that PC.
    
    For blocks with non-contiguous ranges, find_pc_partial_function
    sets the start and end addresses to the start and end addresses
    of the range containing the pc.  find_function_entry_range_from_pc
    does what it says; it sets the start and end addresses to those
    of the range containing the entry pc.
    
    The reason that I had thought that using the entry pc range was
    correct is due to the fact that fill_in_stop_func() contains some
    code for advancing past the function start and entry point.  To do
    this, we'd need the range that contains the entry pc.
    
    However, when stepping, we actually want the range that contains the
    stop pc.  If that range also contains the entry pc, we should then
    attempt to advance stop_func_start past the start offset and entry
    point.  (I haven't thought very hard about the reason for advancing
    the stop_func_start in this manner.  Since it's been there for quite
    a while, I'm assuming that it's still a good idea.)
    
    Back when I wrote the test case, I had included a test for doing the
    step shown in the example above.  I had problems with it, however.  At
    the time, I thought it was due to differing compiler versions, so I
    disabled that portion of the test.  I have now reenabled those tests,
    but have left in place the logic which may be used to disable it.
    
    The changes to dw2-ranges-func.exp depend on my other recent changes
    to the file which have not been pushed yet.
    
    Finally, I'll note that the only caller of
    find_function_entry_range_from_pc() is/was fill_in_stop_func().  Once
    this commit goes in, it'll be dead code.  I considered removing it,
    but I think that it ought to be used (instead of
    find_pc_partial_function) for determining the correct range to scan
    for prologue analysis, so I'm going to leave it in place for now.
    
    gdb/ChangeLog:
    
    	* infrun.c (fill_in_stop_func): Use find_pc_partial_function
    	instead of find_function_entry_range_from_pc.
    
    testsuite/ChangeLog:
    
    	* gdb.dwarf2/dw2-ranges-func.exp (enable_foo_cold_stepping):
    	Enable tests associated with this flag.  Adjust regex
    	referencing "foo_low" to now refer to "foo_cold" instead.

commit 5c076da45ce9a24d47046ddb0bac02e158e6bf58
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Sun Jun 2 18:31:22 2019 -0700

    Improve test gdb.dwarf2/dw2-ranges-func.exp
    
    The original dw2-ranges-func.exp test caused a function named foo to be
    created with two non-contiguous address ranges.  In the C source file,
    a function named foo_low was incorporated into the function foo which
    was also defined in that file.  The DWARF assembler is used to do this
    manipulation.  The source file had been laid out so that foo_low would
    likely be placed (by the compiler and linker) at a lower address than
    foo().
    
    The case where a range at a higher set of addresses (than foo) was not
    being tested.  In a recent discussion on gdb-patches, it became clear
    that performing such tests are desirable because bugs were discovered
    which only became evident when the other range was located at high(er)
    addresses than the range containing the entry point for the function.
    
    This other (non entry pc) address range is typically used for "cold"
    code which executes less frequently.  Thus, I renamed foo_low to
    foo_cold and renamed the C source file from dw-ranges-func.c to
    dw-ranges-func-lo.c.  I then made a copy of this file, naming it
    dw-ranges-func-hi.c.  (That was my intent anyway.  According to git,
    I renamed dw-ranges-func.c to dw-ranges-func-hi.c and then modified it.
    dw-ranges-func-lo.c shows up as an entirely new file.)
    
    Within dw-ranges-func-hi.c, I changed the placement of foo_cold()
    along with some of the other functions so that foo_cold() would be at
    a higher address than foo() while also remaining non-contiguous.  The
    two files, dw-ranges-func-lo.c and dw-ranges-func-hi.c, are
    essentially the same except for the placement of some of the functions
    therein.
    
    The tests in dw2-ranges-func.exp where then wrapped in a new proc named
    do_test which was then called in a loop from the outermost level.  The
    loop causes each of the source files to have the same tests run upon
    them.
    
    I also added a few new tests which test functionality fixed by the other
    commits to this patch series.  Due to the reorganization of the file,
    it's hard to identify these changes in the patch.  So, here are the
    tests which were added:
    
        with_test_prefix "no-cold-names" {
    
    	# Due to the calling sequence, this backtrace would normally
    	# show function foo_cold for frame #1.  However, we don't want
    	# this to be the case due to placing it in the same block
    	# (albeit at a different range) as foo.  Thus it is correct to
    	# see foo for frames #1 and #2.  It is incorrect to see
    	# foo_cold at frame #1.
    	gdb_test_sequence "bt" "backtrace from baz" {
    	    "\[\r\n\]#0 .*? baz \\(\\) "
    	    "\[\r\n\]#1 .*? foo \\(\\) "
    	    "\[\r\n\]#2 .*? foo \\(\\) "
    	    "\[\r\n\]#3 .*? main \\(\\) "
    	}
    
    	# Doing x/2i foo_cold should show foo_cold as the first symbolic
    	# address and an offset from foo for the second.  We also check to
    	# make sure that the offset is not too large - we don't GDB to
    	# display really large offsets that would (try to) wrap around the
    	# address space.
    	set foo_cold_offset 0
    	set test "x/2i foo_cold"
    	gdb_test_multiple $test $test {
    	    -re "   (?:$hex) <foo_cold>.*?\n   (?:$hex) <foo\[+-\](\[0-9\]+)>.*${gdb_prompt}" {
    	        set foo_cold_offset $expect_out(1,string)
    		pass $test
    	    }
    	}
    	gdb_assert {$foo_cold_offset <= 10000} "offset to foo_cold is not too large"
    
    	# Likewise, verify that second address shown by "info line" is at
    	# and offset from foo instead of foo_cold.
    	gdb_test "info line *foo_cold" "starts at address $hex <foo_cold> and ends at $hex <foo\[+-\].*?>.*"
    
        }
    
    When run against a GDB without the requisite bug fixes (from this patch
    series), these 6 failures should be seen:
    
    FAIL: gdb.dwarf2/dw2-ranges-func.exp: lo-cold: no-cold-names: backtrace from baz (pattern 4)
    FAIL: gdb.dwarf2/dw2-ranges-func.exp: lo-cold: no-cold-names: x/2i foo_cold
    FAIL: gdb.dwarf2/dw2-ranges-func.exp: lo-cold: no-cold-names: info line *foo_cold
    FAIL: gdb.dwarf2/dw2-ranges-func.exp: hi-cold: no-cold-names: backtrace from baz (pattern 3)
    FAIL: gdb.dwarf2/dw2-ranges-func.exp: hi-cold: no-cold-names: x/2i foo_cold
    FAIL: gdb.dwarf2/dw2-ranges-func.exp: hi-cold: no-cold-names: info line *foo_cold
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/dw2-ranges-func.c: Rename to...
    	* gdb.dwarf2/dw2-ranges-func-lo-cold.c: ...this.
    	* gdb.dwarf2/dw2-ranges-func-lo-cold.c (foo_low): Change name to
    	foo_cold.  Revise comments to match.
    	* gdb.dwarf2/dw2-ranges-func-hi-cold.c: New file.
    	* gdb.dwarf2/dw2-ranges-func.exp (do_test): New proc. Existing tests
    	were wrapped into this proc; Call do_test in loop from outermost
    	level.
    	(foo_low): Rename all occurrences to "foo_cold".
    	(backtrace from baz): New test.
    	(x2/i foo_cold): New test.
    	(info line *foo_cold): New test.

commit 1aff7173105c9540bbbef75727aa200f5c288b2e
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Sat Jun 1 13:42:29 2019 -0700

    dwarf2-frame.c: Fix FDE processing bug involving non-contiguous ranges
    
    In the course of revising the test case for
    gdb.dwarf2/dw2-ranges-func.exp, I added a new .c file which would
    cause the "cold" range to be at a higher address than the rest of the
    function.  In these tests, the range in question isn't really cold in
    the sense that a compiler has determined that it'll be executed less
    frequently.  Instead, it's simply the range that does not include the
    entry pc.  These tests are intended to mimic the output of such a
    compiler, so I'll continue to refer to this range as "cold" in the
    following discussion.
    
    The original test case had only tested a cold range placed
    at lower addresses than the rest of the function.  During testing of the
    new code where the cold range was placed at higher addresses, I found
    that I could produce the following backtrace:
    
        (gdb) bt
        #0  0x0000000000401138 in baz ()
    	at dw2-ranges-func-hi-cold.c:72
        #1  0x0000000000401131 in foo_cold ()
    	at dw2-ranges-func-hi-cold.c:64
        #2  0x000000000040111e in foo ()
    	at dw2-ranges-func-hi-cold.c:50
        #3  0x0000000000401144 in main ()
    	at dw2-ranges-func-hi-cold.c:78
    
    This is correct, except that we'd like to see foo() listed instead
    of foo_cold().  (I handle that problem in another patch.)
    
    Now look at what happens for a similar backtrace where the cold range
    is at a lower address than the foo's entry pc:
    
        (gdb) bt
        #0  0x000000000040110a in baz ()
    	at dw2-ranges-func-lo-cold.c:48
        #1  0x0000000000401116 in foo ()
    	at dw2-ranges-func-lo-cold.c:54
        #2  0x00007fffffffd4c0 in ?? ()
        #3  0x0000000000401138 in foo ()
    	at dw2-ranges-func-lo-cold.c:70
    
    Note that the backtrace doesn't go all the way back to main().  Moreover,
    frame #2 is messed up.
    
    I had seen this behavior when I had worked on the non-contiguous
    address problem last year.  At the time I convinced myself that the
    mangled backtrace was "okay" since we're doing strange things with
    the DWARF assembler.  We're taking a function called foo_cold (though
    it was originally called foo_low - my recent changes to the test case
    changed the name) and via the magic of the DWARF assembler, we're
    combining it into a separate (non-contiguous) range for foo.  Thus,
    it was a surprise to me when I got a good and complete backtrace when
    the cold symbol is placed at an address that's greater than entry pc.
    
    The function dwarf2_frame_cache (in dwarf2-frame.c) is making this
    call:
    
        if (get_frame_func_if_available (this_frame, &entry_pc)) ...
    
    If that call succeeds (returns a true value), the FDE is then
    processed up to the entry pc.  It doesn't make sense to do this,
    however, when the FDE in question does not contain the entry pc.  This
    can happen when the function in question is comprised of more than one
    (non-contiguous) address range.
    
    My fix is to add some comparisons to the test above to ensure that
    ENTRY_PC is within the address range covered by the FDE.
    
    gdb/ChangeLog:
    
    	* dwarf2-frame.c (dwarf2_frame_cache): Don't decode FDE instructions
    	for entry pc when entry pc is out of range for that FDE.

commit 2dc80cf8a5799120fd4e00199688f721e7de2a62
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Wed Jul 3 17:35:21 2019 -0700

    Restrict use of minsym names when printing addresses in disassembled code
    
    build_address_symbolic contains some code which causes it to
    prefer the minsym over the the function symbol in certain cases.
    The cases where this occurs are the same as the "certain pathological
    cases" that used to exist in find_frame_funname().
    
    This commit largely disables that code; it will only prefer the
    minsym when the address of minsym is identical to that of the address
    under consideration AND the function address for the symbtab sym is
    not the same as the address under consideration.
    
    So, without this change, when using the dw2-ranges-func-lo-cold
    executable from the gdb.dwarf2/dw2-ranges-func.exp test, GDB exhibits
    the following behavior:
    
    (gdb) x/5i foo_cold
       0x40110d <foo+4294967277>:	push   %rbp
       0x40110e <foo+4294967278>:	mov    %rsp,%rbp
       0x401111 <foo+4294967281>:	callq  0x401106 <baz>
       0x401116 <foo+4294967286>:	nop
       0x401117 <foo+4294967287>:	pop    %rbp
    
    On the other hand, still without this change, using the
    dw2-ranges-func-hi-cold executable from the same test, GDB
    does this instead:
    
    (gdb) x/5i foo_cold
       0x401128 <foo_cold>:	push   %rbp
       0x401129 <foo_cold+1>:	mov    %rsp,%rbp
       0x40112c <foo_cold+4>:	callq  0x401134 <baz>
       0x401131 <foo_cold+9>:	nop
       0x401132 <foo_cold+10>:	pop    %rbp
    
    This is inconsistent behavior.  When foo_cold is at a lower
    address than the function's entry point, the symtab symbol (foo)
    is displayed along with a large positive offset which would wrap
    around the address space if the address space were only 32 bits wide.
    (A later patch fixes this problem by displaying negative offsets.)
    
    This commit makes the behavior uniform for both the "lo-cold" and
    "hi-cold" cases:
    
    lo-cold:
    
    (gdb) x/5i foo_cold
       0x40110d <foo_cold>:	push   %rbp
       0x40110e <foo-18>:	mov    %rsp,%rbp
       0x401111 <foo-15>:	callq  0x401106 <baz>
       0x401116 <foo-10>:	nop
       0x401117 <foo-9>:	pop    %rbp
    
    hi-cold:
    
    (gdb) x/5i foo_cold
       0x401128 <foo_cold>:	push   %rbp
       0x401129 <foo+35>:	mov    %rsp,%rbp
       0x40112c <foo+38>:	callq  0x401134 <baz>
       0x401131 <foo+43>:	nop
       0x401132 <foo+44>:	pop    %rbp
    
    In both cases, the symbol shown for the address at which foo_cold
    resides is shown as <foo_cold>.  Subsequent offsets are shown as
    either negative or positive offsets from the entry pc for foo.
    
    When disassembling a function, care must be taken to NOT display
    <+0> as the offset for the second range.  For this reason, I found
    it necessary to add the "prefer_sym_over_minsym" parameter to
    build_address_symbolic.  The type of this flag is a bool; do_demangle
    ought to be a bool also, so I made this change at the same time.
    
    gdb/ChangeLog:
    
    	* valprint.h (build_address_symbolic): Add "prefer_sym_over_minsym"
    	parameter.  Change type of "do_demangle" to bool.
    	* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
    	Pass suitable "prefer_sym_over_minsym" flag to
    	build_address_symbolic().  Don't output "+" for negative offsets.
    	* printcmd.c (print_address_symbolic): Update invocation of
    	build_address_symbolic to include a "prefer_sym_over_minsym"
    	flag.
    	(build_address_symbolic): Add "prefer_sym_over_minsym" parameter.
    	Restrict cases in which use of minimal symbol is preferred to that
    	of a found symbol.  Update comments.

commit 567238c956c4e5530bd143bfae9393c7ae5524cd
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Wed Jul 3 17:32:21 2019 -0700

    Prefer symtab symbol over minsym for function names in non-contiguous blocks
    
    The discussion on gdb-patches which led to this patch may be found
    here:
    
    https://www.sourceware.org/ml/gdb-patches/2019-05/msg00018.html
    
    Here's a brief synopsis/analysis:
    
    Eli Zaretskii, while debugging a Windows emacs executable, found
    that functions comprised of more than one (non-contiguous)
    address range were not being displayed correctly in a backtrace.  This
    is the example that Eli provided:
    
      (gdb) bt
      #0  0x76a63227 in KERNELBASE!DebugBreak ()
         from C:\Windows\syswow64\KernelBase.dll
      #1  0x012e7b89 in emacs_abort () at w32fns.c:10768
      #2  0x012e1f3b in print_vectorlike.cold () at print.c:1824
      #3  0x011d2dec in print_object (obj=<optimized out>, printcharfun=XIL(0),
          escapeflag=true) at print.c:2150
    
    The function print_vectorlike consists of two address ranges, one of
    which contains "cold" code which is expected to not execute very often.
    There is a minimal symbol, print_vectorlike.cold.65, which is the address
    of the "cold" range.
    
    GDB is prefering this minsym over the the name provided by the
    DWARF info due to some really old code in GDB which handles
    "certain pathological cases".  This comment reads as follows:
    
          /* In certain pathological cases, the symtabs give the wrong
    	 function (when we are in the first function in a file which
    	 is compiled without debugging symbols, the previous function
    	 is compiled with debugging symbols, and the "foo.o" symbol
    	 that is supposed to tell us where the file with debugging
    	 symbols ends has been truncated by ar because it is longer
    	 than 15 characters).  This also occurs if the user uses asm()
    	 to create a function but not stabs for it (in a file compiled
    	 with -g).
    
    	 So look in the minimal symbol tables as well, and if it comes
    	 up with a larger address for the function use that instead.
    	 I don't think this can ever cause any problems; there
    	 shouldn't be any minimal symbols in the middle of a function;
    	 if this is ever changed many parts of GDB will need to be
    	 changed (and we'll create a find_pc_minimal_function or some
    	 such).  */
    
    In an earlier version of this patch, I had left the code for the
    pathological case intact, but those who reviwed that patch recommended
    removing it.  So that's what I've done - I've removed it.
    
    gdb/ChangeLog:
    
    	* stack.c (find_frame_funname): Remove code which preferred
    	minsym over symtab sym in "certain pathological cases".

commit c89f9f2a528e490733ace16204752e9af945454e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jul 27 00:00:25 2019 +0000

    Automatic date update in version.in

commit 89b085acaf8d449d6c9c0b0490c6a0c9a745db5d
Author: Brian Callahan <callab5@rpi.edu>
Date:   Fri Jul 26 14:48:15 2019 -0400

    Fix return type typo in obsd-nat.c that breaks build on OpenBSD
    
    To recap the bug report:
    Commit a068643 introduced a small typo that breaks the gdb build on OpenBSD.
    Line 38 of obsd-nat.c needs to be changed from std::sring to std::string.
    
    gdb/ChangeLog
    2019-07-26  Brian Callahan  <bcallah@openbsd.org>
    
    	PR gdb/24839:
    	* gdb/obsd-nat.c (obsd_nat_target::pid_to_str): Fix typo in return
    	type.

commit 1512d3b7b9de3a1943623f2e1f373459d5d80a98
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Jul 26 21:49:45 2019 +0200

    [gdb/testsuite] Fix unterminated string in i386-pkru.exp
    
    I ran into this error:
    ...
    ERROR: tcl error sourcing gdb/testsuite/gdb.arch/i386-pkru.exp.
    ERROR: missing "
        while executing
    "untested ""
        invoked from within
    "if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
         [list debug additional_flags=${comp_flags}]] } {
        untested "failed to c..."
        (file "gdb/testsuite/gdb.arch/i386-pkru.exp" line 25)
        invoked from within
    ...
    caused by:
    ...
        untested "failed to compile x86 PKEYS test.
    ...
    
    Fix the unterminated string.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-26  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.arch/i386-pkru.exp: Fix unterminated string.

commit 8e2e3c6c346c1c8142e714715e5a86b32f7e31ea
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jul 26 12:58:52 2019 +0930

    PR24798, buffer overflow in process_cu_tu_index
    
    	PR 24798
    	* dwarf.c (process_cu_tu_index): Avoid integer overflow on 64-bit
    	systems by casting ncols and nslots expressions to size_t.  Display
    	number of columns and slots before giving up due to buffer overflow.
    	Use %u to display unsigned ints.  Perform more pointer wrap tests.

commit 6dd17ae0f9b0d9fc230e75ce345da9793498554d
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jul 26 10:02:12 2019 +0930

    Begone elf_linker
    
    This field effectively became usused a long time ago, perhaps as early
    as 1994.
    
    	* elf-bfd.h (struct output_elf_obj_tdata): Delete "linker" field.
    	(elf_linker): Don't define.
    	* elflink.c (bfd_elf_final_link): Don't set elf_linker.

commit 6e99a238f01fcf6f77ae25e8ade57e509a724b1f
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jul 26 09:54:18 2019 +0930

    Ajdust lto-3r and lto-5r tests for powerpc64
    
    	* testsuite/ld-plugin/lto-3r.d: Accept D for powerpc64 descriptors.
    	* testsuite/ld-plugin/lto-5r.d: Likewise.

commit db2307377ffcd295f212cfa753e3ff45f1b85fb0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jul 26 00:00:23 2019 +0000

    Automatic date update in version.in

commit f32feb4ab3c30a9a80e890a51ceb94b7446bd4ea
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Thu Jul 25 17:17:49 2019 -0500

    Fix comment about the signature of add_separate_debug_file
    
    Also fixes the date in the changelog of my last commit.
    
    gdb/ChangeLog:
    
    2019-07-25  Christian Biesinger  <cbiesinger@google.com>
    
    	* python/py-objfile.c (add_separate_debug_file): Fix comment about
      this function's Python signature.

commit 297989a10c56aec56eab0ee63f1e61c33ab20905
Author: Tom de Vries <tdevries@suse.de>
Date:   Thu Jul 25 18:39:31 2019 +0200

    [gdb/testsuite] Test skip_libstdcxx_probe_tests in mi-catch-cpp-exceptions.exp
    
    On a system without SDT probes in libstdc++, we run into:
    ...
    FAIL: gdb.mi/mi-catch-cpp-exceptions.exp: all with invalid regexp: run until \
      breakpoint in main (unknown output after running)
    ...
    
    The test-case uses a regexp argument for the catch throw/rethrow/catch
    command, which is only supported on systems with SDT probes in libstdc++.
    
    Fix this by marking the portions of the test-case that use a regexp argument
    as unsupported on a system without SDT probes.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-25  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24830
    	* gdb.mi/mi-catch-cpp-exceptions.exp: Call
    	mi_skip_libstdcxx_probe_tests, and skip unsupported tests.
    	* lib/gdb.exp (skip_libstdcxx_probe_tests_prompt): Factor out of ...
    	(skip_libstdcxx_probe_tests): ... here.
    	* lib/mi-support.exp (mi_skip_libstdcxx_probe_tests): New proc.

commit d079b9c04afb48ecba42c42632c34974f5a32ce8
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 25 17:29:01 2019 +0100

    Fix attributation of DWARF augmentation patch.

commit 48467cb99b04c9d908ce2dd74422c9c3f322ccc3
Author: Tom de Vries <vries@gcc.gnu.org>
Date:   Thu Jul 25 17:24:22 2019 +0100

    Have readelf and objdump display the contents of the DWARF augmentation data as a string, if it is printable.
    
    	PR 24809
    	* dwarf.c (display_debug_names): Display the contents of the
    	augmentation string, if it is printable.

commit c7c860d2d29ca3e774c29f328d2af42eeb031958
Author: YunQiang Su <syq@debian.org>
Date:   Thu Jul 25 16:34:58 2019 +0100

    When linking binary files into MIPS executables, default to MIPS 3 emaulation for 64-bit objects.
    
    	PR 24832
    	* elfxx-mips.c (mips_set_isa_flags): Default to MIPS 3 for 64-bit
    	mips inputs.

commit 2e6be59c8de57c32260771ac5307968d18793a0a
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 25 13:05:27 2019 +0100

    Stop an illegal memory access by readelf when parsing a corrupt MIPS binary file.
    
    	PR 24837
    	* readelf.c (process_mips_specific): Check for buffer overflow
    	before reading reginfo information.

commit 442853af244e0352956a5d91ad5e169a85b58710
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Tue Jun 25 15:45:41 2019 -0500

    Allow passing a block to lookup_global_symbol_from_objfile
    
    This has no behavior change in itself, but allows a future patch
    to add a function to the Python API to look up symbols in the
    static block.
    
    gdb/ChangeLog:
    
    2019-07-24  Christian Biesinger  <cbiesinger@google.com>
    
    	* compile/compile-object-load.c (compile_object_load): Pass GLOBAL_SCOPE.
    	* solib-spu.c (spu_lookup_lib_symbol): Pass GLOBAL_SCOPE.
    	* solib-svr4.c (elf_lookup_lib_symbol): Pass GLOBAL_SCOPE.
    	* symtab.c (lookup_global_symbol_from_objfile): Add a scope parameter.
    	* symtab.h (lookup_global_symbol_from_objfile): Likewise.

commit 75b493d0f95c6037753e0d250e1ecc6fe8d46c38
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jul 25 00:00:42 2019 +0000

    Automatic date update in version.in

commit b3b965fb91e1671da5b7d42349fa0d78e80c29f4
Author: Tom de Vries <tdevries@suse.de>
Date:   Wed Jul 24 19:01:59 2019 +0200

    [gdb/testsuite] Fix implicit declaration of printf in gdb.objc/*.m
    
    When running gdb.objc/objcdecode.exp we get:
    ...
    objcdecode.m: In function '-[Decode multipleDef]':
    objcdecode.m:14:3: warning: incompatible implicit declaration of built-in \
      function 'printf'
       printf("method multipleDef\n");
       ^~~~~~
    objcdecode.m:14:3: note: include '<stdio.h>' or provide a declaration of \
      'printf'
    ...
    
    Fix this in the three gdb.objc/*.m test-cases by including stdio.h.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-24  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24807
    	* gdb.objc/basicclass.m: Include stdio.h.
    	* gdb.objc/nondebug.m: Same.
    	* gdb.objc/objcdecode.m: Same.

commit 8f79c1075e8f258ac5a909b39704009ebc440e76
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jul 24 08:15:56 2019 -0700

    Revert "Remove tests that test __gnu_lto_v1 symbol."
    
    Revert
    
    commit 8c728a9d93e2342c57039fcdd6e4a502875b9e09
    Author: Martin Liska <mliska@suse.cz>
    Date:   Mon Jul 22 14:23:32 2019 +0200
    
        Remove tests that test __gnu_lto_v1 symbol.
    
    since outputs of these tests are used by later tests.  Check the normal
    symbol, foo, instead of __gnu_lto_v.*, which GCC stopped emitting after
    r273662.
    
    	* testsuite/ld-plugin/lto-3r.d: Restored.  Check foo instead
    	of __gnu_lto_v.*.
    	* testsuite/ld-plugin/lto-5r.d: Likewise.
    	* testsuite/ld-plugin/lto.exp: Run lto-3r and lto-5r tests.

commit 4625b4d081eb0a243c6c7370f9a12c97bf6bcf65
Author: Tom de Vries <tdevries@suse.de>
Date:   Wed Jul 24 17:16:01 2019 +0200

    [gdb/testsuite] Fix infoline-reloc-main-from-zero.exp compilation
    
    When running gdb.base/infoline-reloc-main-from-zero.exp, I see:
    ...
    Running gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.exp ...
    gdb compile failed, ld: infoline-reloc-main-from-zero: \
      not enough room for program headers, try linking with -N
    ld: final link failed: bad value
    collect2: error: ld returned 1 exit status
    UNTESTED: gdb.base/infoline-reloc-main-from-zero.exp: infoline-reloc-main-from-zero.exp
    UNTESTED: gdb.base/infoline-reloc-main-from-zero.exp: failed to compile
    ...
    
    Fix this by following the suggestion:
    ...
    -set opts {debug "additional_flags=-nostdlib -emain -Wl,-Ttext=0x00"}
    +set opts {debug "additional_flags=-nostdlib -emain -Wl,-Ttext=0x00 -Wl,-N"}
    ...
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-24  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24612
    	* gdb.base/infoline-reloc-main-from-zero.exp: Add -Wl,-N to
    	additional_flags.

commit 9596751830b82b3ceaf8e6bb0c333181dfc96257
Author: Claudiu Zissulescu <claziss@gmail.com>
Date:   Wed Jul 24 17:53:00 2019 +0300

    [ARC] [COMMITTED] Fix formatting.
    
    Small formatting fixes.
    
    2019-07-24  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* elf32-arc.c (bfd_get_32_me): Add a small description, fix
    	formatting.
    	(reloc_type_to_name): Fix formatting.
    	(arc_elf_object_p): Likewise.
    	(debug_arc_reloc): Likewise.
    	(arc_do_relocation): Likewise.

commit dac6552d4a203db908e11ba4803c7e39e090716f
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jul 24 15:21:24 2019 +0100

    Update the Swedish translation for the gas sub-directory.

commit 0f3f71676a8971e0376d7d99b383660f06ff4d95
Author: Claudiu Zissulescu <claziss@gmail.com>
Date:   Wed Jul 24 16:52:23 2019 +0300

    [ARC] Update disassembler opcode selection
    
    New instruction are added, and some of them are overlapping. Update
    disassembler to correctly recognize them. Introduce nps400 option.
    
    opcodes/
    xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-dis.c (skip_this_opcode): Check also for 0x07 major opcodes,
    	and MPY class instructions.
    	(parse_option): Add nps400 option.
    	(print_arc_disassembler_options): Add nps400 info.
    
    gas/
    xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/nps400-6.d: Update test.

commit 7e126ba31ab6536b1dd779e483b72f47d3a76742
Author: Claudiu Zissulescu <claziss@gmail.com>
Date:   Wed Jul 24 16:46:01 2019 +0300

    [ARC] Update ARC opcode table
    
    Update ARC opcode table by cleaning up invalid instructions, and fixing wrong encodings.
    
    opcodes/
    xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-ext-tbl.h (bspeek): Remove it, added to main table.
    	(bspop): Likewise.
    	(modapp): Likewise.
    	* arc-opc.c (RAD_CHK): Add.
    	* arc-tbl.h: Regenerate.
    
    include/
    xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* include/opcode/arc.h (FASTMATH): Add.
    	(SWITCH): Likewise.

commit ef551643dc282159185cb9916c7cb0308ae03cdd
Author: Claudiu Zissulescu <claziss@gmail.com>
Date:   Wed Jul 24 16:33:29 2019 +0300

    [ARC] Add linker relaxation.
    
    Add linker relaxation. The first relaxation added is converting
    GOTPC32 to PCREL relocations. This relaxation doesn't change the size of
    the binary.
    
    bfd/
    xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* elf32-arc.c (bfd_get_32_me): New function.
    	(bfd_put_32_me): Likewise.
    	(arc_elf_relax_section): Likewise.
    	(bfd_elf32_bfd_relax_section): Define.
    
    ld/testsuite/
    xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* ld-arc/relax-local-pic.d: New test.
    	* ld-arc/relax-local-pic.s: New file.

commit c54e42531adb7bf8d58bd4c3c8e0c710305959e1
Author: Yoshinori Sato <ysato@users.sourceforge.jp>
Date:   Wed Jul 24 20:51:52 2019 +0900

    gdb/h8300-tdep.c: Fix register name in h8300h machine.
    
    H8/300H general register name "ER0" - "ER7".
    But gdb using "R0" - "R7".
    This changes register name "ER0" - "ER7" in h8300h machine mode.
    
    gdb/ChangeLog:
    
    	* h8300-tdep.c (h8300_register_name_common): New.
    	h8300_register_name): Use h8300_register_name_common.
    	(h8300s_register_name): Likewise.
    	(h8300sx_register_name): Likewise.
    	(h8300h_register_nam): New.
    	(h8300_gdbarch_init): Use h8300h_register_name in h8300h machine.

commit 2f86d5594071a16665711ae13da88af1cc904371
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jul 24 12:17:37 2019 +0100

    Fix ar so that it can correctly detect non-dash prefixed options that appear after dash prefixed options.
    
    	PR 13256
    	* ar.c (decode_options): Restart option scanning if no operation
    	is detected and argument remain to be scanned.

commit cc364be6ff45669150077387f22723de33d5f1b1
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 24 09:43:30 2019 +0930

    Complain about mbind, ifunc, and unique in final_write
    
    It's not as good as complaining in gas/config/obj-elf.c since you lose
    any reference to the source file.
    
    bfd/
    	* elf-bfd.h (struct elf_backend_data): Return bfd_boolean from
    	elf_backend_final_write_processing, don't pass linker arg.
    	(_bfd_elf_final_write_processing): Update prototype.
    	* elf.c (_bfd_elf_write_object_contents): Adjust call.
    	(_bfd_elf_final_write_processing): Return error on incompatible
    	OSABI and has_gnu_osabi.  Remove linker arg.
    	* elf-nacl.h (nacl_final_write_processing): Update prototype.
    	* elf-vxworks.h (elf_vxworks_final_write_processing): Likewise.
    	* elfxx-mips.h (_bfd_mips_final_write_processing): Likewise.
    	(_bfd_mips_elf_final_write_processing): Likewise.
    	* elf-hppa.h (elf_hppa_final_write_processing): Return status
    	and remove linker arg.
    	* elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
    	* elf-nacl.c (nacl_final_write_processing): Likewise.
    	* elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
    	* elf32-arc.c (arc_elf_final_write_processing): Likewise.
    	* elf32-arm.c (arm_final_write_processing): Likewise.
    	(elf32_arm_final_write_processing): Likewise.
    	(elf32_arm_nacl_final_write_processing): Likewise.
    	(elf32_arm_vxworks_final_write_processing): Likewise.
    	* elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
    	* elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
    	* elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
    	* elf32-cris.c (cris_elf_final_write_processing): Likewise.
    	* elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
    	* elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
    	* elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
    	* elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
    	* elf32-mips.c (mips_vxworks_final_write_processing): Likewise.
    	* elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
    	* elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
    	* elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
    	* elf32-pj.c (pj_elf_final_write_processing): Likewise.
    	* elf32-ppc.c (ppc_final_write_processing): Likewise.
    	(ppc_elf_final_write_processing): Likewise.
    	(ppc_elf_vxworks_final_write_processing): Likewise.
    	* elf32-sparc.c (sparc_final_write_processing): Likewise.
    	(elf32_sparc_final_write_processing): Likewise.
    	(elf32_sparc_vxworks_final_write_processing): Likewise.
    	* elf32-v850.c (v850_elf_final_write_processing): Likewise.
    	* elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
    	* elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
    	* elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
    	* elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
    	* elfxx-mips.c (_bfd_mips_final_write_processing): Likewise.
    	(_bfd_mips_elf_final_write_processing): Likewise.
    gas/
    	* config/obj-elf.c (obj_elf_section, obj_elf_type): Set has_gnu_osabi.
    	* testsuite/gas/elf/section12a.d: Update xfails.
    	* testsuite/gas/elf/section12b.d: Likewise.

commit c5e20471be97e2dcd3498ac284487e2546715f66
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 24 10:11:08 2019 +0930

    Re: ELF final_write_processing
    
    I missed some early exits from final_write_processing that mean
    _bfd_elf_final_write_processing could be missed.
    
    	* elf-vxworks.c (elf_vxworks_final_write_processing): Don't return
    	early.
    	* elf32-arc.c (arc_elf_final_write_processing): Likewise.
    	* elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.

commit 7613ca5e3885b8e79d9096a53f3e5492a5c06cd7
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 24 10:51:56 2019 +0930

    Define ELF_OSABI for visium
    
    and update expected results for gas mbind tests.
    
    bfd/
    	* elf32-visium.c (visium_elf_post_process_headers): Don't set
    	EI_OSABI header byte here.
    	(ELF_OSABI): Define.
    gas/
    	* testsuite/gas/elf/section12a.d: xfail visium and cloudabi.
    	* testsuite/gas/elf/section12b.d: Likewise.
    	* testsuite/gas/elf/section13.d: Likewise.

commit 7137a1ed0ad9afdd57e6ef44abbfaeaeb44dd17e
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 24 15:03:49 2019 +0930

    PT_GNU_MBIND section mapping
    
    	* elf/internal.h (ELF_SECTION_IN_SEGMENT_1): Exclude non-alloc
    	sections in GNU_MBIND segments.

commit 024a5840006aba9ba698aa9d868a7394016dd4a0
Author: Tom de Vries <tdevries@suse.de>
Date:   Wed Jul 24 08:36:17 2019 +0200

    Update expected info threads error messages in gdb.multi/tids.exp
    
    We currently have these FAILs:
    ...
    FAIL: gdb.multi/tids.exp: two inferiors: info threads -1
    FAIL: gdb.multi/tids.exp: two inferiors: info threads -$one
    ...
    because we're expecting:
    ...
    Invalid thread ID: -1
    ...
    but instead we have:
    ...
    Unrecognized option at: -1
    ...
    
    This error message for info threads has changed since commit 54d6600669
    'Make "info threads" use the gdb::option framework'.
    
    Update the test accordingly.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-24  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24831
    	* gdb.multi/tids.exp: Update error messages for info threads.

commit c76ddaa3f4f8313976670ba8f15163a3544eb1af
Author: Tom de Vries <tdevries@suse.de>
Date:   Wed Jul 24 08:04:59 2019 +0200

    [gdb/testsuite] Fix info-types.exp for debug info from more than one file
    
    On openSUSE Leap 15.0, I get:
    ...
    FAIL: gdb.base/info-types.exp: l=c: info types
    FAIL: gdb.base/info-types.exp: l=c++: info types
    ...
    because the info type command prints info for files info-types.c, stddef.h,
    elf-init.c and init.c, while the regexp in the test-case expect only info for
    info-types.c.
    
    Fix this by extending the regexp.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-24  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.base/info-types.exp: Allow info types to print info for more than
    	one file.

commit 407bcc63bda3d78bedffb49ddebf0b41294218d9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jul 24 00:00:22 2019 +0000

    Automatic date update in version.in

commit 2e8136f9453e21414cc328d025bec33218176b66
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jul 23 17:54:32 2019 +0100

    Fix objdump's display of indirect strings in object files, which was broken by the link following code.
    
    	PR 24818
    	* objdump.c (is_relocateable): Delete.
    	(load_specific_debug_section): Test the abfd for relocations
    	directly, rather than relying upon is_relocateable.
    	(dump_dwarf): Delete initlialization of is_relocateable.

commit 19889a58358ec7f6981c9b20b9541bcb95a839bf
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jul 23 08:40:23 2019 -0700

    Add missing ChangeLog entries for
    
    commit 8c728a9d93e2342c57039fcdd6e4a502875b9e09
    Author: Martin Liska <mliska@suse.cz>
    Date:   Mon Jul 22 14:23:32 2019 +0200
    
        Remove tests that test __gnu_lto_v1 symbol.

commit a028026d2f9bbeaa2217aa8aafa1463bd88463ba
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date:   Tue Jul 23 15:54:54 2019 +0100

    [AArch64] Add support for GMID_EL1 register for +memtag
    
    We're missing support for the GMID_EL1 system register from the Memory Tagging Extension in binutils.
    This is specified at:
    https://developer.arm.com/docs/ddi0595/latest/aarch64-system-registers/gmid_el1
    
    This simple patch adds the support for this read-only register.
    Tested make check on gas.

commit 9a618ef61593ea5103aaf17bbe968bf552aa3de0
Author: Tom de Vries <tdevries@suse.de>
Date:   Tue Jul 23 15:15:20 2019 +0200

    [gdb/testsuite] Add missing initial prompt read in multidictionary.exp
    
    When running multidictionary.exp in conjunction with:
    ...
    $ stress -c $(($(cat /proc/cpuinfo | grep -c "^processor") + 1))
    ...
    we get:
    ...
    Running gdb/testsuite/gdb.dwarf2/multidictionary.exp ...
    ERROR: Couldn't load multidictionary into gdb.
    
                    === gdb Summary ===
    
    nr of unresolved testcases       1
    ...
    
    The multidictionary test-case needs -readnow, and achieves this using:
    ...
    gdb_spawn_with_cmdline_opts "-readnow"
    gdb_load
    ...
    but the initial gdb prompt is not read.  Usually, the following gdb_load
    command accidentally consumes that initial prompt (at the gdb_expect for the
    kill command in gdb_file_cmd).  But under high load, that doesn't happen and
    we run into the error.
    
    Fix this by consuming the initial gdb prompt after spawning gdb.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-23  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24842
    	* gdb.dwarf2/multidictionary.exp: Consume initial prompt after
    	gdb_spawn_with_cmdline_opts.

commit 40eadf04ff1f0eaec82dc911cf079555cdbb03d0
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date:   Tue Jul 23 11:21:11 2019 +0100

    [gdb][Arm]: gdb cannot step across CMSE secure entry function code.
    
    GDB is not able to execute "step" command on function calls of Armv8-M cmse secure entry functions.
    Everytime GNU linker come across definition of any cmse secure entry function in object file(s),
    it creates two new instructions secure gateway (sg) and original branch destination (b.w),
    place those two instructions in ".gnu.sgstubs" section of executable.
    Any function calls to these cmse secure entry functions is re-directed through secure gateway (sg)
    present in ".gnu.sgstubs" section.
    
    Example:
    Following is a function call to cmse secure entry function "foo":
            ...
            bl xxxx <foo>   --->(a)
            ...
            <foo>
            xxxx: push    {r7, lr}
    
    GNU linker on finding out "foo" is a cmse secure entry function, created sg and b.w instructions and
    place them in ".gnu.sgstubs" section (marked by c).
    
    The "bl" instruction (marked by a) which is a call to cmse secure entry function is modified by GNU linker
    (as marked by b) and call flow is re-directly through secure gateway (sg) in ".gnu.sgstubs" section.
           ...
           bl yyyy <foo>  ---> (b)
           ...
           section .gnu.sgstubs: ---> (c)
           yyyy <foo>
           yyyy: sg   // secure gateway
    	     b.w xxxx <__acle_se_foo>  // original_branch_dest
           ...
           0000xxxx <__acle_se_foo>
           xxxx: push    {r7, lr} ---> (d)
    
    On invoking GDB, when the control is at "b" and we pass "step" command, the pc returns "yyyy"
    (sg address) which is a trampoline and which does not exist in source code. So GDB jumps
    to next line without jumping to "__acle_se_foo" (marked by d).
    
    The above details are published on the Arm website [1], please refer to section 5.4 (Entry functions)
    and section 3.4.4 (C level development flow of secure code).
    
    [1] https://developer.arm.com/architectures/cpu-architecture/m-profile/docs/ecm0359818/latest/armv8-m-security-extensions-requirements-on-development-tools-engineering-specification
    
    This patch fixes above problem by returning target pc "xxxx" to GDB on executing "step"
    command at "b", so that the control jumps to "__acle_se_foo" (marked by d).
    
    gdb/ChangeLog:
    
    	* arm-tdep.c (arm_skip_cmse_entry): New function.
    	(arm_is_sgstubs_section): New function.
    	(arm_skip_stub): Add call to arm_skip_cmse_entry function.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.arch/arm-cmse-sgstubs.c: New test.
    	* gdb.arch/arm-cmse-sgstubs.exp: New file.

commit 8c728a9d93e2342c57039fcdd6e4a502875b9e09
Author: Martin Liska <mliska@suse.cz>
Date:   Mon Jul 22 14:23:32 2019 +0200

    Remove tests that test __gnu_lto_v1 symbol.
    
    ld/ChangeLog:
    
    2019-07-22  Martin Liska  <mliska@suse.cz>
    
    	* testsuite/ld-plugin/lto-3r.d: Remove.
    	* testsuite/ld-plugin/lto-5r.d: Remove.
    	* testsuite/ld-plugin/lto.exp: Do not run lto-3r and lto-5r
    	tests.

commit df3a023bd614133fe69afb02cd0e8f3e590a36a9
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jul 23 17:54:42 2019 +0930

    SHF_GNU_MBIND requires ELFOSABI_GNU
    
    When SHF_GNU_MBIND was added in the SHF_LOOS to SHF_HIOS range, it
    should have required ELFOSABI_GNU since these flags are already in use
    by other OSes.  HPUX SHF_HP_TLS in fact has the same value.  That
    means no place in binutils should test SHF_GNU_MBIND without first
    checking OSABI, and SHF_GNU_MBIND should not be set without also
    setting OSABI.  At least, that's the ideal, but the patch accepts
    SHF_GNU_MBIND on ELFOSABI_NONE object files since gas didn't always
    set OSABI.  However, to reinforce the fact that SHF_GNU_MBIND isn't
    proper without a non-zero OSABI, readelf will display the flag as
    LOOS+0 if OSABI isn't set.
    
    The clash with SHF_HP_TLS means that hppa64-linux either has that flag
    on .tbss sections or supports GNU_MBIND, not both.  (hppa64-linux
    users, if there are any, may have noticed that GNU ld since 2017
    mysteriously aligned their .tbss sections to a 4k boundary.  That was
    one consequence of SHF_HP_TLS being blindly interpreted as
    SHF_GNU_MBIND.)  Since it seems that binutils, gdb, gcc, glibc, and
    the linux kernel don't care about SHF_HP_TLS I took that flag out of
    .tbss for hppa64-linux.
    
    bfd/
    	* elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind.
    	* elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind.
    	(get_program_header_size): Formatting.  Only test SH_GNU_MBIND
    	when elf_gnu_osabi_mbind is set.
    	(_bfd_elf_map_sections_to_segments): Likewise.
    	(_bfd_elf_init_private_section_data): Likewise.
    	(_bfd_elf_final_write_processing): Update comment.
    	* elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry.
    	(elf_backend_special_sections): Define without .tbss for linux.
    binutils/
    	* readelf.c (get_parisc_segment_type): Split off hpux entries..
    	(get_ia64_segment_type): ..and these..
    	(get_hpux_segment_type): ..to here.
    	(get_segment_type): Condition GNU_MBIND on osabi.  Use
    	get_hpux_segment_type.
    	(get_symbol_binding): Do not print UNIQUE for ELFOSABI_NONE.
    	(get_symbol_type): Do not print IFUNC for ELFOSABI_NONE.
    gas/
    	* config/obj-elf.c (obj_elf_change_section): Don't emit a fatal
    	error for non-SHF_ALLOC SHF_GNU_MBIND here.
    	(obj_elf_parse_section_letters): Return SHF_GNU_MBIND in new
    	gnu_attr param.
    	(obj_elf_section): Adjust obj_elf_parse_section_letters call.
    	Formatting.  Set SHF_GNU_MBIND and elf_osabi from gnu_attr.
    	Emit normal error for non-SHF_ALLOC SHF_GNU_MBIND and wrong osabi.
    	(obj_elf_type): Set elf_osabi for ifunc.
    	* testsuite/gas/elf/section12a.d: xfail msp430 and hpux.
    	* testsuite/gas/elf/section12b.d: Likewise.
    	* testsuite/gas/elf/section13.d: Likewise.
    	* testsuite/gas/elf/section13.l: Adjust expected error.
    ld/
    	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Condition
    	SHF_GNU_MBIND on osabi.  Set output elf_gnu_osabi_mbind.

commit 06f44071ccbeca33fff70b928b71d95a15982740
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jul 23 17:46:38 2019 +0930

    ELF final_write_processing
    
    Move setting of OSABI to final_write_processing, after symbols are
    written.  This allows OSABI to be set based on symbols actually
    written to the output rather than assuming input symbols will be
    output.
    
    Corrects object files such as the one generated on powerpc64le-linux
    by ld-powerpc/pr23927.s which has a local STT_GNU_IFUNC symbol but
    prior to this patch the file was marked ELFOSABI_NONE.
    
    	* elf-bfd.h (enum elf_gnu_osabi): Rename from elf_gnu_symbols.
    	Remove none, any, all enums.
    	(struct elf_obj_tdata): Rename has_gnu_symbols field to has_gnu_osabi.
    	(_bfd_elf_final_write_processing): Declare.
    	* elf.c (_bfd_elf_write_object_contents): Unconditionally call
    	elf_backend_final_write_processing.
    	(_bfd_elf_post_process_headers): Move body of function to..
    	(_bfd_elf_final_write_processing): ..here, but set EI_OSABI byte
    	only when not already set.  Adjust for rename.
    	* elfxx-target.h (elf_backend_final_write_processing): Default to
    	_bfd_elf_final_write_processing.
    	* elf-hppa.h (elf_hppa_final_write_processing): Call
    	_bfd_elf_final_write_processing.
    	* elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
    	* elf-nacl.c (nacl_final_write_processing): Likewise.
    	* elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
    	* elf32-arc.c (arc_elf_final_write_processing): Likewise.
    	* elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
    	* elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
    	* elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
    	* elf32-cris.c (cris_elf_final_write_processing): Likewise.
    	* elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
    	* elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
    	* elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
    	* elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
    	* elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
    	* elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
    	* elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
    	* elf32-pj.c (pj_elf_final_write_processing): Likewise.
    	* elf32-v850.c (v850_elf_final_write_processing): Likewise.
    	* elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
    	* elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
    	* elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
    	* elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
    	* elf32-arm.c (arm_final_write_processing): Split out from..
    	(elf32_arm_final_write_processing): ..here.  Call
    	_bfd_elf_final_write_processing.
    	(elf32_arm_nacl_final_write_processing): Adjust.
    	* elfxx-mips.c (_bfd_mips_final_write_processing): Split out from..
    	(_bfd_mips_elf_final_write_processing): ..here.  Call
    	_bfd_elf_final_write_processing.
    	* elfxx-mips.h (_bfd_mips_final_write_processing): Declare.
    	* elf32-mips.c (mips_vxworks_final_write_processing): Adjust.
    	* elf32-ppc.c (ppc_final_write_processing): Split out from..
    	(ppc_elf_final_write_processing): ..here.  Call
    	_bfd_elf_final_write_processing.
    	(ppc_elf_vxworks_final_write_processing): Adjust.
    	* elf32-sparc.c (sparc_final_write_processing): Split out from..
    	(elf32_sparc_final_write_processing): ..here.  Call
    	_bfd_elf_final_write_processing.
    	(elf32_sparc_vxworks_final_write_processing): Adjust.
    	* elf32-d10v.c (elf_backend_final_write_processing): Don't define.
    	* elf32-d30v.c (elf_backend_final_write_processing): Don't define.
    	* elf32-m68hc11.c (elf_backend_final_write_processing): Don't define.
    	* elf32-m68hc12.c (elf_backend_final_write_processing): Don't define.
    	* elf32-s12z.c (elf_backend_final_write_processing): Don't define.
    	* elf32-i386.c (elf_i386_check_relocs): Don't set has_gnu_symbols.
    	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
    	* elflink.c (elf_link_add_object_symbols): Likewise.
    	(elf_link_output_symstrtab): Set has_gnu_osabi for symbols here
    	instead.

commit ec49711a16785636a5b9eac3a92bd00382fcb1a9
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jul 23 17:45:25 2019 +0930

    Move ld-scripts size tests
    
    Also restore them somewhat closer to the original.  They originally
    failed on many targets, and a month later I "simplified" them as part
    of a larger patch fixing other failing tests.  That unfortunately lost
    their main purpose, which was to test TLS layout.
    
    	* testsuite/ld-elf/size-1.d,
    	* testsuite/ld-elf/size-1.s,
    	* testsuite/ld-elf/size-1.t: New test.
    	* testsuite/ld-elf/size-2.d,
    	* testsuite/ld-elf/size-2.s,
    	* testsuite/ld-elf/size-2.t: New test.
    	* testsuite/ld-scripts/size-1.d,
    	* testsuite/ld-scripts/size-1.s,
    	* testsuite/ld-scripts/size-1.t,
    	* testsuite/ld-scripts/size-2.s,
    	* testsuite/ld-scripts/size-2.d,
    	* testsuite/ld-scripts/size-2.t,
    	* testsuite/ld-scripts/size.exp: Delete.

commit acea835faa6e14c0b008f001ab145e301ff215f6
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jul 23 17:44:19 2019 +0930

    binutils testsuite test for ELF32 vs ELF64
    
    	* testsuite/binutils-all/objcopy.exp (elf64): Correct object
    	file used to set this variable.

commit 89ebb345e7f5e3ab97638eff7b5914ed2b2e0df1
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jul 23 17:43:28 2019 +0930

    gas "mbind sections" test
    
    Doesn't fail on rx-elf
    
    	* testsuite/gas/elf/section12a.d: Don't skip for rx.

commit ac79ff9ed2f2d6e87a46146eee28a1d8fa631398
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jul 23 09:47:06 2019 +0100

    Add Changelog entry missing from previous delta.
    
    2019-07-22  Barnaby Wilks  <barnaby.wilks@arm.com>
    
    	* arm-dis.c (is_mve_unpredictable): Stop marking some MVE
    	instructions as UNPREDICTABLE.

commit 1dd1bc4daf99ec7ad1f9a6feea8cf4ebe715a92d
Author: Omar Majid <omajid@redhat.com>
Date:   Tue Jul 23 09:44:57 2019 +0100

    Allow objdump to recognise the System.Runtime.dll files that get shipped with .NET Core 2.1.
    
    include	* coff/i386.h (IMAGE_FILE_MACHINE_NATIVE_APPLE_OVERRIDE): Define.
    	(IMAGE_FILE_MACHINE_NATIVE_FREEBSD_OVERRIDE): Define.
    	(IMAGE_FILE_MACHINE_NATIVE_LINUX_OVERRIDE): Define.
    	(IMAGE_FILE_MACHINE_NATIVE_NETBSD_OVERRIDE): Define.
    	(I386_APPLE_MAGIC): Define.
    	(I386_FREEBSD_MAGIC): Define.
    	(I386_LINUX_MAGIC): Define.
    	(I386_NETBSD_MAGIC): Define.
    	(I386BADMAG): Extend macro to allow new magic numbers.
    	* coff/x86_64.h (IMAGE_FILE_MACHINE_NATIVE_APPLE_OVERRIDE): Define.
    	(IMAGE_FILE_MACHINE_NATIVE_FREEBSD_OVERRIDE): Define.
    	(IMAGE_FILE_MACHINE_NATIVE_LINUX_OVERRIDE): Define.
    	(IMAGE_FILE_MACHINE_NATIVE_NETBSD_OVERRIDE): Define.
    	(AMD64_APPLE_MAGIC): Define.
    	(AMD64_FREEBSD_MAGIC): Define.
    	(AMD64_LINUX_MAGIC): Define.
    	(AMD64_NETBSD_MAGIC): Define.
    	(AMD64BADMAG): Extend macro to allow new magic numbers.
    
    bfd	* coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC,
    	I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC,
    	AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC,
    	AMD64_NETBSD_MAGIC.
    	* peXXigen.c: Add comment about source of .NET magic numbers.
    
    binutils* Makefile.am (AUTOMAKE_OPTIONS): Add subdir-objects
    	(GENTESTDLLSPROG): Define.
    	(TEST_PROGS): Add GENTESTDLLSPROG.
    	* Makefile.in: Regenerate.
    	* testsuite/binutils-all/objdump.exp
    	(test_objdump_dotnet_assemblies): New proc.
    	Run the new proc.
    	* testsuite/gentestdlls.c: New source file.

commit 5ba29434765feed692b6342a8b0f853050be2402
Author: Tom de Vries <tdevries@suse.de>
Date:   Tue Jul 23 10:38:33 2019 +0200

    [gdb/testsuite] Fix command result testing in mi-complete.exp
    
    When running gdb.mi/mi-complete.exp in conjunction with:
    ...
    $ stress -c $(($(cat /proc/cpuinfo | grep -c "^processor") + 1))
    ...
    we get less than 50% full passes:
    ...
    $ for n in  $(seq 1 100); do \
        make V=1 -O check \
          'RUNTESTFLAGS=gdb.mi/mi-complete.exp --target_board=unix'; \
      done 2>&1 \
      | grep "expected passes" | sort | uniq -c
         45 # of expected passes            7
          9 # of expected passes            8
         46 # of expected passes            9
    ...
    
    A diff between a passing and failing gdb.log shows this difference:
    ...
    -&"set max-completions 1\n"
     2-complete br
    +&"set max-completions 1\n"
    ...
    
    The problem is that the test-case issues the "set max-completion <n>" command,
    and without waiting for the output issues a next command, and tries to parse
    the results of both commands, expecting a specific interleaving of the various
    output streams.
    
    Fix the FAIL by waiting for the result of the "set max-completion <n>" command
    before issuing another command.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-23  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24711
    	* gdb.mi/mi-complete.exp: Wait for "set max-completions" result before
    	issuing next command.

commit 89356123a17c27548c7e71f4f000b1f74e551c31
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jul 23 00:00:36 2019 +0000

    Automatic date update in version.in

commit bfa2a36d94d124eb7b54fd271a543047579b47ee
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jul 22 08:34:25 2019 -0600

    Remove self-assign from make_invisible_and_set_new_height
    
    In https://sourceware.org/ml/gdb-patches/2019-07/msg00509.html, Jan
    pointed out that clang points out that
    make_invisible_and_set_new_height self-assigns "height".
    
    This patch fixes the bug by renaming the formal parameter.
    
    gdb/ChangeLog
    2019-07-22  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_win_info::make_invisible_and_set_new_height):
    	Don't self-assign.

commit 0c628bba5afd16e0ab3d78ca81ab3f2d5342c50c
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date:   Mon Jul 22 14:46:11 2019 +0100

    Fixes the linker testcase "Secure gateway veneers:cmse functions debug information missing" which was failing due to output regular expression mismatch on arm-none-linux-gnueabihf targets.
    
    	* ld/testsuite/ld-arm/cmse_main_sec_debug.d: Modify regexps to
    	allow for output from a arm-none-linux-gnueabihf target.

commit 236ab0c60c9cedecd4fc23b526a588ee25636c13
Author: Barnaby Wilks <barnaby.wilks@arm.com>
Date:   Mon Jul 22 13:18:27 2019 +0100

    This patch addresses the change in the June Armv8.1-M Mainline specification, that marks certain MVE instructions as no longer UNPREDICTABLE when a source operand is the same as a destination operand for a 32-bit element size.
    
    The instructions that this change apply to are:
    
      VQDMLADH, VQRDMLADH, VQDMLSDH, VQRDMLSDH
    
    The updated documentation is here: https://static.docs.arm.com/ddi0553/bh/DDI0553B_h_armv8m_arm.pdf
    
    Fixed this by removing the check for this warning from GAS as well as opcodes.
    
    Added testcases to test that the warning is not generated for the instructions that have a 32-bit element size
    and the same source and destination operand. Also fixed tests that would previously check for this warning.
    
    gas	* config/tc-arm.c (do_mve_vqdmladh): Remove check for UNPREDICTABLE.
    	* testsuite/gas/arm/mve-vqdmladh-bad.l: Remove tests.
    	* testsuite/gas/arm/mve-vqdmladh-bad.s: Remove tests.
    	* testsuite/gas/arm/mve-vqdmladh.d: New tests.
    	* testsuite/gas/arm/mve-vqdmladh.s: New tests.
    	* testsuite/gas/arm/mve-vqdmlsdh-bad.l: Remove tests.
    	* testsuite/gas/arm/mve-vqdmlsdh-bad.s: Remove tests.
    	* testsuite/gas/arm/mve-vqdmlsdh.d: New tests.
    	* testsuite/gas/arm/mve-vqdmlsdh.s: New tests.
    
    opcodes	* arm-dis.c (is_mve_unpredictable): Stop marking some MVE
    	instructions as UNPREDICTABLE.

commit a8e9d2471806ef86ff7aec43164a6fe347efba3b
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Fri Jul 12 11:26:32 2019 +0100

    gdb: Show type summary for anonymous structures from c_print_typedef
    
    Currently each language has a la_print_typedef method, this is only
    used for the "info types" command.
    
    The documentation for "info types" says:
    
       Print a brief description of all types whose names match the regular
       expression @var{regexp} (or all types in your program, if you supply
       no argument).
    
    However, if we consider this C code:
    
       typedef struct {
         int a;
       } my_type;
    
    Then currently with "info types" this will be printed like this:
    
       3:      typedef struct {
           int a;
       } my_type;
    
    I see two problems with this, first the indentation is clearly broken,
    second, if the struct contained more fields then it feels like the
    actual type names could easily get lost in the noise.
    
    Given that "info types" is about discovering type names, I think there
    is an argument to be made that we should focus on giving _only_ the
    briefest summary for "info types", and if the user wants to know more
    they can take the type name and plug it into "ptype".  As such, I
    propose that a better output would be:
    
       3:      typedef struct {...} my_type;
    
    The user understands that there is a type called `my_type`, and that
    it's an alias for an anonymous structure type.
    
    The change to achieve this turns out to be pretty simple, but only
    effects languages that make use of c_print_typedef, which are C, C++,
    asm, minimal, d, go, objc, and opencl.  Other languages will for now
    do whatever they used to do.
    
    The patch to change how anonymous structs are displayed also changes
    the display of anonymous enums, consider this code sample:
    
       typedef enum {
         AA, BB, CC
       } anon_enum_t;
    
    This used to be displayed like this:
    
       3:      typedef enum {AA, BB, CC} anon_enum_t;
    
    Which will quickly become cluttered for enums with a large number of
    values.  The modified output looks like this:
    
       3:      typedef enum {...} anon_enum_t;
    
    Again, the user can always make use of ptype if they want to see the
    details of the anon_enum_t type.
    
    It is worth pointing out that this change (to use {...}) only effects
    anonymous structs and enums, named types don't change with this patch,
    consider this code:
    
       struct struct_t {
         int i;
       };
       enum enum_t {
        AA, BB, CC
       };
    
    The output from 'info types' remains unchanged, like this:
    
       4:      enum enum_t;
       1:      struct struct_t;
    
    An additional area of interest is how C++ handles anonymous types used
    within a typedef; enums are handled basically inline with how C
    handles them, but structs (and classes) are slightly different.  The
    behaviour before the patch is different, and is unchanged by this
    patch.  Consider this code compiled for C++:
    
       typedef struct {
         int i;
       } struct_t;
    
    Both before and after this patch, this is show by 'info types' as:
    
       3:      typedef struct_t struct_t;
    
    Unions are displayed similarly to structs in both C and C++, the
    handling of anonymous unions changes for C in the same way that
    it changes for anonymous structs.
    
    I did look at ada, as this is the only language to actually have some
    tests for "info types", however, as I understand it ada doesn't really
    support typedefs, however, by forcing the language we can see what ada
    would print.  So, if we 'set language ada', then originally we printed
    this:
    
       3:      record
           a: int;
       end record
    
    Again the indentation is clearly broken, but we also have no mention
    of the type name at all, which is odd, but understandable given the
    lack of typedefs.  If I make a similar change as I'm proposing for C,
    then we now get this output:
    
       3:      record ... end record
    
    Which is even less informative I think.  However, the original output
    _is_ tested for in gdb.ada/info_auto_lang.exp, and its not clear to me
    if the change is a good one or not, so for now I have left this out.
    
    gdb/ChangeLog:
    
    	* c-typeprint.c (c_print_typedef): Pass -1 instead of 0 to
    	type_print.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.ada/info_auto_lang.exp: Update expected results.
    	* gdb.base/info-types.c: Add additional types to check.
    	* gdb.base/info-types.exp: Update expected results.

commit eb86c5e2e824787875187901b12fba52ef873278
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jul 9 18:05:59 2019 +0100

    gdb: Improve output from "info types" commad
    
    This commit makes two changes to the "info types" command:
    
    First, only use typedef_print for printing typedefs, and use
    type_print for printing non-typedef scalar (non-struct) types.  The
    result of this is the output for builtin types goes from this:
    
        typedef double;
        typedef float;
        typedef int;
    
    to this:
    
        double;
        float;
        int;
    
    which seems to make more sense.
    
    Next GDB no longer matches msymbols as possible type names.  When
    looking for function symbols it makes sense to report matching
    msymbols from the text sections, and for variables msymbols from the
    data/bss sections, but when reporting types GDB would match msymbols
    of type absolute.  But I don't see why these are likely to indicate
    type names.  As such I've updated the msymbol matching lists in
    symtab.c:search_symbols so that when searching in the TYPES_DOMAIN, we
    never match any msymbols.
    
    gdb/ChangeLog:
    
    	* symtab.c (search_symbols): Adjust msymbol matching type arrays
    	so that GDB doesn't match any msymbols when searching in the
    	TYPES_DOMAIN.
    	(print_symbol_info): Print using typedef_print or type_print based
    	on the type of the symbol.  Add updated FIXME comment moved from...
    	(_initialize_symtab): ... move and update FIXME comment to above.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/info-types.c: New file.
    	* gdb.base/info-types.exp: New file.

commit a8eab7c6d529ddd248ff5243bb22e9346196e376
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Jul 11 21:02:59 2019 +0100

    gdb: Switch "info types" over to use the gdb::options framework
    
    Adds a new -q flag to "info types" using the gdb::option framework.
    This -q flag is similar to the -q flag already present for "info
    variables" and "info functions".
    
    gdb/ChangeLog:
    
    	* NEWS: Mention adding -q option to "info types".
    	* symtab.c (struct info_types_options): New struct.
    	(info_types_options_defs): New variable.
    	(make_info_types_options_def_group): New function.
    	(info_types_command): Use gdb::option framework to parse options.
    	(info_types_command_completer): New function.
    	(_initialize_symtab): Extend the help text on "info types" and
    	register command completer.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Symbols): Add information about -q flag to "info
    	types".

commit b4603c34644847e2113e8c29408db09049c5c30f
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Sun Jul 21 22:27:07 2019 -0500

    Add ChangeLog entry for the last commit
    
    Forgot to commit before pushing :(

commit c32e6a04f42b8e4a1392ee4b87d040c06b917ef5
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Thu Jul 11 13:35:13 2019 -0500

    Use block_enum instead of int for better typesafety
    
    gdb/ChangeLog:
    
    2019-07-21  Christian Biesinger  <cbiesinger@google.com>
    
    	* symtab.c (lookup_symbol_in_objfile_symtabs): Change int to block_enum.
    	(lookup_symbol_in_objfile): Change int to block_enum and add a
    	gdb_assert to make sure block_index is GLOBAL_BLOCK or STATIC_BLOCK.

commit c8cdc1e08312a238a9138b55ae080ceeab14845c
Author: Christian Biesinger <cbiesinger@google.com>
Date:   Sat Jul 20 11:55:32 2019 -0500

    [FYI] Add myself to gdb/MAINTAINERS
    
    gdb/Changelog:
    
    	* MAINTAINERS (Write After Approval): Add myself.

commit 7fec04c365ae2468d283fb3529a9ea334d6e528f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jul 22 00:00:29 2019 +0000

    Automatic date update in version.in

commit 86ceaf9867288530af927aa98680526c897cf4cc
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Wed Jun 26 19:38:24 2019 -0700

    Make documentation of "python" command match actual behavior
    
    The example in the documentation for the "python" command shows GDB
    outputting instructions for how to terminate a sequence of python
    commands entered from the command line.  The documentation shows that
    the following two lines are being output, though this does not occur
    when actually using the "python" command from GDB:
    
        Type python script
        End with a line saying just "end".
    
    While display of this text might be helpful, GDB has several other
    commands which also use the "end" terminator that offer no such text.
    Examples include the "if" and "while" commands.  For example,
    
    (gdb) if 1==1
     >print "a"
     >end
    $1 = "a"
    
    This seems similar to doing:
    
    (gdb) python
     >print 23
     >end
    23
    
    If we decide that we want the "python" command to print such a message,
    we should also adjust the behavior for other GDB commands which also use
    "end" to terminate a command list.  I.e, if this decision is made, the
    "if" and "while" commands ought to also print similar messages.
    
    So, for the moment anyway, this commit adjusts the documentation of the
    python command to match its implementation.
    
    This patch was taken from a larger body of work originating from the
    Archer project.  I haven't been able to determine its original author,
    though I did find a commit log from Jan Kratochvil (in the Archer
    repository) which suggests that the change had originally been made to
    gdb.texinfo, but got inadvertently dropped when the python related
    documentation was split out to python.texi.
    
    gdb/doc/ChangeLog:
    
    	* python.texi (python command): Revise example to match
    	command behavior.

commit f720d67c59a4c7e6bf92538c6bfc8dc76f7c7224
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jul 21 00:00:45 2019 +0000

    Automatic date update in version.in

commit 9ab3a74416dac187d56fcf292b39b681d1362dae
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Jul 20 10:47:20 2019 +0930

    PR24827, Linker loops forever if unterminated multi-line comment in script
    
    YY_INPUT returns 0 on end of input, not EOF.
    
    	PR 24827
    	* ldlex.l (comment): Check for 0 return from input(), not EOF.

commit bcbaec5c407a9301ed987d380ac49426a84c3a0e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jul 20 00:00:24 2019 +0000

    Automatic date update in version.in

commit 01e175fe1b21950982642713513e442fc09614e6
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Fri Jul 19 10:34:47 2019 +0100

    gdb/riscv: Write 4-byte nop to dummy code region before inferior calls
    
    When making inferior function calls GDB sets up a dummy code region on
    the stack, and places a breakpoint within that region.  If the random
    stack contents appear to be a compressed instruction then GDB  will
    place a compressed breakpoint, which can cause problems if the target
    doesn't support compressed instructions.
    
    This commit prevents this issue by writing a 4-byte nop instruction to
    the dummy region at the time the region is allocated.  With this nop
    instruction in place, when we come to insert the breakpoint then an
    uncompressed breakpoint will be used.
    
    This is similar to other targets, for example mips.
    
    gdb/ChangeLog:
    
    	* riscv-tdep.c (riscv_push_dummy_code): Write a 4-byte nop
    	instruction to the dummy code region.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.arch/riscv-bp-infcall.c: New file.
    	* gdb.arch/riscv-bp-infcall.exp: New file.

commit ec38ac465d632cbc7fbecffcaadb7c6ffc4b5f39
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jul 19 11:07:59 2019 -0700

    x86: Pass -O0 to assembler in noextreg.d
    
    	* testsuite/gas/i386/noextreg.d: Pass -O0 to assembler.

commit 56f79b630766bb134400b4a8da43941cfc31c0c0
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Jul 15 10:41:18 2019 -0600

    Change ARI to mention C++11, and remove some rules
    
    I noticed that ARI mentions "ISO C 90", but now gdb uses C++11.  This
    patch updates some text to reflect this change.
    
    I also noticed that a few rules can be removed now.  ARGSUSED doesn't
    seem to be an issue any more (there's no code mentioning this and I
    doubt most of us even remember this convention); PARAMS was specific
    to K&R C; and __func__ is available in C++11.
    
    gdb/ChangeLog
    2019-07-19  Tom Tromey  <tromey@adacore.com>
    
    	* contrib/ari/gdb_ari.sh: Mention C++11, not ISO C 90.
    	(ARGSUSED, PARAMS, __func__): Remove rules.

commit 4c5aa8e0b1b4439f73ef1f82344e408b989f85df
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Jul 19 15:06:38 2019 +0100

    Arm: Remove unused feature files and tests
    
    Remove the xml tests. Now that it has been proven the new descriptions
    are identical, there is no need to keep testing that.  Also, it would
    prevent the old xml files from being removed.
    
    Remove the old xml files from gdbserver and delete them.
    
    gdb/ChangeLog:
    
    	* arm-tdep.c (_initialize_arm_tdep): Remove xml tests.
    	* features/arm/arm-with-iwmmxt.c: Remove.
    	* features/arm/arm-with-iwmmxt.xml: Remove.
    	* features/arm/arm-with-m-fpa-layout.c: Remove.
    	* features/arm/arm-with-m-fpa-layout.xml: Remove.
    	* features/arm/arm-with-m-vfp-d16.c: Remove.
    	* features/arm/arm-with-m-vfp-d16.xml: Remove.
    	* features/arm/arm-with-m.c: Remove.
    	* features/arm/arm-with-m.xml: Remove.
    	* features/arm/arm-with-neon.c: Remove.
    	* features/arm/arm-with-neon.xml: Remove.
    	* features/arm/arm-with-vfpv2.c: Remove.
    	* features/arm/arm-with-vfpv2.xml: Remove.
    	* features/arm/arm-with-vfpv3.c: Remove.
    	* features/arm/arm-with-vfpv3.xml: Remove.
    
    gdb/gdbserver/ChangeLog:
    
    2019-07-05  Alan Hayward  <alan.hayward@arm.com>
    
    	* configure.srv: Remove Arm xml files.

commit 7cc17433020a62935e4d91053251fe900d83c7f0
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Jul 19 15:04:48 2019 +0100

    Arm: Use read_description funcs in gdbserver
    
    Switch gdbserver over to using feature target descriptions.
    
    Add a function for determining the type of a given target description,
    and use where required.
    
    gdb/gdbserver/ChangeLog:
    
    	* configure.srv: Add new files. Remove xml generated files.
    	* linux-aarch32-low.c (initialize_low_arch_aarch32): Don't init
    	registers.
    	* linux-aarch32-low.h (tdesc_arm_with_neon): Remove.
    	* linux-aarch32-tdesc.c: New file.
    	* linux-aarch32-tdesc.h: New file.
    	* linux-aarch64-low.c (aarch64_arch_setup): Call aarch32_linux_read_description.
    	* linux-arm-low.c (init_registers_arm, tdesc_arm)
    	(init_registers_arm_with_iwmmxt, tdesc_arm_with_iwmmxt)
    	(init_registers_arm_with_vfpv2, tdesc_arm_with_vfpv2)
    	(init_registers_arm_with_vfpv3, tdesc_arm_with_vfpv3): Remove.
    	(arm_fill_wmmxregset, arm_store_wmmxregset, arm_fill_vfpregset)
    	(arm_store_vfpregset): Call arm_linux_get_tdesc_fp_type.
    	(arm_read_description): Call arm_linux_read_description.
    	(initialize_low_arch): Don't init registers.
    	* linux-arm-tdesc.c: New file.
    	* linux-arm-tdesc.h: New file.

commit f42b26179a8606d31959207a2d8eb8582b650c99
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Jul 19 15:02:41 2019 +0100

    Arm: Add xml unit tests
    
    Use the record_xml_tdesc tests to prove the new target descriptions
    are identical to the previous xml file ones.
    
    This is tested as part of gdb.gdb/unittest.exp.
    
    gdb/ChangeLog:
    
    	* arm-tdep.c (_initialize_arm_tdep): Add xml regression tests.

commit f29ec966436f98e761f7a2a7183ad8ebab68c2ea
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Jul 19 15:01:11 2019 +0100

    Arm: Use feature target descriptions
    
    In arm arm_create_target_description and
    aarch32_create_target_description create feature based target descriptions
    instead of returning the old style descriptions.
    
    Ensure the descriptions are created in exactly the same way as the old xml
    files.
    
    Remove the old initialize calls.
    
    gdb/ChangeLog:
    
    	* arch/aarch32.c (aarch32_create_target_description): Create
    	target descriptions using features.
    	* arch/arm.c (arm_create_target_description)
    	(arm_create_mprofile_target_description): Likewise.
    	* arm-tdep.c (_initialize_arm_tdep): Remove tdesc init calls.

commit d105cce5dd8d6a5218b044fc161ce89c6b245432
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Jul 19 14:59:10 2019 +0100

    Arm: Add read_description read funcs and use in GDB
    
    Switch the Arm target to get target descriptions via arm_read_description
    and aarch32_read_description, in the same style as other feature targets.
    Add an enum to specify the different types - this will also be of use to
    gdbserver in a later patch.
    
    Under the hood return the same existing pre-feature target descriptions.
    
    gdb/ChangeLog:
    
    	* Makefile.in: Add new files.
    	* aarch32-tdep.c: New file.
    	* aarch32-tdep.h: New file.
    	* aarch64-linux-nat.c (aarch64_linux_nat_target::read_description):
    	Call aarch32_read_description.
    	* arch/aarch32.c: New file.
    	* arch/aarch32.h: New file.
    	* arch/arm.c (arm_create_target_description)
    	(arm_create_mprofile_target_description): New function.
    	* arch/arm.h (arm_fp_type, arm_m_profile_type): New enum.
    	(arm_create_target_description)
    	(arm_create_mprofile_target_description): New declaration.
    	* arm-fbsd-tdep.c (arm_fbsd_read_description_auxv): Call
    	read_description functions.
    	* arm-linux-nat.c (arm_linux_nat_target::read_description):
    	Likewise.
    	* arm-linux-tdep.c (arm_linux_core_read_description): Likewise.
    	* arm-tdep.c (tdesc_arm_list): New variable.
    	(arm_register_g_packet_guesses): Call create description functions.
    	(arm_read_description) (arm_read_mprofile_description): New
    	function.
    	* arm-tdep.h (arm_read_description)
    	(arm_read_mprofile_description): Add declaration.
    	* configure.tgt: Add new files.

commit 231097b03afffd0c5a2b520cd999dbcbe8d64eda
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Fri Jul 19 15:35:43 2019 +0200

    cpu,opcodes,gas: use %r0 and %r6 instead of %a and %ctf in eBPF disassembler
    
    This patch changes the eBPF CPU description to prefer the register
    names %r0 and %r6 instead of %a and %ctx when disassembling.  This
    matches better with the current practice, vs. cBPF.
    
    It also updates the GAS tests in order to reflect this change.
    Tested in a x86_64 host.
    
    cpu/ChangeLog:
    
    2019-07-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* bpf.cpu (h-gpr): when disassembling, use %r0 and %r6 instead of
    	%a and %ctx.
    
    opcodes/ChangeLog:
    
    2019-07-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* bpf-desc.c: Regenerated.
    
    gas/ChangeLog:
    
    2019-07-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/gas/bpf/alu.d: Use %r6 instead of %ctx.
    	* testsuite/gas/bpf/lddw-be.d: Likewise.
    	* testsuite/gas/bpf/lddw.d: Likewise.
    	* testsuite/gas/bpf/alu-be.d: Likewise.
    	* testsuite/gas/bpf/alu32.d: Likewise.

commit 1802aae8449a4d693ba1f4efb8a7917c2f20990b
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Fri Jul 19 15:35:02 2019 +0200

    gas: make .lcomm to accept an optional aligmnet in eBPF targets
    
    Tested in a x86_64 host.
    
    gas/ChangeLog:
    
    2019-07-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* config/tc-bpf.c (pe_lcomm_internal): Adapted from tc-i386.c.
    	(pe_lcomm): Likewise.
    	(md_pseudo_table): Use pe_lcomm to implement .lcomm.

commit ccbdd22fb96b8680ebeaecd829e8e51958845a8f
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Fri Jul 19 12:18:02 2019 +0100

    [AArch64] Rename +bitperm to +sve2-bitperm
    
    After some discussion, we've decided to rename the +bitperm feature
    flag to +sve2-bitperm, so that it's consistent with the other SVE2
    feature flags.  The associated internal macros already used
    "SVE2_BITPERM", so only the feature flag itself needs to change.
    
    2019-07-19  Richard Sandiford  <richard.sandiford@arm.com>
    
    gas/
    	* doc/c-aarch64.texi: Remame the +bitperm extension to +sve2-bitperm.
    	* config/tc-aarch64.c (aarch64_features): Likewise.
    	* testsuite/gas/aarch64/illegal-sve2-aes.d: Update accordingly.
    	* testsuite/gas/aarch64/illegal-sve2-sha3.d: Likewise.
    	* testsuite/gas/aarch64/illegal-sve2-sm4.d: Likewise.
    	* testsuite/gas/aarch64/illegal-sve2.d: Likewise.
    	* testsuite/gas/aarch64/sve2.d: Likewise.

commit c213164ad2505cba5263602b7f9fa9a4dd1adf39
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jul 19 15:36:58 2019 +0930

    [PowerPC64] pc-relative TLS relocations
    
    This patch supports using pcrel instructions in TLS code sequences.  A
    number of new relocations are needed, gas operand modifiers to
    generate those relocations, and new TLS optimisation.  For
    optimisation it turns out that the new pcrel GD and LD sequences can
    be distinguished from the non-pcrel GD and LD sequences by there being
    different relocations on the new sequence.  The final "add ra,rb,13"
    on IE sequences similarly needs a new relocation, or as I chose, a
    modification of R_PPC64_TLS.  On pcrel IE code, the R_PPC64_TLS points
    one byte into the "add" instruction rather than being on the
    instruction boundary.
    
    GD:
     pla 3,z@got@tlsgd@pcrel	  # R_PPC64_GOT_TLSGD34
     bl __tls_get_addr@notoc(z@tlsgd) # R_PPC64_TLSGD and R_PPC64_REL24_NOTOC
      edited to IE
       pld 3,z@got@tprel@pcrel
       add 3,3,13
      edited to LE
       paddi 3,13,z@tprel
       nop
    
    LD:
     pla 3,z@got@tlsld@pcrel	  # R_PPC64_GOT_TLSLD34
     bl __tls_get_addr@notoc(z@tlsld) # R_PPC64_TLSLD and R_PPC64_REL24_NOTOC
     ..
     paddi 9,3,z2@dtprel
     pld 10,z3@got@dtprel@pcrel
     add 10,10,3
      edited to LE
       paddi 3,13,0x1000
       nop
    
    IE:
     pld 9,z@got@tprel@pcrel	  # R_PPC64_GOT_TPREL34
     add 3,9,z@tls@pcrel		  # R_PPC64_TLS at insn+1
     ldx 4,9,z@tls@pcrel
     lwax 5,9,z@tls@pcrel
     stdx 5,9,z@tls@pcrel
      edited to LE
      paddi 9,13,z@tprel
      nop
      ld 4,0(9)
      lwa 5,0(9)
      std 5,0(9)
    
    LE:
     paddi 10,13,z@tprel
    
    include/
    	* elf/ppc64.h (R_PPC64_TPREL34, R_PPC64_DTPREL34),
    	(R_PPC64_GOT_TLSGD34, R_PPC64_GOT_TLSLD34),
    	(R_PPC64_GOT_TPREL34, R_PPC64_GOT_DTPREL34): Define.
    	(IS_PPC64_TLS_RELOC): Include new tls relocs.
    bfd/
    	* reloc.c (BFD_RELOC_PPC64_TPREL34, BFD_RELOC_PPC64_DTPREL34),
    	(BFD_RELOC_PPC64_GOT_TLSGD34, BFD_RELOC_PPC64_GOT_TLSLD34),
    	(BFD_RELOC_PPC64_GOT_TPREL34, BFD_RELOC_PPC64_GOT_DTPREL34),
    	(BFD_RELOC_PPC64_TLS_PCREL): New pcrel tls relocs.
    	* elf64-ppc.c (ppc64_elf_howto_raw): Add howtos for pcrel tls relocs.
    	(ppc64_elf_reloc_type_lookup): Translate pcrel tls relocs.
    	(must_be_dyn_reloc, dec_dynrel_count): Add R_PPC64_TPREL64.
    	(ppc64_elf_check_relocs): Support pcrel tls relocs.
    	(ppc64_elf_tls_optimize, ppc64_elf_relocate_section): Likewise.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    gas/
    	* config/tc-ppc.c (ppc_elf_suffix): Map "tls@pcrel", "got@tlsgd@pcrel",
    	"got@tlsld@pcrel", "got@tprel@pcrel", and "got@dtprel@pcrel".
    	(fixup_size, md_assemble): Handle pcrel tls relocs.
    	(ppc_force_relocation, ppc_fix_adjustable): Likewise.
    	(md_apply_fix, tc_gen_reloc): Likewise.
    ld/
    	* testsuite/ld-powerpc/tlsgd.d,
    	* testsuite/ld-powerpc/tlsgd.s,
    	* testsuite/ld-powerpc/tlsie.d,
    	* testsuite/ld-powerpc/tlsie.s,
    	* testsuite/ld-powerpc/tlsld.d,
    	* testsuite/ld-powerpc/tlsld.s: New tests.
    	* testsuite/ld-powerpc/powerpc.exp: Run them.

commit 7a708984176cc2d247d7dd96d84c7d7501bae6eb
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jul 19 14:30:36 2019 +0930

    [PowerPC] Rename testcase
    
    Just making room for a new tlsld test.
    
    	* testsuite/ld-powerpc/tlsldopt.d: Rename from tlsld.d.
    	* testsuite/ld-powerpc/tlsldopt.s: Rename from tlsld.s.
    	* testsuite/ld-powerpc/tlsldopt32.d: Rename from tlsld32.d.
    	* testsuite/ld-powerpc/tlsldopt32.s: Rename from tlsld32.s.
    	* testsuite/ld-powerpc/powerpc.exp: Update.

commit 88468fe09628974cde7dc891d088cc1e0015fa0d
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jul 19 17:07:36 2019 +0930

    Re: ld -r: Don't merge with member of output section group
    
    	PR 24819
    	* testsuite/ld-elf/pr24819.d: xfail for genelf targets.

commit 6cbb8e87ee4682c47eafbec670d62ea2a7a89540
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jul 19 00:00:39 2019 +0000

    Automatic date update in version.in

commit 12a0b67d289e2c3ed266d93e8a8c80087f7d18f8
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Thu Jul 18 18:44:21 2019 +0100

    libctf: introduce ctf_func_type_{info,args}, ctf_type_aname_raw
    
    The first two of these allow you to get function type info and args out
    of the types section give a type ID: astonishingly, this was missing
    from libctf before now: so even though types of kind CTF_K_FUNCTION were
    supported, you couldn't find out anything about them.  (The existing
    ctf_func_info and ctf_func_args only allow you to get info about
    functions in the function section, i.e. given symbol table indexes, not
    type IDs.)
    
    The second of these allows you to get the raw undecorated name out of
    the CTF section (strdupped for safety) without traversing subtypes to
    build a full C identifier out of it.  It's useful for things that are
    already tracking the type kind etc and just need an unadorned name.
    
    include/
    	* ctf-api.h (ECTF_NOTFUNC): Fix description.
    	(ctf_func_type_info): New.
    	(ctf_func_type_args): Likewise.
    libctf/
    	* ctf-types.c (ctf_type_aname_raw): New.
    	(ctf_func_type_info): Likewise.
    	(ctf_func_type_args): Likewise.
    	* ctf-error.c (_ctf_errlist): Fix description.

commit afe09f0b6311a4dd1a7e2dc6491550bb228734f8
Author: Guillaume LABARTHE <guillaume.labarthe@gmail.com>
Date:   Thu Jul 18 17:20:04 2019 +0100

    Fix for using named pipes on Windows
    
    On Windows, passing a named pipe as terminal argument to the new-ui
    command does not work.
    
    The problem is that the new_ui_command function in top.c opens the
    same tty three times, for stdin, stdout and stderr.  With Windows
    named pipes, the second and third calls to open fail.
    
    Opening the file only once and passing the same stream for stdin,
    stdout and stderr makes it work.
    
    Pedro says:
    
     I tried it on GNU/Linux and things still work.
     I ran all the MI tests with forced new-ui, with:
    
     $ make check TESTS="gdb.mi/*.exp" RUNTESTFLAGS="FORCE_MI_SEPARATE_UI=1"
    
     and saw no regressions.
    
    gdb/ChangeLog:
    2019-07-18  Guillaume LABARTHE  <guillaume.labarthe@gmail.com>
    
    	* top.c (new_ui_command): Open specified terminal just once.

commit cd215b2eb74c179d936a3b28577753a08de1cf83
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Jul 18 09:29:15 2019 -0600

    Constify main_name
    
    This patch constifies the return type of main_name.  There is a
    comment indicating that this wasn't possible at some point in the
    past, but whatever the barrier was, it is gone now.
    
    Tested by rebuilding.
    
    gdb/ChangeLog
    2019-07-18  Tom Tromey  <tromey@adacore.com>
    
    	* symtab.c (main_name): Constify return type.
    	* symfile.c (set_initial_language): Update.
    	* symtab.h (main_name): Constify return type.

commit 54d7dae59a2239720c848985a7d50a0a8b3319eb
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jul 18 08:01:45 2019 -0700

    ld -r: Don't merge with member of output section group
    
    When doing a relocatable link, members of input section group are
    placed in their own output sections.  We need to make sure that no
    input sections are merged with member of output section group.
    
    	PR ld/24819
    	* emultempl/elf32.em (elf_orphan_compatible): Return FALSE for
    	member of output section group when doing a relocatable link.
    	* testsuite/ld-elf/pr24819.d: New file.
    	* testsuite/ld-elf/pr24819.s: Likewise.

commit 71c4e95abe66ec9fc2c064268e3f9640a5b951d8
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Jul 18 11:12:40 2019 +0930

    [PowerPC64] Use STN_UNDEF internally for edited relocs
    
    It's not correct to use non-STT_TLS symbols with TLS relocation, not
    that it matters much when editing relocs, but this edited reloc can be
    output by --emit-relocs.  So don't use a symbol on the reloc.
    
    	* elf64-ppc.c (ppc64_elf_relocate_section): Don't bother selecting
    	a TLS section symbol for edited relocs.  Tighten TLS symbol/reloc
    	match test.

commit 46e9995a207140408309dbea40c64f11843db777
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Jul 18 11:04:06 2019 +0930

    [PowerPC64] Don't store TLS_EXPLICIT in tls_mask
    
    This saves a bit in tls_mask, and fixes a bug that could be triggered
    in the unlikely case that both @got (usual ELF style) and @toc
    (PowerOpen style) code was used to set up args for __tls_get_addr.
    
    	* elf64-ppc.c (TLS_EXPLICIT): Define as 256.
    	(ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char
    	is more than 8 bits.
    	(ppc64_elf_tls_optimize): Likewise.  Make tls_set, tls_clear, and
    	tls_type vars unsigned int.
    	(ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT
    	to select r_type edit.

commit b00a0a86c40c681cf4b22a3630f85188ac849721
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Jul 18 10:58:01 2019 +0930

    [PowerPC] Rename TLS_TPRELGD to TLS_GDIE
    
    Choose a better name, that reflects why the flag is set (GD to IE
    optimisation) rather than what the flag produces (TPREL64 reloc on
    a single GOT entry replacing a tls_index pair).
    
    	* elf32-ppc.c (TLS_GDIE): Rename from TLS_TPRELGD throughout file.
    	Correct comment.
    	* elf64-ppc.c (TLS_GDIE): Likewise.

commit 0b1474281c659919d9c63ccfd6891b9e9ed0fc9c
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Jul 18 10:31:44 2019 +0930

    [PowerPC64] correct tprel offset limit
    
    I don't expect anyone will have hit this bug.  You'd need a TLS
    segment of 2G before you'd notice.
    
    	* elf64-ppc.c (ppc64_elf_tls_optimize): Correct test for allowed
    	range of tp-relative offsets.

commit d0044bac9eb6c5476d29c41872bcf8f74a990d4f
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Jul 17 23:18:41 2019 +0200

    gas: .lcomm gets an alignment argument in eBPF
    
    gas/ChangeLog:
    
    2019-07-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* config/tc-bpf.c: Make .lcomm to get a third argument with the
    	alignment.

commit f264fab3cd9364073ccf7c32f29d0f1aa7c99159
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jul 18 00:00:14 2019 +0000

    Automatic date update in version.in

commit e0b989a6d74efbcdadac4974d0b8520ac31cd9b6
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Jul 17 22:57:23 2019 +0200

    gas: support .half, .word and .dword directives in eBPF
    
    This little patch adds support to the eBPF port of GAS for a few data
    directives.  The names for the directives have been chosen to be
    coherent with the suffixes used in eBPF instructions: b, h, w and dw
    for 8, 16, 32 and 64-bit values respectively.
    
    Documentation and tests included.
    Tested in a x86_64 host.
    
    gas/ChangeLog:
    
    2019-07-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* config/tc-bpf.c (md_pseudo_table): .half, .word and .dword.
    	* testsuite/gas/bpf/data.s: New file.
    	* testsuite/gas/bpf/data.d: Likewise.
    	* testsuite/gas/bpf/data-be.d: Likewise.
    	* testsuite/gas/bpf/bpf.exp: Run data and data-be.
    	* doc/c-bpf.texi (BPF Directives): New section.

commit d8f68fcb9378b5ab1c945fa676e11da15be56dd6
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 4 10:09:36 2019 -0600

    Remove unnecessary "return"s
    
    The TUI has some "return;" statements at the end of void-returning
    functions.  There's no need for these, so this patch removes them.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_update_source_window)
    	(tui_update_source_window_as_is)
    	(tui_update_source_windows_with_line): Remove return.
    	* tui/tui-disasm.c (tui_show_disassem)
    	(tui_show_disassem_and_update_source): Remove return.
    	* tui/tui.c (tui_reset): Remove return.
    	* tui/tui-wingeneral.c
    	(tui_check_and_display_highlight_if_needed): Remove return.

commit ca5af91ed271a12200bb40ccfaaede4baef6f5fe
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 2 17:31:44 2019 -0600

    Fix an error in parse_scrolling_args
    
    parse_scrolling_args combines two errors into one message, which also
    happens to end with a newline.  This separates the errors and fixes
    the message.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (parse_scrolling_args): Throw separate errors.

commit 5104fe361d818a46b262b5d504f3d293c9a2b44a
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 2 17:07:02 2019 -0600

    Move source window common to code to tui-winsource.[ch]
    
    Like the previous rearranging patches, this moves the source and
    disassembly window base class code to tui-winsource.[ch].  The
    execution info window is also moved, because it is associated with
    this base class.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (struct tui_exec_info_window)
    	(struct tui_source_window_base): Move from tui-data.h.
    	* tui/tui-winsource.c: Move many method definitions from
    	elsewhere.  Remove "structuring" comments.
    	* tui/tui-wingeneral.c (tui_source_window_base::make_visible)
    	(tui_source_window_base::refresh_window): Move to
    	tui-winsource.c.
    	* tui/tui-win.c (tui_source_window_base::refresh_all)
    	(tui_source_window_base::update_tab_width)
    	(tui_source_window_base::set_new_height)
    	(tui_source_window_base::do_make_visible_with_new_height): Move to
    	tui-winsource.c.
    	* tui/tui-source.h: Update.
    	* tui/tui-source.c (tui_source_window_base::reset): Move to
    	tui-winsource.c.
    	* tui/tui-disasm.h: Update.
    	* tui/tui-data.h (struct tui_exec_info_window): Move to
    	tui-winsource.h.
    	(struct tui_source_window_base): Likewise.
    	* tui/tui-data.c (tui_source_window_base::clear_detail)
    	(tui_source_window_base, ~tui_source_window_base): Move to
    	tui-winsource.c.

commit daa15dde7202d948da694bdfe0df9e5294c7ee9a
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 2 17:05:49 2019 -0600

    Change make_invisible_and_set_new_height to be a method
    
    This changes make_invisible_and_set_new_height to be a method on
    tui_win_info.  I felt that this was cleaner.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_resize_all)
    	(tui_source_window_base::update_tab_width)
    	(tui_adjust_win_heights): Update.
    	(tui_win_info::make_invisible_and_set_new_height): Rename from
    	make_invisible_and_set_new_height.
    	* tui/tui-data.h (struct tui_win_info)
    	<make_invisible_and_set_new_height>: New method.

commit bfad4537079109d9c41ecd86af9cf84b6825a192
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 2 15:55:01 2019 -0600

    Move tui_source_window to tui-source.h
    
    This moves tui_source_window to tui-source.h.  In this case there were
    no method definitions to be moved.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.c: Update.
    	* tui/tui-source.h (struct tui_source_window): Move from
    	tui-data.h.
    	* tui/tui-layout.c: Update.
    	* tui/tui-disasm.c: Update.
    	* tui/tui-data.h (struct tui_source_window): Move to
    	tui-source.h.

commit 88f7e873362279462c676b26fee62376dba82b5c
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 2 15:54:08 2019 -0600

    Move tui_disasm_window to tui-disasm.h
    
    This moves tui_disasm_window to tui-disasm.h.  In this case there were
    no method definitions to be moved.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-disasm.h (struct tui_disasm_window): Move from
    	tui-data.h.
    	* tui/tui-data.h (struct tui_disasm_window): Move to
    	tui-disasm.h.

commit 96bd6233af7c01885de4f4de3a4016014d61d859
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 2 15:51:00 2019 -0600

    Move TUI data item window to tui-regs.h
    
    The TUI data item window is only used by the TUI register window.  So,
    this patch moves the relevant code to tui-regs.[ch].
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.h (struct tui_data_item_window): Move from
    	tui-data.h.
    	* tui/tui-regs.c (tui_data_item_window): Move from tui-data.c.
    	* tui/tui-data.h (struct tui_data_item_window): Move to
    	tui-regs.h.
    	* tui/tui-data.c (~tui_data_item_window): Move to tui-regs.c.

commit ce38393b1abc2573d6521d11ab1fbfb5a28e5109
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 2 15:48:59 2019 -0600

    Move TUI command window code
    
    Like the earlier change to the data window, this moves the TUI command
    window code to tui-command.[ch], and removes the old "structuring"
    comments from tui-command.c.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.c: Update.
    	* tui/tui-win.c (tui_cmd_window::do_make_visible_with_new_height)
    	(tui_cmd_window::max_height): Move to tui-command.c.
    	* tui/tui-layout.c: Update.
    	* tui/tui-data.h (struct tui_cmd_window): Move to tui-command.h.
    	* tui/tui-data.c (tui_cmd_window::clear_detail): Move to
    	tui-command.c.
    	* tui/tui-command.h (struct tui_cmd_window): Move from
    	tui-data.h.
    	* tui/tui-command.c: Remove "structuring" comments.
    	(tui_cmd_window::clear_detail)
    	(tui_cmd_window::do_make_visible_with_new_height)
    	(tui_cmd_window::max_height): Move from elsewhere.

commit 2d8b51cba307333b6a068296d9668cd01164de28
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 2 15:43:00 2019 -0600

    Move tui_dispatch_ctrl_char to tui-io.c
    
    tui_dispatch_ctrl_char is only called from a single spot in tui-io.c,
    so move the function to that file and make it static.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-io.c (tui_dispatch_ctrl_char): Move from tui-command.c.
    	Now static.
    	* tui/tui-command.h (tui_dispatch_ctrl_char): Don't declare.
    	* tui/tui-command.c (tui_dispatch_ctrl_char): Move to tui-io.c.

commit 18ab23af8b3d473f795ce48ee54a47e1a3e7ae47
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 2 15:41:08 2019 -0600

    Rearrange TUI data window code
    
    An earlier patch caused tui-windata.h to be essentially empty.  And,
    other earlier patches implemented TUI data window methods in any spot
    that happened to be convenient at the time.
    
    This patch rearranges all the data window code to be somewhat more
    organized.  It moves tui_data_window to tui-regs.h, and moves the
    implementation of all methods to tui-regs.c.  It then removes
    tui-windata.h and tui-windata.c.
    
    It also removes the "structuring" comments from tui-regs.c; these are
    not the usual gdb style, and were out of date anyhow.  Finally, it
    moves _initialize_tui_regs to the end of the file, per the usual gdb
    convention.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.c: Update.
    	* tui/tui-wingeneral.c (tui_data_window::refresh_window): Move to
    	tui-regs.c.
    	* tui/tui-windata.h: Remove file.
    	* tui/tui-windata.c: Remove file.
    	* tui/tui-win.c (tui_data_window::set_new_height)
    	(tui_data_window::do_make_visible_with_new_height): Move to
    	tui-regs.c.
    	* tui/tui-regs.h (struct tui_data_window): Move from tui-data.h.
    	* tui/tui-regs.c: Remove "structuring" comments.
    	(tui_data_window::first_data_item_displayed)
    	(tui_data_window::delete_data_content_windows)
    	(tui_data_window::erase_data_content)
    	(tui_data_window::display_all_data)
    	(tui_data_window::refresh_all)
    	(tui_data_window::do_scroll_vertical)
    	(tui_data_window::clear_detail, tui_data_window::set_new_height)
    	(tui_data_window::do_make_visible_with_new_height)
    	(tui_data_window::refresh_window): Move from elsewhere.
    	(_initialize_tui_regs): Move to end of file.
    	* tui/tui-layout.c: Update.
    	* tui/tui-hooks.c: Update.
    	* tui/tui-data.h (struct tui_data_window): Move to tui-regs.h.
    	* tui/tui-data.c (tui_data_window::clear_detail): Move to
    	tui-regs.c.
    	* Makefile.in (SUBDIR_TUI_SRCS): Remove tui-windata.c.

commit 88b7e7ccb958220adabc307e6d38fc66877820fb
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jul 2 15:18:27 2019 -0600

    Fix flushing bug in tui_puts_internal
    
    A while back I changed gdb not to flush in some places.  It turned out
    that this broke the TUI a little.  An easy way to see it is to run
    "gdb -tui -nx", then "file gdb" at the gdb prompt.  gdb will print the
    usual "Reading symbols..." message -- but it won't appear on-screen
    until the reading is complete.
    
    This patch changes the TUI to do the equivalent of line buffering in
    tui_puts_internal.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-io.c (tui_puts_internal): Call wrefresh if newline is
    	seen.

commit 0fcd37117e94e5b9bf5f4aaa4dccc8038b38398e
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jul 1 14:44:29 2019 -0600

    Remove has_locator method
    
    Earlier changes made it obvious that the has_locator method can only
    be called for source/disassembly windows.  Because the only reference
    to this now occurs in methods on this object, we can remove the
    has_locator method entirely, in favor of using the member directly.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_source_window_base::set_new_height)
    	(tui_source_window_base::do_make_visible_with_new_height): Use
    	m_has_locator field directly.
    	* tui/tui-data.h (struct tui_win_info) <has_locator>: Remove
    	method.
    	(struct tui_source_window_base) <has_locator>: Likewise.

commit 4a38112da00f45527de4aec0b645443c6ee0e01e
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jul 1 14:41:28 2019 -0600

    Remove tui_make_visible and tui_make_invisible
    
    tui_make_visible and tui_make_invisible are just wrappers for a method
    call, so remove them and have the callers simply make the method call
    themselves.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.h (tui_make_visible, tui_make_invisible):
    	Don't declare.
    	* tui/tui-wingeneral.c (tui_make_visible, tui_make_invisible):
    	Remove.
    	* tui/tui-win.c (tui_source_window_base::set_new_height)
    	(tui_source_window_base::set_new_height)
    	(make_invisible_and_set_new_height)
    	(tui_source_window_base::do_make_visible_with_new_height)
    	(tui_source_window_base::do_make_visible_with_new_height):
    	Update.
    	* tui/tui-layout.c (show_source_disasm_command, show_data)
    	(show_source_or_disasm_and_command): Update.
    	* tui/tui-layout.c (show_layout): Update.

commit 0912922656b9fec5f04623ea49292b7ae564c7ef
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jul 1 14:37:38 2019 -0600

    Remove make_data_window
    
    As with the previous patches, unifying the creation and
    re-initialization cases for the data window lets us remove
    make_data_window in favor of simply using "new".
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (make_data_window): Remove.
    	(show_data): Unify creation and re-initialization cases.

commit 4a8a5e84a777c7c267503a1d1ee15bce2ba19d1d
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jul 1 14:37:04 2019 -0600

    Remove make_source_window and make_disasm_window
    
    This unifies the remaining creation and re-initialization cases for
    the source and disassembly windows.  Once this is done, it's clear
    that make_source_window and make_disasm_window aren't needed any more,
    so remove them.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (make_source_window, make_disasm_window):
    	Remove.
    	(show_data): Unify creation and re-initialization cases.

commit 76d2be8e92a900558648eeba6b4ff95cba62801e
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jul 1 14:26:42 2019 -0600

    Remove make_command_window
    
    This unifies the creation and re-initialization cases for the command
    window.  When this is done, it becomes clear that make_command_window
    isn't needed -- it can be replaced with a simple "new", so this is
    removed as well.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (make_command_window): Remove.
    	(show_source_disasm_command, show_source_or_disasm_and_command):
    	Unify creation and re-initialization cases.

commit 890b8bde7a07a412bc1085bd4724bd03500b0dc0
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jul 1 00:55:14 2019 -0600

    Simplify show_source_or_disasm_and_command
    
    This changes show_source_or_disasm_and_command to unify the creation
    and re-initialization cases.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (show_source_or_disasm_and_command): Unify
    	creation and re-initialization cases.

commit 2cdfa11333867dbfcb2a6b631cda989d64f68944
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jul 1 00:51:20 2019 -0600

    Change tui_get_register to return void
    
    tui_get_register returns a tui_status, but nothing checks this, so it
    can return void instead.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.c (tui_get_register): Return void.

commit 8e3cfd09e813fc1a2738b0d4d19d15358e438ace
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 30 23:30:28 2019 -0600

    Simplify tui_gen_win_info::make_visible
    
    I noticed that tui_gen_win_info::make_visible was much wordier than it
    needed to be.  This simplifies it.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (tui_gen_win_info::make_visible):
    	Simplify.

commit f4e049775aa3b025501d6b4aae1cdb975505a767
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 30 20:46:18 2019 -0600

    Simplify show_source_disasm_command
    
    This is the first of a few patches to further simplify window
    (re-)initialization in tui-layout.c.  When changing the layout, a
    window may be created or, if it already exists, simply resized.  These
    two cases normally are identical, but this was obscured by the way the
    code was written.  This patch changes show_source_disasm_command to
    unify the creation and re-initialization cases.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (show_source_disasm_command): Simplify window
    	resetting.

commit 0379b8837a875403866e2cf1a0315bee1d8d5694
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 30 20:43:32 2019 -0600

    Clean up tui_layout_command
    
    tui_layout_command is a simple wrapper for tui_set_layout_by_name.
    This removes the extra layer and cleans up the resulting function a
    bit -- changing it to call error rather than return a result.  This
    necessitated a small change to tui-regs.c, to avoid calling the
    function that is being removed.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.h (tui_set_layout_by_name): Don't declare.
    	* tui/tui-regs.c (tui_reg_layout): New function.
    	(tui_show_registers, tui_reg_command): Use it.
    	* tui/tui-layout.c (LAYOUT_USAGE): Remove.
    	(tui_layout_command): Rename from tui_set_layout_by_name.  Change
    	parameters.
    	(tui_layout_command): Remove.

commit b7fbad913e8874b9a887eb149b14975343bfb7ab
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 30 20:34:57 2019 -0600

    Change tui_set_layout to return void
    
    tui_set_layout can't meaningfully be called with UNDEFINED_LAYOUT; and
    instead of trying to handle this case, simply assert and have the
    function return void.  No caller was checking the return value anyway.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.h (tui/tui-layout): Return void.
    	* tui/tui-layout.c (tui_set_layout): Return void.  Add assert.

commit 4e1e56b9818109a39bb1b035fd50dd05a00699f2
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 30 20:32:35 2019 -0600

    Remove reset_locator
    
    reset_locator was introduced just a few patches ago, but it's already
    time to remove it.  It consists of a call to the locator's "reset"
    method, plus a call to tui_make_window; but the latter is redundant at
    all the places that call reset_locator.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (show_source_disasm_command, show_data):
    	Update.
    	(reset_locator): Remove.
    	(show_source_or_disasm_and_command): Update.

commit 1e0c09ba0bdd8b4dd1ab3a61b2ae2d326825bee1
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jun 29 07:32:47 2019 -0600

    Remove the win_type parameter from tui_gen_win_info::reset
    
    tui_gen_win_info::reset has a window type parameter that is only used
    for an assertion.  This made sense as a defensive measure when window
    creation was more dynamic -- it ensured that one did not make
    mistakes.  However, there's no need for it any more, so this removes
    it.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-source.c (tui_source_window_base::reset): Remove
    	win_type parameter.
    	* tui/tui-layout.c (make_command_window, make_source_window)
    	(make_disasm_window, make_data_window)
    	(show_source_disasm_command, show_data, tui_gen_win_info::reset)
    	(reset_locator, show_source_or_disasm_and_command): Update.
    	* tui/tui-data.h (struct tui_gen_win_info) <reset>: Remove
    	win_type parameter.
    	(struct tui_source_window_base) <reset>: Likewise.

commit 1bf605de8e9ae4fcf77c21067ddaf4a242a873f7
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 23:56:25 2019 -0600

    Introduce reset_locator function in tui-layout.c
    
    init_and_make_win in tui-layout.c is now only called for the locator
    -- earlier changes have made most of the cases here obsolete.  This
    patch removes init_and_make_win and introduces a reset_locator
    function.  Window creation is now much simpler to follow, because it
    is no longer quite so dynamic.  (Though it will become even simpler in
    coming patches.)
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (show_source_disasm_command): Use
    	reset_locator.
    	(reset_locator): New function.
    	(init_and_make_win): Remove.
    	(show_source_or_disasm_and_command): Use reset_locator.

commit 098f9ed48e1c94a2624c825ba93d72b163d41196
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 23:54:25 2019 -0600

    Always create an execution info window for a source window
    
    A source or disassembly window will always have an "execution info"
    window (the window along the side that displays breakpoint info), but
    this isn't immediately clear from the source.  As a result, some code
    has checks to see whether the execution_info is NULL.
    
    This changes the source window base class to always instantiate an
    execution_info window, then updates the rest of the code.  It also
    simplifies window creation in tui-layout.c.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_set_exec_info_content): Remove
    	condition.
    	* tui/tui-wingeneral.c (tui_source_window_base::make_visible):
    	Remove condition.
    	* tui/tui-source.c (tui_source_window_base::reset): New method.
    	* tui/tui-layout.c (make_command_window): Don't call
    	init_and_make_win.
    	(make_source_window, make_disasm_window): Don't call
    	make_source_or_disasm_window.
    	(make_data_window): Don't call init_and_make_win.  Change calling
    	convention.
    	(show_source_disasm_command, show_data): Simplify.
    	(make_source_or_disasm_window): Remove.
    	(show_source_or_disasm_and_command): Simplify.
    	* tui/tui-data.h (struct tui_gen_win_info) <reset>: Now virtual.
    	(struct tui_source_window_base) <reset>: Likewise.
    	<execution_info>: Remove initializer.
    	* tui/tui-data.c (tui_source_window_base): Initialize
    	execution_info.

commit 801109578cd2a6ebd690dd23f0d4a1f4a67aee09
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 23:35:31 2019 -0600

    Remove some dead code from tui_set_layout
    
    tui_set_layout sets regs_populate using:
    
          regs_populate = (new_layout == SRC_DATA_COMMAND
    		       || new_layout == DISASSEM_DATA_COMMAND);
    
    Then later it checks this variable:
    
    	  if (!regs_populate
    	      && (new_layout == SRC_DATA_COMMAND
    		  || new_layout == DISASSEM_DATA_COMMAND))
    
    However, this is equivalent to "!regs_populate && regs_populate",
    which can never be true.  So, remove the dead code and the variable.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (tui_set_layout): Remove regs_populate
    	variable.

commit cf82af058d2f1488d8f8a096d7e3b76d1d5a4f46
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 23:32:05 2019 -0600

    Remove TUI data window special case
    
    The TUI has a couple of special cases for updating the data window:
    one in tui_rl_other_windowand one in tui_set_focus_command.  As part
    of the project to remove references to globals, I wanted to remove
    these calls; but when I did, some simple operations (like "C-x o")
    would cause the register window to blank.
    
    This fixes the underlying problem by arranging for the data window's
    refresh_window method to call the superclass method first, and then to
    refresh the child windows.  Then the special cases can be removed.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.c (tui_rl_other_window): Update.
    	* tui/tui-wingeneral.c (tui_data_window::refresh_window): Call
    	superclass method first.  Always iterate over regs_content.
    	(tui_unhighlight_win, tui_highlight_win): Use refresh_window
    	method.
    	* tui/tui-win.c (tui_set_focus_command): Update.

commit 01aeb396d0e7a2d76f5f2391a30328dcdd5bed1e
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 23:23:37 2019 -0600

    Remove tui_set_focus
    
    tui_set_focus_command is a simple wrapper for tui_set_focus, so rename
    the latter and remove the wrapper function.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_set_focus_command): Rename from
    	tui_set_focus.  Call tui_enable.
    	(tui_set_focus_command): Remove.

commit fd6c75eecd92ad888cc369489b31d2ed9015130e
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 23:17:24 2019 -0600

    Merge refresh and refresh_window methods
    
    Earlier refactorings introduced the refresh and refresh_window
    methods, following the previous TUI code.  However, these methods are
    essentially the same, so this patch merges them.  It also removes some
    redundant refresh_window calls, because the execution window is
    updated automatically by the corresponding source (or disassembly)
    window.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_show_exec_info_content): Don't call
    	refresh_window.
    	* tui/tui-wingeneral.c (tui_gen_win_info::refresh_window): Call
    	touchwin.
    	(tui_data_window::refresh_window): Call refresh_window on data
    	items.  Always call superclass refresh_window.
    	(tui_win_info::refresh): Remove.
    	(tui_source_window_base::refresh_window): Update.
    	(tui_refresh_all): Update.
    	* tui/tui-layout.c (show_source_disasm_command): Remove call to
    	refresh_window.
    	(show_source_or_disasm_and_command): Likewise.
    	* tui/tui-data.h (struct tui_win_info) <refresh>: Remove.
    	(struct tui_source_window_base) <refresh>: Likewise.

commit f6cc34a91c173634b6afcc1a48601a601fbace37
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 22:57:37 2019 -0600

    Remove tui_source_window::content_in_use
    
    Now that source window clearing has been simplified, we don't need a
    special flag to say whether the source window is in use -- we can
    simply check whether the contents are set.  This patch implements this
    idea, removing the content_in_use field.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_clear_source_content)
    	(tui_show_source_content): Update.
    	* tui/tui-source.c (tui_source_window::showing_source_p): Check
    	whether content is empty.
    	* tui/tui-data.h (struct tui_source_window_base) <content_in_use>:
    	Remove.

commit f31ec9af48578adb0baf8db3e10da871d6ee3eca
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 22:55:45 2019 -0600

    Simplify source window clearing
    
    When a TUI source window is empty, it displays a "No Source Available"
    message.  The function tui_set_source_content_nil also made sure to
    put this message into the window's "content" field.
    
    However, I believe this isn't really necessary.  Instead, it's simpler
    to just empty the contents and let curses handle the refreshing.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_erase_source_content): Clear the
    	window's contents.
    	* tui/tui-source.h (tui_set_source_content_nil): Don't declare.
    	* tui/tui-source.c (tui_set_source_content_nil): Remove.

commit d1b6f1e5ebdd755274a77a31c4afa48969b73bee
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 22:51:20 2019 -0600

    Remove UNDEFINED_ITEM define from TUI
    
    The TUI defined UNDEFINED_ITEM, but only used it in a single spot.  I
    think this isn't very useful, so this removes the define.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (UNDEFINED_ITEM): Remove define.
    	(struct tui_data_item_window): Update.

commit d9743a13e0c9e3043ec3ad979534fab44c0f17b2
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 22:49:10 2019 -0600

    Remove unused TUI defines
    
    This removes some #defines that were unused in the TUI.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (MAX_CONTENT_COUNT, TUI_NULL_STR)
    	(DEFAULT_HISTORY_COUNT, WITH_LOCATOR, NO_LOCATOR): Remove
    	defines.

commit caf0bc4e8bafc387c8136c0f63748e56245f779a
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 22:48:33 2019 -0600

    Remove unused parameter from two TUI functions
    
    The "display_prompt" parameter of tui_erase_source_content and
    tui_clear_source_content was never passed the NO_EMPTY_SOURCE_PROMPT
    value, so remove the parameter.  Once this is done, the
    EMPTY_SOURCE_PROMPT and NO_EMPTY_SOURCE_PROMPT defines are unused, so
    remove those as well.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_erase_source_content)
    	(tui_clear_source_content): Remove "display_prompt" parameter.
    	* tui/tui-winsource.c (tui_update_source_window_as_is)
    	(tui_update_source_windows_with_addr): Update.
    	(tui_clear_source_content): Remove "display_prompt" parameter.
    	(tui_erase_source_content): Likewise.  Simplify.
    	(tui_show_source_content): Update.
    	* tui/tui-win.c (tui_resize_all, tui_adjust_win_heights): Update.
    	* tui/tui-stack.c (tui_show_frame_info): Update.
    	* tui/tui-data.h (EMPTY_SOURCE_PROMPT, NO_EMPTY_SOURCE_PROMPT):
    	Remove defines.

commit 9d391078d1238e1be9dea5a775982a00a2497a57
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 16:58:16 2019 -0600

    Add win_info parameter to tui_set_disassem_content
    
    This adds a win_info parameter to tui_set_disassem_content, removing
    uses of the TUI_DISASM_WIN global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_update_source_window_as_is): Update.
    	* tui/tui-disasm.h (tui_set_disassem_content): Add win_info
    	parameter.
    	* tui/tui-disasm.c (tui_set_disassem_content): Add win_info
    	parameter.

commit a38da35d7bc89e4c2191d4f042912038c585f36d
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 16:44:23 2019 -0600

    Move content_in_use to tui_source_window class
    
    From scanning the source now, it's clear that the content_in_use field
    is only used for the source window.  This patch moves the field there,
    and changes it to be a bool at the same time.  (A future patch will
    clean this up further, removing the field entirely.)
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_clear_source_content)
    	(tui_show_source_content, tui_show_exec_info_content)
    	(tui_clear_exec_info_content): Update.
    	* tui/tui-stack.c (tui_show_locator_content): Update.
    	(tui_show_frame_info): Update.
    	* tui/tui-source.h (tui_source_window): Don't declare.
    	* tui/tui-source.c (tui_source_window::showing_source_p): Rename
    	from tui_source_is_displayed.
    	* tui/tui-data.h (struct tui_gen_win_info) <content_in_use>:
    	Remove field.
    	(struct tui_source_window_base) <content_in_use>: New field.  Now
    	bool.
    	(struct tui_source_window) <showing_source_p>: New method.
    	(TUI_SRC_WIN): Change cast.
    	* tui/tui-data.c (tui_initialize_static_data): Update.

commit c2cd8994669f63eb415522352a5d5006d0fbfb48
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 15:19:10 2019 -0600

    Introduce tui_source_window_base::location_matches_p method
    
    This introduces the location_matches_p method, removing a spot that
    explicitly examines a window's type.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_update_breakpoint_info): Use
    	location_matches_p.
    	* tui/tui-source.c (tui_source_window::location_matches_p): New
    	method.
    	* tui/tui-disasm.c (tui_disasm_window::location_matches_p): New
    	method.
    	* tui/tui-data.h (struct tui_source_window_base)
    	<location_matches_p>: New method.
    	(struct tui_source_window, struct tui_disasm_window)
    	<location_matches_p>: Likewise.

commit 4dde7b34f4e40ee6e0ea596357e4def60bd67d20
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 15:01:11 2019 -0600

    Remove tui_set_win_height
    
    tui_set_win_height_command is just a simple wrapper for
    tui_set_win_height, so rename the latter and remove the wrapper.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_set_win_height_command): Rename from
    	tui_set_win_height.
    	(tui_set_win_height_command): Remove.

commit b73dd8779c0530e91c6e5067eab4cb7ca3f794d5
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 14:48:45 2019 -0600

    Make source windows be self-updating
    
    This changes the TUI source window to register itself on the
    source_styling_changed observable, and removes a bit of code from
    tui-hooks.c.  This reduces the number of uses of the TUI_SRC_WIN
    global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-source.c (tui_source_window): New constructor.  Add
    	observer.
    	(~tui_source_window): New destructor.
    	(tui_source_window::style_changed): New method.
    	* tui/tui-hooks.c (tui_redisplay_source): Remove.
    	(tui_attach_detach_observers): Update.
    	* tui/tui-data.h (struct tui_source_window): Make constructor not
    	inline.  Add destructor.
    	(struct tui_source_window) <style_changed>: New method.
    	<m_observable>: New member.

commit ae2b53806d3ce384e349c722b21a7ad246102d5b
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jun 27 16:05:25 2019 -0600

    Fix comment typos
    
    This fixes a couple of comment typos that I noticed.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.c (tui_clear_source_windows_detail): Fix typo.
    	* tui/tui-win.c (tui_resize_all): Fix typo.

commit 1ce3e8442e5bab6f700f5f011de56201f76b8461
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jun 27 16:04:26 2019 -0600

    Introduce TUI window iterator
    
    This introduces an iterator class and a range adapter to make it
    simpler to iterate over TUI windows.
    
    One explicit iteration remains, in tui-win.c, because that spot is
    deleting windows as well.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.h (tui_refresh_all): Update.
    	* tui/tui-wingeneral.c (make_all_visible): Use foreach.
    	(tui_refresh_all): Remove "list" parameter.  Use foreach.
    	* tui/tui-win.c (window_name_completer): Use foreach.
    	(tui_refresh_all_win, tui_rehighlight_all, tui_all_windows_info)
    	(update_tab_width): Likewise.
    	* tui/tui-layout.c (show_layout): Update.
    	* tui/tui-data.h (class tui_window_iterator): New.
    	(struct all_tui_windows): New.
    	* tui/tui-data.c (tui_partial_win_by_name): Use foreach.

commit fe3eaf1cd9af54cd4c678a8dde7fd0df601c9490
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 19:45:53 2019 -0600

    Minor tui_reg_next / tui_reg_prev cleanup
    
    This changes tui_reg_next and tui_reg_prev so that they don't need to
    reference the TUI_DATA_WIN globals.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.c (tui_reg_next, tui_reg_prev): Add "current_group"
    	parameter.  Don't reference globals.
    	(tui_reg_command): Update.

commit 368c1354e578eb280df37059aa6b8c1f178baaf4
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 16:26:39 2019 -0600

    Simplify tui_show_registers
    
    tui_show_registers keeps a local status variable, but it is not
    actually needed.  This rearranges the function to remove the variable.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.c (tui_show_registers): Simplify.

commit e80cd2047079a63ab087df15d179c49ca18de202
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 16:25:40 2019 -0600

    Parameterize tui_show_register_group with window
    
    This changes tui_show_register_group not to reference the TUI_DATA_WIN
    global, instead leaving that to its caller.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.c (tui_show_registers): Update.
    	(tui_show_register_group): Add win_info parameter.

commit aca2dd16474ec88b3969436044801f58f9163c5c
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 16:15:46 2019 -0600

    Introduce tui_data_window::display_reg_element_at_line method
    
    This changes tui_display_reg_element_at_line to be a method on
    tui_data_window, allowing for the removal of some uses of the
    TUI_DATA_WIN global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.c (tui_data_window::display_reg_element_at_line):
    	Rename from tui_display_reg_element_at_line.
    	(tui_data_window::display_registers_from_line): Update.
    	* tui/tui-data.h (struct tui_data_window)
    	<display_reg_element_at_line>: New method.

commit 517e9505fa563c83b4d5cb192e423a0d6baac752
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 16:13:39 2019 -0600

    Introduce two more tui_data_window methods
    
    This changes tui_display_registers_from and
    tui_display_registers_from_line to be methods on tui_data_window,
    allowing for the removal of more uses of the TUI_DATA_WIN global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.h (tui_display_registers_from)
    	(tui_display_registers_from_line): Don't declare.
    	* tui/tui-windata.c (tui_data_window::display_all_data)
    	(tui_data_window::refresh_all)
    	(tui_data_window::do_scroll_vertical): Update.
    	* tui/tui-regs.c (tui_data_window::display_registers_from): Rename
    	from tui_display_registers_from.
    	(tui_display_reg_element_at_line): Update.
    	(tui_data_window::display_registers_from_line): Rename from
    	tui_display_registers_from_line.
    	* tui/tui-data.h (struct tui_data_window) <display_registers_from,
    	display_registers_from_line>: New methods.

commit f76d8b19e80b43a141ce31c0e0230e23f676182d
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 16:07:45 2019 -0600

    Introduce tui_data_window::erase_data_content method
    
    This changes tui_erase_data_content to be a method on tui_data_window,
    allowing for the removal of some uses of the TUI_DATA_WIN global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-windata.h (tui_erase_data_content): Don't declare.
    	* tui/tui-windata.c (tui_data_window::erase_data_content): Rename
    	from tui_erase_data_content.
    	(tui_data_window::display_all_data)
    	(tui_data_window::refresh_all)
    	(tui_data_window::do_scroll_vertical): Update.
    	* tui/tui-regs.c (tui_show_registers): Update.
    	* tui/tui-data.h (struct tui_data_window) <erase_data_content>:
    	New method.

commit b4094625d8a3e2b528032e2ca8d8cdecf222bb7c
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 16:04:37 2019 -0600

    Introduce tui_data_window::delete_data_content_windows method
    
    This changes tui_delete_data_content_windows to be a method on
    tui_data_window, removing some uses of the TUI_DATA_WIN global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-windata.h (tui_delete_data_content_windows): Don't
    	declare.
    	* tui/tui-windata.c
    	(tui_data_window::delete_data_content_windows): Rename from
    	tui_delete_data_content_windows.
    	(tui_data_window::display_all_data)
    	(tui_data_window::do_scroll_vertical): Update.
    	* tui/tui-data.h (struct tui_data_window)
    	<delete_data_content_windows>: New method.

commit c223a7299e2bdb604d7006842eda7165bcbf2c15
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 16:03:12 2019 -0600

    Don't declare unimplemented functions
    
    A couple of functions were declared but never defined.  This removes
    the declarations.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-windata.h (tui_refresh_data_win): Don't declare.
    	* tui/tui-regs.h (tui_first_reg_element_inline): Don't declare.

commit 50daf2683bad925470f6f1bd08aef928c2f4d6fe
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 16:02:36 2019 -0600

    Introduce tui_data_window::display_all_data method
    
    This changes tui_display_all_data to be a method on tui_data_window.
    This helps cluster uses of the TUI_DATA_WIN global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-windata.h (tui_display_all_data): Don't declare.
    	* tui/tui-windata.c (tui_data_window::display_all_data): Rename
    	from tui_display_all_data.
    	* tui/tui-win.c
    	(tui_data_window::do_make_visible_with_new_height): Update.
    	* tui/tui-regs.c (tui_show_registers): Update.
    	* tui/tui-layout.c (tui_set_layout): Update.
    	* tui/tui-data.h (struct tui_data_window) <display_all_data>: New
    	method.

commit df5f8cab00a8076a5582efec028002d323950c8f
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 16:00:05 2019 -0600

    Remove tui_display_data_from
    
    tui_display_data_from is only called from a single place.  Inlining it
    there lets us remove some uses of the TUI_DATA_WIN global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-windata.h (tui_display_data_from): Don't declare.
    	* tui/tui-windata.c (tui_display_data_from): Remove.
    	(tui_data_window::refresh_all): Update.

commit 80cb6c27099e199cca01bc1a2efb8e8fbc941a48
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 15:56:56 2019 -0600

    Remove tui_display_data_from_line
    
    tui_display_data_from_line is just a wrapper for
    tui_display_registers_from_line, so remove it.  Also, nothing passed 0
    as the "force_display" parameter to tui_display_registers_from_line,
    so remove that parameter as well.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-windata.h (tui_display_data_from_line): Don't declare.
    	* tui/tui-windata.c (tui_display_data_from_line): Remove.
    	(tui_display_data_from, tui_data_window::do_scroll_vertical): Call
    	tui_display_registers_from_line.
    	* tui/tui-regs.h (tui_display_registers_from_line): Update.
    	* tui/tui-regs.c (tui_display_registers_from_line): Remove
    	"force_display" parameter.

commit baff0c28b83bd1ad7949d07b78fdb85ad6be49a5
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 15:49:00 2019 -0600

    Introduce tui_data_window::first_reg_element_no_inline
    
    This changes tui_first_reg_element_no_inline to be a method on
    tui_data_window.  This again moves uses of the TUI_DATA_WIN global
    from this function into other functions that are already using the
    global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.h (tui_first_reg_element_no_inline): Don't
    	declare.
    	* tui/tui-regs.c (tui_data_window::first_reg_element_no_inline):
    	Rename from tui_first_reg_element_no_inline.
    	(tui_display_reg_element_at_line)
    	(tui_display_registers_from_line): Update.
    	* tui/tui-data.h (struct tui_data_window)
    	<first_reg_element_no_inline>: New method.

commit 3b23c5f2662d3240cdc586d3d2e5fb6eb8cba4c7
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 15:46:38 2019 -0600

    Introduce tui_data_window::line_from_reg_element_no method
    
    This changes tui_line_from_reg_element_no to be a method on
    tui_data_window, allowing for the removal of some uses of the
    TUI_DATA_WIN global.  (Actually, in this particular patch, the number
    of uses is not decreased, but rather the uses are moved to spots that
    are already using the global, i.e., increasing the clustering.)
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-windata.c (tui_display_data_from)
    	(tui_data_window::do_scroll_vertical): Update.
    	* tui/tui-regs.h (tui_line_from_reg_element_no): Don't declare.
    	* tui/tui-regs.c (tui_data_window::line_from_reg_element_no):
    	Rename from tui_line_from_reg_element_no.
    	(tui_display_registers_from_line): Update.
    	* tui/tui-data.h (struct tui_data_window)
    	<line_from_reg_element_no>: New method.

commit 0b5ec21882bcc27e93144882b84935497da6e7fe
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 26 15:44:51 2019 -0600

    Introduce tui_data_window::last_regs_line_no method
    
    This changes tui_last_regs_line_no into a method on tui_data_window,
    allowing the removal of uses of the TUI_DATA_WIN global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.h (tui_last_regs_line_no): Don't declare.
    	* tui/tui-regs.c (tui_data_window::last_regs_line_no): Rename from
    	tui_last_regs_line_no.
    	(tui_display_reg_element_at_line)
    	(tui_display_registers_from_line): Update.
    	* tui/tui-data.h (struct tui_data_window) <last_regs_line_no>: New
    	method.

commit 0807ab7b88fa5ffb138ba1ee22b33d26e239de2f
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 21:25:46 2019 -0600

    Remove deleted breakpoint from TUI display
    
    PR tui/24722 points out that deleting a breakpoint does not cause the
    "b" to be removed from the breakpoint display.  The issue here was
    that the breakpoint still exists at the moment the breakpoint-deleted
    observer is notified.  This fixes the problem by specially handling
    the case where a breakpoint is being removed.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	PR tui/24722:
    	* tui/tui-winsource.h (tui_update_all_breakpoint_info)
    	(tui_update_breakpoint_info): Add "being_deleted" parameter.
    	* tui/tui-winsource.c (tui_update_source_window_as_is): Update.
    	(tui_update_all_breakpoint_info): Add "being_deleted" parameter.
    	(tui_update_breakpoint_info): Likewise.
    	* tui/tui-hooks.c (tui_event_create_breakpoint)
    	(tui_event_delete_breakpoint, tui_event_modify_breakpoint):
    	Update.

commit 9ad7fdef7c72b2aca0398ce8e63b89e560873807
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 21:00:01 2019 -0600

    Consolidate "if"s in tui_show_frame_info
    
    tui_show_frame_info has two parallel "if"s with the same condition and
    no intervening code.  The second "if" perhaps wasn't obviously
    identical, but earlier refactorings made it clearer, by pointing out
    that only source and disassembly windows can be handled here.  This
    merges the two statements.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-stack.c (tui_show_frame_info): Consolidate "if"s.

commit 5813316fa4aeaf52f374c20c7fdb9747b88fa8ca
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 20:57:09 2019 -0600

    Remove some uses of TUI_WIN_SRC
    
    This adds a 'win_info' parameter to a couple of functions.  This
    reduces the number of references to the TUI_WIN_SRC global.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_update_source_window_as_is)
    	(tui_update_source_windows_with_addr): Update.
    	* tui/tui-source.h (tui_set_source_content)
    	(tui_show_symtab_source): Add "win_info" parameter.
    	* tui/tui-source.c (tui_set_source_content): Add "win_info"
    	parameter.
    	(tui_show_symtab_source): Likewise.

commit 00e264e7626260a6df6b5a0aa7ee25215ea93f9c
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 20:48:59 2019 -0600

    Check can_highlight in tui_check_and_display_highlight_if_needed
    
    tui_check_and_display_highlight_if_needed currently checks the
    window's type; but this can be replaced with a check of
    "can_highlight", making it more polymorphically-correct.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c
    	(tui_check_and_display_highlight_if_needed): Check can_highlight.

commit 06210ce428ad74c28fd94f7ea3800b79791cdefa
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 20:39:57 2019 -0600

    Introduce can_scroll method
    
    This introduces a "can_scroll" method, removing a spot that explicitly
    checks a window's type.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (struct tui_win_info) <can_scroll>: New method.
    	(struct tui_cmd_window) <can_scroll>: New method.
    	* tui/tui-command.c (tui_dispatch_ctrl_char): Use can_scroll
    	method.

commit 381befeedf9316991d47f4213850545a96593d23
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jul 17 08:34:23 2019 -0600

    Rename field_int to field_signed
    
    This renames ui_out::field_int to field_signed, and field_fmt_int to
    field_fmt_signed; and changes the type of the "value" parameter from
    int to LONGEST.
    
    Tested by the buildbot.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tromey@adacore.com>
    
    	* ui-out.h (class ui_out) <field_signed, field_fmt_signed,
    	do_field_signed>: Rename.  Change type of "value".
    	* ui-out.c (ui_out::field_signed): Rename from field_int.
    	Change type of "value".
    	(ui_out::field_fmt_signed): Rename from field_fmt_int.  Change
    	type of "value".
    	* tui/tui-out.h (class tui_ui_out) <do_field_signed>: Rename from
    	do_field_int.  Change type of "value".
    	* tui/tui-out.c (tui_ui_out::do_field_signed): Rename from
    	do_field_int.  Change type of "value".
    	* tracepoint.c (trace_status_mi, tfind_1)
    	(print_one_static_tracepoint_marker): Update.
    	* thread.c (print_thread_info_1, print_selected_thread_frame):
    	Update.
    	* stack.c (print_frame, print_frame_info): Update.
    	* spu-tdep.c (info_spu_signal_command, info_spu_dma_cmdlist):
    	Update.
    	* source.c (print_source_lines_base): Update.
    	* skip.c (info_skip_command): Update.
    	* record-btrace.c (btrace_ui_out_decode_error)
    	(btrace_call_history_src_line): Update.
    	* python/py-framefilter.c (py_print_single_arg, py_print_frame):
    	Update.
    	* progspace.c (print_program_space): Update.
    	* mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Update.
    	* mi/mi-out.h (class mi_ui_out) <do_field_signed>: Rename from
    	do_field_int.  Change type of "value".
    	* mi/mi-out.c (mi_ui_out::do_table_begin)
    	(mi_ui_out::do_table_header): Update.
    	(mi_ui_out::do_field_signed): Rename from do_field_int.  Change
    	type of "value".
    	* mi/mi-main.c (mi_cmd_thread_list_ids, print_one_inferior)
    	(mi_cmd_data_list_changed_registers, output_register)
    	(mi_cmd_data_read_memory, mi_load_progress)
    	(mi_cmd_trace_frame_collected): Update.
    	* mi/mi-interp.c (mi_on_normal_stop_1, mi_output_solib_attribs):
    	Update.
    	* mi/mi-cmd-var.c (print_varobj, mi_cmd_var_create)
    	(mi_cmd_var_delete, mi_cmd_var_info_num_children)
    	(mi_cmd_var_list_children, varobj_update_one): Update.
    	* mi/mi-cmd-stack.c (mi_cmd_stack_info_depth)
    	(mi_cmd_stack_list_args, list_arg_or_local): Update.
    	* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Update.
    	* inferior.c (print_inferior): Update.
    	* gdb_bfd.c (print_one_bfd): Update.
    	* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
    	Update.
    	* darwin-nat-info.c (darwin_debug_regions_recurse): Update.
    	* cli-out.h (class cli_ui_out) <do_field_signed>: Rename from
    	do_field_int.  Change type of "value".
    	* cli-out.c (cli_ui_out::do_field_signed): Rename from
    	do_field_int.  Change type of "value".
    	* breakpoint.c (watchpoint_check, print_breakpoint_location)
    	(print_one_breakpoint_location, print_it_catch_fork)
    	(print_one_catch_fork, print_it_catch_vfork)
    	(print_one_catch_vfork, print_it_catch_solib)
    	(print_it_catch_exec, print_it_ranged_breakpoint)
    	(print_mention_watchpoint, print_mention_masked_watchpoint)
    	(bkpt_print_it, update_static_tracepoint): Update.
    	* break-catch-throw.c (print_it_exception_catchpoint): Update.
    	* break-catch-syscall.c (print_it_catch_syscall): Update.
    	* ada-tasks.c (print_ada_task_info): Update.
    	* ada-lang.c (print_it_exception, print_mention_exception):
    	Update.

commit 6b78c3f83c8bcbfa714aab7627ece9673b2d602a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jul 2 12:06:06 2019 +0100

    gdb: Remove a non-const reference parameter
    
    Non-const reference parameter should be avoided according to the GDB
    coding standard:
    
      https://sourceware.org/gdb/wiki/Internals%20GDB-C-Coding-Standards#Avoid_non-const_reference_parameters.2C_use_pointers_instead
    
    This commit updates the gdbarch method gdbarch_stap_adjust_register,
    and the one implementation i386_stap_adjust_register to avoid using a
    non-const reference parameter.
    
    I've also removed the kfail from the testsuite for bug 24541, as this
    issue is now resolved.
    
    gdb/ChangeLog:
    
    	PR breakpoints/24541
    	* gdbarch.c: Regenerate.
    	* gdbarch.h: Regenerate.
    	* gdbarch.sh: Adjust return type and parameter types for
    	'stap_adjust_register'.
    	(i386_stap_adjust_register): Adjust signature and return new
    	register name.
    	* stap-probe.c (stap_parse_register_operand): Adjust use of
    	'gdbarch_stap_adjust_register'.
    
    gdb/testsuite/ChangeLog:
    
    	PR breakpoints/24541
    	* gdb.mi/mi-catch-cpp-exceptions.exp: Remove kfail due to 24541.

commit d72a9b85651c872378f6dd732cb578f6f055a9b3
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Jul 15 11:52:02 2019 -0600

    Remove a VEC from s390-linux-nat.c
    
    This removes a use of VEC fro s390-linux-nat.c, replacing it with
    std::vector.
    
    Tested using the Fedora-s390x-m64 buildbot builder.
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tromey@adacore.com>
    
    	* s390-linux-nat.c (s390_watch_area): Remove typedef.  Don't
    	declare VEC.
    	(struct s390_debug_reg_state) <watch_areas, break_areas>: Now
    	std::vector.
    	(struct s390_process_info): Add initializers.
    	(s390_add_process): Use new.
    	(s390_linux_nat_target::low_forget_process): Use delete.
    	(s390_linux_nat_target::low_new_fork)
    	(s390_linux_nat_target::stopped_by_watchpoint)
    	(s390_linux_nat_target::low_prepare_to_resume)
    	(s390_linux_nat_target::insert_watchpoint)
    	(s390_linux_nat_target::insert_hw_breakpoint)
    	(s390_linux_nat_target::remove_watchpoint)
    	(s390_linux_nat_target::remove_hw_breakpoint): Update.

commit 8dc0818eb2c449d553065b57e6953436896c6e5a
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Jul 17 09:16:31 2019 +0200

    x86: replace "anymem" checks where possible
    
    Once operand parsing has completed, the simpler check of Operand_Mem can
    be used in places where i.types[] got passed to operand_type_check().
    Note that this has shown a couple of omissions of adjusting i.flags[]
    when playing with i.op[] / i.types[] / i.tm.operand_types[].  Not all of
    them get added here, just all of the ones needed in process_operands().

commit 1d942ae90810156b9875ea3e11754ab447c748db
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Jul 17 09:15:49 2019 +0200

    x86: drop stale Mem enumerator
    
    This was supposed to also be removed by c48dadc9a8 ('x86: drop "mem"
    operand type attribute').  It's odd enough that this hasn't caused
    build issues, considering the careful use of OTunused (apparently to
    avoid "missing initializer" warnings).
    
    To avoid such happening again introduce compile time consistency
    checks.

commit bd7918379d2688898dfb29851f2019d2a7a70959
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jul 17 00:00:22 2019 +0000

    Automatic date update in version.in

commit dfd6917457a3030ea4a4b6356f65216fab92d0b8
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jul 16 09:31:36 2019 +0200

    x86: make RegMem an opcode modifier
    
    ... instead of an operand type bit: It's an insn property, not an
    operand one.  There's just one actual change to be made to the
    templates: Most are now required to have the (unswapped) destination go
    into ModR/M.rm, so VMOVD template needs its opcode adjusted accordingly
    and its operands swapped.  {,V}MOVS{S,D}, otoh, are left alone in this
    regard, as otherwise generated code would differ from what we've been
    producing so far (which I don't think is wanted).
    
    Take the opportunity and add a missing IgnoreSize to pextrb (leading to
    an error in 16-bit mode), and take the liberty to once again drop stray
    IgnoreSize attributes from lines changed and neighboring related ones.

commit 21df382b918888de64749e977f185c4e10a5b838
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jul 16 09:30:29 2019 +0200

    x86: fold SReg{2,3}
    
    They're the only exception to there generally being no mix of register
    kinds possible in an insn operand template, and there being two bits per
    operand for their representation is also quite wasteful, considering the
    low number of uses.  Fold both bits and deal with the little bit of
    fallout.
    
    Also take the liberty and drop dead code trying to set REX_B: No segment
    register has RegRex set on it.
    
    Additionally I was quite surprised that PUSH/POP with the permitted
    segment registers is not covered by the test cases.  Add the missing
    pieces.

commit 206e6c58a769f9ec63827b8ca3952b0cd8c828ba
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Mon Jul 15 17:21:36 2019 -0700

    Fix build for aarch64, arm, and riscv FreeBSD native targets.
    
    Remove unused gdbarch argument to helper functions originally
    copied from mips-fbsd-nat.c.  Include regcache.h previously
    included from defs.h via gdbarch.h.
    
    gdb/ChangeLog:
    
    	* aarch64-fbsd-nat.c: Include regcache.h.
    	(getregs_supplies, getfpregs_supplies): Remove unused gdbarch
    	argument.
    	(aarch64_fbsd_nat_target::fetch_registers)
    	(aarch64_fbsd_nat_target::store_registers): Remove gdbarch
    	variable.
    	* arm-fbsd-nat.c, riscv-fbsd-nat.c: Likewise.

commit cbde90f25ec66b359c90514a50bbf25d122bb7e3
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Mon Jul 15 17:21:36 2019 -0700

    Add include of gdbarch.h.
    
    gdb/ChangeLog:
    
    	* fbsd-nat.c: Include gdbarch.h.

commit 7e24fb63e7db33d3627623629b0e99fe322e26f9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jul 16 00:00:27 2019 +0000

    Automatic date update in version.in

commit 07128006d6caec5df31a960b131d2026f35ed948
Author: Tom Tromey <tromey@adacore.com>
Date:   Tue Jul 2 09:13:53 2019 -0600

    Fix a FIXME in mi-out.c
    
    This removes a FIXME comment from mi_ui_out::do_field_int, by
    replacing a printf with a use of plongest.
    
    2019-07-15  Tom Tromey  <tromey@adacore.com>
    
    	* mi/mi-out.c (mi_ui_out::do_field_int): Use plongest.

commit 1f77b012e61ec11c92a35223fdfed598c6d2f4e9
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Jul 1 12:14:48 2019 -0600

    Introduce field_unsigned
    
    This adds field_unsigned and changes various places using field_fmt
    with "%u" to use this instead.  This also replaces an existing
    equivalent helper function in record-btrace.c.
    
    2019-07-15  Tom Tromey  <tromey@adacore.com>
    
    	* mi/mi-out.h (class mi_ui_out) <do_field_unsigned>: Declare.
    	* mi/mi-out.c (mi_ui_out::do_field_unsigned): New method.
    	* cli-out.h (class cli_ui_out) <do_field_unsigned>: Declare.
    	* cli-out.c (cli_ui_out::do_field_int): New method.
    	* ui-out.c (ui_out::field_unsigned): New method.
    	* symfile.c (generic_load): Use field_unsigned.
    	(print_transfer_performance): Likewise.
    	* record-btrace.c (ui_out_field_uint): Remove.
    	(btrace_call_history_insn_range, btrace_call_history): Use
    	field_unsigned.
    	* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
    	field_unsigned.
    	* ui-out.h (class ui_out) <field_unsigned>: New method.
    	<do_field_unsigned>: Likewise.

commit 33eca68072e73d984fc139dde45b8140b94757cb
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Jul 1 12:08:15 2019 -0600

    Use field_string in more places
    
    This replaces uses of field_fmt with a "%s" format string to use
    field_string instead.  Also, one use of "%9lx" is replaced with a call
    to phex_nz; the '9' is dropped as it is implicit in the field width.
    
    2019-07-15  Tom Tromey  <tromey@adacore.com>
    
    	* mi/mi-main.c (list_available_thread_groups): Use field_string.
    	* mi/mi-interp.c (mi_memory_changed): Use field_string.
    	* target.c (flash_erase_command): Use field_string.
    	* infrun.c (print_signal_received_reason): Use field_string.
    	* i386-tdep.c (i386_mpx_print_bounds): Use field_string.
    	* breakpoint.c (maybe_print_thread_hit_breakpoint): Use
    	field_string.
    	* ada-tasks.c (print_ada_task_info): Use field_string.

commit ca8d69beb1024316af8dec571584437d613f40d2
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Jul 1 12:02:37 2019 -0600

    Use field_core_addr in more places
    
    This changes a few spots that use field_fmt to use field_core_addr
    instead.
    
    gdb/ChangeLog
    2019-07-15  Tom Tromey  <tromey@adacore.com>
    
    	* target.c (flash_erase_command): Use field_core_addr.
    	* symfile.c (generic_load): Use field_core_addr.
    	* sparc64-linux-tdep.c (sparc64_linux_handle_segmentation_fault):
    	Use field_core_addr.
    	* i386-linux-tdep.c (i386_linux_handle_segmentation_fault): Use
    	field_core_addr.

commit 3719fd55b6f89662653d50d33bb267c5f21127a5
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Mon Jul 15 16:00:28 2019 +0200

    cpu,opcodes,gas: fix explicit arguments to eBPF ldabs instructions
    
    This patch fixes the eBPF CPU description in order to reflect the
    right explicit arguments passed to the ldabs{b,h,w,dw} instructions,
    updates the corresponding GAS tests, and updates the BPF section of
    the GAS manual.
    
    cpu/ChangeLog:
    
    2019-07-15  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* bpf.cpu (dlabs): New pmacro.
    	(dlind): Likewise.
    
    opcodes/ChangeLog:
    
    2019-07-15  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* bpf-desc.c: Regenerate.
    	* bpf-opc.c: Likewise.
    	* bpf-opc.h: Likewise.
    
    gas/ChangeLog:
    
    2019-07-15  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/gas/bpf/mem.s: ldabs instructions do not take a `src'
    	register as an argument.
    	* testsuite/gas/bpf/mem.d: Updated accordingly.
    	* testsuite/gas/bpf/mem-be.d: Likewise.
    	* doc/c-bpf.texi (BPF Opcodes): Update to reflect the correct
    	explicit arguments to ldabs and ldind instructions.

commit 5b9d7a9a647260ba754fbd2a176d37806f15acc8
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jul 12 15:28:19 2019 +0930

    Fix __bss_start assertion failure in _bfd_elf_fix_symbol_flags
    
    > Building LLVM 6.0 on FreeBSD/powerpc (devel/llvm60 port) the assertion
    > in the subject trips (displays twice) when linking libLTO.so.1.  The
    > issue has been filed in FreeBSD's bugzilla, at
    > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237068 .  It appears
    > the 'llvm::hashing::detail::get_execution_seed()::seed@@JL_LLVM_6.0'
    > symbol is being weakly aliased to an indirect symbol
    > __bss_start@@JL_LLVM_6.0.  Since __bss_start@@JL_LLVM_6.0 is an
    > indirect symbol, it fails the assertion.
    
    I haven't looked under a debugger at your testcase but I think I know
    what is going on here.  You have a shared library with a weakly
    defined llvm::hashing::detail::get_execution_seed()::seed which
    happens to be at the same location as __bss_start in that library.  At
    the time the linker loads symbols for that library, it sees they are
    both versioned and thus introduces non-versioned indirect symbols for
    them.  The linker considers the symbols as possibly being aliases,
    setting up h->u.alias and h->is_weakalias such that
    __bss_start@@JL_LLVM_6.0 is the definition.  No real problem so far,
    the definition is bfd_link_hash_defined, except that the zero size, no
    type __bss_start symbol possibly should not be considered an alias in
    the first place.
    
    Later, __bss_start as defined by the linker script is entered into the
    linker symbol table.  This is similar to __bss_start being defined by
    a regular object file in that ELF symbol resolution rules say that the
    value of __bss_start in the library is overridden by __bss_start in
    the executable/library being produced.  So to accomplish the override,
    ld flips __bss_start from being an indirect symbol pointing at
    __bss_start@@JL_LLVM_6.0 to __bss_start@@JL_LLVM_6.0 being an indirect
    symbol pointing at __bss_start.  That's how we get an unexpected
    indirect symbol and hit the assert.
    
    What should happen I think, is for the def->def_regular code above the
    assert to run in this case.  The symbols are no longer aliases.
    
    	* elflink.c (_bfd_elf_fix_symbol_flags): If the def for an
    	alias is no longer bfd_link_hash_defined, clear the alias.

commit 03181f1c38753b24e9d13491e102b5fa685076a2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jul 15 00:00:42 2019 +0000

    Automatic date update in version.in

commit 92434a14b97bf07546701613a16aaf4d8a3b3eca
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Sun Jul 14 14:45:31 2019 +0200

    cpu,opcodes,gas: fix arguments to ldabs and ldind eBPF instructions
    
    The eBPF non-generic load instructions ldind{b,h,w,dw} and
    ldabs{b,h,w,dw} do not take an explicit destination register as an
    argument.  Instead, they put the loaded value in %r0, implicitly.
    
    This patch fixes the CPU BPF description to not expect a 'dst'
    argument in these arguments, regenerates the corresponding files in
    opcodes, and updates the impacted GAS tests.
    
    Tested in a x86-64 host.
    
    cpu/ChangeLog:
    
    2019-07-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* bpf.cpu (dlsi): ldabs and ldind instructions do not take an
    	explicit 'dst' argument.
    
    opcodes/ChangeLog:
    
    2019-07-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* bpf-desc.c: Regenerate.
    	* bpf-opc.c: Likewise.
    
    gas/ChangeLog:
    
    2019-07-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/gas/bpf/mem.s: Do not use explicit arguments for
    	ldabs and ldind instructions.
    	* testsuite/gas/bpf/mem.d: Updated accordingly.
    	* testsuite/gas/bpf/mem-be.d: Likewise.

commit da73816739483bac537403262cef1c460e43319f
Author: Tom de Vries <tdevries@suse.de>
Date:   Sun Jul 14 13:23:04 2019 +0200

    [gdb/testsuite] Fix unterminated string in gdb.objc/basicclass.exp
    
    The test-case gdb.objc/basicclass.exp contains an unterminated string,
    introduced in refactoring commit fa43b1d7ca "after gdb_run_cmd, gdb_expect ->
    gdb_test_multiple/gdb_test".
    
    Fix the unterminated string.
    
    gdb/testsuite/ChangeLog:
    
    2019-07-14  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24760
    	* gdb.objc/basicclass.exp: Fix unterminated string.

commit 48b550c28afd21b382e21e56b7ba246b3bf49d4b
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sat Jul 13 18:00:32 2019 -0700

    adjust src-release following the renaming of gdb/common/ to gdb/gdbsupport/
    
    A recent change renamed the common/ directory into gdbsupport/ in gdb.
    This causes problems in the getver function in the src-release script
    which doesn't find the create-version.sh script anymore. As a result,
    it falls back on using the version.in file verbatim, meaning that
    the "DATE" placeholder doesn't get replaced with the snapshot date,
    and the "-git" suffix doesn't get stripped. More precisely, we get
    snapshots called "gdb-8.3.50-DATE-git.tar" instead of (e.g.)
    "gdb-8.3-20190712.tar".
    
    This commit fixes the issue by adding support for this situation.
    I left the support for $tool/common/create-version.sh, because
    the sim still uses that directory structure.
    
    ChangeLog:
    
            * src-release (getver): If $tool/gdbsupport/create-version.sh
            exists, use that to determine the version number.

commit a48654b6d4ed558d632dca3d895e8ad2f0dd57a6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jul 14 00:00:54 2019 +0000

    Automatic date update in version.in

commit f26a32876ba49b2d5537beccea2a38bc544e9732
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Jul 11 22:08:39 2019 +0930

    Dynamic TLS section symbols
    
    It is possible to create shared libraries on PowerPC using
    -ftls-model=inital-exec or -ftls-model=local-exec.  The first is half
    reasonable, getting you a shared library that can't be dlopen'd but
    otherwise is reasonable.  The second is quite bad.  Not only do you
    lose being able to dlopen, the library also has dynamic text
    relocations.  Worse, the TPREL16_LO, TPREL16_HA and other TPREL16
    dynamic relocs emitted were wrong, resulting in wrong values being
    applied by ld.so.
    
    Using the first TLS section symbol in dynamic relocations for local
    TLS symbols doesn't work.  It's wrong because TLS symbols used by TLS
    relocs have values relative to the TLS segment, whereas the TLS
    section symbols are addresses.  This patch instead uses a symbol index
    of zero which is used elsewhere by PowerPC on dynamic TLS relocs.
    It's not strictly ABI compliant to use a non-TLS symbol with TLS
    relocs but symbol index zero can be interpreted as "no symbol".  Not
    using the first TLS section symbol means it doesn't need to be dynamic.
    
    The patch also fixes a further problem with PowerPC32 dynamic TPREL16*
    relocs, which shouldn't have the symbol value in the addend as we do
    for non-TLS symbols.
    
    bfd/
    	* elflink.c (_bfd_elf_omit_section_dynsym_default): Don't keep
    	tls_sec.
    	(_bfd_elf_init_1_index_section): Prefer not using TLS sections.
    	(_bfd_elf_init_2_index_sections): Likewise.
    	* elf64-ppc.c (ppc64_elf_relocate_section): When emitting dynamic
    	relocations for local TLS symbols, use STN_UNDEF as the relocation
    	symbol.
    	* elf32-ppc.c (ppc_elf_relocate_section): Likewise, and don't
    	leave TLS symbol value in the addend.
    ld/
    	* testsuite/ld-powerpc/tlsso.r: Update.
    	* testsuite/ld-powerpc/tlsso32.g: Update.
    	* testsuite/ld-powerpc/tlsso32.r: Update.
    	* testsuite/ld-powerpc/tlstocso.r: Update.
    	* testsuite/ld-cris/tls-dso-dtpoffd2.d: Update.
    	* testsuite/ld-cris/tls-dso-dtpoffd4.d: Update.
    	* testsuite/ld-cris/tls-dso-tpoffgotcomm1.d: Update.
    	* testsuite/ld-cris/tls-gd-1.d: Update.
    	* testsuite/ld-cris/tls-gd-1h.d: Update.
    	* testsuite/ld-cris/tls-gd-2.d: Update.
    	* testsuite/ld-cris/tls-gd-2h.d: Update.
    	* testsuite/ld-cris/tls-ie-10.d: Update.
    	* testsuite/ld-cris/tls-ie-11.d: Update.
    	* testsuite/ld-cris/tls-ie-8.d: Update.
    	* testsuite/ld-cris/tls-ie-9.d: Update.
    	* testsuite/ld-cris/tls-js1.d: Update.
    	* testsuite/ld-cris/tls-ld-4.d: Update.
    	* testsuite/ld-cris/tls-ld-5.d: Update.
    	* testsuite/ld-cris/tls-ld-6.d: Update.
    	* testsuite/ld-cris/tls-ld-7.d: Update.
    	* testsuite/ld-cris/tls-ldgd-14.d: Update.
    	* testsuite/ld-cris/tls-ldgd-15.d: Update.
    	* testsuite/ld-cris/tls-ldgdx-14.d: Update.
    	* testsuite/ld-cris/tls-ldgdx-15.d: Update.
    	* testsuite/ld-cris/tls-local-54.d: Update.
    	* testsuite/ld-cris/tls-local-60.d: Update.
    	* testsuite/ld-cris/tls-local-61.d: Update.
    	* testsuite/ld-cris/tls-local-63.d: Update.
    	* testsuite/ld-cris/tls-local-64.d: Update.
    	* testsuite/ld-cris/tls-ok-30.d: Update.
    	* testsuite/ld-cris/tls-ok-32.d: Update.
    	* testsuite/ld-cris/tls-ok-34.d: Update.
    	* testsuite/ld-mips-elf/tls-multi-got-1.got: Update.
    	* testsuite/ld-mips-elf/tls-multi-got-1.r: Update.
    	* testsuite/ld-mips-elf/tlsdyn-pie-o32.d: Update.
    	* testsuite/ld-mips-elf/tlsdyn-pie-o32.got: Update.
    	* testsuite/ld-mips-elf/tlslib-o32-hidden.got: Update.
    	* testsuite/ld-mips-elf/tlslib-o32-ver.got: Update.
    	* testsuite/ld-mips-elf/tlslib-o32.got: Update.
    	* testsuite/ld-s390/tlspic.rd: Update.
    	* testsuite/ld-s390/tlspic_64.rd: Update.
    	* testsuite/ld-sparc/tlssunnopic32.rd: Update.
    	* testsuite/ld-sparc/tlssunnopic64.rd: Update.
    	* testsuite/ld-sparc/tlssunpic32.rd: Update.
    	* testsuite/ld-sparc/tlssunpic64.rd: Update.

commit 7b2438015ca87297b2796c662182f796bb5358c2
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 10 23:35:18 2019 +0930

    PR24786, wrong LMA if first section in overlay is empty
    
    This stops the first overlay section being ignored when empty,
    losing its LMA assignment
    
    	PR 24786
    	* ldlang.h (enum section_type): Add first_overlay_section.
    	* ldlang.c (lang_add_section): Adjust switch statement.
    	(map_input_to_output_sections): Likewise.
    	(lang_size_sections_1): Always set last_os for first overlay section.
    	(lang_leave_overlay): Set sectype to first_overlay_section.

commit 0c951c25c6c7cfbf0f399d34277f73b0fdfc18cd
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Jun 27 09:35:15 2019 +0930

    [GOLD] PowerPC R_PPC64_PCREL_OPT support
    
    	* powerpc.cc (xlate_pcrel_opt): New function.
    	(Target_powerpc::Relocate::relocate): Optimise PCREL34 and
    	GOT_PCREL34 sequences marked with PCREL_OPT.

commit c9b8abb7af46c9da4b50ad8495ab2824c4125962
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jun 26 22:08:54 2019 +0930

    [GOLD] PowerPC got reloc optimisation
    
    Note that gold won't remove unused GOT entries, in contrast to ld.bfd
    which will.
    
    	* powerpc.cc (Powerpc_relobj::make_got_relative): New function.
    	(relative_value_is_known): New functions.
    	(Target_powerpc::Relocate::relocate): Edit code using
    	GOT16_HA, GOT16_LO_DS, and GOT_PCREL34 relocs.

commit e4dff7651becba48d805e39655138f7f6ca30485
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jun 3 11:48:43 2019 +0930

    [GOLD] PowerPC relocations for prefix insns
    
    Also use pc-relative instructions for notoc stubs.
    
    elfcpp/
    	* powerpc.h (R_PPC64_PCREL_OPT, R_PPC64_D34, R_PPC64_D34_LO),
    	(R_PPC64_D34_HI30, R_PPC64_D34_HA30, R_PPC64_PCREL34),
    	(R_PPC64_GOT_PCREL34, R_PPC64_PLT_PCREL34, R_PPC64_PLT_PCREL34_NOTOC),
    	(R_PPC64_ADDR16_HIGHER34, R_PPC64_ADDR16_HIGHERA34),
    	(R_PPC64_ADDR16_HIGHEST34, R_PPC64_ADDR16_HIGHESTA34),
    	(R_PPC64_REL16_HIGHER34, R_PPC64_REL16_HIGHERA34),
    	(R_PPC64_REL16_HIGHEST34, R_PPC64_REL16_HIGHESTA34),
    	(R_PPC64_D28, R_PPC64_PCREL28): Define.
    gold/
    	* powerpc.cc (Target_powerpc): Add powerxx_stubs_ and accessor
    	functions.
    	(Target_powerpc::maybe_skip_tls_get_addr_call): Handle PLT_PCREL34
    	and PLT_PCREL34_NOTOC relocs.
    	(Powerpc_relocate_functions): Add addr34, addr34_hi, addr34_ha,
    	addr28, addr16_higher34, addr16_highera34, addr16_highest34,
    	addr16_highest34a functions.
    	(li_11_0, ori_11_11_0, sldi_11_11_34): Define.
    	(paddi_12_pc, pld_12_pc, pnop): Define.
    	(d34, ha34): New inline functions.
    	(Stub_table::add_plt_call_entry): Handle powerxx_stubs.
    	(Stub_table::add_eh_frame): Likewise.
    	(build_powerxx_offset): New function.
    	(Stub_table::plt_call_size): Handle powerxx_stubs.
    	(Stub_table::branch_stub_size): Likewise.
    	(Stub_table::do_write): Likewise.
    	(Target_powerpc::Scan::get_reference_flags): Handle new relocs.
    	(Target_powerpc::Scan::reloc_needs_plt_for_ifunc: Likewise.
    	(Target_powerpc::Scan::local, global, relocate): Likewise.

commit 220f99066d6ce2a6caf17692fcc57d714d8f6910
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jul 1 14:37:49 2019 +0930

    [GOLD] PowerPC notoc eh_frame
    
    When generating notoc call and branch stubs without the benefit of
    pc-relative insns, the stubs need to use LR to access the run time PC.
    All LR changes must be described in .eh_frame if we're to support
    unwinding through asynchronous exceptions.  That's what this patch
    does.
    
    The patch has gone through way too many iterations.  At first I
    attempted to add multiple FDEs, one for each stub.  That ran into
    difficulties with do_plt_fde_location which is only capable of setting
    the address of a single FDE per Output_data section, and with removing
    any FDEs added on a previous do_relax pass.  Removing FDEs (git commit
    be897fb774) went overboard in matching the FDE contents.  That means
    either stashing the contents created for add_eh_frame_for_plt to use
    when calling remove_eh_frame_for_plt, or recreating contents on the
    fly (*) just to remove FDEs.  In fact, FDE content matching is quite
    unnecesary.  FDEs added by a previous do_relax pass are those with
    u_.from_linker.post_map set.  So they can easily be recognised just by
    looking at that flag.  This patch keeps that part of the multiple FDE
    changes.
    
    In the end I went for just one FDE per stub group to describe the call
    stubs.  That's reasonably efficient for the common case of only
    needing to describe the __tls_get_addr_opt call stub.  We don't expect
    to be making many calls using notoc stubs without pc-relative insns.
    
    *) Which has it's own set of problems.  The contents must be recreated
    using the old stub layout, but .eh_frame size can affect stub
    requirements so you need to temporarily keep the old .eh_frame size
    when creating new stubs, then reset .eh_frame size before adding new
    FDEs.
    
    	* ehframe.cc (Fde::operator==): Delete.
    	(Cie::remove_fde): Delete.
    	(Eh_frame::remove_ehframe_for_plt): Delete fde_data and fde_length
    	parameters.  Remove all post-map plt FDEs.
    	* ehframe.h (Fde:post_map): Make const, add variant to compare plt.
    	(Fde::operator==): Delete.
    	(Cie::remove_fde): Implement here.
    	(Cie::last_fde): New accessor.
    	(Eh_frame::remove_ehframe_for_plt): Update prototype.
    	* layout.cc (Layout::remove_eh_frame_for_plt): Delete fde_data and
    	fde_length parameters.
    	* layout.h (Layout::remove_eh_frame_for_plt): Update prototype.
    	* powerpc.cc (Stub_table::tls_get_addr_opt_bctrl_): Delete.
    	(Stub_table::plt_fde_len_, plt_fde_, init_plt_fde): Delete.
    	(Stub_table::add_plt_call_entry): Don't set tls_get_addr_opt_bctrl_.
    	(eh_advance): New function.
    	(stub_sort): New function.
    	(Stub_table::add_eh_frame): Emit eh_frame for notoc plt calls and
    	branches as well as __tls_get_addr_opt plt call stub.
    	(Stub_table::remove_eh_frame): Update to suit.

commit 32f598441988e5a086ba8580e82f4944c3692eb5
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jun 18 15:33:38 2019 +0930

    [GOLD] PowerPC64 ELFv2 notoc support
    
    Calls from notoc functions via the PLT need different stubs.  Even
    calls to local functions requiring a valid toc pointer must go via a
    stub.  This patch provides the support in gold.
    
    elfcpp/
    	* powerpc.h (R_PPC64_PLTSEQ_NOTOC, R_PPC64_PLTCALL_NOTOC): Define.
    gold/
    	* powerpc.cc (Target_powerpc::maybe_skip_tls_get_addr_call): Handle
    	notoc calls.
    	(is_branch_reloc): Template on size.  Return true for REL24_NOTOC.
    	Update all callers.
    	(max_branch_delta): Likewise.
    	(Target_powerpc::Branch_info::make_stub): Add a stub for notoc
    	calls to functions needing a valid toc pointer.
    	(Target_powerpc::do_relax): Layout stubs again if any need resize.
    	(add_12_11_12, addi_12_11, addis_12_11, ldx_12_11_12, ori_12_12_0),
    	(oris_12_12_0, sldi_12_12_32): Define.
    	(Stub_table::Plt_stub_ent): Add notoc_ and iter_ fields.
    	(Stub_table::Branch_stub_key, Branch_stub_key_hash): Rename from
    	Branch_stub_ent and Branch_stub_ent hash.  Remove save_res_ from key.
    	(Stub_table::Branch_stub_ent): New struct.
    	(class Stub_table): Add need_resize and resizing vars.
    	(Stub_table::need_resize, branch_size): New accessors.
    	(Stub_table::set_resizing): New function.
    	(Stub_table::add_plt_call_entry): Handle notoc calls and resizing
    	on seeing such or a tocsave stubs after a normal stub using the
    	same sym.
    	(Stub_table::add_long_branch_entry): Similarly.
    	(Stub_table::find_long_branch_entry): Return a Branch_stub_ent*.
    	(Stub_table::define_stub_syms): Adjust
    	(Stub_table::build_tls_opt_head, build_tls_opt_tail): New functions.
    	(build_notoc_offset): New function.
    	(Stub_table::plt_call_size): Move out of line.  Handle notoc calls.
    	(Stub_table::branch_stub_size): Similarly.
    	(Stub_table::do_write): Separate loop for ELFv2 stubs, handling
    	notoc calls.  Simplify ELFv1 loop.  Output notoc branch stubs.
    	Use build_tls_opt_head and build_tls_opt_tail.
    	(Target_powerpc::Scan::get_reference_flags): Handle REL24_NOTOC.
    	(Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise,
    	and PLTSEQ_NOTOC and PLTCALL_NOTOC.
    	(Target_powerpc::Scan::local, global, relocate): Likewise.

commit 154a0a90ddde3a5d538830527ffd6d128cb23b1b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jul 13 00:00:14 2019 +0000

    Automatic date update in version.in

commit 0d4e84ed37c404eb7e691ee9d68ae2ec758d8f66
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Fri Mar 1 11:06:23 2019 +0000

    gdb: Better support for dynamic properties with negative values
    
    When the type of a property is smaller than the CORE_ADDR in which the
    property value has been placed, and if the property is signed, then
    sign extend the property value from its actual type up to the size of
    CORE_ADDR.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (dwarf2_evaluate_property): Sign extend property
    	value if its desired type is smaller than a CORE_ADDR and signed.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.fortran/vla-ptype.exp: Print array with negative bounds.
    	* gdb.fortran/vla-sizeof.exp: Print the size of an array with
    	negative bounds.
    	* gdb.fortran/vla-value.exp: Print elements of an array with
    	negative bounds.
    	* gdb.fortran/vla.f90: Setup an array with negative bounds for
    	testing.

commit 9a49df9d4bfc7ff03fed751e12b1bc32fbee4fb2
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Wed May 8 13:16:03 2019 +0100

    gdb: Carry default property type around with dynamic properties
    
    This commit is preparation for the next one, with the aim of better
    supporting signed dynamic properties on targets where the address size
    specified in the DWARF headers is smaller than a CORE_ADDR, for
    example debugging an i386 application on x86-64.
    
    Consider this small Fortran program 'bounds.f90':
    
        program test
          integer, allocatable :: array (:)
          allocate (array (-5:5))
          array(3) = 1
        end program test
    
    Compiled with 'gfortran -m32 -g3 -O0 -o bounds bounds.f90'.  The DWARF
    for 'array' looks like this:
    
       <2><97>: Abbrev Number: 10 (DW_TAG_variable)
          <98>   DW_AT_name        : (indirect string, offset: 0x0): array
          <9c>   DW_AT_decl_file   : 1
          <9d>   DW_AT_decl_line   : 2
          <9e>   DW_AT_type        : <0xaf>
          <a2>   DW_AT_location    : 2 byte block: 91 58              (DW_OP_fbreg: -40)
       <2><a5>: Abbrev Number: 11 (DW_TAG_lexical_block)
          <a6>   DW_AT_low_pc      : 0x80485c3
          <aa>   DW_AT_high_pc     : 0x8b
       <2><ae>: Abbrev Number: 0
       <1><af>: Abbrev Number: 12 (DW_TAG_array_type)
          <b0>   DW_AT_data_location: 2 byte block: 97 6              (DW_OP_push_object_address; DW_OP_deref)
          <b3>   DW_AT_allocated   : 4 byte block: 97 6 30 2e         (DW_OP_push_object_address; DW_OP_deref; DW_OP_lit0; DW_OP_ne)
          <b8>   DW_AT_type        : <0x2a>
       <2><bc>: Abbrev Number: 13 (DW_TAG_subrange_type)
          <bd>   DW_AT_lower_bound : 4 byte block: 97 23 10 6         (DW_OP_push_object_address; DW_OP_plus_uconst: 16; DW_OP_deref)
          <c2>   DW_AT_upper_bound : 4 byte block: 97 23 14 6         (DW_OP_push_object_address; DW_OP_plus_uconst: 20; DW_OP_deref)
          <c7>   DW_AT_byte_stride : 6 byte block: 97 23 c 6 34 1e    (DW_OP_push_object_address; DW_OP_plus_uconst: 12; DW_OP_deref; DW_OP_lit4; DW_OP_mul)
       <2><ce>: Abbrev Number: 0
    
    If we look at the DW_AT_lower_bound attribute, which will become a
    dynamic property that GDB evaluates when needed by calling
    dwarf2_evaluate_property.
    
    The process of evaluating a dynamic property requires GDB to execute
    each DW_OP_* operation, the results of these operations is held on a
    stack of 'struct value *'s.
    
    When the entire expression is evaluated the result is on top of the
    stack.
    
    If we look at DW_AT_lower_bound then the last operation is
    DW_OP_deref, this loads a signed address the size of which matches the
    DWARF address size, and so in our i386 on x86-64 situation, the top of
    the stack will be a signed 4-byte value.
    
    The problem is how these values are fetched from the stack.  Currently
    they are always fetched by a call to dwarf_expr_context::fetch_address,
    which converts the value to an unsigned value with a length matching
    the values current length, before converting to a CORE_ADDR.  This
    means we loose the signed nature of the property.
    
    I wonder if the best solution for dealing with signed properties will
    be to move away from an over reliance on fetch_address, and instead
    come up with a new solution that considers the current type of the
    value on the stack, and the type that the value needs to become;
    basically a solution built around casting rather than assuming we
    always want an address.
    
    However, before we can start to even think about moving away from
    fetch_address, there is a more urgent issue to fix, which is we don't
    currently know what type each property should be.  We just hold the
    value of the property in a CORE_ADDR as returned by fetch_address, and
    rely on higher level code (outside of the DWARF expression evaluation
    code) to fix things up for us.  This is what this patch aims to
    address.
    
    When creating a dynamic property (see attr_to_dynamic_prop in
    dwarf2read.c) we can sometimes figure out the type of a property; if
    the property is a reference to another DIE then it will have a
    DW_AT_type attribute.
    
    However, the DW_AT_lower_bound case above isn't a reference to another
    DIE, it's just a DWARF expression.  We don't have any indication for
    what type the property should have.
    
    Luckily, the DWARF spec helps us out, for the lower and upper bounds
    5.13 of the DWARFv5 spec tells us that without any other type
    information the bounds are signed integers the same size as a DWARF
    address.
    
    It is my belief that we can find a suitable default type for every
    dynamic property, either specified explicitly in the DWARF spec, or we
    can infer an obvious choice if the spec doesn't help us.
    
    This commit extends the creation of all dynamic properties to include
    suggesting a suitable default type, all dynamic properties now always
    carry their type around with them.
    
    In later commits we can use this property type to ensure that the
    value we extract from the DWARF stack is handled in a suitable manor
    to correctly maintain its sign extension.
    
    There should be no user visible changes from this commit.  The actual
    fix to correctly support negative array bounds will come later.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (dwarf2_evaluate_property): Update to take account
    	of changes to field names, and use new is_reference field to
    	decide if a property is a reference or not.
    	* dwarf2loc.h (struct dwarf2_locexpr_baton): Add 'is_reference'
    	field.
    	(struct dwarf2_property_baton): Update header comment, rename
    	'referenced_type' to 'property_type' and update comments.
    	* dwarf2read.c (attr_to_dynamic_prop): Add extra parameter to hold
    	default property type, store in property baton, update to take
    	accound of renamed field.
    	(read_func_scope): Update call to attr_to_dynamic_prop.
    	(read_array_type): Likewise.
    	(dwarf2_per_cu_addr_sized_int_type): New function.
    	(read_subrange_index_type): Move type finding code to
    	dwarf2_per_cu_addr_sized_int_type.
    	(read_subrange_type): Update calls to attr_to_dynamic_prop.
    	(dwarf2_per_cu_addr_type): New function.
    	(set_die_type): Update calls to attr_to_dynamic_prop.

commit b86352cfc17fb7f07d5da9efcfd59f8b2bd08eee
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Wed May 8 00:01:14 2019 +0100

    gdb/dwarf: Ensure the target type of ranges is not void
    
    If a DW_TAG_subrange_type DWARF entry has no DW_AT_type then a default
    type based on the size of an address on the current target is assumed.
    We store this type as the target type for GDB's range types.
    
    Currently GDB can create ranges for which the target type is VOID,
    this is incorrect but seems to cause no problems. I believe the reason
    this doesn't cause any issues is because the languages (for example
    Ada) that actually make use of a ranges target type also have
    compilers that generate DWARF that includes a DW_AT_type attribute.
    
    However, gfortran does not include a DW_AT_type, its DWARF instead
    relies on the default target type.  This isn't currently a problem for
    GDB as gfortran doesn't make use of the target type when printing
    subranges, but it shouldn't hurt to fix this issue now.
    
    I've added an assert into create_range_type that will catch this issue
    if it comes up again.
    
    This was tested on an x86-64/GNU-Linux machine with both the Ada and
    gfortran compilers available with both '--target_board=unix' and
    '--target_board=unix/-m32'.  There are no user visible changes after
    this commit.
    
    gdb/ChangeLog:
    
    	* dwarf2read.c (read_subrange_index_type): New function.
    	(read_subrange_type): Move code into new function and call it.
    	* gdbtypes.c (create_range_type): Add some asserts.

commit 603490bf53fe1885ef45f9d0fb783b32f8ef6049
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Sun May 5 00:15:07 2019 +0100

    gdb: Convert dwarf2_evaluate_property to return bool
    
    Convert dwarf2_evaluate_property to return a bool, there should be no
    user visible change after this commit.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (dwarf2_evaluate_property): Change return type, and
    	update return statements.
    	* dwarf2loc.h (dwarf2_evaluate_property): Update return type on
    	declaration, and update comment to match.
    	* gdbtypes.c (resolve_dynamic_array): Update call to
    	dwarf2_evaluate_property to match new return type.

commit 592f9d271caaa22a6b299cfaaf6ce3394796e0e2
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Wed Apr 24 17:50:40 2019 +0100

    gdb: Update type of lower bound in value_subscripted_rvalue
    
    The dynamic lower (and upper) bounds of ranges are stored as type
    LONGEST (see union dynamic_prop_data in gdbtypes.h).  In most places
    that range bounds are handled they are held in a LONGEST, however in
    value_subscripted_rvalue the bound is placed into an int.
    
    This commit changes value_subscripted_rvalue to use LONGEST, there
    should be no user visible changes after this commit.
    
    gdb/ChangeLog:
    
    	* valarith.c (value_subscripted_rvalue): Change lowerbound
    	parameter type from int to LONGEST.
    	* value.h (value_subscripted_rvalue): Likewise in declaration.

commit 830b67068cebe7db0eb0db3fa19244e03859fae0
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Jul 12 09:53:02 2019 +0200

    [readline] Fix heap-buffer-overflow in update_line
    
    When:
    - building trunk gdb with '-fsanitize=address -lasan',
    - running gdb tests with "export ASAN_OPTIONS=detect_leaks=0",
    I run into a heap-buffer-overflow failure for
    gdb.base/utf8-identifiers.exp.
    
    In more detail, the libasan error report looks like this:
    ...
    =================================================================
    ==22340==ERROR: AddressSanitizer: heap-buffer-overflow on address
    0x619000054a80 at pc 0x7fcd0306b4c9 bp 0x7fffb1a8d880 sp 0x7fffb1a8d030
    READ of size 32766 at 0x619000054a80 thread T0
        #0 0x7fcd0306b4c8  (/usr/lib64/libasan.so.4+0xae4c8)
        #1 0x15f12a1 in update_line
    /data/gdb_versions/devel/src/readline/display.c:1377
        #2 0x15f03cb in rl_redisplay
    /data/gdb_versions/devel/src/readline/display.c:1204
        #3 0x15bf932 in readline_internal_setup
    /data/gdb_versions/devel/src/readline/readline.c:394
        #4 0x15fe723 in _rl_callback_newline
    /data/gdb_versions/devel/src/readline/callback.c:89
        #5 0x15fe7ef in rl_callback_handler_install
    /data/gdb_versions/devel/src/readline/callback.c:102
        #6 0xd7bce6 in gdb_rl_callback_handler_install(char const*)
    /data/gdb_versions/devel/src/gdb/event-top.c:319
        #7 0xd7c0c6 in display_gdb_prompt(char const*)
    /data/gdb_versions/devel/src/gdb/event-top.c:409
        #8 0xd7d6c1 in command_line_handler(std::unique_ptr<char,
    gdb::xfree_deleter<char> >&&)
    /data/gdb_versions/devel/src/gdb/event-top.c:776
        #9 0xd7b92a in gdb_rl_callback_handler
    /data/gdb_versions/devel/src/gdb/event-top.c:217
        #10 0x15ff479 in rl_callback_read_char
    /data/gdb_versions/devel/src/readline/callback.c:220
        #11 0xd7b4d5 in gdb_rl_callback_read_char_wrapper_noexcept
    /data/gdb_versions/devel/src/gdb/event-top.c:175
        #12 0xd7b6b5 in gdb_rl_callback_read_char_wrapper
    /data/gdb_versions/devel/src/gdb/event-top.c:192
        #13 0xd7c8aa in stdin_event_handler(int, void*)
    /data/gdb_versions/devel/src/gdb/event-top.c:514
        #14 0xd76ca7 in handle_file_event
    /data/gdb_versions/devel/src/gdb/event-loop.c:731
        #15 0xd7751f in gdb_wait_for_event
    /data/gdb_versions/devel/src/gdb/event-loop.c:857
        #16 0xd7547e in gdb_do_one_event()
    /data/gdb_versions/devel/src/gdb/event-loop.c:321
        #17 0xd75526 in start_event_loop()
    /data/gdb_versions/devel/src/gdb/event-loop.c:370
        #18 0x101b04c in captured_command_loop
    /data/gdb_versions/devel/src/gdb/main.c:331
        #19 0x101de73 in captured_main
    /data/gdb_versions/devel/src/gdb/main.c:1173
        #20 0x101df03 in gdb_main(captured_main_args*)
    /data/gdb_versions/devel/src/gdb/main.c:1188
        #21 0x872dba in main /data/gdb_versions/devel/src/gdb/gdb.c:32
        #22 0x7fcd00f2ff49 in __libc_start_main (/lib64/libc.so.6+0x20f49)
        #23 0x872bc9 in _start (/data/gdb_versions/devel/build/gdb/gdb+0x872bc9)
    
    0x619000054a80 is located 0 bytes to the right of 1024-byte region
    [0x619000054680,0x619000054a80)
    allocated by thread T0 here:
        #0 0x7fcd03099510 in malloc (/usr/lib64/libasan.so.4+0xdc510)
        #1 0xae0078 in xmalloc
    /data/gdb_versions/devel/src/gdb/common/common-utils.c:44
        #2 0x15eaccb in init_line_structures
    /data/gdb_versions/devel/src/readline/display.c:458
        #3 0x15eb4d8 in rl_redisplay
    /data/gdb_versions/devel/src/readline/display.c:526
        #4 0x15bf932 in readline_internal_setup
    /data/gdb_versions/devel/src/readline/readline.c:394
        #5 0x15fe723 in _rl_callback_newline
    /data/gdb_versions/devel/src/readline/callback.c:89
        #6 0x15fe7ef in rl_callback_handler_install
    /data/gdb_versions/devel/src/readline/callback.c:102
        #7 0xd7bce6 in gdb_rl_callback_handler_install(char const*)
    /data/gdb_versions/devel/src/gdb/event-top.c:319
        #8 0xd7c0c6 in display_gdb_prompt(char const*)
    /data/gdb_versions/devel/src/gdb/event-top.c:409
        #9 0xaa041b in cli_interp_base::pre_command_loop()
    /data/gdb_versions/devel/src/gdb/cli/cli-interp.c:286
        #10 0xf5342a in interp_pre_command_loop(interp*)
    /data/gdb_versions/devel/src/gdb/interps.c:320
        #11 0x101b047 in captured_command_loop
    /data/gdb_versions/devel/src/gdb/main.c:328
        #12 0x101de73 in captured_main
    /data/gdb_versions/devel/src/gdb/main.c:1173
        #13 0x101df03 in gdb_main(captured_main_args*)
    /data/gdb_versions/devel/src/gdb/main.c:1188
        #14 0x872dba in main /data/gdb_versions/devel/src/gdb/gdb.c:32
        #15 0x7fcd00f2ff49 in __libc_start_main (/lib64/libc.so.6+0x20f49)
    
    SUMMARY: AddressSanitizer: heap-buffer-overflow
    (/usr/lib64/libasan.so.4+0xae4c8)
    Shadow bytes around the buggy address:
      0x0c3280002900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      0x0c3280002910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      0x0c3280002920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      0x0c3280002930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      0x0c3280002940: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    =>0x0c3280002950:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      0x0c3280002960: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
      0x0c3280002970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      0x0c3280002980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      0x0c3280002990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      0x0c32800029a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Shadow byte legend (one shadow byte represents 8 application bytes):
      Addressable:           00
      Partially addressable: 01 02 03 04 05 06 07
      Heap left redzone:       fa
      Freed heap region:       fd
      Stack left redzone:      f1
      Stack mid redzone:       f2
      Stack right redzone:     f3
      Stack after return:      f5
      Stack use after scope:   f8
      Global redzone:          f9
      Global init order:       f6
      Poisoned by user:        f7
      Container overflow:      fc
      Array cookie:            ac
      Intra object redzone:    bb
      ASan internal:           fe
      Left alloca redzone:     ca
      Right alloca redzone:    cb
    ==22340==ABORTING
    ...
    
    I've written an assert in rl_redisplay that formulates the error condition:
    ...
    @@ -1387,6 +1389,10 @@ rl_redisplay (void)
              cpos_adjusted = 0;
    +         assert (last_lmargin + (_rl_screenwidth + visible_wrap_offset)
    +                 <= line_size);
    +         assert (lmargin + (_rl_screenwidth + (lmargin ? 0 : wrap_offset))
    +                 <= line_size);
              update_line (&visible_line[last_lmargin],
                           &invisible_line[lmargin],
                           0,
                           _rl_screenwidth + visible_wrap_offset,
                           _rl_screenwidth + (lmargin ? 0 : wrap_offset),
                           0);
    ...
    which triggers without needing the address sanitizer (or even an executable),
    like this:
    ...
    $ TERM=dumb gdb -q -ex "set width 0"
    gdb: src/display.c:1393: rl_redisplay: Assertion
    `last_lmargin + (_rl_screenwidth + visible_wrap_offset) <= line_size'
    failed.
    Aborted (core dumped)
    ...
    
    The basic problem is this: visible_line and invisible_line have length
    line_size, but the update_line call assumes that line_size is at least
    _rl_screenwidth + 1.  Executing "set width 0" sets _rl_screenwidth to 32766 but
    doesn't affect line_size, which is initialized to 1024.
    
    Fix this by ensuring in init_line_structures and rl_redisplay that line_size
    is at least _rl_screenwidth + 1.
    
    Tested on x86_64-linux.
    
    Reviewed by readline maintainer (
    https://sourceware.org/ml/gdb-patches/2019-05/msg00566.html ).
    
    readline/ChangeLog.gdb:
    
    2019-07-12  Tom de Vries  <tdevries@suse.de>
    	    Chet Ramey  <chet.ramey@case.edu>
    
    	PR cli/24514
    	* readline/display.c (init_line_structures, rl_redisplay): Ensure
    	line_size is at	least _rl_screenwidth + 1.

commit a89fdbdb201764e3989e9113e03a769091d42cce
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jul 12 00:00:19 2019 +0000

    Automatic date update in version.in

commit 60cfcb20ce8f95a6f71f68c51b295defa5d27032
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Jul 11 15:39:55 2019 +0100

    gdb: Add command completers for some info commands
    
    Add command completion for info variables, functions, args, and
    locals.  This completer only completes the command line options as
    these commands all take a regexp which GDB can't really offer
    completions for.
    
    gdb/ChangeLog:
    
    	* cli/cli-utils.c (info_print_command_completer): New function.
    	* cli/cli-utils.h: Add 'completer.h' include, and forward
    	declaration for 'struct cmd_list_element'.
    	(info_print_command_completer): Declare.
    	* stack.c (_initialize_stack): Add completer for 'info locals' and
    	'info args'.
    	* symtab.c (_initialize_symtab): Add completer for 'info
    	variables' and 'info functions'.
    	* NEWS: Mention completion for additional info commands.

commit b16507e0917169555f8bbfcb1d6c9685813ccf6c
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Wed Jul 10 22:52:38 2019 +0100

    gdb: Make use of gdb::option framework for some info commands
    
    Update the 'info variables', 'info functions', 'info locals', and
    'info args' commands to make use of the gdb::options framework.
    
    There should be no user visible changes after this commit as I have
    left the help text generation using the existing mechanism, which
    already tries to customise the text for each of the commands.
    
    gdb/ChangeLog:
    
    	* cli/cli-utils.c (extract_info_print_args): Delete.
    	(extract_arg_maybe_quoted): Delete.
    	(info_print_options_defs): New variable.
    	(make_info_print_options_def_group): New function.
    	(extract_info_print_options): Define new function.
    	* cli/cli-utils.h (extract_info_print_args): Delete.
    	(struct info_print_options): New structure.
    	(extract_info_print_options): Declare new function.
    	* stack.c (info_locals_command): Update to use new
    	extract_info_print_options, also add a header comment.
    	(info_args_command): Likewise.
    	* symtab.c (info_variables_command): Likewise.
    	(info_functions_command): Likewise.

commit 021d8588f6ca843a2aada955d00851fbb62f8a62
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Jul 11 11:08:42 2019 +0100

    gdb: Allow quoting around string options in the gdb::option framework
    
    Currently string options must be a single string with no whitespace,
    this limitation prevents the gdb::option framework being used in some
    places.
    
    After this commit, string options can be quoted in single or double
    quotes, and quote characters can be escaped with a backslash if needed
    to either place them within quotes, or to avoid starting a quoted
    argument.
    
    This test adds a new function extract_string_maybe_quoted which is
    basically a copy of extract_arg_maybe_quoted from cli/cli-utils.c,
    however, the cli-utils.c function will be deleted in the next commit.
    
    There are tests to exercise the new quoting mechanism.
    
    gdb/ChangeLog:
    
    	* cli/cli-option.c (parse_option): Use extract_string_maybe_quoted
    	to extract string arguments.
    	* common/common-utils.c (extract_string_maybe_quoted): New function.
    	* common/common-utils.h (extract_string_maybe_quoted): Declare.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/options.exp (expect_string): Dequote strings in
    	results.
    	(test-string): Test strings with different quoting and reindent.

commit b777eb6de24ae1a1dc2f1e48d593b0a5c79937a9
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Jul 11 08:54:17 2019 -0600

    Remove init_cli_cmds
    
    I noticed that init_cli_cmds only installs a command, and so doesn't
    need to be handled specially.  This patch merges it into
    _initialize_cli_cmds.
    
    The help text is constructed dynamically, which is sometimes an
    indication that special treatment is needed; but in this case it is
    just to insert the value of "gdbinit", which is created at
    compile-time and not modified; so this doesn't affect the result.
    
    This version also removes the "gdbinit" global.  There's no need for
    it, as GDBINIT can be used instead.  Note, though, that the help text
    in question must still be dynamically constructed, in order to be
    i18n-friendly.
    
    gdb/ChangeLog
    2019-07-11  Tom Tromey  <tromey@adacore.com>
    
    	* main.c (get_init_files): Use GDBINIT, not gdbinit.
    	* auto-load.c (file_is_auto_load_safe): Use GDBINIT, not gdbinit.
    	* top.h (gdbinit): Don't declare.
    	* cli/cli-cmds.c (init_cli_cmds): Remove, merging contents
    	into...
    	(_initialize_cli_cmds): ...here.  Use GDBINIT, not gdbinit.
    	* top.c (gdb_init): Don't call init_cli_cmds.
    	(gdbinit): Remove.
    	* cli/cli-cmds.h (init_cli_cmds): Don't declare.

commit 72ee03ff58d954dbed886b672032c8c9db0a0dcc
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Jul 11 09:09:52 2019 -0600

    Fix use-after-move bug in add_thread_object
    
    commit 05b08ac1608 ("Reduce manual reference counting in
    py-inferior.c") introduced a use-after-move bug in add_thread_object,
    causing a test suite failure.  This patch fixes the bug.
    
    Tested on x86-64 Fedora 29.
    
    gdb/ChangeLog
    2019-07-11  Tom Tromey  <tromey@adacore.com>
    
    	* python/py-inferior.c (add_thread_object): Don't use thread_obj
    	after it has been moved.

commit 00db9531969db8b6ab984da996d0411fad938589
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Jul 10 21:49:32 2019 -0400

    Make value_must_coerce_to_target return a bool
    
    ... and move comment to header file.
    
    gdb/ChangeLog:
    
    	* valops.c (value_must_coerce_to_target): Change return type to
    	bool.
    	* value.h (value_must_coerce_to_target): Likewise.

commit f2478a7e8b145a55c343bc7a62c53b021062229e
Author: Simon Marchi <simon.marchi@efficios.com>
Date:   Wed Jul 10 21:20:38 2019 -0400

    breakpoint: Make is_*point functions return bool
    
    This includes changing the FILTER parameters of two functions
    accordingly.  I also tried to normalize the function comments to our
    current standards.
    
    gdb/ChangeLog:
    
    	* breakpoint.c (is_hardware_watchpoint): Remove
    	forward-declaration.
    	(is_masked_watchpoint): Change return type to bool.
    	(is_tracepoint): Likewise.
    	(is_breakpoint): Likewise.
    	(is_hardware_watchpoint): Likewise.
    	(is_watchpoint): Likewise.
    	(is_no_memory_software_watchpoint): Likewise.
    	(is_catchpoint): Likewise.
    	(breakpoint_1): Make FILTER parameter's return type bool.
    	is_masked_watchpoint): Change return type to bool.
    	(save_breakpoints): Make FILTER parameter's return type bool.
    	* breakpoint.h (is_breakpoint): Change return type to bool.
    	(is_watchpoint): Likewise.
    	(is_catchpoint): Likewise.
    	(is_tracepoint): Likewise.

commit 2ee0a9b7bcd86721bd44d8a8fc967b2a8cbe18e0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jul 11 00:00:37 2019 +0000

    Automatic date update in version.in

commit 0d12e84cfc9bd36b7bbda01a3c8f83f65a832398
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 9 15:21:02 2019 -0600

    Don't include gdbarch.h from defs.h
    
    I touched symtab.h and was surprised to see how many files were
    rebuilt.  I looked into it a bit, and found that defs.h includes
    gdbarch.h, which in turn includes many things.
    
    gdbarch.h is only needed by a minority ofthe files in gdb, so this
    patch removes the include from defs.h and updates the fallout.
    
    I did "wc -l" on the files in build/gdb/.deps; this patch reduces the
    line count from 139935 to 137030; so there are definitely future
    build-time savings here.
    
    Note that while I configured with --enable-targets=all, it's possible
    that some *-nat.c file needs an update.  I could not test all of
    these.  The buildbot caught a few problems along these lines.
    
    gdb/ChangeLog
    2019-07-10  Tom Tromey  <tom@tromey.com>
    
    	* defs.h: Don't include gdbarch.h.
    	* aarch64-ravenscar-thread.c, aarch64-tdep.c, alpha-bsd-tdep.h,
    	alpha-linux-tdep.c, alpha-mdebug-tdep.c, arch-utils.h, arm-tdep.h,
    	ax-general.c, btrace.c, buildsym-legacy.c, buildsym.h, c-lang.c,
    	cli/cli-decode.h, cli/cli-dump.c, cli/cli-script.h,
    	cli/cli-style.h, coff-pe-read.h, compile/compile-c-support.c,
    	compile/compile-cplus.h, compile/compile-loc2c.c, corefile.c,
    	cp-valprint.c, cris-linux-tdep.c, ctf.c, d-lang.c, d-namespace.c,
    	dcache.c, dicos-tdep.c, dictionary.c, disasm-selftests.c,
    	dummy-frame.c, dummy-frame.h, dwarf2-frame-tailcall.c,
    	dwarf2expr.c, expression.h, f-lang.c, frame-base.c,
    	frame-unwind.c, frv-linux-tdep.c, gdbarch-selftests.c, gdbtypes.h,
    	go-lang.c, hppa-nbsd-tdep.c, hppa-obsd-tdep.c, i386-dicos-tdep.c,
    	i386-tdep.h, ia64-vms-tdep.c, interps.h, language.c,
    	linux-record.c, location.h, m2-lang.c, m32r-linux-tdep.c,
    	mem-break.c, memattr.c, mn10300-linux-tdep.c, nios2-linux-tdep.c,
    	objfiles.h, opencl-lang.c, or1k-linux-tdep.c, p-lang.c,
    	parser-defs.h, ppc-tdep.h, probe.h, python/py-record-btrace.c,
    	record-btrace.c, record.h, regcache-dump.c, regcache.h,
    	riscv-fbsd-tdep.c, riscv-linux-tdep.c, rust-exp.y,
    	sh-linux-tdep.c, sh-nbsd-tdep.c, source-cache.c,
    	sparc-nbsd-tdep.c, sparc-obsd-tdep.c, sparc-ravenscar-thread.c,
    	sparc64-fbsd-tdep.c, std-regs.c, target-descriptions.h,
    	target-float.c, tic6x-linux-tdep.c, tilegx-linux-tdep.c, top.c,
    	tracefile.c, trad-frame.c, type-stack.h, ui-style.c, utils.c,
    	utils.h, valarith.c, valprint.c, varobj.c, x86-tdep.c,
    	xml-support.h, xtensa-linux-tdep.c, cli/cli-cmds.h: Update.
    	* s390-linux-nat.c, procfs.c, inf-ptrace.c: Likewise.

commit f06f1252b0b8ef20adb4296faaf8293c9d36f615
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jul 10 11:05:20 2019 -0600

    Change Ada catchpoints to be bp_catchpoint
    
    Like Pedro's earlier patches to change catchpoint to be of type
    bp_catchpoint, this changes the Ada catchpoints to follow.
    
    Tested on x86-64 Fedora 29.
    
    gdb/ChangeLog
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* ada-lang.h (is_ada_exception_catchpoint): Declare.
    	* breakpoint.c (init_ada_exception_breakpoint): Register as
    	bp_catchpoint.
    	(print_one_breakpoint_location, print_one_breakpoint): Use
    	is_ada_exception_catchpoint.
    	* ada-lang.c (class ada_catchpoint_location): Pass
    	bp_loc_software_breakpoint to bp_location constructor.
    	(is_ada_exception_catchpoint): New function.
    
    gdb/testsuite/ChangeLog
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* gdb.ada/mi_ex_cond.exp: Update expected results.
    	* gdb.ada/mi_catch_ex_hand.exp: Update expected results.
    	* gdb.ada/mi_catch_ex.exp: Update expected results.
    	* gdb.ada/mi_catch_assert.exp: Update expected results.
    	* gdb.ada/catch_ex.exp (catch_exception_info)
    	(catch_exception_entry, catch_assert_entry)
    	(catch_unhandled_entry): Update.
    	* gdb.ada/catch_assert_if.exp: Update expected results.

commit 7a5d944b9e86bf73ae5acaa984df24d175b80f68
Author: Tom Tromey <tromey@adacore.com>
Date:   Tue Jul 2 13:45:28 2019 -0600

    Change arm-tdep.c to use type-safe registry
    
    This changes arm-tdep.c to use the type-safe registry, removing a use
    of VEC in the process.
    
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* arm-tdep.c (arm_exidx_entry_s): Remove typedef.  Don't define
    	VEC.
    	(struct arm_exidx_entry): New method operator<.
    	(struct arm_exidx_data) <section_maps>: Change type.
    	(arm_exidx_data_free): Remove.
    	(arm_exidx_data_key): Change type.  Move lower.
    	(arm_exidx_new_objfile): Update.
    	(arm_compare_exidx_entries): Remove.
    	(arm_find_exidx_entry, _initialize_arm_tdep)

commit 48c66e1d07d65a76c685d10003d751ef883b1244
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Jun 27 13:52:42 2019 -0600

    Change solib-spu.c to use type-safe registry
    
    This changes solib-spu.c to use the type-safe registry.
    
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* solib-spu.c (ocl_program_data_key): Change type.
    	(append_ocl_sos, ocl_enable_break, _initialize_spu_solib):
    	Update.

commit a269fbf12dcc621c45030ab9956ae28053878b7c
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Jun 27 13:48:44 2019 -0600

    Change solib-aix.c to use type-safe registry
    
    This changes solib-aix.c to use the type-safe registry, and removes a
    use of VEC in the process.
    
    gdb/ChangeLog
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* solib-aix.c (lm_info_aix_p): Remove typedef.  Don't define VEC.
    	(struct solib_aix_inferior_data) <library_list>: Change type.
    	(solib_aix_inferior_data_handle): Change type.
    	(get_solib_aix_inferior_data): Update.
    	(solib_aix_free_library_list): Remove.
    	(library_list_start_library): Update.
    	(solib_aix_parse_libraries, solib_aix_get_library_list): Change
    	return type.
    	(solib_aix_get_library_list)
    	(solib_aix_solib_create_inferior_hook, solib_aix_current_sos)
    	(solib_aix_normal_stop_observer, _initialize_solib_aix): Update.

commit c294730c54f15ea69b18025025c0f191e5876301
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jun 26 13:16:18 2019 -0600

    Change solib-dsbt.c to use type-safe registry
    
    This changes solib-dsbt.c to use the type-safe registry.
    
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* solib-dsbt.c (struct dsbt_info): Add initializers.
    	(solib_dsbt_pspace_data): Change type.
    	(dsbt_pspace_data_cleanup): Remove.
    	(get_dsbt_info, _initialize_dsbt_solib): Update.

commit 9d52077d65206b1e0df62f05b577b5ceede1228a
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jun 26 13:14:29 2019 -0600

    Change spu-tdep.c to use type-safe registry
    
    This changes spu-tdep.c to use the type-safe registry.
    
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* spu-tdep.c (spu_overlay_data): Change type.
    	(spu_get_overlay_table, spu_overlay_new_objfile)
    	(_initialize_spu_tdep): Update.

commit 22a20dca3a96c481093bdff5e17f1feb0f9e345c
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jun 26 13:12:13 2019 -0600

    Change dbxread.c to use type-safe registry
    
    This changes dbxread.c to use the type-safe registry.  In a couple of
    spots, you'll see that dbx_objfile_data_key.emplace is called but the
    result is not used; this is because those functions refer to the key
    via the various DBX_* macros.
    
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* gdb-stabs.h (struct dbx_symfile_info): Add initializers and
    	destructor.
    	(dbx_objfile_data_key): Change type and declare later.
    	(DBX_SYMFILE_INFO): Rewrite.
    	* dbxread.c (dbx_objfile_data_key): Change type.
    	(dbx_symfile_init): Update.
    	(~dbx_symfile_info): Rename from dbx_free_symfile_info.  Update.
    	(coffstab_build_psymtabs, elfstab_build_psymtabs)
    	(stabsect_build_psymtabs, _initialize_dbxread): Update.

commit cb60f4208b2b920614306937b62bf15700824ee0
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jun 26 12:47:44 2019 -0600

    Change jit.c to use type-safe registry
    
    This changes jit.c to use the type-safe registry.  Only one of the
    registry keys in jit.c is converted; the other is trickier and so I've
    left it be for now.
    
    gdb/ChangeLog
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* jit.c (jit_program_space_key): Change type.  Move lower.
    	(get_jit_program_space_data): Update.
    	(jit_program_space_data_cleanup): Remove.
    	(jit_breakpoint_deleted, free_objfile_data, _initialize_jit):
    	Update.
    	(struct jit_program_space_data): Add initializers.

commit 51df2ae3029caafd2b832e19d2978114a7e25a8a
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jun 26 12:44:49 2019 -0600

    Change solib-darwin.c to use type-safe registry
    
    This changes solib-darwin.c to use the type-safe registry.
    
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* solib-darwin.c (struct darwin_info): Add initializers.
    	(solib_darwin_pspace_data): Change type.
    	(darwin_pspace_data_cleanup): Remove.
    	(get_darwin_info, _initialize_darwin_solib): Update.

commit 18101a352541a28b8e199b4d7b9f66989681dc02
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jun 26 12:42:14 2019 -0600

    Change remote-sim.c to use type-safe registry
    
    This changes remote-sim.c to use the type-safe registry.
    
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* remote-sim.c (struct sim_inferior_data): Add initializers,
    	constructor, and destructor.
    	(sim_inferior_data_key): Change type.  Move lower.
    	(check_for_duplicate_sim_descriptor): Update.
    	(get_sim_inferior_data): Use new.  Update.
    	(~sim_inferior_data_cleanup): Rename from
    	sim_inferior_data_cleanup.  Simplify.
    	(gdbsim_close_inferior, simulator_command)
    	(sim_command_completer, _initialize_remote_sim): Update.
    	(next_pid, INITIAL_PID): Move earlier.

commit 05b08ac1608c8355201db21fe4c871677466f0d5
Author: Tom Tromey <tromey@adacore.com>
Date:   Fri Jun 28 08:32:28 2019 -0600

    Reduce manual reference counting in py-inferior.c
    
    This patch changes py-inferior.c to use gdbpy_ref<> when possible,
    reducing the amount of manual reference counting.
    
    Tested on x86-64 Fedora 29.
    
    gdb/ChangeLog
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* python/python-internal.h (create_thread_object): Return
    	gdbpy_ref.
    	* python/py-infthread.c (create_thread_object): Return gdbpy_ref.
    	* python/py-inferior.c (struct threadlist_entry): Add
    	constructor.
    	<thread_obj>: Now a gdbpy_ref.
    	(thread_to_thread_object): Update.
    	(add_thread_object): Use new.
    	(delete_thread_object): Use delete.
    	(infpy_threads): Update.
    	(py_free_inferior): Update.  Construct "inf_obj" after acquiring
    	GIL.

commit 32372d80caba2e223157eca6db2fb0e65369c3c7
Author: Tom Tromey <tromey@adacore.com>
Date:   Tue Jun 18 08:59:00 2019 -0600

    Specialize value_cast error message for Ada
    
    In Ada, the term for a cast is "type conversion".  AdaCore has been
    carrying a local patch to specialize the error message in value_cast,
    but it seemed fine to me for this to be part of gdb.  This also
    removes a dead "return" statement.
    
    gdb/ChangeLog
    2019-07-10  Tom Tromey  <tromey@adacore.com>
    
    	* valops.c (value_cast): Specialize error message for Ada.

commit 43dd762689eb80d5c93a6c1079697c3791fb46fa
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Wed Jul 10 18:38:19 2019 +0200

    arm-dis.c (print_insn_coprocessor): Rename index to index_operand.
    
    Older gcc warns, arguably incorrectly, about name collisions between
    global functions and function-local variable names.  Consesus has been
    to rename local variables whenever this is spotted, hence committed as
    obvious.  Note the pre-existing variable named idx; "index_operand"
    seemed logical given the context.
    
    	* arm-dis.c (print_insn_coprocessor): Rename index to
    	index_operand.

commit 5c458ae8f529a11ecab9db470d80695bb31ecfc5
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Jul 10 12:12:37 2019 -0400

    Update breakpoint_1's documentation
    
    I noticed the documentation of breakpoint_1 way way out of date, so this
    is an attempt to update it.  I have changed the parameter names to
    something that seems clearer to me.
    
    gdb/ChangeLog:
    
    	* breakpoint.c (breakpoint_1): Update doc and parameter names.

commit 4c462cb0efb40a7a1e5297946bed59286dd0cf02
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Jul 10 12:10:51 2019 -0400

    Make some bpstat functions use bool
    
    Change return type to bool and adjust function comments.
    
    gdb/ChangeLog:
    
    	* breakpoint.h (bpstat_explains_signal, bpstat_causes_stop,
    	bpstat_should_step): Return bool, adjust comments.
    	* breakpoint.c (bpstat_explains_signal, bpstat_causes_stop,
    	bpstat_should_step): Likewise.

commit 89abbcc26d891425678b8b463bc1fa81273fb54c
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jun 20 08:38:18 2019 +0100

    Arm: Create feature files for Arm target descriptions
    
    Add Arm to the list of feature target description targets and generate the
    relevant C files.
    
    Add arm-m-profile-with-fpa.xml as the feature version of the exisiting
    arm-with-m-fpa-layout.xml.
    
    Add extra comments to the Makefile for readability.
    
    New files are not yet used.
    
    gdb/ChangeLog:
    
    	* features/Makefile: Use feature target descriptions for Arm.
    	* features/arm/arm-core.c: Generate new file.
    	* features/arm/arm-fpa.c: Likewise.
    	* features/arm/arm-m-profile-with-fpa.xml: Likewise.
    	* features/arm/arm-m-profile.c: Likewise.
    	* features/arm/arm-vfpv2.c: Likewise.
    	* features/arm/arm-vfpv3.c: Likewise.
    	* features/arm/xscale-iwmmxt.c: Likewise.
    	* target-descriptions.c (maint_print_c_tdesc_cmd): Add Arm.

commit b863685d70199489b3fe27abedfb1eb6d1452b7d
Author: Richard Bunt <richard.bunt@arm.com>
Date:   Wed Jul 10 14:14:16 2019 +0100

    Restore original GDB prompt in define.exp
    
    define.exp will fail on a GDB which has set a custom prompt to identify
    itself.  This is because the test resets the prompt to a hard coded
    "(gdb)" but then verifies the success of this against the value in
    $gdb_prompt, which is set to the custom prompt.
    
    The original approach to fix this involved resetting the prompt to
    $gdb_prompt rather than a hard coded "(gdb)". However it was noted during
    review that $gdb_prompt is a regular expression rather than a string.
    This is problematic because in general the prompt would be reset to a
    regular expression rather than an instance of a string accepted by said
    regular expression.
    
    The fix used in this commit avoids the above issue by capturing the
    literal prompt from running "show prompt" and uses this literal to
    restore the previous prompt.
    
    Regression tested with GCC 7.3.0 on x86_64, ppc64le, aarch64.
    
    gdb/testsuite/ChangeLog:
    2019-07-10  Richard Bunt  <richard.bunt@arm.com>
    	Stephen Roberts  <stephen.roberts@arm.com>
    
    	* gdb.base/define.exp: Restore original prompt.

commit 166a82be89008621a31e6e56b2d52a049b53e341
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Jun 25 11:04:59 2019 +0100

    Arm: Minor style cleanups
    
    *When reading a target description, do the ptrace check before picking the
     target description.
    
    *In wmmxregset functions, declare the counter inside the for.
    
    *Call arm_linux_init_hwbp_cap from in arm_arch_setup - it doesn't belong in
     arm_read_description.
    
    gdb/ChangeLog:
    
    	* arm-linux-nat.c (arm_linux_nat_target::read_description): Check
    	ptrace earlier,
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-arm-low.c (arm_fill_wmmxregset, arm_store_wmmxregset):
    	Move counter inside for.
    	(arm_read_description): Check ptrace earlier.
    	(arm_arch_setup): Call arm_linux_init_hwbp_cap here.

commit 9fb4c7e9f00accbbf92fc0b0a53978fd50ff6bb0
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jul 10 11:45:29 2019 +0100

    Regenerate aarch64-pauth.c
    
    aarch64-pauth.c was slightly out of sync with the generated version.
    Regenerate it.
    
    gdb/ChangeLog:
    
    	* features/aarch64-pauth.c: Regenerate.

commit e2d0f9803e3054b05c2de716f3c928e510009436
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Jul 9 21:20:16 2019 -0400

    Make bpstat_what::is_longjmp a bool
    
    gdb/ChangeLog:
    
    	* breakpoint.h (struct bpstat_what) <is_longjmp>: Change type to
    	bool.
    	(bpstat_what): Use false instead of 0.

commit eb6ad40f244ea6dedca1440b0ce3d89c1ecdac0c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jul 10 00:00:22 2019 +0000

    Automatic date update in version.in

commit a38118e5d165324b4f9509fd82cf1f1c6421bfc5
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jul 9 19:26:16 2019 +0100

    Make "maint info breakpoints" show "catch catch/throw/rethrow" locations
    
    This commit makes "maint info breakpoints" show the internal locations
    of C++ exception catchpoints:
    
     (gdb) info breakpoints
     Num     Type           Disp Enb Address            What
     2       catchpoint     keep y                      exception catch
    
    With multiple locations:
    
     (gdb) maint info breakpoints
     Num     Type           Disp Enb Address            What
     2       catchpoint     keep y                      exception catch
     2.1                         y   0x000000000040545f <__cxa_begin_catch+95> inf 1
     2.2                         y   0x00007ffff71dbe0f <__cxxabiv1::__cxa_begin_catch(void*)+95> inf 1
     (gdb)
    
    With a single location:
    
     (gdb) maint info breakpoints 2
     Num     Type           Disp Enb Address            What
     2       catchpoint     keep y                      exception catch inf 1
     2.1                         y   0x00007ffff7bc0b7f <__cxa_begin_catch+95> inf 1
    
    With no locations:
    
     (gdb) maint info breakpoints 2
     Num     Type           Disp Enb Address            What
     2       catchpoint     keep y                      exception catch inf 1
    
    
    Other catchpoints still show the same way, here a catch signal:
    
     (gdb) info breakpoints
     Num     Type           Disp Enb Address            What
     3       catchpoint     keep y                      signal "<standard signals>"
    
     (gdb) maint info breakpoints
     Num     Type           Disp Enb Address            What
     3       catchpoint     keep y                      signal "<standard signals>"  inf 1
     (gdb)
    
    Note: I considered making the locations be printed from within
    breakpoint_ops::print_one(), but gave up given the handling for the
    broken MI v2 output:
    
     /* The mi2 broken format: the main breakpoint tuple ends here, the locations
         are outside.  */
      if (!use_fixed_output)
        bkpt_tuple_emitter.reset ();
    
    in print_one_breakpoint.
    
    gdb/ChangeLog:
    2019-07-09  Pedro Alves  <palves@redhat.com>
    
    	* break-catch-throw.c (is_exception_catchpoint): New.
    	* breakpoint.c (print_one_breakpoint_location): New parameter
    	'raw_loc'.  Handle it.  Use
    	is_watchpoint/is_catchpoint/is_exception_catchpoint instead of
    	looking at the breakpoint's type.
    	(print_one_breakpoint): If handling "maint info breakpoints", also
    	print locations of exception catchpoints.
    	* breakpoint.h (is_exception_catchpoint): Declare.

commit cb1e4e32c2d9588e1d77ea49bafb5dcdc1cff764
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jul 9 19:26:16 2019 +0100

    "catch catch/throw/rethrow", breakpoint -> catchpoint
    
    Currently, with:
    
     (gdb) catch catch
     Catchpoint 1 (catch)
     (gdb) catch throw
     Catchpoint 2 (throw)
     (gdb) catch rethrow
     Catchpoint 3 (rethrow)
    
    You get:
    
    (gdb) info breakpoints
     Num     Type           Disp Enb Address            What
     1       breakpoint     keep y   0x0000000000b122af exception catch
     2       breakpoint     keep y   0x0000000000b1288d exception throw
     3       breakpoint     keep y   0x0000000000b12931 exception rethrow
    
    I think it doesn't make much sense usability-wise, to show a
    catchpoint as a breakpoint.  The fact that GDB sets a breakpoint at
    some magic address in the C++ run time is an implementation detail,
    IMO.  And as seen in the previous patch, such a catchpoint can end up
    with more than one location/address even, so showing a single address
    isn't entirely accurate.
    
    This commit hides the addresses from view, and makes GDB show
    "catchpoint" for type as well:
    
      (gdb) info breakpoints
      Num     Type           Disp Enb Address            What
      1       catchpoint     keep y                      exception catch
      2       catchpoint     keep y                      exception throw
      3       catchpoint     keep y                      exception rethrow
    
    This comment in the code seems telling:
    
      /* We need to reset 'type' in order for code in breakpoint.c to do
         the right thing.  */
      cp->type = bp_breakpoint;
    
    It kind of suggests that the reason catchpoints end up shown as
    breakpoints was that it was easier to implement them that way, rather
    than a desired property.
    
    This commit fixes things up to make it possible to have bp_catch
    breakpoints have software/hardware breakpoint locations, thus
    eliminating the need for that hack:
    
     - redo breakpoint_address_is_meaningful in terms of the location's
       type rather than breakpoint type.
     - teach bpstat_what about stepping over the catchpoint locations.
     - install a allocate_location method for "catch catch/throw/rethrow",
       one that forces the location type.
    
    Note that this also reverts the gdb hunk from:
    
      commit 2a8be20359dba9cc684fd3ffa222d985399f3b18
      Commit:     Tom Tromey <tom@tromey.com>
      CommitDate: Sat Oct 6 22:17:45 2018 -0600
    
          Fix Python gdb.Breakpoint.location crash
    
    because now "catch throw" catchpoints hit the
    
       if (obj->bp->type != bp_breakpoint)
         Py_RETURN_NONE;
    
    check above, and, adjusts the testcase to no longer expect to see the
    catchpoint in the gdb.breakpoints() list.
    
    (Note: might make sense to do the same to Ada exception catchpoints.)
    
    gdb/ChangeLog:
    2019-07-09  Pedro Alves  <palves@redhat.com>
    
    	* break-catch-throw.c (print_one_exception_catchpoint): Skip the
    	"addr" field.
    	(allocate_location_exception_catchpoint): New.
    	(handle_gnu_v3_exceptions): Don't reset 'type' to bp_breakpoint.
    	(initialize_throw_catchpoint_ops): Install
    	allocate_location_exception_catchpoint as allocate_location
    	method.
    	* breakpoint.c (bpstat_what) <bp_catch>: Set action to
    	BPSTAT_WHAT_SINGLE if not stopping and the location's type is not
    	bp_loc_other.
    	(breakpoint_address_is_meaningful): Delete.
    	(bl_address_is_meaningful): New.
    	(breakpoint_locations_match): Adjust comment.
    	(bp_location_from_bp_type): New, factored out of...
    	(bp_location::bp_location(breakpoint *)): ... this.
    	(bp_location::bp_location(breakpoint *, bp_loc_type)): New,
    	factored out of...
    	(bp_location::bp_location(breakpoint *)): ... this.  Reimplement.
    	(bp_loc_is_permanent): Use bl_address_is_meaningful instead of
    	breakpoint_address_is_meaningful.
    	(bp_locations_compare): Adjust comment.
    	(update_global_location_list): Use bl_address_is_meaningful
    	instead of breakpoint_address_is_meaningful.
    	* breakpoint.h (bp_location::bp_location(breakpoint *)): New
    	explicit.
    	(bp_location::bp_location(breakpoint *, bp_loc_type)): Declare.
    	* python/py-breakpoint.c (bppy_get_location): No longer check
    	whether location is null.
    
    gdb/doc/ChangeLog:
    2019-07-09  Pedro Alves  <palves@redhat.com>
    
    	* gdb.texinfo (C++ Exception GDB/MI Catchpoint Commands): Adjust
    	examples to show type=catchpoint instead of type=breakpoint and an
    	address.
    
    gdb/testsuite/ChangeLog:
    2019-07-09  Pedro Alves  <palves@redhat.com>
    
    	* gdb.cp/catch-multi-stdlib.exp: Adjust expected "info
    	breakpoints" output.
    	* gdb.cp/exception.exp: Adjust expected "info breakpoints" output.
    	* gdb.python/py-breakpoint.exp: No longer expect that "catch
    	throw" creates breakpoint.
    	* gdb.mi/mi-catch-cpp-exceptions.exp (setup_catchpoint): Expect
    	'type="catchpoint"'.

commit b58a68fe5709ed205c3ac54065f1783ce58d9a01
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jul 9 19:26:15 2019 +0100

    Fix "info break" + "catch catch" + -static-{libstdc++,libgcc}
    
    If you debug current GDB, set a "catch catch/throw/rethrow"
    catchpoint, and then do "info breakpoints", the top GDB hits an
    internal error:
    
     (top-gdb) catch catch
     Catchpoint 1 (catch)
     (top-gdb) info breakpoints
     Num     Type           Disp Enb Address            What
     1       breakpoint     keep y   src/gdb/breakpoint.c:6040: internal-error: void print_one_breakpoint_location(breakpoint*, bp_location*, int, bp_location**, int): Assertion `b->loc == NULL || b->loc->next == NULL' failed.
     A problem internal to GDB has been detected,
     further debugging may prove unreliable.
     Quit this debugging session? (y or n)
    
    The assertion in question is asserting that a breakpoint with a
    print_one method only has one location, and it fails because this
    catchpoint ends up with two locations.
    
    Internally, "catch catch" sets a breakpoint at __cxa_begin_catch.  If
    we do that manually, we see the locations:
    
      (top-gdb) b -qualified __cxa_begin_catch
      Breakpoint 2 at 0xb122b0 (2 locations)
      (top-gdb) info breakpoints
      Num     Type           Disp Enb Address            What
      2       breakpoint     keep y   <MULTIPLE>
      2.1                         y   0x0000000000b122b0 <__cxa_begin_catch>
      2.2                         y   0x00007ffff2f4ddb0 in __cxxabiv1::__cxa_begin_catch(void*) at ../../../../libstdc++-v3/libsupc++/eh_catch.cc:41
    
    Note that I had used -qualified.  It seems strange that we get a
    location for a namespaced symbol, but that happens because the minimal
    symbol for that address is indeed called __cxa_begin_catch.
    
    The real issue is that gdb is linked with
    -static-libgcc/-static-libstdc++.  And then, it _also_ ends up with
    shared libstc++ loaded:
    
      (top-gdb) info sharedlibrary stdc++
      From                To                  Syms Read   Shared Object Library
      0x00007ffff2f4b380  0x00007ffff2ffc018  Yes         /lib64/libstdc++.so.6
    
    Location 2.2 is set within libstdc++.so.6's range:
    
      (top-gdb) p 0x00007ffff2f4b380 <= 0x00007ffff2f4ddb0 && 0x00007ffff2f4ddb0 < 0x00007ffff2ffc018
      $1 = true
    
    So due to -static-lib*, we end up with _two_ copies of the
    __cxa_begin_catch code:
    
      (top-gdb) disassemble 0x0000000000b122b0
      Dump of assembler code for function __cxa_begin_catch:
         0x0000000000b122b0 <+0>:     push   %rbx
         0x0000000000b122b1 <+1>:     mov    %rdi,%rbx
         0x0000000000b122b4 <+4>:     callq  0xb11a80 <__cxa_get_globals>
         0x0000000000b122b9 <+9>:     movabs $0xb8b1aabcbcd4d500,%rdx
      ...
    
      (top-gdb) disassemble 0x00007ffff2f4ddb0
      Dump of assembler code for function __cxxabiv1::__cxa_begin_catch(void*):
         0x00007ffff2f4ddb0 <+0>:     push   %rbx
         0x00007ffff2f4ddb1 <+1>:     mov    %rdi,%rbx
         0x00007ffff2f4ddb4 <+4>:     callq  0x7ffff2f4a090 <__cxa_get_globals@plt>
         0x00007ffff2f4ddb9 <+9>:     movabs $0xb8b1aabcbcd4d500,%rdx
      ...
    
    I think we end up with libstdc++.so.6 loaded because
    libsource-highlight.so depends on it.
    
    Irrespective of whether it's a good idea to use
    -static-libgcc/-static-libstdc++, GDB should not crash.  Since there
    are two copies of the code, it seems right to have more than one
    location.  So the fix is just to remove the assertion.
    
    A testcase is included, which mimics the scenerio described above,
    with binary linked with -static-lib{stdc++,gcc} and a shared library
    that is linked normally, along with other combinations for good
    measure.
    
    gdb/ChangeLog:
    2019-07-09  Pedro Alves  <palves@redhat.com>
    
    	PR c++/15468
    	* breakpoint.c (print_one_breakpoint_location): Remove
    	single-location assert.
    
    gdb/testsuite/ChangeLog:
    2019-07-09  Pedro Alves  <palves@redhat.com>
    
    	PR c++/15468
    	* gdb.cp/except-multi-location-lib.cc: New.
    	* gdb.cp/except-multi-location-main.cc: New.
    	* gdb.cp/except-multi-location.exp: New.

commit 0826779b99b49f7f8df5d186f3c481b6007010d4
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Tue Jul 9 19:36:17 2019 +0200

    Fix printcmds.exp failure for wide strings tests.
    
    wchar_t type must be known to create wide strings.
    As this type is predefined when current GDB language is C++,
    switch to c++ for the wide strings tests.
    
    Problem analysis and fix by Sergio.

commit 268a13a5a3f7c6b9b6ffc5ac2d1b24eb41f3fbdc
Author: Tom Tromey <tom@tromey.com>
Date:   Sun May 5 20:29:24 2019 -0600

    Rename common to gdbsupport
    
    This is the next patch in the ongoing series to move gdbsever to the
    top level.
    
    This patch just renames the "common" directory.  The idea is to do
    this move in two parts: first rename the directory (this patch), then
    move the directory to the top.  This approach makes the patches a bit
    more tractable.
    
    I chose the name "gdbsupport" for the directory.  However, as this
    patch was largely written by sed, we could pick a new name without too
    much difficulty.
    
    Tested by the buildbot.
    
    gdb/ChangeLog
    2019-07-09  Tom Tromey  <tom@tromey.com>
    
    	* contrib/ari/gdb_ari.sh: Change common to gdbsupport.
    	* configure: Rebuild.
    	* configure.ac: Change common to gdbsupport.
    	* gdbsupport: Rename from common.
    	* acinclude.m4: Change common to gdbsupport.
    	* Makefile.in (CONFIG_SRC_SUBDIR, COMMON_SFILES)
    	(HFILES_NO_SRCDIR, stamp-version, ALLDEPFILES): Change common to
    	gdbsupport.
    	* aarch64-tdep.c, ada-lang.c, ada-lang.h, agent.c, alloc.c,
    	amd64-darwin-tdep.c, amd64-dicos-tdep.c, amd64-fbsd-nat.c,
    	amd64-fbsd-tdep.c, amd64-linux-nat.c, amd64-linux-tdep.c,
    	amd64-nbsd-tdep.c, amd64-obsd-tdep.c, amd64-sol2-tdep.c,
    	amd64-tdep.c, amd64-windows-tdep.c, arch-utils.c,
    	arch/aarch64-insn.c, arch/aarch64.c, arch/aarch64.h, arch/amd64.c,
    	arch/amd64.h, arch/arm-get-next-pcs.c, arch/arm-linux.c,
    	arch/arm.c, arch/i386.c, arch/i386.h, arch/ppc-linux-common.c,
    	arch/riscv.c, arch/riscv.h, arch/tic6x.c, arm-tdep.c, auto-load.c,
    	auxv.c, ax-gdb.c, ax-general.c, ax.h, breakpoint.c, breakpoint.h,
    	btrace.c, btrace.h, build-id.c, build-id.h, c-lang.h, charset.c,
    	charset.h, cli/cli-cmds.c, cli/cli-cmds.h, cli/cli-decode.c,
    	cli/cli-dump.c, cli/cli-option.h, cli/cli-script.c,
    	coff-pe-read.c, command.h, compile/compile-c-support.c,
    	compile/compile-c.h, compile/compile-cplus-symbols.c,
    	compile/compile-cplus-types.c, compile/compile-cplus.h,
    	compile/compile-loc2c.c, compile/compile.c, completer.c,
    	completer.h, contrib/ari/gdb_ari.sh, corefile.c, corelow.c,
    	cp-support.c, cp-support.h, cp-valprint.c, csky-tdep.c, ctf.c,
    	darwin-nat.c, debug.c, defs.h, disasm-selftests.c, disasm.c,
    	disasm.h, dtrace-probe.c, dwarf-index-cache.c,
    	dwarf-index-cache.h, dwarf-index-write.c, dwarf2-frame.c,
    	dwarf2expr.c, dwarf2loc.c, dwarf2read.c, event-loop.c,
    	event-top.c, exceptions.c, exec.c, extension.h, fbsd-nat.c,
    	features/aarch64-core.c, features/aarch64-fpu.c,
    	features/aarch64-pauth.c, features/aarch64-sve.c,
    	features/i386/32bit-avx.c, features/i386/32bit-avx512.c,
    	features/i386/32bit-core.c, features/i386/32bit-linux.c,
    	features/i386/32bit-mpx.c, features/i386/32bit-pkeys.c,
    	features/i386/32bit-segments.c, features/i386/32bit-sse.c,
    	features/i386/64bit-avx.c, features/i386/64bit-avx512.c,
    	features/i386/64bit-core.c, features/i386/64bit-linux.c,
    	features/i386/64bit-mpx.c, features/i386/64bit-pkeys.c,
    	features/i386/64bit-segments.c, features/i386/64bit-sse.c,
    	features/i386/x32-core.c, features/riscv/32bit-cpu.c,
    	features/riscv/32bit-csr.c, features/riscv/32bit-fpu.c,
    	features/riscv/64bit-cpu.c, features/riscv/64bit-csr.c,
    	features/riscv/64bit-fpu.c, features/tic6x-c6xp.c,
    	features/tic6x-core.c, features/tic6x-gp.c, filename-seen-cache.h,
    	findcmd.c, findvar.c, fork-child.c, gcore.c, gdb_bfd.c, gdb_bfd.h,
    	gdb_proc_service.h, gdb_regex.c, gdb_select.h, gdb_usleep.c,
    	gdbarch-selftests.c, gdbthread.h, gdbtypes.h, gnu-nat.c,
    	go32-nat.c, guile/guile.c, guile/scm-ports.c,
    	guile/scm-safe-call.c, guile/scm-type.c, i386-fbsd-nat.c,
    	i386-fbsd-tdep.c, i386-go32-tdep.c, i386-linux-nat.c,
    	i386-linux-tdep.c, i386-tdep.c, i387-tdep.c,
    	ia64-libunwind-tdep.c, ia64-linux-nat.c, inf-child.c,
    	inf-ptrace.c, infcall.c, infcall.h, infcmd.c, inferior-iter.h,
    	inferior.c, inferior.h, inflow.c, inflow.h, infrun.c, infrun.h,
    	inline-frame.c, language.h, linespec.c, linux-fork.c, linux-nat.c,
    	linux-tdep.c, linux-thread-db.c, location.c, machoread.c,
    	macrotab.h, main.c, maint.c, maint.h, memattr.c, memrange.h,
    	mi/mi-cmd-break.h, mi/mi-cmd-env.c, mi/mi-cmd-stack.c,
    	mi/mi-cmd-var.c, mi/mi-interp.c, mi/mi-main.c, mi/mi-parse.h,
    	minsyms.c, mips-linux-tdep.c, namespace.h,
    	nat/aarch64-linux-hw-point.c, nat/aarch64-linux-hw-point.h,
    	nat/aarch64-linux.c, nat/aarch64-sve-linux-ptrace.c,
    	nat/amd64-linux-siginfo.c, nat/fork-inferior.c,
    	nat/linux-btrace.c, nat/linux-btrace.h, nat/linux-namespaces.c,
    	nat/linux-nat.h, nat/linux-osdata.c, nat/linux-personality.c,
    	nat/linux-procfs.c, nat/linux-ptrace.c, nat/linux-ptrace.h,
    	nat/linux-waitpid.c, nat/mips-linux-watch.c,
    	nat/mips-linux-watch.h, nat/ppc-linux.c, nat/x86-dregs.c,
    	nat/x86-dregs.h, nat/x86-linux-dregs.c, nat/x86-linux.c,
    	nto-procfs.c, nto-tdep.c, objfile-flags.h, objfiles.c, objfiles.h,
    	obsd-nat.c, observable.h, osdata.c, p-valprint.c, parse.c,
    	parser-defs.h, ppc-linux-nat.c, printcmd.c, probe.c, proc-api.c,
    	procfs.c, producer.c, progspace.h, psymtab.h,
    	python/py-framefilter.c, python/py-inferior.c, python/py-ref.h,
    	python/py-type.c, python/python.c, record-btrace.c, record-full.c,
    	record.c, record.h, regcache-dump.c, regcache.c, regcache.h,
    	remote-fileio.c, remote-fileio.h, remote-sim.c, remote.c,
    	riscv-tdep.c, rs6000-aix-tdep.c, rust-exp.y, s12z-tdep.c,
    	selftest-arch.c, ser-base.c, ser-event.c, ser-pipe.c, ser-tcp.c,
    	ser-unix.c, skip.c, solib-aix.c, solib-target.c, solib.c,
    	source-cache.c, source.c, source.h, sparc-nat.c, spu-linux-nat.c,
    	stack.c, stap-probe.c, symfile-add-flags.h, symfile.c, symfile.h,
    	symtab.c, symtab.h, target-descriptions.c, target-descriptions.h,
    	target-memory.c, target.c, target.h, target/waitstatus.c,
    	target/waitstatus.h, thread-iter.h, thread.c, tilegx-tdep.c,
    	top.c, top.h, tracefile-tfile.c, tracefile.c, tracepoint.c,
    	tracepoint.h, tui/tui-io.c, ui-file.c, ui-out.h,
    	unittests/array-view-selftests.c,
    	unittests/child-path-selftests.c, unittests/cli-utils-selftests.c,
    	unittests/common-utils-selftests.c,
    	unittests/copy_bitwise-selftests.c, unittests/environ-selftests.c,
    	unittests/format_pieces-selftests.c,
    	unittests/function-view-selftests.c,
    	unittests/lookup_name_info-selftests.c,
    	unittests/memory-map-selftests.c, unittests/memrange-selftests.c,
    	unittests/mkdir-recursive-selftests.c,
    	unittests/observable-selftests.c,
    	unittests/offset-type-selftests.c, unittests/optional-selftests.c,
    	unittests/parse-connection-spec-selftests.c,
    	unittests/ptid-selftests.c, unittests/rsp-low-selftests.c,
    	unittests/scoped_fd-selftests.c,
    	unittests/scoped_mmap-selftests.c,
    	unittests/scoped_restore-selftests.c,
    	unittests/string_view-selftests.c, unittests/style-selftests.c,
    	unittests/tracepoint-selftests.c, unittests/unpack-selftests.c,
    	unittests/utils-selftests.c, unittests/xml-utils-selftests.c,
    	utils.c, utils.h, valarith.c, valops.c, valprint.c, value.c,
    	value.h, varobj.c, varobj.h, windows-nat.c, x86-linux-nat.c,
    	xml-support.c, xml-support.h, xml-tdesc.h, xstormy16-tdep.c,
    	xtensa-linux-nat.c, dwarf2read.h: Change common to gdbsupport.
    
    gdb/gdbserver/ChangeLog
    2019-07-09  Tom Tromey  <tom@tromey.com>
    
    	* configure: Rebuild.
    	* configure.ac: Change common to gdbsupport.
    	* acinclude.m4: Change common to gdbsupport.
    	* Makefile.in (SFILES, OBS, GDBREPLAY_OBS, IPA_OBJS)
    	(version-generated.c, gdbsupport/%-ipa.o, gdbsupport/%.o): Change
    	common to gdbsupport.
    	* ax.c, event-loop.c, fork-child.c, gdb_proc_service.h,
    	gdbreplay.c, gdbthread.h, hostio-errno.c, hostio.c, i387-fp.c,
    	inferiors.c, inferiors.h, linux-aarch64-tdesc-selftest.c,
    	linux-amd64-ipa.c, linux-i386-ipa.c, linux-low.c,
    	linux-tic6x-low.c, linux-x86-low.c, linux-x86-tdesc-selftest.c,
    	linux-x86-tdesc.c, lynx-i386-low.c, lynx-low.c, mem-break.h,
    	nto-x86-low.c, regcache.c, regcache.h, remote-utils.c, server.c,
    	server.h, spu-low.c, symbol.c, target.h, tdesc.c, tdesc.h,
    	thread-db.c, tracepoint.c, win32-i386-low.c, win32-low.c: Change
    	common to gdbsupport.

commit 5b0e2db4fa08b43e9ff78d6e9a45d496522bd241
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jun 11 23:33:53 2019 +0100

    gdb: Don't skip prologue for explicit line breakpoints in assembler
    
    It was observed that in some cases, placing a breakpoint in an
    assembler file using filename:line-number syntax would result in the
    breakpoint being placed at a different line within the file.
    
    For example, consider this x86-64 assembler:
    
        test:
                push   %rbp		/* Break here.  */
                mov    %rsp, %rbp
                nop			/* Stops here.  */
    
    The user places the breakpoint using file:line notation targeting the
    line marked 'Break here', GDB actually stops at the line marked 'Stops
    here'.
    
    The reason is that the label 'test' is identified as the likely start
    of a function, and the call to symtab.c:skip_prologue_sal causes GDB
    to skip forward over the instructions that GDB believes to be part of
    the prologue.
    
    I believe however, that when debugging assembler code, where the user
    has instruction-by-instruction visibility, if they ask for a specific
    line, GDB should (as far as possible) stop on that line, and not
    perform any prologue skipping.  I don't believe that the behaviour of
    higher level languages should change, in these cases skipping the
    prologue seems like the correct thing to do.
    
    In order to implement this change I needed to extend our current
    tracking of when the user has requested an explicit line number.  We
    already tracked this in some cases, but not in others (see the changes
    in linespec.c).  However, once I did this I started to see some
    additional failures (in tests gdb.base/break-include.exp
    gdb.base/ending-run.exp gdb.mi/mi-break.exp gdb.mi/mi-reverse.exp
    gdb.mi/mi-simplerun.exp) where we currently expected a breakpoint
    placed at one file and line number to be updated to reference a
    different line number, this was fixed by removing some code in
    symtab.c:skip_prologue_sal.  My concern here is that removing this
    check didn't cause anything else to fail.
    
    I have a new test that covers my original case, this is written for
    x86-64 as most folk have access to such a target, however, any
    architecture that has a prologue scanner can be impacted by this
    change.
    
    gdb/ChangeLog:
    
    	* linespec.c (decode_digits_list_mode): Set explicit_line to a
    	bool value.
    	(decode_digits_ordinary): Set explicit_line field in sal.
    	* symtab.c (skip_prologue_sal): Don't skip prologue for a
    	symtab_and_line that was set on an explicit line number in
    	assembler code.  Do always update the recorded symtab and line if
    	we do skip the prologue.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.arch/amd64-break-on-asm-line.S: New file.
    	* gdb.arch/amd64-break-on-asm-line.exp: New file.

commit 0ba852ab4126a6eb4be88577d62dc25f2be7f725
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Mon Jul 1 16:00:52 2019 +0100

    gdb: Remove unneeded parameter from set_breakpoint_location_function
    
    The explicit_loc parameter in set_breakpoint_location_function is not
    useful.  This parameter is set from two possible fields of the
    symtab_and_line used to create the breakpoint; the explicit_pc field,
    and the explicit_line field.
    
    First, the explicit_line field, this is not currently set for any
    breakpoint command, so will never be true.
    
    Next, the explicit_pc field.  This can be true but will never be true
    at the same time that the sal->msymbol field is also true - the
    sal->msymbol is only ever set in linespec.c:minsym_found, which
    doesn't allow for explicitly setting the pc.
    
    The result of this is that if we are setting a breakpoint on an
    msymbol that could turn out to be an ifunc, then we will not also have
    either an explicit_pc or an explicit_line, this check can therefore be
    removed.
    
    There should be no user visible changes after this commit.
    
    gdb/ChangeLog:
    
    	* breakpoint.c (set_breakpoint_location_function): Remove
    	explicit_loc parameter.
    	(momentary_breakpoint_from_master): Update call to
    	set_breakpoint_location_function.
    	(add_location_to_breakpoint): Likewise.

commit b3a7d1711e4557811865333a0ac96fc16b750869
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Jul 4 21:02:43 2019 +0100

    gdb/riscv: Don't use default bfd to define required features
    
    When we initialise a gdbarch object we perform a check to try and
    detect if the user is doing something silly; trying to run an RV64
    binary on an RV32 target.  To perform this check we compare the xlen
    from the target description with the xlen specified in the headers on
    the ELF being debugged.
    
    If there is no ELF being debugged then we (currently) try to use the
    bfd_arch_info from the gdbarch_info object, which will have been set
    to the default architecture if no bfd is currently being debugged.
    For RISC-V the default architecture is RV64.
    
    What this means is that if a user tries to connect to an RV32 target
    without specifying the BFD to debug then GDB will assume RV64.  The
    sanity check mentioned above will failed (xlen difference) and GDB
    will throw an error.  The error causes GDB to disconnect from the
    remote target.
    
    After this commit GDB no longer relies on the default bfd
    architecture.  If the user tries to connect without specifying the bfd
    then GDB will simply make use of the xlen extracted from the target
    description in order to find or create a suitable gdbarch object.
    
    gdb/ChangeLog:
    
    	* riscv-tdep.c (riscv_features_from_gdbarch_info): Don't modify
    	required features based on default bfd type when no specific bfd
    	is present.

commit d69cd47e7e9884f7b3a319936f70b8d93347e9e0
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jul 9 12:27:55 2019 +0930

    Re: gas/ELF: don't accumulate .type settings
    
    git commit f2d4ba38f5 caused many failures for mips-sgi-irix targets,
    and added a new test that failed for aarch64, nds32, and rl78.
    The mips failures are due to BSF_OBJECT being set in many cases for
    symbols by the mips .global/.globl directive.  This patch removes that
    code and instead sets BSF_OBJECT in a target frob_symbol function,
    also moving the mips hacks in elf_frob_symbol to the new function.
    
    Note that common symbols are handled fine in elf.c:swap_out_syms
    without needing to set BSF_OBJECT, so that old code can disappear.
    
    	* config/obj-elf.c (elf_frob_symbol): Remove mips hacks.
    	* config/tc-mips.h (tc_frob_symbol): Define.
    	(mips_frob_symbol): Declare.
    	* config/tc-mips.c (s_mips_globl): Don't set BSF_OBJECT for irix.
    	(mips_frob_symbol): Fudge symbols for irix here.
    	* testsuite/gas/elf/type-2.e: Allow random target symbols.

commit 64da05d557f59814151e908a34f36996a027d127
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jul 9 00:00:12 2019 +0000

    Automatic date update in version.in

commit 1f6f6e21fa86dc3411a6498608f32e9eb24b7851
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Mon Jun 10 21:41:51 2019 +0200

    Ensure GDB printf command can print convenience var strings without a target.
    
    Without this patch, GDB printf command calls malloc on the target,
    writes the convenience var content to the target,
    re-reads the content from the target, and then locally printf the string.
    
    This implies inferior calls, and does not work when there is no running
    inferior, or when the inferior is a core dump.
    
    With this patch, printf command can printf string convenience variables
    without inferior function calls.
    Ada string convenience variables can also be printed.
    
    gdb/ChangeLog
    2019-07-08  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* NEWS: Mention that GDB printf and eval commands can now print
    	C-style and Ada-style convenience var strings without
    	calling the inferior.
    	* printcmd.c (printf_c_string): Locally print GDB internal var
    	instead of transiting via the inferior.
    	(printf_wide_c_string): Likewise.
    
    gdb/testsuite/ChangeLog
    2019-07-08  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* gdb.base/printcmds.exp: Test printing C string and
    	C wide string convenience vars without transiting via the inferior.
    	Also make test names unique.

commit ea142fbfc9c1708a83d3532257d6728e1f5c142e
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Mon Jul 8 10:00:25 2019 +0100

    Fix breakpoints on file reloads for PIE binaries
    
    When a binary is built using PIE, reloading the file will cause GDB to error
    on restart.  For example:
    gdb ./a.out
    (gdb) break main
    (gdb) run
    (gdb) file ./a.out
    (gdb) continue
    
    Will cause GDB to error with:
    Continuing.
    Warning:
    Cannot insert breakpoint 1.
    Cannot access memory at address 0x9e0
    Command aborted.
    
    This is due to the symbol offsets not being relocated after reloading the file.
    
    Fix is to ensure solib_create_inferior_hook is called, in the same manner as
    infrun.c:follow_exec().
    
    Expand the idempotent test to cover PIE scenarios.
    
    gdb/ChangeLog:
    
    	* symfile.c (symbol_file_command): Call solib_create_inferior_hook.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/break-idempotent.exp: Test both PIE and non PIE.

commit 62a47958bd6e3cbd909c2f19cd4669a9670ce4f1
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jul 8 10:06:09 2019 +0930

    PR24785, bfd crashes on empty .PPC.EMB.apuinfo section
    
    	PR 24785
    	* elf32-ppc.c (_bfd_elf_ppc_set_arch): Sanity check .PPC.EMB.apuinfo
    	size before reading first word.

commit 3836e1d1ab859b9f6c41bc4565ef779640b7c706
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jul 8 10:05:39 2019 +0930

    Re: PowerPC notoc call stub tests
    
    Correct the tests for powerpc 32-bit targets.
    
    	* testsuite/ld-powerpc/callstub-1.d: Pass -melf64ppc to ld.
    	* testsuite/ld-powerpc/callstub-2.d: Likewise.

commit 55904abea47780ed16b4f726862ba1e14d05b96e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jul 8 00:00:36 2019 +0000

    Automatic date update in version.in

commit 25c816e70e578b8a9abab0dada0490dd5ae41780
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jul 7 00:01:05 2019 +0000

    Automatic date update in version.in

commit 923cccf9bcc2b97298c2c0563326193948410311
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jul 6 00:00:25 2019 +0000

    Automatic date update in version.in

commit 98602811d838077269e361e9d807fe530c780011
Author: Jim Wilson <jimw@sifive.com>
Date:   Fri Jul 5 15:19:11 2019 +0800

    Kito's 5-part patch set to improve .insn support.
    
    	From Kito Cheng <kito.cheng@sifive.com>
    	gas/ChangeLog
    	* doc/c-riscv.texi (Instruction Formats): Add r4 type.
    	* testsuite/gas/riscv/insn.d: Add testcase for r4 type.
    	* testsuite/gas/riscv/insn.s: Ditto.
    	* doc/c-riscv.texi (Instruction Formats): Add b and j type.
    	* testsuite/gas/riscv/insn.d: Add test case for b and j type.
    	* testsuite/gas/riscv/insn.s: Ditto.
    	* testsuite/gas/riscv/insn.s: Correct instruction type for load
    	and store.
    	* testsuite/gas/riscv/insn.d: Using regular expression to match
    	address.
    	* doc/c-riscv.texi (Instruction Formats): Fix encoding table for SB
    	type and fix typo.
    	opcode/ChangeLog
    	* riscv-opc.c (riscv_insn_types): Add r4 type.
    	* riscv-opc.c (riscv_insn_types): Add b and j type.
    	* opcodes/riscv-opc.c (riscv_insn_types): Remove incorrect
    	format for sb type and correct s type.

commit a0b6cbf69db7427cfdf054092062fcf82eef9a58
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jul 5 00:00:16 2019 +0000

    Automatic date update in version.in

commit 0598af4880f58af5ce7c15419551362646892c7f
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jun 25 14:42:49 2019 -0600

    Fix TUI use of "has_break" field
    
    The TUI uses the "has_break" in two different ways: sometimes as a
    boolean, and sometimes as flags.
    
    This patch changes the TUI to be more type-safe here, and fixes the
    code.  I could not find a bug that this caused, so apparently this is
    just cosmetic.
    
    This deletes some code from tui_set_disassem_content.  Whenver this is
    called, I believe the TUI updates the breakpoint information
    afterward, so this assignment is redundant; which is good because it
    is also incorrect.
    
    gdb/ChangeLog
    2019-07-04  Tom Tromey  <tom@tromey.com>
    
    	PR tui/24724:
    	* tui/tui-winsource.c (tui_clear_source_content): Update.
    	(tui_source_window_base::set_is_exec_point_at): Fix comment.
    	(tui_update_breakpoint_info): Update.
    	(tui_set_exec_info_content): Update.
    	* tui/tui-source.c (tui_set_source_content_nil): Update.
    	* tui/tui-disasm.c (tui_set_disassem_content): Don't set
    	has_break.
    	* tui/tui-data.h (enum tui_bp_flag): New.
    	(tui_bp_flags): New enum flags type.
    	(struct tui_source_element) <break_mode>: Change type.  Rename
    	from has_break.
    	(TUI_BP_ENABLED, TUI_BP_DISABLED, TUI_BP_HIT)
    	(TUI_BP_CONDITIONAL, TUI_BP_HARDWARE): Don't define.  Now enum
    	constants.
    	* tui/tui-winsource.h: Fix comment.

commit 213fd9faf563ce5726ce66c8104cbaba44ba9c09
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Jul 4 16:45:23 2019 +0100

    Fix foreach_with_prefix regression
    
    Fix a silly bug in commit a26c8de0ee93 ("Fix early return in
    foreach_with_prefix").
    
    That patch made foreach_with_prefix always return after the first
    iteration, making ~10k tests disappear from test runs...
    
    This fixes it, and as penance, adds a testcase that exercises all
    kinds of different returns possible (ok, error, return, break,
    continue).  I've written it with regular "foreach", and then switched
    to foreach_with_prefix and made sure we get the same results.  I put
    the testcase in a new gdb.testsuite/ subdir, since this is exercising
    the testsuite harness bits.  We can move this elsewhere if people
    prefer a different place, but I'm going ahead in order to unbreak the
    testsuite ASAP.
    
    gdb/testsuite/ChangeLog:
    2019-07-04  Pedro Alves  <palves@redhat.com>
    
    	* lib/gdb.exp (foreach_with_prefix): Don't return early if
    	body returned ok(0), break(3) or continue(4).
    	* gdb.testsuite/foreach_with_prefix.exp: New file.

commit 350fab54163e2dd178609d268e80bf31042d182d
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Jun 25 11:02:32 2019 +0100

    Arm/AArch64: Use a single set of Arm register set size defines
    
    Both targets were using a mixture of defines and hardcoded values.
    Add a standard set in arch/arm.h and use throughout, ensuring that
    none of the existing sizes change.
    
    No functionality changes.
    
    gdb/ChangeLog:
    
    	* aarch32-linux-nat.h (VFP_REGS_SIZE): Remove define.
    	* aarch64-linux-nat.c (fetch_fpregs_from_thread)
    	(store_fpregs_to_thread)
    	(aarch64_linux_nat_target::read_description): Use ARM_VFP3_REGS_SIZE.
    	* arch/arm.h (IWMMXT_VEC_REGISTER_SIZE, ARM_CORE_REGS_SIZE)
    	(ARM_FP_REGS_SIZE, ARM_VFP2_REGS_SIZE, ARM_VFP3_REGS_SIZE)
    	(IWMMXT_REGS_SIZE): Add define.
    	* arm-linux-nat.c (IWMMXT_REGS_SIZE): Remove define.
    	(fetch_vfp_regs, store_vfp_regs)
    	(arm_linux_nat_target::read_description): Use ARM_VFP3_REGS_SIZE.
    	* arm-tdep.c (arm_register_g_packet_guesses): Use new defines.
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-aarch32-low.c (arm_read_description, arm_regsets): Use new
    	defines.
    	* linux-arm-low.c (arm_read_description, arm_regsets): Likewise.

commit f0452268d6c7296106aba81f532b04dc08187352
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jun 26 10:12:13 2019 +0100

    Arm: Prefix register sizes with ARM_
    
    Add ARM_ to the front of INT_REGISTER_SIZE, FP_REGISTER_SIZE and
    ARM_VFP_REGISTER_SIZE to make it obvious they are for the Arm target.
    Move the defines to arch/arm.h
    
    No functionality changes.
    
    gdb/ChangeLog:
    
    	* arch/arm-get-next-pcs.c (thumb_get_next_pcs_raw): Use ARM_
    	defines.
    	* arch/arm-linux.c (arm_linux_sigreturn_next_pc_offset): Likewise.
    	* arch/arm.h (INT_REGISTER_SIZE) Rename from...
    	(ARM_INT_REGISTER_SIZE): ...to this.
    	(ARM_FP_REGISTER_SIZE) (ARM_VFP_REGISTER_SIZE): Add define.
    	* arm-linux-tdep.c (ARM_LINUX_JB_ELEMENT_SIZE)
    	(ARM_LINUX_SIZEOF_GREGSET, arm_linux_supply_gregset)
    	(arm_linux_collect_gregset, supply_nwfpe_register)
    	(collect_nwfpe_register, arm_linux_collect_nwfpe): Use ARM_
    	defines.
    	* arm-linux-tdep.h (ARM_LINUX_SIZEOF_NWFPE, NWFPE_FPSR_OFFSET)
    	(NWFPE_FPCR_OFFSET, NWFPE_TAGS_OFFSET): Likewise
    	* arm-nbsd-tdep.c (ARM_NBSD_JB_ELEMENT_SIZE): Likewise.
    	* arm-tdep.c (arm_push_dummy_call, arm_extract_return_value)
    	(arm_return_in_memory, arm_store_return_value)
    	(arm_get_longjmp_target, arm_register_g_packet_guesses)
    	(arm_record_ld_st_multiple): Likewise.
    	* arm-tdep.h (FP_REGISTER_SIZE, VFP_REGISTER_SIZE): Remove.
    	* arm-wince-tdep.c (ARM_WINCE_JB_ELEMENT_SIZE): Use ARM_ defines.

commit e935475cb6bcd8146717896e88824ae93a0897c7
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jul 4 12:41:20 2019 +0100

    Arm/AArch64: Split DISPLACED_MODIFIED_INSNS name clash
    
    Both targets define DISPLACED_MODIFIED_INSNS, each with different values.
    Add ARM_ and AARCH64_ to the start of the name to prevent confusion.
    
    No functionality changes.
    
    gdb/ChangeLog:
    
    	* aarch64-linux-tdep.c (aarch64_linux_init_abi): Use
    	AARCH64_DISPLACED_MODIFIED_INSNS.
    	* aarch64-tdep.c (struct aarch64_displaced_step_data)
    	(aarch64_displaced_step_copy_insn): Likewise.
    	* aarch64-tdep.h (DISPLACED_MODIFIED_INSNS): Rename from..
    	(AARCH64_DISPLACED_MODIFIED_INSNS): ...to this.
    	* arm-linux-tdep.c (arm_linux_cleanup_svc): Use
    	ARM_DISPLACED_MODIFIED_INSNS.
    	* arm-tdep.c (arm_gdbarch_init): Likewise.
    	* arm-tdep.h (DISPLACED_MODIFIED_INSNS): Rename from..
    	(ARM_DISPLACED_MODIFIED_INSNS): ...to this.
    	(struct arm_displaced_step_closure): Use
    	ARM_DISPLACED_MODIFIED_INSNS.

commit df0bb381e27a8b1594c492a34c48ff6e6bbd29d1
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jul 4 11:53:25 2019 +0100

    i386/AArch64: Remove unused xml files
    
    Remove all the xml files that are no longer used by gdbserver,
    and remove their entries from the makefile.
    
    gdb/ChangeLog:
    
    	* features/Makefile: Remove unused xml files.
    	* features/aarch64.xml: Remove.
    	* features/i386/amd64-avx-avx512-linux.xml: Remove.
    	* features/i386/amd64-avx-avx512.xml: Remove.
    	* features/i386/amd64-avx-linux.xml: Remove.
    	* features/i386/amd64-avx-mpx-avx512-pku-linux.xml: Remove.
    	* features/i386/amd64-avx-mpx-avx512-pku.xml: Remove.
    	* features/i386/amd64-avx-mpx-linux.xml: Remove.
    	* features/i386/amd64-avx-mpx.xml: Remove.
    	* features/i386/amd64-avx.xml: Remove.
    	* features/i386/amd64-linux.xml: Remove.
    	* features/i386/amd64-mpx-linux.xml: Remove.
    	* features/i386/amd64-mpx.xml: Remove.
    	* features/i386/amd64.xml: Remove.
    	* features/i386/i386-avx-avx512-linux.xml: Remove.
    	* features/i386/i386-avx-avx512.xml: Remove.
    	* features/i386/i386-avx-linux.xml: Remove.
    	* features/i386/i386-avx-mpx-avx512-pku-linux.xml: Remove.
    	* features/i386/i386-avx-mpx-avx512-pku.xml: Remove.
    	* features/i386/i386-avx-mpx-linux.xml: Remove.
    	* features/i386/i386-avx-mpx.xml: Remove.
    	* features/i386/i386-avx.xml: Remove.
    	* features/i386/i386-linux.xml: Remove.
    	* features/i386/i386-mmx-linux.xml: Remove.
    	* features/i386/i386-mmx.xml: Remove.
    	* features/i386/i386-mpx-linux.xml: Remove.
    	* features/i386/i386-mpx.xml: Remove.
    	* features/i386/i386.xml: Remove.
    	* features/i386/x32-avx-avx512-linux.xml: Remove.
    	* features/i386/x32-avx-linux.xml: Remove.
    	* features/i386/x32-linux.xml: Remove.

commit edd6266ab14004b02065ad9fb98b1da323a41981
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jul 4 11:52:56 2019 +0100

    i386/AArch64: Remove unused .dat files
    
    Remove all the dat files that are no longer used by gdbserver.
    
    gdb/ChangeLog:
    
    	* regformats/aarch64.dat: Remove.
    	* regformats/i386/amd64-avx-avx512-linux.dat: Remove.
    	* regformats/i386/amd64-avx-linux.dat: Remove.
    	* regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Remove.
    	* regformats/i386/amd64-avx-mpx-linux.dat: Remove.
    	* regformats/i386/amd64-linux.dat: Remove.
    	* regformats/i386/amd64-mpx-linux.dat: Remove.
    	* regformats/i386/amd64.dat: Remove.
    	* regformats/i386/i386-avx-avx512-linux.dat: Remove.
    	* regformats/i386/i386-avx-linux.dat: Remove.
    	* regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Remove.
    	* regformats/i386/i386-avx-mpx-linux.dat: Remove.
    	* regformats/i386/i386-linux.dat: Remove.
    	* regformats/i386/i386-mmx-linux.dat: Remove.
    	* regformats/i386/i386-mpx-linux.dat: Remove.
    	* regformats/i386/i386.dat: Remove.
    	* regformats/i386/x32-avx-avx512-linux.dat: Remove.
    	* regformats/i386/x32-avx-linux.dat: Remove.
    	* regformats/i386/x32-linux.dat: Remove.

commit 2b40fda74b2af11a914d50f4e54c1472e1bd81fb
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jul 4 11:48:16 2019 +0100

    i386/AArch64: Remove old xml tests
    
    Both the i386, X86_64 and AArch64 builds of gdbserver include a bunch of legacy
    xml files, dat files and auto generated C files, when building for unit test.
    
    These tests exists back from when feature target descriptions were added to
    prove that the new target descriptions were identical to the original
    older versions. The old files are not used for anything other than these tests.
    
    Now that this has been proven, we are not gaining anything by keeping the
    original files and tests. Should new functionality be added, it would break
    the tests, unless the functionality was backported to the xml. There is no
    requirement that we must match the exact xml from N releases ago.  It adds
    obfuscation, where as the feature target descriptions were meant to simplify
    the code.
    
    In addition, there are a bunch of xml and dat files which are completely unused.
    
    This patch removes the selftests and the target descriptions from gdbserver.
    
    Update the unittest to allow 0 tests (note, this failed on other targets that
    never had any tests).
    
    gdb/ChangeLog:
    
    	* aarch64-tdep.c: Remove xml self tests.
    	* amd64-linux-tdep.c: Likewise.
    	* amd64-tdep.c: Likewise.
    	* i386-linux-tdep.c: Likewise.
    	* i386-tdep.c: Likewise.
    
    gdb/gdbserver/ChangeLog:
    
    	* configure.srv: Remove legacy xml.
    	* linux-aarch64-low.c (initialize_low_arch): Remove
    	initialize_low_tdesc call.
    	* linux-aarch64-tdesc-selftest.c: Remove file.
    	* linux-aarch64-tdesc.h (initialize_low_tdesc): Remove.
    	* linux-x86-low.c (initialize_low_arch): Remove
    	initialize_low_tdesc call.
    	* linux-x86-tdesc-selftest.c: Remove file.
    	* linux-x86-tdesc.h (initialize_low_tdesc): Remove.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.server/unittest.exp: Allow 0 unit tests to run.

commit d4693039f950eefb983a66e3270209b738e4ce8a
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Jul 4 10:36:41 2019 +0200

    x86: correct "-Q" option handling
    
    For another patch I wanted to use a sufficiently benign option (simply
    to be able to specify one, which certain test case invocations require),
    and I stumbled across -Q in the --help output.  Before realizing that
    this is x86-specific anyway, I've tried and and ran into a mysterious
    testsuite failure, until I further realized that other than the help
    text suggests the option requires an argument.  Correct the help text,
    and make the implementation actually match what the comment there has
    been describing (and what the help text now says).

commit f2d4ba38f5723a207c40a288036af2f38b70e837
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Jul 4 10:35:47 2019 +0200

    gas/ELF: don't accumulate .type settings
    
    Recently a patch was submitted for a Xen Project test harness binary to
    override the compiler specified @object to @func (see [1]). In a reply I
    suggested we shouldn't make ourselves dependent on currently unspecified
    behavior of gas here: It accumulates all requests, and then
    bfd/elf.c:swap_out_syms(), in an apparently ad hoc manner, prioritizes
    certain flags over others.
    
    Make the behavior predictable: Generally the last .type is what counts.
    Exceptions are directives which set multiple bits (TLS, IFUNC, and
    UNIQUE): Subsequent directives requesting just the more generic bit
    (i.e. FUNC following IFUNC) won't clear the more specific one.  Warn
    about incompatible changes, except from/to STT_NOTYPE.
    
    Also add a new target hook, which hppa wants to use right away afaict.
    
    In the course of adding the warning I ran into two ld testsuite
    failures.  I can only assume that it was a copy-and-paste mistake that
    lead to the same symbol having its type set twice.
    
    [1] https://lists.xenproject.org/archives/html/xen-devel/2019-05/msg01980.html

commit db7fbcbeb749c0d4ea19284438d62b253648c58a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jul 4 00:00:37 2019 +0000

    Automatic date update in version.in

commit a26c8de0ee938a48bc6f6232cdfac1a5eabaa778
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jul 3 18:05:20 2019 +0100

    Fix early return in foreach_with_prefix
    
    I noticed that an early return in a foreach_with_prefix block does not
    cause the outer scope to return, like:
    
      foreach_with_prefix var {"foo" "bar"} {
         return
      }
      # Control continues here, but it should not.
    
    The problem is that we're missing the usual "return -code" treatment.
    This commit fixes it.
    
    gdb/testsuite/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* lib/gdb.exp (foreach_with_prefix): Use "catch" and
    	"return -code".

commit 5f4ba3e701d74f280d4bd8820d9c39a854e0d2cf
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jul 3 16:57:51 2019 +0100

    pipe command completer
    
    This commit adds a completer for the "pipe" command.  It can complete
    "pipe"'s options, and the specified GDB command.
    
    To make the completer aware of the "-d" option, this converts the
    option processing to use gdb::option.
    
    Tests included.
    
    gdb/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	PR cli/24732
    	* cli/cli-cmds.c (struct pipe_cmd_opts): New.
    	(pipe_cmd_option_defs): New.
    	(make_pipe_cmd_options_def_group): New.
    	(pipe_command): Use gdb::option::process_options.
    	(pipe_command_completer): New function.
    	(_initialize_cli_cmds): Install completer for "pipe" command.
    
    gdb/testsuite/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	PR cli/24732
    	* gdb.base/shell.exp: Load completion-support.exp.
    	Adjust expected error output.  Add completion tests.

commit a994424fa1e80d982644038f1ce6538e247aeed1
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jul 3 16:57:50 2019 +0100

    Fix latent bug in test_gdb_complete_cmd_multiple
    
    A following patch will add the following to a testcase:
    
      test_gdb_completion_offers_commands "| "
    
    And that tripped on a latent testsuite bug:
    
     (gdb) | PASS: gdb.base/shell.exp: tab complete "| "
     ^CQuit
     (gdb) complete |
     | !
     | +
     PASS: gdb.base/shell.exp: cmd complete "| "
     |  *** List may be truncated, max-completions reached. ***
     (gdb) FAIL: gdb.base/shell.exp: set max-completions 200
     set max-completions 200
    
    The issue is that "|" ends up as part of a regexp, and "|" in regexps
    has a special meaning...
    
    Fix this with string_to_regexp.
    
    gdb/testsuite/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* lib/completion-support.exp (test_gdb_complete_cmd_multiple): Use
    	string_to_regexp.

commit 3d9be6f531db395a5ad940ef06e56d849f4de646
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jul 3 16:57:49 2019 +0100

    Teach gdb::option about string options
    
    A following patch will make the "pipe" command use the gdb::option
    framework for option processing.  However, "pipe"'s only option today
    is a string option, "-d DELIM", and gdb::option does not support
    string options yet.
    
    This commit adds support for string options, mapped to var_string.
    For now, a string is parsed up until the first whitespace.  I imagine
    that we'll need to add support for quoting so that we could do:
    
     (gdb) cmd -option 'some -string'
    
    without gdb confusing the "-string" for an option.
    
    This doesn't seem important for pipe, so I'm leaving it for another
    day.
    
    One thing I'm not happy with, is that the string data is managed as a
    raw malloc-allocated char *, which means that we need to xfree it
    manually.  This is because var_string settings work that way too.
    Although with var_string settings we're leaking the strings at gdb
    exit, that was never really a problem.  For options though, leaking is
    undesirable.
    
    I think we should tackle that for both settings and options at the
    same time, so for now I'm just managing the malloced data manually.
    It's a bit ugly in option_def_and_value, but at least that's hidden
    from view.
    
    For testing, this adds a new "-string" option to "maint
    test-settings", and then tweaks gdb.base/options.exp to exercise it.
    
    gdb/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-option.c (union option_value) <string>: New field.
    	(struct option_def_and_value): Add ctor, move ctor, dtor and
    	use DISABLE_COPY_AND_ASSIGN.
    	(option_def_and_value::clear_value): New.
    	(parse_option, save_option_value_in_ctx, get_val_type_str)
    	(add_setshow_cmds_for_options): Handle var_string.
    	* cli-option.h (union option_def::var_address) <string>: New
    	field.
    	(struct string_option_def): New.
    	* maint-test-options.c (struct test_options_opts): Add default
    	ctor and use DISABLE_COPY_AND_ASSIGN.
    	<string_opt>: New field.
    	(test_options_opts::~test_options_opts): New.
    	(test_options_opts::dump): Also dump "-string".
    	(test_options_option_defs): Install "string.
    
    gdb/testsuite/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/options.exp (expect_none, expect_flag, expect_bool)
    	(expect_integer): Adjust to expect "-string".
    	(expect_string): New.
    	(all_options): Expect "-string".
    	(test-flag, test-boolean): Adjust to expect "-string".
    	(test-string): New proc.
    	(top level): Call it.

commit 41fc454c915057d9c5536617370c5eb2a5f71323
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jul 3 16:57:48 2019 +0100

    Make gdb::option::complete_options save processed arguments too
    
    Currently, gdb::option::complete_options just discards any processed
    option argument, because no completer needs that data.
    
    When completing "pipe -d XXX gdbcmd XXX" however, the completer needs
    to know about -d's argument (XXX), in order to know where input is
    already past the gdb command and the delimiter.
    
    In this commit, the fix for that is the factoring out of the
    save_option_value_in_ctx function and calling it in complete_options.
    
    For testing, this makes "maint show test-options-completion-result"
    show the processed options too, like what the "maint test-options"
    subcommands output when run.  Then, of course, gdb.base/options.exp is
    adjusted.
    
    Doing this exposed a couple latent bugs, which is what the other gdb
    changes in the patch are for:
    
     - in the var_enum case, without the change, we'd end up with a null
       enum argument, and print:
    
         "-enum (null)"
    
     - The get_ulongest change is necessary to avoid advancing PP in a
       case where we end up throwing an error, e.g., when parsing "11x".
       Without the change the operand pointer shown by "maint show
       test-options-completion-result" would be left pointing at "x"
       instead of "11x".
    
    gdb/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-option.c (parse_option) <var_enum>: Don't return an
    	option_value with a null enumeration.
    	(complete_options): Save the option values in the context.
    	(save_option_value_in_ctx): New, factored out from ...
    	(process_options): ... here.
    	* cli/cli-utils.c (get_ulongest): Don't advance PP until the end
    	of the function.
    	* maint-test-options.c (test_options_opts::dump): New, factored
    	out from ...
    	(maintenance_test_options_command_mode): ... here.
    	(maintenance_test_options_command_completion_result): Delete.
    	(maintenance_test_options_command_completion_text): Update
    	comment.
    	(maintenance_show_test_options_completion_result): Change
    	prototype.  Just print
    	maintenance_test_options_command_completion_text.
    	(save_completion_result): New.
    	(maintenance_test_options_completer_mode): Pass options context to
    	complete_options, and then save a dump.
    	(_initialize_maint_test_options): Use add_cmd to install "maint
    	show test-options-completion-result".
    
    gdb/testsuite/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/options.exp (test-misc, test-flag, test-boolean)
    	(test-uinteger, test-enum): Adjust res_test_gdb_... calls to pass
    	the expected output in the success.

commit b2b2a2159876fa8db57ce017b949cafc6f1a32df
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jul 3 16:57:48 2019 +0100

    Fix test_gdb_complete_tab_multiple race
    
    Running 'make check-read1 TESTS="gdb.base/options.exp"' revealed a
    race in test_gdb_complete_tab_multiple.  There's a gdb_test_multiple
    call that expects a prompt in the middle of the regexp.  That's racy
    because gdb_test_multiple includes a built-in FAIL pattern for the
    prompt, which may match if gdb is slow enough to produce the rest of
    the output after the prompt.
    
    Fix this in the usual way of splitting the matching in two.
    
    gdb/testsuite/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* lib/completion-support.exp (test_gdb_complete_tab_multiple):
    	Split one gdb_test_multiple call in two to avoid a race.

commit 077a039f70d870899da31eb8cee597964515fa3c
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jul 3 15:26:32 2019 +0100

    Fix assembler tests to work with toolchains that have been configured with --enable-generate-build-notes.

commit fdbc98707b0ab48fd8ca3ac37acefa120496baf6
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jul 3 13:34:20 2019 +0100

    Introduce the "with" command
    
    ( See original discussion and prototype here:
       https://sourceware.org/ml/gdb-patches/2019-05/msg00570.html )
    
     (gdb) help with
     Temporarily set SETTING to VALUE, run COMMAND, and restore SETTING.
     Usage: with SETTING [VALUE] [-- COMMAND]
     Usage: w SETTING [VALUE] [-- COMMAND]
     With no COMMAND, repeats the last executed command.
     SETTING is any setting you can change with the "set" subcommands.
     E.g.:
       with language pascal -- print obj
       with print elements unlimited -- print obj
    
    As can be seen above, the "with" command is just like "set", but
    instead of setting the setting permanently, it sets the setting, runs
    a command and then restores the setting.
    
     (gdb) p g_s
     $1 = {a = 1, b = 2, c = 3}
     (gdb) with language ada -- print g_s
     $2 = (a => 1, b => 2, c => 3)
     Warning: the current language does not match this frame.
     (gdb) show language
     The current source language is "auto; currently c".
     (gdb) with print elements 100 -- with print object on -- print 1
     $3 = 1
    
    You can shorten things a bit though, as long as unambiguous.  So this:
    
     (gdb) with print elements 100 -- with print object off -- print 1
    
    is the same as:
    
     (gdb) w p el 100 -- w p o 0 -- p 1
    
    Note that the patch adds a "w" alias for "with", as "w" is not
    currently taken:
    
     (gdb) w
     Ambiguous command "w": watch, wh, whatis, where, while, while-stepping, winheight, ws.
    
    Let me know if you'd prefer to reserve "w" for one of the other
    commands above.  IMHO, this command will end up being used frequently
    enough that it deserves the "w" shorthand.
    
    A nice feature is that this is fully integrated with TAB-completion:
    
     (gdb) with p[TAB]
     pagination  print       prompt      python
     (gdb) with print [TAB]
     address                max-depth              static-members
     array                  max-symbolic-offset    symbol
     array-indexes          null-stop              symbol-filename
     asm-demangle           object                 symbol-loading
     demangle               pascal_static-members  thread-events
     elements               pretty                 type
     entry-values           raw                    union
     frame-arguments        repeats                vtbl
     inferior-events        sevenbit-strings
     (gdb) with print [TAB]
    
     (gdb) with print elements unlimited -- thread apply all -[TAB]
     -ascending  -c          -q          -s
    
     (gdb) with print elements unlimited -- print -[TAB]
     -address         -max-depth       -repeats         -vtbl
     -array           -null-stop       -static-members
     -array-indexes   -object          -symbol
     -elements        -pretty          -union
    
    The main advantage of this new command compared to command options,
    like the new "print -OPT", is that this command works with any
    setting, and, it works nicely when you want to override a setting
    while running a user-defined command, like:
    
     (gdb) with print pretty -- usercmd
    
    The disadvantage is that it isn't as compact or easy to type.  I think
    of command options and this command as complementary.  I think that
    even with this new command, it makes sense to continue developing the
    command options in the direction of exposing most-oft-used settings as
    command options.
    
    Inspired by Philippe's "/" command proposal, if no command is
    specified, then the last command is re-invoked, under the overridden
    setting:
    
     (gdb) p g_s
     $1 = {a = 1, b = 2, c = 3}
     (gdb) with language ada
     $2 = (a => 1, b => 2, c => 3)
     Warning: the current language does not match this frame.
    
    Note: "with" requires "--" to separate the setting from the command.
    It might be possible to do without that, but, I haven't tried it yet,
    and I think that this can go in without it.  We can always downgrade
    to making "--" optional if we manage to make it work.
    
    On to the patch itself, the implementation of the command is simpler
    than one might expect.  A few details:
    
    - I factored out a bit from pipe_command into repeat_previous
      directly, because otherwise I'd need to copy&paste the same code and
      same error message in the with command.
    
    - The parse_cli_var_uinteger / parse_cli_var_zuinteger_unlimited /
      do_set_command changes are necessary since we can now pass an empty
      string as argument.
    
    - do_show_command was split in two, as a FIXME comment suggests, but
      for a different reason: we need to get a string version of a "set"
      command's value, and we already had code for that in
      do_show_command.  That code is now factored out to the new
      get_setshow_command_value_string function.
    
    - There's a new "maint with" command added too:
    
       (gdb) help maint with
       Like "with", but works with "maintenance set" variables.
       Usage: maintenance with SETTING [VALUE] [-- COMMAND]
       With no COMMAND, repeats the last executed command.
       SETTING is any setting you can change with the "maintenance set"
       subcommands.
    
      "with" and "maint with" share 99% of the implementation.
    
      This might be useful on its own, but it's also useful for testing,
      since with this, we can use the "maint set/show test-settings"
      settings for exercising the "with" machinery with all the command
      type variants (all enum var_types).  This is done in the new
      gdb/base/with.exp testcase.
    
    The documentation bits are originally based on Philippe's docs for the
    "/" command, hence the attribution in the ChangeLog.
    
    gdb/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* NEWS (New commands): Mention "with" and "maint with".
    	* cli/cli-cmds.c (with_command_1, with_command_completer_1)
    	(with_command, with_command_completer): New.
    	(pipe_command): Adjust to new repeat_previous
    	interface.
    	(_initialize_cli_cmds): Install the "with" command and its "w"
    	alias.
    	* cli/cli-cmds.h (with_command_1, with_command_completer_1): New
    	declarations.
    	* cli/cli-setshow.c (parse_cli_var_uinteger)
    	(parse_cli_var_zuinteger_unlimited, do_set_command): Handle empty
    	argument strings for all var_types.
    	(get_setshow_command_value_string): New, factored out from ...
    	(do_show_command): ... this.
    	* cli/cli-setshow.h: Include <string>.
    	(get_setshow_command_value_string): Declare.
    	* command.h (repeat_previous): Now returns const char *.  Adjust
    	comment.
    	* maint.c: Include "cli/cli-cmds.h".
    	(maintenance_with_cmd, maintenance_with_cmd_completer): New.
    	(_initialize_maint_cmds): Register the "maintenance with" command.
    	* top.c (repeat_previous): Move bits from pipe_command here:
    	Return the saved command line, if any; error out if there's no
    	command to relaunch.
    
    gdb/doc/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    	    Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* gdb.texinfo (Command Settings): New node documenting the general
    	concept of settings, how to change them, and the new "with"
    	command.
    	(Maintenance Commands): Document "maint with".
    
    gdb/testsuite/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/with.c: New file.
    	* gdb.base/with.exp: New file.

commit c6ac893109fdc2c3fce2b7457adccdc10f235354
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jul 3 13:34:19 2019 +0100

    "maint test-settings set/show" -> "maint set/show test-settings"
    
    This commit renames "maint test-settings set/show" to "maint set/show
    test-settings".
    
    This helps the following patch, which introduce a "maint with" command
    what works with all "maint set" settings.
    
    gdb/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* NEWS (New commands): Mention "maint set/show test-settings"
    	instead of "maint test-settings".
    	* maint-test-settings.c (maintenance_test_settings_list): Delete.
    	(maintenance_test_settings_set_list): Rename to ...
    	(maintenance_set_test_settings_list): ... this.
    	(maintenance_test_settings_show_list): Rename to  ...
    	(maintenance_show_test_settings_list): ... this.
    	(maintenance_test_settings_cmd): Delete.
    	(maintenance_test_settings_set_cmd): ...
    	(maintenance_set_test_settings_cmd): ... this.
    	(maintenance_test_settings_show_cmd): ...
    	(maintenance_show_test_settings_cmd): ... this.
    	(maintenance_test_settings_show_value_cmd):
    	(maintenance_show_test_settings_value_cmd): ... this.
    	(_initialize_maint_test_settings): No longer install the "maint
    	test-settings" prefix command.  Rename "maint test-settings set"
    	to "maint set test-settings", and "maint test-settings show" to
    	"maint show test-settings".  Adjust all subcommands.
    
    gdb/doc/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* gdb.texinfo (Maintenance Commands): Document "maint set/show
    	test-settings" instead of "maint test-settings set/show".
    
    gdb/testsuite/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/settings.exp: Replace all references to "maint
    	test-settings set" with references to "maint set test-settings",
    	and all references to "maint test-settings show" with references
    	to "maint show test-settings".

commit d1fcf2fded9a5a54d0714ae01b60ccb57e75b8b5
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jul 3 13:34:18 2019 +0100

    Fix a few comments in maint-test-settings.c
    
    Fix the file's intro comment, and s/test-options/test-settings/.
    
    gdb/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* maint-test-settings.c: Fix file's intro comment.  Replace all
    	references to "test-options" with references to "test-settings",
    	in comments.

commit 970f9d091dae835304d1a96805bdb5c081a40b48
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jul 3 13:34:17 2019 +0100

    Fix defaults of some "maint test-settings" subcommands
    
    New tests added later for the incoming "with" command exposed a couple
    invalid-default-value bugs in the "maint test-settings" commands:
    
    - var_filename commands don't allow setting the filename to the empty
      string (unlike var_optional_filename commands), yet, "maint
      test-settings filename"'s control variable was not initialized, so
      on startup, "maint test-settings show filename" shows an empty
      string.
    
    - "maint test-settings enum"'s control variable was not initialized,
      so on startup, "maint test-settings show enum" shows an empty value
      instead of a valid enum value.
    
    Both issues are fixed by initializing the control variables.
    
    gdb/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* maint-test-settings.c (maintenance_test_settings_xxx)
    	(maintenance_test_settings_yyy, maintenance_test_settings_zzz):
    	New.
    	(maintenance_test_settings_enums): Use them.
    	(maintenance_test_settings_enum): Default to
    	maintenance_test_settings_xxx.
    	(_initialize_maint_test_settings): Initialize
    	MAINTENANCE_TEST_SETTINGS_FILENAME.
    
    gdb/testsuite/ChangeLog:
    2019-07-03  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/settings.exp (test-string): Adjust expected out when
    	testing "maint test-settings show filename"

commit f3869b1a41a809f208b964ee00cea74bd905b75f
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Jul 2 22:03:09 2019 -0400

    Remove return value from remove_breakpoints_inf
    
    ... since nobody uses it.
    
    gdb/ChangeLog:
    
    	* breakpoint.h (remove_breakpoints_inf): Change return type to
    	void, move function documentation here.
    	* breakpoint.c (remove_breakpoints_inf): Change return type to
    	void, move function documentation to header.

commit 9be796f35b68aee81dc81e1c9b7410067ac0cd42
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jul 3 00:00:24 2019 +0000

    Automatic date update in version.in

commit 54d6600669256d2b3582d7088d11ab18f6f21f0d
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jul 2 16:34:31 2019 +0100

    Make "info threads" use the gdb::option framework
    
    This makes "info threads" use the gdb::option framework to process
    options.  There's only one option today (-gid), and it isn't used much
    frequently unless you're looking at matching MI output.  Still, this
    was in the neighborhood of "thread apply" so I had converted it.
    
    The main advantage is that TAB completion now shows you the available
    options, and gives you a hint to what the command accepts as operand
    argument, including showing a metasyntactic variable:
    
      (gdb) info threads [TAB]
      -gid  ID
    
      (gdb) help info threads
      Display currently known threads.
      Usage: info threads [OPTION]... [ID]...
    
      Options:
        -gid
          Show global thread IDs.
    
      If ID is given, it is a space-separated list of IDs of threads to display.
      Otherwise, all threads are displayed.
      (gdb)
    
    gdb/ChangeLog:
    2019-07-02  Pedro Alves  <palves@redhat.com>
    
    	* NEWS (Completion improvements): Mention "info threads".
    	* thread.c (struct info_threads_opts, info_threads_option_defs)
    	(make_info_threads_options_def_group): New.
    	(info_threads_command): Use gdb::option::process_options.
    	(info_threads_command_completer): New.
    	(_initialize_thread): Use gdb::option::build_help to build the
    	help text for "info threads".
    
    gdb/testsuite/ChangeLog:
    2019-07-02  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/options.exp (test-info-threads): New procedure.
    	(top level): Call it.

commit 1faa385ff6b11df26efc46152fe15b31adbf8624
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jul 2 15:58:29 2019 +0100

    Stop the BFD library from issuing a warning message when processing allocated sections in debuginfo files that lie outside of any loadable segment.
    
    	PR 24717
    	* elf.c (is_debuginfo_file): New function.
    	(assign_file_positions_for_non_load_sections): Do not warn about
    	allocated sections outside of loadable segments if they are found
    	in a debuginfo file.
    	* elf-bfd.h (is_debuginfo_file): Prototype.

commit 854f60884cc35806dab1c0f9e7711c45cefaf7fc
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Jul 2 10:30:46 2019 -0400

    Move generic_load declaration to symfile.h
    
    ... since the implementation is in symfile.c.
    
    At the same time, add some documentation and make sure the first
    parameter's name in the declaration matches the definition.
    
    gdb/ChangeLog:
    
    	* defs.h (generic_load): Move from here...
    	* symfile.h (generic_load): ... to here.  Rename name parameter
    	to args.
    	* symfile.c (generic_load): Add comment.

commit 125f83f66c10c89530d011f4f81324b1f43afcda
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jul 2 14:14:13 2019 +0100

    Fix a bug recently introduced to the linker where it would complain about a section being larger than a file, even if the section was artificial.
    
    	PR 24753
    bfd	* compress.c (bfd_get_full_section_contents): Do not complain
    	about linker created sections that are larger than the file size.
    
    ld	* emultempl/aarch64elf.em (_aarch64_add_stub_section): Include the
    	LINKER_CREATED section flag when creating the stub section.

commit 163b2c58bdbf0cba9a085574ae88d4c757c6567d
Author: Barnaby Wilks <barnaby.wilks@arm.com>
Date:   Tue Jul 2 14:09:52 2019 +0100

    This patch fixes a bug in the AArch64 assembler where an incorrect structural load/store by element instruction would generate the wrong error message.
    
    For example, when provided with the (incorrect) instruction
    
    st4 {v0.16b-v3.16b}[4],[x0]
    
    currently assembler provides the following error message
    "Error: comma expected between operands at operand 2 -- `st4 {v0.16b-v3.16b}[4],[x0]'".
    
    This was due to the assembler consuming the {v0.16b-v3.16b} as the first operand leaving
    [4],[x0] as what it believed to be the second operand.
    
    The actual error is that the first operand should be of element type and not
    vector type (as provided). The new diagnostic for this error is
    "Error: expected element type rather than vector type at operand 1 -- `st4 {v0.16b-v3.16b}[4],[x0]'.
    
    Added testcases to check for the correct diagnostic message as well as checking that
    variations of the structural load/store by element instruction also generate the error
    when they have the same problem.
    
    	* config/tc-aarch64.c (parse_operands): Add error check.
    	* testsuite/gas/aarch64/diagnostic.l: New test.
    	* testsuite/gas/aarch64/diagnostic.s: New test.
    	* testsuite/gas/aarch64/illegal.l: New tests.
    	* testsuite/gas/aarch64/illegal.s: New tests.

commit 4d83e8d97e3b15dcd7b5c58f4199e9f5bd6fca3d
Author: Christophe Lyon <christophe.lyon@linaro.org>
Date:   Tue Jul 2 13:09:02 2019 +0000

    PR ld/24709 [arm] linker crash and assertion failure with CMSE
    
    As discussed in the PR, we do not support the case where CMSE stubs
    are inserted too far from their destination. This would require an
    intermediate long-branch stub, which is tricky in this context.
    
    Instead of crashing, this patch emit an error message and exits.
    
    2019-07-02  Christophe Lyon  <christophe.lyon@linaro.org>
    
    	* bfd/elf32-arm.c (CMSE_STUB_NAME): New define.
    	(elf32_arm_get_stub_entry): Do not try to emit long-branch stubs
    	for CMSE stubs.
    	(arm_dedicated_stub_output_section_name): Use CMSE_STUB_NAME.
    
    Change-Id: I6d4e1c0fdee6bb9f4b07e5e1b46700b5ba31c62e

commit bb32413ff7247f5ac3685ca9075b3432bca69a82
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date:   Tue Jul 2 12:43:59 2019 +0100

    Ensure that debug information is retained for ARMv8-M security functions.
    
    Consider a file containing only Armv8-M secure entry functions.
    This file is compiled and linked with "-march=armv8-m.main -mfloat-abi=hard
    -mfpu=fpv5-sp-d16 -mcmse -static --specs=rdimon.specs
    -Wl,--section-start,.gnu.sgstubs=0x190000 -ffunction-sections
    -fdata-sections
    -Wl,--gc-sections -g" options to generate an executable.
    
    The executable generated does not contain any debug information of these
    secure entry functions even though it contains secure entry functions in
    the .text section.  This patch fixes this problem.

commit 01c1ee4a70478178eb37e46692a02fb846a2f77b
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Tue Jul 2 10:52:16 2019 +0100

    [AArch64] Allow MOVPRFX to be used with FMOV
    
    The entry for the FMOV alias of FCPY was missing C_SCAN_MOVPRFX.
    (The entry for FCPY itself was OK.)
    
    This was the only /m-predicated instruction I could see that was
    missing the flag.
    
    2019-07-02  Richard Sandiford  <richard.sandiford@arm.com>
    
    opcodes/
    	* aarch64-tbl.h (aarch64_opcode): Set C_SCAN_MOVPRFX for the
    	SVE FMOV alias of FCPY.
    
    gas/
    	* testsuite/gas/aarch64/sve-movprfx_27.s,
    	* testsuite/gas/aarch64/sve-movprfx_27.d: New test.

commit 83adff695c522df8259e421162e194a95713eb45
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Tue Jul 2 10:51:09 2019 +0100

    [AArch64] Add missing C_MAX_ELEM flags for SVE conversions
    
    SVE FCVTZS, FCVTZU, SCVTF and UCVTF need the same treatment as FCVT:
    the register size used in a predicated MOVPRFX must be the wider of
    the destination and source sizes.
    
    Since I was adding a (supposedly) complete set of tests for converts,
    it seemed more consistent to add a complete set of tests for shifts
    as well, even though there's no bug to fix there.
    
    2019-07-02  Richard Sandiford  <richard.sandiford@arm.com>
    
    opcodes/
    	* aarch64-tbl.h (aarch64_opcode_table): Add C_MAX_ELEM flags
    	to SVE fcvtzs, fcvtzu, scvtf and ucvtf entries.
    
    gas/
    	* testsuite/gas/aarch64/sve-movprfx_26.s: Also test FCVTZS, FCVTZU,
    	SCVTF, UCVTF, LSR and ASR.
    	* testsuite/gas/aarch64/sve-movprfx_26.d: Update accordingly.
    	* testsuite/gas/aarch64/sve-movprfx_26.l: Likewise.

commit 8941884429c305ad42a41f759a98c8cca4d4aacc
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Tue Jul 2 10:51:05 2019 +0100

    [AArch64] Fix bogus MOVPRFX warning for GPR form of CPY
    
    One of the MOVPRFX tests has:
    
      output register of preceding `movprfx' used as input at operand 3 -- `cpy z1.d,p1/m,x1'
    
    But X1 and Z1 are not the same register, so the instruction is
    actually OK.
    
    2019-07-02  Richard Sandiford  <richard.sandiford@arm.com>
    
    opcodes/
    	* aarch64-opc.c (verify_constraints): Skip GPRs when scanning the
    	registers in an instruction prefixed by MOVPRFX.
    
    gas/
    	* testsuite/gas/aarch64/sve-movprfx_25.s: Allow CPY Z1.D.P1/M,X1
    	to be prefixed by MOVPRFX.
    	* testsuite/gas/aarch64/sve-movprfx_25.d: Update accordingly.
    	* testsuite/gas/aarch64/sve-movprfx_25.l: Likewise.

commit 390b205f456be85e309570f1b6e9b75f27194de7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jul 2 00:00:38 2019 +0000

    Automatic date update in version.in

commit 54ee425275c759438d90c40781e3810a551f0a5f
Author: Tom Tromey <tromey@adacore.com>
Date:   Mon Jul 1 09:33:19 2019 -0600

    Avoid use-after-free in DWARF debug names code
    
    A static analyzer pointed out that find_vec_in_debug_names will use
    the contents of a unique_ptr after it has been destroyed.  This patch
    fixes the bug by hoisting the declaration into the appropriate
    enclosing block.
    
    I'm checking this in as obvious.
    
    gdb/ChangeLog
    2019-07-01  Tom Tromey  <tromey@adacore.com>
    
    	* dwarf2read.c
    	(dw2_debug_names_iterator::find_vec_in_debug_names): Hoist
    	declaration of without_params.  Fix formatting.

commit 269b4ded72af1fa05236f866b518f05cf2d408a6
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jul 1 16:19:14 2019 +0100

    Fix bug when generating REL type relocs for assembler generated build notes.
    
    	PR 24748
    	* write.c (create_note_reloc): Add desc2_offset parameter.  Change
    	name of offset parameter to note_offset.  Only use desc2_offset
    	when placing addend into REL reloc's address space.
    	(maybe_generate_build_notes): Update parameters passed to
    	create_note_reloc.

commit 41be57caf36943d71ccc6ea70be27a4939399118
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date:   Mon Jul 1 15:17:22 2019 +0100

    [gas][aarch64][SVE2] Fix pmull{t,b} requirement on SVE2-AES
    
    I had mistakenly given all variants of the new SVE2 instructions
    pmull{t,b} a dependency on the feature +sve2-aes.
    
    Only the variant specifying .Q -> .D  sizes should have that
    restriction.
    
    This patch fixes that mistake and updates the testsuite to have extra
    tests (matching the given set of tests per line in aarch64-tbl.h that
    the rest of the SVE2 tests follow).
    
    We also add a line in the documentation of the command line to clarify
    how to enable `pmull{t,b}` of this larger size.  This is needed because
    all other instructions gated under the `sve2-aes` architecture extension
    are marked in the instruction documentation by an `HaveSVE2AES` check
    while pmull{t,b} is gated under the `HaveSVE2PMULL128` check.
    
    Regtested targeting aarch64-linux.
    
    gas/ChangeLog:
    
    2019-07-01  Matthew Malcomson  <matthew.malcomson@arm.com>
    
    	* testsuite/gas/aarch64/illegal-sve2-aes.d: Update tests.
    	* testsuite/gas/aarch64/illegal-sve2.l: Update tests.
    	* doc/c-aarch64.texi: Add special note of pmull{t,b}
    	instructions under the sve2-aes architecture extension.
    	* testsuite/gas/aarch64/illegal-sve2.s: Add small size
    	pmull{t,b} instructions.
    	* testsuite/gas/aarch64/sve2.d: Add small size pmull{t,b}
    	disassembly.
    	* testsuite/gas/aarch64/sve2.s: Add small size pmull{t,b}
    	instructions.
    
    include/ChangeLog:
    
    2019-07-01  Matthew Malcomson  <matthew.malcomson@arm.com>
    
    	* opcode/aarch64.h (enum aarch64_insn_class): sve_size_013
    	renamed to sve_size_13.
    
    opcodes/ChangeLog:
    
    2019-07-01  Matthew Malcomson  <matthew.malcomson@arm.com>
    
    	* aarch64-asm.c (aarch64_encode_variant_using_iclass): Use new
    	sve_size_13 icode to account for variant behaviour of
    	pmull{t,b}.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-dis.c (aarch64_decode_variant_using_iclass): Use new
    	sve_size_13 icode to account for variant behaviour of
    	pmull{t,b}.
    	* aarch64-tbl.h (OP_SVE_VVV_HD_BS): Add new qualifier.
    	(OP_SVE_VVV_Q_D): Add new qualifier.
    	(OP_SVE_VVV_QHD_DBS): Remove now unused qualifier.
    	(struct aarch64_opcode): Split pmull{t,b} into those requiring
    	AES and those not.

commit 65392b3edd1f6873204a4890efc286c8970abf4e
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Jun 27 09:05:17 2019 -0600

    Remove is_a_field_of_this from ada_lookup_symbol
    
    All callers of ada_lookup_symbol pass NULL for the
    "is_a_field_of_this" parameter, so remove it.
    
    gdb/ChangeLog
    2019-07-01  Tom Tromey  <tromey@adacore.com>
    
    	* ada-exp.y (find_primitive_type): Update.
    	* ada-lang.h (ada_lookup_symbol): Update.
    	* ada-lang.c (ada_lookup_symbol): Remove "is_a_field_of_this"
    	parameter.
    	(ada_lookup_encoded_symbol, ada_lookup_symbol_nonlocal): Update.

commit f2f51cd5f511fc562f830818ec4467d8c3cced56
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jul 1 12:39:09 2019 +0100

    Document the .value directive supported by the x86 and x86_64 assemblers.
    
    	PR 24738
    	* doc/c-i386.texi (i386-Directives): Add a description of the
    	Value directive.

commit a6ce99e98738289658d830def1b6eb9546ab551e
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jul 1 12:24:46 2019 +0100

    Correct a typo in the description of the Align and P2align directives.
    
    	PR 24737
    	* doc/as.texi (Align): Add missing word to description of
    	pseudo-op.
    	(P2align): Likewise.

commit 539300fb929ada830ec7c4002fd59f0d86c823b1
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jul 1 11:17:01 2019 +0100

    Correct the calculation of offsets for ARM exidx relocs when performing a partial link.
    
    	PR 23839
    bfd	* elf32-arm.c (elf32_arm_update_relocs): Do not include the
    	section VMA in the offset used to update exidx relocs.
    
    ld	* testsuite/ld-arm/unwind-4.d: Adjust for corrected calculation of
    	exidx relocs.

commit f57cf0e3e357255959d00626bce5c21396e23212
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Fri Jun 28 22:11:14 2019 +0100

    libctf: fix spurious error when rolling back to the first snapshot
    
    The first ctf_snapshot called after CTF file creation yields a snapshot
    handle that always yields a spurious ECTF_OVERROLLBACK error ("Attempt
    to roll back past a ctf_update") on ctf_rollback(), even if ctf_update
    has never been called.
    
    The fix is to start with a ctf_snapshot value higher than the zero value
    that ctf_snapshot_lu ("last update CTF snapshot value") is initialized
    to.
    
    libctf/
    	* ctf-create.c (ctf_create): Fix off-by-one error.

commit f5e9c9bde04ae52b92027b78c9ca20055f1afb78
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Thu Jun 27 13:51:10 2019 +0100

    libctf: deduplicate and sort the string table
    
    ctf.h states:
    
    > [...] the CTF string table does not contain any duplicated strings.
    
    Unfortunately this is entirely untrue: libctf has before now made no
    attempt whatsoever to deduplicate the string table. It computes the
    string table's length on the fly as it adds new strings to the dynamic
    CTF file, and ctf_update() just writes each string to the table and
    notes the current write position as it traverses the dynamic CTF file's
    data structures and builds the final CTF buffer.  There is no global
    view of the strings and no deduplication.
    
    Fix this by erasing the ctf_dtvstrlen dead-reckoning length, and adding
    a new dynhash table ctf_str_atoms that maps unique strings to a list
    of references to those strings: a reference is a simple uint32_t * to
    some value somewhere in the under-construction CTF buffer that needs
    updating to note the string offset when the strtab is laid out.
    
    Adding a string is now a simple matter of calling ctf_str_add_ref(),
    which adds a new atom to the atoms table, if one doesn't already exist,
    and adding the location of the reference to this atom to the refs list
    attached to the atom: this works reliably as long as one takes care to
    only call ctf_str_add_ref() once the final location of the offset is
    known (so you can't call it on a temporary structure and then memcpy()
    that structure into place in the CTF buffer, because the ref will still
    point to the old location: ctf_update() changes accordingly).
    
    Generating the CTF string table is a matter of calling
    ctf_str_write_strtab(), which counts the length and number of elements
    in the atoms table using the ctf_dynhash_iter() function we just added,
    populating an array of pointers into the atoms table and sorting it into
    order (to help compressors), then traversing this table and emitting it,
    updating the refs to each atom as we go.  The only complexity here is
    arranging to keep the null string at offset zero, since a lot of code in
    libctf depends on being able to leave strtab references at 0 to indicate
    'no name'.  Once the table is constructed and the refs updated, we know
    how long it is, so we can realloc() the partial CTF buffer we allocated
    earlier and can copy the table on to the end of it (and purge the refs
    because they're not needed any more and have been invalidated by the
    realloc() call in any case).
    
    The net effect of all this is a reduction in uncompressed strtab sizes
    of about 30% (perhaps a quarter to a half of all strings across the
    Linux kernel are eliminated as duplicates). Of course, duplicated
    strings are highly redundant, so the space saving after compression is
    only about 20%: when the other non-strtab sections are factored in, CTF
    sizes shrink by about 10%.
    
    No change in externally-visible API or file format (other than the
    reduction in pointless redundancy).
    
    libctf/
    	* ctf-impl.h: (struct ctf_strs_writable): New, non-const version of
    	struct ctf_strs.
    	(struct ctf_dtdef): Note that dtd_data.ctt_name is unpopulated.
    	(struct ctf_str_atom): New, disambiguated single string.
    	(struct ctf_str_atom_ref): New, points to some other location that
    	references this string's offset.
    	(struct ctf_file): New members ctf_str_atoms and ctf_str_num_refs.
    	Remove member ctf_dtvstrlen: we no longer track the total strlen
    	as we add strings.
    	(ctf_str_create_atoms): Declare new function in ctf-string.c.
    	(ctf_str_free_atoms): Likewise.
    	(ctf_str_add): Likewise.
    	(ctf_str_add_ref): Likewise.
    	(ctf_str_purge_refs): Likewise.
    	(ctf_str_write_strtab): Likewise.
    	(ctf_realloc): Declare new function in ctf-util.c.
    
    	* ctf-open.c (ctf_bufopen): Create the atoms table.
    	(ctf_file_close): Destroy it.
    	* ctf-create.c (ctf_update): Copy-and-free it on update.  No longer
    	special-case the position of the parname string.  Construct the
    	strtab by calling ctf_str_add_ref and ctf_str_write_strtab after the
    	rest of each buffer element is constructed, not via open-coding:
    	realloc the CTF buffer and append the strtab to it.  No longer
    	maintain ctf_dtvstrlen.  Sort the variable entry table later, after
    	strtab construction.
    	(ctf_copy_membnames): Remove: integrated into ctf_copy_{s,l,e}members.
    	(ctf_copy_smembers): Drop the string offset: call ctf_str_add_ref
    	after buffer element construction instead.
    	(ctf_copy_lmembers): Likewise.
    	(ctf_copy_emembers): Likewise.
    	(ctf_create): No longer maintain the ctf_dtvstrlen.
    	(ctf_dtd_delete): Likewise.
    	(ctf_dvd_delete): Likewise.
    	(ctf_add_generic): Likewise.
    	(ctf_add_enumerator): Likewise.
    	(ctf_add_member_offset): Likewise.
    	(ctf_add_variable): Likewise.
    	(membadd): Likewise.
    	* ctf-util.c (ctf_realloc): New, wrapper around realloc that aborts
    	if there are active ctf_str_num_refs.
    	(ctf_strraw): Move to ctf-string.c.
    	(ctf_strptr): Likewise.
    	* ctf-string.c: New file, strtab manipulation.
    
    	* Makefile.am (libctf_a_SOURCES): Add it.
    	* Makefile.in: Regenerate.

commit 9658dc39630b8ac4e849fb529a53902da5fc2b1f
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Thu Jun 27 13:30:22 2019 +0100

    libctf: add hash traversal helpers
    
    There are two, ctf_dynhash_iter and ctf_dynhash_iter_remove: the latter
    lets you return a nonzero value to remove the element being iterated
    over.
    
    Used in the next commit.
    
    libctf/
    	* ctf-impl.h (ctf_hash_iter_f): New.
    	(ctf_dynhash_iter): New declaration.
    	(ctf_dynhash_iter_remove): New declaration.
    	* ctf-hash.c (ctf_dynhash_iter): Define.
    	(ctf_dynhash_iter_remove): Likewise.
    	(ctf_hashtab_traverse): New.
    	(ctf_hashtab_traverse_remove): Likewise.
    	(struct ctf_traverse_cb_arg): Likewise.
    	(struct ctf_traverse_remove_cb_arg): Likewise.

commit 3e10cffc9872fda4519f76ba487fd108551a179f
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Fri Jun 28 21:58:31 2019 +0100

    libctf: fix hash removal
    
    We must call htab_remove_elt with an element (in this case, a mocked-up
    one with only the key populated, since no reasonable hash function will
    need the other fields), not with the key alone.
    
    libctf/
    	* ctf-hash.c (ctf_dynhash_remove): Call with a mocked-up element.

commit c550e7ba937e6a5e04c17275efc362a74f8fd1b1
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Thu Jun 27 13:15:37 2019 +0100

    libctf: disambiguate hex output in dumps
    
    We were sometimes printing hex values without prefixing them with '0x',
    leading to confusion about what base the numbers were actually in.
    
    libctf/
    	* ctf-dump.c (ctf_dump_format_type): Prefix hex strings with 0x.
    	(ctf_dump_funcs): Likewise.

commit 900e33b9cf45dd70012af7fc509119edebb93339
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jul 1 10:20:43 2019 +0100

    Fix spelling error in assembler documentation.

commit 9d3bf266fd601031d12584982ef43df22c95e933
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:38:50 2019 +0200

    x86: drop Vec_Imm4
    
    It is pretty wasteful to have a per-operand flag which is used in
    exactly 4 cases. It can be relatively easily replaced, and by doing so
    I've actually found some dead code to remove at the same time (there's
    no case of ImmExt set at the same time as Vec_Imm4).

commit c3949f432f4f7e4a776bd15e10dad56593abeb47
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:37:40 2019 +0200

    x86: limit ImmExt abuse
    
    In quite a few cases ImmExt gets used when there's not really any
    immediate, but rather a degenerate ModR/M byte. ENCL{S,U} show how this
    case is supposed to be dealt with. Eliminate most abuses, leaving in
    place (for now) only ones where process_immext() is involved.

commit 5641ec015a191e0584fd4cae57bb3262f7a51735
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:35:08 2019 +0200

    x86: optimize AND/OR with twice the same register
    
    It seems to be not uncommon for people to use AND or OR in this form for
    just setting the status flags. TEST, which doesn't write to any
    register other than EFLAGS, ought to be preferred. Make the change only
    for -O2 and above though, at least for now.

commit 79dec6b7baa243a4ada018a082491990adb6aec1
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:33:56 2019 +0200

    x86-64: optimize certain commutative VEX-encoded insns
    
    When they're in the 0F opcode space, swapping their source operands may
    allow switching from 3-byte to 2-byte VEX prefix encoding. Note that NaN
    behavior precludes us doing so for many packed and scalar floating point
    insns; such an optimization would need to be done by the compiler
    instead in this case, when it knows that NaN-s have undefined behavior
    anyway.
    
    While for explicitly specified AVX/AVX2 insns the optimization (for now
    at least) gets done only for -O2 and -Os, it is utilized by default in
    SSE2AVX mode, as there we're re-writing the programmer's specified insns
    anyway.
    
    Rather than introducing a new attribute flag, the change re-uses one
    which so far was meaningful only for EVEX-encoded insns.

commit a80195f1224aced64392b452d55980b6bbd2a8b9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:31:50 2019 +0200

    x86: StaticRounding implies SAE
    
    This implication allows to simplify some conditionals, thus slightly
    improving performance. This change also paves the way for re-using
    StaticRounding for non-EVEX insns.

commit a0a1771e895e6606a2a795c407e20aed73f69bd9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:31:14 2019 +0200

    x86: optimize EVEX packed integer logical instructions
    
    As long as there's no write mask as well as no broadcast, and as long
    as the scaled Disp8 wouldn't result in a shorter EVEX encoding, encode
    VPAND{D,Q}, VPANDN{D,Q}, VPOR{D,Q}, and VPXOR{D,Q} acting on only the
    lower 16 XMM/YMM registers using their VEX equivalents with -O1.
    
    Also take the opportunity and avoid looping twice over all operands
    when dealing with memory-with-displacement ones.

commit cd546e7bd2832c882e69809fdbeb7b376b62039e
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:28:58 2019 +0200

    x86: add missing pseudo ops for VPCLMULQDQ ISA extension
    
    While the ISA extensions doc suggests them to be made available just
    like the SDM does for the PCLMULQDQ ISA extension, these weren't added
    when supposrt for the new extension was introduced.
    
    Also make sure the 64-bit non-AVX512 test actually tests VEX encodings,
    not EVEX ones.

commit e3bba3fc751d2f8eea5a25b3f629b0d62257db86
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:27:38 2019 +0200

    x86: drop bogus Disp8MemShift attributes
    
    In commit dc821c5f9a ("x86: replace Reg8, Reg16, Reg32, and Reg64") I
    apparently blindly copied the original register/memory templates into
    separate ones, in particular without removing the Disp8MemShift which
    are applicable to templates with memory operands only.

commit d583596cc910249eff97e8f9b67c6524fb68af72
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:25:33 2019 +0200

    x86: use encoding_length() also elsewhere

commit 9c33702be70a7db648414775faa4850e7cf53034
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:24:57 2019 +0200

    x86: warn about insns exceeding the 15-byte limit
    
    Such insns will cause #UD when an attempt to execute them is made.
    
    See also http://www.sandpile.org/x86/opc_enc.htm.

commit 36cc073ef40f2cb9cb834cdb5d543fbb284f2b32
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:23:41 2019 +0200

    x86: remove ModRM.mod decoding layer from AVX512F VMOVS{S,D}
    
    Just like their AVX counterparts they can utilize XMVexScalar /
    EXdVexScalarS / EXqVexScalarS taking care of dropping the middle operand
    for their memory forms.

commit 219920a7c49069e30a7be2b166099bf795837a6d
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 1 08:22:37 2019 +0200

    x86: drop a few dead macros

commit c444fad6da089b5b94ae7ea2aabce0521695a8d3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jul 1 00:00:41 2019 +0000

    Automatic date update in version.in

commit 7f1c798dcc79c969d0e94bb787faa75cdf704b46
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jun 30 00:01:04 2019 +0000

    Automatic date update in version.in

commit d6954c38df90637bc1b0cc2b20473e2754e5eff7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jun 29 00:00:22 2019 +0000

    Automatic date update in version.in

commit 7d7571f0c14b4673ca95f6dc31d6f07d429e6697
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed Jun 26 17:34:50 2019 -0400

    Adjust i386 registers on SystemTap probes' arguments (PR breakpoints/24541)
    
    This bug has been reported on PR breakpoints/24541, but it is possible
    to reproduce it easily by running:
    
      make check-gdb TESTS=gdb.base/stap-probe.exp RUNTESTFLAGS='--target_board unix/-m32'
    
    The underlying cause is kind of complex, and involves decisions made
    by GCC and the sys/sdt.h header file about how to represent a probe
    argument that lives in a register in 32-bit programs.  I'll use
    Andrew's example on the bug to illustrate the problem.
    
    libstdc++ has a probe named "throw" with two arguments.  On i386, the
    probe is:
    
      stapsdt              0x00000028       NT_STAPSDT (SystemTap probe descriptors)
        Provider: libstdcxx
        Name: throw
        Location: 0x00072c96, Base: 0x00133d64, Semaphore: 0x00000000
        Arguments: 4@%si 4@%di
    
    I.e., the first argument is an unsigned 32-bit value (represented by
    the "4@") that lives on %si, and the second argument is an unsigned
    32-bit value that lives on %di.  Note the discrepancy between the
    argument size reported by the probe (32-bit) and the register size
    being used to store the value (16-bit).
    
    However, if you take a look at the disassemble of a program that uses
    this probe, you will see:
    
        00072c80 <__cxa_throw@@CXXABI_1.3>:
           72c80:       57                      push   %edi
           72c81:       56                      push   %esi
           72c82:       53                      push   %ebx
           72c83:       8b 74 24 10             mov    0x10(%esp),%esi
           72c87:       e8 74 bf ff ff          call   6ec00 <__cxa_finalize@plt+0x980>
           72c8c:       81 c3 74 e3 10 00       add    $0x10e374,%ebx
           72c92:       8b 7c 24 14             mov    0x14(%esp),%edi
           72c96:       90                      nop                      <----------------- PROBE IS HERE
           72c97:       e8 d4 a2 ff ff          call   6cf70 <__cxa_get_globals@plt>
           72c9c:       83 40 04 01             addl   $0x1,0x4(%eax)
           72ca0:       83 ec 04                sub    $0x4,%esp
           72ca3:       ff 74 24 1c             pushl  0x1c(%esp)
           72ca7:       57                      push   %edi
           72ca8:       56                      push   %esi
           72ca9:       e8 62 a3 ff ff          call   6d010 <__cxa_init_primary_exception@plt>
           72cae:       8d 70 40                lea    0x40(%eax),%esi
           72cb1:       c7 00 01 00 00 00       movl   $0x1,(%eax)
           72cb7:       89 34 24                mov    %esi,(%esp)
           72cba:       e8 61 96 ff ff          call   6c320 <_Unwind_RaiseException@plt>
           72cbf:       89 34 24                mov    %esi,(%esp)
           72cc2:       e8 c9 84 ff ff          call   6b190 <__cxa_begin_catch@plt>
           72cc7:       e8 d4 b3 ff ff          call   6e0a0 <_ZSt9terminatev@plt>
           72ccc:       66 90                   xchg   %ax,%ax
           72cce:       66 90                   xchg   %ax,%ax
    
    Note how the program is actually using %edi, and not %di, to store the
    second argument.  This is the problem here.
    
    GDB will basically read the probe argument, then read the contents of
    %di, and then cast this value to uint32_t, which causes the wrong
    value to be obtained.  In the gdb.base/stap-probe.exp case, this makes
    GDB read the wrong memory location, and not be able to display a test
    string.  In Andrew's example, this causes GDB to actually stop at a
    "catch throw" when it should actually have *not* stopped.
    
    After some discussion with Frank Eigler and Jakub Jelinek, it was
    decided that this bug should be fixed on the client side (i.e., the
    program that actually reads the probes), and this is why I'm proposing
    this patch.
    
    The idea is simple: we will have a gdbarch method, which, for now, is
    only used by i386.  The generic code that deals with register operands
    on gdb/stap-probe.c will call this method if it exists, passing the
    current parse information, the register name and its number.
    
    The i386 method will then verify if the register size is greater or
    equal than the size reported by the stap probe (the "4@" part).  If it
    is, we're fine.  Otherwise, it will check if we're dealing with any of
    the "extendable" registers (like ax, bx, si, di, sp, etc.).  If we
    are, it will change the register name to include the "e" prefix.
    
    I have tested the patch here in many scenarios, and it fixes Andrew's
    bug and also the regressions I mentioned before, on
    gdb.base/stap-probe.exp.  No regressions where found on other tests.
    
    Comments?
    
    gdb/ChangeLog:
    2019-06-27  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR breakpoints/24541
    	* gdbarch.c: Regenerate.
    	* gdbarch.h: Regenerate.
    	* gdbarch.sh: Add 'stap_adjust_register'.
    	* i386-tdep.c: Include '<unordered_set>'.
    	(i386_stap_adjust_register): New function.
    	(i386_elf_init_abi): Register 'i386_stap_adjust_register'.
    	* stap-probe.c (stap_parse_register_operand): Call
    	'gdbarch_stap_adjust_register'.

commit 5af5392a3d1525fb825747b203a6159ddcba0aa4
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Jun 27 13:14:26 2019 -0400

    Fix crash when using PYTHONMALLOC=debug (PR python/24742)
    
    This bug was originally reported against Fedora GDB:
    
      https://bugzilla.redhat.com/show_bug.cgi?id=1723564
    
    The problem is that GDB will crash in the following scenario:
    
    - PYTHONMALLOC=debug or PYTHONDEVMODE=1 is set.
    
    - The Python debuginfo is installed.
    
    - GDB is used to debug Python.
    
    The crash looks like this:
    
      $ PYTHONMALLOC=debug gdb -args python3 -c pass
      GNU gdb (GDB) Fedora 8.3-3.fc30
      Reading symbols from python3...
      Reading symbols from /usr/lib/debug/usr/bin/python3.7m-3.7.3-3.fc30.x86_64.debug...
      (gdb) run
      Starting program: /usr/bin/python3 -c pass
      Missing separate debuginfos, use: dnf debuginfo-install glibc-2.29-9.fc30.x86_64
      Debug memory block at address p=0x5603977bf330: API ''
          8098648152243306496 bytes originally requested
          The 7 pad bytes at p-7 are not all FORBIDDENBYTE (0xfb):
    	  at p-7: 0x03 *** OUCH
    	  at p-6: 0x00 *** OUCH
    	  at p-5: 0x00 *** OUCH
    	  at p-4: 0x00 *** OUCH
    	  at p-3: 0x00 *** OUCH
    	  at p-2: 0x00 *** OUCH
    	  at p-1: 0x00 *** OUCH
          Because memory is corrupted at the start, the count of bytes requested
    	 may be bogus, and checking the trailing pad bytes may segfault.
          The 8 pad bytes at tail=0x706483999ad1f330 are Segmentation fault (core dumped)
    
    It's hard to determine what happens, but after doing some
    investigation and talking to Victor Stinner I found that GDB should
    not use the Python memory allocation functions before the Python
    interpreter is initialized (which makes sense).  However, we do just
    that on python/python.c:do_start_initialization:
    
      ...
      progsize = strlen (progname.get ());
      progname_copy = (wchar_t *) PyMem_Malloc ((progsize + 1) * sizeof (wchar_t));
      ...
      /* Note that Py_SetProgramName expects the string it is passed to
         remain alive for the duration of the program's execution, so
         it is not freed after this call.  */
      Py_SetProgramName (progname_copy);
      ...
      Py_Initialize ();
      PyEval_InitThreads ();
    
    Upon reading the Python 3 C API documentation, I
    found (https://docs.python.org/3.5/c-api/memory.html):
    
      To avoid memory corruption, extension writers should never try to
      operate on Python objects with the functions exported by the C
      library: malloc(), calloc(), realloc() and free(). This will result in
      mixed calls between the C allocator and the Python memory manager with
      fatal consequences, because they implement different algorithms and
      operate on different heaps. However, one may safely allocate and
      release memory blocks with the C library allocator for individual
      purposes[...]
    
    And Py_SetProgramName seems like a very simple call that doesn't need
    a Python-allocated memory to work on.  So I'm proposing this patch,
    which simply replaces PyMem_Malloc by xmalloc.
    
    Testing this is more complicated.  First, the crash is completely
    non-deterministic; I was able to reproduce it 10 times in a row, and
    then I wasn't able to reproduce it anymore.  I found that if you
    completely remove your build directory and rebuild GDB from scratch,
    you can reproduce it again confidently.  And with my patch, I
    confirmed that the bug doesn't manifest even in this situation.
    
    No regressions found.
    
    OK to apply?
    
    gdb/ChangeLog:
    2019-06-28  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR python/24742
    	https://bugzilla.redhat.com/show_bug.cgi?id=1723564
    	* python/python.c (do_start_initialization): Use 'xmalloc'
    	instead of 'PyMem_Malloc'.

commit 10d06d821919474afaf59fa24cb10450d2349131
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Jun 20 13:50:15 2019 -0600

    Handle either order of name and linkage name
    
    We discovered that the Ada support in gdb depends on the order of the
    DW_AT_name and DW_AT_linkage_name attributes in the DWARF.  In
    particular, if they are emitted in the "wrong" order for some system
    symbols, "catch exception" will not work.
    
    This patch fixes this problem by arranging to always prefer the
    linkage name if both exist.  This seems to be what the full symbol
    reader already does -- that is, this is another bug arising from
    having two different DWARF readers.
    
    Another possible issue here is that gdb still doesn't really preserve
    mangled names properly.  There's a PR open about this.  However, this
    seems to be somewhat involved to fix, which is why this patch
    continues to work around the bigger issue.
    
    gdb/ChangeLog
    2019-06-28  Tom Tromey  <tromey@adacore.com>
    
    	* dwarf2read.c (partial_die_info::read): Prefer the linkage name
    	for Ada.
    
    gdb/testsuite/ChangeLog
    2019-06-28  Tom Tromey  <tromey@adacore.com>
    
    	* gdb.dwarf2/ada-linkage-name.c: New file.
    	* gdb.dwarf2/ada-linkage-name.exp: New file.

commit 7e56c51c7932cfdb178e9457011d09d53e98937b
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jun 28 15:30:43 2019 +0100

    Prevent attempts to allocate excessive amounts of memory when parsing corrupt ELF files.
    
    	PR 24708
    	* elf.c (_bfd_elf_slurp_version_tables): Check for an excessively
    	large version reference section.
    	* compress.c (bfd_get_full_section_contents): Check for an
    	uncompressed section whose size is larger than the file size.

commit 781152ec18f56726c750cc0812a740396e4ec820
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jun 28 13:30:00 2019 +0100

    Prevent an attempt to allocate an excessive amount of memory when dumping the symbols in a malformed file.
    
    	PR 24707
    	* objdump.c (slurp_symtab): Fail with a helpful error message if
    	the symbol table is too large.

commit 999d6dff80fab12d22c2a8d91923db6bde7fb3e5
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 28 10:18:49 2019 +0930

    Plugin target handling
    
    This patch fixes failures with LTO on mingw32 targets.  Since git
    commit 7cf7fcc83c all possible targets (minus binary) are matched in
    bfd_check_format_matches rather than lower priority targets being
    excluded once a higher priority target matches.  During linking that
    results in the ld/plugin.c plugin_object_p function being called with
    the input file xvec set to plugin_vec, which means
    plugin_get_ir_dummy_bfd doesn't see the real format of the file
    (pe-i386).  It defaults to the output format instead, which happens to
    be pei-i386, and this wrong choice persists for the dummy bfd.
    pei-i386 isn't recognised as a valid linker input file.
    
    So, omit recognizing a plugin object in bfd_check_format_matches when
    some other object format matches, and make sure those other object
    formats are checked first.
    
    	* format.c (bfd_check_format_matches): Don't match plugin target
    	if another target matches.  Expand comment.
    	* targets.c (_bfd_target_vector): Move plugin_vec after all other
    	non-corefile targets, outside !SELECT_VECS.
    	* config.bfd: Don't handle targ=plugin here.
    	* configure.ac: Don't add plugin to enable_targets or handle in
    	target loop setting selvecs and other target vars.
    	* configure: Regenerate.

commit f60c61e60e59c2bfc5fdd1b448408c2af287899e
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 28 10:18:03 2019 +0930

    [GOLD] PowerPC tweak relnum tests
    
    There is a call of relocate() to perform a single relocation.  In that
    case the "relnum" parameter is -1U and of course it isn't appropriate
    to consider any of the PowerPC code sequence optimisations triggered
    by a following relocation.
    
    	* powerpc.cc (Target_powerpc::Relocate::relocate): Don't look
    	at next/previous reloc when relnum is -1.

commit f073a3e8c6735bd8fc24d35a957d8944087ea367
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 28 10:17:45 2019 +0930

    [GOLD] PowerPC linkage table error
    
    This fixes a segfault when attempring to output a "linkage table
    error".  "object" is only non-NULL in the local symbol case.
    
    	* powerpc.cc (Stub_table::plt_error): New function.
    	(Stub_table::do_write): Use it.
    	(Output_data_glink::do_write): Don't segfault emitting linkage
    	table error.

commit c432bbbaaa072438e6303b819bdcb4289c2b22e0
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 28 10:17:08 2019 +0930

    [GOLD] R_PPC64_REL16_HIGH relocs
    
    These relocs have been around for quite a while.  It's past time gold
    supported them.
    
    elfcpp/
    	* powerpc.h (R_PPC64_REL16_HIGH, R_PPC64_REL16_HIGHA),
    	(R_PPC64_REL16_HIGHER, R_PPC64_REL16_HIGHERA),
    	(R_PPC64_REL16_HIGHEST, R_PPC64_REL16_HIGHESTA): Define.
    
    gold/
    	* powerpc.cc (Target_powerpc::Scan::get_reference_flags): Handle
    	REL16_HIGH* relocs.
    	(Target_powerpc::Scan::local): Likewise.
    	(Target_powerpc::Scan::global): Likewise.
    	(Target_powerpc::Relocate::relocate): Likewise.

commit 60d53d7f032ad7af09760afbaf01b2ec413f198a
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 28 10:15:57 2019 +0930

    PowerPC notoc call stub tests
    
    	* testsuite/ld-powerpc/callstub-1.d,
    	* testsuite/ld-powerpc/callstub-1.s: New test.
    	* testsuite/ld-powerpc/callstub-2.d,
    	* testsuite/ld-powerpc/callstub-2.s: New test.
    	* testsuite/ld-powerpc/powerpc.exp: Run them.

commit 0c823d25a6eb29b331a58082e08f4b5fe06e1394
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jun 28 00:00:56 2019 +0000

    Automatic date update in version.in

commit e395f487b3758b3de99fddd2ef15a799e9fc1203
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 27 13:39:19 2019 -0700

    i386: Check vector length for scatter/gather prefetch instructions
    
    Since not all vector lengths are supported by scatter/gather prefetch
    instructions, decode them only with supported vector lengths.
    
    gas/
    
    	PR binutils/24719
    	* testsuite/gas/i386/disassem.s: Add test for vgatherpf0dps
    	with invalid vector length.
    	* testsuite/gas/i386/x86-64-disassem.s: Likewise.
    	* testsuite/gas/i386/disassem.d: Updated.
    	* testsuite/gas/i386/x86-64-disassem.d: Likewise.
    
    opcodes/
    
    	PR binutils/24719
    	* i386-dis-evex-len.h: Add EVEX_LEN_0F38C6_REG_1_PREFIX_2,
    	EVEX_LEN_0F38C6_REG_2_PREFIX_2, EVEX_LEN_0F38C6_REG_5_PREFIX_2,
    	EVEX_LEN_0F38C6_REG_6_PREFIX_2, EVEX_LEN_0F38C7_R_1_P_2_W_0,
    	EVEX_LEN_0F38C7_R_1_P_2_W_1, EVEX_LEN_0F38C7_R_2_P_2_W_0,
    	EVEX_LEN_0F38C7_R_2_P_2_W_1, EVEX_LEN_0F38C7_R_5_P_2_W_0,
    	EVEX_LEN_0F38C7_R_5_P_2_W_1, EVEX_LEN_0F38C7_R_6_P_2_W_0 and
    	EVEX_LEN_0F38C7_R_6_P_2_W_1.
    	* i386-dis-evex-prefix.h: Update PREFIX_EVEX_0F38C6_REG_1,
    	PREFIX_EVEX_0F38C6_REG_2, PREFIX_EVEX_0F38C6_REG_5 and
    	PREFIX_EVEX_0F38C6_REG_6 entries.
    	* i386-dis-evex-w.h: Update EVEX_W_0F38C7_R_1_P_2,
    	EVEX_W_0F38C7_R_2_P_2, EVEX_W_0F38C7_R_5_P_2 and
    	EVEX_W_0F38C7_R_6_P_2 entries.
    	* i386-dis.c: Add EVEX_LEN_0F38C6_REG_1_PREFIX_2,
    	EVEX_LEN_0F38C6_REG_2_PREFIX_2, EVEX_LEN_0F38C6_REG_5_PREFIX_2,
    	EVEX_LEN_0F38C6_REG_6_PREFIX_2, EVEX_LEN_0F38C7_R_1_P_2_W_0,
    	EVEX_LEN_0F38C7_R_1_P_2_W_1, EVEX_LEN_0F38C7_R_2_P_2_W_0,
    	EVEX_LEN_0F38C7_R_2_P_2_W_1, EVEX_LEN_0F38C7_R_5_P_2_W_0,
    	EVEX_LEN_0F38C7_R_5_P_2_W_1, EVEX_LEN_0F38C7_R_6_P_2_W_0 and
    	EVEX_LEN_0F38C7_R_6_P_2_W_1 enums.

commit 1b7f24cd6b4e96c64bf82eba06be2c48942699fa
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jun 26 11:41:00 2019 -0600

    Change arm_objfile_data_key to use type-safe registry
    
    After seeing Simon's patch to change arm_per_objfile to use new and
    delete, I realized it is now simple to change arm_objfile_data_key to
    use the type-safe registry.
    
    gdb/ChangeLog
    2019-06-27  Tom Tromey  <tromey@adacore.com>
    
    	* arm-tdep.c (arm_objfile_data_key): Move lower.  Change type to
    	objfile_key.
    	(arm_find_mapping_symbol, arm_record_special_symbol)
    	(_initialize_arm_tdep): Update.
    	(arm_objfile_data_free): Remove.

commit 3d507ff23b724ecb2b9a5a61cebd0fba275cfbc3
Author: Tom Tromey <tromey@adacore.com>
Date:   Tue Jun 18 09:37:02 2019 -0600

    Fix two buglets in cp_print_value_fields patch
    
    Pedro and Tom both pointed out issues in the cp_print_value_fields
    patch, aka the fix for PR c++/20020.
    
    This patch addresses both issues.  Tested on x86-64 Fedora 29.
    
    gdb/ChangeLog
    2019-06-27  Tom Tromey  <tromey@adacore.com>
    
    	* cp-valprint.c (cp_print_value_fields): Pass opts, not options,
    	to cp_print_static_field.
    
    gdb/testsuite/ChangeLog
    2019-06-27  Tom Tromey  <tromey@adacore.com>
    
    	* gdb.cp/constexpr-field.exp: Use setup_xfail.

commit ba85f98c42877287f45644a6d75513239c9490a5
Author: Barnaby Wilk  s <barnaby.wilks@arm.com>
Date:   Thu Jun 27 14:06:02 2019 +0100

    This fixes a bug in the ARm assembler where an immediate operand larger than 4 bits (0xF) could be passed to the SMC (Secure Monitor Call) instruction.
    
    For example, this code is invalid:
    smc #0x6951
    
    The code would previously check for and encode for up to 16 bit immediate values, however
    this immediate should instead be only a 4 bit value
    (as documented herehttps://static.docs.arm.com/ddi0406/c/DDI0406C_C_arm_architecture_reference_manual.pdf  ).
    
    Fixed this by adding range checks in the relevant areas and also removing code that would
    encode more than the first 4 bits of the immediate (code that is now redundant, as any immediate operand
    larger than 0xF would error now anyway).
    
    gas	* config/tc-arm.c (do_smc): Add range check for immediate operand.
    	(do_t_smc): Add range check for immediate operand. Remove
    	obsolete immediate encoding.
    	(md_apply_fix): Fix range check. Remove obsolete immediate encoding.
    	* testsuite/gas/arm/arch6zk.d: Fix test.
    	* testsuite/gas/arm/arch6zk.s: Fix test.
    	* testsuite/gas/arm/smc-bad.d: New test.
    	* testsuite/gas/arm/smc-bad.l: New test.
    	* testsuite/gas/arm/smc-bad.s: New test.
    	* testsuite/gas/arm/thumb32.d: Fix test.
    	* testsuite/gas/arm/thumb32.s: Fix test.

commit 5ceb1f4d804b09cb8767ca704c2ba41e50a2bcdb
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Jun 27 12:40:08 2019 +0200

    x86: add missing test
    
    These files were mistakenly left out of commit c1dc7af521.

commit 2b7bcc8740dda3f314284169aaf1759a9f56025f
Author: Jan Beulich <jbeulich@novell.com>
Date:   Thu Jun 27 08:50:28 2019 +0200

    x86: fold AVX scalar to/from int conversion insns
    
    There's no point doing a separate decode of the VEX.L bit - both decoded
    forms are identical.

commit c1dc7af52143966da8065b527e7a7000cf9f7705
Author: Jan Beulich <jbeulich@novell.com>
Date:   Thu Jun 27 08:49:40 2019 +0200

    x86: allow VEX et al encodings in 16-bit (protected) mode
    
    These encodings aren't valid in real and VM86 modes, but they are very
    well usable in 16-bit protected mode.
    
    A few adjustments in the disassembler tables are needed where Ev or Gv
    were wrongly used. Additionally an adjustment is needed to avoid
    printing "addr32" when that's already recognizable by the use of %eiz.
    
    Furthermore the Iq operand template was wrong for XOP:0Ah encoding
    insns: They're having a uniform 32-bit immediate. Drop Iq and introduce
    Id instead.
    
    Clone a few existing test cases to exercise assembler and disassembler.

commit 65bd27298d31c6733b68d0cd6b7a4fc26e0598be
Author: Jim Wilson <jimw@sifive.com>
Date:   Wed Jun 26 18:12:55 2019 -0700

    Fix a few non-dash safe xstormy16 shell scripts.
    
    Noticed by a customer while looking at a tangentially related problem.  The
    gas testsuite for xstormy16 has two scripts that have a typo on the first
    line, they are missing the !.  They also use shell syntax that doesn't work
    on a system where /bin/sh is dash.  So I fixed the typo, changed the shell
    to bash, and made them executable, so that they now work when run directly
    even if /bin/sh is dash.
    
    	gas/
    	* testsuite/gas/xstormy16/allinsn.sh: Change first line to
    	#!/bin/bash and make it executable.
    	* testsuite/gas/xstormy16/gcc.sh: Likewise.

commit d7560e2df501c7da1b0e4e64116dd52fe5715a96
Author: Jim Wilson <jimw@sifive.com>
Date:   Wed Jun 26 17:17:09 2019 -0700

    RISC-V: Make objdump disassembly work right for binary files.
    
    Without the ELF header to set info->endian, it ends up as BFD_UNKNOWN_ENDIAN
    which gets printed as big-endian.  But RISC-V instructions are always little
    endian, so we can set endian_code correctly, and then set display_endian from
    that.  This is similar to how the aarch64 support works, but without the
    support for constant pools, as we don't have that on RISC-V.
    
    	opcodes/
    	PR binutils/24739
    	* riscv-dis.c (riscv_disasemble_insn): Set info->endian_code.
    	Set info->display_endian to info->endian_code.

commit 696d5b3801a0e9d6514a92734bde09985f968a2f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jun 27 00:00:18 2019 +0000

    Automatic date update in version.in

commit aa108c0c462e43ab77a1f178d8c8d2277ac73a57
Author: Lili Cui <lili.cui@intel.com>
Date:   Wed Jun 26 15:12:58 2019 -0700

    i386: Document memory size reference in assembler
    
    	* doc/c-i386.texi: Document x/y/z instruction sufffixes in AT&T
    	syntax and xmmword/ymmword/zmmword/fword/tbyte/oword ptr in
    	Intel syntax.

commit a68aa5d3020948564ef99d704d27e458ba22ad9d
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 26 17:03:32 2019 +0100

    Ensure that when attempting to process an ARM Mach-O file with unknown relocs, that a suitable error message is displayed.
    
    	PR 24703
    binutils* bucomm.c (bfd_nonfatal): If no bfd error code has been set then
    	indicate this in the output.
    	(bfd_nonfatal_message): Likewise.
    
    bfd	* mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add error
    	messages for failures.
    	* mach-o.c (bfd_mach_o_canonicalize_relocs): Set an bfd error code
    	if returning an error value.

commit 762c164d754fc456aa4764d2ed19cc4a3ec625fb
Author: Tom Tromey <tromey@adacore.com>
Date:   Wed Jun 26 09:48:32 2019 -0600

    Remove lookup_minimal_symbol_solib_trampoline
    
    lookup_minimal_symbol_solib_trampoline is unused, so this patch
    removes it.  The last use was apparently removed in
    commit 61a12cfa ("Remove HPUX").
    
    gdb/ChangeLog
    2019-06-26  Tom Tromey  <tromey@adacore.com>
    
    	* minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove.
    	* minsyms.h (lookup_minimal_symbol_solib_trampoline): Don't
    	declare.

commit aa2f9bcf23a00fc7e9d7350757b8938c36106c42
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jun 26 15:48:12 2019 +0100

    AArch64: Add missing CPSR flags
    
    Add all the CPSR flags for Armv8.1-A through to Armv8.4-A.
    
    In addition, document all the existing flags, and remove
    the superfluous empty spaces.
    
    gdb/ChangeLog:
    
    	* features/aarch64-core.c (create_feature_aarch64_core):
    	Regenerate.
    	* features/aarch64-core.xml: Add cpsr flags.

commit 3426ae5760319b6b31d71f3ba798154e6fcea34d
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jun 26 14:10:08 2019 +0100

    Arm: Allow version strings in the triplet regexp
    
    On Arm, the OS may use the full version string for the arch name when
    installing the compiler, for example armv7hl-redhat-linux-gnueabi-gcc.
    
    Implement gdbarch_gnu_triplet_regexp for Arm to allow this to be detected.
    Ensure that other Arm targets (eg iwmmxt) are not affected.
    
    This fixes the compile/ set of tests on those systems.
    
    gdb/ChangeLog:
    
    2019-06-26  Alan Hayward  <alan.hayward@arm.com>
    
    	* arm-tdep.c (arm_gnu_triplet_regexp): New function.
    	(arm_gdbarch_init): Add arm_gnu_triplet_regexp.

commit 8af58ffe5d06eaed8adfd1f0db2cb10d38c364e2
Author: Tom de Vries <tdevries@suse.de>
Date:   Wed Jun 26 15:04:05 2019 +0200

    [gdb/testsuite] Compile varval twice, once without bad DWARF
    
    When we run gdb.dwarf2/varval.exp with board cc-with-dwz, we run into:
    ...
    gdb compile failed, dwz: varval: Couldn't find DIE referenced by \
      DW_OP_GNU_variable_value
    cc-with-tweaks.sh: dwz did not modify varval.
    UNTESTED: gdb.dwarf2/varval.exp: failed to prepare
    ...
    
    The problem is that varval contains some bad DWARF, which has been added
    intentionally to test GDB, but that bad DWARF causes dwz to error out, which
    has the consequence that the test-case remains untested with cc-with-dwz,
    while the test-case contains also correct DWARF that does not occur in any
    other test, and which we would really like to test with board cc-with-dwz.
    
    Fix this by compiling varval twice, once without and once with the bad DWARF,
    such that we have at least:
    ...
    PASS: gdb.dwarf2/varval.exp: print varval
    PASS: gdb.dwarf2/varval.exp: print varval2
    PASS: gdb.dwarf2/varval.exp: print constval
    PASS: gdb.dwarf2/varval.exp: print mixedval
    PASS: gdb.dwarf2/varval.exp: print pointerval
    PASS: gdb.dwarf2/varval.exp: print *pointerval
    PASS: gdb.dwarf2/varval.exp: print structval
    PASS: gdb.dwarf2/varval.exp: print untypedval
    gdb compile failed, dwz: varval: Couldn't find DIE referenced by \
      DW_OP_GNU_variable_value
    cc-with-tweaks.sh: dwz did not modify varval.
    UNTESTED: gdb.dwarf2/varval.exp: failed to prepare
    ...
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-06-26  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.dwarf2/varval.exp: Compile twice, once without bad DWARF.

commit 22e217527d1ba9ff3d933a14c9d81b066fac606d
Author: Tom de Vries <tdevries@suse.de>
Date:   Wed Jun 26 05:52:47 2019 +0200

    [gdb/testsuite] Add back missing debug for index-cache.exp
    
    The proc prepare_for_testing has "debug" as default argument for the options
    parameter.
    
    In the commit c596f180a1 "[gdb/testsuite] Compile index-cache.c with
    -Wl,--build-id", by setting the options argument we've effectively dropped
    "debug".  This causes index-cache.exp to not contain any debug info anymore on
    most systems (though not on openSUSE), which causes index-cache.exp FAILs.
    
    Fix this by adding back the missing "debug" option.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-06-26  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.base/index-cache.exp: Add back missing debug option.

commit a93cbd6e69abc024bb65c8c398fa9898e551860c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jun 26 00:00:18 2019 +0000

    Automatic date update in version.in

commit 4838e44c8fcb2ce2316294a6f30b8d40343c36af
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Jun 25 14:22:30 2019 -0400

    arm-tdep: sort mapping symbols after parsing all minimal symbols
    
    Somebody on IRC reported a while ago that loading a big ARM program in
    GDB was very slow.  Their profiling pointed out that a big amount of
    time was spent in
    
        VEC_safe_insert (arm_mapping_symbol_s, *map_p, idx, &new_map_sym);
    
    I was able to verify this as well.
    
    ARM mapping symbols are special ELF symbols named $a, $d and $t
    indicating that symbols starting at this address up to the next mapping
    symbol (in terms of address) are of type "ARM code", "data" and "Thumb
    code", respectively.  GDB records these symbols in vectors (one for each
    section) in arm-tdep.c.  These vectors are sorted by symbol address, to
    allow for quick lookup.  The current approach is to insert new symbols
    at the right position to keep the vectors sorted at all time.  This is
    done based on the assumption that mapping symbols come already almost
    sorted from the binary, as explains this comment in
    arm_record_special_symbol:
    
      /* Assume that most mapping symbols appear in order of increasing
         value.  If they were randomly distributed, it would be faster to
         always push here and then sort at first use.  */
    
    Well, it turns out this is not the case.  The original reporter
    mentioned that mapping symbols in their binaries are not nearly sorted,
    and this is not my experience either (at least in the binary used in the
    benchmark below).  So if the values don't come nearly sorted, doing
    insertions to keep the vectors sorted ends up being of the order of
    number_of_mapping_symbols ^ 2.
    
    This patch changes it just like the comment above says, to just append
    to the vector in arm_record_special_symbol and sort the vector on first
    use.
    
    Benchmark
    =========
    
    I have done some benchmarks using an --enable-targets=all GDB, compiled
    with -O2, running on x86-64 and parsing file
    dce18d22e5c2ecb6a3a57372f4e6ef614130bc.debug from this package:
    
      https://launchpad.net/ubuntu/+source/firefox/66.0.3+build1-0ubuntu1/+build/16608691/+files/firefox-dbg_66.0.3+build1-0ubuntu1_armhf.deb
    
    This file is the separate debug info for libxul.so (part of firefox) for
    ARM.
    
    I have added some traces to measure the execution time of just
    elf_symtab_read and ran GDB like this:
    
      ./gdb --data-directory=data-directory -nx -batch  .../path/to/usr/lib/debug/.build-id/65/dce18d22e5c2ecb6a3a57372f4e6ef614130bc.debug
    
    Since the new code sorts the vectors on first use, it would be difficult
    to benchmark it as-is and be fair, since the "before" version does more
    work in elf_symtab_read.  So I have actually benchmarked a version of
    the patch that did sort all the vectors at the end of elf_symtab_read,
    so the sorting would be considered in the measured execution time.
    
    Here's the measured execution time of elf_symtab_read, averaged on 3
    runs:
    
      insert sorted (before): 28.678s
      sort after (after):      1.760s
    
    And here's the total execution time of the command above (just one run).
    The time is now mostly spent in reading DWARF.
    
      insert sorted: 71.12s user 2.71s system 99% cpu 1:14.03 total
      sort after:    46.42s user 2.60s system 99% cpu  49.147 total
    
    I tried for fun on my Raspberry Pi 3, the run time of
    elf_symtab_read goes from ~259s to ~9s, reading the same file.
    
    gdb/ChangeLog:
    
    	* arm-tdep.c (struct arm_per_objfile) <section_maps_sorted>: New
    	field.
    	(arm_find_mapping_symbol): Sort mapping symbol vectors on first
    	use.
    	(arm_record_special_symbol): Don't insert new symbol in sorted
    	position, push it at the end.

commit 54cc7474d4851d0e76df5252478a5ebd76b61508
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Jun 25 14:22:23 2019 -0400

    arm-tdep: replace arm_mapping_symbol VEC with std::vector
    
    This patch replaces VEC (arm_mapping_symbol) with an std::vector.  No
    functional changes intended.
    
    gdb/ChangeLog:
    
    	* arm-tdep.c (struct arm_mapping_symbol) (operator <): New.
    	(arm_mapping_symbol_s): Remove.
    	(DEF_VEC_O(arm_mapping_symbol_s)): Remove.
    	(arm_mapping_symbol_vec): New typedef.
    	(struct arm_per_objfile): Add constructor.
    	<section_maps>: Change type to
    	std::unique_ptr<arm_mapping_symbol_vec[]>.
    	(arm_compare_mapping_symbols): Remove.
    	(arm_find_mapping_symbol): Adjust to section_maps type change.
    	(arm_objfile_data_free): Call delete on arm_per_objfile.
    	(arm_record_special_symbol): Adjust to section_maps type change.
    	Allocate arm_per_objfile with new.

commit b65b566cdcb577edb57616c5b49a2f245b56325c
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date:   Sun Jun 23 15:34:15 2019 +0200

    Fix alias command not detecting non matching prefix & sometimes asserting.
    
    alias_command does not detect that the prefixes of the alias command and the
    aliased command are not matching: it is comparing the alias prefix
    with itself, instead of comparing it with the aliased command prefix.
    
    This causes either the alias command to silently do nothing,
    or to have GDB asserting:
        (gdb) alias assigne imprime limite-elements = set print elements
        ../../binutils-gdb/gdb/cli/cli-cmds.c:1552: internal-error: void alias_command(const char*, int): Assertion `c_command != NULL && c_command != (struct cmd_list_element *) -1' failed.
        A problem internal to GDB has been detected,
    
    Fix the logic, and update gdb.base/alias.exp to test these cases.
    
    gdb/ChangeLog
    2019-06-25  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* cli/cli-cmds.c (alias_command): Compare the alias prefix
    	with the command prefix.
    
    gdb/testsuite/ChangeLog
    2019-06-25  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
    
    	* gdb.base/alias.exp: Test non matching/non existing prefixes.

commit 9b444f9533c38016e4f2de0198c889b13a62d2bc
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date:   Wed Jun 19 15:55:04 2019 -0700

    MIPS/gas: Fix order of instructions in LI macro expansion
    
    When MTHC1 instruction is paired with MTC1 to write a value to a
    64-bit FPR, the MTC1 must be executed first, because the semantic
    definition of MTC1 is not aware that software will be using an MTHC1
    to complete the operation, and sets the upper half of the 64-bit FPR
    to an UNPREDICTABLE value[1].
    
    Fix the order of MTHC1 and MTC1 instructions in LI macro expansion.
    Modify the expansions to exploit moves from $zero directly by-passing
    the use of $AT, where ever possible.
    
    [1] "MIPS Architecture for Programmers Volume II-A: The MIPS32
         Instruction Set Manual", Wave Computing, Inc., Document
         Number: MD00086, Revision 5.04, December 11, 2013, Section 3.2
         "Alphabetical List of Instructions", pp. 217.
    
    gas/
    	* config/tc-mips.c (macro) <M_LI>: Re-order MTHC1 with
    	respect to MTC1 and use $0 for either part where possible.
    	* testsuite/gas/mips/li-d.s: Add test cases for non-zero
    	words in double precision constants.
    	* testsuite/gas/mips/li-d.d: Update reference output.
    	* testsuite/gas/mips/micromips@isa-override-1.d: Likewise.
    	* testsuite/gas/mips/mips32r2@isa-override-1.d: Likewise.
    	* testsuite/gas/mips/mips64r2@isa-override-1.d: Likewise.

commit 5c2c8c694de18370ac6161a21217627ddadeafc7
Author: Tom de Vries <tdevries@suse.de>
Date:   Tue Jun 25 16:42:46 2019 +0200

    [gdb/testsuite] Regenerate dw2-restrict.S
    
    When running gdb.dwarf2/dw2-restrict.exp with board cc-with-dwz, we run into:
    ...
    dwz: dw2-restrict: DW_AT_stmt_list not DW_FORM_sec_offset or DW_FORM_data4
    ...
    
    The problem is that the DW_AT_stmt_list is encoded using DW_FORM_addr, while
    DW_FORM_sec_offset or DW_FORM_data4 would be appropriate.  The test-case uses
    a dw2-restrict.S which was generated using clang 2.9, which contained a bug
    ( https://bugs.llvm.org/show_bug.cgi?id=9995 ) causing this problem.
    
    Fix this by regenerating using clang 5.0.1.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-06-25  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24727
    	* gdb.dwarf2/dw2-restrict.S: Regenerate using clang 5.0.1.

commit c2fc64f54ef82ccd2fedc9078c539ad273e83a0b
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 16:38:06 2019 -0600

    Tidy tui_delete_win
    
    tui_delete_win does its own NULL check, so ~tui_gen_win_info does not
    need to do it.  Also, tui_delete_win has an extraneous "return".
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (tui_delete_win): Remove "return".
    	* tui/tui-data.c (~tui_gen_win_info): Remove "if".

commit fb54fa768d148ccd07f2b27ae26e87d95605986c
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 16:34:39 2019 -0600

    Make tui_gen_win_info constructor protected
    
    Now that all the window types have their own concrete classes, the
    tui_gen_win_info constructor can be protected.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (init_and_make_win): Assert on unrecognized
    	type.
    	* tui/tui-data.h (struct tui_gen_win_info): Make constructor
    	protected.

commit f7952c5774671414d9e0e8d3524c2921daa6f28e
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 16:07:12 2019 -0600

    Fix latent bug in set_is_exec_point_at
    
    valgrind pointed out that the TUI was using uninitialized memory in
    set_is_exec_point_at.  The bug is a missing check against LOA_ADDRESS,
    causing gdb to examine the uninitialized bits of the "addr" field.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c
    	(tui_source_window_base::set_is_exec_point_at): Add check against
    	LOA_ADDRESS.

commit 17568d782d96434537fe9698c5ebcb09f35c20cb
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 14:28:11 2019 -0600

    Remove NULL checks before xfree
    
    A couple of spots in the TUI did a NULL check before an xfree.  This
    isn't necessary, and most other cases were removed from gdb a while
    ago.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-source.c (tui_set_source_content): Don't check before
    	xfree.
    	* tui/tui-disasm.c (tui_disassemble): Don't check before xfree.

commit 53e7cdbaa1d8c0c53038226de07d8160d7f66d82
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 14:27:04 2019 -0600

    Remove union tui_which_element
    
    This removes union tui_which_element, instead moving the content
    directly into tui_source_window_base.  This allows for the deletion of
    a fair amount of code.  Now the TUI window hierarchy is more
    type-safe.  In particular, there is never any confusion now about
    which members are in use by which subtype.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_update_source_window_as_is)
    	(tui_alloc_source_buffer, tui_line_is_displayed)
    	(tui_addr_is_displayed): Change type of win_info.
    	* tui/tui-winsource.c (tui_update_source_window_as_is)
    	(tui_clear_source_content, tui_show_source_line)
    	(tui_show_source_content, tui_source_window_base::refill)
    	(tui_source_window_base::set_is_exec_point_at)
    	(tui_source_window_base::set_is_exec_point_at)
    	(tui_update_breakpoint_info, tui_set_exec_info_content): Update.
    	(tui_alloc_source_buffer, tui_line_is_displayed)
    	(tui_addr_is_displayed): Change type of win_info.  Update.
    	* tui/tui-win.c (tui_resize_all, tui_adjust_win_heights)
    	(tui_source_window_base::do_make_visible_with_new_height):
    	Update.
    	* tui/tui-source.c (tui_set_source_content)
    	(tui_set_source_content_nil)
    	(tui_source_window::do_scroll_vertical): Update.
    	* tui/tui-layout.c (show_layout): Update.
    	* tui/tui-disasm.c (tui_set_disassem_content)
    	(tui_disasm_window::do_scroll_vertical): Update.
    	* tui/tui-data.h (tui_win_content): Remove.
    	(struct tui_gen_win_info) <content, content_size>: Remove.
    	(struct tui_source_element): Add initializers and destructor.
    	(union tui_which_element, struct tui_win_element): Remove.
    	(struct tui_source_window_base) <content>: New field.
    	(struct tui_data_window): Remove destructor.
    	(tui_alloc_content, tui_free_win_content)
    	(tui_free_all_source_wins_content): Don't declare.
    	* tui/tui-data.c (tui_initialize_static_data): Update.
    	(init_content_element, tui_alloc_content): Remove.
    	(~tui_gen_win_info): Update.
    	(~tui_data_window, tui_free_all_source_wins_content)
    	(tui_free_win_content, free_content, free_content_elements):
    	Remove.

commit 7908abbf18dde6d3163758e447d72d6d2b267927
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 12:21:34 2019 -0600

    More type safety for TUI source window functions
    
    A few functions can only operate on a source or disassembly window.
    This patch adds a bit more type safety to a few of these functions.
    This simplifies a subsequent patch.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_clear_source_content)
    	(tui_erase_source_content, tui_show_source_content): Change type
    	of win_info.
    	* tui/tui-winsource.c (tui_clear_source_content)
    	(tui_erase_source_content, tui_show_source_content): Change type
    	of win_info.
    	* tui/tui-win.c (tui_resize_all, tui_adjust_win_heights): Update.
    	* tui/tui-source.h (tui_set_source_content_nil): Change type of
    	win_info.
    	* tui/tui-source.c (tui_set_source_content_nil): Change type of
    	win_info.
    	* tui/tui-layout.c (show_source_or_disasm_and_command): Update.

commit 02c28df011542448e99041e32bec331c92b39945
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 10:25:03 2019 -0600

    Use bool for is_exec_point
    
    This changes tui_source_element::is_exec_point to be a bool.  I looked
    at also changing "has_break", but it turns out that this field is used
    inconsistently (sometimes as flags and sometimes as a bool), and so
    needs more invesstigation before it can be changed.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_clear_source_content)
    	(tui_source_window_base::set_is_exec_point_at): Update.
    	* tui/tui-source.c (tui_set_source_content_nil): Update.
    	* tui/tui-data.h (struct tui_source_element) <is_exec_point>: Now
    	a bool.
    	* tui/tui-data.c (init_content_element): Update.

commit 6658b1bf6c2d8d9383826bdfd4068b77d38b3b94
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 23 08:27:55 2019 -0600

    Fix "auxiliary" typo
    
    The TUI has a function called tui_win_is_auxillary, but the word
    should actually be spelled "auxiliary".  This fixes the typo.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (tui_gen_win_info::make_visible): Update.
    	* tui/tui-win.c (make_invisible_and_set_new_height): Update.
    	* tui/tui-layout.c (init_and_make_win): Update.
    	* tui/tui.h (enum tui_win_type): Update.
    	* tui/tui-data.h (tui_win_is_auxiliary): Rename from
    	tui_win_is_auxillary.
    	* tui/tui-data.c (tui_win_is_auxiliary): Rename from
    	tui_win_is_auxillary.

commit 21e1c91ef99c3785d1c31314dff574747b4b6e68
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jun 22 12:49:06 2019 -0600

    Separate out data window
    
    This removes "data_window" from union tui_which_element and updates
    the uses.  It also changes how tui_data_window refers to the register
    data, and changes it not to need the "content" field at all (though as
    this is in a base class, it can't yet be removed).
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (tui_data_window::refresh_window): Update.
    	* tui/tui-windata.c (tui_data_window::first_data_item_displayed)
    	(tui_delete_data_content_windows, tui_display_all_data)
    	(tui_data_window::do_scroll_vertical, tui_display_data_from):
    	Update.
    	* tui/tui-win.c (tui_data_window::set_new_height): Simplify.
    	* tui/tui-regs.c (tui_last_regs_line_no)
    	(tui_line_from_reg_element_no, tui_first_reg_element_no_inline)
    	(tui_show_registers): Update.
    	(tui_show_register_group): Return void.  Update.
    	(tui_display_registers_from, tui_display_reg_element_at_line)
    	(tui_display_registers_from_line, tui_check_register_values):
    	Update.
    	* tui/tui-data.h (union tui_which_element) <data_window>: Remove
    	member.
    	(struct tui_data_window) <regs_content>: Now a std::vector.
    	<regs_content_count>: Remove.
    	(tui_add_content_elements, tui_free_data_content): Don't declare.
    	* tui/tui-data.c (tui_data_window::clear_detail): Update.
    	(init_content_element): Remove DATA_WIN case.  Add assert.
    	(tui_add_content_elements): Remove.
    	(tui_data_window): Update.
    	(tui_free_data_content): Remove.
    	(free_content_elements): Remove DATA_WIN case.

commit 115ac53b852ed91e23d97e8357f24216609fa86f
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jun 22 12:07:13 2019 -0600

    Remove "data_content" and "data_content_count" from TUI data window
    
    The TUI has some stub code for adding data other than registers to the
    data window.  However, it doesn't do anything, and apparently never
    has.  This removes the dead code.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.c (tui_data_item_window): Update.
    	* tui/tui-windata.h (tui_check_data_values): Don't declare.
    	* tui/tui-windata.c (tui_display_all_data)
    	(tui_display_data_from_line): Update.
    	(tui_check_data_values): Remove.
    	* tui/tui-regs.c (tui_show_register_group)
    	(tui_display_reg_element_at_line): Update.
    	* tui/tui-hooks.c (tui_register_changed)
    	(tui_refresh_frame_and_register_information): Call
    	tui_check_register_values.
    	* tui/tui-data.h (struct tui_data_window) <data_content,
    	data_content_count, data_type>: Remove.
    	(enum tui_data_type): Remove.

commit eaf9738bedf8de68d4bf8eafd0689cf1973648aa
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jun 22 11:55:33 2019 -0600

    Turn tui_first_data_item_displayed into a method
    
    tui_first_data_item_displayed is only called from tui_data_window
    methods, so turn it into a method as well.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-windata.h (tui_first_data_item_displayed): Don't
    	declare.
    	* tui/tui-windata.c (tui_data_window::first_data_item_displayed):
    	Rename from tui_first_data_item_displayed.  Update.
    	(tui_data_window::refresh_all)
    	(tui_data_window::do_scroll_vertical): Update.
    	* tui/tui-data.h (struct tui_data_window)
    	<first_data_item_displayed>: Declare new method.

commit 31ca47237fed3db1d912127a386cad6ffbb06750
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jun 22 11:45:58 2019 -0600

    Remove tui_init_generic_part
    
    tui_init_generic_part has a single caller, so simply inline it there.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (tui_init_generic_part): Don't declare.
    	* tui/tui-data.c (tui_init_generic_part): Remove, moving
    	contents...
    	(tui_initialize_static_data): ...here.

commit 41bcff7feefea958e7be1656e087cae4d54a2af9
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jun 22 00:20:39 2019 -0600

    Separate out data item window
    
    This introduces a new subclass of tui_gen_win_info for the data item
    windows, letting us remove another element from tui_which_element.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.c (tui_show_registers, tui_show_register_group)
    	(tui_display_registers_from, tui_check_register_values): Update.
    	(tui_display_register): Remove win_info parameter; update.
    	(tui_get_register): Change type of parameters.
    	* tui/tui-data.h (struct tui_data_element): Remove.
    	(union tui_which_element) <data>: Remove.
    	<data_window>: Change type.
    	(struct tui_data_item_window): New.
    	* tui/tui-data.c (init_content_element): Remove DATA_ITEM_WIN
    	case.  Add assert.
    	(~tui_data_item_window): New destructor.
    	(free_content_elements): Remove DATA_ITEM_WIN case.

commit d2802c33429eb73303dc610401f5d7d27e071ff2
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jun 22 00:00:11 2019 -0600

    Remove two unused enum constants from tui_win_type
    
    This removes a couple of unused constants from enum tui_win_type.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.h (enum tui_win_type) <MAX_WINDOWS, UNDEFINED_WIN>:
    	Remove.

commit dd835f8b70a2dfb4d8b84a4744606a9c922aeb25
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 21 06:16:06 2019 -0600

    Remove command from tui_which_element
    
    union tui_which_element has a "command" member, but it is never used.
    This removes it.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (struct tui_command_element): Remove.
    	(union tui_which_element) <command>: Remove.
    	* tui/tui-data.c (init_content_element): Remove CMD_WIN case.  Add
    	assert.
    	(free_content_elements): Remove CMD_WIN case.

commit bd7db367c4bc72bef9c7848b99aaaa1431cf1672
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 21 06:12:48 2019 -0600

    Remove layout_def::split
    
    The "split" field in struct layout_def is never used, so this patch
    removes it.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (tui_set_layout): Update.
    	* tui/tui-data.h (struct tui_layout_def) <split>: Remove.
    	* tui/tui-data.c (layout_def): Update.

commit 3add462fff33beb0e6f1480d3853eb56d664b438
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jun 20 20:16:07 2019 -0600

    Separate out locator window
    
    This introduces a new subclass of tui_gen_win_info for the locator,
    letting us remove another element from union tui_which_element.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (tui_refresh_all): Update.
    	* tui/tui-win.c (tui_resize_all, tui_adjust_win_heights)
    	(tui_source_window_base::set_new_height): Update.
    	* tui/tui-stack.c (tui_make_status_line): Change parameter type.
    	Update.
    	(tui_set_locator_fullname, tui_set_locator_info)
    	(tui_show_frame_info): Update.
    	* tui/tui-source.c (tui_set_source_content)
    	(tui_source_is_displayed): Update.
    	* tui/tui-layout.c (show_source_disasm_command, show_data)
    	(show_source_or_disasm_and_command): Update.
    	* tui/tui-disasm.c (tui_set_disassem_content)
    	(tui_get_begin_asm_address): Update.
    	* tui/tui-data.h (struct tui_locator_element): Remove.
    	(union tui_which_element) <locator>: Remove.
    	(struct tui_locator_window): New.
    	(tui_locator_win_info_ptr): Change return type.
    	* tui/tui-data.c (_locator): Change type.
    	(tui_locator_win_info_ptr): Change return type.
    	(init_content_element): Remove LOCATOR_WIN case.  Add assert.
    	(tui_alloc_content): Add assert.

commit 489e9d8b7bb3337a7f4f902a03c176c22faeabc7
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jun 20 19:59:06 2019 -0600

    Separate out execution-info window
    
    This pulls the EXEC_INFO_WIN case out into its own subclass of
    tui_gen_win_info.  This lets us remove an element from
    union tui_which_element.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c
    	(tui_exec_info_window::maybe_allocate_content): New method.
    	(tui_set_exec_info_content, tui_show_exec_info_content): Update.
    	* tui/tui-layout.c (init_and_make_win): Add EXEC_INFO_WIN case.
    	(make_source_or_disasm_window): Add cast.
    	* tui/tui-data.h (union tui_which_element) <simple_string>:
    	Remove.
    	(struct tui_source_info): New.
    	(struct tui_source_window_base) <execution_info>: Change type.
    	* tui/tui-data.c (init_content_element): Remove EXEC_INFO_WIN
    	case, and add assert.
    	(tui_alloc_content): Add assert.

commit c3fabb7d69b3735bc6042a2992729944c8ced62c
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jun 20 15:31:00 2019 -0600

    Remove tui_alloc_win_info
    
    There is only a single caller of tui_alloc_win_info, and we're going
    to add more "new" cases to that caller, so remove tui_alloc_win_info
    and inline it into init_and_make_win.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (tui_alloc_win_info): Don't declare.
    	* tui/tui-layout.c (init_and_make_win): Use "new" directly.
    	* tui/tui-data.c (tui_alloc_win_info): Remove.

commit bbc228ee056cd006e971d5f1cb70ae0f69c1eb36
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jun 20 15:22:53 2019 -0600

    Don't check window type in tui_set_win_focus_to
    
    This changes tui_set_win_focus_to so that it no longer checks the
    window type.  Instead, now tui_unhighlight_win also checks whether the
    window can be highlighted.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_set_win_focus_to): Don't check window type.
    	* tui/tui-wingeneral.c (tui_unhighlight_win): Check
    	can_highlight.

commit 5fcee43a960f0735c53a7c24823b2e4bc1460b9f
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 17 21:11:56 2019 -0600

    Introduce tui_win_info::make_visible_with_new_height
    
    This changes make_visible_with_new_height to be a method on
    tui_win_info, letting us remove a spot that checks the window type.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_source_window_base::update_tab_width): Call
    	make_visible_with_new_height method.
    	(tui_win_info::make_visible_with_new_height): New method.
    	(tui_source_window_base::do_make_visible_with_new_height)
    	(tui_data_window::do_make_visible_with_new_height)
    	(tui_cmd_window::do_make_visible_with_new_height): New methods.
    	(make_visible_with_new_height): Remove.
    	(tui_resize_all, tui_adjust_win_heights): Use
    	make_visible_with_new_height method.
    	* tui/tui-data.h (struct tui_win_info)
    	<do_make_visible_with_new_height, make_visible_with_new_height>:
    	New methods.
    	(struct tui_source_window_base, struct tui_data_window)
    	(struct tui_cmd_window) <do_make_visible_with_new_height>: New
    	methods.

commit d83f1fe65da075aa08ac7d6b6ef3508587c94600
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 17 18:48:00 2019 -0600

    Introduce tui_win_info::update_tab_width
    
    This introduces a new tui_win_info::update_tab_width method, and
    changes the TUI to call it.  This fixes another spot that was checking
    the window type.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_source_window_base::update_tab_width): New
    	method.
    	(update_tab_width): Call update_tab_width method.
    	* tui/tui-data.h (struct tui_win_info)
    	(struct tui_source_window_base) <update_tab_width>: New methods.

commit 17374de40e7be36e4eb27d29bb8aac89586ce4a1
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 17 17:15:23 2019 -0600

    Introduce enum tui_box
    
    This adds a new enum to the TUI, replacing two #define constants,
    providing better type safety.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.h (tui_make_window): Change type of "box_it"
    	parameter.
    	* tui/tui-wingeneral.c (tui_make_window): Change type of "box_it"
    	parameter.
    	(tui_gen_win_info::make_visible): Update.
    	* tui/tui-layout.c (init_and_make_win): Change type of "box_it"
    	parameter.
    	* tui/tui-data.h (enum tui_box): New enum.
    	(BOX_WINDOW, DONT_BOX_WINDOW): Remove defines.

commit f936bca26dd7593a3b792e76eba37c5de2374961
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 17 15:45:14 2019 -0600

    Remove some TUI static allocations
    
    The TUI statically allocates the "execution_info" for the source and
    disassembly windows.  However, there's no deep reason to do this, and
    this approach makes it harder to allow multiple such windows.
    
    This patch removes the static data and changes the code to simply
    allocate these windows as needed.  This required pushing some code
    into the tui_gen_win_info destructor, but that seems like a good idea
    anyhow.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (make_source_or_disasm_window): Always use
    	init_and_make_win for EXEC_INFO_WIN.
    	* tui/tui-data.h (struct tui_gen_win_info) <~tui_gen_win_info>: No
    	longer inline.
    	(struct tui_win_info) <~tui_win_info>: Inline.
    	(tui_source_exec_info_win_ptr, tui_disassem_exec_info_win_ptr):
    	Don't declare.
    	* tui/tui-data.c (source_win, disasm_win): Remove globals.
    	(tui_source_exec_info_win_ptr, tui_disassem_exec_info_win_ptr):
    	Remove.
    	(tui_initialize_static_data): Update.
    	(~tui_gen_win_info): Handle more cleanup here.
    	(~tui_source_window_base): Delete "execution_info".
    	(~tui_win_info): Move code to ~tui_gen_win_info; remove.

commit d6ba6a11642cdbec4ce91fefe455920b5c073f60
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 17 14:08:44 2019 -0600

    Introduce tui_gen_win_info::reset method
    
    This introduces the tui_gen_win_info::reset method and changes various
    places to use it.  This led to the realization that the can_highlight
    member only needs to be set during construction, so this patch makes
    that change as well.  Finally, init_and_make_win is drastically
    simplified.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (make_command_window): Don't set
    	can_highlight.
    	(show_source_disasm_command): Call the reset method.
    	(show_data): Don't set can_highlight.  Call the reset method.
    	(tui_gen_win_info::reset): Rename from init_gen_win_info
    	(init_and_make_win): Simplify.  Return tui_gen_win_info.
    	(show_source_or_disasm_and_command): Call the reset method.
    	* tui/tui-data.h (struct tui_gen_win_info) <reset>: New method.
    	(struct tui_cmd_window): Set can_highlight.

commit 48a3bd16c2189174f601600dc6cceedd68e908b6
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 17 13:19:15 2019 -0600

    Move make_visible method to tui_gen_win_info
    
    This moves the make_visible method from tui_win_info to its base
    class, tui_gen_win_info.  This allows the removal of another window
    type check.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (tui_gen_win_info::make_visible): Rename
    	from make_visible.
    	(tui_make_visible, tui_make_invisible): Rewrite.
    	(tui_win_info::make_visible): Remove.
    	(tui_source_window_base::make_visible): Update.
    	* tui/tui-data.h (struct tui_gen_win_info) <make_visible>: New
    	method.  Moved from...
    	(struct tui_win_info) <make_visible>: ...here.

commit c3bd716ffc20cada32e8a18a209638b578d47f5e
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 17 12:56:39 2019 -0600

    Remove tui_scroll_direction enum
    
    The tui_scroll_direction enum is not really needed, because it's
    simple to adapt the various scrolling methods to use the sign of their
    argument as the direction in which to scroll.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c
    	(tui_source_window_base::do_scroll_horizontal): Remove direction
    	parameter.
    	* tui/tui-windata.c (tui_data_window::do_scroll_vertical): Remove
    	direction parameter.
    	* tui/tui-win.c (tui_win_info::forward_scroll)
    	(tui_win_info::backward_scroll, tui_win_info::left_scroll)
    	(tui_win_info::right_scroll): Update.
    	* tui/tui-source.c (tui_source_window::do_scroll_vertical): Remove
    	direction parameter.
    	* tui/tui-disasm.c (tui_disasm_window::do_scroll_vertical): Remove
    	direction parameter.
    	* tui/tui-data.h (enum tui_scroll_direction): Remove.
    	(struct tui_win_info) <do_scroll_vertical, do_scroll_horizontal>:
    	Remove direction parameter.
    	(struct tui_source_window_base, struct tui_source_window)
    	(struct tui_disasm_window, struct tui_data_window)
    	(struct tui_cmd_window): Update.

commit 21c32dca764039afd3517954f6dd0a23d0c9e16c
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 17 12:51:29 2019 -0600

    Change more TUI functions to take a tui_source_window_base
    
    Several more TUI functions should only be called with a source or
    disassembly window.  This patch changes these functions so that this
    can be caught at compile time.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_set_exec_info_content)
    	(tui_show_exec_info_content, tui_erase_exec_info_content)
    	(tui_clear_exec_info_content, tui_update_exec_info): Change
    	argument to tui_source_window_base.
    	* tui/tui-winsource.c (tui_set_exec_info_content)
    	(tui_show_exec_info_content, tui_erase_exec_info_content)
    	(tui_clear_exec_info_content, tui_update_exec_info): Change
    	argument to tui_source_window_base.

commit 73fbdc65a1f3da143e604d95443dc11ee86af710
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 17:51:34 2019 -0600

    Change tui_set_exec_info_content to return void
    
    tui_set_exec_info_content can't return an error, so change it to
    return void instead.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_set_exec_info_content): Return void.
    	* tui/tui-winsource.c (tui_set_exec_info_content): Return void.

commit 3332534318eb10a77e441307d28336996325558c
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 17:51:01 2019 -0600

    Remove NULL check from tui_set_exec_info_content
    
    tui_set_exec_info_content ensures that the window's "execution_info"
    is allocated, so the NULL check here is redundant and can be removed.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_set_exec_info_content): Remove NULL
    	check.

commit 29d2c474f5a397017455da82e6dbc72629186359
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 17:49:41 2019 -0600

    Change tui_alloc_source_buffer return type to void
    
    tui_alloc_source_buffer can't actually fail, so change its return type
    to void and update the callers.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_alloc_source_buffer): Change return
    	type to void.
    	* tui/tui-winsource.c (tui_alloc_source_buffer): Change return
    	type to void.
    	* tui/tui-source.c (tui_set_source_content): Update.
    	* tui/tui-disasm.c (tui_set_disassem_content): Update.

commit 152f3f4b3342ae16df5ae0640896b8cea008c893
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 16:35:31 2019 -0600

    Introduce tui_gen_win_info::name method
    
    This removes tui_win_name and replaces it with a method on
    tui_gen_win_info, removing another spot that switched on window type.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (window_name_completer, tui_set_focus)
    	(tui_all_windows_info): Use name method.
    	* tui/tui-data.h (struct tui_gen_win_info)
    	(struct tui_source_window, struct tui_disasm_window)
    	(struct tui_data_window, struct tui_cmd_window) <name>: New
    	method.
    	(tui_win_name): Don't declare.
    	* tui/tui-data.c (tui_partial_win_by_name): Use name method.
    	(tui_win_name): Remove.

commit be4da58857ee4a26b7e58893211ea4f54922e8fd
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 16:31:37 2019 -0600

    Change tui_update_source_window for better type safety
    
    tui_update_source_window can only be called for source and disassembly
    windows, so change the argument type to enforce this at compile time.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_update_source_window)
    	(tui_update_source_window_as_is): Change parameter type.
    	* tui/tui-winsource.c (tui_update_source_window): Change win_info
    	to be a tui_source_window_base.
    	(tui_update_source_window_as_is): Likewise.
    	* tui/tui-win.c (make_visible_with_new_height): Update.

commit 5b81daba91b035ce98fb7be4970fc2be0183f6ea
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 16:28:12 2019 -0600

    Introduce refresh_window method
    
    This replaces tui_refresh_win with a new refresh_window method.  This
    removes another spot that was checking the window's type.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_erase_source_content)
    	(tui_show_source_content, tui_show_exec_info_content)
    	(tui_erase_exec_info_content): Use refresh_window method.
    	* tui/tui-wingeneral.h (tui_refresh_win): Don't declare.
    	* tui/tui-wingeneral.c (tui_gen_win_info::refresh_window): Rename
    	from tui_refresh_win.
    	(tui_data_window::refresh_window): New method.
    	(tui_win_info::refresh, tui_source_window_base::refresh)
    	(tui_refresh_all): Use refresh_window method.
    	* tui/tui-stack.c (tui_show_locator_content): Call refresh_window
    	method.
    	* tui/tui-regs.c (tui_display_register): Call refresh_window
    	method.
    	* tui/tui-layout.c (show_source_disasm_command)
    	(show_source_or_disasm_and_command): Call refresh_window method.
    	* tui/tui-data.h (struct tui_gen_win_info)
    	(struct tui_data_window, struct tui_cmd_window) <refresh_window>:
    	New method.

commit cb2ce89305264543a4014d98bacb26800d92d394
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 16:03:54 2019 -0600

    Derive tui_win_info from tui_gen_win_info
    
    This changes tui_win_info to derive from tui_gen_win_info, rather than
    having a tui_gen_win_info as a member.  This removes a layer of member
    access from the entire TUI, which is why this patch is so large.  This
    change will enable further removal of switches based on window type.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.c (tui_rl_other_window, tui_enable)
    	(tui_is_window_visible, tui_get_command_dimension): Update.
    	* tui/tui-winsource.c (tui_update_source_window_as_is)
    	(tui_clear_source_content, tui_erase_source_content)
    	(tui_show_source_line, tui_source_window_base::refill)
    	(tui_source_window_base::do_scroll_horizontal)
    	(tui_source_window_base::set_is_exec_point_at)
    	(tui_update_breakpoint_info, tui_set_exec_info_content)
    	(tui_alloc_source_buffer, tui_line_is_displayed)
    	(tui_addr_is_displayed): Update.
    	* tui/tui-wingeneral.c (tui_unhighlight_win, tui_highlight_win)
    	(tui_check_and_display_highlight_if_needed)
    	(tui_win_info::make_visible, tui_win_info::refresh)
    	(tui_refresh_all): Update.
    	* tui/tui-windata.c (tui_first_data_item_displayed)
    	(tui_delete_data_content_windows, tui_erase_data_content)
    	(tui_display_all_data, tui_data_window::refresh_all)
    	(tui_check_data_values): Update.
    	* tui/tui-win.c (window_name_completer, tui_update_gdb_sizes)
    	(tui_set_win_focus_to, tui_win_info::forward_scroll)
    	(tui_win_info::backward_scroll, tui_refresh_all_win)
    	(tui_resize_all, tui_set_focus, tui_all_windows_info)
    	(update_tab_width, tui_set_win_height, tui_adjust_win_heights)
    	(tui_source_window_base::set_new_height)
    	(tui_data_window::set_new_height)
    	(make_invisible_and_set_new_height)
    	(make_visible_with_new_height, new_height_ok)
    	(parse_scrolling_args): Update.
    	* tui/tui-stack.c (tui_show_frame_info): Update.
    	* tui/tui-source.c (tui_set_source_content)
    	(tui_set_source_content_nil, tui_source_is_displayed)
    	(tui_source_window::do_scroll_vertical): Update.
    	* tui/tui-regs.c (tui_show_registers, tui_show_register_group)
    	(tui_display_registers_from, tui_display_reg_element_at_line)
    	(tui_check_register_values, tui_reg_command): Update.
    	* tui/tui-layout.c (tui_default_win_height)
    	(show_source_disasm_command, show_data, init_and_make_win)
    	(show_source_or_disasm_and_command): Update.
    	* tui/tui-io.c (update_cmdwin_start_line, tui_putc, tui_puts)
    	(tui_redisplay_readline, tui_mld_flush)
    	(tui_mld_erase_entire_line, tui_mld_getc, tui_cont_sig)
    	(tui_getc): Update.
    	* tui/tui-disasm.c (tui_set_disassem_content)
    	(tui_disasm_window::do_scroll_vertical): Update.
    	* tui/tui-data.h (struct tui_gen_win_info) <~tui_gen_win_info>:
    	Now virtual.
    	(struct tui_win_info): Derive from tui_gen_win_info.
    	<~tui_win_info>: Mark as override.
    	<generic>: Remove member.
    	* tui/tui-data.c (tui_cmd_window::clear_detail, tui_next_win)
    	(tui_prev_win, tui_partial_win_by_name, tui_win_info)
    	(~tui_data_window, ~tui_win_info)
    	(tui_free_all_source_wins_content): Update.
    	* tui/tui-command.c (tui_refresh_cmd_win): Update.

commit ab313b35e505ccab9c23acbe82087b6c22a2088d
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 15:56:24 2019 -0600

    Use new and delete for tui_gen_win_info
    
    This changes tui_gen_win_info to be allocated with new and destroyed
    with delete.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (init_and_make_win): Use new.
    	* tui/tui-data.h (struct tui_gen_win_info): Add constructor,
    	destructor, initializers.
    	(tui_alloc_generic_win_info): Don't declare.
    	* tui/tui-data.c (_locator): Add argument to constructor.
    	(source_win, disasm_win): New globals.
    	(exec_info): Remove.
    	(tui_source_exec_info_win_ptr, tui_disassem_exec_info_win_ptr):
    	Update.
    	(tui_alloc_generic_win_info): Remove.
    	(init_content_element): Use new.
    	(tui_win_info::tui_win_info): Update.
    	(free_content_elements) <case DATA_WIN>: Use delete.

commit dc2c33e4562e0af441a9c8acff0400a78cb45d98
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 15:53:36 2019 -0600

    Change tui_which_element::data_window to be a pointer
    
    A coming patch will add a constructor to tui_gen_win_info.  However,
    because the tui_which_element union contains an object of this type,
    first something must be done here in order to avoid having a union
    with a member that has a constructor.  This patch changes this element
    to be a pointer instead.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (tui_refresh_win): Update.
    	* tui/tui-windata.c (tui_first_data_item_displayed)
    	(tui_delete_data_content_windows): Update.
    	* tui/tui-win.c (tui_data_window::set_new_height): Update.
    	* tui/tui-regs.c (tui_show_registers, tui_show_register_group)
    	(tui_display_registers_from, tui_check_register_values): Update.
    	* tui/tui-data.h (union tui_which_element) <data_window>: Now a
    	pointer.
    	* tui/tui-data.c (init_content_element): Update.  Allocate the new
    	window.
    	(tui_free_data_content): Update.
    	(free_content_elements) <case DATA_WIN>: Free the window.

commit 214a5cbea656f3ffc1e7e525627c56849347c709
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 15:28:03 2019 -0600

    Introduce set_highlight method
    
    This introduces the tui_win_info::set_highlight method, and changes
    the highlighting-related code to use bool rather than int.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (tui_unhighlight_win, tui_highlight_win):
    	Update.
    	* tui/tui-layout.c (make_command_window)
    	(show_source_disasm_command, show_data, init_and_make_win)
    	(show_source_or_disasm_and_command): Update.
    	* tui/tui-data.h (struct tui_win_info) <set_highlight>: New
    	method.
    	<can_highight, is_highlighted>: Now bool.
    	(tui_set_win_highlight): Don't declare.
    	* tui/tui-data.c (tui_set_win_highlight): Remove.

commit 8e2daf1532e587fee8d14aab1baad40e628065e2
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 15:17:52 2019 -0600

    Remove redundant check from make_visible
    
    This removes a check of the window type from make_visible.  This
    function already checks that the window type is not CMD_WIN near the
    top, so this condition can never be false.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (make_visible): Remove check of window
    	type.

commit 8903bd8a37f905f5d77d2e04219e1a1eddaa6133
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 15:16:52 2019 -0600

    Introduce max_height method
    
    This introduces the tui_win_info::max_height method and changes
    new_height_ok to use it, rather than checking the window type
    directly.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_win_info::max_height)
    	(tui_cmd_window::max_height): New methods.
    	(new_height_ok): Call max_height.
    	* tui/tui-data.h (struct tui_win_info, struct tui_cmd_window)
    	<max_height>: New method.

commit 3f02ce1e3df15731872befd2e711854b2b259745
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 15:12:25 2019 -0600

    Introduce set_new_height method
    
    This introduces tui_win_info::set_new_height and implements it in the
    subclasses as appropriate.  This removes another switch on the window
    type.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_source_window_base::set_new_height)
    	(tui_data_window::set_new_height): New methods.
    	(make_invisible_and_set_new_height): Call set_new_height method.
    	* tui/tui-data.h (struct tui_win_info)
    	(struct tui_source_window_base, struct tui_data_window)
    	<set_new_height>: New method.

commit 1825f487ae903438eb2a9b6f461337d8ec1b06c0
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 14:52:08 2019 -0600

    Introduce the refresh_all method
    
    This introduces the tui_win_info::refresh_all method and implements it
    as needed in subclasses.  The name and comment are a bit of a guess on
    my part.  The main benefit of this patch is removing another switch on
    the type of the window.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.c (tui_rl_other_window): Call the refresh_all method.
    	* tui/tui-windata.c (tui_data_window::refresh_all): Rename from
    	tui_refresh_data_win.
    	* tui/tui-win.c (tui_source_window_base::refresh_all): New
    	method.
    	(tui_refresh_all_win): Call the refresh_all method.
    	(tui_set_focus): Likewise.
    	* tui/tui-data.h (struct tui_win_info) <refresh_all>: New method.
    	(struct tui_source_window_base, struct tui_data_window) <refresh>:
    	Likewise.

commit ad54d15bdb71b05010ece1ef32ab22ab46794166
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 14:43:56 2019 -0600

    Introduce two TUI source window methods
    
    This adds two methods to the TUI source window.  These are just
    renamings of existing functions.  It also changes the source window
    list to have a more precise type, letting the code be more type-safe.
    This will be useful again later.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_refill_source_window)
    	(tui_set_is_exec_point_at): Don't declare.
    	* tui/tui-winsource.c (tui_update_source_windows_with_addr)
    	(tui_source_window_base::refill): Rename from
    	tui_refill_source_window.
    	(tui_source_window_base::do_scroll_horizontal): Update.
    	(tui_source_window_base::set_is_exec_point_at): Rename from
    	tui_set_is_exec_point_at.
    	(tui_update_all_breakpoint_info): Update.
    	* tui/tui-stack.c (tui_show_frame_info): Update.
    	* tui/tui-layout.c (show_data): Add cast.
    	* tui/tui-hooks.c (tui_redisplay_source): Call refill method.
    	* tui/tui-data.h (struct tui_source_window_base) <refill,
    	set_is_exec_point_at>: New methods.
    	(tui_source_windows, tui_add_to_source_windows): Update types.
    	(tui_add_to_source_windows): Remove redundant declaration.
    	* tui/tui-data.c (source_windows): Store tui_source_window_base.
    	(tui_source_windows): Change return type.
    	(tui_clear_source_windows_detail): Update.
    	(tui_add_to_source_windows): Change type of parameter.
    	(tui_free_all_source_wins_content): Update.

commit 2042b506c85274b4c652fbc9291be65b2550104d
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 14:27:28 2019 -0600

    Introduce the refresh method
    
    This adds tui_win_info::refresh and updates tui_source_window_base to
    implement it as well.  This lets us simplify tui_refresh_all, removing
    a check of the window type.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (tui_win_info::refresh)
    	(tui_source_window_base::refresh): New methods.
    	(tui_refresh_all): Call the refresh method.
    	* tui/tui-data.h (struct tui_win_info)
    	(struct tui_source_window_base) <refresh>: New method.

commit 56122977c04496325ca9d83231e7751ab94d6b14
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 14:24:42 2019 -0600

    Use bool for visibility
    
    This changes the visibility-related functions and data members in the
    TUI to use bool rather than int.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui.h (tui_is_window_visible): Return bool.
    	* tui/tui.c (tui_is_window_visible): Return bool.
    	* tui/tui-wingeneral.c (tui_make_window, make_visible)
    	(tui_make_visible, tui_make_invisible)
    	(tui_win_info::make_visible)
    	(tui_source_window_base::make_visible, make_all_visible)
    	(tui_make_all_visible, tui_make_all_invisible): Update.
    	* tui/tui-windata.c (tui_delete_data_content_windows): Update.
    	* tui/tui-data.h (struct tui_gen_win_info) <is_visible>: Now
    	bool.
    	(struct tui_win_info, struct tui_source_window_base)
    	(struct tui_cmd_window) <make_visible>: Change parameter to bool.
    	* tui/tui-data.c (tui_init_generic_part): Update.

commit cda37efbffb63e2634ea0600fdad2de6a8f9f3ad
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 14:22:21 2019 -0600

    Introduce make_visible method
    
    This introduceds the make_visible to tui_win_info and overrides it in
    subclasses as appropriate.  This allows the removal of the
    tui_win_is_source_type, as it is no longer used.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-wingeneral.c (tui_win_info::make_visible)
    	(tui_source_window_base::make_visible): New methods.
    	(make_all_visible): Make method call.
    	* tui/tui-data.h (struct tui_win_info) <make_visible>: New method.
    	(struct tui_source_window_base, struct tui_cmd_window): Override
    	make_visible.
    	(tui_win_is_source_type): Don't declare.
    	* tui/tui-data.c (tui_win_is_source_type): Remove.

commit 6a0ee02c22b78b6d49fda99b6f2f9154d0cb0a47
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 14:14:10 2019 -0600

    Remove an unneeded NULL check
    
    show_source_or_disasm_and_command will either create or reset the
    source window, so the final NULL check is not necessary.  This patch
    removes it.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (show_source_or_disasm_and_command): Remove
    	NULL check.

commit 63901aeccf923abaca02c8a58b1141d3859d7247
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 14:06:18 2019 -0600

    Inline constructors and initializers
    
    This inlines the constructors and initializers for tui_cmd_window and
    tui_data_window.  This makes the code a bit simpler.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (struct tui_data_window, struct tui_cmd_window):
    	Inline constructor.  Add initializers for members.
    	* tui/tui-data.c (tui_data_window, tui_cmd_window): Remove
    	constructors; now inline in class.

commit ceb13a13822b28d8e1cdc2e02975bb6569d3d8e6
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 14:04:11 2019 -0600

    Change tui_data_window::display_regs to bool
    
    This changes tui_data_window::display_regs to bool and updates the
    uses.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-regs.c (tui_show_registers): Update.
    	* tui/tui-data.h (struct tui_data_window) <display_regs>: Now
    	bool.
    	* tui/tui-data.c (tui_data_window::clear_detail)
    	(tui_data_window): Update.

commit 238eb706f902da8afef1d5e3c9fdfeecf688bac3
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 14:03:04 2019 -0600

    Remove struct tui_data_info
    
    Like the previous two patches, this removes struct tui_data_info in
    favor of inlining its contents into tui_data_window.  This was the
    last member of the tui_win_info detail union, so that is removed.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-windata.c (tui_display_all_data)
    	(tui_display_data_from_line, tui_display_data_from)
    	(tui_check_data_values, tui_data_window::do_scroll_vertical):
    	Update.
    	* tui/tui-regs.c (tui_last_regs_line_no)
    	(tui_line_from_reg_element_no, tui_first_reg_element_no_inline)
    	(tui_show_registers, tui_show_register_group)
    	(tui_display_registers_from, tui_display_reg_element_at_line)
    	(tui_display_registers_from_line, tui_check_register_values)
    	(tui_reg_next, tui_reg_prev): Update.
    	* tui/tui-layout.c (tui_set_layout, show_data): Update.
    	* tui/tui-data.h (struct tui_data_info): Remove.  Move contents to
    	tui_data_window.
    	(struct tui_win_info) <detail>: Remove.  Add new fields from
    	tui_data_info.
    	(TUI_DATA_WIN): Add cast.
    	* tui/tui-data.c (tui_data_window::clear_detail, tui_data_window)
    	(~tui_data_window): Simplify.

commit 81491aa0968e5bcab0388914f909ccb12e084e32
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 13:55:51 2019 -0600

    Remove struct tui_command_info
    
    Like the previous patch, this removes tui_command_info in favor of
    putting it elements directly into tui_cmd_window.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (show_source_disasm_command)
    	(show_source_or_disasm_and_command): Update.
    	* tui/tui-io.c (update_cmdwin_start_line)
    	(tui_redisplay_readline): Update.
    	* tui/tui-data.h (struct tui_command_info): Remove.
    	(struct tui_win_info) <detail>: Remove command_info member.
    	(struct tui_data_window) <start_line>: New member, from
    	tui_command_info.
    	(TUI_CMD_WIN): Add casts.

commit e6e4150110bcee66adfadb9f126eb3bb1fd7c054
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 13:46:18 2019 -0600

    Remove struct tui_source_info
    
    The tui_source_info struct is used as a member of the "detail" union
    in tui_win_info, and this member of the union is only used by source
    and disassembly windows.  This patch removes tui_source_info and moves
    its members directly to tui_source_window_base.  This simplifies the
    code by removing a layer of references from many places.  In a few
    spots, a new cast was needed, but most of these will be removed by the
    end of the series.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_update_source_window)
    	(tui_refill_source_window)
    	(tui_source_window_base::do_scroll_horizontal)
    	(tui_update_breakpoint_info, tui_set_exec_info_content)
    	(tui_show_exec_info_content, tui_erase_exec_info_content)
    	(tui_clear_exec_info_content): Update.
    	* tui/tui-wingeneral.c (make_all_visible, tui_refresh_all):
    	Update.
    	* tui/tui-win.c (make_invisible_and_set_new_height)
    	(make_visible_with_new_height): Update.
    	* tui/tui-source.c (tui_set_source_content)
    	(tui_show_symtab_source): Update.
    	* tui/tui-layout.c (extract_display_start_addr)
    	(show_source_disasm_command, show_data)
    	(make_source_or_disasm_window)
    	(show_source_or_disasm_and_command): Update.
    	* tui/tui-disasm.c (tui_set_disassem_content): Simplify.
    	(tui_disasm_window::do_scroll_vertical): Remove shadowing
    	"gdbarch".
    	* tui/tui-data.h (struct tui_source_info): Remove.  Move contents
    	to tui_source_window_base.
    	(struct tui_win_info) <detail>: Remove source_info member.
    	(struct tui_source_window_base) <has_locator>: Inline.
    	Move contents from tui_source_info; rename has_locator member to
    	m_has_locator.
    	(TUI_SRC_WIN, TUI_DISASM_WIN): Add casts.
    	* tui/tui-data.c (tui_source_window_base::has_locator): Move to
    	header file.
    	(tui_source_window_base::clear_detail, ~tui_source_window_base):
    	Simplify.
    	(tui_free_all_source_wins_content): Cast to
    	tui_source_window_base.

commit 44f0e208eb32a7ac469cef2b6760f72534abac09
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 11:37:49 2019 -0600

    Introduce has_locator method
    
    This changes tui_win_has_locator to be a method on tui_win_info, and
    changes the locator code to use bool rather than int.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (make_invisible_and_set_new_height)
    	(make_visible_with_new_height): Call has_locator method.
    	* tui/tui-layout.c (show_source_disasm_command, show_data)
    	(show_source_or_disasm_and_command): Update for bool change.
    	* tui/tui-data.h (struct tui_source_info) <has_locator>: Now bool.
    	(tui_win_info) <has_locator>: New method.
    	(struct tui_source_window_base) <has_locator>: New method.
    	(tui_win_has_locator): Don't declare.
    	* tui/tui-data.c (tui_source_window_base::has_locator): Rename
    	from tui_win_has_locator.
    	(tui_source_window_base): Use false, not FALSE.

commit 7778b9128f46b1bb7af965ae3821f63b05c627ef
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 11:29:45 2019 -0600

    Remove tui_clear_win_detail
    
    An earlier patch changed the context of the sole call to
    tui_clear_win_detail to make it clear that this can never be called
    with a NULL window pointer.  So, remove tui_clear_win_detail in favor
    of calling the method directly.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (tui_clear_win_detail): Don't declare.
    	* tui/tui-data.c (tui_clear_source_windows_detail): Call the
    	clear_detail method directly.
    	(tui_clear_win_detail): Remove.

commit f83d391c5aa3304faf8ef1384a6c64f082653260
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 16:31:56 2019 -0600

    Don't use TUI_DISASM_WIN in tui_disasm_window method
    
    The previous patch made it clear that the diassembly window scrolling
    method was written to assume there could only ever be a single
    disassembly window.  This changes that spot to use "this" rather than
    the TUI_DISASM_WIN global.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-disasm.c (tui_disasm_window::do_scroll_vertical): Use
    	"this", not TUI_DISASM_WIN.

commit 13446e05a363db17f0140b1450fc7df509d2ca37
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 11:22:38 2019 -0600

    Introduce methods for scrolling
    
    This changes the TUI to use virtual methods on the various window
    types for scrolling.  Window-specific functions for this purpose are
    renamed to be methods, and the generic tui_scroll function is removed
    as it is no longer called.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.h (tui_horizontal_source_scroll):  Don't
    	declare.
    	* tui/tui-winsource.c
    	(tui_source_window_base::do_scroll_horizontal): Rename from
    	tui_horizontal_source_scroll.
    	* tui/tui-windata.h (tui_vertical_data_scroll): Don't declare.
    	* tui/tui-windata.c (tui_data_window::do_scroll_vertical): Rename
    	from tui_vertical_data_scroll.
    	* tui/tui-win.h (tui_scroll): Don't declare.
    	* tui/tui-win.c (tui_win_info::forward_scroll)
    	(tui_win_info::backward_scroll, tui_win_info::left_scroll)
    	(tui_win_info::right_scroll): Rename and update.
    	(tui_scroll_forward_command, tui_scroll_backward_command)
    	(tui_scroll_left_command, tui_scroll_right_command): Update.
    	(tui_scroll): Remove.
    	* tui/tui-source.h: Don't declare tui_vertical_source_scroll.
    	* tui/tui-source.c (tui_source_window::do_scroll_vertical): Rename
    	from tui_vertical_source_scroll.
    	* tui/tui-disasm.h (tui_vertical_disassem_scroll): Don't declare.
    	* tui/tui-disasm.c (tui_disasm_window::do_scroll_vertical): Rename
    	from tui_vertical_disassem_scroll.
    	* tui/tui-data.h (struct tui_win_info) <do_scroll_vertical,
    	do_scroll_horizontal>: New methods.
    	<forward_scroll, backward_scroll, left_scroll, right_scroll>:
    	Likewise.
    	(struct tui_source_window_base): Add do_scroll_horizontal.
    	(struct tui_source_window, struct tui_disasm_window): Add
    	do_scroll_vertical.
    	(struct tui_data_window, struct tui_cmd_window): Add
    	do_scroll_horizontal and do_scroll_vertical.
    	* tui/tui-command.c (tui_dispatch_ctrl_char): Use method calls.

commit 5cf82909a7047cee471ee40cfe623250c258d76e
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 11:08:43 2019 -0600

    Create tui_disasm_window
    
    This introduces the new tui_disasm_window class, which represents a
    disassembly window.  It shares a lot of behavior with the source
    window, so a new tui_source_window_base class is also created.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (struct tui_source_window_base): New struct.
    	(struct tui_source_window): Derive from tui_source_window_base.
    	(struct tui_disasm_window): New struct.
    	* tui/tui-data.c (tui_source_window_base::clear_detail): Rename
    	from tui_source_window::clear_detail.
    	(tui_source_window_base): Rename from tui_source_window.
    	(~tui_source_window_base): Rename from ~tui_source_window.
    	(tui_alloc_win_info): Create a tui_disasm_window.

commit ee1d42d6c1a05725868a8ea4855eaa81cbbda635
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 10:52:27 2019 -0600

    Split the tui_win_info destructor
    
    This patch adds destructors to tui_source_window and tui_data_window,
    and splits ~tui_win_info as appropriate.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (struct tui_source_window)
    	(struct tui_data_window): Declare destructors.
    	* tui/tui-data.c (~tui_source_window, ~tui_data_window): New
    	destructors.
    	(tui_win_info): Simplify.

commit b4eb24524b5838141bd3c3998afc81f65302eca1
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 10:49:45 2019 -0600

    Remove tui_list
    
    This removes the tui_list type in favor of a std::vector.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_display_main)
    	(tui_update_source_windows_with_addr)
    	(tui_update_all_breakpoint_info): Update.
    	* tui/tui-win.c (tui_resize_all, tui_adjust_win_heights)
    	(new_height_ok, parse_scrolling_args): Update.
    	* tui/tui-stack.c (tui_show_frame_info): Update.
    	* tui/tui-data.h (struct tui_list): Remove.
    	(tui_source_windows): Return a reference to a std::vector.
    	* tui/tui-data.c (source_windows): Now a std::vector.
    	(tui_source_windows): Change return type.
    	(tui_clear_source_windows): Rewrite.
    	(tui_clear_source_windows_detail, tui_add_to_source_windows)
    	(tui_free_all_source_wins_content): Rewrite.

commit 8761a91b2614304963bfe211ff8c682c7eba3b51
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 10:42:09 2019 -0600

    Introduce tui_win_info::clear_detail method
    
    This introduces the clear_detail method and updates the various
    subclasses of tui_win_info to implement it.  A subsequent patch will
    remove tui_clear_win_detail, but that isn't done for now because at
    this point it isn't readily obvious that the NULL check is not needed.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (struct tui_win_info, struct tui_source_window)
    	(struct tui_data_window, struct tui_cmd_window): Declare
    	clear_detail method.
    	* tui/tui-data.c (tui_source_window::clear_detail)
    	(tui_cmd_window::clear_detail, tui_data_window::clear_detail): New
    	methods.
    	(tui_clear_win_detail): Simplify.

commit 0ed69edaab683b9290a05962faa50d970facfa84
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 10:37:25 2019 -0600

    Simplify source and disassembly window creation
    
    Similar to the previous patch, neither make_source_window nor
    make_disasm_window could be called when *win_info_ptr was non-NULL.
    This patch simplifies the functions by removing the parameter and
    having them return their results directly.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (make_source_window, make_disasm_window)
    	(make_source_or_disasm_window): Remove win_info_ptr parameter.
    	Return the new window.
    	(show_source_disasm_command, show_data)
    	(show_source_or_disasm_and_command): Update.

commit 82432e10143669d4936848d77e2a7b78c62c26e0
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 10:32:35 2019 -0600

    Simplify command window creation
    
    make_command_window is never called when *win_info_ptr is non-NULL, so
    this patch simplifies the function by removing the parameter and
    having it return its result directly.  This in turn makes it more
    obvious that a NULL check in show_source_disasm_command can be
    removed.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (make_command_window): Remove win_info_ptr
    	parameter.  Return the new window.
    	(show_source_disasm_command): Update and remove NULL check.
    	(show_source_or_disasm_and_command): Update.

commit ec328aa512ee09ab326d59b417836bb950083230
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 10:23:10 2019 -0600

    Remove an unnecessary NULL check from the TUI
    
    In init_and_make_win, opaque_win_info can't be NULL after a new window
    is allocated.  This patch removes an unnecessary NULL check.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (init_and_make_win): Remove NULL check.

commit 33b906abfa7721128791883875d90394f8e2e7c2
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 10:13:13 2019 -0600

    Create subclasses for different window types
    
    This changes the TUI so that each different major window type has its
    own subclass.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (struct tui_win_info): Make constructor
    	protected.  Make destructor virtual.  Add initializers.
    	(tui_source_window, tui_data_window, tui_cmd_window): New
    	classes.
    	* tui/tui-data.c (tui_win_info): Rename from init_win_info.  Now a
    	constructor.  Add "type" parameter.
    	(tui_source_window, tui_data_window, tui_cmd_window): New
    	constructors.
    	(tui_alloc_win_info): Instantiate the appropriate subclass.

commit e7e11af42dca6482302833c4106974176aa66052
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 09:43:21 2019 -0600

    Add destructor to tui_win_info
    
    This changes tui_free_window into a destructor for tui_free_window and
    then updates the users.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-win.c (tui_resize_all): Use delete.
    	* tui/tui-data.h (struct tui_win_info) <~tui_win_info>: Declare
    	destructor.
    	(tui_free_window): Don't declare.
    	* tui/tui-data.c (~tui_win_info): Rename from tui_free_window.
    	Update.

commit 6792b55e08ec49f40916d4f8d7168d0047b9e928
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 09:41:06 2019 -0600

    Use new and delete for TUI windows
    
    This changes tui_win_info to use new and delete, rather than XNEW and
    xfree.
    
    gdb/ChangeLog
    2019-06-25  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (struct tui_win_info): Add constructor.
    	* tui/tui-data.c (tui_alloc_win_info): Use new.
    	(tui_free_window): Use delete.

commit 8e5cb9a54e156ba24a439aefa7b35e53b4cb0374
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 12:02:23 2019 +0200

    ld/plugins: avoid shadowing a C library symbol
    
    With my (oldish) gcc/glibc combination I'm seeing
    
    .../ld/plugin.c: In function ‘get_lto_kind’:
    .../ld/plugin.c:664: error: declaration of ‘index’ shadows a global declaration
    /usr/include/string.h:487: error: shadowed declaration is here
    .../ld/plugin.c: In function ‘get_lto_resolution’:
    .../ld/plugin.c:685: error: declaration of ‘index’ shadows a global declaration
    /usr/include/string.h:487: error: shadowed declaration is here
    .../ld/plugin.c: In function ‘get_lto_visibility’:
    .../ld/plugin.c:711: error: declaration of ‘index’ shadows a global declaration
    /usr/include/string.h:487: error: shadowed declaration is here

commit ab9f654ca3f1222f63533aabfffc223ae1fc69dc
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 12:01:50 2019 +0200

    bfd/elf-properties: avoid shadowing a C library symbol
    
    With my (oldish) gcc/glibc combination I'm seeing
    
    .../bfd/elf-properties.c: In function ‘elf_find_and_remove_property’:
    .../bfd/elf-properties.c:244: error: declaration of ‘remove’ shadows a global declaration
    /usr/include/stdio.h:157: error: shadowed declaration is here

commit 3e50a591d9f0c0b22bbf93d09eef7d2286f3716c
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 11:09:22 2019 +0200

    readelf: avoid shadowing a libiberty symbol
    
    With my (oldish) gcc I'm seeing
    
    .../binutils/readelf.c: In function ‘dump_ctf_indent_lines’:
    .../binutils/readelf.c:13851: error: declaration of ‘spaces’ shadows a global declaration
    .../binutils/../include/libiberty.h:253: error: shadowed declaration is here

commit 63160fc99678fd85311ad5c89494164e6f8439d7
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 11:08:53 2019 +0200

    objdump: avoid shadowing a libiberty symbol
    
    With my (oldish) gcc I'm seeing
    
    .../binutils/objdump.c: In function ‘dump_ctf_indent_lines’:
    .../binutils/objdump.c:3210: error: declaration of ‘spaces’ shadows a global declaration
    .../binutils/../include/libiberty.h:253: error: shadowed declaration is here

commit 2c70385689542a4c4cbe160601e54f9f18a4c4c5
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 09:41:33 2019 +0200

    x86: correct / adjust debug printing
    
    For quite some time we've been using combinations of bits for
    specifying various registers in operands and templates. I think it was
    Alan who had indicated that likely the debug printing would need
    adjustment as a result. Here we go.
    
    Accumulator handling for GPRs gets changed to match that for FPU regs.
    For this to work, OPERAND_TYPE_ACC{32,64} get repurposed, with their
    original uses replaced by direct checks of the two bits of interest,
    which is cheaper than operand_type_equal() invocations.
    
    For SIMD registers nothing similar appears to be needed, as respective
    operands get stripped from the (copy of the) template before pt() is
    reached.
    
    The type change on pi() is to silence a compiler diagnostic. Arguably
    its other parameter could also be const-qualified.

commit 4970191fa557c4769697fb41db06f2dcb5f7de2e
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 09:40:44 2019 +0200

    x86: document certain command line options as "dangerous"
    
    Errata BT36, BT41, and BT230 mean that gas may, when using one ofthese
    options, produce code that causes #UD on (at least) SandyBridge systems.

commit 54fbadc0c35f3dad663e2e175ea8d60546ffd710
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 09:28:33 2019 +0200

    x86: drop dqa_mode
    
    I assume this mode was needed when EVEX.W handling wasn't really correct
    yet for other than 64-bit mode. It's clearly not needed anymore. Its
    elimination also allows dropping the EVEX.W split of VCVT{,U}SI2SS. (For
    the record, the dropped mode would have been wrong if used in any table
    entry not already guaranteeing EVEX.W=1.)

commit a38d71189b5895bae7bb476aa34d8a7ba75376d6
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 09:27:49 2019 +0200

    x86: don't open code is_any_vex_encoding()

commit a280ab8e81498c6049dca79f64bd0cc02ead01ab
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 09:27:05 2019 +0200

    x86: simplify OP_I64()
    
    The only meaningful difference from OP_I() is the handling of the
    VEX.W=1 case in 64-bit mode for bytemode being v_mode. Funnel
    everything else into OP_I(), and drop no longer needed local
    variables.

commit e1a1babdad9d14b935cbddc7d63fb76a580a16c5
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 09:25:26 2019 +0200

    x86: fix (dis)assembly of certain SSE2 insns in 16-bit mode
    
    MOVNTI was wrongly assembled with a 66h prefix. Add IgnoreSize to
    address this. It and the scalar to/from integer conversion insns also
    were also wrongly using Ev / Gv, leading to 16-bit register names being
    printed when 32-bit ones were meant.
    
    Clone the 32-bit SSE2 test to cover both assembler and disassembler.

commit b8364fa775112f036a80e799b70311f69baac131
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 09:23:48 2019 +0200

    x86-64: also optimize ANDQ with immediate fitting in 7 bits
    
    The same reasoning applies here as did/does for immediates fitting in
    31 bits.

commit 2a410bd1c373d377c221476ccda2156b595e6d6b
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Jun 25 09:22:38 2019 +0200

    x86: add CVT{,T}PS2PI cases to xmmwords test
    
    I've (not so) recently noticed this further pair which should be tested
    here.

commit de62696504f96816faf2165132d907924e904649
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jun 25 16:56:16 2019 +0930

    Fix logical expression in last commit
    
    	* config/tc-ppc.c (ppc_handle_align): Add parentheses.

commit 22f72c4868a1fd55d8d9b1cbabe6e01ed5a6f072
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jun 25 10:12:58 2019 +0930

    PowerPC nops
    
    This patch corrects ppc rs_align_code handling to choose the alignment
    nops based on the machine in force at the alignment directive rather
    than the machine at the end of file.
    
    	* config/tc-ppc.h (ppc_nop_select): Declare.
    	(NOP_OPCODE): Define.
    	* config/tc-ppc.c (ppc_elf_end, ppc_xcoff_end): Zero ppc_cpu.
    	(ppc_nop_encoding_for_rs_align_code): New enum.
    	(ppc_nop_select): New function.
    	(ppc_handle_align): Don't use ppc_cpu here.  Get nop type from frag.
    	* testsuite/gas/ppc/groupnop.d,
    	* testsuite/gas/ppc/groupnop.s: New test.
    	* testsuite/gas/ppc/ppc.exp: Run it.

commit 2e7c439dec066ac8a597d0b85193b8d3ec8e09eb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jun 25 00:00:35 2019 +0000

    Automatic date update in version.in

commit 04b865dc2ede2b8ca8c60f0487a179eb97895fee
Author: Jim Wilson <jimw@sifive.com>
Date:   Mon Jun 24 13:50:10 2019 -0700

    RISC-V: Enable lui relaxation for CODE and MERGE sections.
    
    	2019-06-24  Ilia Diachkov  <ilia.diachkov@optimitech.com>
    	bfd/
    	* elfnn-riscv.c (_bfd_riscv_relax_lui): Delete early exit when
    	SEC_MERGE or SEC_CODE flags are set.
    	(_bfd_riscv_relax_section): New local symtype.  Set sym_sec and
    	symtype consistently.  Don't include sec_addr (sym_sec) in symval.
    	Add check for SEC_INFO_TYPE_MERGE and call _bfd_merged_section_offset.
    	Add sec_addr (sym_sec) after handling merge sections.

commit f93ab3a0b8039a1667a666f013cca50b03d67f9b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 24 11:08:40 2019 -0700

    elf: Remove the property after reporting its removal
    
    commit d2ef37ebd9f771d06edf1fdea37970f60b242b2d
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Fri Dec 7 08:30:30 2018 -0800
    
        elf: Report property change when merging properties
    
    failed to remove the property after reporting it has been removed.  This
    patch corrects it.
    
    bfd/
    
    	PR ld/24721
    	* elf-properties.c (elf_merge_gnu_property_list): Remove the
    	property after reporting property removal.
    
    ld/
    
    	PR ld/24721
    	* testsuite/ld-x86-64/x86-64.exp: Run PR ld/24721 tests.
    	* testsuite/ld-x86-64/pr24721-x32.d: New file.
    	* testsuite/ld-x86-64/pr24721.d: Likewise.
    	* testsuite/ld-x86-64/pr24721.map: Likewise.
    	* testsuite/ld-x86-64/pr24721a.s: Likewise.
    	* testsuite/ld-x86-64/pr24721b.s: Likewise.

commit 164e3873cf41d01a9a67396575dceef7489cee64
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jun 24 18:26:10 2019 +0200

    [gdb/testsuite] Fix label reference in implptr-64bit.exp
    
    When running gdb.dwarf2/implptr-64bit.exp with board cc-with-dwz-m, we run into:
    ...
    dwz: dwz.c:2363: checksum_die: \
      Assertion `\
        ((!op_multifile && !rd_multifile && !fi_multifile) || cu != die_cu (ref)) \
        && (!op_multifile || cu->cu_chunk == die_cu (ref)->cu_chunk)' failed.
    cc-with-tweaks.sh: line 218: 13030 Aborted  \
      $DWZ -m ${output_file}.dwz "$output_file" ${output_file}.alt > /dev/null
    ...
    In other words, PR dwz/24170.
    
    The trigger for the dwz PR is when intra-CU references are encoded using
    section-relative encoding DW_FORM_ref_addr, but could have been encoded using
    CU-relative encoding DW_FORM_ref4.
    
    Fix the intra-CU '%' label reference in implptr-64bit.exp.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-06-24  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.dwarf2/implptr-64bit.exp: Fix intra-CU '%' label reference.

commit 824eacee59ea8c5625b9fad5b6eb0861b4d0f691
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jun 24 13:29:23 2019 +0200

    [gdb/testsuite] Fix DW_AT_decl_file in gdb.trace tests
    
    When running gdb.trace/{entry-values.exp,unavailable-dwarf-piece.exp} with
    board cc-with-dwz, we run into two failures related to the DW_AT_decl_file
    attribute:
    - The encoding DW_FOR_sdata is used for DW_AT_decl_file, while the attribute
      is required to have a an "unsigned integer constant" value.
    - The DW_AT_decl_file attributes refer to a file with index one, while there's
      no such file.
    
    Fix this by using DW_FOR_udata and the value 0, meaning "no file specified".
    
    Tested on x86_64-linux with board native-gdbserver.
    
    gdb/testsuite/ChangeLog:
    
    2019-06-24  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.trace/entry-values.exp: Use DW_FORM_udata instead of
    	DW_FOR_sdata for DW_AT_decl_file.  Use 0 for DW_AT_decl_file.
    	* gdb.trace/unavailable-dwarf-piece.exp: Same.

commit 385b97d3ac9c5c57a610d2e5b358ed888008ae31
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jun 24 12:20:39 2019 +0200

    [gdb/testsuite] Fix inter-cu refs in inlined_subroutine-inheritance.exp
    
    When running gdb.dwarf2/inlined_subroutine-inheritance.exp with board
    cc-with-dwz, we run into:
    ...
    dwz: inlined_subroutine-inheritance: Couldn't find DIE referenced by \
      DW_AT_abstract_origin
    ...
    
    The problem is that the DW_AT_abstract_origin attributes refer to DIEs in
    other CUs, while the references are encoded using the cu-relative encoding
    DW_FORM_ref4.
    
    Fix this by forcing the references to use DW_FORM_ref_addr.
    
    Tested on x86_64-linux.
    
    Tested with commit c24bdb023c "Introduce dwarf2_cu::get_builder" reverted,
    and verified that the test-case fails in the same way before and after this
    patch.
    
    gdb/testsuite/ChangeLog:
    
    2019-06-24  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.dwarf2/inlined_subroutine-inheritance.exp:

commit a33f989b4ed69c9f8f905360444e3d57a83a0cb6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jun 24 00:00:31 2019 +0000

    Automatic date update in version.in

commit bb22a41815facfaa3de621aad5d055eb8e477082
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Jun 23 12:28:39 2019 +0930

    PR24704, Internal error building skiboot for powerpc64-linux-gnu
    
    While the skiboot linker script bears some culpability in this PR,
    it's also true that the GOT indirect to GOT relative optimisation for
    16-bit offsets isn't safe.  At least, it isn't safe to remove the GOT
    entry based on distance between the GOT pointer and symbol calculated
    from the preliminary layout.  So this patch removes that optimisation,
    and reduces the range allowed for 32-bit and 34-bit offsets.
    
    	PR 24704
    bfd/
    	* elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel.
    	(ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries.
    	Reduce range of offsets allowed for other GOT relocs.
    ld/
    	* testsuite/ld-powerpc/elfv2exe.d: Update.
    	* testsuite/ld-powerpc/elfv2so.d: Update.

commit 14b2a8e4244a29208ad430167860a0f01b20f215
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Jun 23 12:10:02 2019 +0930

    PR24689 again, string table corruption
    
    Depending on optimisation level and gcc version, git commit 890f750a3b
    introduces a false positive warning that i_shdrp may be used
    uninitialized.
    
    	PR 24689
    	* elfcode.h (elf_object_p): Warning fix.

commit a8d21e9ef0ae63c650e2ffa14edf5b1cd22be5cb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jun 23 00:00:55 2019 +0000

    Automatic date update in version.in

commit f95675e12d3ab100ce11257a09663c68df7784ee
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jun 22 11:50:19 2019 -0600

    Remove tui_first_data_element_no_in_line
    
    tui_first_data_element_no_in_line is never used.  This patch removes
    it.  Tested by rebuilding, and by grep.
    
    gdb/ChangeLog
    2019-06-22  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-windata.h (tui_first_data_element_no_in_line): Don't
    	declare.
    	* tui/tui-windata.c (tui_first_data_element_no_in_line): Remove.

commit 5bff081c10ab4debfd3416739fda93b6c275496b
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 10:04:49 2019 -0600

    Remove two unused functions from the TUI
    
    This removes two unused functions from the TUI.  According to
    "git grep -G", they have never been used.
    
    gdb/ChangeLog
    2019-06-22  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (tui_del_window, tui_del_data_windows): Don't
    	declare.
    	* tui/tui-data.c (tui_del_window, tui_del_data_windows): Remove.

commit 47e3f47487396414ac936e2fd37b870fe08a55d0
Author: Tom de Vries <tdevries@suse.de>
Date:   Sat Jun 22 10:59:37 2019 +0200

    [gdb] Fix s390x -m31 build
    
    When building gdb on s390x with -m31, we run into this Wformat
    warning (which Werror turns into an error):
    ...
    gdb/dwarf2read.c: In function \
      'void create_addrmap_from_aranges(dwarf2_per_objfile*, \
                                        dwarf2_section_info*)':
    gdb/dwarf2read.c:3277:22: error: format '%zu' expects argument of type \
      'size_t', but argument 3 has type 'int' [-Werror=format=]
        warning (_("Section .debug_aranges in %s entry at offset %zu "
    ...
    
    The Wformat warning is triggered in this statement:
    ...
              warning (_("Section .debug_aranges in %s entry at offset %zu "
                         "length %s exceeds section length %s, "
                         "ignoring .debug_aranges."),
                       objfile_name (objfile), entry_addr - section->buffer,
                       plongest (bytes_read + entry_length),
                       pulongest (section->size));
    ...
    where 'entry_addr - section->buffer' is of type ptrdiff_t and '%zu' prints an
    unsigned with the same size as size_t/ssize_t.
    
    On s390x with -m31, we have:
    - size_t   : unsigned long int (32-bit)
    - ptrdiff_t: int               (32-bit)
    
    Wformat warns against this because even though long int and int have the same
    size, the types are not compatible.
    
    [ The Wformat warning is to similar to what we would get for x86_64 -m32
    (where long and int are also the same size) and:
    ...
    int i;
    printf ("%ld", i);
    ... ]
    
    Fix this by using '%s' and plongest instead of '%zu' to print ptrdiff_t.
    
    Build and reg-tested on x86_64.
    
    gdb/ChangeLog:
    
    2019-06-22  Tom de Vries  <tdevries@suse.de>
    
    	* dwarf2read.c (create_addrmap_from_aranges)
    	(read_debug_names_from_section): Print ptrdiff_t using '%s' and plongest
    	instead of '%zu'.

commit 5ec331ef744a495ad35469928564a43a09391562
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jun 22 00:00:20 2019 +0000

    Automatic date update in version.in

commit c596f180a130c85faf8942d161be9ecf71c6791c
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Jun 21 23:56:18 2019 +0200

    [gdb/testsuite] Compile index-cache.c with -Wl,--build-id
    
    When testing gdb.base/index-cache.exp using a gcc build without
    --enable-linker-build-id we get:
    ...
    FAIL: gdb.base/index-cache.exp: \
      test_cache_enabled_miss: at least one file was created
    FAIL: gdb.base/index-cache.exp: \
      test_cache_enabled_miss: couldn't get executable build id
    FAIL: gdb.base/index-cache.exp: \
    test_cache_enabled_hit: check index-cache stats
    ...
    
    With "set debug index-cache on" we find:
    ...
    (gdb) file index-cache
    Reading symbols from index-cache...
    index cache: objfile index-cache has no build id
    ...
    
    The problem is that a build-id is required for the index-cache functionality.
    
    Fix this by compiling index-cache.c with -Wl,--build-id.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-06-21  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.base/index-cache.exp: Add additional_flags=-Wl,--build-id.

commit ad692897c12247d1f8fe4e6a2f6e6d9f22703170
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jun 21 13:18:41 2019 -0700

    i386: Break i386-dis-evex.h into small files
    
    Break i386-dis-evex.h into small files such that each file is included
    just once.
    
    	* i386-dis-evex.h: Break into ...
    	* i386-dis-evex-len.h: New file.
    	* i386-dis-evex-mod.h: Likewise.
    	* i386-dis-evex-prefix.h: Likewise.
    	* i386-dis-evex-reg.h: Likewise.
    	* i386-dis-evex-w.h: Likewise.
    	* i386-dis.c: Include i386-dis-evex-reg.h, i386-dis-evex-prefix.h,
    	i386-dis-evex.h, i386-dis-evex-len.h, i386-dis-evex-w.h and
    	i386-dis-evex-mod.h.

commit fd5866f6aad7336f7a2b59578b9deef81383ea3b
Author: Simon Marchi <simon.marchi@efficios.com>
Date:   Fri Jun 21 14:10:15 2019 -0400

    dwarf2read: Get rid of VEC (dwarf2_section_info_def)
    
    This patch removes uses of VEC (dwarf2_section_info_def) in favor of
    std::vector<dwarf2_section_info>.  The conversion is relatively
    straightforward, no function changes are intended.
    
    gdb/ChangeLog:
    
    	* dwarf2read.h (dwarf2_section_info_def): Remove.
    	(DEF_VEC_O (dwarf2_section_info_def)): Remove.
    	* dwarf2read.c (struct dwo_sections) <types>: Change type to
    	std::vector<dwarf2_section_info>.
    	(struct dwo_file) <~dwo_file>: Remove.
    	(dwarf2_per_objfile::~dwarf2_per_objfile): Don't manually free
    	types field.
    	(dwarf2_per_objfile::locate_sections): Adjust to std::vector.
    	(dwarf2_read_debug_names): Likewise.
    	(create_debug_types_hash_table): Change parameter type to
    	array_view, adjust code accordingly.
    	(dwarf2_locate_dwo_sections): Adjust to std::vector.
    	(partial_die_info::fixup): Likewise.
    	(determine_prefix): Likewise.
    	* dwarf-index-write.c (write_psymtabs_to_index): Adjust.

commit fb1eb2f94a62813ab3daa34da59c035717ffb9da
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Jun 21 14:10:57 2019 -0400

    dwarf2read: Make dwo_file::dbfd a gdb_bfd_ref_ptr
    
    This removes the manual call to gdb_bfd_ref in favor of gdb_bfd_ref_ptr.
    
    gdb/ChangeLog:
    
    	* dwarf2read.c (struct dwo_file) <dbfd>: Change type to
    	gdb_bfd_ref_ptr.
    	<~dwo_file>: Remove call to gdb_bfd_unref.
    	(open_and_init_dwo_file): Move gdb_bfd_ref_ptr into dbfd field. Call
    	gdb_bfd_ref_ptr::get.

commit 51ac9db596ea9f0affa9f7db25bb179cf70beac4
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Jun 21 14:10:14 2019 -0400

    dwarf2read: C++ify dwo_file
    
    This patch changes dwo_file to be allocated/deallocated with new/delete,
    so that we can start using C++ features in it, and in struct
    dwo_sections.
    
    The free_dwo_file function becomes the destructor of struct dwo_file
    (and will disappear in upcoming patches, which will use gdb_bfd_ref_ptr
    for dbfd and an std::vector for sections.types).
    
    gdb/ChangeLog:
    
    	* dwarf2read.h (struct dwarf2_per_objfile) <dwo_files>: Change
    	type to htab_up.
    	* dwarf2read.c (struct dwo_file): Initialize fields.
    	<~dwo_file>: New.
    	(free_dwo_file): Remove, move content to ~dwo_file.
    	(struct dwo_file_deleter): Remove.
    	(dwo_file_up>: Remove custom deleter.
    	(free_dwo_files): Remove.
    	(dwarf2_per_objfile::~dwarf2_per_objfile): Don't explicitly free
    	dwo_files.
    	(process_skeletonless_type_units): Call unique_ptr::get.
    	(allocate_dwo_file_hash_table): Add deleter to created hash
    	table.  Change return type to htab_up.
    	(lookup_dwo_file_slot): Don't memset dwo_file, call
    	unique_ptr::get.
    	(create_dwo_unit_in_dwp_v1): Allocate dwo_file with new.
    	(create_dwo_unit_in_dwp_v2): Likewise.
    	(open_and_init_dwo_file): Likewise.
    	(free_dwo_file_from_slot): Remove.

commit dc4ccb6f7f07e41616fd42625226229f0795d198
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Jun 21 14:10:13 2019 -0400

    dwarf2read: Use bool for dwarf2_section_info fields
    
    Use bool instead of char where applicable in dwarf2_section_info.
    
    No functional changes intended.
    
    gdb/ChangeLog:
    
    	* dwarf2read.h (struct dwarf2_section_info) <readin,
    	is_virtual>: Change type to bool.
    	* dwarf2read.c (dwarf2_read_section, create_dwp_v2_section): Use
    	true instead of 1.

commit b13a7d03c29e28bc0b38ce166ad1907403709d36
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Jun 21 17:03:27 2019 +0200

    [gdb/testsuite] Mark ptype_union.exp as unsupported for cc-with-gdb-index
    
    When testing gdb with board cc-with-gdb-index, we run into:
    ...
    FAIL: gdb.ada/ptype_union.exp: ptype global
    FAIL: gdb.ada/ptype_union.exp: print global
    ...
    
    The index is not supported for Ada (PR24713), and cc-with-gdb-index does not
    add an index for Ada test-cases.  However, this test-case compiles C sources,
    for which cc-with-gdb-index does add an index.  In gdb we load the executable
    containing the index and set the language to Ada, resulting in gdb trying to
    handle something that is not supported.
    
    Fix the fail by marking this unsupported.
    
    Tested on x86_64-linux.
    
    gdb/testsuite/ChangeLog:
    
    2019-06-21  Tom de Vries  <tdevries@suse.de>
    
    	PR testsuite/24518
    	PR ada/24713
    	* gdb.ada/ptype_union.exp: Mark as unsupported if executable contains
    	index.

commit be74b5b71481afe03aad074ad1951dcae152b97a
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Fri Jun 21 14:42:22 2019 +0200

    Add gnulib to gdb release tarball
    
    * src-release.sh (GDB_SUPPORT_DIRS): Add gnulib.

commit 70175d8d62178279d0fecce661b26a4f5b209fea
Author: Gary Benson <gbenson@redhat.com>
Date:   Fri Jun 21 13:23:59 2019 +0100

    Fix gnulib/update-gnulib.sh
    
    This commit fixes two paths in update-gnulib.sh that weren't updated
    when gnulib was moved to toplevel.
    
    gnulib/ChangeLog:
    
    	* update-gnulib.sh: Adjust paths.

commit cf02c44dfd2876867ebd6baa3ce19cf41ff978e1
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Wed Jun 19 15:56:52 2019 +0100

    libctf: fix ctf_open endianness problems with raw CTF files
    
    ctf_open (or, rather, ctf_fdopen, which underlies it) has several
    endianness problems, even though it was written after the
    endian-swapping code was implemented, so should have been endian-aware.
    
    Even though the comment right above the relevant check says that it wil
    check for CTF magic in any endianness, it only checks in the native
    endianness, so opening raw LE CTF files on BE, or vice-versa, will fail.
    It also checks the CTF version by hand, without ever endianness-swapping
    the header, so that too will fail, and is entirely redundant because
    ctf_simple_open does the job properly in any case.  We have a similar
    problem in the next if block, which checks for raw CTF archives: we are
    checking in the native endianness while we should be doing a le64toh()
    on it to check in little-endian form only: so opening CTF archives
    created on the local machine will fail if the local machine is
    big-endian.
    
    Adding insult to injury, if ctf_simple_open then fails, we go on and try
    to turn it into a single-element CTF archive regardless, throwing the
    error away.  Since this involves dereferencing null pointers it is not
    likely to work very well.
    
    libctf/
    	* ctf-open-bfd.c: Add swap.h and ctf-endian.h.
    	(ctf_fdopen): Check for endian-swapped raw CTF magic, and
    	little-endian CTF archive magic.  Do not check the CTF version:
    	ctf_simple_open does that in endian-safe ways.  Do not dereference
    	null pointers on open failure.

commit 7cee18263c234073bfe88cbc962b1fc68509df82
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Wed Jun 19 12:34:56 2019 +0100

    libctf: endianness fixes
    
    Testing of the first code to generate CTF_K_SLICEs on big-endian
    revealed a bunch of new problems in this area.  Most importantly, the
    trick we did earlier to avoid wasting two bytes on padding in the
    ctf_slice_t is best avoided: because it leads to the whole file after
    that point no longer being naturally aligned, all multibyte accesses
    from then on must use memmove() to avoid unaligned access on platforms
    where that is fatal.  In future, this is planned, but for now we are
    still doing direct access in many places, so we must revert to making
    ctf_slice_t properly aligned for storage in an array.
    
    Rather than wasting bytes on padding, we boost the size of cts_offset
    and cts_bits.  This is still a waste of space (we cannot have offsets or
    bits in bitfields > 256) but it cannot be avoided for now, and slices
    are not so common that this will be a serious problem.
    
    A possibly-worse endianness problem fixed at the same time involves
    a codepath used only for foreign-endian, uncompressed CTF files, where
    we were not copying the actual CTF data into the buffer, leading to
    libctf reading only zeroes (or, possibly, uninitialized garbage).
    
    Finally, when we read in a CTF file, we copy the header and work from
    the copy.  We were flipping the endianness of the header copy, and of
    the body of the file buffer, but not of the header in the file buffer
    itself: so if we write the file back out again we end up with an
    unreadable frankenfile with header and body of different endiannesses.
    Fix by flipping both copies of the header.
    
    include/
    	* ctf.h (ctf_slice_t): Make cts_offset and cts_bits unsigned
    	short, so following structures are properly aligned.
    
    libctf/
    	* ctf-open.c (get_vbytes_common): Return the new slice size.
    	(ctf_bufopen): Flip the endianness of the CTF-section header copy.
    	Remember to copy in the CTF data when opening an uncompressed
    	foreign-endian CTF file.  Prune useless variable manipulation.

commit 0b4fa56e07639ed28cbbcd890868e01a82a5e45c
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Wed Jun 19 12:27:18 2019 +0100

    libctf: unidentified type kinds on open are a sign of file corruption
    
    If we see a CTF type with a kind we do not recognize in its ctt_info
    during opening, we cannot skip it and continue opening the file: if the
    type kind is unknown, we do not know how long its vlen is, and we cannot
    have skipped past it: so if we continue reading we will almost certainly
    read in part of the vlen as if it were a new ctf_type_t.
    
    Avoid this trouble by considering unknown type kinds to be a reason to
    return ECTF_CORRUPT, just like everything else that reads in type kinds
    does.
    
    libctf/
    	* ctf-open.c (ctf_types): Fail when unidentified type kinds are
    	seen.

commit 364620bf636a0a961892c9274616f8d5ad85eecc
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Wed Jun 19 12:23:38 2019 +0100

    libctf: dump header offsets into the debugging output
    
    This is an essential first piece of info needed to debug both libctf
    writing and reading problems, and we weren't recording it anywhere!
    
    (This is a short-term fix: fairly soon, we will record all of this in a
    form that outlives ctf_bufopen, and then ctf_dump() will be able to dump
    it like it can everything else.)
    
    libctf/
    	* ctf-open.c (ctf_bufopen): Dump header offsets into the debugging
    	output.

commit 65365aa856e5a258329dc350b02bbb51f84b4c16
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Wed Jun 19 12:20:47 2019 +0100

    libctf: drop mmap()-based CTF data allocator
    
    This allocator has the ostensible benefit that it lets us mprotect() the
    memory used for CTF storage: but in exchange for this it adds
    considerable complexity, since we have to track allocation sizes
    ourselves for use at freeing time, note whether the data we are storing
    was ctf_data_alloc()ed or not so we know if we can safely mprotect()
    it... and while the mprotect()ing has found few bugs, it *has* been the
    cause of more than one due to errors in all this tracking leading to us
    mprotect()ing bits of the heap and stuff like that.
    
    We are about to start composing CTF buffers from pieces so that we can
    do usage-based optimizations on the strtab.  This means we need
    realloc(), which needs nonportable mremap() and *more* tracking of the
    *original* allocation size, and the complexity and bureaucracy of all of
    this is just too high for its negligible benefits.
    
    Drop the whole thing and just use malloc() like everyone else.  It knows
    better than we do when it is safe to use mmap() under the covers,
    anyway.
    
    While we're at it, don't leak the entire buffer if ctf_compress_write()
    fails to compress it.
    
    libctf/
    	* ctf-subr.c (_PAGESIZE): Remove.
    	(ctf_data_alloc): Likewise.
    	(ctf_data_free): Likewise.
    	(ctf_data_protect): Likewise.
    	* ctf-impl.h: Remove declarations.
    	* ctf-create.c (ctf_update): No longer call ctf_data_protect: use
    	ctf_free, not ctf_data_free.
    	(ctf_compress_write): Use ctf_data_alloc, not ctf_alloc.  Free
    	the buffer again on compression error.
    	* ctf-open.c (ctf_set_base): No longer track the size: call
    	ctf_free, not ctf_data_free.
    	(upgrade_types): Likewise.  Call ctf_alloc, not ctf_data_alloc.
    	(ctf_bufopen): Likewise.  No longer call ctf_data_protect.

commit 24865428034f44d9fffe6b2d9a318e1bd507c63a
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Wed Jun 19 12:14:16 2019 +0100

    libctf: handle errors on dynhash insertion better
    
    We were missing several cases where dynhash insertion might fail, likely
    due to OOM but possibly for other reasons.  Pass the errors on.
    
    libctf/
    	* ctf-create.c (ctf_dtd_insert): Pass on error returns from
    	ctf_dynhash_insert.
    	(ctf_dvd_insert): Likewise.
    	(ctf_add_generic): Likewise.
    	(ctf_add_variable): Likewise.
    	* ctf-impl.h: Adjust declarations.

commit 890f750a3b053532a4b839a2dd6243076de12031
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 21 11:51:38 2019 +0930

    PR24689, string table corruption
    
    The testcase in the PR had a e_shstrndx section of type SHT_GROUP.
    hdr->contents were initialized by setup_group rather than being read
    from the file, thus last byte was not zero and string dereference ran
    off the end of the buffer.
    
    	PR 24689
    	* elfcode.h (elf_object_p): Check type of e_shstrndx section.

commit 2a81e61405262fd0299a5079b29ce417a8edba0c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jun 21 00:00:20 2019 +0000

    Automatic date update in version.in

commit 7d10623d3b153d6c15406b203fb1cf111c53f1dd
Author: Tom de Vries <tdevries@suse.de>
Date:   Thu Jun 20 11:31:36 2019 +0200

    [gdbserver] Fix s390x -m31 gdbserver build
    
    When building gdb on s390x with -m31, we run into this error:
    ...
    gdb/gdbserver/linux-s390-ipa.c: \
      In function 'const target_desc* get_ipa_tdesc(int)':
    gdb/gdbserver/linux-s390-ipa.c:371:18: error: 's390_te_ft_collect_regmap' \
      was not declared in this scope
           SET_REGMAP(s390_te_ft_collect_regmap, 0);
    
    The offending line is part of this code snippet:
    ...
        case S390_TDESC_GS:
          SET_REGMAP(s390_te_ft_collect_regmap, 0);
          return tdesc_s390_gs_linux64;
    ...
    introduced in commit ce29f8439f "S390: Make IPA recognize tdescs with guarded
    storage".
    
    The snippet is part of an #ifdef __s390x__ construct, in the false branch, and
    in the true branch we find a snippet introduced by the same commit:
    ...
        case S390_TDESC_GS:
          SET_REGMAP(s390x_te_ft_collect_regmap, 0);
          return tdesc_s390x_gs_linux64;
    ...
    which is paired with a comment update for s390x_te_ft_collect_regmap:
    ...
    -/* Used for s390x-te-linux64, s390x-tevx-linux64.  */
    +/* Used for s390x-te-linux64, s390x-tevx-linux64, and
    +   s390x-gs-linux64.  */
    
     static const int s390x_te_ft_collect_regmap[] = {
    ...
    
    A similar comment update is added in the same commit for
    s390_te_linux64_ft_collect_regmap:
    ...
    -/* Used for s390-te-linux64, s390-tevx-linux64.  */
    +/* Used for s390-te-linux64, s390-tevx-linux64, and s390-gs-linux64.  */
    
     static const int s390_te_linux64_ft_collect_regmap[] = {
    ...
    but not paired with any update.
    
    Fix the build breaker by making the offending SET_REGMAP use the regmap
    indicated by the comment.
    ...
    -      SET_REGMAP(s390_te_ft_collect_regmap, 0);
    +      SET_REGMAP(s390_te_linux64_ft_collect_regmap, 0);
    ...
    
    Build on s390x-linux with -m31.
    
    gdb/gdbserver/ChangeLog:
    
    2019-06-20  Tom de Vries  <tdevries@suse.de>
    
    	* linux-s390-ipa.c (get_ipa_tdesc)[!__s390x__]: Use
    	s390_te_linux64_ft_collect_regmap for S390_TDESC_GS.

commit e6a1c5cbcb9cee5a08d814669419936ee151b19d
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jun 19 22:24:30 2019 -0600

    Don't declare tui_init_content_element
    
    I noticed that tui_init_content_element is declared but never defined.
    This removes the declaration.  Tested by rebuilding.  (I should have
    merged this with the previous patch but I had forgotten that I found
    two of these.)
    
    gdb/ChangeLog
    2019-06-19  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (tui_init_content_element): Don't declare.

commit 6f6ffbeb5a6bce5a1274478256937867f337a037
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 16 16:06:14 2019 -0600

    Don't declare tui_init_win_info
    
    I noticed that tui_init_win_info is declared but never defined.  This
    removes the declaration.  Tested by rebuilding.
    
    gdb/ChangeLog
    2019-06-19  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-data.h (tui_init_win_info): Don't declare.

commit 698dc1d7a269917df6237b80ccbb00733bea52cf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jun 20 00:00:18 2019 +0000

    Automatic date update in version.in

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

Summary of changes:
 ChangeLog                                          |   92 +
 bfd/ChangeLog                                      |  520 +
 bfd/archive.c                                      |   21 +-
 bfd/archive64.c                                    |    9 +-
 bfd/bfd-in2.h                                      |   10 +
 bfd/bfd.c                                          |    3 +
 bfd/coffcode.h                                     |    8 +
 bfd/coffgen.c                                      |    4 +-
 bfd/compress.c                                     |   20 +
 bfd/config.bfd                                     |    5 -
 bfd/configure                                      |   15 +-
 bfd/configure.ac                                   |   15 +-
 bfd/cpu-aarch64.c                                  |    9 +-
 bfd/dwarf2.c                                       |  347 +-
 bfd/elf-bfd.h                                      |   46 +-
 bfd/elf-hppa.h                                     |    6 +-
 bfd/elf-m10300.c                                   |    6 +-
 bfd/elf-nacl.c                                     |    5 +-
 bfd/elf-nacl.h                                     |    2 +-
 bfd/elf-properties.c                               |   18 +-
 bfd/elf-vxworks.c                                  |   19 +-
 bfd/elf-vxworks.h                                  |    2 +-
 bfd/elf.c                                          |  197 +-
 bfd/elf32-arc.c                                    |  321 +-
 bfd/elf32-arm.c                                    |   98 +-
 bfd/elf32-avr.c                                    |    6 +-
 bfd/elf32-bfin.c                                   |    6 +-
 bfd/elf32-cr16.c                                   |   10 +-
 bfd/elf32-cris.c                                   |    6 +-
 bfd/elf32-d10v.c                                   |    1 -
 bfd/elf32-d30v.c                                   |    1 -
 bfd/elf32-h8300.c                                  |    7 +-
 bfd/elf32-i386.c                                   |    4 -
 bfd/elf32-lm32.c                                   |    5 +-
 bfd/elf32-m32r.c                                   |    6 +-
 bfd/elf32-m68hc11.c                                |    1 -
 bfd/elf32-m68hc12.c                                |    1 -
 bfd/elf32-m68k.c                                   |    6 +-
 bfd/elf32-mips.c                                   |    8 +-
 bfd/elf32-msp430.c                                 |    6 +-
 bfd/elf32-nds32.c                                  |    6 +-
 bfd/elf32-or1k.c                                   |    6 +-
 bfd/elf32-pj.c                                     |    6 +-
 bfd/elf32-ppc.c                                    |   79 +-
 bfd/elf32-s12z.c                                   |    1 -
 bfd/elf32-sparc.c                                  |   18 +-
 bfd/elf32-v850.c                                   |    6 +-
 bfd/elf32-visium.c                                 |    2 +-
 bfd/elf32-xc16x.c                                  |    6 +-
 bfd/elf32-xtensa.c                                 |   77 +-
 bfd/elf64-alpha.c                                  |    2 +-
 bfd/elf64-bpf.c                                    |  282 +-
 bfd/elf64-hppa.c                                   |    4 +-
 bfd/elf64-ia64-vms.c                               |    6 +-
 bfd/elf64-ppc.c                                    |  555 +-
 bfd/elf64-x86-64.c                                 |  153 +-
 bfd/elfcode.h                                      |    7 +-
 bfd/elflink.c                                      |  136 +-
 bfd/elfnn-aarch64.c                                |    2 +-
 bfd/elfnn-ia64.c                                   |    6 +-
 bfd/elfnn-riscv.c                                  |   81 +-
 bfd/elfxx-mips.c                                   |   95 +-
 bfd/elfxx-mips.h                                   |   10 +-
 bfd/elfxx-target.h                                 |    7 +-
 bfd/format.c                                       |    9 +-
 bfd/libbfd-in.h                                    |    2 +-
 bfd/libbfd.h                                       |    9 +-
 bfd/mach-o-arm.c                                   |   22 +
 bfd/mach-o.c                                       |   15 +-
 bfd/peXXigen.c                                     |    7 +
 bfd/reloc.c                                        |   14 +
 bfd/targets.c                                      |    8 +-
 bfd/version.h                                      |    2 +-
 binutils/ChangeLog                                 |  219 +
 binutils/Makefile.am                               |    5 +-
 binutils/Makefile.in                               |   56 +-
 binutils/ar.c                                      |   14 +-
 binutils/bucomm.c                                  |   12 +-
 binutils/doc/binutils.texi                         |   43 +-
 binutils/dwarf.c                                   |   92 +-
 binutils/nm.c                                      |   23 +-
 binutils/objcopy.c                                 |   20 +-
 binutils/objdump.c                                 |   32 +-
 binutils/readelf.c                                 |  246 +-
 binutils/testsuite/binutils-all/arm/in-order-all.d |    1 +
 binutils/testsuite/binutils-all/arm/in-order.d     |    1 +
 .../testsuite/binutils-all/arm/out-of-order-all.d  |    1 +
 binutils/testsuite/binutils-all/arm/out-of-order.d |    1 +
 binutils/testsuite/binutils-all/i386/empty.d       |    2 +-
 binutils/testsuite/binutils-all/i386/ibt.d         |    2 +-
 binutils/testsuite/binutils-all/i386/pr21231a.d    |    2 +-
 binutils/testsuite/binutils-all/i386/pr21231b.d    |    2 +-
 binutils/testsuite/binutils-all/i386/shstk.d       |    2 +-
 binutils/testsuite/binutils-all/note-2-32.d        |    2 +-
 binutils/testsuite/binutils-all/note-2-64.d        |    2 +-
 binutils/testsuite/binutils-all/objcopy.exp        |    4 +-
 binutils/testsuite/binutils-all/objdump.exp        |   71 +
 binutils/testsuite/binutils-all/x86-64/empty-x32.d |    2 +-
 binutils/testsuite/binutils-all/x86-64/empty.d     |    2 +-
 binutils/testsuite/binutils-all/x86-64/ibt-x32.d   |    2 +-
 binutils/testsuite/binutils-all/x86-64/ibt.d       |    2 +-
 binutils/testsuite/binutils-all/x86-64/pr21231a.d  |    2 +-
 binutils/testsuite/binutils-all/x86-64/pr21231b.d  |    2 +-
 .../testsuite/binutils-all/x86-64/pr23494a-x32.d   |    2 +-
 binutils/testsuite/binutils-all/x86-64/pr23494a.d  |    2 +-
 .../testsuite/binutils-all/x86-64/pr23494c-x32.d   |    2 +-
 binutils/testsuite/binutils-all/x86-64/pr23494c.d  |    2 +-
 .../testsuite/binutils-all/x86-64/pr23494d-x32.d   |    2 +-
 binutils/testsuite/binutils-all/x86-64/pr23494d.d  |    2 +-
 .../testsuite/binutils-all/x86-64/pr23494e-x32.d   |    2 +-
 binutils/testsuite/binutils-all/x86-64/pr23494e.d  |    2 +-
 binutils/testsuite/binutils-all/x86-64/shstk-x32.d |    2 +-
 binutils/testsuite/binutils-all/x86-64/shstk.d     |    2 +-
 binutils/testsuite/gentestdlls.c                   |  178 +
 configure                                          |   24 +-
 configure.ac                                       |   16 +-
 cpu/ChangeLog                                      |   15 +
 cpu/bpf.cpu                                        |   71 +-
 elfcpp/ChangeLog                                   |   27 +
 elfcpp/powerpc.h                                   |   35 +
 gas/ChangeLog                                      |  757 +
 gas/NEWS                                           |    6 +
 gas/config/atof-ieee.c                             |   37 +-
 gas/config/obj-elf.c                               |  122 +-
 gas/config/tc-aarch64.c                            |   33 +-
 gas/config/tc-arm.c                                |  210 +-
 gas/config/tc-arm.h                                |    4 +
 gas/config/tc-bpf.c                                |   48 +-
 gas/config/tc-epiphany.c                           |   39 +-
 gas/config/tc-hppa.h                               |    8 +
 gas/config/tc-i386-intel.c                         |    5 +-
 gas/config/tc-i386.c                               |  361 +-
 gas/config/tc-mips.c                               |  105 +-
 gas/config/tc-mips.h                               |    5 +
 gas/config/tc-ppc.c                                |  114 +-
 gas/config/tc-ppc.h                                |    3 +
 gas/doc/as.texi                                    |   10 +-
 gas/doc/c-aarch64.texi                             |   10 +-
 gas/doc/c-arm.texi                                 |   33 +
 gas/doc/c-bpf.texi                                 |   39 +-
 gas/doc/c-i386.texi                                |   47 +-
 gas/doc/c-riscv.texi                               |   14 +-
 gas/po/sv.po                                       | 9960 ++--
 gas/testsuite/gas/aarch64/codealign.d              |    1 +
 gas/testsuite/gas/aarch64/codealign_1.d            |    1 +
 gas/testsuite/gas/aarch64/cpu-cortex-a34.d         |    6 +
 gas/testsuite/gas/aarch64/cpu-cortex-a65.d         |    6 +
 gas/testsuite/gas/aarch64/cpu-cortex-a65ae.d       |    6 +
 gas/testsuite/gas/aarch64/cpu-cortex-a76ae.d       |    6 +
 gas/testsuite/gas/aarch64/cpu-cortex-a77.d         |    6 +
 gas/testsuite/gas/aarch64/diagnostic.l             |    1 +
 gas/testsuite/gas/aarch64/diagnostic.s             |    1 +
 gas/testsuite/gas/aarch64/dwarf.d                  |    2 +-
 gas/testsuite/gas/aarch64/illegal-sve2-aes.d       |    6 +-
 gas/testsuite/gas/aarch64/illegal-sve2-sha3.d      |    2 +-
 gas/testsuite/gas/aarch64/illegal-sve2-sm4.d       |    2 +-
 gas/testsuite/gas/aarch64/illegal-sve2.d           |    2 +-
 gas/testsuite/gas/aarch64/illegal-sve2.l           |   18 +-
 gas/testsuite/gas/aarch64/illegal-sve2.s           |   10 +
 gas/testsuite/gas/aarch64/illegal-sysreg-4.l       |    1 +
 gas/testsuite/gas/aarch64/illegal.l                |    6 +-
 gas/testsuite/gas/aarch64/illegal.s                |    5 +
 gas/testsuite/gas/aarch64/mapmisc.d                |    2 +-
 gas/testsuite/gas/aarch64/mapping.d                |    1 +
 gas/testsuite/gas/aarch64/mapping2.d               |    1 +
 gas/testsuite/gas/aarch64/mapping3.d               |    1 +
 gas/testsuite/gas/aarch64/mapping4.d               |    1 +
 gas/testsuite/gas/aarch64/mapping_5.d              |    1 +
 gas/testsuite/gas/aarch64/mapping_6.d              |    1 +
 gas/testsuite/gas/aarch64/nop-asm.s                |    1 +
 gas/testsuite/gas/aarch64/sve-movprfx_1.d          |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_10.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_11.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_12.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_13.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_14.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_15.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_16.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_17.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_18.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_19.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_2.d          |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_20.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_21.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_22.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_23.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_24.d         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_25.d         |    4 +-
 gas/testsuite/gas/aarch64/sve-movprfx_25.l         |    1 -
 gas/testsuite/gas/aarch64/sve-movprfx_25.s         |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_26.d         |   42 +-
 gas/testsuite/gas/aarch64/sve-movprfx_26.l         |   12 +-
 gas/testsuite/gas/aarch64/sve-movprfx_26.s         |   28 +-
 gas/testsuite/gas/aarch64/sve-movprfx_27.d         |   14 +
 gas/testsuite/gas/aarch64/sve-movprfx_27.s         |   11 +
 gas/testsuite/gas/aarch64/sve-movprfx_3.d          |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_4.d          |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_5.d          |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_6.d          |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_7.d          |    4 +-
 gas/testsuite/gas/aarch64/sve-movprfx_8.d          |    2 +-
 gas/testsuite/gas/aarch64/sve-movprfx_9.d          |    2 +-
 gas/testsuite/gas/aarch64/sve2.d                   |    4 +-
 gas/testsuite/gas/aarch64/sve2.s                   |    4 +
 gas/testsuite/gas/aarch64/symbol-variant_pcs-1.d   |    1 +
 gas/testsuite/gas/aarch64/symbol-variant_pcs-2.d   |    1 +
 gas/testsuite/gas/aarch64/symbol-variant_pcs-3.d   |    1 +
 gas/testsuite/gas/aarch64/sysreg-4.d               |    1 +
 gas/testsuite/gas/aarch64/sysreg-4.s               |    1 +
 gas/testsuite/gas/all/assign.d                     |    1 +
 gas/testsuite/gas/all/none.d                       |    1 +
 gas/testsuite/gas/all/weakref1.d                   |    1 +
 gas/testsuite/gas/arc/nps400-6.d                   |    2 +-
 gas/testsuite/gas/arm/arch6zk.d                    |    4 +-
 gas/testsuite/gas/arm/arch6zk.s                    |    4 +-
 gas/testsuite/gas/arm/float16-bad.d                |    3 +
 gas/testsuite/gas/arm/float16-bad.l                |   10 +
 gas/testsuite/gas/arm/float16-bad.s                |   13 +
 gas/testsuite/gas/arm/float16-be.d                 |   11 +
 .../gas/arm/float16-eabi-alternative-format.d      |   10 +
 gas/testsuite/gas/arm/float16-eabi-ieee-format.d   |   10 +
 gas/testsuite/gas/arm/float16-eabi-no-format.d     |    8 +
 gas/testsuite/gas/arm/float16-eabi.s               |    2 +
 gas/testsuite/gas/arm/float16-format-bad.d         |    3 +
 gas/testsuite/gas/arm/float16-format-bad.l         |    5 +
 gas/testsuite/gas/arm/float16-format-bad.s         |    5 +
 gas/testsuite/gas/arm/float16-format-opt-bad.d     |    4 +
 gas/testsuite/gas/arm/float16-format-opt-bad.l     |    4 +
 gas/testsuite/gas/arm/float16-le.d                 |   11 +
 gas/testsuite/gas/arm/float16.s                    |   25 +
 gas/testsuite/gas/arm/got_prel.d                   |    2 +-
 gas/testsuite/gas/arm/local_function.d             |    1 +
 gas/testsuite/gas/arm/mapdir.d                     |    2 +-
 gas/testsuite/gas/arm/mapmisc.d                    |    2 +-
 gas/testsuite/gas/arm/mapping2.d                   |    1 +
 gas/testsuite/gas/arm/mapping3.d                   |    1 +
 gas/testsuite/gas/arm/mapping4.d                   |    1 +
 gas/testsuite/gas/arm/mapsecs.d                    |    2 +-
 gas/testsuite/gas/arm/mapshort-eabi.d              |    1 +
 gas/testsuite/gas/arm/mve-shift-bad.l              |   10 +-
 gas/testsuite/gas/arm/mve-shift-bad.s              |    6 +
 gas/testsuite/gas/arm/mve-shift.d                  |    6 +-
 gas/testsuite/gas/arm/mve-shift.s                  |    6 +-
 gas/testsuite/gas/arm/mve-vqdmladh-bad.l           |  108 +-
 gas/testsuite/gas/arm/mve-vqdmladh-bad.s           |    8 -
 gas/testsuite/gas/arm/mve-vqdmladh.d               |    6 +
 gas/testsuite/gas/arm/mve-vqdmladh.s               |    6 +
 gas/testsuite/gas/arm/mve-vqdmlah-bad.d            |    3 +
 gas/testsuite/gas/arm/mve-vqdmlah-bad.l            |    7 +
 gas/testsuite/gas/arm/mve-vqdmlah-bad.s            |    4 +
 gas/testsuite/gas/arm/mve-vqdmlah.d                | 1354 +-
 gas/testsuite/gas/arm/mve-vqdmlah.s                |    6 +-
 gas/testsuite/gas/arm/mve-vqdmlash-bad.d           |    3 +
 gas/testsuite/gas/arm/mve-vqdmlash-bad.l           |    7 +
 gas/testsuite/gas/arm/mve-vqdmlash-bad.s           |    4 +
 gas/testsuite/gas/arm/mve-vqdmlash.d               | 1354 +-
 gas/testsuite/gas/arm/mve-vqdmlash.s               |    6 +-
 gas/testsuite/gas/arm/mve-vqdmlsdh-bad.l           |  108 +-
 gas/testsuite/gas/arm/mve-vqdmlsdh-bad.s           |    8 -
 gas/testsuite/gas/arm/mve-vqdmlsdh.d               |    6 +
 gas/testsuite/gas/arm/mve-vqdmlsdh.s               |    6 +
 gas/testsuite/gas/arm/pr24907.d                    |   19 +
 gas/testsuite/gas/arm/pr24907.s                    |   16 +
 gas/testsuite/gas/arm/smc-bad.d                    |    3 +
 gas/testsuite/gas/arm/smc-bad.l                    |    8 +
 gas/testsuite/gas/arm/smc-bad.s                    |   14 +
 gas/testsuite/gas/arm/thumb32.d                    |    2 +-
 gas/testsuite/gas/arm/thumb32.s                    |    2 +-
 gas/testsuite/gas/arm/thumbrel.d                   |    1 +
 gas/testsuite/gas/arm/unwind.d                     |    1 +
 gas/testsuite/gas/bpf/alu-be.d                     |   24 +-
 gas/testsuite/gas/bpf/alu.d                        |   24 +-
 gas/testsuite/gas/bpf/alu32-be.d                   |   26 +-
 gas/testsuite/gas/bpf/alu32.d                      |   26 +-
 gas/testsuite/gas/bpf/bpf.exp                      |    2 +
 gas/testsuite/gas/bpf/data-be.d                    |    9 +
 gas/testsuite/gas/bpf/data.d                       |    8 +
 gas/testsuite/gas/bpf/data.s                       |    4 +
 gas/testsuite/gas/bpf/lddw-be.d                    |    2 +-
 gas/testsuite/gas/bpf/lddw.d                       |    2 +-
 gas/testsuite/gas/bpf/mem-be.d                     |   16 +-
 gas/testsuite/gas/bpf/mem.d                        |   16 +-
 gas/testsuite/gas/bpf/mem.s                        |   16 +-
 gas/testsuite/gas/cfi/cfi-label.d                  |    2 +-
 gas/testsuite/gas/elf/elf.exp                      |   14 +-
 gas/testsuite/gas/elf/section12a.d                 |    5 +-
 gas/testsuite/gas/elf/section12b.d                 |    8 +-
 gas/testsuite/gas/elf/section13.d                  |    2 +
 gas/testsuite/gas/elf/section13.l                  |    2 +-
 gas/testsuite/gas/elf/type-2.e                     |   20 +
 gas/testsuite/gas/elf/type-2.l                     |    3 +
 gas/testsuite/gas/elf/type-2.s                     |   49 +
 gas/testsuite/gas/h8300/h8300.exp                  |   87 +-
 gas/testsuite/gas/h8300/misc.s                     |    4 +-
 gas/testsuite/gas/h8300/misch.s                    |    4 +-
 gas/testsuite/gas/h8300/miscs.s                    |    4 +-
 gas/testsuite/gas/i386/avx-16bit.d                 | 3274 ++
 gas/testsuite/gas/i386/avx-16bit.s                 |    7 +
 gas/testsuite/gas/i386/avx512f-16bit.d             |13297 +++++
 gas/testsuite/gas/i386/avx512f-16bit.s             |    4 +
 gas/testsuite/gas/i386/avx512f_vpclmulqdq-intel.d  |    4 +
 gas/testsuite/gas/i386/avx512f_vpclmulqdq.d        |    4 +
 gas/testsuite/gas/i386/avx512f_vpclmulqdq.s        |    5 +
 gas/testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d |    8 +
 gas/testsuite/gas/i386/avx512vl_vpclmulqdq.d       |    8 +
 gas/testsuite/gas/i386/avx512vl_vpclmulqdq.s       |   10 +
 gas/testsuite/gas/i386/bmi-16bit.d                 |   46 +
 gas/testsuite/gas/i386/bmi-16bit.s                 |    4 +
 gas/testsuite/gas/i386/bmi2-16bit.d                |   51 +
 gas/testsuite/gas/i386/bmi2-16bit.s                |    4 +
 gas/testsuite/gas/i386/bss.d                       |    2 +-
 gas/testsuite/gas/i386/disassem.d                  |    6 +-
 gas/testsuite/gas/i386/disassem.s                  |    2 +
 gas/testsuite/gas/i386/i386.exp                    |   12 +
 gas/testsuite/gas/i386/ifunc-3.d                   |    1 +
 gas/testsuite/gas/i386/ilp32/mixed-mode-reloc64.d  |    1 +
 gas/testsuite/gas/i386/ilp32/quad.d                |    2 +-
 gas/testsuite/gas/i386/ilp32/reloc64.d             |    2 +-
 gas/testsuite/gas/i386/ilp32/x86-64-opcode.d       |  306 +-
 gas/testsuite/gas/i386/ilp32/x86-64-simd-intel.d   |  244 +-
 gas/testsuite/gas/i386/ilp32/x86-64-simd-suffix.d  |  244 +-
 gas/testsuite/gas/i386/ilp32/x86-64-simd.d         |  244 +-
 gas/testsuite/gas/i386/ilp32/x86-64-size-1.d       |    2 +-
 gas/testsuite/gas/i386/ilp32/x86-64-size-3.d       |    2 +-
 gas/testsuite/gas/i386/ilp32/x86-64-size-5.d       |    2 +-
 gas/testsuite/gas/i386/ilp32/x86-64-sse2avx.d      | 1226 +-
 gas/testsuite/gas/i386/ilp32/x86-64-unwind.d       |    2 +-
 gas/testsuite/gas/i386/inval-16.l                  |    2 +-
 gas/testsuite/gas/i386/inval-16.s                  |    2 +-
 gas/testsuite/gas/i386/lwp-16bit.d                 |   74 +
 gas/testsuite/gas/i386/lwp-16bit.s                 |    4 +
 gas/testsuite/gas/i386/mixed-mode-reloc32.d        |    2 +-
 gas/testsuite/gas/i386/mixed-mode-reloc64.d        |    1 +
 gas/testsuite/gas/i386/noextreg.d                  |    1 +
 gas/testsuite/gas/i386/nop-6.d                     |    2 +-
 gas/testsuite/gas/i386/optimize-1.d                |   48 +
 gas/testsuite/gas/i386/optimize-1.s                |   54 +
 gas/testsuite/gas/i386/optimize-1a.d               |   48 +
 gas/testsuite/gas/i386/optimize-2.d                |   70 +
 gas/testsuite/gas/i386/optimize-2.s                |   80 +
 gas/testsuite/gas/i386/optimize-2b.d               |  163 +
 gas/testsuite/gas/i386/optimize-3.d                |    8 +
 gas/testsuite/gas/i386/optimize-3.s                |    9 +
 gas/testsuite/gas/i386/optimize-4.d                |   48 +
 gas/testsuite/gas/i386/optimize-5.d                |   56 +
 gas/testsuite/gas/i386/optimize-5.s                |    9 +
 gas/testsuite/gas/i386/oversized16.l               |   41 +
 gas/testsuite/gas/i386/oversized16.s               |   11 +
 gas/testsuite/gas/i386/oversized64.l               |   40 +
 gas/testsuite/gas/i386/oversized64.s               |   10 +
 gas/testsuite/gas/i386/property-1.d                |    4 +-
 gas/testsuite/gas/i386/property-2.d                |    4 +-
 gas/testsuite/gas/i386/relax.d                     |    2 +-
 gas/testsuite/gas/i386/reloc64.d                   |    2 +-
 gas/testsuite/gas/i386/size-1.d                    |    2 +-
 gas/testsuite/gas/i386/size-3.d                    |    2 +-
 gas/testsuite/gas/i386/sse2-16bit.d                |  167 +
 gas/testsuite/gas/i386/sse2-16bit.s                |    7 +
 gas/testsuite/gas/i386/tbm-16bit.d                 |  170 +
 gas/testsuite/gas/i386/tbm-16bit.s                 |    4 +
 gas/testsuite/gas/i386/vpclmulqdq-intel.d          |    4 +
 gas/testsuite/gas/i386/vpclmulqdq.d                |    4 +
 gas/testsuite/gas/i386/vpclmulqdq.s                |    5 +
 gas/testsuite/gas/i386/x86-64-avx-swap-2.d         |  380 +
 gas/testsuite/gas/i386/x86-64-avx-swap-2.s         |  393 +
 .../gas/i386/x86-64-avx512f_vpclmulqdq-intel.d     |    4 +
 gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d |    4 +
 gas/testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s |    5 +
 .../gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d    |    8 +
 .../gas/i386/x86-64-avx512vl_vpclmulqdq.d          |    8 +
 .../gas/i386/x86-64-avx512vl_vpclmulqdq.s          |   10 +
 gas/testsuite/gas/i386/x86-64-disassem.d           |    5 +-
 gas/testsuite/gas/i386/x86-64-disassem.s           |    2 +
 gas/testsuite/gas/i386/x86-64-nop-6.d              |    1 +
 gas/testsuite/gas/i386/x86-64-opcode.d             |    4 +
 gas/testsuite/gas/i386/x86-64-opcode.s             |    4 +
 gas/testsuite/gas/i386/x86-64-optimize-1.d         |    6 +
 gas/testsuite/gas/i386/x86-64-optimize-1.s         |    6 +
 gas/testsuite/gas/i386/x86-64-optimize-2.d         |   48 +
 gas/testsuite/gas/i386/x86-64-optimize-2.s         |   54 +
 gas/testsuite/gas/i386/x86-64-optimize-2a.d        |   48 +
 gas/testsuite/gas/i386/x86-64-optimize-2b.d        |   48 +
 gas/testsuite/gas/i386/x86-64-optimize-3.d         |   80 +
 gas/testsuite/gas/i386/x86-64-optimize-3.s         |   91 +
 gas/testsuite/gas/i386/x86-64-optimize-3b.d        |  199 +
 gas/testsuite/gas/i386/x86-64-optimize-4.d         |    8 +
 gas/testsuite/gas/i386/x86-64-optimize-4.s         |    9 +
 gas/testsuite/gas/i386/x86-64-optimize-5.d         |   48 +
 gas/testsuite/gas/i386/x86-64-optimize-6.d         |   56 +
 gas/testsuite/gas/i386/x86-64-optimize-6.s         |    9 +
 gas/testsuite/gas/i386/x86-64-property-1.d         |    4 +-
 gas/testsuite/gas/i386/x86-64-property-2.d         |    4 +-
 gas/testsuite/gas/i386/x86-64-simd-intel.d         |  132 +-
 gas/testsuite/gas/i386/x86-64-simd-suffix.d        |  132 +-
 gas/testsuite/gas/i386/x86-64-simd.d               |  132 +-
 gas/testsuite/gas/i386/x86-64-size-1.d             |    2 +-
 gas/testsuite/gas/i386/x86-64-size-3.d             |    2 +-
 gas/testsuite/gas/i386/x86-64-size-5.d             |    2 +-
 gas/testsuite/gas/i386/x86-64-sse2avx.d            |   93 +
 gas/testsuite/gas/i386/x86-64-sse2avx.s            |   93 +
 gas/testsuite/gas/i386/x86-64-unwind.d             |    2 +-
 gas/testsuite/gas/i386/x86-64-vpclmulqdq-intel.d   |   16 +-
 gas/testsuite/gas/i386/x86-64-vpclmulqdq.d         |   16 +-
 gas/testsuite/gas/i386/x86-64-vpclmulqdq.s         |   17 +-
 gas/testsuite/gas/i386/xmmword.l                   |    2 +
 gas/testsuite/gas/i386/xmmword.s                   |    4 +
 gas/testsuite/gas/macros/irp.d                     |    1 +
 gas/testsuite/gas/macros/repeat.d                  |    1 +
 gas/testsuite/gas/macros/rept.d                    |    1 +
 gas/testsuite/gas/macros/test2.d                   |    1 +
 gas/testsuite/gas/macros/test3.d                   |    1 +
 gas/testsuite/gas/macros/vararg.d                  |    1 +
 gas/testsuite/gas/mips/insn-isa-mode.d             |   16 +
 gas/testsuite/gas/mips/insn-isa-mode.s             |   14 +
 gas/testsuite/gas/mips/li-d.d                      |   51 +-
 gas/testsuite/gas/mips/li-d.s                      |   39 +
 gas/testsuite/gas/mips/micromips@isa-override-1.d  |   12 +-
 gas/testsuite/gas/mips/mips.exp                    |    1 +
 gas/testsuite/gas/mips/mips32r2@isa-override-1.d   |   12 +-
 gas/testsuite/gas/mips/mips64r2@isa-override-1.d   |   12 +-
 gas/testsuite/gas/ppc/astest2.d                    |    1 +
 gas/testsuite/gas/ppc/astest2_64.d                 |    1 +
 gas/testsuite/gas/ppc/astest64.d                   |    1 +
 gas/testsuite/gas/ppc/groupnop.d                   |   19 +
 gas/testsuite/gas/ppc/groupnop.s                   |   19 +
 gas/testsuite/gas/ppc/power4.d                     |    2 +-
 gas/testsuite/gas/ppc/ppc.exp                      |    2 +
 gas/testsuite/gas/ppc/test1elf64.d                 |    1 +
 gas/testsuite/gas/riscv/alias-csr.d                |   23 +
 gas/testsuite/gas/riscv/alias-csr.s                |   14 +
 gas/testsuite/gas/riscv/insn.d                     |   99 +-
 gas/testsuite/gas/riscv/insn.s                     |   19 +-
 gas/testsuite/gas/riscv/no-aliases-csr.d           |   23 +
 gas/testsuite/gas/riscv/priv-reg.d                 |    2 +-
 gas/testsuite/gas/xstormy16/allinsn.sh             |    2 +-
 gas/testsuite/gas/xstormy16/gcc.sh                 |    2 +-
 gas/write.c                                        |   22 +-
 gdb/ChangeLog                                      | 3758 ++
 gdb/MAINTAINERS                                    |    1 +
 gdb/Makefile.in                                    |  154 +-
 gdb/NEWS                                           |   91 +-
 gdb/README                                         |    3 +-
 gdb/aarch32-linux-nat.h                            |    5 -
 gdb/aarch32-tdep.c                                 |   33 +
 gdb/aarch32-tdep.h                                 |   25 +
 gdb/aarch64-fbsd-nat.c                             |   15 +-
 gdb/aarch64-linux-nat.c                            |   18 +-
 gdb/aarch64-linux-tdep.c                           |    2 +-
 gdb/aarch64-ravenscar-thread.c                     |    1 +
 gdb/aarch64-tdep.c                                 |   73 +-
 gdb/aarch64-tdep.h                                 |    2 +-
 gdb/acinclude.m4                                   |    5 +-
 gdb/ada-exp.y                                      |   22 +-
 gdb/ada-lang.c                                     |  119 +-
 gdb/ada-lang.h                                     |    8 +-
 gdb/ada-tasks.c                                    |   22 +-
 gdb/agent.c                                        |    2 +-
 gdb/alloc.c                                        |    4 +-
 gdb/alpha-bsd-tdep.h                               |    2 +
 gdb/alpha-linux-tdep.c                             |    1 +
 gdb/alpha-mdebug-tdep.c                            |    1 +
 gdb/amd64-darwin-tdep.c                            |    2 +-
 gdb/amd64-dicos-tdep.c                             |    2 +-
 gdb/amd64-fbsd-nat.c                               |    2 +-
 gdb/amd64-fbsd-tdep.c                              |    2 +-
 gdb/amd64-linux-nat.c                              |    2 +-
 gdb/amd64-linux-tdep.c                             |   30 +-
 gdb/amd64-nbsd-tdep.c                              |    2 +-
 gdb/amd64-obsd-tdep.c                              |    2 +-
 gdb/amd64-sol2-tdep.c                              |    2 +-
 gdb/amd64-tdep.c                                   |   27 +-
 gdb/amd64-windows-tdep.c                           |    2 +-
 gdb/annotate.c                                     |   11 +-
 gdb/arch-utils.c                                   |   10 +-
 gdb/arch-utils.h                                   |    7 +-
 gdb/arch/aarch32.c                                 |   43 +
 gdb/arch/aarch32.h                                 |   27 +
 gdb/arch/aarch64-insn.c                            |    2 +-
 gdb/arch/aarch64.c                                 |    2 +-
 gdb/arch/aarch64.h                                 |    2 +-
 gdb/arch/amd64.c                                   |    4 +-
 gdb/arch/amd64.h                                   |    2 +-
 gdb/arch/arm-get-next-pcs.c                        |    9 +-
 gdb/arch/arm-linux.c                               |    6 +-
 gdb/arch/arm.c                                     |   88 +-
 gdb/arch/arm.h                                     |   50 +-
 gdb/arch/i386.c                                    |    6 +-
 gdb/arch/i386.h                                    |    2 +-
 gdb/arch/ppc-linux-common.c                        |    2 +-
 gdb/arch/riscv.c                                   |    2 +-
 gdb/arch/riscv.h                                   |    2 +-
 gdb/arch/tic6x.c                                   |    4 +-
 gdb/arm-fbsd-nat.c                                 |   14 +-
 gdb/arm-fbsd-tdep.c                                |   12 +-
 gdb/arm-linux-nat.c                                |   42 +-
 gdb/arm-linux-tdep.c                               |   54 +-
 gdb/arm-linux-tdep.h                               |   12 +-
 gdb/arm-nbsd-tdep.c                                |    2 +-
 gdb/arm-tdep.c                                     |  485 +-
 gdb/arm-tdep.h                                     |   27 +-
 gdb/arm-wince-tdep.c                               |    2 +-
 gdb/auto-load.c                                    |    6 +-
 gdb/auxv.c                                         |    2 +-
 gdb/ax-gdb.c                                       |    2 +-
 gdb/ax-general.c                                   |    3 +-
 gdb/ax.h                                           |    4 +-
 gdb/block.c                                        |   19 +-
 gdb/block.h                                        |   10 +-
 gdb/blockframe.c                                   |    2 +
 gdb/break-catch-syscall.c                          |    4 +-
 gdb/break-catch-throw.c                            |   35 +-
 gdb/breakpoint.c                                   |  512 +-
 gdb/breakpoint.h                                   |   57 +-
 gdb/btrace.c                                       |    5 +-
 gdb/btrace.h                                       |    4 +-
 gdb/build-id.c                                     |    2 +-
 gdb/build-id.h                                     |    2 +-
 gdb/buildsym-legacy.c                              |    1 +
 gdb/buildsym.c                                     |    5 +-
 gdb/buildsym.h                                     |    2 +
 gdb/c-exp.y                                        |   11 +-
 gdb/c-lang.c                                       |    1 +
 gdb/c-lang.h                                       |    2 +-
 gdb/c-typeprint.c                                  |    2 +-
 gdb/charset.c                                      |    8 +-
 gdb/charset.h                                      |    2 +-
 gdb/cli-out.c                                      |   25 +-
 gdb/cli-out.h                                      |    9 +-
 gdb/cli/cli-cmds.c                                 |  261 +-
 gdb/cli/cli-cmds.h                                 |   22 +-
 gdb/cli/cli-decode.c                               |   33 +-
 gdb/cli/cli-decode.h                               |   10 +-
 gdb/cli/cli-dump.c                                 |    5 +-
 gdb/cli/cli-logging.c                              |    4 +-
 gdb/cli/cli-option.c                               |  171 +-
 gdb/cli/cli-option.h                               |   25 +-
 gdb/cli/cli-script.c                               |    2 +-
 gdb/cli/cli-script.h                               |    2 +
 gdb/cli/cli-setshow.c                              |   79 +-
 gdb/cli/cli-setshow.h                              |    5 +
 gdb/cli/cli-style.c                                |   28 +-
 gdb/cli/cli-style.h                                |    1 +
 gdb/cli/cli-utils.c                                |  158 +-
 gdb/cli/cli-utils.h                                |   51 +-
 gdb/coff-pe-read.c                                 |    2 +-
 gdb/coff-pe-read.h                                 |    1 +
 gdb/coffread.c                                     |   11 +-
 gdb/command.h                                      |   23 +-
 gdb/common/agent.c                                 |  282 -
 gdb/common/agent.h                                 |   68 -
 gdb/common/byte-vector.h                           |   63 -
 gdb/common/common-debug.c                          |   37 -
 gdb/common/common-defs.h                           |  150 -
 gdb/common/common-utils.c                          |  358 -
 gdb/common/common-utils.h                          |  181 -
 gdb/common/common.host                             |   36 -
 gdb/common/create-version.sh                       |   38 -
 gdb/common/def-vector.h                            |   36 -
 gdb/common/environ.c                               |  183 -
 gdb/common/errors.c                                |   69 -
 gdb/common/filestuff.c                             |  503 -
 gdb/common/format.h                                |   96 -
 gdb/common/forward-scope-exit.h                    |  123 -
 gdb/common/gdb_optional.h                          |  219 -
 gdb/common/gdb_tilde_expand.c                      |   95 -
 gdb/common/job-control.c                           |   86 -
 gdb/common/job-control.h                           |   38 -
 gdb/common/netstuff.c                              |  154 -
 gdb/common/pathstuff.c                             |  290 -
 gdb/common/pathstuff.h                             |   95 -
 gdb/common/rsp-low.h                               |  101 -
 gdb/common/scope-exit.h                            |  186 -
 gdb/common/scoped_mmap.c                           |   49 -
 gdb/common/tdesc.c                                 |  401 -
 gdb/common/valid-expr.h                            |  108 -
 gdb/compile/compile-c-support.c                    |    5 +-
 gdb/compile/compile-c.h                            |    2 +-
 gdb/compile/compile-cplus-symbols.c                |    2 +-
 gdb/compile/compile-cplus-types.c                  |    4 +-
 gdb/compile/compile-cplus.h                        |    3 +-
 gdb/compile/compile-loc2c.c                        |    3 +-
 gdb/compile/compile-object-load.c                  |    1 +
 gdb/compile/compile.c                              |   28 +-
 gdb/completer.c                                    |    2 +-
 gdb/completer.h                                    |    2 +-
 gdb/config.in                                      |    3 -
 gdb/configure                                      |  125 +-
 gdb/configure.ac                                   |   50 +-
 gdb/configure.tgt                                  |    8 +-
 gdb/contrib/ari/gdb_ari.sh                         |   50 +-
 gdb/corefile.c                                     |    3 +-
 gdb/corelow.c                                      |    5 +-
 gdb/cp-support.c                                   |   14 +-
 gdb/cp-support.h                                   |    6 +-
 gdb/cp-valprint.c                                  |    5 +-
 gdb/cris-linux-tdep.c                              |    1 +
 gdb/csky-tdep.c                                    |    2 +-
 gdb/ctf.c                                          |    3 +-
 gdb/d-lang.c                                       |    1 +
 gdb/d-namespace.c                                  |    1 +
 gdb/darwin-nat-info.c                              |    5 +-
 gdb/darwin-nat.c                                   |    9 +-
 gdb/dbxread.c                                      |   40 +-
 gdb/dcache.c                                       |    1 +
 gdb/debug.c                                        |    2 +-
 gdb/defs.h                                         |   12 +-
 gdb/dicos-tdep.c                                   |    1 +
 gdb/dictionary.c                                   |    1 +
 gdb/disasm-selftests.c                             |    3 +-
 gdb/disasm.c                                       |   61 +-
 gdb/disasm.h                                       |   22 +-
 gdb/doc/ChangeLog                                  |   74 +
 gdb/doc/gdb.texinfo                                |  233 +-
 gdb/doc/python.texi                                |   45 +-
 gdb/dtrace-probe.c                                 |    2 +-
 gdb/dummy-frame.c                                  |    1 +
 gdb/dummy-frame.h                                  |    1 +
 gdb/dwarf-index-cache.c                            |   10 +-
 gdb/dwarf-index-cache.h                            |    2 +-
 gdb/dwarf-index-write.c                            |   12 +-
 gdb/dwarf2-frame-tailcall.c                        |    1 +
 gdb/dwarf2-frame.c                                 |   10 +-
 gdb/dwarf2expr.c                                   |    3 +-
 gdb/dwarf2loc.c                                    |   53 +-
 gdb/dwarf2loc.h                                    |   36 +-
 gdb/dwarf2read.c                                   |  551 +-
 gdb/dwarf2read.h                                   |   15 +-
 gdb/event-loop.c                                   |    2 +-
 gdb/event-top.c                                    |    2 +-
 gdb/exceptions.c                                   |    2 +-
 gdb/exec.c                                         |    2 +-
 gdb/expression.h                                   |    2 +
 gdb/extension.h                                    |    9 +-
 gdb/f-lang.c                                       |    1 +
 gdb/fbsd-nat.c                                     |    7 +-
 gdb/features/Makefile                              |  113 +-
 gdb/features/aarch64-core.c                        |    9 +-
 gdb/features/aarch64-core.xml                      |   28 +-
 gdb/features/aarch64-fpu.c                         |    2 +-
 gdb/features/aarch64-pauth.c                       |    3 +-
 gdb/features/aarch64-sve.c                         |    2 +-
 gdb/features/aarch64.xml                           |   14 -
 gdb/features/arm/arm-core.c                        |   31 +
 gdb/features/arm/arm-fpa.c                         |   23 +
 gdb/features/arm/arm-m-profile-with-fpa.c          |   39 +
 gdb/features/arm/arm-m-profile-with-fpa.xml        |   39 +
 gdb/features/arm/arm-m-profile.c                   |   31 +
 gdb/features/arm/arm-vfpv2.c                       |   30 +
 gdb/features/arm/arm-vfpv3.c                       |   46 +
 gdb/features/arm/arm-with-iwmmxt.c                 |   83 -
 gdb/features/arm/arm-with-iwmmxt.xml               |   13 -
 gdb/features/arm/arm-with-m-fpa-layout.c           |   46 -
 gdb/features/arm/arm-with-m-fpa-layout.xml         |   46 -
 gdb/features/arm/arm-with-m-vfp-d16.c              |   56 -
 gdb/features/arm/arm-with-m-vfp-d16.xml            |   14 -
 gdb/features/arm/arm-with-m.c                      |   37 -
 gdb/features/arm/arm-with-m.xml                    |   12 -
 gdb/features/arm/arm-with-neon.c                   |   74 -
 gdb/features/arm/arm-with-neon.xml                 |   14 -
 gdb/features/arm/arm-with-vfpv2.c                  |   56 -
 gdb/features/arm/arm-with-vfpv2.xml                |   13 -
 gdb/features/arm/arm-with-vfpv3.c                  |   72 -
 gdb/features/arm/arm-with-vfpv3.xml                |   13 -
 gdb/features/arm/xscale-iwmmxt.c                   |   57 +
 gdb/features/i386/32bit-avx.c                      |    2 +-
 gdb/features/i386/32bit-avx512.c                   |    2 +-
 gdb/features/i386/32bit-core.c                     |    2 +-
 gdb/features/i386/32bit-linux.c                    |    2 +-
 gdb/features/i386/32bit-mpx.c                      |    2 +-
 gdb/features/i386/32bit-pkeys.c                    |    2 +-
 gdb/features/i386/32bit-segments.c                 |    2 +-
 gdb/features/i386/32bit-sse.c                      |    2 +-
 gdb/features/i386/64bit-avx.c                      |    2 +-
 gdb/features/i386/64bit-avx512.c                   |    2 +-
 gdb/features/i386/64bit-core.c                     |    2 +-
 gdb/features/i386/64bit-linux.c                    |    2 +-
 gdb/features/i386/64bit-mpx.c                      |    2 +-
 gdb/features/i386/64bit-pkeys.c                    |    2 +-
 gdb/features/i386/64bit-segments.c                 |    2 +-
 gdb/features/i386/64bit-sse.c                      |    2 +-
 gdb/features/i386/amd64-avx-avx512-linux.xml       |   20 -
 gdb/features/i386/amd64-avx-avx512.xml             |   18 -
 gdb/features/i386/amd64-avx-linux.xml              |   19 -
 .../i386/amd64-avx-mpx-avx512-pku-linux.xml        |   23 -
 gdb/features/i386/amd64-avx-mpx-avx512-pku.xml     |   20 -
 gdb/features/i386/amd64-avx-mpx-linux.xml          |   20 -
 gdb/features/i386/amd64-avx-mpx.xml                |   18 -
 gdb/features/i386/amd64-avx.xml                    |   17 -
 gdb/features/i386/amd64-linux.xml                  |   18 -
 gdb/features/i386/amd64-mpx-linux.xml              |   19 -
 gdb/features/i386/amd64-mpx.xml                    |   17 -
 gdb/features/i386/amd64.xml                        |   16 -
 gdb/features/i386/i386-avx-avx512-linux.xml        |   19 -
 gdb/features/i386/i386-avx-avx512.xml              |   17 -
 gdb/features/i386/i386-avx-linux.xml               |   18 -
 .../i386/i386-avx-mpx-avx512-pku-linux.xml         |   22 -
 gdb/features/i386/i386-avx-mpx-avx512-pku.xml      |   19 -
 gdb/features/i386/i386-avx-mpx-linux.xml           |   19 -
 gdb/features/i386/i386-avx-mpx.xml                 |   17 -
 gdb/features/i386/i386-avx.xml                     |   16 -
 gdb/features/i386/i386-linux.xml                   |   17 -
 gdb/features/i386/i386-mmx-linux.xml               |   16 -
 gdb/features/i386/i386-mmx.xml                     |   14 -
 gdb/features/i386/i386-mpx-linux.xml               |   18 -
 gdb/features/i386/i386-mpx.xml                     |   16 -
 gdb/features/i386/i386.xml                         |   15 -
 gdb/features/i386/x32-avx-avx512-linux.xml         |   20 -
 gdb/features/i386/x32-avx-linux.xml                |   19 -
 gdb/features/i386/x32-core.c                       |    2 +-
 gdb/features/i386/x32-linux.xml                    |   18 -
 gdb/features/riscv/32bit-cpu.c                     |    2 +-
 gdb/features/riscv/32bit-csr.c                     |    2 +-
 gdb/features/riscv/32bit-fpu.c                     |    2 +-
 gdb/features/riscv/64bit-cpu.c                     |    2 +-
 gdb/features/riscv/64bit-csr.c                     |    2 +-
 gdb/features/riscv/64bit-fpu.c                     |    2 +-
 gdb/features/tic6x-c6xp.c                          |    2 +-
 gdb/features/tic6x-core.c                          |    2 +-
 gdb/features/tic6x-gp.c                            |    2 +-
 gdb/filename-seen-cache.h                          |    2 +-
 gdb/filesystem.c                                   |    4 +-
 gdb/findcmd.c                                      |    2 +-
 gdb/findvar.c                                      |    2 +-
 gdb/fork-child.c                                   |    8 +-
 gdb/frame-base.c                                   |    1 +
 gdb/frame-unwind.c                                 |    1 +
 gdb/frame.c                                        |   32 +-
 gdb/frame.h                                        |   54 +-
 gdb/frv-linux-tdep.c                               |    1 +
 gdb/gcore.c                                        |    6 +-
 gdb/gdb-stabs.h                                    |   41 +-
 gdb/gdb_bfd.c                                      |    6 +-
 gdb/gdb_bfd.h                                      |    2 +-
 gdb/gdb_obstack.c                                  |   10 -
 gdb/gdb_obstack.h                                  |   27 +-
 gdb/gdb_proc_service.h                             |    2 +-
 gdb/gdb_regex.c                                    |    2 +-
 gdb/gdb_select.h                                   |    2 +-
 gdb/gdb_usleep.c                                   |    2 +-
 gdb/gdbarch-selftests.c                            |    5 +-
 gdb/gdbarch.c                                      |   55 +
 gdb/gdbarch.h                                      |   36 +
 gdb/gdbarch.sh                                     |   28 +
 gdb/gdbserver/ChangeLog                            |  123 +
 gdb/gdbserver/Makefile.in                          |  136 +-
 gdb/gdbserver/acinclude.m4                         |    5 +-
 gdb/gdbserver/ax.c                                 |   10 +-
 gdb/gdbserver/config.in                            |    3 -
 gdb/gdbserver/configure                            |  165 +-
 gdb/gdbserver/configure.ac                         |   15 +-
 gdb/gdbserver/configure.srv                        |   46 +-
 gdb/gdbserver/debug.c                              |    2 +-
 gdb/gdbserver/debug.h                              |    2 +-
 gdb/gdbserver/event-loop.c                         |    2 +-
 gdb/gdbserver/fork-child.c                         |    2 +-
 gdb/gdbserver/gdb_proc_service.h                   |    2 +-
 gdb/gdbserver/gdbreplay.c                          |    8 +-
 gdb/gdbserver/gdbthread.h                          |    2 +-
 gdb/gdbserver/hostio-errno.c                       |    2 +-
 gdb/gdbserver/hostio.c                             |    2 +-
 gdb/gdbserver/i387-fp.c                            |    2 +-
 gdb/gdbserver/inferiors.c                          |    6 +-
 gdb/gdbserver/inferiors.h                          |    2 +-
 gdb/gdbserver/linux-aarch32-low.c                  |    8 +-
 gdb/gdbserver/linux-aarch32-low.h                  |    2 -
 gdb/gdbserver/linux-aarch32-tdesc.c                |   47 +
 gdb/gdbserver/linux-aarch32-tdesc.h                |   29 +
 gdb/gdbserver/linux-aarch64-low.c                  |   11 +-
 gdb/gdbserver/linux-aarch64-tdesc-selftest.c       |   45 -
 gdb/gdbserver/linux-aarch64-tdesc.h                |    4 -
 gdb/gdbserver/linux-amd64-ipa.c                    |    2 +-
 gdb/gdbserver/linux-arm-low.c                      |  125 +-
 gdb/gdbserver/linux-arm-tdesc.c                    |   62 +
 gdb/gdbserver/linux-arm-tdesc.h                    |   29 +
 gdb/gdbserver/linux-i386-ipa.c                     |    2 +-
 gdb/gdbserver/linux-low.c                          |   20 +-
 gdb/gdbserver/linux-ppc-low.c                      |   22 +-
 gdb/gdbserver/linux-s390-ipa.c                     |    2 +-
 gdb/gdbserver/linux-s390-low.c                     |    4 +-
 gdb/gdbserver/linux-tic6x-low.c                    |    2 +-
 gdb/gdbserver/linux-x86-low.c                      |   16 +-
 gdb/gdbserver/linux-x86-tdesc-selftest.c           |  183 -
 gdb/gdbserver/linux-x86-tdesc.c                    |    2 +-
 gdb/gdbserver/linux-x86-tdesc.h                    |    2 -
 gdb/gdbserver/lynx-i386-low.c                      |    2 +-
 gdb/gdbserver/lynx-low.c                           |    6 +-
 gdb/gdbserver/mem-break.c                          |   30 +-
 gdb/gdbserver/mem-break.h                          |    2 +-
 gdb/gdbserver/nto-x86-low.c                        |    2 +-
 gdb/gdbserver/proc-service.c                       |    2 +-
 gdb/gdbserver/regcache.c                           |   14 +-
 gdb/gdbserver/regcache.h                           |   12 +-
 gdb/gdbserver/remote-utils.c                       |   12 +-
 gdb/gdbserver/server.c                             |   33 +-
 gdb/gdbserver/server.h                             |   15 +-
 gdb/gdbserver/spu-low.c                            |    4 +-
 gdb/gdbserver/symbol.c                             |    4 +-
 gdb/gdbserver/target.c                             |   33 +-
 gdb/gdbserver/target.h                             |    7 +-
 gdb/gdbserver/tdesc.c                              |   12 +-
 gdb/gdbserver/tdesc.h                              |    2 +-
 gdb/gdbserver/thread-db.c                          |    4 +-
 gdb/gdbserver/tracepoint.c                         |   36 +-
 gdb/gdbserver/win32-i386-low.c                     |    2 +-
 gdb/gdbserver/win32-low.c                          |    4 +-
 gdb/gdbsupport/agent.c                             |  282 +
 gdb/gdbsupport/agent.h                             |   68 +
 gdb/{common => gdbsupport}/array-view.h            |    0
 gdb/{common => gdbsupport}/ax.def                  |    0
 gdb/{common => gdbsupport}/break-common.h          |    0
 gdb/{common => gdbsupport}/btrace-common.c         |    0
 gdb/{common => gdbsupport}/btrace-common.h         |    0
 gdb/{common => gdbsupport}/buffer.c                |    0
 gdb/{common => gdbsupport}/buffer.h                |    0
 gdb/gdbsupport/byte-vector.h                       |   63 +
 gdb/{common => gdbsupport}/cleanups.c              |    0
 gdb/{common => gdbsupport}/cleanups.h              |    0
 gdb/gdbsupport/common-debug.c                      |   37 +
 gdb/{common => gdbsupport}/common-debug.h          |    0
 gdb/gdbsupport/common-defs.h                       |  150 +
 gdb/{common => gdbsupport}/common-exceptions.c     |    0
 gdb/{common => gdbsupport}/common-exceptions.h     |    0
 gdb/{common => gdbsupport}/common-gdbthread.h      |    0
 gdb/{common => gdbsupport}/common-inferior.h       |    0
 gdb/{common => gdbsupport}/common-regcache.c       |    0
 gdb/{common => gdbsupport}/common-regcache.h       |    0
 gdb/{common => gdbsupport}/common-types.h          |    0
 gdb/gdbsupport/common-utils.c                      |  417 +
 gdb/gdbsupport/common-utils.h                      |  191 +
 gdb/gdbsupport/common.host                         |   36 +
 gdb/{common => gdbsupport}/common.m4               |    0
 gdb/gdbsupport/create-version.sh                   |   38 +
 gdb/gdbsupport/def-vector.h                        |   36 +
 gdb/{common => gdbsupport}/default-init-alloc.h    |    0
 gdb/{common => gdbsupport}/enum-flags.h            |    0
 gdb/gdbsupport/environ.c                           |  183 +
 gdb/{common => gdbsupport}/environ.h               |    0
 gdb/gdbsupport/errors.c                            |   69 +
 gdb/{common => gdbsupport}/errors.h                |    0
 gdb/{common => gdbsupport}/fileio.c                |    0
 gdb/{common => gdbsupport}/fileio.h                |    0
 gdb/gdbsupport/filestuff.c                         |  503 +
 gdb/{common => gdbsupport}/filestuff.h             |    0
 gdb/{common => gdbsupport}/filtered-iterator.h     |    0
 gdb/{common => gdbsupport}/format.c                |    0
 gdb/gdbsupport/format.h                            |   96 +
 gdb/gdbsupport/forward-scope-exit.h                |  123 +
 gdb/{common => gdbsupport}/function-view.h         |    0
 gdb/{common => gdbsupport}/gdb_assert.h            |    0
 gdb/{common => gdbsupport}/gdb_locale.h            |    0
 gdb/gdbsupport/gdb_optional.h                      |  219 +
 gdb/{common => gdbsupport}/gdb_proc_service.h      |    0
 gdb/{common => gdbsupport}/gdb_ref_ptr.h           |    0
 gdb/{common => gdbsupport}/gdb_setjmp.h            |    0
 gdb/{common => gdbsupport}/gdb_signals.h           |    0
 gdb/{common => gdbsupport}/gdb_splay_tree.h        |    0
 gdb/{common => gdbsupport}/gdb_string_view.h       |    0
 gdb/{common => gdbsupport}/gdb_string_view.tcc     |    0
 gdb/{common => gdbsupport}/gdb_sys_time.h          |    0
 gdb/gdbsupport/gdb_tilde_expand.c                  |   95 +
 gdb/{common => gdbsupport}/gdb_tilde_expand.h      |    0
 gdb/{common => gdbsupport}/gdb_unique_ptr.h        |    0
 gdb/{common => gdbsupport}/gdb_unlinker.h          |    0
 gdb/{common => gdbsupport}/gdb_vecs.c              |    0
 gdb/{common => gdbsupport}/gdb_vecs.h              |    0
 gdb/{common => gdbsupport}/gdb_wait.h              |    0
 gdb/{common => gdbsupport}/hash_enum.h             |    0
 gdb/{common => gdbsupport}/host-defs.h             |    0
 gdb/gdbsupport/job-control.c                       |   86 +
 gdb/gdbsupport/job-control.h                       |   38 +
 gdb/{common => gdbsupport}/mingw-strerror.c        |    0
 gdb/gdbsupport/netstuff.c                          |  154 +
 gdb/{common => gdbsupport}/netstuff.h              |    0
 gdb/{common => gdbsupport}/new-op.c                |    0
 gdb/{common => gdbsupport}/next-iterator.h         |    0
 gdb/{common => gdbsupport}/observable.h            |    0
 gdb/{common => gdbsupport}/offset-type.h           |    0
 gdb/gdbsupport/pathstuff.c                         |  290 +
 gdb/gdbsupport/pathstuff.h                         |   95 +
 gdb/{common => gdbsupport}/poison.h                |    0
 gdb/{common => gdbsupport}/posix-strerror.c        |    0
 gdb/{common => gdbsupport}/preprocessor.h          |    0
 gdb/{common => gdbsupport}/print-utils.c           |    0
 gdb/{common => gdbsupport}/print-utils.h           |    0
 gdb/{common => gdbsupport}/ptid.c                  |    0
 gdb/{common => gdbsupport}/ptid.h                  |    0
 gdb/{common => gdbsupport}/refcounted-object.h     |    0
 gdb/{common => gdbsupport}/rsp-low.c               |    0
 gdb/gdbsupport/rsp-low.h                           |  101 +
 gdb/{common => gdbsupport}/run-time-clock.c        |    0
 gdb/{common => gdbsupport}/run-time-clock.h        |    0
 gdb/{common => gdbsupport}/safe-iterator.h         |    0
 gdb/gdbsupport/scope-exit.h                        |  186 +
 gdb/{common => gdbsupport}/scoped_fd.h             |    0
 gdb/gdbsupport/scoped_mmap.c                       |   49 +
 gdb/{common => gdbsupport}/scoped_mmap.h           |    0
 gdb/{common => gdbsupport}/scoped_restore.h        |    0
 gdb/{common => gdbsupport}/selftest.c              |    0
 gdb/{common => gdbsupport}/selftest.h              |    0
 .../signals-state-save-restore.c                   |    0
 .../signals-state-save-restore.h                   |    0
 gdb/{common => gdbsupport}/signals.c               |    0
 gdb/{common => gdbsupport}/symbol.h                |    0
 gdb/gdbsupport/tdesc.c                             |  401 +
 gdb/{common => gdbsupport}/tdesc.h                 |    0
 gdb/{common => gdbsupport}/traits.h                |    0
 gdb/{common => gdbsupport}/underlying.h            |    0
 gdb/gdbsupport/valid-expr.h                        |  108 +
 gdb/{common => gdbsupport}/vec.c                   |    0
 gdb/{common => gdbsupport}/vec.h                   |    0
 gdb/{common => gdbsupport}/version.h               |    0
 gdb/{common => gdbsupport}/x86-xstate.h            |    0
 gdb/{common => gdbsupport}/xml-utils.c             |    0
 gdb/{common => gdbsupport}/xml-utils.h             |    0
 gdb/gdbthread.h                                    |    8 +-
 gdb/gdbtypes.c                                     |   10 +-
 gdb/gdbtypes.h                                     |   11 +-
 gdb/gnu-nat.c                                      |   12 +-
 gdb/go-lang.c                                      |    1 +
 gdb/go32-nat.c                                     |    2 +-
 gdb/guile/guile.c                                  |    2 +-
 gdb/guile/scm-ports.c                              |    2 +-
 gdb/guile/scm-safe-call.c                          |    2 +-
 gdb/guile/scm-type.c                               |    2 +-
 gdb/h8300-tdep.c                                   |   54 +-
 gdb/hppa-nbsd-tdep.c                               |    1 +
 gdb/hppa-obsd-tdep.c                               |    1 +
 gdb/i386-dicos-tdep.c                              |    1 +
 gdb/i386-fbsd-nat.c                                |    2 +-
 gdb/i386-fbsd-tdep.c                               |    2 +-
 gdb/i386-go32-tdep.c                               |    2 +-
 gdb/i386-linux-nat.c                               |    2 +-
 gdb/i386-linux-tdep.c                              |   32 +-
 gdb/i386-tdep.c                                    |   54 +-
 gdb/i386-tdep.h                                    |    1 +
 gdb/i387-tdep.c                                    |    2 +-
 gdb/ia64-libunwind-tdep.c                          |    2 +-
 gdb/ia64-libunwind-tdep.h                          |    2 +
 gdb/ia64-linux-nat.c                               |    2 +-
 gdb/ia64-vms-tdep.c                                |    1 +
 gdb/inf-child.c                                    |    8 +-
 gdb/inf-ptrace.c                                   |    3 +-
 gdb/infcall.c                                      |    4 +-
 gdb/infcall.h                                      |    2 +-
 gdb/infcmd.c                                       |   13 +-
 gdb/inferior-iter.h                                |    4 +-
 gdb/inferior.c                                     |    8 +-
 gdb/inferior.h                                     |    8 +-
 gdb/inflow.c                                       |    2 +-
 gdb/inflow.h                                       |    2 +-
 gdb/infrun.c                                       |   49 +-
 gdb/infrun.h                                       |    2 +-
 gdb/inline-frame.c                                 |    2 +-
 gdb/interps.c                                      |    9 +-
 gdb/interps.h                                      |    1 +
 gdb/jit.c                                          |   45 +-
 gdb/language.c                                     |    9 +-
 gdb/language.h                                     |    2 +-
 gdb/libmcheck.m4                                   |   43 -
 gdb/linespec.c                                     |    7 +-
 gdb/linux-fork.c                                   |    5 +-
 gdb/linux-nat-trad.c                               |    1 +
 gdb/linux-nat.c                                    |   12 +-
 gdb/linux-record.c                                 |    1 +
 gdb/linux-tdep.c                                   |    4 +-
 gdb/linux-thread-db.c                              |   23 +-
 gdb/location.c                                     |    2 +-
 gdb/location.h                                     |    2 +
 gdb/m2-lang.c                                      |    1 +
 gdb/m32r-linux-tdep.c                              |    1 +
 gdb/machoread.c                                    |    2 +-
 gdb/macrotab.h                                     |    2 +-
 gdb/main.c                                         |   12 +-
 gdb/maint-test-options.c                           |  142 +-
 gdb/maint-test-settings.c                          |  215 +-
 gdb/maint.c                                        |   90 +-
 gdb/maint.h                                        |    2 +-
 gdb/mdebugread.c                                   |   12 +-
 gdb/mem-break.c                                    |    2 +
 gdb/memattr.c                                      |   13 +-
 gdb/memrange.h                                     |    2 +-
 gdb/mi/mi-cmd-break.h                              |    2 +-
 gdb/mi/mi-cmd-env.c                                |    2 +-
 gdb/mi/mi-cmd-file.c                               |    6 +-
 gdb/mi/mi-cmd-stack.c                              |   14 +-
 gdb/mi/mi-cmd-var.c                                |   28 +-
 gdb/mi/mi-interp.c                                 |   12 +-
 gdb/mi/mi-main.c                                   |   48 +-
 gdb/mi/mi-out.c                                    |   25 +-
 gdb/mi/mi-out.h                                    |   12 +-
 gdb/mi/mi-parse.h                                  |    2 +-
 gdb/mi/mi-symbol-cmds.c                            |    2 +-
 gdb/mingw-hdep.c                                   |    9 -
 gdb/minsyms.c                                      |   38 +-
 gdb/minsyms.h                                      |   12 -
 gdb/mips-linux-tdep.c                              |    4 +-
 gdb/mn10300-linux-tdep.c                           |    1 +
 gdb/namespace.c                                    |   13 +-
 gdb/namespace.h                                    |    4 +-
 gdb/nat/aarch64-linux-hw-point.c                   |    6 +-
 gdb/nat/aarch64-linux-hw-point.h                   |    2 +-
 gdb/nat/aarch64-linux.c                            |    4 +-
 gdb/nat/aarch64-sve-linux-ptrace.c                 |    6 +-
 gdb/nat/amd64-linux-siginfo.c                      |    2 +-
 gdb/nat/fork-inferior.c                            |   14 +-
 gdb/nat/linux-btrace.c                             |   12 +-
 gdb/nat/linux-btrace.h                             |    4 +-
 gdb/nat/linux-namespaces.c                         |    8 +-
 gdb/nat/linux-nat.h                                |    2 +-
 gdb/nat/linux-osdata.c                             |    8 +-
 gdb/nat/linux-personality.c                        |    2 +-
 gdb/nat/linux-procfs.c                             |    4 +-
 gdb/nat/linux-ptrace.c                             |    4 +-
 gdb/nat/linux-ptrace.h                             |    2 +-
 gdb/nat/linux-waitpid.c                            |    4 +-
 gdb/nat/mips-linux-watch.c                         |    2 +-
 gdb/nat/mips-linux-watch.h                         |    2 +-
 gdb/nat/ppc-linux.c                                |    2 +-
 gdb/nat/x86-dregs.c                                |    4 +-
 gdb/nat/x86-dregs.h                                |    2 +-
 gdb/nat/x86-linux-dregs.c                          |    2 +-
 gdb/nat/x86-linux.c                                |    2 +-
 gdb/nios2-linux-tdep.c                             |    1 +
 gdb/nto-procfs.c                                   |    4 +-
 gdb/nto-tdep.c                                     |    2 +-
 gdb/objfile-flags.h                                |    2 +-
 gdb/objfiles.c                                     |   10 +-
 gdb/objfiles.h                                     |   13 +-
 gdb/obsd-nat.c                                     |    4 +-
 gdb/observable.h                                   |    2 +-
 gdb/opencl-lang.c                                  |    1 +
 gdb/or1k-linux-tdep.c                              |    1 +
 gdb/osdata.c                                       |    2 +-
 gdb/p-lang.c                                       |    1 +
 gdb/p-valprint.c                                   |    2 +-
 gdb/parse.c                                        |    2 +-
 gdb/parser-defs.h                                  |    3 +-
 gdb/ppc-linux-nat.c                                |    2 +-
 gdb/ppc-tdep.h                                     |    2 +
 gdb/printcmd.c                                     |  195 +-
 gdb/probe.c                                        |    2 +-
 gdb/probe.h                                        |    2 +
 gdb/proc-api.c                                     |    2 +-
 gdb/procfs.c                                       |    8 +-
 gdb/producer.c                                     |    2 +-
 gdb/progspace.c                                    |    2 +-
 gdb/progspace.h                                    |    8 +-
 gdb/psymtab.h                                      |    2 +-
 gdb/python/lib/gdb/__init__.py                     |   16 +-
 gdb/python/lib/gdb/function/strfns.py              |    8 +-
 gdb/python/py-block.c                              |   45 +-
 gdb/python/py-breakpoint.c                         |    8 +-
 gdb/python/py-framefilter.c                        |  106 +-
 gdb/python/py-inferior.c                           |   38 +-
 gdb/python/py-infthread.c                          |    8 +-
 gdb/python/py-objfile.c                            |   80 +-
 gdb/python/py-record-btrace.c                      |    1 +
 gdb/python/py-ref.h                                |    2 +-
 gdb/python/py-symbol.c                             |   40 +
 gdb/python/py-type.c                               |    2 +-
 gdb/python/py-unwind.c                             |    6 +-
 gdb/python/py-value.c                              |    2 +-
 gdb/python/python-internal.h                       |    4 +-
 gdb/python/python.c                                |    8 +-
 gdb/ravenscar-thread.c                             |    8 +-
 gdb/record-btrace.c                                |   41 +-
 gdb/record-full.c                                  |    8 +-
 gdb/record.c                                       |    8 +-
 gdb/record.h                                       |    3 +-
 gdb/regcache-dump.c                                |    7 +-
 gdb/regcache.c                                     |   16 +-
 gdb/regcache.h                                     |   14 +-
 gdb/regformats/aarch64.dat                         |   74 -
 gdb/regformats/i386/amd64-avx-avx512-linux.dat     |  154 -
 gdb/regformats/i386/amd64-avx-linux.dat            |   82 -
 .../i386/amd64-avx-mpx-avx512-pku-linux.dat        |  161 -
 gdb/regformats/i386/amd64-avx-mpx-linux.dat        |   88 -
 gdb/regformats/i386/amd64-linux.dat                |   66 -
 gdb/regformats/i386/amd64-mpx-linux.dat            |   72 -
 gdb/regformats/i386/amd64.dat                      |   65 -
 gdb/regformats/i386/i386-avx-avx512-linux.dat      |   72 -
 gdb/regformats/i386/i386-avx-linux.dat             |   56 -
 .../i386/i386-avx-mpx-avx512-pku-linux.dat         |   79 -
 gdb/regformats/i386/i386-avx-mpx-linux.dat         |   62 -
 gdb/regformats/i386/i386-linux.dat                 |   48 -
 gdb/regformats/i386/i386-mmx-linux.dat             |   48 -
 gdb/regformats/i386/i386-mpx-linux.dat             |   54 -
 gdb/regformats/i386/i386.dat                       |   47 -
 gdb/regformats/i386/x32-avx-avx512-linux.dat       |  154 -
 gdb/regformats/i386/x32-avx-linux.dat              |   82 -
 gdb/regformats/i386/x32-linux.dat                  |   66 -
 gdb/remote-fileio.c                                |    6 +-
 gdb/remote-fileio.h                                |    2 +-
 gdb/remote-sim.c                                   |   81 +-
 gdb/remote.c                                       |   55 +-
 gdb/riscv-fbsd-nat.c                               |   15 +-
 gdb/riscv-fbsd-tdep.c                              |    1 +
 gdb/riscv-linux-tdep.c                             |    1 +
 gdb/riscv-tdep.c                                   |   49 +-
 gdb/rs6000-aix-tdep.c                              |    2 +-
 gdb/rust-exp.y                                     |    7 +-
 gdb/s12z-tdep.c                                    |    4 +-
 gdb/s390-linux-nat.c                               |   81 +-
 gdb/s390-tdep.c                                    |   33 +
 gdb/selftest-arch.c                                |    2 +-
 gdb/ser-base.c                                     |    2 +-
 gdb/ser-event.c                                    |    2 +-
 gdb/ser-pipe.c                                     |    4 +-
 gdb/ser-tcp.c                                      |   22 +-
 gdb/ser-unix.c                                     |    4 +-
 gdb/serial.c                                       |    8 +-
 gdb/sh-linux-tdep.c                                |    1 +
 gdb/sh-nbsd-tdep.c                                 |    1 +
 gdb/skip.c                                         |   34 +-
 gdb/solib-aix.c                                    |  147 +-
 gdb/solib-darwin.c                                 |   24 +-
 gdb/solib-dsbt.c                                   |   40 +-
 gdb/solib-spu.c                                    |   15 +-
 gdb/solib-svr4.c                                   |    3 +-
 gdb/solib-target.c                                 |    2 +-
 gdb/solib.c                                        |    4 +-
 gdb/source-cache.c                                 |  303 +-
 gdb/source-cache.h                                 |   63 +-
 gdb/source.c                                       |  166 +-
 gdb/source.h                                       |    7 +-
 gdb/sparc-nat.c                                    |    2 +-
 gdb/sparc-nbsd-tdep.c                              |    1 +
 gdb/sparc-obsd-tdep.c                              |    1 +
 gdb/sparc-ravenscar-thread.c                       |    1 +
 gdb/sparc64-fbsd-tdep.c                            |    1 +
 gdb/sparc64-linux-tdep.c                           |    6 +-
 gdb/spu-linux-nat.c                                |    2 +-
 gdb/spu-tdep.c                                     |   28 +-
 gdb/stabsread.c                                    |   19 +-
 gdb/stack.c                                        |  321 +-
 gdb/stack.h                                        |   12 +
 gdb/stap-probe.c                                   |   34 +-
 gdb/std-regs.c                                     |    2 +
 gdb/symfile-add-flags.h                            |    2 +-
 gdb/symfile.c                                      |   50 +-
 gdb/symfile.h                                      |    8 +-
 gdb/symtab.c                                       |  387 +-
 gdb/symtab.h                                       |   32 +-
 gdb/target-descriptions.c                          |   28 +-
 gdb/target-descriptions.h                          |    3 +-
 gdb/target-float.c                                 |    2 +-
 gdb/target-memory.c                                |    4 +-
 gdb/target.c                                       |    8 +-
 gdb/target.h                                       |    8 +-
 gdb/target/waitstatus.c                            |    2 +-
 gdb/target/waitstatus.h                            |    2 +-
 gdb/testsuite/ChangeLog                            |  617 +
 gdb/testsuite/gdb.ada/catch_assert_if.exp          |    2 +-
 gdb/testsuite/gdb.ada/catch_ex.exp                 |    8 +-
 gdb/testsuite/gdb.ada/char_enum.exp                |    6 +
 gdb/testsuite/gdb.ada/char_enum/foo.adb            |    6 +-
 gdb/testsuite/gdb.ada/char_enum/pck.ads            |    2 +-
 gdb/testsuite/gdb.ada/display_nested.exp           |   29 +
 gdb/testsuite/gdb.ada/display_nested/foo.adb       |   30 +
 gdb/testsuite/gdb.ada/display_nested/pack.adb      |   23 +
 gdb/testsuite/gdb.ada/display_nested/pack.ads      |   20 +
 gdb/testsuite/gdb.ada/info_auto_lang.exp           |    5 +-
 gdb/testsuite/gdb.ada/length_cond.exp              |    3 +
 gdb/testsuite/gdb.ada/mi_catch_assert.exp          |    2 +-
 gdb/testsuite/gdb.ada/mi_catch_ex.exp              |    8 +-
 gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp         |    4 +-
 gdb/testsuite/gdb.ada/mi_ex_cond.exp               |    2 +-
 gdb/testsuite/gdb.ada/ptype_union.exp              |    5 +
 gdb/testsuite/gdb.arch/aarch64-prologue.c          |   83 +
 gdb/testsuite/gdb.arch/aarch64-prologue.exp        |   36 +
 gdb/testsuite/gdb.arch/amd64-break-on-asm-line.S   |   35 +
 gdb/testsuite/gdb.arch/amd64-break-on-asm-line.exp |   35 +
 gdb/testsuite/gdb.arch/arm-cmse-sgstubs.c          |   50 +
 gdb/testsuite/gdb.arch/arm-cmse-sgstubs.exp        |   50 +
 gdb/testsuite/gdb.arch/i386-pkru.exp               |    2 +-
 gdb/testsuite/gdb.arch/riscv-bp-infcall.c          |   29 +
 gdb/testsuite/gdb.arch/riscv-bp-infcall.exp        |   56 +
 gdb/testsuite/gdb.base/alias.exp                   |   50 +
 gdb/testsuite/gdb.base/batch-exit-status.exp       |   32 +-
 .../gdb.base/batch-preserve-term-settings.exp      |    7 +
 gdb/testsuite/gdb.base/break-idempotent.exp        |   66 +-
 gdb/testsuite/gdb.base/break-interp.exp            |    8 +
 gdb/testsuite/gdb.base/compare-sections.exp        |   11 +-
 gdb/testsuite/gdb.base/define.exp                  |   13 +-
 gdb/testsuite/gdb.base/examine-backward.exp        |    2 +-
 gdb/testsuite/gdb.base/frame-args.exp              |   60 +
 gdb/testsuite/gdb.base/help.exp                    |   62 +-
 gdb/testsuite/gdb.base/index-cache.exp             |    3 +-
 gdb/testsuite/gdb.base/info-macros.exp             |   21 +-
 gdb/testsuite/gdb.base/info-types.c                |  117 +
 gdb/testsuite/gdb.base/info-types.exp              |  131 +
 gdb/testsuite/gdb.base/info_sources.c              |   23 +
 gdb/testsuite/gdb.base/info_sources.exp            |   96 +
 gdb/testsuite/gdb.base/info_sources_base.c         |   22 +
 .../gdb.base/infoline-reloc-main-from-zero.exp     |    2 +-
 gdb/testsuite/gdb.base/maint.exp                   |    6 +-
 gdb/testsuite/gdb.base/options.exp                 |  231 +-
 gdb/testsuite/gdb.base/printcmds.exp               |   58 +-
 gdb/testsuite/gdb.base/settings.exp                |   35 +-
 gdb/testsuite/gdb.base/shell.exp                   |   47 +-
 gdb/testsuite/gdb.base/signals.exp                 |   17 +-
 gdb/testsuite/gdb.base/structs.exp                 |    6 +-
 gdb/testsuite/gdb.base/style.c                     |    7 +-
 gdb/testsuite/gdb.base/style.exp                   |    8 +-
 gdb/testsuite/gdb.base/with.c                      |   41 +
 gdb/testsuite/gdb.base/with.exp                    |  289 +
 gdb/testsuite/gdb.cp/constexpr-field.exp           |    3 +-
 gdb/testsuite/gdb.cp/except-multi-location-lib.cc  |   25 +
 gdb/testsuite/gdb.cp/except-multi-location-main.cc |   36 +
 gdb/testsuite/gdb.cp/except-multi-location.exp     |   87 +
 gdb/testsuite/gdb.cp/exception.exp                 |   18 +-
 gdb/testsuite/gdb.cp/nested-types.exp              |   11 +-
 gdb/testsuite/gdb.dwarf2/ada-linkage-name.c        |   41 +
 gdb/testsuite/gdb.dwarf2/ada-linkage-name.exp      |   95 +
 gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp     |    7 +
 gdb/testsuite/gdb.dwarf2/dw2-ranges-func-hi-cold.c |   82 +
 gdb/testsuite/gdb.dwarf2/dw2-ranges-func-lo-cold.c |   82 +
 gdb/testsuite/gdb.dwarf2/dw2-ranges-func.c         |   78 -
 gdb/testsuite/gdb.dwarf2/dw2-ranges-func.exp       |  704 +-
 gdb/testsuite/gdb.dwarf2/dw2-restrict.S            |  509 +-
 gdb/testsuite/gdb.dwarf2/implptr-64bit.exp         |    2 +-
 .../gdb.dwarf2/inlined_subroutine-inheritance.exp  |    6 +-
 gdb/testsuite/gdb.dwarf2/multidictionary.exp       |    6 +
 gdb/testsuite/gdb.dwarf2/varval.exp                |  423 +-
 gdb/testsuite/gdb.fortran/vla-ptype.exp            |   12 +
 gdb/testsuite/gdb.fortran/vla-sizeof.exp           |   10 +
 gdb/testsuite/gdb.fortran/vla-value.exp            |   27 +
 gdb/testsuite/gdb.fortran/vla.f90                  |   15 +
 gdb/testsuite/gdb.gdb/selftest.exp                 |   23 +-
 gdb/testsuite/gdb.linespec/break-ask.exp           |    6 +-
 gdb/testsuite/gdb.linespec/explicit.exp            |   17 +-
 .../gdb.mi/list-thread-groups-available.exp        |   13 +-
 gdb/testsuite/gdb.mi/mi-catch-cpp-exceptions.exp   |  119 +-
 gdb/testsuite/gdb.mi/mi-complete.exp               |    6 +-
 gdb/testsuite/gdb.multi/tids.exp                   |   21 +-
 gdb/testsuite/gdb.objc/basicclass.exp              |    2 +-
 gdb/testsuite/gdb.objc/basicclass.m                |    1 +
 gdb/testsuite/gdb.objc/nondebug.m                  |    1 +
 gdb/testsuite/gdb.objc/objcdecode.m                |    1 +
 gdb/testsuite/gdb.python/py-block.exp              |    5 +
 gdb/testsuite/gdb.python/py-breakpoint.exp         |    5 +-
 gdb/testsuite/gdb.python/py-completion.exp         |   88 +-
 gdb/testsuite/gdb.python/py-events.exp             |    2 +-
 gdb/testsuite/gdb.python/py-evsignal.exp           |    2 +-
 gdb/testsuite/gdb.python/py-evthreads.exp          |    2 +-
 .../gdb.python/py-framefilter-invalidarg.exp       |    4 +-
 gdb/testsuite/gdb.python/py-framefilter.exp        |   86 +-
 .../gdb.python/py-mi-var-info-path-expression.exp  |    3 +-
 gdb/testsuite/gdb.python/py-objfile-script.exp     |    2 +-
 gdb/testsuite/gdb.python/py-objfile.c              |    3 +
 gdb/testsuite/gdb.python/py-objfile.exp            |   35 +-
 gdb/testsuite/gdb.python/py-pp-maint.exp           |    2 +-
 gdb/testsuite/gdb.python/py-pp-registration.exp    |    2 +-
 gdb/testsuite/gdb.python/py-section-script.exp     |   21 +-
 gdb/testsuite/gdb.python/py-symbol.c               |    5 +
 gdb/testsuite/gdb.python/py-symbol.exp             |   24 +
 gdb/testsuite/gdb.python/py-symtab.exp             |    4 +-
 gdb/testsuite/gdb.python/python.exp                |    8 +-
 gdb/testsuite/gdb.server/reconnect-ctrl-c.exp      |    5 +
 gdb/testsuite/gdb.server/unittest.exp              |    2 +-
 .../gdb.testsuite/foreach_with_prefix.exp          |   98 +
 gdb/testsuite/gdb.threads/fork-plus-threads.exp    |    8 +
 gdb/testsuite/gdb.trace/entry-values.exp           |    4 +-
 .../gdb.trace/unavailable-dwarf-piece.exp          |    8 +-
 gdb/testsuite/gdb.tui/basic.exp                    |   55 +
 gdb/testsuite/gdb.tui/empty.exp                    |  101 +
 gdb/testsuite/gdb.tui/list.exp                     |   37 +
 gdb/testsuite/gdb.tui/main.exp                     |   34 +
 gdb/testsuite/gdb.tui/regs.exp                     |   48 +
 gdb/testsuite/gdb.tui/resize.exp                   |   42 +
 gdb/testsuite/lib/completion-support.exp           |   23 +-
 gdb/testsuite/lib/gdb.exp                          |  180 +-
 gdb/testsuite/lib/mi-support.exp                   |    7 +
 gdb/testsuite/lib/pascal.exp                       |    2 +
 gdb/testsuite/lib/read1.c                          |    6 +-
 gdb/testsuite/lib/tuiterm.exp                      |  608 +
 gdb/thread-iter.h                                  |    6 +-
 gdb/thread.c                                       |  102 +-
 gdb/tic6x-linux-tdep.c                             |    1 +
 gdb/tilegx-linux-tdep.c                            |    1 +
 gdb/tilegx-tdep.c                                  |    2 +-
 gdb/top.c                                          |   65 +-
 gdb/top.h                                          |    3 +-
 gdb/tracefile-tfile.c                              |    9 +-
 gdb/tracefile.c                                    |    3 +-
 gdb/tracepoint.c                                   |   59 +-
 gdb/tracepoint.h                                   |    2 +-
 gdb/trad-frame.c                                   |    1 +
 gdb/tui/tui-command.c                              |   92 +-
 gdb/tui/tui-command.h                              |   54 +-
 gdb/tui/tui-data.c                                 |  699 +-
 gdb/tui/tui-data.h                                 |  390 +-
 gdb/tui/tui-disasm.c                               |  155 +-
 gdb/tui/tui-disasm.h                               |   50 +-
 gdb/tui/tui-hooks.c                                |   26 +-
 gdb/tui/tui-interp.c                               |    2 -
 gdb/tui/tui-io.c                                   |   96 +-
 gdb/tui/tui-layout.c                               |  870 +-
 gdb/tui/tui-layout.h                               |    4 +-
 gdb/tui/tui-out.c                                  |    6 +-
 gdb/tui/tui-out.h                                  |    4 +-
 gdb/tui/tui-regs.c                                 |  618 +-
 gdb/tui/tui-regs.h                                 |  107 +-
 gdb/tui/tui-source.c                               |  328 +-
 gdb/tui/tui-source.h                               |   67 +-
 gdb/tui/tui-stack.c                                |  173 +-
 gdb/tui/tui-stack.h                                |   29 +
 gdb/tui/tui-win.c                                  |  683 +-
 gdb/tui/tui-win.h                                  |    2 -
 gdb/tui/tui-windata.c                              |  295 -
 gdb/tui/tui-windata.h                              |   39 -
 gdb/tui/tui-wingeneral.c                           |  167 +-
 gdb/tui/tui-wingeneral.h                           |   15 +-
 gdb/tui/tui-winsource.c                            |  609 +-
 gdb/tui/tui-winsource.h                            |  247 +-
 gdb/tui/tui.c                                      |   25 +-
 gdb/tui/tui.h                                      |   13 +-
 gdb/type-stack.h                                   |    1 +
 gdb/typeprint.c                                    |    5 +-
 gdb/ui-file.c                                      |    2 +-
 gdb/ui-out.c                                       |   24 +-
 gdb/ui-out.h                                       |   20 +-
 gdb/ui-style.c                                     |    1 +
 gdb/unittests/array-view-selftests.c               |    4 +-
 gdb/unittests/child-path-selftests.c               |    4 +-
 gdb/unittests/cli-utils-selftests.c                |    2 +-
 gdb/unittests/common-utils-selftests.c             |    4 +-
 gdb/unittests/copy_bitwise-selftests.c             |    2 +-
 gdb/unittests/environ-selftests.c                  |    4 +-
 gdb/unittests/format_pieces-selftests.c            |    4 +-
 gdb/unittests/function-view-selftests.c            |    4 +-
 gdb/unittests/help-doc-selftests.c                 |  107 +
 gdb/unittests/lookup_name_info-selftests.c         |    2 +-
 gdb/unittests/memory-map-selftests.c               |    2 +-
 gdb/unittests/memrange-selftests.c                 |    2 +-
 gdb/unittests/mkdir-recursive-selftests.c          |    8 +-
 gdb/unittests/observable-selftests.c               |    4 +-
 gdb/unittests/offset-type-selftests.c              |    8 +-
 gdb/unittests/optional-selftests.c                 |    4 +-
 gdb/unittests/parse-connection-spec-selftests.c    |    4 +-
 gdb/unittests/ptid-selftests.c                     |    2 +-
 gdb/unittests/rsp-low-selftests.c                  |    4 +-
 gdb/unittests/scoped_fd-selftests.c                |    6 +-
 gdb/unittests/scoped_mmap-selftests.c              |    8 +-
 gdb/unittests/scoped_restore-selftests.c           |    4 +-
 gdb/unittests/string_view-selftests.c              |    4 +-
 gdb/unittests/style-selftests.c                    |    2 +-
 gdb/unittests/tracepoint-selftests.c               |    2 +-
 gdb/unittests/unpack-selftests.c                   |    2 +-
 gdb/unittests/utils-selftests.c                    |    2 +-
 gdb/unittests/xml-utils-selftests.c                |    4 +-
 gdb/utils.c                                        |   27 +-
 gdb/utils.h                                        |    5 +-
 gdb/valarith.c                                     |    5 +-
 gdb/valops.c                                       |   16 +-
 gdb/valprint.c                                     |    5 +-
 gdb/valprint.h                                     |   13 +-
 gdb/value.c                                        |    4 +-
 gdb/value.h                                        |   10 +-
 gdb/varobj.c                                       |    3 +-
 gdb/varobj.h                                       |    2 +-
 gdb/windows-nat.c                                  |    4 +-
 gdb/x86-linux-nat.c                                |    2 +-
 gdb/x86-tdep.c                                     |    1 +
 gdb/xcoffread.c                                    |    7 +-
 gdb/xml-support.c                                  |    2 +-
 gdb/xml-support.h                                  |    7 +-
 gdb/xml-tdesc.h                                    |    2 +-
 gdb/xstormy16-tdep.c                               |    2 +-
 gdb/xtensa-linux-nat.c                             |    2 +-
 gdb/xtensa-linux-tdep.c                            |    1 +
 gnulib/ChangeLog                                   |    4 +
 gnulib/update-gnulib.sh                            |    8 +-
 gold/ChangeLog                                     |  148 +
 gold/ehframe.cc                                    |   47 +-
 gold/ehframe.h                                     |   25 +-
 gold/layout.cc                                     |    9 +-
 gold/layout.h                                      |   16 +-
 gold/object.cc                                     |   31 +-
 gold/powerpc.cc                                    | 2321 +-
 include/ChangeLog                                  |   73 +
 include/coff/i386.h                                |   19 +
 include/coff/x86_64.h                              |   22 +-
 include/ctf-api.h                                  |    5 +-
 include/ctf.h                                      |   10 +-
 include/elf/internal.h                             |    4 +-
 include/elf/mips.h                                 |    6 +
 include/elf/ppc64.h                                |   10 +-
 include/opcode/aarch64.h                           |    2 +-
 include/opcode/arc.h                               |    2 +
 include/opcode/h8300.h                             |   94 +-
 include/opcode/i386.h                              |    1 +
 ld/ChangeLog                                       |  495 +
 ld/emulparams/armelf.sh                            |   14 +-
 ld/emulparams/elf32bmip.sh                         |    1 +
 ld/emulparams/elf32bmipn32-defs.sh                 |    1 +
 ld/emulparams/elf64bmip-defs.sh                    |    1 +
 ld/emulparams/elf64bpf.sh                          |    3 +-
 ld/emultempl/aarch64elf.em                         |    2 +-
 ld/emultempl/aix.em                                |    5 +-
 ld/emultempl/alphaelf.em                           |    2 +-
 ld/emultempl/elf32.em                              |   17 +-
 ld/emultempl/mipself.em                            |   16 -
 ld/emultempl/mmo.em                                |    2 +-
 ld/emultempl/pe.em                                 |    3 +-
 ld/emultempl/pep.em                                |    3 +-
 ld/emultempl/ppc32elf.em                           |    9 +-
 ld/emultempl/spuelf.em                             |    8 +-
 ld/ldexp.c                                         |   24 +-
 ld/ldlang.c                                        |  301 +-
 ld/ldlang.h                                        |   66 +-
 ld/ldlex.l                                         |    4 +-
 ld/ldmain.c                                        |    2 +-
 ld/lexsup.c                                        |    3 +-
 ld/plugin.c                                        |   30 +-
 ld/scripttempl/elf64bpf.sc                         |  702 +
 ld/testsuite/ld-aarch64/bti-plt-2.d                |    2 +-
 ld/testsuite/ld-aarch64/bti-plt-4.d                |    2 +-
 ld/testsuite/ld-aarch64/bti-plt-6.d                |    2 +-
 ld/testsuite/ld-aarch64/bti-plt-7.d                |    2 +-
 ld/testsuite/ld-aarch64/bti-warn.d                 |    2 +-
 ld/testsuite/ld-aarch64/property-bti-pac1.d        |    2 +-
 ld/testsuite/ld-aarch64/property-bti-pac2.d        |    2 +-
 ld/testsuite/ld-aarch64/property-bti-pac3.d        |    2 +-
 ld/testsuite/ld-arc/relax-local-pic.d              |   14 +
 ld/testsuite/ld-arc/relax-local-pic.s              |   16 +
 ld/testsuite/ld-arm/arm-elf.exp                    |    6 +
 ld/testsuite/ld-arm/cmse_main.s                    |   21 +
 ld/testsuite/ld-arm/cmse_main_sec_debug.d          |   29 +
 ld/testsuite/ld-arm/cmse_sec_debug.s               |  142 +
 ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d          |    2 +-
 ld/testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d      |    2 +-
 ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d        |    2 +-
 ld/testsuite/ld-arm/farcall-cond-thumb-arm.d       |    2 +-
 ld/testsuite/ld-arm/farcall-mixed-app.d            |    4 +-
 ld/testsuite/ld-arm/farcall-mixed-app2.d           |    4 +-
 ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d        |   20 +-
 ld/testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d |    2 +-
 ld/testsuite/ld-arm/farcall-thumb-arm-short.d      |    2 +-
 ld/testsuite/ld-arm/farcall-thumb-arm.d            |    4 +-
 .../ld-arm/farcall-thumb-thumb-pic-veneer.d        |    2 +-
 ld/testsuite/ld-arm/farcall-thumb-thumb.d          |    2 +-
 ld/testsuite/ld-arm/fix-arm1176-on.d               |    2 +-
 ld/testsuite/ld-arm/ifunc-10.dd                    |   32 +-
 ld/testsuite/ld-arm/ifunc-2.dd                     |    8 +-
 ld/testsuite/ld-arm/ifunc-4.dd                     |   32 +-
 ld/testsuite/ld-arm/ifunc-6.dd                     |    4 +-
 ld/testsuite/ld-arm/ifunc-8.dd                     |   16 +-
 ld/testsuite/ld-arm/jump-reloc-veneers-long.d      |    2 +-
 ld/testsuite/ld-arm/mixed-app.d                    |    2 +-
 ld/testsuite/ld-arm/thumb2-b-interwork.d           |    2 +-
 ld/testsuite/ld-arm/tls-longplt.d                  |    2 +-
 ld/testsuite/ld-arm/tls-thumb1.d                   |    4 +-
 ld/testsuite/ld-arm/unwind-4.d                     |    2 +
 ld/testsuite/ld-bpf/call-1.d                       |    1 -
 ld/testsuite/ld-bpf/jump-1.d                       |    1 -
 ld/testsuite/ld-cris/tls-dso-dtpoffd2.d            |    8 +-
 ld/testsuite/ld-cris/tls-dso-dtpoffd4.d            |    8 +-
 ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d       |   18 +-
 ld/testsuite/ld-cris/tls-gd-1.d                    |   22 +-
 ld/testsuite/ld-cris/tls-gd-1h.d                   |   22 +-
 ld/testsuite/ld-cris/tls-gd-2.d                    |   22 +-
 ld/testsuite/ld-cris/tls-gd-2h.d                   |   22 +-
 ld/testsuite/ld-cris/tls-ie-10.d                   |   20 +-
 ld/testsuite/ld-cris/tls-ie-11.d                   |   24 +-
 ld/testsuite/ld-cris/tls-ie-8.d                    |   20 +-
 ld/testsuite/ld-cris/tls-ie-9.d                    |   24 +-
 ld/testsuite/ld-cris/tls-js1.d                     |   14 +-
 ld/testsuite/ld-cris/tls-ld-4.d                    |   22 +-
 ld/testsuite/ld-cris/tls-ld-5.d                    |   22 +-
 ld/testsuite/ld-cris/tls-ld-6.d                    |   22 +-
 ld/testsuite/ld-cris/tls-ld-7.d                    |   22 +-
 ld/testsuite/ld-cris/tls-ldgd-14.d                 |   28 +-
 ld/testsuite/ld-cris/tls-ldgd-15.d                 |   30 +-
 ld/testsuite/ld-cris/tls-ldgdx-14.d                |   14 +-
 ld/testsuite/ld-cris/tls-ldgdx-15.d                |   16 +-
 ld/testsuite/ld-cris/tls-local-54.d                |    8 +-
 ld/testsuite/ld-cris/tls-local-60.d                |   12 +-
 ld/testsuite/ld-cris/tls-local-61.d                |   12 +-
 ld/testsuite/ld-cris/tls-local-63.d                |   10 +-
 ld/testsuite/ld-cris/tls-local-64.d                |   16 +-
 ld/testsuite/ld-cris/tls-ok-30.d                   |   18 +-
 ld/testsuite/ld-cris/tls-ok-32.d                   |   12 +-
 ld/testsuite/ld-cris/tls-ok-34.d                   |   16 +-
 ld/testsuite/ld-elf/group9.s                       |    2 +-
 ld/testsuite/ld-elf/hash.d                         |    2 +-
 ld/testsuite/ld-elf/pr24819.d                      |    9 +
 ld/testsuite/ld-elf/pr24819.s                      |    4 +
 ld/testsuite/ld-elf/size-1.d                       |   26 +
 ld/testsuite/ld-elf/size-1.s                       |   15 +
 ld/testsuite/ld-elf/size-1.t                       |   16 +
 ld/testsuite/ld-elf/size-2.d                       |   21 +
 ld/testsuite/ld-elf/size-2.s                       |    9 +
 ld/testsuite/ld-elf/size-2.t                       |   20 +
 ld/testsuite/ld-elf/x86-feature-1a.rd              |    2 +-
 ld/testsuite/ld-elf/x86-feature-1b.rd              |    2 +-
 ld/testsuite/ld-elf/x86-feature-1c.rd              |    2 +-
 ld/testsuite/ld-elf/x86-feature-1d.rd              |    2 +-
 ld/testsuite/ld-elf/x86-feature-1e.rd              |    2 +-
 ld/testsuite/ld-i386/ibt-plt-2d.d                  |    2 +-
 ld/testsuite/ld-i386/ibt-plt-3d.d                  |    2 +-
 ld/testsuite/ld-i386/pr23372a.d                    |    2 +-
 ld/testsuite/ld-i386/pr23372c.d                    |    2 +-
 ld/testsuite/ld-i386/pr23486a.d                    |    2 +-
 ld/testsuite/ld-i386/pr23486b.d                    |    2 +-
 ld/testsuite/ld-i386/pr23486c.d                    |    2 +-
 ld/testsuite/ld-i386/pr23486d.d                    |    2 +-
 ld/testsuite/ld-i386/pr24322a.d                    |    2 +-
 ld/testsuite/ld-i386/pr24322b.d                    |    2 +-
 ld/testsuite/ld-i386/property-x86-3.d              |    2 +-
 ld/testsuite/ld-i386/property-x86-4a.d             |    2 +-
 ld/testsuite/ld-i386/property-x86-5.d              |    2 +-
 ld/testsuite/ld-i386/property-x86-cet1.d           |    2 +-
 ld/testsuite/ld-i386/property-x86-cet2a.d          |    2 +-
 ld/testsuite/ld-i386/property-x86-cet5a.d          |    2 +-
 ld/testsuite/ld-i386/property-x86-cet5b.d          |    2 +-
 ld/testsuite/ld-i386/property-x86-ibt1a.d          |    2 +-
 ld/testsuite/ld-i386/property-x86-ibt1b.d          |    2 +-
 ld/testsuite/ld-i386/property-x86-ibt2.d           |    2 +-
 ld/testsuite/ld-i386/property-x86-ibt3a.d          |    2 +-
 ld/testsuite/ld-i386/property-x86-ibt3b.d          |    2 +-
 ld/testsuite/ld-i386/property-x86-ibt4.d           |    2 +-
 ld/testsuite/ld-i386/property-x86-ibt5.d           |    2 +-
 ld/testsuite/ld-i386/property-x86-shstk1a.d        |    2 +-
 ld/testsuite/ld-i386/property-x86-shstk1b.d        |    2 +-
 ld/testsuite/ld-i386/property-x86-shstk2.d         |    2 +-
 ld/testsuite/ld-i386/property-x86-shstk3a.d        |    2 +-
 ld/testsuite/ld-i386/property-x86-shstk3b.d        |    2 +-
 ld/testsuite/ld-i386/property-x86-shstk4.d         |    2 +-
 ld/testsuite/ld-i386/property-x86-shstk5.d         |    2 +-
 ld/testsuite/ld-mips-elf/hash1.d                   |   11 +
 ld/testsuite/ld-mips-elf/hash1.s                   |    8 +-
 ld/testsuite/ld-mips-elf/hash1a.d                  |    5 -
 ld/testsuite/ld-mips-elf/hash1b.d                  |    4 -
 ld/testsuite/ld-mips-elf/hash1c.d                  |    4 -
 ld/testsuite/ld-mips-elf/hash2.d                   |   17 +
 ld/testsuite/ld-mips-elf/mips-elf.exp              |    5 +-
 ld/testsuite/ld-mips-elf/start.s                   |   12 +
 ld/testsuite/ld-mips-elf/tls-multi-got-1.got       |   34 +-
 ld/testsuite/ld-mips-elf/tls-multi-got-1.r         |   16 +-
 ld/testsuite/ld-mips-elf/tlsdyn-pie-o32.d          |    2 +-
 ld/testsuite/ld-mips-elf/tlsdyn-pie-o32.got        |    2 +-
 ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got     |   10 +-
 ld/testsuite/ld-mips-elf/tlslib-o32-ver.got        |   12 +-
 ld/testsuite/ld-mips-elf/tlslib-o32.got            |   12 +-
 ld/testsuite/ld-plugin/lto-3r.d                    |    2 +-
 ld/testsuite/ld-plugin/lto-5r.d                    |    2 +-
 ld/testsuite/ld-powerpc/callstub-1.d               |   29 +
 ld/testsuite/ld-powerpc/callstub-1.s               |    9 +
 ld/testsuite/ld-powerpc/callstub-2.d               |   35 +
 ld/testsuite/ld-powerpc/callstub-2.s               |    8 +
 ld/testsuite/ld-powerpc/elfv2exe.d                 |    2 +-
 ld/testsuite/ld-powerpc/elfv2so.d                  |   12 +-
 ld/testsuite/ld-powerpc/powerpc.exp                |    9 +-
 ld/testsuite/ld-powerpc/tlsgd.d                    |   31 +
 ld/testsuite/ld-powerpc/tlsgd.s                    |   52 +
 ld/testsuite/ld-powerpc/tlsie.d                    |   54 +
 ld/testsuite/ld-powerpc/tlsie.s                    |   77 +
 ld/testsuite/ld-powerpc/tlsld.d                    |   63 +-
 ld/testsuite/ld-powerpc/tlsld.s                    |   86 +-
 ld/testsuite/ld-powerpc/tlsld32.d                  |   44 -
 ld/testsuite/ld-powerpc/tlsldopt.d                 |   43 +
 ld/testsuite/ld-powerpc/{tlsld.s => tlsldopt.s}    |    0
 ld/testsuite/ld-powerpc/tlsldopt32.d               |   44 +
 .../ld-powerpc/{tlsld32.s => tlsldopt32.s}         |    0
 ld/testsuite/ld-powerpc/tlsso.r                    |    8 +-
 ld/testsuite/ld-powerpc/tlsso32.g                  |    2 +-
 ld/testsuite/ld-powerpc/tlsso32.r                  |    7 +-
 ld/testsuite/ld-powerpc/tlstocso.r                 |    2 +-
 ld/testsuite/ld-riscv-elf/c-lui-2.d                |   19 +
 ld/testsuite/ld-riscv-elf/c-lui-2.ld               |    6 +
 ld/testsuite/ld-riscv-elf/c-lui-2.s                |   12 +
 ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp         |    1 +
 ld/testsuite/ld-s390/tlspic.rd                     |    1 -
 ld/testsuite/ld-s390/tlspic_64.rd                  |    1 -
 ld/testsuite/ld-scripts/size-1.d                   |   14 -
 ld/testsuite/ld-scripts/size-1.s                   |    7 -
 ld/testsuite/ld-scripts/size-1.t                   |   10 -
 ld/testsuite/ld-scripts/size-2.d                   |   18 -
 ld/testsuite/ld-scripts/size-2.s                   |    8 -
 ld/testsuite/ld-scripts/size-2.t                   |   22 -
 ld/testsuite/ld-scripts/size.exp                   |   41 -
 ld/testsuite/ld-sparc/tlssunnopic32.rd             |    1 -
 ld/testsuite/ld-sparc/tlssunnopic64.rd             |    1 -
 ld/testsuite/ld-sparc/tlssunpic32.rd               |    1 -
 ld/testsuite/ld-sparc/tlssunpic64.rd               |    1 -
 ld/testsuite/ld-srec/srec.exp                      |    4 +
 ld/testsuite/ld-undefined/undefined.exp            |   14 +-
 ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d            |    2 +-
 ld/testsuite/ld-x86-64/ibt-plt-2d.d                |    2 +-
 ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d            |    2 +-
 ld/testsuite/ld-x86-64/ibt-plt-3d.d                |    2 +-
 ld/testsuite/ld-x86-64/pr23372a-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr23372a.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr23372c-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr23372c.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr23486a-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr23486a.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr23486b-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr23486b.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr23486c-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr23486c.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr23486d-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr23486d.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr24322a-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr24322a.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr24322b-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr24322b.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr24458a-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr24458a.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr24458b-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr24458b.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr24458c-x32.d              |    2 +-
 ld/testsuite/ld-x86-64/pr24458c.d                  |    2 +-
 ld/testsuite/ld-x86-64/pr24721-x32.d               |    6 +
 ld/testsuite/ld-x86-64/pr24721.d                   |    6 +
 ld/testsuite/ld-x86-64/pr24721.map                 |    3 +
 ld/testsuite/ld-x86-64/pr24721a.s                  |   34 +
 ld/testsuite/ld-x86-64/pr24721b.s                  |    6 +
 ld/testsuite/ld-x86-64/pr24905-x32.d               |    8 +
 ld/testsuite/ld-x86-64/pr24905.d                   |    7 +
 ld/testsuite/ld-x86-64/pr24905.s                   |    6 +
 ld/testsuite/ld-x86-64/pr24905.t                   |    1 +
 ld/testsuite/ld-x86-64/property-1.r                |    2 +-
 ld/testsuite/ld-x86-64/property-1a.r               |    2 +-
 ld/testsuite/ld-x86-64/property-2.r                |    2 +-
 ld/testsuite/ld-x86-64/property-2a.r               |    2 +-
 ld/testsuite/ld-x86-64/property-3.r                |    2 +-
 ld/testsuite/ld-x86-64/property-3a.r               |    2 +-
 ld/testsuite/ld-x86-64/property-4.r                |    2 +-
 ld/testsuite/ld-x86-64/property-4a.r               |    2 +-
 ld/testsuite/ld-x86-64/property-5.r                |    2 +-
 ld/testsuite/ld-x86-64/property-5a.r               |    2 +-
 ld/testsuite/ld-x86-64/property-6.r                |    2 +-
 ld/testsuite/ld-x86-64/property-7.r                |    2 +-
 ld/testsuite/ld-x86-64/property-7a.r               |    2 +-
 ld/testsuite/ld-x86-64/property-x86-3-x32.d        |    2 +-
 ld/testsuite/ld-x86-64/property-x86-3.d            |    2 +-
 ld/testsuite/ld-x86-64/property-x86-4a-x32.d       |    2 +-
 ld/testsuite/ld-x86-64/property-x86-4a.d           |    2 +-
 ld/testsuite/ld-x86-64/property-x86-5-x32.d        |    2 +-
 ld/testsuite/ld-x86-64/property-x86-5.d            |    2 +-
 ld/testsuite/ld-x86-64/property-x86-cet1-x32.d     |    2 +-
 ld/testsuite/ld-x86-64/property-x86-cet1.d         |    2 +-
 ld/testsuite/ld-x86-64/property-x86-cet2a-x32.d    |    2 +-
 ld/testsuite/ld-x86-64/property-x86-cet2a.d        |    2 +-
 ld/testsuite/ld-x86-64/property-x86-cet5a-x32.d    |    2 +-
 ld/testsuite/ld-x86-64/property-x86-cet5a.d        |    2 +-
 ld/testsuite/ld-x86-64/property-x86-cet5b-x32.d    |    2 +-
 ld/testsuite/ld-x86-64/property-x86-cet5b.d        |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d    |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt1a.d        |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt1b-x32.d    |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt1b.d        |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt2-x32.d     |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt2.d         |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d    |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt3a.d        |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d    |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt3b.d        |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt4-x32.d     |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt4.d         |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt5-x32.d     |    2 +-
 ld/testsuite/ld-x86-64/property-x86-ibt5.d         |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk1a-x32.d  |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk1a.d      |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk1b-x32.d  |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk1b.d      |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk2-x32.d   |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk2.d       |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d  |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk3a.d      |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d  |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk3b.d      |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk4-x32.d   |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk4.d       |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk5-x32.d   |    2 +-
 ld/testsuite/ld-x86-64/property-x86-shstk5.d       |    2 +-
 ld/testsuite/ld-x86-64/x86-64.exp                  |    4 +
 libctf/ChangeLog                                   |  134 +
 libctf/Makefile.am                                 |    2 +-
 libctf/Makefile.in                                 |   12 +-
 libctf/ctf-create.c                                |  234 +-
 libctf/ctf-dump.c                                  |    6 +-
 libctf/ctf-error.c                                 |    2 +-
 libctf/ctf-hash.c                                  |   52 +-
 libctf/ctf-impl.h                                  |   58 +-
 libctf/ctf-lookup.c                                |    2 +-
 libctf/ctf-open-bfd.c                              |   23 +-
 libctf/ctf-open.c                                  |   61 +-
 libctf/ctf-string.c                                |  330 +
 libctf/ctf-subr.c                                  |   51 -
 libctf/ctf-types.c                                 |   85 +
 libctf/ctf-util.c                                  |   35 +-
 libiberty/ChangeLog                                |   75 +
 libiberty/cp-demangle.c                            |   29 +-
 libiberty/cplus-dem.c                              |    1 +
 libiberty/d-demangle.c                             |   20 +-
 libiberty/lrealpath.c                              |   16 +
 libiberty/rust-demangle.c                          |    1 +
 libiberty/rust-demangle.h                          |   45 +
 libiberty/simple-object-elf.c                      |   33 +-
 libiberty/testsuite/d-demangle-expected            |   20 +
 libiberty/testsuite/demangle-expected              |   13 +
 opcodes/ChangeLog                                  |  387 +
 opcodes/aarch64-asm.c                              |    4 +-
 opcodes/aarch64-dis-2.c                            |  594 +-
 opcodes/aarch64-dis.c                              |   13 +-
 opcodes/aarch64-opc.c                              |    9 +-
 opcodes/aarch64-tbl.h                              |   73 +-
 opcodes/arc-dis.c                                  |   41 +-
 opcodes/arc-ext-tbl.h                              |    7 -
 opcodes/arc-opc.c                                  |    4 +-
 opcodes/arc-tbl.h                                  | 3698 +-
 opcodes/arm-dis.c                                  |   36 +-
 opcodes/bpf-desc.c                                 |   68 +-
 opcodes/bpf-opc.c                                  |  104 +-
 opcodes/bpf-opc.h                                  |    7 +-
 opcodes/i386-dis-evex-len.h                        |  315 +
 opcodes/i386-dis-evex-mod.h                        |   42 +
 opcodes/i386-dis-evex-prefix.h                     | 1969 +
 opcodes/i386-dis-evex-reg.h                        |   51 +
 opcodes/i386-dis-evex-w.h                          | 1110 +
 opcodes/i386-dis-evex.h                            | 3397 --
 opcodes/i386-dis.c                                 |  232 +-
 opcodes/i386-gen.c                                 |   42 +-
 opcodes/i386-init.h                                |  213 +-
 opcodes/i386-opc.h                                 |   30 +-
 opcodes/i386-opc.tbl                               |  556 +-
 opcodes/i386-reg.tbl                               |   14 +-
 opcodes/i386-tbl.h                                 |54709 +++++++++-----------
 opcodes/riscv-dis.c                                |    6 +-
 opcodes/riscv-opc.c                                |   62 +-
 readline/.gitignore                                |   37 +
 readline/CHANGELOG                                 |  258 +
 readline/CHANGES                                   |  466 +
 readline/ChangeLog.gdb                             |   34 +
 readline/INSTALL                                   |    2 +-
 readline/MANIFEST                                  |   12 +-
 readline/Makefile.in                               |   91 +-
 readline/NEWS                                      |  375 +-
 readline/README                                    |   11 +-
 readline/aclocal.m4                                |  145 +-
 readline/bind.c                                    | 1069 +-
 readline/callback.c                                |  129 +-
 readline/chardefs.h                                |   20 +-
 readline/colors.c                                  |  294 +
 readline/colors.h                                  |  126 +
 readline/compat.c                                  |   29 +-
 readline/complete.c                                |  685 +-
 readline/config.h.in                               |   53 +-
 readline/configure                                 |  627 +-
 readline/configure.ac                              |  320 +
 readline/configure.in                              |  307 -
 readline/display.c                                 | 1259 +-
 readline/doc/Makefile.in                           |   21 +-
 readline/doc/history.3                             |   46 +-
 readline/doc/history.texi                          |   26 +-
 readline/doc/hstech.texi                           |   49 +-
 readline/doc/hsuser.texi                           |   77 +-
 readline/doc/readline.3                            |  244 +-
 readline/doc/rlman.texi                            |   27 +-
 readline/doc/rltech.texi                           |  363 +-
 readline/doc/rluser.texi                           |  468 +-
 readline/doc/rluserman.texi                        |   27 +-
 readline/doc/texi2dvi                              | 2316 +-
 readline/doc/texi2html                             |    6 +-
 readline/doc/version.texi                          |   12 +-
 readline/emacs_keymap.c                            |    8 +-
 readline/examples/Makefile.in                      |   75 +-
 readline/examples/excallback.c                     |    7 +-
 readline/examples/fileman.c                        |   18 +
 readline/examples/hist_erasedups.c                 |  121 +
 readline/examples/hist_purgecmd.c                  |  151 +
 readline/examples/histexamp.c                      |    3 +
 readline/examples/readlinebuf.h                    |    6 +-
 readline/examples/rl-callbacktest.c                |  115 +
 readline/examples/rl.c                             |    1 +
 readline/examples/rlbasic.c                        |   29 +
 readline/examples/rlcat.c                          |    2 +-
 readline/examples/rlevent.c                        |    7 +
 readline/examples/rlfe/config.h.in                 |    6 +-
 readline/examples/rlfe/configure                   |   15 +-
 readline/examples/rlfe/configure.in                |    4 +-
 readline/examples/rlfe/extern.h                    |    2 +-
 readline/examples/rlfe/os.h                        |    8 +-
 readline/examples/rlfe/rlfe.c                      |    9 +-
 readline/examples/rlkeymaps.c                      |   61 +
 readline/examples/rlptytest.c                      |   14 +-
 readline/examples/rltest.c                         |    1 +
 readline/examples/rlversion.c                      |    1 +
 readline/funmap.c                                  |   24 +-
 readline/histexpand.c                              |  271 +-
 readline/histfile.c                                |  346 +-
 readline/histlib.h                                 |   15 +-
 readline/history.c                                 |  196 +-
 readline/history.h                                 |   30 +-
 readline/histsearch.c                              |  125 +-
 readline/input.c                                   |  181 +-
 readline/isearch.c                                 |  240 +-
 readline/keymaps.c                                 |   30 +-
 readline/keymaps.h                                 |    3 +
 readline/kill.c                                    |  210 +-
 readline/macro.c                                   |  103 +-
 readline/mbutil.c                                  |  167 +-
 readline/misc.c                                    |  122 +-
 readline/nls.c                                     |   82 +-
 readline/parens.c                                  |   41 +-
 readline/parse-colors.c                            |  440 +
 readline/parse-colors.h                            |   46 +
 readline/patchlevel                                |    2 +-
 readline/posixdir.h                                |   14 +-
 readline/posixjmp.h                                |   20 +-
 readline/readline.c                                |  381 +-
 readline/readline.h                                |   88 +-
 readline/readline.pc.in                            |   12 +
 readline/rlconf.h                                  |   24 +-
 readline/rldefs.h                                  |   10 +-
 readline/rlmbutil.h                                |   61 +-
 readline/rlprivate.h                               |   77 +-
 readline/rlstdc.h                                  |   12 +
 readline/rltty.c                                   |  184 +-
 readline/rltypedefs.h                              |   11 +-
 readline/savestring.c                              |    5 +-
 readline/search.c                                  |  230 +-
 readline/shell.c                                   |   64 +-
 readline/shlib/Makefile.in                         |   85 +-
 readline/signals.c                                 |  229 +-
 readline/support/config.guess                      |   56 +-
 readline/support/config.rpath                      |  373 +-
 readline/support/config.sub                        |    5 +-
 readline/support/mkdist                            |   15 +-
 readline/support/shlib-install                     |   11 +-
 readline/support/shobj-conf                        |   71 +-
 readline/tcap.h                                    |    2 +-
 readline/terminal.c                                |  136 +-
 readline/text.c                                    |  407 +-
 readline/tilde.c                                   |   53 +-
 readline/undo.c                                    |  108 +-
 readline/util.c                                    |  127 +-
 readline/vi_keymap.c                               |    7 +-
 readline/vi_mode.c                                 |  805 +-
 readline/xfree.c                                   |   12 +-
 readline/xmalloc.c                                 |   12 +-
 readline/xmalloc.h                                 |    3 -
 src-release.sh                                     |    6 +-
 1846 files changed, 105036 insertions(+), 70466 deletions(-)
 create mode 100644 binutils/testsuite/gentestdlls.c
 create mode 100644 gas/testsuite/gas/aarch64/cpu-cortex-a34.d
 create mode 100644 gas/testsuite/gas/aarch64/cpu-cortex-a65.d
 create mode 100644 gas/testsuite/gas/aarch64/cpu-cortex-a65ae.d
 create mode 100644 gas/testsuite/gas/aarch64/cpu-cortex-a76ae.d
 create mode 100644 gas/testsuite/gas/aarch64/cpu-cortex-a77.d
 create mode 100644 gas/testsuite/gas/aarch64/nop-asm.s
 create mode 100644 gas/testsuite/gas/aarch64/sve-movprfx_27.d
 create mode 100644 gas/testsuite/gas/aarch64/sve-movprfx_27.s
 create mode 100644 gas/testsuite/gas/arm/float16-bad.d
 create mode 100644 gas/testsuite/gas/arm/float16-bad.l
 create mode 100644 gas/testsuite/gas/arm/float16-bad.s
 create mode 100644 gas/testsuite/gas/arm/float16-be.d
 create mode 100644 gas/testsuite/gas/arm/float16-eabi-alternative-format.d
 create mode 100644 gas/testsuite/gas/arm/float16-eabi-ieee-format.d
 create mode 100644 gas/testsuite/gas/arm/float16-eabi-no-format.d
 create mode 100644 gas/testsuite/gas/arm/float16-eabi.s
 create mode 100644 gas/testsuite/gas/arm/float16-format-bad.d
 create mode 100644 gas/testsuite/gas/arm/float16-format-bad.l
 create mode 100644 gas/testsuite/gas/arm/float16-format-bad.s
 create mode 100644 gas/testsuite/gas/arm/float16-format-opt-bad.d
 create mode 100644 gas/testsuite/gas/arm/float16-format-opt-bad.l
 create mode 100644 gas/testsuite/gas/arm/float16-le.d
 create mode 100644 gas/testsuite/gas/arm/float16.s
 create mode 100644 gas/testsuite/gas/arm/mve-vqdmlah-bad.d
 create mode 100644 gas/testsuite/gas/arm/mve-vqdmlah-bad.l
 create mode 100644 gas/testsuite/gas/arm/mve-vqdmlah-bad.s
 create mode 100644 gas/testsuite/gas/arm/mve-vqdmlash-bad.d
 create mode 100644 gas/testsuite/gas/arm/mve-vqdmlash-bad.l
 create mode 100644 gas/testsuite/gas/arm/mve-vqdmlash-bad.s
 create mode 100644 gas/testsuite/gas/arm/pr24907.d
 create mode 100644 gas/testsuite/gas/arm/pr24907.s
 create mode 100644 gas/testsuite/gas/arm/smc-bad.d
 create mode 100644 gas/testsuite/gas/arm/smc-bad.l
 create mode 100644 gas/testsuite/gas/arm/smc-bad.s
 create mode 100644 gas/testsuite/gas/bpf/data-be.d
 create mode 100644 gas/testsuite/gas/bpf/data.d
 create mode 100644 gas/testsuite/gas/bpf/data.s
 create mode 100644 gas/testsuite/gas/elf/type-2.e
 create mode 100644 gas/testsuite/gas/elf/type-2.l
 create mode 100644 gas/testsuite/gas/elf/type-2.s
 create mode 100644 gas/testsuite/gas/i386/avx-16bit.d
 create mode 100644 gas/testsuite/gas/i386/avx-16bit.s
 create mode 100644 gas/testsuite/gas/i386/avx512f-16bit.d
 create mode 100644 gas/testsuite/gas/i386/avx512f-16bit.s
 create mode 100644 gas/testsuite/gas/i386/bmi-16bit.d
 create mode 100644 gas/testsuite/gas/i386/bmi-16bit.s
 create mode 100644 gas/testsuite/gas/i386/bmi2-16bit.d
 create mode 100644 gas/testsuite/gas/i386/bmi2-16bit.s
 create mode 100644 gas/testsuite/gas/i386/lwp-16bit.d
 create mode 100644 gas/testsuite/gas/i386/lwp-16bit.s
 create mode 100644 gas/testsuite/gas/i386/optimize-2b.d
 create mode 100644 gas/testsuite/gas/i386/oversized16.l
 create mode 100644 gas/testsuite/gas/i386/oversized16.s
 create mode 100644 gas/testsuite/gas/i386/oversized64.l
 create mode 100644 gas/testsuite/gas/i386/oversized64.s
 create mode 100644 gas/testsuite/gas/i386/sse2-16bit.d
 create mode 100644 gas/testsuite/gas/i386/sse2-16bit.s
 create mode 100644 gas/testsuite/gas/i386/tbm-16bit.d
 create mode 100644 gas/testsuite/gas/i386/tbm-16bit.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx-swap-2.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-avx-swap-2.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-3b.d
 create mode 100644 gas/testsuite/gas/mips/insn-isa-mode.d
 create mode 100644 gas/testsuite/gas/mips/insn-isa-mode.s
 create mode 100644 gas/testsuite/gas/ppc/groupnop.d
 create mode 100644 gas/testsuite/gas/ppc/groupnop.s
 create mode 100644 gas/testsuite/gas/riscv/alias-csr.d
 create mode 100644 gas/testsuite/gas/riscv/alias-csr.s
 create mode 100644 gas/testsuite/gas/riscv/no-aliases-csr.d
 mode change 100644 => 100755 gas/testsuite/gas/xstormy16/allinsn.sh
 mode change 100644 => 100755 gas/testsuite/gas/xstormy16/gcc.sh
 create mode 100644 gdb/aarch32-tdep.c
 create mode 100644 gdb/aarch32-tdep.h
 create mode 100644 gdb/arch/aarch32.c
 create mode 100644 gdb/arch/aarch32.h
 delete mode 100644 gdb/common/agent.c
 delete mode 100644 gdb/common/agent.h
 delete mode 100644 gdb/common/byte-vector.h
 delete mode 100644 gdb/common/common-debug.c
 delete mode 100644 gdb/common/common-defs.h
 delete mode 100644 gdb/common/common-utils.c
 delete mode 100644 gdb/common/common-utils.h
 delete mode 100644 gdb/common/common.host
 delete mode 100755 gdb/common/create-version.sh
 delete mode 100644 gdb/common/def-vector.h
 delete mode 100644 gdb/common/environ.c
 delete mode 100644 gdb/common/errors.c
 delete mode 100644 gdb/common/filestuff.c
 delete mode 100644 gdb/common/format.h
 delete mode 100644 gdb/common/forward-scope-exit.h
 delete mode 100644 gdb/common/gdb_optional.h
 delete mode 100644 gdb/common/gdb_tilde_expand.c
 delete mode 100644 gdb/common/job-control.c
 delete mode 100644 gdb/common/job-control.h
 delete mode 100644 gdb/common/netstuff.c
 delete mode 100644 gdb/common/pathstuff.c
 delete mode 100644 gdb/common/pathstuff.h
 delete mode 100644 gdb/common/rsp-low.h
 delete mode 100644 gdb/common/scope-exit.h
 delete mode 100644 gdb/common/scoped_mmap.c
 delete mode 100644 gdb/common/tdesc.c
 delete mode 100644 gdb/common/valid-expr.h
 delete mode 100644 gdb/features/aarch64.xml
 create mode 100644 gdb/features/arm/arm-core.c
 create mode 100644 gdb/features/arm/arm-fpa.c
 create mode 100644 gdb/features/arm/arm-m-profile-with-fpa.c
 create mode 100644 gdb/features/arm/arm-m-profile-with-fpa.xml
 create mode 100644 gdb/features/arm/arm-m-profile.c
 create mode 100644 gdb/features/arm/arm-vfpv2.c
 create mode 100644 gdb/features/arm/arm-vfpv3.c
 delete mode 100644 gdb/features/arm/arm-with-iwmmxt.c
 delete mode 100644 gdb/features/arm/arm-with-iwmmxt.xml
 delete mode 100644 gdb/features/arm/arm-with-m-fpa-layout.c
 delete mode 100644 gdb/features/arm/arm-with-m-fpa-layout.xml
 delete mode 100644 gdb/features/arm/arm-with-m-vfp-d16.c
 delete mode 100644 gdb/features/arm/arm-with-m-vfp-d16.xml
 delete mode 100644 gdb/features/arm/arm-with-m.c
 delete mode 100644 gdb/features/arm/arm-with-m.xml
 delete mode 100644 gdb/features/arm/arm-with-neon.c
 delete mode 100644 gdb/features/arm/arm-with-neon.xml
 delete mode 100644 gdb/features/arm/arm-with-vfpv2.c
 delete mode 100644 gdb/features/arm/arm-with-vfpv2.xml
 delete mode 100644 gdb/features/arm/arm-with-vfpv3.c
 delete mode 100644 gdb/features/arm/arm-with-vfpv3.xml
 create mode 100644 gdb/features/arm/xscale-iwmmxt.c
 delete mode 100644 gdb/features/i386/amd64-avx-avx512-linux.xml
 delete mode 100644 gdb/features/i386/amd64-avx-avx512.xml
 delete mode 100644 gdb/features/i386/amd64-avx-linux.xml
 delete mode 100644 gdb/features/i386/amd64-avx-mpx-avx512-pku-linux.xml
 delete mode 100644 gdb/features/i386/amd64-avx-mpx-avx512-pku.xml
 delete mode 100644 gdb/features/i386/amd64-avx-mpx-linux.xml
 delete mode 100644 gdb/features/i386/amd64-avx-mpx.xml
 delete mode 100644 gdb/features/i386/amd64-avx.xml
 delete mode 100644 gdb/features/i386/amd64-linux.xml
 delete mode 100644 gdb/features/i386/amd64-mpx-linux.xml
 delete mode 100644 gdb/features/i386/amd64-mpx.xml
 delete mode 100644 gdb/features/i386/amd64.xml
 delete mode 100644 gdb/features/i386/i386-avx-avx512-linux.xml
 delete mode 100644 gdb/features/i386/i386-avx-avx512.xml
 delete mode 100644 gdb/features/i386/i386-avx-linux.xml
 delete mode 100644 gdb/features/i386/i386-avx-mpx-avx512-pku-linux.xml
 delete mode 100644 gdb/features/i386/i386-avx-mpx-avx512-pku.xml
 delete mode 100644 gdb/features/i386/i386-avx-mpx-linux.xml
 delete mode 100644 gdb/features/i386/i386-avx-mpx.xml
 delete mode 100644 gdb/features/i386/i386-avx.xml
 delete mode 100644 gdb/features/i386/i386-linux.xml
 delete mode 100644 gdb/features/i386/i386-mmx-linux.xml
 delete mode 100644 gdb/features/i386/i386-mmx.xml
 delete mode 100644 gdb/features/i386/i386-mpx-linux.xml
 delete mode 100644 gdb/features/i386/i386-mpx.xml
 delete mode 100644 gdb/features/i386/i386.xml
 delete mode 100644 gdb/features/i386/x32-avx-avx512-linux.xml
 delete mode 100644 gdb/features/i386/x32-avx-linux.xml
 delete mode 100644 gdb/features/i386/x32-linux.xml
 create mode 100644 gdb/gdbserver/linux-aarch32-tdesc.c
 create mode 100644 gdb/gdbserver/linux-aarch32-tdesc.h
 delete mode 100644 gdb/gdbserver/linux-aarch64-tdesc-selftest.c
 create mode 100644 gdb/gdbserver/linux-arm-tdesc.c
 create mode 100644 gdb/gdbserver/linux-arm-tdesc.h
 delete mode 100644 gdb/gdbserver/linux-x86-tdesc-selftest.c
 create mode 100644 gdb/gdbsupport/agent.c
 create mode 100644 gdb/gdbsupport/agent.h
 rename gdb/{common => gdbsupport}/array-view.h (100%)
 rename gdb/{common => gdbsupport}/ax.def (100%)
 rename gdb/{common => gdbsupport}/break-common.h (100%)
 rename gdb/{common => gdbsupport}/btrace-common.c (100%)
 rename gdb/{common => gdbsupport}/btrace-common.h (100%)
 rename gdb/{common => gdbsupport}/buffer.c (100%)
 rename gdb/{common => gdbsupport}/buffer.h (100%)
 create mode 100644 gdb/gdbsupport/byte-vector.h
 rename gdb/{common => gdbsupport}/cleanups.c (100%)
 rename gdb/{common => gdbsupport}/cleanups.h (100%)
 create mode 100644 gdb/gdbsupport/common-debug.c
 rename gdb/{common => gdbsupport}/common-debug.h (100%)
 create mode 100644 gdb/gdbsupport/common-defs.h
 rename gdb/{common => gdbsupport}/common-exceptions.c (100%)
 rename gdb/{common => gdbsupport}/common-exceptions.h (100%)
 rename gdb/{common => gdbsupport}/common-gdbthread.h (100%)
 rename gdb/{common => gdbsupport}/common-inferior.h (100%)
 rename gdb/{common => gdbsupport}/common-regcache.c (100%)
 rename gdb/{common => gdbsupport}/common-regcache.h (100%)
 rename gdb/{common => gdbsupport}/common-types.h (100%)
 create mode 100644 gdb/gdbsupport/common-utils.c
 create mode 100644 gdb/gdbsupport/common-utils.h
 create mode 100644 gdb/gdbsupport/common.host
 rename gdb/{common => gdbsupport}/common.m4 (100%)
 create mode 100755 gdb/gdbsupport/create-version.sh
 create mode 100644 gdb/gdbsupport/def-vector.h
 rename gdb/{common => gdbsupport}/default-init-alloc.h (100%)
 rename gdb/{common => gdbsupport}/enum-flags.h (100%)
 create mode 100644 gdb/gdbsupport/environ.c
 rename gdb/{common => gdbsupport}/environ.h (100%)
 create mode 100644 gdb/gdbsupport/errors.c
 rename gdb/{common => gdbsupport}/errors.h (100%)
 rename gdb/{common => gdbsupport}/fileio.c (100%)
 rename gdb/{common => gdbsupport}/fileio.h (100%)
 create mode 100644 gdb/gdbsupport/filestuff.c
 rename gdb/{common => gdbsupport}/filestuff.h (100%)
 rename gdb/{common => gdbsupport}/filtered-iterator.h (100%)
 rename gdb/{common => gdbsupport}/format.c (100%)
 create mode 100644 gdb/gdbsupport/format.h
 create mode 100644 gdb/gdbsupport/forward-scope-exit.h
 rename gdb/{common => gdbsupport}/function-view.h (100%)
 rename gdb/{common => gdbsupport}/gdb_assert.h (100%)
 rename gdb/{common => gdbsupport}/gdb_locale.h (100%)
 create mode 100644 gdb/gdbsupport/gdb_optional.h
 rename gdb/{common => gdbsupport}/gdb_proc_service.h (100%)
 rename gdb/{common => gdbsupport}/gdb_ref_ptr.h (100%)
 rename gdb/{common => gdbsupport}/gdb_setjmp.h (100%)
 rename gdb/{common => gdbsupport}/gdb_signals.h (100%)
 rename gdb/{common => gdbsupport}/gdb_splay_tree.h (100%)
 rename gdb/{common => gdbsupport}/gdb_string_view.h (100%)
 rename gdb/{common => gdbsupport}/gdb_string_view.tcc (100%)
 rename gdb/{common => gdbsupport}/gdb_sys_time.h (100%)
 create mode 100644 gdb/gdbsupport/gdb_tilde_expand.c
 rename gdb/{common => gdbsupport}/gdb_tilde_expand.h (100%)
 rename gdb/{common => gdbsupport}/gdb_unique_ptr.h (100%)
 rename gdb/{common => gdbsupport}/gdb_unlinker.h (100%)
 rename gdb/{common => gdbsupport}/gdb_vecs.c (100%)
 rename gdb/{common => gdbsupport}/gdb_vecs.h (100%)
 rename gdb/{common => gdbsupport}/gdb_wait.h (100%)
 rename gdb/{common => gdbsupport}/hash_enum.h (100%)
 rename gdb/{common => gdbsupport}/host-defs.h (100%)
 create mode 100644 gdb/gdbsupport/job-control.c
 create mode 100644 gdb/gdbsupport/job-control.h
 rename gdb/{common => gdbsupport}/mingw-strerror.c (100%)
 create mode 100644 gdb/gdbsupport/netstuff.c
 rename gdb/{common => gdbsupport}/netstuff.h (100%)
 rename gdb/{common => gdbsupport}/new-op.c (100%)
 rename gdb/{common => gdbsupport}/next-iterator.h (100%)
 rename gdb/{common => gdbsupport}/observable.h (100%)
 rename gdb/{common => gdbsupport}/offset-type.h (100%)
 create mode 100644 gdb/gdbsupport/pathstuff.c
 create mode 100644 gdb/gdbsupport/pathstuff.h
 rename gdb/{common => gdbsupport}/poison.h (100%)
 rename gdb/{common => gdbsupport}/posix-strerror.c (100%)
 rename gdb/{common => gdbsupport}/preprocessor.h (100%)
 rename gdb/{common => gdbsupport}/print-utils.c (100%)
 rename gdb/{common => gdbsupport}/print-utils.h (100%)
 rename gdb/{common => gdbsupport}/ptid.c (100%)
 rename gdb/{common => gdbsupport}/ptid.h (100%)
 rename gdb/{common => gdbsupport}/refcounted-object.h (100%)
 rename gdb/{common => gdbsupport}/rsp-low.c (100%)
 create mode 100644 gdb/gdbsupport/rsp-low.h
 rename gdb/{common => gdbsupport}/run-time-clock.c (100%)
 rename gdb/{common => gdbsupport}/run-time-clock.h (100%)
 rename gdb/{common => gdbsupport}/safe-iterator.h (100%)
 create mode 100644 gdb/gdbsupport/scope-exit.h
 rename gdb/{common => gdbsupport}/scoped_fd.h (100%)
 create mode 100644 gdb/gdbsupport/scoped_mmap.c
 rename gdb/{common => gdbsupport}/scoped_mmap.h (100%)
 rename gdb/{common => gdbsupport}/scoped_restore.h (100%)
 rename gdb/{common => gdbsupport}/selftest.c (100%)
 rename gdb/{common => gdbsupport}/selftest.h (100%)
 rename gdb/{common => gdbsupport}/signals-state-save-restore.c (100%)
 rename gdb/{common => gdbsupport}/signals-state-save-restore.h (100%)
 rename gdb/{common => gdbsupport}/signals.c (100%)
 rename gdb/{common => gdbsupport}/symbol.h (100%)
 create mode 100644 gdb/gdbsupport/tdesc.c
 rename gdb/{common => gdbsupport}/tdesc.h (100%)
 rename gdb/{common => gdbsupport}/traits.h (100%)
 rename gdb/{common => gdbsupport}/underlying.h (100%)
 create mode 100644 gdb/gdbsupport/valid-expr.h
 rename gdb/{common => gdbsupport}/vec.c (100%)
 rename gdb/{common => gdbsupport}/vec.h (100%)
 rename gdb/{common => gdbsupport}/version.h (100%)
 rename gdb/{common => gdbsupport}/x86-xstate.h (100%)
 rename gdb/{common => gdbsupport}/xml-utils.c (100%)
 rename gdb/{common => gdbsupport}/xml-utils.h (100%)
 delete mode 100644 gdb/libmcheck.m4
 delete mode 100644 gdb/regformats/aarch64.dat
 delete mode 100644 gdb/regformats/i386/amd64-avx-avx512-linux.dat
 delete mode 100644 gdb/regformats/i386/amd64-avx-linux.dat
 delete mode 100644 gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat
 delete mode 100644 gdb/regformats/i386/amd64-avx-mpx-linux.dat
 delete mode 100644 gdb/regformats/i386/amd64-linux.dat
 delete mode 100644 gdb/regformats/i386/amd64-mpx-linux.dat
 delete mode 100644 gdb/regformats/i386/amd64.dat
 delete mode 100644 gdb/regformats/i386/i386-avx-avx512-linux.dat
 delete mode 100644 gdb/regformats/i386/i386-avx-linux.dat
 delete mode 100644 gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat
 delete mode 100644 gdb/regformats/i386/i386-avx-mpx-linux.dat
 delete mode 100644 gdb/regformats/i386/i386-linux.dat
 delete mode 100644 gdb/regformats/i386/i386-mmx-linux.dat
 delete mode 100644 gdb/regformats/i386/i386-mpx-linux.dat
 delete mode 100644 gdb/regformats/i386/i386.dat
 delete mode 100644 gdb/regformats/i386/x32-avx-avx512-linux.dat
 delete mode 100644 gdb/regformats/i386/x32-avx-linux.dat
 delete mode 100644 gdb/regformats/i386/x32-linux.dat
 create mode 100644 gdb/testsuite/gdb.ada/display_nested.exp
 create mode 100644 gdb/testsuite/gdb.ada/display_nested/foo.adb
 create mode 100644 gdb/testsuite/gdb.ada/display_nested/pack.adb
 create mode 100644 gdb/testsuite/gdb.ada/display_nested/pack.ads
 create mode 100644 gdb/testsuite/gdb.arch/aarch64-prologue.c
 create mode 100644 gdb/testsuite/gdb.arch/aarch64-prologue.exp
 create mode 100644 gdb/testsuite/gdb.arch/amd64-break-on-asm-line.S
 create mode 100644 gdb/testsuite/gdb.arch/amd64-break-on-asm-line.exp
 create mode 100644 gdb/testsuite/gdb.arch/arm-cmse-sgstubs.c
 create mode 100644 gdb/testsuite/gdb.arch/arm-cmse-sgstubs.exp
 create mode 100644 gdb/testsuite/gdb.arch/riscv-bp-infcall.c
 create mode 100644 gdb/testsuite/gdb.arch/riscv-bp-infcall.exp
 create mode 100644 gdb/testsuite/gdb.base/info-types.c
 create mode 100644 gdb/testsuite/gdb.base/info-types.exp
 create mode 100644 gdb/testsuite/gdb.base/info_sources.c
 create mode 100644 gdb/testsuite/gdb.base/info_sources.exp
 create mode 100644 gdb/testsuite/gdb.base/info_sources_base.c
 create mode 100644 gdb/testsuite/gdb.base/with.c
 create mode 100644 gdb/testsuite/gdb.base/with.exp
 create mode 100644 gdb/testsuite/gdb.cp/except-multi-location-lib.cc
 create mode 100644 gdb/testsuite/gdb.cp/except-multi-location-main.cc
 create mode 100644 gdb/testsuite/gdb.cp/except-multi-location.exp
 create mode 100644 gdb/testsuite/gdb.dwarf2/ada-linkage-name.c
 create mode 100644 gdb/testsuite/gdb.dwarf2/ada-linkage-name.exp
 create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-ranges-func-hi-cold.c
 create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-ranges-func-lo-cold.c
 delete mode 100644 gdb/testsuite/gdb.dwarf2/dw2-ranges-func.c
 create mode 100644 gdb/testsuite/gdb.testsuite/foreach_with_prefix.exp
 create mode 100644 gdb/testsuite/gdb.tui/basic.exp
 create mode 100644 gdb/testsuite/gdb.tui/empty.exp
 create mode 100644 gdb/testsuite/gdb.tui/list.exp
 create mode 100644 gdb/testsuite/gdb.tui/main.exp
 create mode 100644 gdb/testsuite/gdb.tui/regs.exp
 create mode 100644 gdb/testsuite/gdb.tui/resize.exp
 create mode 100644 gdb/testsuite/lib/tuiterm.exp
 delete mode 100644 gdb/tui/tui-windata.c
 delete mode 100644 gdb/tui/tui-windata.h
 create mode 100644 gdb/unittests/help-doc-selftests.c
 create mode 100644 ld/scripttempl/elf64bpf.sc
 create mode 100644 ld/testsuite/ld-arc/relax-local-pic.d
 create mode 100644 ld/testsuite/ld-arc/relax-local-pic.s
 create mode 100644 ld/testsuite/ld-arm/cmse_main.s
 create mode 100644 ld/testsuite/ld-arm/cmse_main_sec_debug.d
 create mode 100644 ld/testsuite/ld-arm/cmse_sec_debug.s
 create mode 100644 ld/testsuite/ld-elf/pr24819.d
 create mode 100644 ld/testsuite/ld-elf/pr24819.s
 create mode 100644 ld/testsuite/ld-elf/size-1.d
 create mode 100644 ld/testsuite/ld-elf/size-1.s
 create mode 100644 ld/testsuite/ld-elf/size-1.t
 create mode 100644 ld/testsuite/ld-elf/size-2.d
 create mode 100644 ld/testsuite/ld-elf/size-2.s
 create mode 100644 ld/testsuite/ld-elf/size-2.t
 create mode 100644 ld/testsuite/ld-mips-elf/hash1.d
 delete mode 100644 ld/testsuite/ld-mips-elf/hash1a.d
 delete mode 100644 ld/testsuite/ld-mips-elf/hash1b.d
 delete mode 100644 ld/testsuite/ld-mips-elf/hash1c.d
 create mode 100644 ld/testsuite/ld-mips-elf/hash2.d
 create mode 100644 ld/testsuite/ld-mips-elf/start.s
 create mode 100644 ld/testsuite/ld-powerpc/callstub-1.d
 create mode 100644 ld/testsuite/ld-powerpc/callstub-1.s
 create mode 100644 ld/testsuite/ld-powerpc/callstub-2.d
 create mode 100644 ld/testsuite/ld-powerpc/callstub-2.s
 create mode 100644 ld/testsuite/ld-powerpc/tlsgd.d
 create mode 100644 ld/testsuite/ld-powerpc/tlsgd.s
 create mode 100644 ld/testsuite/ld-powerpc/tlsie.d
 create mode 100644 ld/testsuite/ld-powerpc/tlsie.s
 delete mode 100644 ld/testsuite/ld-powerpc/tlsld32.d
 create mode 100644 ld/testsuite/ld-powerpc/tlsldopt.d
 copy ld/testsuite/ld-powerpc/{tlsld.s => tlsldopt.s} (100%)
 create mode 100644 ld/testsuite/ld-powerpc/tlsldopt32.d
 rename ld/testsuite/ld-powerpc/{tlsld32.s => tlsldopt32.s} (100%)
 create mode 100644 ld/testsuite/ld-riscv-elf/c-lui-2.d
 create mode 100644 ld/testsuite/ld-riscv-elf/c-lui-2.ld
 create mode 100644 ld/testsuite/ld-riscv-elf/c-lui-2.s
 delete mode 100644 ld/testsuite/ld-scripts/size-1.d
 delete mode 100644 ld/testsuite/ld-scripts/size-1.s
 delete mode 100644 ld/testsuite/ld-scripts/size-1.t
 delete mode 100644 ld/testsuite/ld-scripts/size-2.d
 delete mode 100644 ld/testsuite/ld-scripts/size-2.s
 delete mode 100644 ld/testsuite/ld-scripts/size-2.t
 delete mode 100644 ld/testsuite/ld-scripts/size.exp
 create mode 100644 ld/testsuite/ld-x86-64/pr24721-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/pr24721.d
 create mode 100644 ld/testsuite/ld-x86-64/pr24721.map
 create mode 100644 ld/testsuite/ld-x86-64/pr24721a.s
 create mode 100644 ld/testsuite/ld-x86-64/pr24721b.s
 create mode 100644 ld/testsuite/ld-x86-64/pr24905-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/pr24905.d
 create mode 100644 ld/testsuite/ld-x86-64/pr24905.s
 create mode 100644 ld/testsuite/ld-x86-64/pr24905.t
 create mode 100644 libctf/ctf-string.c
 create mode 100644 libiberty/rust-demangle.h
 create mode 100644 opcodes/i386-dis-evex-len.h
 create mode 100644 opcodes/i386-dis-evex-mod.h
 create mode 100644 opcodes/i386-dis-evex-prefix.h
 create mode 100644 opcodes/i386-dis-evex-reg.h
 create mode 100644 opcodes/i386-dis-evex-w.h
 create mode 100644 readline/.gitignore
 create mode 100644 readline/colors.c
 create mode 100644 readline/colors.h
 create mode 100644 readline/configure.ac
 delete mode 100644 readline/configure.in
 create mode 100644 readline/examples/hist_erasedups.c
 create mode 100644 readline/examples/hist_purgecmd.c
 create mode 100644 readline/examples/rl-callbacktest.c
 create mode 100644 readline/examples/rlbasic.c
 create mode 100644 readline/examples/rlkeymaps.c
 create mode 100644 readline/parse-colors.c
 create mode 100644 readline/parse-colors.h
 create mode 100644 readline/readline.pc.in

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index c2d0274..76c121f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,95 @@
+2019-08-19  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+	* configure.ac: Add --with-static-standard-libraries.
+
+2019-08-09  Nick Clifton  <nickc@redhat.com>
+
+	* libiberty: Sync with gcc.  Bring in:
+	2019-08-08  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/91352
+	* lrealpath.c (is_valid_fd): New function.
+
+	2019-07-24  Martin Liska  <mliska@suse.cz>
+
+	PR lto/91228
+	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+	Find first '\0' starting from gnu_lto + 1.
+
+	2019-07-12  Ren Kimura  <rkx1209dev@gmail.com>
+
+	* simple-object-elf.c (simple_object_elf_match): Check zero value shstrndx.
+	This fixes a Bug 90924.
+
+	2019-07-22  Martin Liska  <mliska@suse.cz>
+
+	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+	Do not search for gnu_lto_v1, but search for first '\0'.
+
+	2019-07-18  Eduard-Mihai Burtescu  <eddyb@lyken.rs>
+
+	* cplus-dem.c: Include rust-demangle.h.
+	* rust-demangle.c: Include rust-demangle.h.
+	* rust-demangle.h: New file.
+
+	2019-05-31  Michael Forney  <mforney@mforney.org>
+
+	* cp-demangle.c: Don't define CP_DYNAMIC_ARRAYS if __STDC_NO_VLA__
+	is non-zero.
+
+	2019-04-30  Ben L  <bobsayshilol@live.co.uk>
+
+	* d-demangle.c (dlang_parse_assocarray): Correctly handle error result.
+	* testsuite/d-demangle-expected: Add testcase.
+
+	* d-demangle.c (dlang_parse_tuple): Correctly handle error result.
+	* testsuite/d-demangle-expected: Add testcase.
+
+	* d-demangle.c (dlang_parse_structlit): Correctly handle error result.
+	* testsuite/d-demangle-expected: Add testcase.
+
+	* d-demangle.c (dlang_parse_arrayliteral): Correctly handle error result.
+	* testsuite/d-demangle-expected: Add testcase.
+
+	* d-demangle.c (dlang_parse_integer): Fix stack underflow.
+	* testsuite/d-demangle-expected: Add testcase.
+
+	* cp-demangle (d_print_comp_inner): Guard against a NULL 'typed_name'.
+	* testsuite/demangle-expected: Add testcase.
+
+	* cp-demangle.c (d_encoding): Guard against NULL return values from
+	d_right (dc).
+	* testsuite/demangle-expected: Add testcase.
+
+	2019-04-29  Ben L  <bobsayshilol@live.co.uk>
+
+	* cp-demangle.c (d_expression_1): Don't peek ahead unless the current
+	char is valid.
+	* testsuite/demangle-expected: Add testcase.
+
+	2019-04-10  Nick Clifton  <nickc@redhat.com>
+
+	PR 89394
+	* cp-demangle.c (cplus_demangle_fill_name): Reject negative
+	lengths.
+	(d_count_templates_scopes): Replace num_templates and num_scopes
+	parameters with a struct d_print_info pointer parameter.  Adjust
+	body of the function accordingly.  Add recursion counter and check
+	that the recursion limit is not reached.
+	(d_print_init): Pass dpi parameter to d_count_templates_scopes.
+	Reset recursion counter afterwards, unless the recursion limit was
+	reached.
+
+2019-07-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* src-release (getver): If $tool/gdbsupport/create-version.sh
+	exists, use that to determine the version number.
+
+2019-06-21  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* src-release.sh (GDB_SUPPORT_DIRS): Add gnulib.
+
 2019-06-14  Tom Tromey  <tom@tromey.com>
 
 	* MAINTAINERS: Add gnulib.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f40f6ed..97d3726 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,523 @@
+2019-08-20  Dennis Zhang  <dennis.zhang@arm.com>
+
+	* cpu-aarch64.c: New entries for Cortex-A34, Cortex-A65,
+	 Cortex-A77, cortex-A65AE, and Cortex-A76AE.
+
+2019-08-20  Tamar Christina  <tamar.christina@arm.com>
+
+	* elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub,
+	elf32_arm_stub_long_branch_v4t_thumb_thumb,
+	elf32_arm_stub_long_branch_v4t_thumb_arm,
+	elf32_arm_stub_short_branch_v4t_thumb_arm,
+	elf32_arm_stub_long_branch_v4t_thumb_arm_pic,
+	elf32_arm_stub_long_branch_v4t_thumb_thumb_pic,
+	elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to
+	previous instruction.
+
+2019-08-19  Tom Tromey  <tromey@adacore.com>
+
+	* dwarf2.c (_bfd_dwarf2_find_symbol_bias): Create hash table
+	holding symbols.
+
+2019-08-19  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename has_gotrel
+	to has_optrel.
+	(struct _ppc64_elf_section_data): Likewise.
+	(ppc64_elf_check_relocs): Set has_optrel for more relocs.
+	(ppc64_elf_edit_toc): Do ha/lo insn checks in GOT loop rather
+	than TOC loop.  Check PLT16 insns too.
+
+2019-08-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/24905
+	* elf64-x86-64.c (elf_x86_64_check_relocs): Move PIC check for
+	PC-relative relocations back to ...
+	(elf_x86_64_relocate_section): Here.
+
+2019-08-16  Martin Liska  <mliska@suse.cz>
+
+	PR ld/24912
+	* elflink.c: Report error only for not relocatable.
+	* linker.c (_bfd_generic_link_add_one_symbol): Do not handle
+	here lto_slim_object as it's handled in caller.
+
+2019-08-16  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Optimize unaligned relocs.
+
+2019-08-15  Jim Wilson  <jimw@sifive.com>
+
+	* elfnn-riscv.c (perform_relocation) <R_RISCV_RVC_LUI>: If
+	RISCV_CONST_HIGH_PART (value) is zero, then convert c.lui instruction
+	to c.li instruction, and use ENCODE_RVC_IMM to set value.
+
+2019-08-15  Tom Tromey  <tromey@adacore.com>
+
+	* dwarf2.c (scan_unit_for_symbols): Check for end of CU, not end
+	of section.
+
+2019-08-14  Alan Modra  <amodra@gmail.com>
+
+	PR 24623
+	* dwarf2.c (stash_comp_unit): New function, extracted from..
+	(_bfd_dwarf2_find_nearest_line): ..here.
+	(find_abstract_instance): Parse comp units and decode line info
+	as needed.
+
+2019-08-14  Alan Modra  <amodra@gmail.com>
+
+	* dwarf2.c (comp_unit_maybe_decode_line_info): Declare.
+	(comp_unit_find_nearest_line): Use it here..
+	(_bfd_dwarf2_find_symbol_bias): ..and here.
+
+2019-08-14  Alan Modra  <amodra@gmail.com>
+
+	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove addr_size parameter.
+	* libbfd-in.h  (_bfd_dwarf2_find_nearest_line): Update prototype.
+	* coffgen.c (coff_find_nearest_line_with_names): Adjust
+	_bfd_dwarf2_find_nearest_line calls.
+	* elf.c (_bfd_elf_find_nearest_line, _bfd_elf_find_line): Likewise.
+	* elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
+	* elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
+	* elfnn-aarch64.c (elfNN_aarch64_find_nearest_line): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
+	* mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
+	* libbfd.h: Regenerate.
+
+2019-08-09  Mihailo Stojanovic  <mihailo.stojanovic@rt-rk.com>
+
+	* elf-bfd.h (struct elf_backend_data): New members.
+	* elflink.c (_bfd_elf_link_create_dynamic_sections): Create
+	.gnu.hash section if necessary.
+	(struct collect_gnu_hash_codes): New member.
+	(elf_gnu_hash_process_symidx): New function name.
+	(elf_renumber_gnu_hash_syms): Ignore local and undefined
+	symbols. Record xlat location for every symbol which should have
+	a .MIPS.xhash entry.
+	(bfd_elf_size_dynamic_sections): Add DT_GNU_HASH dynamic tag to
+	dynamic section if necessary.
+	(GNU_HASH_SECTION_NAME): New define.
+	(bfd_elf_size_dynsym_hash_dynstr): Get .MIPS.xhash section.
+	Update the section size info.
+	* elfxx-mips.c (struct mips_elf_hash_sort_data): New members.
+	(struct mips_elf_link_hash_entry): New member.
+	(mips_elf_link_hash_newfunc): Initialize .MIPS.xhash translation
+	table location.
+	(mips_elf_sort_hash_table): Initialize the pointer to the
+	.MIPS.xhash section.
+	(mips_elf_sort_hash_table_f): Populate the .MIPS.xhash
+	translation table entry with the symbol dynindx.
+	(_bfd_mips_elf_section_from_shdr): Add SHT_MIPS_XHASH.
+	(_bfd_mips_elf_fake_sections): Initialize .MIPS.xhash section
+	info.
+	(_bfd_mips_elf_create_dynamic_sections): Create .MIPS.xhash
+	section.
+	(_bfd_mips_elf_size_dynamic_sections): Add DT_MIPS_XHASH tag to
+	dynamic section.
+	(_bfd_mips_elf_finish_synamic_sections): Add DT_MIPS_XHASH.
+	(_bfd_mips_elf_final_write_processing): Set .MIPS.xhash section
+	sh_link info.
+	(_bfd_mips_elf_get_target_dtag): Get DT_MIPS_XHASH tag.
+	(MIPS_LIBC_ABI_XHASH): New ABI version enum value.
+	(_bfd_mips_post_process_headers): Mark the ABI version as
+	MIPS_LIBC_ABI_XHASH if there exists a .MIPS.xhash section,
+	but not a .hash section.
+	(_bfd_mips_elf_record_xhash_symbol): New function. Record a
+	position in the translation table, associated with the hash
+	entry.
+	* elfxx-mips.h (literal_reloc_p): Define
+	elf_backend_record_xhash_symbol backend hook.
+	* elfxx-target.h: Initialize elf_backend_record_xhash_symbol
+	backend hook.
+
+2019-08-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* elf64-bpf.c (bpf_elf_relocate_section): New function.
+	(bpf_elf_insn_disp_reloc): Delete function.
+	(elf_backend_relocate_section): Define.
+
+2019-08-07  Alan Modra  <amodra@gmail.com>
+
+	PR 24644
+	* archive64.c (_bfd_archive_64_bit_slurp_armap): Properly check
+	for overflow in expressions involving nsymz.
+
+2019-08-01  Ilia Diachkov  <ilia.diachkov@optimitech.com>
+
+	* elfnn-riscv.c (_bfd_riscv_relax_lui): Set lui relax safety area to
+	two pages in relro presence.
+
+2019-08-01  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* elf32-xtensa.c (insn_num_slots, get_rsr_lend_opcode)
+	(get_wsr_lbeg_opcode): New functions.
+	(check_loop_aligned): Detect relaxed loops and adjust loop_len
+	and insn_len for the first actual instruction of the loop.
+
+2019-07-30  Alan Modra  <amodra@gmail.com>
+
+	PR 24768
+	* bfd.c (struct bfd): Add lto_slim_object flag.
+	* bfd-in2.h: Regenerate.
+
+2019-07-29  Martin Liska  <mliska@suse.cz>
+
+	PR 24768
+	* archive.c (_bfd_compute_and_write_armap): Come up with
+	report_plugin_err variable.
+	* bfd-in2.h (struct bfd): Add lto_slim_object flag.
+	* elf.c (struct lto_section): New.
+	(_bfd_elf_make_section_from_shdr): Parse content of
+	.gnu_lto_.lto section.
+	* elflink.c: Report error for a missing LTO plugin.
+	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
+
+2019-07-28  Alan Modra  <amodra@gmail.com>
+
+	PR 24857
+	PR 24339
+	* elflink.c (elf_link_add_object_symbols): Report an informative
+	error on finding local symbols with index equal or greater than
+	symbol table sh_info.  Correct comment.  Allow such symbols in
+	dynamic objects.  Abort on NULL section for symbol.
+
+2019-07-26  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct output_elf_obj_tdata): Delete "linker" field.
+	(elf_linker): Don't define.
+	* elflink.c (bfd_elf_final_link): Don't set elf_linker.
+
+2019-07-25  YunQiang Su  <syq@debian.org>
+
+	PR 24832
+	* elfxx-mips.c (mips_set_isa_flags): Default to MIPS 3 for 64-bit
+	mips inputs.
+
+2019-07-24  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* elf32-arc.c (bfd_get_32_me): Add a small description, fix
+	formating.
+	(reloc_type_to_name): Fix formating.
+	(arc_elf_object_p): Likewise.
+	(debug_arc_reloc): Likewise.
+	(arc_do_relocation): Likewise.
+
+2019-07-24  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* elf32-arc.c (bfd_get_32_me): New function.
+	(bfd_put_32_me): Likewise.
+	(arc_elf_relax_section): Likewise.
+	(bfd_elf32_bfd_relax_section): Define.
+
+2019-07-24  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct elf_backend_data): Return bfd_boolean from
+	elf_backend_final_write_processing, don't pass linker arg.
+	(_bfd_elf_final_write_processing): Update prototype.
+	* elf.c (_bfd_elf_write_object_contents): Adjust call.
+	(_bfd_elf_final_write_processing): Return error on incompatible
+	OSABI and has_gnu_osabi.  Remove linker arg.
+	* elf-nacl.h (nacl_final_write_processing): Update prototype.
+	* elf-vxworks.h (elf_vxworks_final_write_processing): Likewise.
+	* elfxx-mips.h (_bfd_mips_final_write_processing): Likewise.
+	(_bfd_mips_elf_final_write_processing): Likewise.
+	* elf-hppa.h (elf_hppa_final_write_processing): Return status
+	and remove linker arg.
+	* elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
+	* elf-nacl.c (nacl_final_write_processing): Likewise.
+	* elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
+	* elf32-arc.c (arc_elf_final_write_processing): Likewise.
+	* elf32-arm.c (arm_final_write_processing): Likewise.
+	(elf32_arm_final_write_processing): Likewise.
+	(elf32_arm_nacl_final_write_processing): Likewise.
+	(elf32_arm_vxworks_final_write_processing): Likewise.
+	* elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
+	* elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
+	* elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
+	* elf32-cris.c (cris_elf_final_write_processing): Likewise.
+	* elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
+	* elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
+	* elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
+	* elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
+	* elf32-mips.c (mips_vxworks_final_write_processing): Likewise.
+	* elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
+	* elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
+	* elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
+	* elf32-pj.c (pj_elf_final_write_processing): Likewise.
+	* elf32-ppc.c (ppc_final_write_processing): Likewise.
+	(ppc_elf_final_write_processing): Likewise.
+	(ppc_elf_vxworks_final_write_processing): Likewise.
+	* elf32-sparc.c (sparc_final_write_processing): Likewise.
+	(elf32_sparc_final_write_processing): Likewise.
+	(elf32_sparc_vxworks_final_write_processing): Likewise.
+	* elf32-v850.c (v850_elf_final_write_processing): Likewise.
+	* elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
+	* elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
+	* elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
+	* elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
+	* elfxx-mips.c (_bfd_mips_final_write_processing): Likewise.
+	(_bfd_mips_elf_final_write_processing): Likewise.
+
+2019-07-24  Alan Modra  <amodra@gmail.com>
+
+	* elf-vxworks.c (elf_vxworks_final_write_processing): Don't return
+	early.
+	* elf32-arc.c (arc_elf_final_write_processing): Likewise.
+	* elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
+
+2019-07-24  Alan Modra  <amodra@gmail.com>
+
+	* elf32-visium.c (visium_elf_post_process_headers): Don't set
+	EI_OSABI header byte here.
+	(ELF_OSABI): Define.
+
+2019-07-23  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind.
+	* elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind.
+	(get_program_header_size): Formatting.  Only test SH_GNU_MBIND
+	when elf_gnu_osabi_mbind is set.
+	(_bfd_elf_map_sections_to_segments): Likewise.
+	(_bfd_elf_init_private_section_data): Likewise.
+	(_bfd_elf_final_write_processing): Update comment.
+	* elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry.
+	(elf_backend_special_sections): Define without .tbss for linux.
+
+2019-07-23  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (enum elf_gnu_osabi): Rename from elf_gnu_symbols.
+	Remove none, any, all enums.
+	(struct elf_obj_tdata): Rename has_gnu_symbols field to has_gnu_osabi.
+	(_bfd_elf_final_write_processing): Declare.
+	* elf.c (_bfd_elf_write_object_contents): Unconditionally call
+	elf_backend_final_write_processing.
+	(_bfd_elf_post_process_headers): Move body of function to..
+	(_bfd_elf_final_write_processing): ..here, but set EI_OSABI byte
+	only when not already set.  Adjust for rename.
+	* elfxx-target.h (elf_backend_final_write_processing): Default to
+	_bfd_elf_final_write_processing.
+	* elf-hppa.h (elf_hppa_final_write_processing): Call
+	_bfd_elf_final_write_processing.
+	* elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
+	* elf-nacl.c (nacl_final_write_processing): Likewise.
+	* elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
+	* elf32-arc.c (arc_elf_final_write_processing): Likewise.
+	* elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
+	* elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
+	* elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
+	* elf32-cris.c (cris_elf_final_write_processing): Likewise.
+	* elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
+	* elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
+	* elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
+	* elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
+	* elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
+	* elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
+	* elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
+	* elf32-pj.c (pj_elf_final_write_processing): Likewise.
+	* elf32-v850.c (v850_elf_final_write_processing): Likewise.
+	* elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
+	* elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
+	* elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
+	* elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
+	* elf32-arm.c (arm_final_write_processing): Split out from..
+	(elf32_arm_final_write_processing): ..here.  Call
+	_bfd_elf_final_write_processing.
+	(elf32_arm_nacl_final_write_processing): Adjust.
+	* elfxx-mips.c (_bfd_mips_final_write_processing): Split out from..
+	(_bfd_mips_elf_final_write_processing): ..here.  Call
+	_bfd_elf_final_write_processing.
+	* elfxx-mips.h (_bfd_mips_final_write_processing): Declare.
+	* elf32-mips.c (mips_vxworks_final_write_processing): Adjust.
+	* elf32-ppc.c (ppc_final_write_processing): Split out from..
+	(ppc_elf_final_write_processing): ..here.  Call
+	_bfd_elf_final_write_processing.
+	(ppc_elf_vxworks_final_write_processing): Adjust.
+	* elf32-sparc.c (sparc_final_write_processing): Split out from..
+	(elf32_sparc_final_write_processing): ..here.  Call
+	_bfd_elf_final_write_processing.
+	(elf32_sparc_vxworks_final_write_processing): Adjust.
+	* elf32-d10v.c (elf_backend_final_write_processing): Don't define.
+	* elf32-d30v.c (elf_backend_final_write_processing): Don't define.
+	* elf32-m68hc11.c (elf_backend_final_write_processing): Don't define.
+	* elf32-m68hc12.c (elf_backend_final_write_processing): Don't define.
+	* elf32-s12z.c (elf_backend_final_write_processing): Don't define.
+	* elf32-i386.c (elf_i386_check_relocs): Don't set has_gnu_symbols.
+	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+	* elflink.c (elf_link_add_object_symbols): Likewise.
+	(elf_link_output_symstrtab): Set has_gnu_osabi for symbols here
+	instead.
+
+2019-07-23  Omar Majid  <omajid@redhat.com>
+
+	* coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC,
+	I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC,
+	AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC,
+	AMD64_NETBSD_MAGIC.
+	* peXXigen.c: Add comment about source of .NET magic numbers.
+
+2019-07-19  Alan Modra  <amodra@gmail.com>
+
+	* reloc.c (BFD_RELOC_PPC64_TPREL34, BFD_RELOC_PPC64_DTPREL34),
+	(BFD_RELOC_PPC64_GOT_TLSGD34, BFD_RELOC_PPC64_GOT_TLSLD34),
+	(BFD_RELOC_PPC64_GOT_TPREL34, BFD_RELOC_PPC64_GOT_DTPREL34),
+	(BFD_RELOC_PPC64_TLS_PCREL): New pcrel tls relocs.
+	* elf64-ppc.c (ppc64_elf_howto_raw): Add howtos for pcrel tls relocs.
+	(ppc64_elf_reloc_type_lookup): Translate pcrel tls relocs.
+	(must_be_dyn_reloc, dec_dynrel_count): Add R_PPC64_TPREL64.
+	(ppc64_elf_check_relocs): Support pcrel tls relocs.
+	(ppc64_elf_tls_optimize, ppc64_elf_relocate_section): Likewise.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2019-07-18  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Don't bother selecting
+	a TLS section symbol for edited relocs.  Tighten TLS symbol/reloc
+	match test.
+
+2019-07-18  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (TLS_EXPLICIT): Define as 256.
+	(ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char
+	is more than 8 bits.
+	(ppc64_elf_tls_optimize): Likewise.  Make tls_set, tls_clear, and
+	tls_type vars unsigned int.
+	(ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT
+	to select r_type edit.
+
+2019-07-18  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (TLS_GDIE): Rename from TLS_TPRELGD throughout file.
+	Correct comment.
+	* elf64-ppc.c (TLS_GDIE): Likewise.
+
+2019-07-18  Alan Modra  <amodra@gmail.com>


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


             reply	other threads:[~2019-08-22 19:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-22 19:26 scox [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-06-20 20:18 scox
2019-04-01 15:31 scox

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=20190822192649.84437.qmail@sourceware.org \
    --to=scox@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).