public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM] scox/strace: Merge branch 'master' into scox/strace
@ 2019-08-22 19:26 scox
0 siblings, 0 replies; 3+ messages in thread
From: scox @ 2019-08-22 19:26 UTC (permalink / raw)
To: archer-commits
[-- 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.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [SCM] scox/strace: Merge branch 'master' into scox/strace
@ 2019-06-20 20:18 scox
0 siblings, 0 replies; 3+ messages in thread
From: scox @ 2019-06-20 20:18 UTC (permalink / raw)
To: archer-commits
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1200692 bytes --]
The branch, scox/strace has been updated
via 625ae1b6b5d4a9f805d97640ef99c897279324f7 (commit)
via 680e1beed31da40080f61a35f6ccd626de818056 (commit)
via dcf3792354ddcd6e10e59e32060e34b27246e7da (commit)
via 6f5601c4d0ad43254244f1b624900cdd5afd02ba (commit)
via 4a4e7361d67cd9262be1413300795eede564f4cb (commit)
via 312413cb844dcce24b0c30254f5789b77a54b0fc (commit)
via 494986d596a977e1d24f9f068696f5b3e993ebf7 (commit)
via 0ed4690a67e2c4703d9088312de652d0d5f1aaaf (commit)
via 3360b6e7963e3c579e50078e78d226ea63e2960f (commit)
via 4ed4690fc21b1d052092299f820f48694f3ef3eb (commit)
via d20ed5fd574ce1b72543c2963fa53946eb2225de (commit)
via 86e04673b48d5f8121f28b7958cc5a0d9dd01132 (commit)
via 5bb4fed3d48e4637015a89e40672c938c7f61e72 (commit)
via 310b3441a07cb07713a8065a39032504e098047b (commit)
via ba9777bef059df0926ad5dd6813d5785cb652ccf (commit)
via 6e1c90b7f5d60aedc547dd84873d1c9291eefcdc (commit)
via 39c05d9435893ed0b51c4b5c8e95fe977b983921 (commit)
via 08bb0061ba5c8826c1ec4d273d539cb32b5c217e (commit)
via 2b9f6e89d67b342593734d14f328625848fa5156 (commit)
via 431b3eadc4f842231d404e7e995ae5c1dbd28414 (commit)
via d04b44a16cdfde95de487bcedd541c6e71d82676 (commit)
via bf5142e7fef4e2eca5d98cf805dbadc737118c1e (commit)
via c4973306879b6079bdfc997474a2cbbd89f49bd2 (commit)
via 395f9c911460b3e868c0b700e831c7f92746fad7 (commit)
via cafb34387d063fa47bc2cdb33fc3fe2f13e6cec0 (commit)
via 93cb9841d68263174a600dc70af742a8e2eabfc6 (commit)
via 730ead81dfffc181f79a4b79ba8abf6850e63596 (commit)
via e79be6e5f33d52b2bbb6aafdc61659a4bbb55849 (commit)
via 399aaebd1a5e9e3971758396bd0c5c3ec5ae2386 (commit)
via 6ac6a19371b72f848626666af5301612b76e800e (commit)
via 584a927c5ad0d18e9995a0049066b6c503bb7482 (commit)
via 30056ea04ae3ecd828e2a06e12e6f174ae6659c9 (commit)
via ec8e2b6d3051f0b4b2a8eee9917898e95046c62f (commit)
via 0d3abd8cc936360f8c46502135edd2e646473438 (commit)
via 00df30ae1ea6db8f3693cad8a499f55f1d66e913 (commit)
via afda45a206f83389782a400f86668714400a1cb7 (commit)
via 09e4c4e1f1732ed978db4b8c75877bf8a8097ae9 (commit)
via 49455d8bbd8eac5b7ce7e26c691af27998647584 (commit)
via 0735b091aba72d4b35aebb671a02c5cb4a837fe9 (commit)
via 52ce35e2894e55cea94011dda6443be51e154f37 (commit)
via 73cc72729a184f00bf6fc4d74684a8516ba6b683 (commit)
via f568655424ad268c8c5df3f56e4e19a86b16623d (commit)
via a0c1ffedcf1988bc13fc5b6d57d3b74a17b60299 (commit)
via 7c39e397aafaea64812f2611b061bdd50f30dce4 (commit)
via f411722cbc18820e5266ec4c2aadd2269eb15447 (commit)
via 4268ec187d401b9b132afa1a13c73e0026a53c5d (commit)
via abdb711e0855f0597a96db0486b598144b788212 (commit)
via 9a9e394b05a841bdd9163f280d7ef19cc65634d6 (commit)
via e30d1fa1bfb1ff2e225cfac9226c357f2cf07a26 (commit)
via bcc5a6eb668e560a0020114b6dc261ef494981ba (commit)
via 3a3a077c4acaed1ab231a376ff9faf6b71b7a0f1 (commit)
via e3fa7860f44b85bc89b09998546fcb09624c3c68 (commit)
via d4b87b1eb6439e1cd01d1a9f90dcf19428db4b17 (commit)
via f8164777cde276244d015a2411f68f63a4bd28aa (commit)
via 4c04873103043dc9a1c8d6cdeea1b9b1f545f375 (commit)
via 57a63d27dcc8c7620f2168b370b649c7458c687e (commit)
via 3c83b496d4ee7d732b6844c585c3ea9d83ca0f4c (commit)
via b4f9e0034660e15d233627f9c5a732ab023b7daf (commit)
via f1cc84f59441d59827748e47a5971a12ed1ac283 (commit)
via 688cea90bc0af3a0188695a25f5c4e8db4ef763b (commit)
via 7ccbb4437a29896955a6ff3b0406b1cc2a7f6fe2 (commit)
via 66eb1ed3882aa3c54daa2fe24b7479b5ee0538f2 (commit)
via e41d1c49a12aab7db33d7ad66d62f7413b8f0480 (commit)
via 3345721af145007661f4e7e7f4300470095ba622 (commit)
via 6206060d9be8da3e701fe0307c6c01390e2b4ae2 (commit)
via 6665660a411ead049daa85cac5c629d637e22044 (commit)
via f7e13587eaf1e2d433e21ac0a9e413a98e53652d (commit)
via 5d7071341dd3c01d38fc01398ef8b23b1bd3783c (commit)
via 272d4594343349a713f7d8967d90ae2413ecbc30 (commit)
via e2a689da55d3feb7b79a141f69c4049112f59c91 (commit)
via 90a1ef8762a57f3f57007db2186099c026152034 (commit)
via d4c16835cad70bd8c04ff30d5d6f40ac65e7f7e1 (commit)
via 2daf894ed0baf72dd3f422b7a71630145568db30 (commit)
via e6ed716cd5514c08b9d7c469d185b1aa177dbc22 (commit)
via 7d8062de98203eeec70d4439ab460b9ef50a2e0f (commit)
via 9d0faba9f52b898f0be539bc4d6fbd084772259d (commit)
via 2c722807a752ce468b04fcf6d29857f377beeaf5 (commit)
via dee7b4c83a636471ee321fb4fe1c3be0a16a9ea7 (commit)
via dca0f6c0a4bafff9039d8bdb2a7efec9f70ce82f (commit)
via ccf46844d3e5ad4af9f3a10cc0599c939138d566 (commit)
via 597bf39df91c9a2e27cf1966dd4c942ac645ae33 (commit)
via 48c410fb70fe09c036e27092880db687e5c2fb0b (commit)
via 93bcb04349eb500781747a542ececc7a8ba3bd95 (commit)
via cbba3ecd36f0f861e4e810fbd5415c9759080cdc (commit)
via b9a3f8429b012b753e30a4222bd8e4cbba019fad (commit)
via 3844e605e61777555aed09ab8ce88db2da95bc0b (commit)
via 00b56dbe7016bc33f882525a47faab943fdeda9a (commit)
via e4c4ac46e8e7ef92311181f85b193af369897151 (commit)
via a2e4218f237dd1555249555f8be4165aa8e56b6a (commit)
via eb212c84a12bd0adb29792737ab2423d72c182f7 (commit)
via d3ad6278d6b977cfeb3156b65862224899549c76 (commit)
via 6ce26ac7c381c78858b9a7bac344b5cd04bfb03e (commit)
via a0e44ef56c4d1a20785fe3bcb368638d1af148cf (commit)
via 6fbc939cfdbdf02f205c20925583738b0f835e62 (commit)
via 62e0492f5723dd3db5e5a48a3a0ac161d7ba2701 (commit)
via 9abca70219e8e15991b9a4d3034672c9f720234f (commit)
via c0d38b0ec6756de6a0b68477e47bb8619eef2262 (commit)
via 540e617049db92b4371fa90cadd4cd994508f86d (commit)
via 0529f3fe5c33894387df407b2f33879da7778e08 (commit)
via d106773eaca95698838b930a7b512469a38a6771 (commit)
via a5fd13a91534b1c79a4b61995894a5bb4f08d3b0 (commit)
via 2057d69dccf36206be3bec5d48ff165621e9a06c (commit)
via 08f10e02be1bb218d6edcde87b9f59dd11b40a78 (commit)
via 1c7fe9515dc1e8aa6378075ef56a646c1efdf7f5 (commit)
via c93dbb25ac4dba2e959bfd30684a36773298c853 (commit)
via 89549d7f4d27b63c4aaab4456e21dab1ee96a40a (commit)
via fea82da0fe15137fda0056c0f0b92b6e70997ea8 (commit)
via 86108c1311d82af6707d38e6d3dae1ec0aa92ec9 (commit)
via 8c2e74f18120dd2f2da7d653466c79dea6841b5e (commit)
via b49851c8e2bbb38e0e0f977e3fcc7abe3ad157b5 (commit)
via 8bbce0c70250334f436b4e52983f3538d3bdb9ce (commit)
via a7067863418451b27130bb4300ac1890ff806c12 (commit)
via 9ab084121f50a6858b7298de6c5326cee3687c43 (commit)
via f19e22e9226444ee566b5b5633c0a48a4f981eda (commit)
via e99f9db0f5211455ca4256e8db9d9081967d255e (commit)
via c6a636ce375d5af4ce0b3aa78b1cc90fd82040bd (commit)
via 9bf7038bb229d6e46a1f1861c257fc47843f114d (commit)
via 422186a95cbb02ee1d34388adceeb4bd289074b9 (commit)
via 58e07198f34c3a8bb7d64392e8b978a0d741244e (commit)
via 25ce02ee7b7667fb7bb882421ff869c080777bee (commit)
via caa429d81a9999699a40b6394c9fb7b258669d54 (commit)
via 2e02f29632218fc24d71fbbefc368d551d0528a7 (commit)
via a3972330f49f81b3bea64af0970d22f42ae56ec3 (commit)
via 81873cc81effbd657efe5f525d369e430ce77d7a (commit)
via a72f8c4ce397a0bbe98281d4151982330ad16f15 (commit)
via 2e1a984c23da8a9dbd2542e3f506de6a64da670d (commit)
via c588b266bf1605b38c5f56a5a847e12e65392e4e (commit)
via c1b00498af77c012beed6809175f38923906ecb9 (commit)
via 942d35f72bea5a0d19a5d0e0a5ca533e37a88b2c (commit)
via 595a4d439bc5976d5bdf61da6d44337b3995d967 (commit)
via f5e73be11b24b6c4b7ecec5f762784c4bb40ec18 (commit)
via bec3a0c8224a76b315c1742b8254d04ab06885ac (commit)
via 4fa0265edea0940b865678d93749e224547dd36a (commit)
via 1a3da2cd6175e8f25cec95fc685d4f0f43bf6807 (commit)
via dd455cf51d2b273edf6173fcb25fc1e3c5b966b2 (commit)
via 8d01b5310ee3c5f8b62eb1b8177e6ab7f25d4a2c (commit)
via 3847a7bfbf6340372962c07f31187ff87b4f492c (commit)
via 237df8fe1863bb47fcf71ce125cd962666173aaa (commit)
via 8bf6d176b0a442a8091d338d4af971591d19922c (commit)
via 811731b21b0a5b5459b33bfcbe26f40c6d9bc7c0 (commit)
via 12efd68d159444ad8dfe24e49965a228ba980b86 (commit)
via 62d8e3b73139b159963025b5568ec1f5051450f0 (commit)
via 0088ba596bba2e0b94139f1c2c4f5875848edbd6 (commit)
via 312617a3d06b8df67b9f4f63f92ebfaa6b591921 (commit)
via fbe4d6650d714643fe340d9ccba7fc500c26b91d (commit)
via b02f78f9285728ce2d05ce01e7b14880f70cd6e6 (commit)
via d3238f7d90715dad7e8da2a8c2486d26124b0c84 (commit)
via 76fad9996335e52f177c99c1ebf024fc7f761be2 (commit)
via 63c6fc6cacf82e6b39f7373d44c1e1e1a0a757fa (commit)
via ad118caa9f690114d11384b0813f30980cc333f3 (commit)
via 6b22174ff163b828a2069f22353018ca97fc0fb4 (commit)
via 941accce38bc70a23c62e3c9439b67bf23298124 (commit)
via a610aa4f9cf61d38b8e0fe60dfaac078d636089f (commit)
via 9186c494a3bb61a55a29ec04aa0d1684a8c46838 (commit)
via 5d79adc4b22b0abd4f12ea973a00e7fb0c1dad64 (commit)
via e1f2e1a2dadbaeffe0a8a6da7aab7effc6b046d2 (commit)
via a9d96ab97edabea31bed089bfd4caca80838e31c (commit)
via 1ff30553d8972fb027d77d76d29643f2173f17d6 (commit)
via e664d728038abf414b6fb1a1c8cd3aacd0bb3b67 (commit)
via 206584bdf15aa19bb3c971b28e2c1fc04f32d027 (commit)
via 66d8c862859ab241c1db9b40c3981f8a71951bd4 (commit)
via 9303eb2fb1630678def10613c81215c2bd21d278 (commit)
via 79b377b3cf3a0e71e1e4710c4ee1e65e7a27a5d4 (commit)
via 4f6d070adb32e61c3c61e621c6566fc2d5af2232 (commit)
via 6187fc5364f6cc327805ecb4ba4962953f25122a (commit)
via 88ed7edbc632245fad33145e723d27976b6732ca (commit)
via 96605592395fc57e531de249883ccf6fafed540f (commit)
via 0b62c71c0839764aca82bf32ac6aa339020ae0c8 (commit)
via e2c52041c02e2bdee5b28e97c7997caf0ee5bb2d (commit)
via 708dc93ed0c8ee744e2784a1c349d8129a84200f (commit)
via 947d39462e26b0edee9b58003ea579552dbf4fa8 (commit)
via b8fd091888383703f5d708c597c496d7b9e47a21 (commit)
via 68bb5386b84af4031175bf186269eb6b54b8611d (commit)
via a0486bac41d6ce47f27795a5abbca5cc53ddba00 (commit)
via ff4a4474eba6488c8ad3cae51a685fe282ab249a (commit)
via 4288405d5ec2c68c7e9d8d68a090c6c9ff3825d1 (commit)
via bfcdb85206cd3c3b8ad73b13db6bfb2ec608239b (commit)
via 0ef209f22c24b9243de68c35c576f7111198f915 (commit)
via e3f56a99f66298bb505d0426950b9716a853a5df (commit)
via ae9ac79e5e291a2bc5c6620a10c37a3558d55d36 (commit)
via 54a471e5fd44d7a91297ece1383b0ad6d62c7306 (commit)
via 955b06fa576df1a6954263043ea3f3a5b9ad5940 (commit)
via f49055a52f04f75b6560f304eb975128dd82ad68 (commit)
via fa9c3fa035433debc24503e32c59688650ffcdbb (commit)
via 4330d61dfb05d77fd925efdca45091f12e3a6266 (commit)
via 6ff185b89017b16e9092142515f0a119b684ac72 (commit)
via 1336939d3cd4cb02670c48ef065bafdf0fdae300 (commit)
via 33a6bc350f5b4f03d586ba9d32667b6fea1dce4a (commit)
via 000439d52897541ad00a84026ac471b4f8cb3c97 (commit)
via e33f2313bf63b77763739732be14b469b4b647b7 (commit)
via f948b2de97884bfb4e5fc11d40a6bea9e0b096ae (commit)
via 90bd54236cb8b1c31c3662977159be971044c20d (commit)
via 9698cf9b1c485edbbeabc9f65bfd0fdef92e3854 (commit)
via 90f879191c1bc8455527f66fb4ab46873aa870aa (commit)
via 1e129bbefadbf09ace0fc7fcb3cfcda13700e3b8 (commit)
via a2f4b66c9eb5210f8ef6038d7194af1e5f314f97 (commit)
via c0e70c624fc7d89f5cf281350692de89a063786f (commit)
via 88981b157b08f2e9a404a2f86d4ee131f17ce3d4 (commit)
via 7d9813f196bd1a98d49c2b9b7b90351cb2435b0d (commit)
via 0e65dfbaf3a0299e4837216a103c28625d4b4f1d (commit)
via a30b3e182aad25f94de6412efd5d78f7805fb4d3 (commit)
via 6dbf2b734063522b4f3d7403ce7a2b436802b839 (commit)
via 6c33b742ce19cc2fd226d84f2991572239199a62 (commit)
via c499eb6896cd803d26da8c719bfac9c03e596c08 (commit)
via b437bfe0f4cf06559ca4c508a2869383196ddc6b (commit)
via 316afdb130346e44622229793d1fb8d391059f8d (commit)
via 143dce8481f09f60704ab52b98cf8fe6d8b29fc9 (commit)
via 9402cc593f4aa54677203efa9a92c4f28d3033eb (commit)
via 72f3392127e1892cb203a98092b4ae32485365fe (commit)
via 47d546f427d0d3bf9f503b5b118ae05b49d73d28 (commit)
via a5be9bbe896d4adb6077e9bb2ebcaaa4426bdde1 (commit)
via c0754cdd9af6d8259eac5c9daad9f9b0611358dd (commit)
via 479604f44fc1eaa02a97ebcc1b60f55a606c4046 (commit)
via 94585e7f93c9477bcf2835d8245e967053ce2b41 (commit)
via 60da9d955964759b1f52690bff587ad32a198507 (commit)
via 2e94b05630514109994abb77ee2dae730f17c263 (commit)
via fceac76e64b998c9b66a229134a9ead25209e095 (commit)
via eabf307f1d77b952dd76f2618e4e6f72d87e5d10 (commit)
via 65f381e729bedb933f3e1376e7f53f0ff63ac9a8 (commit)
via 766f883622ef008230250aa5aecef9fb9b29f233 (commit)
via 0f4a61b42002f568473f821f00dd240413beadd0 (commit)
via 94667ab146a0c94f87f3d9aa7d1c819663b28338 (commit)
via 28fbeab8064f97ca5fe1a851fdc4146b7aed8863 (commit)
via a0f6fd217fa53ab80a335fb69f12f1f28ac3335a (commit)
via c83004d526c9f5e203926a979d405f7b720b9ede (commit)
via 586338b839d3f65d22eb3baef41f7395974f1f11 (commit)
via a7b34aba62ce347b4e64ca197a5c8b997e3b72df (commit)
via 0eb32b6e1dee07ac199b4bba855205e4de099213 (commit)
via 58db964680f0f17197849a714c30430deafb8bc7 (commit)
via eb41253a15e2c976869ba1b1f0c3c0e60065fd4f (commit)
via 5f63875b309f3ae9854ac8a12470111b794a70a2 (commit)
via 61dd8e19a8b43037125d4a767f27e98e9181521b (commit)
via ce5aecf87372749a5ec511f218956756aa185d0f (commit)
via 3d7d6a6ff4678685f86976f08ab4c9c639e262e1 (commit)
via d5b7ce35a19350969b609c56a8bfff17f91cca20 (commit)
via 5b6d4fc74b505850a7849175a800b55aea4d9363 (commit)
via b3811e90dc878d2a23737d20c6d55a972e5b0fd6 (commit)
via 823710d5856996d1f54f04ecb2f7647aeae99b5b (commit)
via 0b4eac57c44ec4c9e13f5201b40936c3b3e6c639 (commit)
via f166ae0188dcb89c5ae925034260a708a254ab2f (commit)
via 2301ed1c9af1316b4bad3747d2b03f7d44940f87 (commit)
via 405b5bd86fbcfa9ad5e67e9cdc49dfcdaacf533c (commit)
via 5a01c34c62ff9085a0f45ec2a43a38e7b455b23b (commit)
via 04bdff6a76b863e61ee46375dd7cdc9adfb75540 (commit)
via 4a421c53cf609d68fe956c2e7270d34c0ab8500f (commit)
via 5663e321848545857a690f30a780187e3366bd2d (commit)
via 8acf14351c818d956babe50e61711740f378c941 (commit)
via dd7efa79151ed5a56caccfac870865764d922a2f (commit)
via fcb36d746247a9f5e266afa65019129eee9273f2 (commit)
via 45d5293f6e098ff7e85a30554fcdc8c7f00db675 (commit)
via 27830e0d383e4ed5e8d131c38f262d3fcc3eff25 (commit)
via aca4efc7a4fc42bac5b7b029c52cbb2a2bc2574b (commit)
via 8376927b2cc8b80cd5aa1e48aabafc85c0ad4f3e (commit)
via f8861f5dc2391e0c46dd118370195e7730ec46ca (commit)
via 79472b45328232b083e897a511d4160a6dde0463 (commit)
via ea195bb04cc5c964126aeff0f87d7161a03ca926 (commit)
via fd0de36e274c8141a5dd4579cd04856dc88370da (commit)
via 8ebe62124023224eafd1b82c8bc2325962711ef8 (commit)
via 2376c3702e43ad8a717d80888b34e1e7eaeacaa8 (commit)
via 82d7a6f4e3ccb3d714b5beb03eeb24f7356d4380 (commit)
via 016181423bff8c04b2808f2dca9a95f0c9d92fe5 (commit)
via 4ca51187d21562b6626eea2bd0e45f6b64719dfd (commit)
via 18125b163947bfd0c358d4a5acf4e0e3b43b64cf (commit)
via af1a8d038798bef11471e28d999ad1687312a6a7 (commit)
via e7fe496b1b8c0dfc44876f86131f756b424d4e70 (commit)
via 6ec6968b1b259948ba42f0a47a3da048377058bc (commit)
via 8fca4da0759df376bcb646bc4b79a92ba27e2362 (commit)
via b706061469811a16ff2fb8d42f6e98a22e454212 (commit)
via 0a5954bd5f96dd665cb733b9ab6f2ca67bb4632d (commit)
via 7166f90a7756a3b68cfb93b5ea4a026e9b5f2459 (commit)
via b0f4fbf81a1cf67d49558b2e8890e5c8628f8403 (commit)
via 9ec2f606ce9ebfe9b7d1c6d3db0614d19bd03a6b (commit)
via 4decd602d8570eda5d36fd6cca2e50091000fa7a (commit)
via 22c6ccb89e0f38a70a42fb49eb167e7857d51f5c (commit)
via a7df56e5f840e2ce8bb09487ee0b6570cddb1550 (commit)
via dc42e902cc54af2b7e7b54a1171d562f867342d5 (commit)
via b474a2022dc14fea0dd8ea4cc66b813486132075 (commit)
via 304f09d0d4b519f143144d213e1280a0691de8ba (commit)
via ba6cd17f0a28e54d9b4ef46397d448f1d208d9a0 (commit)
via e39c1607a2df3a97bf7b70bef6de5b7a2db55eea (commit)
via 23d00a419fe67801afc02a87f7ab9c5374b0238e (commit)
via cd4797ee054654160fe6c4b6fbecd636b7961e19 (commit)
via 3734320dc054bd9f6632607e9e5c901c57450791 (commit)
via 6467207116c66ff2c58f8bc35cb15b2596f5c457 (commit)
via fb7806c7a49d6eb75cdbff183d10d00f75968c0f (commit)
via 669d0468399d8375f4d25289938a0c06d12e7f2e (commit)
via 8fe9a076adf308ec813246a96f915c5ab5b6a75f (commit)
via e6f65e7573a317ac4efff26fe0e49fe1b9e7a596 (commit)
via 739b5c9c778dee9e2f54d864f83a81ecb0639535 (commit)
via fab7c86ea474291776621eba042132f47af124e1 (commit)
via ce3ebcaae382a3f95530d633e6875f97e53ef273 (commit)
via e2d1595531b62487749e1af680d8f0c48c684feb (commit)
via 7622049e0bef81fab900860400838bc977449892 (commit)
via 338ba75534fbfeb64d7009f29a89f25826a1f4d2 (commit)
via da0523c66604dc11b8787d3e0123ea80a2503f14 (commit)
via 302d65e0b264df2db2f42a2ef51fb9d69f3225de (commit)
via d87343802b81ad123a27beccb140d406f54727c6 (commit)
via cffc205c9eaacfa312323807cd60b9d3d1c26894 (commit)
via efa9760914311fdd9b9a299f1e6cd5a85d64c5ff (commit)
via 999b073bdb188635feaf1f719237b4845b5b06f3 (commit)
via 2a912e42d7b9aafae0e8507360cbca52cd29fa9a (commit)
via 1aea5580c4b760e27e480fb4cb82146a2388e504 (commit)
via 34d11c682fd96c7dbe3ebd6cd9033e65d51ec7a3 (commit)
via 122cf0f2d93ae6f7a53e8dd643ebb068b79df9cf (commit)
via 3e2cf42fe5c305ebb5a4a69427a37e950385ea60 (commit)
via 1c8ce0ebbe603b7016fff924eb7636d8406f44ba (commit)
via 33d0e35aed8870ad317af7eeca5274cf4fd87d15 (commit)
via a45575b0356d671df2c55fcfc66de719b6b2e5e5 (commit)
via 87781e8475f8ec80463937130cde48540ff87149 (commit)
via b420b89e4b321ff31f2e76cac499b908f042069b (commit)
via 408e9b8b9ebeb854baea9aac52fa8df4d41eb53d (commit)
via f9e2e39d23495844d998f54a0fccb9d6be7edb0e (commit)
via 81f47ac29f8cdb888f2d81c5daa9bfc4747738aa (commit)
via 29b523140ecf72bc3fdf570c71fbda6fe85cf930 (commit)
via ca1285d17534cff3041c07ac7841288e1b3ba19c (commit)
via 334fe02b5f9cb1dd3abb0f79856ee1f4285f39c1 (commit)
via f3a09c800fcd1d597fa2b9578cb59adfc15b698d (commit)
via af4fa23fba220c1b26bb3c8a7996b406dcc181cc (commit)
via 26648588294d039fcf1efbf512d785753cb6286d (commit)
via 6e035501e15e72398fcd9db88c97dd30e585a9ae (commit)
via 7d0e2ecedef69de0a242ac49a475f6a3968d4476 (commit)
via fb816e8b1c8ef6b7b07eb3612bb61bd7ef1ff94f (commit)
via 6275948b473f6ed3149e97bc18f6f8de28bb3f04 (commit)
via 677052f2a5c67f1d9b2e6d1b2a2149b5f0c20cd0 (commit)
via f3da9116654bb2e899063a0aa9e11c2606b38fff (commit)
via f1bb75ab2a68b7d0878966f5a945eb7d33a48280 (commit)
via 3ca58cdea13ddad01d70aa170eb419903b241b94 (commit)
via af2d9beee989c7b75de849d9c08629a1e3f567ad (commit)
via 61c9c4212daa0be96503b9069da387aebf9cba04 (commit)
via 64c350f2b7930050b869fd3268547452316a19ac (commit)
via 514bbb0fd96e0742bdef8c6c706e5a030323d198 (commit)
via 4d6ac854515b14ac5304c1553d37f9b1d78ca333 (commit)
via 14b456f2a011b28d8136a64022f2a418391054e3 (commit)
via f49bb598d96fd66bb6f2e9b14951f094e3d29396 (commit)
via 56858bea624ab405d53379ae25f433880ecafc68 (commit)
via e523f10159d469dc0ca77069d092411f200685a1 (commit)
via 66dcaa5d55eb39471d962bb949df009a9ea3f959 (commit)
via d052b9b7cb90e0f76e35b0cf3c44e9b168b158c2 (commit)
via ed63aa178c4b5e47eb8658813b2a3b621b7a092b (commit)
via 897b9bbcffa894bd3f3664d7f1b666379493d9b2 (commit)
via 1c8f2df85f56d8f3213667e2a11cd480f2a26667 (commit)
via d3b6314397347943f40cdbf6efe34e209a162cc0 (commit)
via 14925797f833c9f4eedab98c7c50961d180aa03f (commit)
via c507f10b0711f24e1b82b8bd096e605317cf77fe (commit)
via bf0b396de71b76c02f6dd37e61e4044cdccb28d3 (commit)
via ef1576a1b5f14276b44ee4c0fc259832ca0dfd99 (commit)
via aef6d006581cab8a858e7abd36c57e73ea6e97a2 (commit)
via 04d54ace12e77deb8b1d26541de0f2cbc11880f5 (commit)
via 9743db035e9bc256b5accdcbdecd7d1e9b41d4be (commit)
via 143275ea7e56baf5ad7a736698b79a90b473183a (commit)
via f08d8ce3cd39f34f26dbc681d873e59a0d7e6780 (commit)
via 73cd51e51b294af9591ecc2e8a28a9bec4f466b3 (commit)
via 1f6234a335eab15c3ad878338b5256b5bdc190ab (commit)
via acca5630749e83ce4ec893e650afa015a086cc0f (commit)
via 5150f0d83e7525e75d900c6859163db8797507c3 (commit)
via 4401c2414dffebc5c5e4914fb611d1ecc738e3d5 (commit)
via a710b305c5ca8307e8b9d14bbb014641f60d3b48 (commit)
via 4aa88b50c4eec0256bcba33e02135f224a725d68 (commit)
via 1be7aba392cd32a9a7165ecb4635c2733b5ac7ba (commit)
via 35d1cfc2000388028c8f032e714b576615e8db02 (commit)
via 42b16635dd63ab3e71c76af130423e0ef16d5995 (commit)
via 8b8b22a426d6b2473731176c83b47042bd8184b8 (commit)
via 3063888ecfd248ebb4a9b9c61819c9b6eb07bef2 (commit)
via 1a186d296c88d5341d2939eb0eedf792b053f8a5 (commit)
via 2d78f95bb639209254eb7252f9c48c520bd90d56 (commit)
via a8465a06e0986374f501d0e286a5f351af2aa878 (commit)
via 93925576e90a2d5ce84176bf2638f685d1a13ec6 (commit)
via 13ccd4c06fdccad1cb97f15878cd411aa22bf12f (commit)
via 8cd7817067daffd567fbe09a85b215b609c56e1d (commit)
via 935295b51d80180ecd8c35d0edbd91283ae135a2 (commit)
via 7df54120334049020e377ec17a0fdf4ecc63d6a7 (commit)
via d58196e061969786922cae5cdaa2ade56dadd95f (commit)
via b409bdb60e6a5c1b865dd25eb6bae484eb9b1b04 (commit)
via f30ee27c150efbdffbca53f84449b2aac605b6c5 (commit)
via 5d281bf033bbf2018a30183c2009182d947d3dfd (commit)
via f601a00c4c70f396defc66d592c4786135616545 (commit)
via 26c1e780920096772b5735250fa31a4184d2253c (commit)
via c2dafc2a05c7bb1a341def59e6f39c1da42984dd (commit)
via 1b8833198c014f2d7f7a67097061f3b990707084 (commit)
via 57785aa2ff465ec72baa75bbd62e321a46e0633e (commit)
via dd9634d97c05168870624cadf8fddf9b62ee3008 (commit)
via f5f10c66f8dc5466536181a1e5cce2419a5bcbd7 (commit)
via 35c228db7089caf9525c1ef4cb35f6a8335eeea9 (commit)
via 886e1c739b5441aca92a9725c932d0d446097a32 (commit)
via a302e574182dc12e95850dec078dac93701f1bde (commit)
via 485dee97c6431267b662b723eb092a6abfa4167c (commit)
via 5ee9134313f9cce06d38144f5bc77c59e04df884 (commit)
via a7ad558c377fd5f5cc7bc77837c532f907f2c53b (commit)
via a2699ef206aedf8e8d49d8519ae8a535e4b4afe5 (commit)
via 4d8d49e80ab6964a211ec3507be22c092afcd83a (commit)
via 14237686d71b6ef1e6a85f2791cb54d1ec019cb1 (commit)
via 9ddc1af18c31e775ae7b107779addfcde92c723f (commit)
via 95008a882803920a0faf672dd4a54edcc6ab66a7 (commit)
via 7bede82892a06e6c26989803e70f53697392dcf9 (commit)
via 905f5b3f1d20569e2788add66687e6de11130159 (commit)
via f6bd0b7677cbe76cab7322974a418e0e539400d6 (commit)
via 3a1bb98c3c4f983b950fbaf2797ddcd21fcb5211 (commit)
via 8f02ae5bac22b8d7f57f233ca1957ef9dbe751ab (commit)
via ded12894f5a2836b06c997b899d04c9f692004c1 (commit)
via c5358db468d582e658488c2bcc1befe6e6e47366 (commit)
via e48371ffd5f89a9ceecd6e814b69e26609fd8402 (commit)
via c408a94f8115767ea7e6aa1a75bc59ea5ae960fa (commit)
via a0a3a1e9d71887bbff54fcd1e33fcefcbc78b603 (commit)
via c2509a1cc8beff40b1da8f85a3f27bf9df1d6c02 (commit)
via e7bd7fba34ae1f892acf1e13ac86fca55b68026d (commit)
via 35015cd193be5e603ed31c14472d2d9d17e14e7a (commit)
via 37d0d09177dc02e0002ab8b90d9b7bc402af9240 (commit)
via 3076e59490428c9719765f9b007d6d0d0238f006 (commit)
via a6d0f2490c0c7969eb60038f01c0ee0f46e4d5fd (commit)
via 2764128dee821448ba43a50ed8cee387f2ee8dca (commit)
via 3c2fcaf9132b994ff3dcb19847717f175098289b (commit)
via 175cbe22a36861976dc328baaf5ebff3fad35ed8 (commit)
via 30d5f9e82139702e56a862ac19a5b36545fe3de5 (commit)
via 66b8bb74ca8fb23e407b80e1b0e7c1a433286b41 (commit)
via 1ace968ad55778bc178ef36182b87ab7e3dad652 (commit)
via 21c219fd5bbd0720b7adc5f250c91fc2fd1c4941 (commit)
via 387e762476ff224ee40760910e73a3905a2c380a (commit)
via 0067be51e9436c5bbd961a4f54c10dbd50c491ea (commit)
via 55cb8bb5a870380a9d5f45d8002b7ffab529f6ff (commit)
via e173ea00c2941af42ea4e2267446d6039a70da6e (commit)
via 1367480341749b1498a6c5e7a7b79c7a4ab4ed34 (commit)
via a9eac7f9b45e92b83db476d167e5ff26607a8b47 (commit)
via a97c8e56362b77fcbbf5b57e5053356320273977 (commit)
via 71bed2dba6c0706633ead4994cc89e063abf28ea (commit)
via b8e07335d04f8c8e611a65905598915f68b0b707 (commit)
via 391bf8918b16f9f3ad1060d5cb0fc0c4048421bb (commit)
via 24c54127c5c4da81b9e6c248c8e918b3564b271a (commit)
via f3e606a3db56db3ce1ab172511a4ffe9310a496f (commit)
via bda678b9e5e4a343a9bb2b0fd20cf52035bad78e (commit)
via 8de09632ff6683a48b8acfb05d3b35b4ab4507fe (commit)
via 63b667adb4a915f13ec3ace77af4b9cbd76bceac (commit)
via e111c7d1eb8404f29c45f3aa5dbc531062ebbd73 (commit)
via 42e6288f9f9d7dfe560d2bed1fb5e7f27ac3256f (commit)
via 28ed815ad2b0cb93eede83022269d6a60b9cdf31 (commit)
via fd1dc4a0c1b87c1efa7e0398fd47fd1e87fa0fb4 (commit)
via 31e36ab341498bb477a46a0475100ec5d471c4f2 (commit)
via 1be5f94f9c85821287b9ae423f738a8bab499526 (commit)
via 3c17238bc9fe8a078a6199470291f07bab9c64c8 (commit)
via cd50a87ae29f163e7d254729a902a5e51fcccbbc (commit)
via 3c705960ca0e12bb5d3a12d14ca6703006102d98 (commit)
via 0a57e14ffa4c2900f64780375282dc5dc493e250 (commit)
via c469c86473273e115b267a6f8c93c8942deb93c4 (commit)
via 116adc27470ed3682b6236e44e3b18838673036c (commit)
via 3bd82c86f0f432bd7653101069bf056fda14b7cd (commit)
via adccc50753467ac66573471f180a60d8d96ce223 (commit)
via 5cd99750959f54fea9e7290ec850df6c96878b56 (commit)
via 7ce2460a77a8f66a145c11522f494f3262255390 (commit)
via dd3189990b1d918b3a9e482ec6e9cc9a8b9e8fe9 (commit)
via b42560a24154570a42360294f44ff14a95d795ec (commit)
via 9cfd2b89bd3fe943a87d5425d0bb0f8b14c85eb6 (commit)
via 7a1021395e0ef7a92e1653533b753a2221396015 (commit)
via 924d79e23306bb85fd1dd78564f4779fd3aeec56 (commit)
via 4c58e3376da3fedaca81f8c9386f3ccb81261f8a (commit)
via d772d2abcc163142fc38655896c4704b06dae0b6 (commit)
via d11d83f47bad5dfc959ac60b3619017ac60bdaf9 (commit)
via 9a73f0ad6ca2a9c027f30fca3d79fa958784dcbf (commit)
via 8127a2fab5780f27a1c9998b0be4d8b5c28c1603 (commit)
via 91d3055d8b77d56cf64f85ace4237a0ccca98a4a (commit)
via 31930bd34d15dd22c5ef47b46d8bc95a5ec34d0e (commit)
via bdb3ed9e634d3db8164d90dee12bc8b5e2458786 (commit)
via f37b313d5cafbed4e724db4724d1ab567b373be4 (commit)
via 246994051b6659bf9f4c89b5d5ede86717c5bbef (commit)
via d4e05d2fea956e65618fc12c57fb81e8788ef07d (commit)
via 14ef6690f1f24ad6b2f87bac36607146fbda6ccb (commit)
via 814cf43a1f16157fcbe2c662f567d064393a0fcb (commit)
via 02dc647ed65b1429b9af4986ed467f90fbe0c33b (commit)
via 092324387247f92c66f25a3e1927cf8821bb4943 (commit)
via 7b4a314f8b9b50c2289ca6b5d21513052c48730b (commit)
via 51d3063a35fad1fa0cd53c167bb5a4325afeea16 (commit)
via 89fb8848d7f00cabeb56344762860469238c24e1 (commit)
via e9b89e2d01043108283df02261ed718aae705bc8 (commit)
via 8c42777cd8e1557ffb29fe9c172edd8cc1de14b7 (commit)
via 5bfd760d66c816d53a930635a84990c8536bb545 (commit)
via e85e19b4d7d9b3b322f27684f8c0a3a9ac0e57ab (commit)
via f6aa7436201194e80e8d7761e6d88ecf0ec1e327 (commit)
via 6ae614f66a0a86c9e83b9f40ee1f4e105b681f7b (commit)
via 6509b8ebfb19769d726c16eb3a8967ac6784f621 (commit)
via 35632941c90f406f69512c9559ae7ba561f7eee8 (commit)
via 3017b94d60f1e8929886be6992547973ad354f4c (commit)
via a32ad8c55c5c6bcdbc6773b6b825c4505fd44c16 (commit)
via 5f6e90a0cec8c269634ba0bff3c9e549a903c39a (commit)
via 1bd0c6e4964f68523794aded05aa4d184db44d48 (commit)
via 2228ef7700e81bfedbffe352f3efa3716224cdbe (commit)
via 60fcc1c3d0d8f1e271b19210b1707b4aa589f273 (commit)
via ed2b7c1703246eef1ce6b393ced99fe267cbeb7b (commit)
via b0be6c912f9e901a87740c72f18be1e54ad5267d (commit)
via 587ee17bd492a324c927437fb561b99b274e1d8e (commit)
via ca1df239078318425cf8038995bf02f1b9ab6e50 (commit)
via 99f20f08682ecc7be882774ff78409530802d000 (commit)
via 80e55b132940813fa454da2592a31db6c8af85f1 (commit)
via 9d3421afbb9f3cfc8e67366ba75ea12ed8f732a3 (commit)
via 844333e24966817fe4d622494a75c8ae0acdb91f (commit)
via 988915ee7b880ff059f849893b71118d9bd2c4fc (commit)
via 2379f9c475505ecedc97607b39af7184bd67aa88 (commit)
via 46752c37b06c83a8cbf6be887beac4092d5e3505 (commit)
via 79299211a1a9a701f146620d419da6ee0175798c (commit)
via 762172a4dc4c1a7c25b3ef18f32b6e378cac6487 (commit)
via 9632a526cae4cb10276e39d8c4bd1f649d13f8e8 (commit)
via 9420801e573e77f0dd522150932eb27199052a04 (commit)
via c91f298b52766b41e9612fabf93f249cd179bdd7 (commit)
via b654832d0d514a9fe4bf802751df1a7093666c93 (commit)
via 7bd55dac80c2faced875119b60acfb51741e397e (commit)
via 75f06e9dc59d3f810e2afe2f47afbcb74204ef61 (commit)
via 77e7aaa4bd980fb96244b874bc867e20b399fe60 (commit)
via 456ba0fa36d17648a6cf32d1561c8c5802103153 (commit)
via 0f1309c8f7530b31ecc73c55e86572ff72256947 (commit)
via 26bfd82367d6ffeb1a61495ac445542e757df5b2 (commit)
via c0a57f1536fceabe89c4e8100c7170f6dd8bab38 (commit)
via e90a813d9660bb9d951963fd7ae03ce004a52ad6 (commit)
via 41cee0897b670168e0d6f455c9bc45c73f8023df (commit)
via be0d3bbbcdbdba83f74d8ad1be6c4c759255af0b (commit)
via 5a56d6a65f8406f1aadb4569fbb8ff00a6e92d02 (commit)
via e1cbf07ac4f8c8525dfadaa19bfb2997a2bfaad9 (commit)
via 334d91b9407c5f9f37f224b0f43551c01964eff1 (commit)
via 62e6b7b3b3c6f2fffe9f5863ddebf430533b79f0 (commit)
via bd1efd7d2111e37e2471facca117650a213f332e (commit)
via 1231b7b8255b54993c0afcb0ea40a5a096d67e90 (commit)
via 89055eaa122ceb99ae20bfe10d028da2ca7fee83 (commit)
via 5da01df5b5601cae695cee588547fb9ef0967081 (commit)
via fbdf05a16ec647358e65582721c4ca7dae15e58d (commit)
via 06d16ec97736b5fc0f41cb5a43f756b7ba3d974b (commit)
via 9c056022194f9d1f068885cb45c9d23a2e44db54 (commit)
via fa9c2a59e3110d8c7d37c1fa602cb6b25b796dc7 (commit)
via e2eb806a17490963f23be1d567cff357537df678 (commit)
via 6fe876770ad6739a5b3ca50f53dfcfbe433ba0fa (commit)
via 7f008c9e6a3cbb248f5b6e8638af4b9d5225981b (commit)
via b6484282f85bf7f11451b2441599c241d302ad9d (commit)
via af97b4161f07a716783183f1b17fa5cac9f99a49 (commit)
via 9d6d4be89d12747a92629ed1bde1d423e2831de1 (commit)
via 27cdfa03b5be812683c18e64009a5da042190ae6 (commit)
via a288c270991de1578ad28ac312120f4167347234 (commit)
via 66452beb773568c7f60dbc6b7c70f671a8c9cf4b (commit)
via bde09ab7026edf3d79122872b79c6a8f164ee0ff (commit)
via b5d5eb444b6443855d65f73ea6b6623f5fbdaa0e (commit)
via 222a8d255834c717f1690658a9f85501a46f9403 (commit)
via fcd60b848ed7619461b0b0e316201e7745cdb61d (commit)
via 0fdfd794d22b3b516c3031e76afecaa0ed813931 (commit)
via 353ea2d106a51cfd1680f7d351f35eb8f69c9248 (commit)
via 5f2459c233faebe8f882e556b2f4a86594a51292 (commit)
via 41f61c65a2e1cfdb4aca3bccf6e11025495ba02e (commit)
via 80062eb94959467fb0c27b988b87ac08dada4bd8 (commit)
via 06f74c5cb868cfd37af3e680d29784c217700bdf (commit)
via b8c05e85ef4ce9610a3a43198180cf24aea327cb (commit)
via 2cdc1a970d3249888524d251abfb87a9bdc77434 (commit)
via e37f3ecd59eeb56e08c4a210a6e9764f1cedbc83 (commit)
via b83b4b138298d2a6bfab11f533d7e315c0a1c97b (commit)
via 2ecde2b63245d4794a4967f318772e7166feb310 (commit)
via 4504bbdec57c77b6468838276e62b2137eedfdd5 (commit)
via d48e62f4a263a871b7a62793e8000625735bc2f6 (commit)
via 25a0274483cb00c27945b0337005be4f169ff09f (commit)
via f59f30f55776b10d4f728065e9f9a10cf63a1b29 (commit)
via b70bfc540d3fa7759f5957bce23b6a1e6783ccb3 (commit)
via 640c50672cffe19a58a0296bbf7731b59a013cd5 (commit)
via 15f18d1467aa08ff7a4793f21e02fd4c2ebc0a0b (commit)
via ab4ee6147eb2e8fafd1fb96c945029c789182d3b (commit)
via 8ed5b76ea2de370265382dab1d538a919e2603ab (commit)
via 2ff0a947394eebf5ff9cd26088dce60ec8c10b48 (commit)
via a776957c8c3a9177345ee7ca91077234ed7f508e (commit)
via 066f4018ae7822d81cb6747fd9494e5dd63bfecf (commit)
via 8107ddcea1da07f1c4e902c17f045684beb78079 (commit)
via 06ddcada14d90c4da28f9585801aaae48304d8ea (commit)
via bc68014d16c30a6e90fdf9fc43e98be8cbbead9a (commit)
via f1fdc960664c24d911d6189b94e5c054b4bb9053 (commit)
via bf7a4de1722a63c8b017d010e75d5e9e5e622f36 (commit)
via bbe75b9d00cc6f0694ff26569505c349d55e35f1 (commit)
via 1db455a76c39e2be6a8a9613b7a19439f24722d0 (commit)
via b6d03bb2b65ac5c919f1d08674bbaa2a9bfb2d0c (commit)
via 83228e93efa82f84a132f7cec44d0e760d4ad22b (commit)
via 6fdcd7cc87a5e345a1c09fcf898012d80eb43ee1 (commit)
via 5acad1a18219912bbb83b667c7bb4955d4af10ca (commit)
via 2e62ab400ff96334c92e5acf0a462cb9dc0d19a7 (commit)
via 4be290b2517839872ef7de47230be8dbd291a7e5 (commit)
via 721b08c68679ad4058bfa7ae73811e6f9e845cfd (commit)
via fc913e53c353218ba1a9efa423c08767691a682a (commit)
via d2b584a55b658fa52ffa3a42b689940d2e98e969 (commit)
via 4a90ce955e5bcde074b8616ff9d20f9939a9a358 (commit)
via 637d4b78c55640b9d858546a65d51024a70b5247 (commit)
via fa731fa0d400568fb1fd68c247fc0c55b53c2a2f (commit)
via 4cacd8ca8de0f9c22380e5a68cff7ff9f6bd4704 (commit)
via 8a522c6cab56bd55f1454638786f999f6f636354 (commit)
via 136afab8c7d8a8a91dbf38e79be4f9dc4125d552 (commit)
via a45328b93bdd5399da8a9e56817e445cc2068edd (commit)
via 45f0ab12d463cb3999a4286e679bdef05884b3a3 (commit)
via 7cb22ff84745da0856bf74578b9bd7dff4379ed5 (commit)
via c54f15248ee990df6cea0b4730cd61b227a0e082 (commit)
via 8e1920d611ab3330d6dfa610ff771cf5dc796097 (commit)
via a094d01f01688a49810c2cd970086ed22ea617f4 (commit)
via 152d61760a048909bf93f256063b5657b34ffd4c (commit)
via 725cbb63263d27e87f5a4f9b73281e7710de53e4 (commit)
via 3d1cbb78936fbf2985ffd2ebf074841599ead788 (commit)
via 94aeb44b001ab2d632806242a3bacb0a879abe15 (commit)
via 680d7fd5fcff860a31021845389d4dfeb7b42e3c (commit)
via c6fdd8b2052baa9b7a27d4d34f109c9622b53509 (commit)
via cc06b668978e542ecbc2aff1beca40e5baff86b0 (commit)
via cf532bd13616fbabe487d98107cde3202ad58ab7 (commit)
via 82433e3e270973c3f49d55d41266de6adbf9006d (commit)
via 57e5e645010430b3d73f8c6a757d09f48dc8f8d5 (commit)
via dd06d4d6889ee58b76255b775f52ba8e475a7a2d (commit)
via 6fe014bcd33686cb75e6355f9c36ce483a64ec62 (commit)
via 723adb650a31859d7cc45832cb8adca0206455ed (commit)
via 68bb0359eec3093560929b8ad2b3f5d30e7a7e1d (commit)
via cd0923370be1a6412e9b8fb5c8e9e39d90f1d3ea (commit)
via f88dbe3f8a9cef79a6ff32ba3734a7a308b8ea26 (commit)
via 38c3873e5d53902cf9cc73a4a5a05adf371296a6 (commit)
via 1670072efb31e82d52d408940062860e2835d79c (commit)
via 44ed80923ab89e141120defa8c1209b69869a7ac (commit)
via 596179f77c803d3fc5586465f4ece6503055d035 (commit)
via a59240a41ac34d91e4ef5dd8b484763639388364 (commit)
via 1b8dd6432644c256ab294d205a8e00f6c6dc5073 (commit)
via 1903f1385bff910861942743860d8577423bcb6c (commit)
via a679f24ecc00ff7df02c5e6e4804fc9f19cbe595 (commit)
via d10be0cb9e61f29a0de368ebcc78bba22a902ad5 (commit)
via 05b1991f1a942f9d13b5363fb4c05e34ea44ef57 (commit)
via f872fdbb5b83f39f359bc1cd016dcc0456cb0c0a (commit)
via b614e6f3f820fe08d407b57821456f672d4d1a6f (commit)
via 14faed38e730e3ab2a1aa8d5232b4883638fd857 (commit)
via 541aad8ac923fa2d4a9d35fdf82b487b9f6e0ea8 (commit)
via 29222070e410d441108895fcc3011f576bd05461 (commit)
via 0f534d767b257fffd8a9b231c97ff9ed33688452 (commit)
via 1ba7b7f9384eafc0748cee4c6731d6bdb717bd20 (commit)
via d31f262c36a450fe64e5886228d585c75cfecf14 (commit)
via 6d14d64dfefef524398f45fd59c1443ebac624f6 (commit)
via a40dde9db56ffcea8c2b99e8c4e292ce64f64f9c (commit)
via 47c47d6907bc44a599baff948d2809616c74c44e (commit)
via 833a4480dd7cadfd645d7b141168a0e22dc50665 (commit)
via 3f2cef4945a916e3b566010340bbc70cfe927916 (commit)
via 96acf8844a655e34de3f3b014a7f64f26266dee1 (commit)
via ca0ab0aa8194eda711cf52efe6c26cb821218476 (commit)
via c825904428f7c89a65eeb313b243f65e950a0a19 (commit)
via 27f113c8e9b2361caf3dfcf15437020306bf93b9 (commit)
via aee6c3cd1fea463422f19394f95c311f239b6067 (commit)
via 8e2b5aea9d3f16961f7fac15caec00e955c1dc81 (commit)
via 43cf3eded2d3ec0af6f5cf534dd89f47d4958a92 (commit)
via 5e79b7bb69c797c3ca401cfa0f7a616eb2e3efe8 (commit)
via 89b268d8233e11acdfbc5af196166aacc1440ff3 (commit)
via 946c28d2f93789ff4eec86a8c321af35759fa20a (commit)
via bf12844a68f3f4f267846a19df6a280f53e7ec5f (commit)
via ecbc06d2a687f369da7c304201c9f2cbfed80ec6 (commit)
via 030197b43cd8ccfe6869f798dd39fa27a29c0e01 (commit)
via b907456c3eb8a08f6b211f66abb448df962749e1 (commit)
via 9e97ba436a8e59ac4574001d618240eac0328934 (commit)
via 5c565afd4c7ab6f3d287c9abd288d1d1e3e7cade (commit)
via 6892f60143f7809641dc1824e29dcc406a705df6 (commit)
via ba22ff8694e366fe5f27824566aae65fc6626841 (commit)
via 624a24513d2dcf7f2c2d42dbdf6d86be2f6d74aa (commit)
via cc9519e7d6251b84dd95c55b562a15b25d703bc0 (commit)
via 6f38008bb423d71e6984c8ce49b4fc83d2cdaf0d (commit)
via 336d760da60d93ce76c4560525f65339f3403914 (commit)
via 4a4153dfc945701938b6f52795cf234fa0a5f5fe (commit)
via ad9d13f8e966a844e7e647af6e82259101956f17 (commit)
via 79b8e8ab453619cb0262e1ad18447d918a605073 (commit)
via d70cc3ba8740fc0eb0328da2453cefba8211944b (commit)
via 7905fc359d6921c411999633e382330e6fd04fb6 (commit)
via 73f8a5908695e96d8ecd5e0fbe9f1ebb16179547 (commit)
via 1ce0f4f2422c19a2626c23d88c7dbaf808898b56 (commit)
via d6e00f507d764bd8a3b2e55ef9c68a70591098e8 (commit)
via f2ae8bc88390f91cca8531823db51a8e35f0a0a0 (commit)
via 4884b57f24fca3d3abf73515e09a3917ed4f356c (commit)
via fb8819867993ee942aacd8ea6d5027b16cecda48 (commit)
via 8732db6ceb3d5d352685199a15306dbb69c086d6 (commit)
via 97dfbaddad2b5acf3dd9f2c3e0135b89bde1cbf8 (commit)
via b494cdff6922944383ef4dc20fcc90c4d823d315 (commit)
via cf250e36790aaa255bb486e2122bb83c95c7669b (commit)
via 61f4b350419e91560be94e0671a760b2e4902c65 (commit)
via 189b8c2e104017600104457b97315da74a22f549 (commit)
via 8ecb59f8567956c1520b491ea31396363efcb1ef (commit)
via 62160ec9547cdd21ac7334d9a378ca2930aac61c (commit)
via ee3c5f8968e7b43854204898fa46933b3a1b5991 (commit)
via d563b953142db796f61425a1a300f0feddcdcd55 (commit)
via 5ce032bdfc60a8f44f6307b2297384c852100f95 (commit)
via fce9773608d45757dfb26ef7783f37d432ae9a88 (commit)
via e7da54fcdbea8e60c8e577b32b6ed63f8effbfd6 (commit)
via 36cd4ba59817473935f781174744e7883ff221ee (commit)
via dc34c8972ec803b093201c4c12e084f059be32f7 (commit)
via 85bec12d61ca50669cac5975c88d3a1e377375f9 (commit)
via b73715df01e6e9b3de5a49cd7bf4170deef48461 (commit)
via 5d5b0bd35f1f8b8484349c3ec51aa8e19a1627cf (commit)
via 05be37e5c34b822ff3032791c2415e652fbf9fbf (commit)
via 9a7f0679fd3b9815b8eb938bfdad3934b8435419 (commit)
via 4e84a8f8bbeab52fa7048873655e582ceb92534d (commit)
via e25de718de3b613cfafb9c5b28dea8e55a8649b8 (commit)
via afff667ae800adee5934020c92012e3ecbf4dabd (commit)
via d557977487bc21e8ed19603527949a8541c44832 (commit)
via a12e57448ecf2644e3ddc98bbd4bbb914a5f8c92 (commit)
via a7e559cc087b10b9ea337b58e52cc13964aae3fb (commit)
via aeb2e706e1b9c491d20c88c8ead1ae9df9cee04a (commit)
via c1bc0935a4afb513486dc0a479cd57c0924b677c (commit)
via 1cfe2726f1564df1247f7844077717db04522a88 (commit)
via c01660c625766e848195285cc20581b9ed7ecfe2 (commit)
via fe7e91e7764d8db4a45c9d7b3dd55cb635f44f5e (commit)
via a0fb96150814fef91598e0b528c071201fe18891 (commit)
via 5bc113360ccc33797a3f882e02824a5c426da175 (commit)
via 90bd3c903fe76a8a3a5ced98c76e4366c5a0948f (commit)
via 871a6bd2d852b0fb677386e1be78c3f4c6939b48 (commit)
via 02e902e1a1ec7b74125f329b3faef1992efb6d51 (commit)
via 4aa866af6b13c7080c6d92201fc1a2f4ea19998e (commit)
via 86333705ae268aa00da41b094b0d632eae31e9ae (commit)
via 48574d91bf1289074f2c88b1f83aa3cd37d524d9 (commit)
via 4da037ef9dba6c17089250d228efdbe6f7d830c9 (commit)
via ccb8d7e8194b848a6c4aa43272540eec0f4f21f2 (commit)
via 32c36c3ce94becbf0b8e1adad6ff28aa9d5e0b66 (commit)
via efd6b3591b4bc8440f4145dfc0e6dbfc0545f7d8 (commit)
via 6b0dd094741bc5e9963eabc64a7030783e471941 (commit)
via 4b5a202f107b5393da30fd0b488c3eff2bc758a5 (commit)
via 60f993ce170b91876ad41e8f7339c24afd63fac2 (commit)
via f6b2b12db82f7b76c30ec389a67fbce5d2805323 (commit)
via 1889da7048b310151d142b100678b6bd6053b548 (commit)
via 65d1bc05e89e45b102783422c3984ed718547d5c (commit)
via 1caf72a5849abf9a717ed3e0232abf591ff933e7 (commit)
via f1c7f42126274d48f6b0a929e4e15a32193997c6 (commit)
via 4389b29a5af431eeac517272b66560e12df3c430 (commit)
via e5d6e09ee6cea13942a8042945e784f483a6f3af (commit)
via e2b0ab597857bfe9d7c8742ff50bbb77c70936c4 (commit)
via e12437dc862690eeaa4a487fee35a237703d2b29 (commit)
via e0991585ade56ff86a382978bb3b0268d6e1f31c (commit)
via 031254f2111f945ce6a1b8827e1a58ed7141fefe (commit)
via 8669f96f0d1fee8eddc4cb56ba68125abfe61f56 (commit)
via d94c001b358b1a947a61bafc10a18660bb5eef59 (commit)
via 798066abd8e5ec2a411979fd34bfe0cd494c1813 (commit)
via bdc8beb41b656e8071af275ef0e98c4f2d05e564 (commit)
via 3315614d19a7fb409227298ead9b356bdbcca3bc (commit)
via c40e31a1217f6ec9dd47e2e6806c2562096e31fe (commit)
via 50ff67e6cf65dbe1b8fbbdb7a6c2e43919af95f4 (commit)
via 35add35e85c21f02e3e5808273cb77b24069b0aa (commit)
via 9c9f1b1f39f37ce75c2fc3c378aa059b67df2ea2 (commit)
via 8114a5c51e6d07e3dfd243eee1cfad6e63cc52aa (commit)
via e5a557ac01a775df64ae8149c5fe7d503f46a92f (commit)
via d04ebfb8178e56bdcbf925ec0ed55cf14488e3fb (commit)
via 51196bbc5618a3741bd7bbed01ac76b25a2e6f9c (commit)
via 3bbec4bd95396936f21dbb07b79d2b6286b4cfec (commit)
via e5a1a79a4e0ee33292d45b10a759eb41f7358b7c (commit)
via 62253a61473764b0d084b01eff06a93fb38bb2e3 (commit)
via 3822612df0694cc07597e534fa73b34aa2540812 (commit)
via a9158a863c18545634cb0f0462b326aeca30634c (commit)
via 41077b6625d16cc6c0c4b404a177a8850300b8a0 (commit)
via 9f0272f8548164b024ff9fd151686b2b904a5d59 (commit)
via 02cf60c7a42710ee0364698c436b6ca5e771374b (commit)
via c0b4cd465573f1772927cb3ad5d6e7d17af21622 (commit)
via 6f2b77153170392f6b6c38367d7e5c4d007a9c49 (commit)
via f8aecf3cc9a3c71a0fb9a8ddca8f131dde648276 (commit)
via 548791769dc737f05cb12e5ee4190b7e853beac9 (commit)
via 035801cebe9ffbdddb465b81ae514a465ce9c64c (commit)
via c30391f893fd99e768c1a6282763ef553c45f1ff (commit)
via 233a00833b984319d5e94db3f5d5d9a735edc984 (commit)
via ca4e63310228df72ba47e5b29f4c275e62496dcf (commit)
via b3d7a86748247a68c69939cdf9925d4a78448f2d (commit)
via a0ea3a14dc6a6062c0c1f2bfbb7ad0373ec20843 (commit)
via 9bff840e8cc560f5096a43609ed3e0d980733fd9 (commit)
via ce12121b63145322b4961bbb2b94b939cb916ba7 (commit)
via bd7ceb8d26e011ff3fd23402ec2587d7c374f090 (commit)
via e54010f1aeb050cb9d65862a0afe9095a7a85f27 (commit)
via 68811f8ff84895ef1cad37ac6947f1a340dd2ae2 (commit)
via 795e3bb7de9ce2eb1ec3de3faf8f6bc925a58c9e (commit)
via 3f52fdbcb599f76b4838020721ca6c9f1cc28f84 (commit)
via e7f0831be837c00511573e4466a57cc0b8b097d4 (commit)
via c1202057eb9161a86af27d867703235fee7b7555 (commit)
via e9ad22ee5f0a40dfa1182ee68e3349dd72a42afe (commit)
via ee3711344b6e0cffeb237fa6889aab04853f9004 (commit)
via bf227d6105cb3908cde816429c84569da12e829c (commit)
via b05971a652c35ed72d3c95290e18d8f6e4ef6c46 (commit)
via a5def729be2596496aec225e843903b25c672e01 (commit)
via e6aded7c34054a2eea55ec56ca3b997ddd0197cf (commit)
via 53b81c6de19a1f89e3c797631e72d05ba41444dc (commit)
via c55b17b8098abde4ae7dfe0ec1f3b22a7fb0a34d (commit)
via 6feda62721cd6e288f79b0ee5f1489fee8e570ab (commit)
via 12400dcc0f3a4be8d1d165dc2b3a9f0bb9b579f0 (commit)
via 789ce185ac3353ed5bc21dd8ea70a8094e4876d5 (commit)
via 8dc433a0fb04f8fa37530d0788053dd9bea5c37d (commit)
via b0319eaaf9d1f4e730c532058f2fff0b4e5ce682 (commit)
via 9ab8741a48294e19d514721c710c81bba46db7f2 (commit)
via 9ca1957fcb3c6904d9e5fb0a0e78d4b98f76b1b6 (commit)
via e242fd1249ae85a97f08f95d5c61f4cbe3b906e0 (commit)
via 7e96e219a4fc703282ea5b0cc8845a96c01ca030 (commit)
via 2b0c8b019996b23fb4717687f5e7ac8c5620c089 (commit)
via c369f8f0face23a06e0cf114bf70a024ba9b4959 (commit)
via 947210e5690c61b395ccd887bc58bcb45ccd357b (commit)
via 50a82723c446c556287dcabe22183bc5cedab566 (commit)
via cf63b0162b6cbf74bdb056609d1ad777c6d48954 (commit)
via 3d6c62048d8408fbfb6c66830e0c650e36259637 (commit)
via 462cac5884ed4c38e6180b2e2769aaa5225e695b (commit)
via 8c402d4151a18c735d1d23ddbe56957d65322064 (commit)
via c93c0e7f3f21f809d9390e2e7096f7e2cb8334e2 (commit)
via 56be6ea89cdf94078d5dff3734b8c1970dbf52fa (commit)
via 3ae61bb67d62eb53d110835b8b7c3a289e6bce45 (commit)
via 82b535931242b017a0929460e38c430178b0d72e (commit)
via da9b5f7be7cb44e832972252dbaf53d242b0e099 (commit)
via 6f2791d5de45a9490ba6844617feac038c8da8bd (commit)
via eedc3f4f0a02c9774277bd1a34aab6ebdc32f797 (commit)
via 26003a205e207db7985c32ec1964a04652b68413 (commit)
via d272eb370a4c086a1d0f86a7a94e89328ec8d97e (commit)
via 230d2906b9d1d009b22fd526181bf43e1084ed59 (commit)
via a70b814420059e1f2de2130d532ddd7b2b2500fc (commit)
via 3d6e9d2336c9ffcedb10f89631981a23dd518e8e (commit)
via c5c10118216867e133c132b4f46e19fb6aa9258a (commit)
via d970ee2bae1925bb9265d37adef0b92e2678d666 (commit)
via 5f2a6b85105b51f2963aaeb1212c724cab678050 (commit)
via 5a826ffff854ddcea96dbe9d9ef1592bb3a4ed12 (commit)
via 48ab418ec75e8b1cbea3e1561de6ec634dad2bf3 (commit)
via e392bad3ec99458369723e14ded8c23b5b13073c (commit)
via dffaa15c481cea4081732d616334e24abc557fd1 (commit)
via 07ffcfecac22d21774a110db0f65f0387c8f1102 (commit)
via 5f60cccf9db8b5f4aa4303f8e4ccc246f723fbe5 (commit)
via 4de283e4b5f21207fe12f99913d1f28d4f07843c (commit)
via 5b9c07b2782fb9368f06c2561b7329c384ec5da0 (commit)
via d55e5aa6b29906346c51ad00e6a9b112590aa294 (commit)
via d128f9b8d41a1e0c38b52d0e752e65f6e5943927 (commit)
via 4ef40579f9d4d89e59f6cc0923130e48e4309bbf (commit)
via d6aab7a11b8bd85de43f9fe6b1cea95b504e73ad (commit)
via 0570503dd31bc20294e228339fcbdd39b19608cc (commit)
via 227a9e65b91958cb414ade82c614717579d8849e (commit)
via 699bd4cfa8895d0767d491a3e44ac09d3f4d1801 (commit)
via dac43e327d002107f6bc9481749de039f410df73 (commit)
via 2a61252965c91540133bece7deb92eb22e3cf929 (commit)
via 43476f0b1b628352ad8e3064e50128cb3461d3d0 (commit)
via 5776fca307b8af3d852525b77e9b917a9aa97370 (commit)
via 8621b685bfdcb8773b8177fb2b89e45499902868 (commit)
via 28aaf3fdf9562c018dcf6ab4d0a4c644fff8d696 (commit)
via 1e58a4a4db997cf09315c22f3da725d1da7f9ee7 (commit)
via 37eedb39824dc26c82a92b5515a352d7de0c9b5b (commit)
via 73923d7eedc7ab52144308ef7e9c12cbe4341bca (commit)
via fa9f5be6830e9245ee1ad1eab9725cc039d45d07 (commit)
via 1201a264c8fd227737342345ab54e938295188b6 (commit)
via e3980ce2a9bf19ade17fdd9817765f2d1e17a0d8 (commit)
via bec858ea4d0cef2d8be47b96669b803f73902014 (commit)
via 66e85460855837af3a3b0224f7846c436cc7d1e0 (commit)
via c2b1c2754526acff8aae2fe8f5a56c2dd11d0b7f (commit)
via 82477cd28aac011c884d75a429d47a0523cbac26 (commit)
via aae9718e4d4e8d01dcee22684e82b000203d3e52 (commit)
via e9f8e3f109d57c119eaaa1e56378926f7f20863f (commit)
via e691a46f7db8db7c126f06551e3cec47f875f512 (commit)
via 403b0b61f6d4358aee8493cb1d11814e368942c9 (commit)
via 1c6aafe894645ca1da5c0dd0661bca19caf37ad0 (commit)
via 092da96ac4fc1bfa4c794320f538edb4e8d4fcfd (commit)
via 4b24dd1acad5c133d12aab6a575c83269336e47f (commit)
via 49149495dabc2ef54b7cd38a9346a8696b205da7 (commit)
via 87f98bacb76001157d5a26555a41738ac3841a56 (commit)
via 4c7c79dd9858438a25fcc37ba419baa00d31978d (commit)
via d7df654955c2423190b05b2507caf624ce3d65bc (commit)
via 8bdc16587e26100282094c8eaa8e83180ba57afd (commit)
via c29705b71a8ec966478c0dc4712194a95291c6de (commit)
via 05caa1d236440cd8967f8804be8dbcf27fb490b6 (commit)
via 9d1447e09d4aa673826039321163b5a684e8e043 (commit)
from 90309e60ba3d5ddd633266743104b390270be73d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit 625ae1b6b5d4a9f805d97640ef99c897279324f7
Merge: 90309e6 680e1be
Author: Stan Cox <scox@redhat.com>
Date: Thu Jun 20 16:15:47 2019 -0400
Merge branch 'master' into scox/strace
commit 680e1beed31da40080f61a35f6ccd626de818056
Author: Tom Tromey <tromey@adacore.com>
Date: Thu May 30 14:13:10 2019 -0600
Fix crash when setting breakpoint condition
gdb could crash when setting a breakpoint condition on a breakpoint
when using the Ada language. The problem occurred because the
ada_evaluate_subexp would try to evaluate the array to compute its
attributes, but evaluating can't really be done at this time.
This patch fixes the problem by arranging not to try to evaluate in
EVAL_AVOID_SIDE_EFFECTS mode when computing an attribute.
Tested on x86-64 Fedora 29. Because this is Ada-specific, and because
Joel approved it internally, I am checking it in.
gdb/ChangeLog
2019-06-19 Tom Tromey <tromey@adacore.com>
* ada-lang.c (ada_evaluate_subexp) <case OP_ATR_FIRST>: Handle
EVAL_AVOID_SIDE_EFFECTS specially.
gdb/testsuite/ChangeLog
2019-06-19 Tom Tromey <tromey@adacore.com>
* gdb.ada/length_cond.exp: New file.
* gdb.ada/length_cond/length_cond.adb: New file.
* gdb.ada/length_cond/pck.adb: New file.
* gdb.ada/length_cond/pck.ads: New file.
commit dcf3792354ddcd6e10e59e32060e34b27246e7da
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Jun 18 12:18:24 2019 -0600
Instantiate a single source highlighter
It occurred to me that there's no reason to make a new source
highlighter each time gdb needs to highlight some source code.
Instead, a single one can be created and then simply reused each time.
This patch implements this idea. Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-06-19 Tom Tromey <tromey@adacore.com>
* source-cache.c (highlighter): New global.
(source_cache::get_source_lines): Create a highlighter on demand.
commit 6f5601c4d0ad43254244f1b624900cdd5afd02ba
Author: Alan Modra <amodra@gmail.com>
Date: Wed Jun 19 13:55:59 2019 +0930
PR24697, R_PPC_EMB_SDA21 relocation
PR 24697
* elf32-ppc.c (ppc_elf_relocate_section): Don't read insn for
R_PPC_EMB_RELSDA. Mask low bit of R_PPC_EMB_SDA21 r_offset.
commit 4a4e7361d67cd9262be1413300795eede564f4cb
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jun 18 10:34:14 2019 +0930
PowerPC64 notoc calls
Calls from functions that don't have a valid toc pointer in r2 (these
calls are marked with _NOTOC relocs) to functions that require r2
valid must go via the callee global entry point. This patch corrects
the condition the linker was using to detect functions that require r2
to be valid. Values of both zero and one in st_other local entry bits
mean a function doesn't care about r2.
* elf64-ppc.c (ppc64_elf_inline_plt): Correct st_other test for
functions that require r2 valid to use local entry.
(ppc64_elf_size_stubs, ppc64_elf_relocate_section): Likewise.
commit 312413cb844dcce24b0c30254f5789b77a54b0fc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jun 19 00:00:31 2019 +0000
Automatic date update in version.in
commit 494986d596a977e1d24f9f068696f5b3e993ebf7
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Jun 18 13:08:36 2019 +0100
gdb: Remove use of deprecated_interactive_hook
The deprecated_interactive_hook is not used within GDB. It is used in
gdbtk, however this patch removes that use:
https://sourceware.org/ml/insight/2019-q2/msg00001.html
So I think there is no longer a reason to keep this hook around.
This patch removes it. There should be no user visible changes after
this commit.
gdb/ChangeLog:
* defs.h (deprecated_interactive_hook): Delete declaration.
* interps.c (clear_interpreter_hooks): Remove use of
deprecated_interactive_hook.
* top.c (deprecated_interactive_hook): Delete definition.
* utils.c (maybe_quit): Remove use of deprecated_interactive_hook.
commit 0ed4690a67e2c4703d9088312de652d0d5f1aaaf
Author: Tom de Vries <tdevries@suse.de>
Date: Tue Jun 18 19:03:38 2019 +0200
[gdb/testsuite] Use -fuse-ld=gold in fission.exp
The target board fission.exp requires the gold linker (because it supports
--gdb-index).
When running the target board on a system where the default linker is not
gold, most tests will fail to compile.
Fix this by adding "-fuse-ld=gold" ( supported in gcc since version 4.8).
gdb/testsuite/ChangeLog:
2019-06-18 Tom de Vries <tdevries@suse.de>
* boards/fission.exp (debug_flags): Add "-fuse-ld=gold".
commit 3360b6e7963e3c579e50078e78d226ea63e2960f
Author: Tom de Vries <tdevries@suse.de>
Date: Tue Jun 18 18:59:51 2019 +0200
[gdb] Fix abstract_to_concrete type
The test-case varval.exp fails here:
...
FAIL: gdb.dwarf2/varval.exp: print varval2
...
with boards readnow/cc-with-gdb-index/cc-with-debug-names, as well as if gdb
is build with -fsanitize=address -lasan.
The problem is that the abstract_to_concrete map in which we track the
association of abstract to concrete DIEs (for DW_OP_GNU_variable_value
support) has type std::unordered_map<die_info_ptr, std::vector<die_info_ptr>>,
and the die_info_ptrs that we register in the map may be invalid by the time
that we start to lookup DIEs in the map.
Fix this by using the sect_offset instead to identify the DIEs in the map.
Build and tested on x86_64-linux.
gdb/ChangeLog:
2019-06-18 Tom de Vries <tdevries@suse.de>
PR gdb/24515
* dwarf2read.h (abstract_to_concrete): Change type from
std::unordered_map<die_info_ptr, std::vector<die_info_ptr>> to
std::unordered_map<sect_offset, std::vector<sect_offset>>.
* dwarf2read.c (read_variable): Update.
(dwarf2_fetch_die_loc_sect_off): Update.
commit 4ed4690fc21b1d052092299f820f48694f3ef3eb
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Tue Jun 18 12:40:13 2019 -0400
doc: fix false claim about second argument to gdb
Section "Invoking GDB" of the manual states that if you try to launch
gdb with:
gdb program 1234
it will try to attach to the process with id 1234, unless there is a
file named 1234 in the current working directory, in which case it will
try to open that file as a core. In fact, when the second argument
starts with a digit, GDB tries to attach to process 1234 first, before
trying to open file 1234 as a core. So that last remark is not true and
therefore this patch removes it.
The same remark is present in the man page, so it is removed there too.
Section "Choosing Files" correctly states:
If the second argument begins with a decimal digit, GDB will first
attempt to attach to it as a process, and if that fails, attempt to
open it as a corefile.
so it is unchanged.
Finally, the man page has an additional detail compared to section
"Invoking GDB", regarding the use of the -p switch, so I added the same
detail to the "Invoking GDB" section.
gdb/doc/ChangeLog:
* gdb.texinfo (Invoking GDB): Remove sentence about how GDB
deals with a file that has the same name as the specified pid to
attach to. Add example using -p option.
(gdb man): Remove same sentence as in previous item.
commit d20ed5fd574ce1b72543c2963fa53946eb2225de
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Jun 18 09:27:45 2019 -0600
Add comment to list0.h
Pedro suggested adding a comment to list0.h to explain the control
character.
Tested on x86-64 Fedora 29.
gdb/testsuite/ChangeLog
2019-06-18 Tom Tromey <tromey@adacore.com>
* gdb.base/list0.h: Add comment explaining control character.
commit 86e04673b48d5f8121f28b7958cc5a0d9dd01132
Author: Tom de Vries <tdevries@suse.de>
Date: Tue Jun 18 08:52:16 2019 +0200
[gdb/testsuite] Break up long debug_flags line in fission.exp
gdb/testsuite/ChangeLog:
2019-06-18 Tom de Vries <tdevries@suse.de>
* boards/fission.exp: Break up long debug_flags line.
commit 5bb4fed3d48e4637015a89e40672c938c7f61e72
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jun 18 00:00:13 2019 +0000
Automatic date update in version.in
commit 310b3441a07cb07713a8065a39032504e098047b
Author: Tom de Vries <tdevries@suse.de>
Date: Mon Jun 17 22:25:06 2019 +0200
[gdb] Fix heap-buffer-overflow in child_path
When compiling gdb with '-lasan -fsanitizer=address' and running tests with:
- export ASAN_OPTIONS="detect_leaks=0:alloc_dealloc_mismatch=0", and
- a target board using local-board.exp, which sets sysroot to ""
we run into a heap-buffer-overflow in child_path for f.i. gdb.arch/amd64-byte:
...
==3997==ERROR: AddressSanitizer: heap-buffer-overflow on address \
0x60200002abcf at pc 0x5602acdf6872 bp 0x7ffe5237a090 sp 0x7ffe5237a080
READ of size 1 at 0x60200002abcf thread T0
#0 0x5602acdf6871 in child_path(char const*, char const*) \
gdb/common/pathstuff.c:161
#1 0x5602adb06587 in find_separate_debug_file gdb/symfile.c:1483
#2 0x5602adb06f2f in find_separate_debug_file_by_debuglink[abi:cxx11](...) \
gdb/symfile.c:1563
#3 0x5602ad13b743 in elf_symfile_read gdb/elfread.c:1293
#4 0x5602adb01cfa in read_symbols gdb/symfile.c:798
#5 0x5602adb03769 in syms_from_objfile_1 gdb/symfile.c:1000
#6 0x5602adb039d0 in syms_from_objfile gdb/symfile.c:1017
#7 0x5602adb04551 in symbol_file_add_with_addrs gdb/symfile.c:1124
#8 0x5602adb04ebf in symbol_file_add_from_bfd(...) gdb/symfile.c:1204
#9 0x5602ada5a78d in solib_read_symbols(...) gdb/solib.c:695
#10 0x5602ada5bdae in solib_add(char const*, int, int) gdb/solib.c:1004
#11 0x5602ada49bcd in enable_break gdb/solib-svr4.c:2394
#12 0x5602ada4dae9 in svr4_solib_create_inferior_hook gdb/solib-svr4.c:3028
#13 0x5602ada5d4f1 in solib_create_inferior_hook(int) gdb/solib.c:1215
#14 0x5602ad347f66 in post_create_inferior(target_ops*, int) \
gdb/infcmd.c:467
#15 0x5602ad348b3c in run_command_1 gdb/infcmd.c:663
#16 0x5602ad348e55 in run_command gdb/infcmd.c:686
#17 0x5602acd7d32b in do_const_cfunc gdb/cli/cli-decode.c:106
#18 0x5602acd84bfe in cmd_func(cmd_list_element*, char const*, int) \
gdb/cli/cli-decode.c:1892
#19 0x5602adc62a90 in execute_command(char const*, int) gdb/top.c:630
#20 0x5602ad5053e6 in catch_command_errors gdb/main.c:372
#21 0x5602ad507eb1 in captured_main_1 gdb/main.c:1138
#22 0x5602ad5081ec in captured_main gdb/main.c:1163
#23 0x5602ad508281 in gdb_main(captured_main_args*) gdb/main.c:1188
#24 0x5602ac9ddc3a in main gdb/gdb.c:32
#25 0x7f582b56eb96 in __libc_start_main \
(/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
#26 0x5602ac9dda09 in _start \
(/home/smarchi/build/binutils-gdb/gdb/gdb+0x19a2a09)
0x60200002abcf is located 1 bytes to the left of 1-byte region \
[0x60200002abd0,0x60200002abd1)
allocated by thread T0 here:
#0 0x7f582e0e4b50 in __interceptor_malloc \
(/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x5602acdd3656 in xmalloc gdb/common/common-utils.c:44
#2 0x5602aefe17d1 in xstrdup libiberty/xstrdup.c:34
#3 0x5602acdf61f6 in gdb_realpath(char const*) gdb/common/pathstuff.c:80
#4 0x5602adb06278 in find_separate_debug_file gdb/symfile.c:1444
#5 0x5602adb06f2f in find_separate_debug_file_by_debuglink[abi:cxx11](...) \
gdb/symfile.c:1563
#6 0x5602ad13b743 in elf_symfile_read gdb/elfread.c:1293
#7 0x5602adb01cfa in read_symbols gdb/symfile.c:798
#8 0x5602adb03769 in syms_from_objfile_1 gdb/symfile.c:1000
#9 0x5602adb039d0 in syms_from_objfile gdb/symfile.c:1017
#10 0x5602adb04551 in symbol_file_add_with_addrs gdb/symfile.c:1124
#11 0x5602adb04ebf in symbol_file_add_from_bfd(...) gdb/solib.c:695
#13 0x5602ada5bdae in solib_add(char const*, int, int) gdb/solib.c:1004
#14 0x5602ada49bcd in enable_break gdb/solib-svr4.c:2394
#15 0x5602ada4dae9 in svr4_solib_create_inferior_hook gdb/solib-svr4.c:3028
#16 0x5602ada5d4f1 in solib_create_inferior_hook(int) gdb/solib.c:1215
#17 0x5602ad347f66 in post_create_inferior(target_ops*, int) \
gdb/infcmd.c:467
#18 0x5602ad348b3c in run_command_1 gdb/infcmd.c:663
#19 0x5602ad348e55 in run_command gdb/infcmd.c:686
#20 0x5602acd7d32b in do_const_cfunc gdb/cli/cli-decode.c:106
#21 0x5602acd84bfe in cmd_func(cmd_list_element*, char const*, int) \
gdb/cli/cli-decode.c:1892
#22 0x5602adc62a90 in execute_command(char const*, int) gdb/top.c:630
#23 0x5602ad5053e6 in catch_command_errors gdb/main.c:372
#24 0x5602ad507eb1 in captured_main_1 gdb/main.c:1138
#25 0x5602ad5081ec in captured_main gdb/main.c:1163
#26 0x5602ad508281 in gdb_main(captured_main_args*) gdb/main.c:1188
#27 0x5602ac9ddc3a in main gdb/gdb.c:32
#28 0x7f582b56eb96 in __libc_start_main \
(/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
SUMMARY: AddressSanitizer: heap-buffer-overflow gdb/common/pathstuff.c:161 \
in child_path(char const*, char const*)
Shadow bytes around the buggy address:
0x0c047fffd520: fa fa fd fd fa fa fd fd fa fa fd fa fa fa fd fa
0x0c047fffd530: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa
0x0c047fffd540: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa
0x0c047fffd550: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fa
0x0c047fffd560: fa fa fd fa fa fa fd fa fa fa fd fa fa fa 00 00
=>0x0c047fffd570: fa fa 07 fa fa fa 00 fa fa[fa]01 fa fa fa fa fa
0x0c047fffd580: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c047fffd590: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c047fffd5a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c047fffd5b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c047fffd5c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
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
==3997==ABORTING
...
The direct cause is that child_path gets called with parent == "", so this
test:
...
if (IS_DIR_SEPARATOR (parent[parent_len - 1]))
...
accesses parent[-1].
[ There is an open discussion (1) about whether an empty sysroot should indeed
be represented internally as "". But this patch focuses on fixing the
heap-buffer-overflow without any redesign. ]
Fix this by guarding the test with 'parent_len > 0'.
Note that the fix makes child_path behave the same for:
- parent == "/" && child == "/foo" (returns "foo")
- parent == "" and child == "/foo" (returns "foo").
Build and reg-tested on x86_64-linux.
(1) https://sourceware.org/ml/gdb-patches/2019-05/msg00193.html
gdb/ChangeLog:
2019-06-17 Tom de Vries <tdevries@suse.de>
PR gdb/24617
* common/pathstuff.c (child_path): Make sure parent_len > 0 before
accessing parent[parent_len - 1].
commit ba9777bef059df0926ad5dd6813d5785cb652ccf
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date: Mon Jun 17 10:49:15 2019 -0700
PR gdb/24364: Don't call dtrace_process_dof with NULL dof.
commit 6e1c90b7f5d60aedc547dd84873d1c9291eefcdc
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Jun 17 10:20:04 2019 -0700
i386: Check vector length for vshufXXX/vinsertXXX/vextractXXX
Since not all vector lengths are supported by vshufXXX, vinsertXXX and
vextractXXX, decode them only with supported vector lengths.
gas/
PR binutils/24691
* testsuite/gas/i386/disassem.s: Add test for vshuff32x4 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/24691
* i386-dis-evex.h (evex_table): Update EVEX_W_0F3A23_P_2,
EVEX_W_0F3A38_P_2, EVEX_W_0F3A39_P_2, EVEX_W_0F3A3A_P_2,
EVEX_W_0F3A3B_P_2 and EVEX_W_0F3A43_P_2.
(evex_len_table): Add EVEX_LEN_0F3A23_P_2_W_0,
EVEX_LEN_0F3A23_P_2_W_1, EVEX_LEN_0F3A38_P_2_W_0,
EVEX_LEN_0F3A38_P_2_W_1, EVEX_LEN_0F3A39_P_2_W_0,
EVEX_LEN_0F3A39_P_2_W_1, EVEX_LEN_0F3A3A_P_2_W_0,
EVEX_LEN_0F3A3A_P_2_W_1, EVEX_LEN_0F3A3B_P_2_W_0,
EVEX_LEN_0F3A3B_P_2_W_1, EVEX_LEN_0F3A43_P_2_W_0 and
EVEX_LEN_0F3A43_P_2_W_1.
* i386-dis.c (EVEX_LEN_0F3A23_P_2_W_0): New enum.
(EVEX_LEN_0F3A23_P_2_W_1): Likewise.
(EVEX_LEN_0F3A38_P_2_W_0): Likewise.
(EVEX_LEN_0F3A38_P_2_W_1): Likewise.
(EVEX_LEN_0F3A39_P_2_W_0): Likewise.
(EVEX_LEN_0F3A39_P_2_W_1): Likewise.
(EVEX_LEN_0F3A3A_P_2_W_0): Likewise.
(EVEX_LEN_0F3A3A_P_2_W_1): Likewise.
(EVEX_LEN_0F3A3B_P_2_W_0): Likewise.
(EVEX_LEN_0F3A3B_P_2_W_1): Likewise.
(EVEX_LEN_0F3A43_P_2_W_0): Likewise.
(EVEX_LEN_0F3A43_P_2_W_1): Likewise.
commit 39c05d9435893ed0b51c4b5c8e95fe977b983921
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Mon Jun 10 16:40:54 2019 +0100
aarch64: remove unnecessary loc_hash_table traversal
The loc_hash_table should only contain local ifunc symbols. The current
code already aborts if there is anything else and for defined ifunc
symbols elfNN_aarch64_allocate_dynrelocs is a no-op.
bfd/ChangeLog:
* elfnn-aarch64.c (elfNN_aarch64_allocate_local_dynrelocs): Remove.
(elfNN_aarch64_size_dynamic_sections): Remove loc_hash_table traversal
with elfNN_aarch64_allocate_local_dynrelocs.
commit 08bb0061ba5c8826c1ec4d273d539cb32b5c217e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jun 17 00:00:13 2019 +0000
Automatic date update in version.in
commit 2b9f6e89d67b342593734d14f328625848fa5156
Author: Tom de Vries <tdevries@suse.de>
Date: Sun Jun 16 23:57:17 2019 +0200
[gdb/contrib] Fix gdb/contrib/gdb-add-index.sh for dwz-m-ed execs
Atm gdb-add-index.exp fails with target board cc-with-dwz-m.
Fix this by updating gdb/contrib/gdb-add-index.sh to handle a dwz-m-ed
executable.
Tested on x86_64-linux.
gdb/ChangeLog:
2019-06-16 Tom de Vries <tdevries@suse.de>
PR gdb/24445
* contrib/gdb-add-index.sh: Update to handle dwz-m-ed executable.
commit 431b3eadc4f842231d404e7e995ae5c1dbd28414
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jun 16 14:10:25 2019 -0600
Don't cast a tui_win_info directly to tui_gen_win_info
I found a few spots that directly cast a tui_win_info to a
tui_gen_win_info. However, I think it's a bit better here to take the
address of the "generic" member. As far as I know, nothing relies on
being able to downcast here, so this gives us the freedom to rearrange
the structure.
gdb/ChangeLog
2019-06-16 Tom Tromey <tom@tromey.com>
* tui/tui-wingeneral.c (tui_unhighlight_win, tui_highlight_win)
(make_all_visible): Use address of member.
commit d04b44a16cdfde95de487bcedd541c6e71d82676
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jun 16 13:48:21 2019 -0600
Remove more unnecessary casts of NULL
I found a few more spots that unnecessarily cast NULL to a pointer
type. My earlier search included a "*" in the cast, but these use a
typedef to a pointer type instead. This patch removes these casts.
gdb/ChangeLog
2019-06-16 Tom Tromey <tom@tromey.com>
* tui/tui-data.c (tui_clear_win_detail, init_win_info)
(tui_free_window, free_content, free_content_elements): Remove
unnecessary cast.
* tui/tui-windata.c (tui_display_all_data): Remove unnecessary
cast.
* tui/tui-regs.c (tui_show_register_group)
(tui_display_registers_from, tui_display_reg_element_at_line):
Remove unnecessary cast.
commit bf5142e7fef4e2eca5d98cf805dbadc737118c1e
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Jun 16 17:34:22 2019 +0100
gdb: Remove unused signal mask
In the following commit:
commit 7feb7d068ae65557ede03c36468ebac61b0939ca
Date: Mon May 11 12:08:03 2009 +0000
The last useful uses of normal_mask in linux-nat.c were removed, since
then this variable has sat around being initialised, but never used.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* linux-nat.c (normal_mask): Delete.
(_initialize_linux_nat): Don't initialise normal_mask.
commit c4973306879b6079bdfc997474a2cbbd89f49bd2
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Sun Jun 16 10:13:56 2019 -0400
Write index for dwz -m file
PR 24445 ("dwz multifile index not written to index cache") exposed the
fact that we are not doing things right when we generate an index for an
object file that has is linked to a dwz file. The same happens whether
the index is generated with the intent of populating the index cache or
using the save gdb-index command.
The problem can be observed when running these tests with the
cc-with-dwz-m board:
FAIL: gdb.base/index-cache.exp: test_cache_enabled_hit: check index-cache stats
FAIL: gdb.dwarf2/gdb-index.exp: index used
FAIL: gdb.dwarf2/gdb-index.exp: index used after symbol reloading
When generating the index for such file and inspecting the CU list of the
resulting index (with readelf --debug-dump=gdb_index), we can see something
like:
CU table:
[ 0] 0x0 - 0xb9
[ 1] 0x0 - 0x44
This is supposed to be a sorted list of the ranges of all CUs in the
file this index represents, so already having some overlap is a red
flag. It turns out that we save the ranges of CUs coming from both the
main file and the dwz file in the same index.
After digging a little bit, it became quite obvious that the index in
the main file should only list the CUs present in the main file, and a
separate index should be generated for the dwz file, listing the CUs
present in that file.
First, that's what happens if you run dwz on a file that already has a
GDB index embedded. Second, dwarf2read.c has code to read an index from
a dwz file. The index in the dwz file is actually required to be
present, if the main file has an index.
So this patch changes write_psymtabs_to_index to generate an index for
the dwz file, if present. That index only contains a CU list, just like
what the dwz tool does when processing a file that already contains an
index.
Some notes about the implementation:
- The file management (creating a temp file, make sure it's
close/removed on error - in the right order) is a bit heavy in
write_psymtabs_to_index, and I needed to add a third file. I factored
this pattern in a separate class, index_wip_file.
- It became a bit tedious to keep the call to assert_file_size in
write_psymtabs_to_index, write_gdbindex would have had to return two
sizes. Instead, I moved the calls to assert_file_size where the file
is written. The downside is that we lose the filename at this point,
but it was only used for the very improbable case of ftell failing, so
I think it's not a problem.
- The actual writing of the index file is factored out to
write_gdbindex_1, so it can be re-used for both index files.
- While the "save gdb-index" command will now write two .gdb-index
files, this patch does not update the gdb-add-index.sh script, this
will come in a later patch.
gdb/ChangeLog:
YYYY-MM-DD Simon Marchi <simon.marchi@efficios.com>
PR gdb/24445
* dwarf-index-write.h (write_psymtabs_to_index): Add
dwz_basename parameter.
* dwarf-index-write.c (write_gdbindex): Move file writing to
write_gdbindex_1. Change return type void.
(assert_file_size): Move up, remove filename parameter.
(write_gdbindex_1): New function.
(write_debug_names): Change return type to void, call
assert_file_size.
(struct index_wip_file): New struct.
(write_psymtabs_to_index): Add dwz_basename parameter. Move
file logic to index_wip_file. Write index for dwz file if
needed.
(save_gdb_index_command): Pass basename of dwz file, if present.
* dwarf-index-cache.c (index_cache::store): Obtain and pass
build-id of dwz file, if present.
* dwarf2read.c (struct dwz_file): Move to dwarf2read.h.
(dwarf2_get_dwz_file): Likewise.
* dwarf2read.h (struct dwz_file): Move from dwarf2read.c.
(dwarf2_get_dwz_file): Likewise.
gdb/testsuite/ChangeLog:
YYYY-MM-DD Tom de Vries <tdevries@suse.de>
PR gdb/24445
* gdb.dwarf2/gdb-index.exp (add_gdb_index): Update dwz file with
generated index.
commit 395f9c911460b3e868c0b700e831c7f92746fad7
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jun 16 10:00:52 2019 -0600
Replace uses of concat with xstrdup
I noticed a couple of spots using concat that could use xstrdup
instead. This patch fixes these.
gdb/ChangeLog
2019-06-16 Tom Tromey <tom@tromey.com>
* coffread.c (process_coff_symbol): Use xstrdup.
* value.c (create_internalvar): Use xstrdup.
commit cafb34387d063fa47bc2cdb33fc3fe2f13e6cec0
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jun 16 09:56:35 2019 -0600
Remove unnecessary casts of NULL
I noticed some unnecessary casts of NULL. This removes all the
unnecessary ones, leaving only ones where we must ensure that NULL has
pointer type for passing through varargs.
I removed a couple of useless casts of 0 that I noticed while writing
this.
Tested by rebuilding.
gdb/ChangeLog
2019-06-16 Tom Tromey <tom@tromey.com>
* valops.c (value_cast, value_slice): Remove unnecessary cast.
* breakpoint.c (stopin_command, stopat_command)
(until_break_command, decode_location_default): Remove unnecessary
cast.
* utils.c (subset_compare): Remove unnecessary cast.
* ada-lang.c (ada_update_initial_language): Remove unnecessary
cast.
* linespec.c (decode_line_with_last_displayed): Remove unnecessary
cast.
* infcmd.c (path_command): Remove unnecessary cast.
* coffread.c (decode_type): Remove unnecessary cast.
* xcoffread.c (read_xcoff_symtab): Remove unnecessary cast.
* mipsread.c (mipscoff_symfile_read): Remove unnecessary cast.
* tui/tui-stack.c (tui_show_locator_content)
(tui_show_frame_info): Remove unnecessary cast.
* tui/tui-win.c (tui_scroll_forward_command)
(tui_scroll_backward_command, tui_set_focus, tui_set_win_height)
(parse_scrolling_args): Remove unnecessary cast.
* tui/tui-data.c (init_win_info, tui_del_window)
(tui_free_window, tui_del_data_windows, tui_free_data_content)
(free_content_elements): Remove unnecessary cast.
* tui/tui-windata.c (tui_first_data_item_displayed): Remove
unnecessary cast.
* tui/tui-source.c (tui_set_source_content)
(tui_vertical_source_scroll): Remove unnecessary cast.
* tui/tui-layout.c (tui_default_win_height): Remove unnecessary
cast.
* tui/tui-io.c (tui_initialize_io): Remove unnecessary cast.
* tui/tui-regs.c (tui_display_registers_from)
(tui_display_register): Remove unnecessary cast.
* tui/tui-wingeneral.c (tui_refresh_win, tui_delete_win)
(tui_unhighlight_win, tui_highlight_win, tui_make_window)
(make_visible): Remove unnecessary cast.
* tui/tui-winsource.c (tui_erase_source_content)
(tui_update_breakpoint_info, tui_set_exec_info_content): Remove
unnecessary cast.
* ax-gdb.c (agent_command_1): Remove unnecessary cast.
* cli/cli-setshow.c (cmd_show_list): Remove unnecessary cast.
* stabsread.c (read_type, read_array_type, read_range_type):
Remove unnecessary cast.
* mdebugread.c (mdebug_build_psymtabs): Remove unnecessary cast.
(parse_symbol, parse_type, upgrade_type, parse_external)
(parse_partial_symbols, psymtab_to_symtab_1, cross_ref): Remove
unnecessary cast.
* gdb_bfd.c (gdb_bfd_map_section): Remove unnecessary cast.
commit 93cb9841d68263174a600dc70af742a8e2eabfc6
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Jun 16 16:17:59 2019 +0100
gdb/testsuite: Improve detection of bug gdb/24541
In bug gdb/24686 a testsuite failure was reported, this failure was
actually just another instance of bug gdb/24541, however, due to the
non-deterministic nature of bug gdb/24541 the testsuite pattern that
was intended to catch this bug failed.
This commit adds a second pattern to help detect gdb/24541, which
should change the FAIL reported in gdb/24686 into a KFAIL.
gdb/testsuite/ChangeLog:
PR gdb/24686
* gdb.mi/mi-catch-cpp-exceptions.exp: Add an extra pattern to
improve detection of bug gdb/24541.
commit 730ead81dfffc181f79a4b79ba8abf6850e63596
Author: Tom Tromey <tom@tromey.com>
Date: Sat Jun 15 16:06:27 2019 -0600
Remove some NULL checks from the TUI
I found a few spots in the TUI that were NULL-checking the result of
XNEW. This cannot return NULL, so this patch removes the checks.
gdb/ChangeLog
2019-06-16 Tom Tromey <tom@tromey.com>
* tui/tui-data.c (tui_alloc_generic_win_info)
(tui_alloc_win_info, tui_add_content_elements): Remove NULL
checks.
commit e79be6e5f33d52b2bbb6aafdc61659a4bbb55849
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Sun Jun 16 10:00:39 2019 -0400
Fix some whitespace issues in gdb ChangeLogs
commit 399aaebd1a5e9e3971758396bd0c5c3ec5ae2386
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Sun Jun 16 09:07:16 2019 -0400
Make gdb.base/index-cache.exp work with readnow board (PR 24669)
The gdb.base/index-cache.exp test fails with the readnow board:
$ make check TESTS="gdb.base/index-cache.exp" RUNTESTFLAGS="--target_board=readnow"
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: expected file is there
FAIL: gdb.base/index-cache.exp: test_cache_enabled_miss: check index-cache stats
FAIL: gdb.base/index-cache.exp: test_cache_enabled_hit: check index-cache stats
The problem is similar to what was fixed in
5a56d6a65f84 ("[gdb/testsuite] Fix index-cache.exp with cc-with-{gdb-index,debug-names}")
In that commit, gdb.base/index-cache.exp was modified to account for the
fact that the index cache is not used when the binary already has an
embedded index.
The same situation happens when GDB is started with the -readnow flag:
it bypasses indices and partial symbols. So this patch updates the test
to also expect the index cache not to be used if -readnow is present in
$GDBFLAGS,
gdb/testsuite/ChangeLog:
PR gdb/24669
* gdb.base/index-cache.exp (uses_readnow,
expecting_index_cache_use): Define global variable.
(test_cache_enabled_miss, test_cache_enabled_hit): Use
expecting_index_cache_use.
commit 6ac6a19371b72f848626666af5301612b76e800e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jun 16 00:01:04 2019 +0000
Automatic date update in version.in
commit 584a927c5ad0d18e9995a0049066b6c503bb7482
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Mar 1 11:12:33 2019 +0000
gdb/fortran: Show the type for non allocated / associated types
Show the type of not-allocated and/or not-associated types. For array
types and pointer to array types we are going to print the number of
ranks.
Consider this Fortran program:
program test
integer, allocatable :: vla (:)
logical l
allocate (vla(5:12))
l = allocated (vla)
end program test
And this GDB session with current HEAD:
(gdb) start
...
2 integer, allocatable :: vla (:)
(gdb) n
4 allocate (vla(5:12))
(gdb) ptype vla
type = <not allocated>
(gdb) p vla
$1 = <not allocated>
(gdb)
And the same session with this patch applied:
(gdb) start
...
2 integer, allocatable :: vla (:)
(gdb) n
4 allocate (vla(5:12))
(gdb) ptype vla
type = integer(kind=4), allocatable (:)
(gdb) p vla
$1 = <not allocated>
(gdb)
The type of 'vla' is now printed correctly, while the value itself
still shows as '<not allocated>'. How GDB prints the type of
associated pointers has changed in a similar way.
gdb/ChangeLog:
* f-typeprint.c (f_print_type): Don't return early for not
associated or not allocated types.
(f_type_print_varspec_suffix): Add print_rank parameter and print
ranks of array types in case they dangling.
(f_type_print_base): Add print_rank parameter.
gdb/testsuite/ChangeLog:
* gdb.fortran/pointers.f90: New file.
* gdb.fortran/print_type.exp: New file.
* gdb.fortran/vla-ptype.exp: Adapt expected results.
* gdb.fortran/vla-type.exp: Likewise.
* gdb.fortran/vla-value.exp: Likewise.
* gdb.mi/mi-vla-fortran.exp: Likewise.
commit 30056ea04ae3ecd828e2a06e12e6f174ae6659c9
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed May 8 19:01:36 2019 +0100
gdb/mi: New commands to catch C++ exceptions
Adds some MI commands to catch C++ exceptions. The new commands are
-catch-throw, -catch-rethrow, and -catch-catch, these all correspond
to the CLI commands 'catch throw', 'catch rethrow', and 'catch catch'.
Each MI command takes two optional arguments, '-t' has the effect of
calling 'tcatch' instead of 'catch', for example:
(gdb)
-catch-throw -t
Is the same as:
(gdb) tcatch throw
There is also a '-r REGEXP' argument that can supply a regexp to match
against the exception type, so:
(gdb)
-catch-catch -r PATTERN
Is the same as:
(gdb) catch catch PATTERN
The change in print_mention_exception_catchpoint might seem a little
strange; changing the output from using ui_out::field_int and
ui_out::text to using ui_out::message.
The print_mention_exception_catchpoint is used as the 'print_mention'
method for the exception catchpoint breakpoint object. Most of the
other 'print_mention' methods (see breakpoint.c) use either
printf_filtered, of ui_out::message. Using field_int was causing an
unexpected field to be added to the MI output. Here's the output
without the change in print_mention_exception_catchpoint:
(gdb)
-catch-throw
^done,bkptno="1",bkpt={number="1",type="breakpoint",disp="keep",
enabled="y",addr="0x00000000004006c0",
what="exception throw",catch-type="throw",
thread-groups=["i1"],times="0"}
Notice the breakpoint number appears in both the 'bkptno' field, and
the 'number' field within the 'bkpt' tuple. Here's the output with
the change in print_mention_exception_catchpoint:
(gdb)
-catch-throw
^done,bkpt={number="1",type="breakpoint",disp="keep",
enabled="y",addr="0x00000000004006c0",
what="exception throw",catch-type="throw",
thread-groups=["i1"],times="0"}
gdb/ChangeLog:
* NEWS: Mention new MI commands.
* break-catch-throw.c (enum exception_event_kind): Move to
breakpoint.h.
(print_mention_exception_catchpoint): Output text as a single
message.
(catch_exception_command_1): Rename to...
(catch_exception_event): ...this, make non-static, update header
command, and change some parameter types.
(catch_catch_command): Update for changes to
catch_exception_command_1.
(catch_throw_command): Likewise.
(catch_rethrow_command): Likewise.
* breakpoint.c (enum exception_event_kind): Delete.
* breakpoint.h (enum exception_event_kind): Moved here from
break-catch-throw.c.
(catch_exception_event): Declare.
* mi/mi-cmd-catch.c (mi_cmd_catch_exception_event): New function.
(mi_cmd_catch_throw): New function.
(mi_cmd_catch_rethrow): New function.
(mi_cmd_catch_catch): New function.
* mi/mi-cmds.c (mi_cmds): Add 'catch-throw', 'catch-rethrow', and
'catch-catch' entries.
* mi/mi-cmds.h (mi_cmd_catch_throw): Declare.
(mi_cmd_catch_rethrow): Declare.
(mi_cmd_catch_catch): Declare.
gdb/doc/ChangeLog:
* gdb.texinfo (GDB/MI Catchpoint Commands): Add menu entry to new
node.
(C++ Exception GDB/MI Catchpoint Commands): New node to describe
new MI commands.
gdb/testsuite/ChangeLog:
* gdb.mi/mi-catch-cpp-exceptions.cc: New file.
* gdb.mi/mi-catch-cpp-exceptions.exp: New file.
* lib/mi-support.exp (mi_expect_stop): Handle 'exception-caught'
as a stop reason.
commit ec8e2b6d3051f0b4b2a8eee9917898e95046c62f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Jun 14 23:43:00 2019 +0100
gdb: Don't allow annotations to influence what else GDB prints
The annotations should be additional information printed by GDB to be
consumed by users (GUIs), but GDB shouldn't reduce what it prints
based on whether annotations are on or not. However, this is what
happens for annotate_source_line.
This commit makes annotate_source_line a void function that simply
outputs the annotation information, GDB will then print the contents
of the source line to the terminal in the normal way.
Some tests needed to be updated after this commit.
gdb/ChangeLog:
* annotate.c (annotate_source_line): Change return type to void,
update implementation to match.
* annotate.h (annotate_source_line): Change return type to void,
update header comment.
* stack.c (print_frame_info): Don't change what frame information
is printed based on whether annotations are on or not.
gdb/testsuite/ChangeLog:
* gdb.base/annota1.exp: Update expected results.
* gdb.cp/annota2.exp: Likewise.
* gdb.cp/annota3.exp: Likewise.
commit 0d3abd8cc936360f8c46502135edd2e646473438
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Jun 12 22:34:26 2019 +0100
gdb: Remove an update of current_source_line and current_source_symtab
While reviewing some of the annotation code I noticed that
identify_source_line (in source.c) sets current_source_line,
current_source_symtab, and also calls clear_lines_listed_range. This
seems a little strange, identify_source_line is really a wrapper
around annotate_source, and is only called when annotation_level is
greater than 0 (so annotations are turned on).
It seems weird (to me) that when annotations are on we update GDB's
idea of the "current" line/symtab, but when they are off we don't,
given that annotations are really about communicating GDB's state to a
user (GUI) and surely shouldn't be changing GDB's behaviour.
This commit removes from identify_source_line all of the setting of
current line/symtab and the call to clear_lines_listed_range, after
doing this GDB still passes all tests, so I don't believe these lines
were actually required.
With this code removed identify_source_line is only a wrapper around
annotate_source, so I moved identify_source_line to annotate.c and
renamed it to annotate_source_line.
gdb/ChangeLog:
* annotate.c: Add 'source.h' and 'objfiles.h' includes.
(annotate_source): Make static.
(annotate_source_line): Moved from source.c and renamed from
identify_source_line. Update the return type.
* annotate.h (annotate_source): Delete declaration.
(annotate_source_line): Declaration moved from source.h, and
renamed from identify_source_line. Return type updated.
* source.c (identify_source_line): Moved to annotate.c and renamed
to annotate_source_line.
(info_line_command): Remove check of annotation_level.
* source.h (identify_source_line): Move declaration to annotate.h
and rename to annotate_source_line.
* stack.c: Add 'annotate.h' include.
(print_frame_info): Remove check of annotation_level before
calling annotate_source_line.
commit 00df30ae1ea6db8f3693cad8a499f55f1d66e913
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Jun 14 22:16:52 2019 +0100
gdb: New function to open source file and compute line charpos data
Every place that a symtab's line_charpos data is loaded always follows
the same pattern, so create a new function to contain this logic and
make use of it throughout GDB.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* source-cache.c (source_cache::get_plain_source_lines): Use
open_source_file_with_line_charpos instead of just
open_source_file, remove call to find_source_lines.
(source_cache::get_source_lines): Likewise.
* source.c (find_source_lines): Make static.
(get_filename_and_charpos): Renamed into...
(open_source_file_with_line_charpos): ..this along with changes to
return a scoped_fd, and some other minor clean ups.
(identify_source_line): Use open_source_file_with_line_charpos.
(search_command_helper): Use open_source_file_with_line_charpos
instead of just open_source_file, remove call to
find_source_lines.
* source.h (open_source_file_with_line_charpos): Declare new
function.
(find_source_lines): Delete declaration.
commit afda45a206f83389782a400f86668714400a1cb7
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Jun 14 21:57:42 2019 +0100
gdb: Remove unused parameter
The parameter 'fullname' is always passed as NULL to the function
get_filename_and_charpos in source.c, so lets remove the parameter.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* source.c (get_filename_and_charpos): Remove fullname
parameter.
(identify_source_line): Update call to get_filename_and_charpos.
commit 09e4c4e1f1732ed978db4b8c75877bf8a8097ae9
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Jun 14 23:31:10 2019 +0100
gdb: Remove file path from test name
Having paths in test names makes comparing sum files difficult, rename
a test to avoid paths in test names.
gdb/testsuite/ChangeLog:
* gdb.base/style-logging.exp: Remove path from test name.
commit 49455d8bbd8eac5b7ce7e26c691af27998647584
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jun 15 00:00:41 2019 +0000
Automatic date update in version.in
commit 0735b091aba72d4b35aebb671a02c5cb4a837fe9
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Apr 30 11:17:15 2019 -0600
Do not emit style escape sequences to log file
PR gdb/24502 requests that the "set logging" log file not contain
style escape sequences emitted by gdb.
This seemed like a reasonable request to me, so this patch implements
filtering for the log file.
This also updates a comment in ui-style.h that I noticed while writing
the patch.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
PR gdb/24502:
* ui-style.h (skip_ansi_escape): Update comment.
* ui-file.h (class no_terminal_escape_file): New class.
* ui-file.c (no_terminal_escape_file::write)
(no_terminal_escape_file::puts): New methods.
* cli/cli-logging.c (handle_redirections): Use
no_terminal_escape_file.
gdb/testsuite/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
PR gdb/24502:
* gdb.base/style-logging.exp: New file.
commit 52ce35e2894e55cea94011dda6443be51e154f37
Author: Tom Tromey <tromey@adacore.com>
Date: Fri Jun 14 12:30:17 2019 -0600
Minor NEWS rearrangement
I noticed that a NEWS item about Python scripting changes appeared
between an item about a convenience function and an item about a
convenience variable. I think it's better for the latter to be next
to each other.
gdb/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
* NEWS: Move convenience variable news above Python news.
commit 73cc72729a184f00bf6fc4d74684a8516ba6b683
Author: Tom Tromey <tom@tromey.com>
Date: Sun May 5 17:35:20 2019 -0600
Move gnulib to top level
This patch moves the gdb/gnulib subdirectory to the top level.
It adjusts the top-level build system to build gnulib when necessary,
and changes gdb to use this. However, gdbserver still builds its own
copy of gnulib, just from the new source location.
A small hack was needed to ensure that gnulib is only built when gdb
is enabled. The Makefile only provides an ordering -- the directory
must be mentioned in configdirs to actually be compiled at all.
Most of the patch is just a "git mv" of gnulib, though a few minor
path adjustments were needed in some files there.
Tested by the buildbot.
ChangeLog
2019-06-14 Tom Tromey <tom@tromey.com>
* MAINTAINERS: Add gnulib.
* gnulib: New directory, move from gdb/gnulib.
* configure.ac (host_libs): Add gnulib.
* configure: Rebuild.
* Makefile.def (host_modules, dependencies): Add gnulib.
* Makefile.in: Rebuild.
gdb/ChangeLog
2019-06-14 Tom Tromey <tom@tromey.com>
* gnulib: Move directory to top-level.
* configure.ac: Don't configure gnulib.
* configure: Rebuild.
* common/common-defs.h: Use new path to gnulib.
* Makefile.in (GNULIB_BUILDDIR): Now ../gnulib.
(GNULIB_H): Remove.
(INCGNU): Look in new gnulib location.
(HFILES_NO_SRCDIR): Remove gnulib files.
(SUBDIR, REQUIRED_SUBDIRS): Remove gnulib.
(generated_files): Remove GNULIB_H.
($(LIBGNU), all-lib): Remove targets.
(distclean): Don't mention GNULIB_BUILDDIR.
($(GNULIB_BUILDDIR)/Makefile): Remove target.
gdb/gdbserver/ChangeLog
2019-06-14 Tom Tromey <tom@tromey.com>
* configure.ac: Use new path to gnulib.
* configure: Rebuild.
* Makefile.in (INCGNU, $(GNULIB_BUILDDIR)/Makefile): Use new path
to gnulib.
gnulib/ChangeLog
2019-06-14 Tom Tromey <tom@tromey.com>
* update-gnulib.sh: Adjust paths.
* Makefile.in: Adjust paths.
* configure.ac: Adjust paths. Use ACX_LARGEFILE.
* configure: Rebuild.
commit f568655424ad268c8c5df3f56e4e19a86b16623d
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Jun 4 13:35:44 2019 -0600
Warn if add-symbol-file does not provide any symbols
A user suggested that add-symbol-file ought to warn if the file does
not in fact provide any symbols. This seemed like a decent idea, so
this patch implements this idea.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
* symfile.c (add_symbol_file_command): Remove obsolete comment.
Warn if symbol file does not provide any symbols.
gdb/testsuite/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
* gdb.base/symfile-warn.exp: New file.
* gdb.base/symfile-warn.c: New file.
commit a0c1ffedcf1988bc13fc5b6d57d3b74a17b60299
Author: Tom Tromey <tromey@adacore.com>
Date: Thu May 30 10:59:03 2019 -0600
Only compute realpath when basenames_may_differ is set
A user noted that, when sources are symlinked, gdb annotations will
print the real path, rather than the name of the symlink.
It seems to me that it is better to print the name of the file that
was actually used in the build, unless there is some reason not to.
This patch implements this, with the caveat that it will not work when
basenames-may-differ is enabled. The way this mode is currently
implemented, returning the symbolic (not real) path is not possible.
While I think it would be good to redo the source file name cache and
perhaps integrate it with class source_cache, I haven't done so here.
Regression tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
* source.c (find_and_open_source): Respect basenames_may_differ.
gdb/testsuite/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
* gdb.base/annotate-symlink.exp: New file.
commit 7c39e397aafaea64812f2611b061bdd50f30dce4
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jun 13 22:13:28 2019 +0100
gdb: Use scoped_restore_terminal_state in annotate.c
In a couple of places in annotate.c we are manually backing up and
restoring the terminal ownership, we could instead make use of
scoped_restore_terminal_state.
gdb/ChangeLog:
* annotate.c (annotate_breakpoints_invalid): Make use of
scoped_restore_terminal_state.
(annotate_frames_invalid): Likewise.
commit f411722cbc18820e5266ec4c2aadd2269eb15447
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Jun 5 10:53:16 2019 -0600
Allow re-assigning to convenience variables
In Ada mode, re-assigning an array of a different size to a
convenience variable will cause an error:
(gdb) set lang ada
(gdb) set $v := "abc"
(gdb) set $v := "abcd"
cannot assign arrays of different length
However, this does not really make sense -- instead, it should always
be possible to overwrite a convenience variable.
This patch fixes this bug.
This was reviewed off-list by Joel. I'm checking it in.
gdb/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
* ada-lang.c (ada_evaluate_subexp) <case BINOP_ASSIGN>: Always
allow assignment to an internalvar.
gdb/testsuite/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
* gdb.ada/set_wstr.exp: Add reassignment test.
commit 4268ec187d401b9b132afa1a13c73e0026a53c5d
Author: Tom Tromey <tromey@adacore.com>
Date: Fri Jun 7 11:29:36 2019 -0600
Recognize _ in attribute names
Ada attribute names can contain "_", but the lexer currently does not
allow this -- even though the "attributes" array lists some attributes
spelled this way.
This patch fixes the bug and adds test cases for the existing
attributes.
This was reviewed off-list by Joel. I'm checking it in.
gdb/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
* ada-lex.l: Allow "_" in attribute names.
gdb/testsuite/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
* gdb.ada/formatted_ref.exp (test_p_x_addr): Check
'unchecked_access and 'unrestricted_access as well.
commit abdb711e0855f0597a96db0486b598144b788212
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Jun 11 06:59:38 2019 -0600
Remove alloca(0) calls
PR gdb/24653 points out that a gcc snapshot will complain about the
calls to alloca(0) in gdb.
These calls are only needed when using the C alloca. I'm inclined to
think that no current platform needs this, so this patch removes the
calls.
Let me know what you think.
gdb/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
PR gdb/24653:
* regcache.c (registers_changed): Don't call alloca.
* top.c (execute_command): Don't call alloca.
commit 9a9e394b05a841bdd9163f280d7ef19cc65634d6
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 29 10:21:52 2019 -0600
Fix gdb.ada/vla.exp
PR ada/24539 concerns a test failure in gdb.ada/vla.exp.
The problem here is that different versions of Gnat emit the
structure's fields in different orders -- with the order currently
failing actually being the correct one.
Joel pointed out that this can be fixed by simply adding the
No_Component_Reordering pragma to the type in question, which is what
this patch does.
I've reported a Gnat compiler bug internally in hopes of getting the
underlying problem fixed.
gdb/testsuite/ChangeLog
2019-06-14 Tom Tromey <tromey@adacore.com>
PR ada/24539:
* gdb.ada/vla.exp: Update tests.
* gdb.ada/vla/vla.adb (Record_Type): Use No_Component_Reordering
pragma.
commit e30d1fa1bfb1ff2e225cfac9226c357f2cf07a26
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Wed Nov 28 19:35:04 2018 +0000
Add R_AARCH64_P32_MOVW_PREL_* ELF32 relocs
These ilp32 relocations were missing for some reason.
bfd/ChangeLog:
* elfnn-aarch64.c: Enable MOVW_PREL relocs for ELF32.
include/ChangeLog:
* elf/aarch64.h (R_AARCH64_P32_MOVW_PREL_G0): Define.
(R_AARCH64_P32_MOVW_PREL_G0_NC): Define.
(R_AARCH64_P32_MOVW_PREL_G1): Define.
ld/ChangeLog:
* testsuite/ld-aarch64/aarch64-elf.exp: Add emit-relocs-22 and -23.
* testsuite/ld-aarch64/emit-relocs-22.d: New test.
* testsuite/ld-aarch64/emit-relocs-22.s: New test.
* testsuite/ld-aarch64/emit-relocs-23.d: New test.
* testsuite/ld-aarch64/emit-relocs-23.s: New test.
commit bcc5a6eb668e560a0020114b6dc261ef494981ba
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Jun 14 11:43:53 2019 +0100
Updated French translation for the opcodes subdirectory.
* po/fr.po; Updated French translation.
commit 3a3a077c4acaed1ab231a376ff9faf6b71b7a0f1
Author: Alan Modra <amodra@gmail.com>
Date: Fri Jun 14 10:30:35 2019 +0930
Regenerate with approved autotools version
bfd/
* Makefile.in: Regenerate.
* configure: Regenerate.
binutils/
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* doc/Makefile.in: Regenerate.
gas/
* Makefile.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
ld/
* Makefile.in: Regenerate.
* configure: Regenerate.
libctf/
* configure: Regenerate.
commit e3fa7860f44b85bc89b09998546fcb09624c3c68
Author: Alan Modra <amodra@gmail.com>
Date: Fri Jun 14 10:23:20 2019 +0930
Fix alpha testsuite regression
readelf st_other display improved for alpha.
PR 24662
* testsuite/ld-alpha/tlsbin.rd: Update.
* testsuite/ld-alpha/tlsbinr.rd: Update.
* testsuite/ld-alpha/tlspic.rd: Update.
commit d4b87b1eb6439e1cd01d1a9f90dcf19428db4b17
Author: Alan Modra <amodra@gmail.com>
Date: Fri Jun 14 10:22:49 2019 +0930
PowerPC comment fixes
"paddi rt,sym@pcrel" as an abbreviation for "paddi rt,0,sym@pcrel,1"
is invalid, so replace with "pla rt,sym@pcrel" which is a valid form
of "pla rt,sym@pcrel(0),1".
* elf64-ppc.c: Fix comments involving paddi.
commit f8164777cde276244d015a2411f68f63a4bd28aa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Jun 14 00:00:18 2019 +0000
Automatic date update in version.in
commit 4c04873103043dc9a1c8d6cdeea1b9b1f545f375
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 15:22:44 2019 +0100
Fix "set integer-command unlimited junk"
With integer commands that support "unlimited", we currently fail to
notice junk after "unlimited":
(gdb) show print elements
Limit on string chars or array elements to print is 200.
(gdb) set print elements unlimited foo
(gdb) show print elements
Limit on string chars or array elements to print is unlimited.
This commit fixes that. After, we get:
(gdb) set print elements unlimited foo
Junk after "unlimited": foo
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* cli/cli-setshow.c (cli/cli-setshow.c): New parameter
'expression'. When parsing an expression, error out if there's
junk after "unlimited".
(parse_cli_var_uinteger, parse_cli_var_zuinteger_unlimited)
(do_set_command): Adjust calls to is_unlimited_literal.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.base/settings.exp (test-integer): Test junk after
"unlimited".
commit 57a63d27dcc8c7620f2168b370b649c7458c687e
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 21:27:10 2019 +0900
sim/testsuite/or1k: Add tests for unordered compares
Add tests for 32-bit and 64-bit unordered compare instructions.
sim/testsuite/sim/or1k/ChangeLog:
yyyy-mm-dd Stafford Horne <shorne@gmail.com>
* fpu-unordered.S: New file.
* fpu64a32-unordered.S: New file.
commit 3c83b496d4ee7d732b6844c585c3ea9d83ca0f4c
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 21:27:10 2019 +0900
sim/testsuite/or1k: Add test case for l.adrp instruction
This is a simple test to ensure that the l.adrp instruction can be assembled and
simulated correctly.
sim/testsuite/sim/or1k/ChangeLog:
yyyy-mm-dd Stafford Horne <shorne@gmail.com>
* adrp.S: New file.
commit b4f9e0034660e15d233627f9c5a732ab023b7daf
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 21:27:10 2019 +0900
sim/testsuite/or1k: Add test for 64-bit fpu operations
This is a very basic test but it ensure the machine is wired up
correctly and that the assembler works.
sim/testsuite/sim/or1k/ChangeLog:
yyyy-mm-dd Stafford Horne <shorne@gmail.com>
* fpu64a32.S: New file.
commit f1cc84f59441d59827748e47a5971a12ed1ac283
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 21:27:10 2019 +0900
sim/common: wire up new unordered comparisons
Define and wire up unordered floating point comparison operations for cgen
targets. This patch depends on my posted cgen patches[0].
[0] https://www.sourceware.org/ml/cgen/2019-q2/msg00013.html
sim/common/ChangeLog:
yyyy-mm-dd Stafford Horne <shorne@gmail.com>
* cgen-accfp.c (unorderedsf, unordereddf): New functions.
(cgen_init_accurate_fpu): Wire up unorderedsf and unordereddf.
* cgen-fpu.h (cgen_fp_ops): Define fields unorderedsf and unordereddf.
commit 688cea90bc0af3a0188695a25f5c4e8db4ef763b
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 21:27:10 2019 +0900
sim/common: Wire in df/di conversion
Up until now these have not been used in any CGEN targets, add them as
they are now used by OpenRISC.
sim/common/ChangeLog:
* cgen-accfp.c (floatdidf, fixdfdi): New functions.
(cgen_init_accurate_fpu): Add floatdidf and fixdfdi.
commit 7ccbb4437a29896955a6ff3b0406b1cc2a7f6fe2
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 21:27:09 2019 +0900
sim/or1k: Regenerate sim
This picks up changes for:
- new orfpx64a32 spec
- new unordered instructions
- documentation and symbol updates
sim/ChangeLog:
* or1k/cpu.c: Regenerate.
* or1k/cpu.h: Regenerate.
* or1k/decode.c: Regenerate.
* or1k/decode.h: Regenerate.
* or1k/model.c: Regenerate.
* or1k/sem-switch.c: Regenerate.
* or1k/sem.c: Regenerate.
commit 66eb1ed3882aa3c54daa2fe24b7479b5ee0538f2
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 08:58:54 2019 +0100
Fix gdb build with -std=gnu++11
The options framework series broken the build with gcc 4.8, or any
other compiler were we end up forcing -std=gnu++11, causing errors
like these:
../../binutils-gdb/gdb/compile/compile.c: In function gdb::option::option_def_group make_compile_options_def_group(compile_options*):
../../binutils-gdb/gdb/compile/compile.c:266:44: error: could not convert (const gdb::option::option_def*)(& compile_command_option_defs) from const gdb::option::option_def* to gdb::array_view<const gdb::option::option_def>
return {compile_command_option_defs, opts};
^
CXX copying.o
../../binutils-gdb/gdb/compile/compile.c:267:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
This is a C++11 vs C++14 difference -- C++14 relaxed the rules for
eliding braces.
This commit fixes it by adding the missing (in C++11) braces. Tested
with g++ 4.8.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* compile/compile.c (make_compile_options_def_group): Add braces
around array_view initializer.
* thread.c (make_thread_apply_all_options_def_group)
(make_thread_apply_all_options_def_group): Likewise.
commit e41d1c49a12aab7db33d7ad66d62f7413b8f0480
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jun 13 00:00:38 2019 +0000
Automatic date update in version.in
commit 3345721af145007661f4e7e7f4300470095ba622
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:54 2019 +0100
NEWS and manual changes for command options changes
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* NEWS (New commands): Mention "maint test-options
require-delimiter", "maint test-options unknown-is-error", "maint
test-options unknown-is-operand" and "maint show
test-options-completion-result".
(New command options, command completion): New section.
(Completion improvements): New section.
Mention that you can abbreviate "unlimited".
gdb/doc/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.texinfo (Command Completion): Mention command options too.
(Command Options): New node.
(Threads): Add anchors. Extend descriptions of the "taas" and
"tfaas" commands.
(Backtrace): Describe new options of the "backtrace" command. Add
anchors.
(Frame Apply): Describe new options of the "frame apply" and
"faas" commands. Add anchors.
(Data): Describe new options of the "print" command. Add anchors.
(Compiling and Injecting Code): Mention options of the "compile
print" command.
(Maintenance Commands): Mention "maint test-options" subcommands
and the "maint show test-options-completion-result" command.
commit 6206060d9be8da3e701fe0307c6c01390e2b4ae2
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:54 2019 +0100
Delete parse_flags/parse_flags_qcs
Now that "thread/frame apply" have been converted to the gdb::option
framework, these functions are no longer used.
For a while, I thought about keeping the unit tests, by making a local
version of parse_flags_qcs in the unit tests file. But all that would
really test that is used by GDB itself, is the validate_flags_qcs
function. So in the end, I went through all the unit tests, and
converted any that wasn't already covered to gdb.base/options.exp
tests. And those have all already been added in previous patches.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* cli/cli-utils.c (parse_flags, parse_flags_qcs): Delete.
* cli/cli-utils.h (parse_flags, parse_flags_qcs): Delete.
* unittests/cli-utils-selftests.c (test_parse_flags)
(test_parse_flags_qcs): Delete.
(test_cli_utils): Don't call deleted functions.
commit 6665660a411ead049daa85cac5c629d637e22044
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:54 2019 +0100
Make "thread apply" use the gdb::option framework
Similarly to the "frame apply" patch, this makes the "thread apply"
family of commands -- "thread apply TID", "thread apply all" and
"taas" use the gdb::option framework for '-'-style options.
No new options are added, but there are some user-visible changes:
- Can now abbreviate and complete "-ascending"
- We now have a completer for "thread apply" commands
Can now complete options ("thread apply all -[TAB]"), and also,
'thread apply all COMMAND[TAB]' now does what you'd expect, by
making use of the new complete_command routine.
- "help" output tweaked with auto-generated option descriptions:
~~~
Usage: thread apply all [OPTION]... COMMAND
Prints per-inferior thread number and target system's thread id
followed by COMMAND output.
By default, an error raised during the execution of COMMAND
aborts "thread apply".
Options:
-ascending
Call COMMAND for all threads in ascending order.
The default is descending order.
-q
Disables printing the thread information.
-c
Print any error raised by COMMAND and continue.
-s
Silently ignore any errors or empty output produced by COMMAND.
~~~
The "By default ..." sentence is new as well.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* thread.c: Include "cli/cli-option.h".
(tp_array_compar_ascending): Global.
(tp_array_compar): Delete function.
(tp_array_compar_ascending, tp_array_compar_descending): New
functions.
(ascending_option_def, qcs_flag_option_def)
(thr_qcs_flags_option_defs)
(make_thread_apply_all_options_def_group)
(make_thread_apply_options_def_group): New.
(thread_apply_all_command): Use gdb::option::process_options.
(thread_apply_command_completer)
(thread_apply_all_command_completer): New.
(thread_apply_command): Use gdb::option::process_options.
(_initialize_thread): Delete THREAD_APPLY_FLAGS_HELP, replace it
with a new THREAD_APPLY_OPTION_HELP. Use gdb::option::build_help
to generate help text of "thread apply". Adjust "taas"'s help.
* tid-parse.c (tid_range_parser::in_thread_range): New method.
* tid-parse.h (tid_range_parser::in_thread_range): New method.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.base/options.exp (test-thread-apply): New.
(top level): Call it.
commit f7e13587eaf1e2d433e21ac0a9e413a98e53652d
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:54 2019 +0100
"thread apply 1 -- -" vs "frame apply level 0 -- -"
With the following patch, we'll be able to explicitly tell "thread
apply" where options end, using the "--" delimiter. A test added by
that patch caught a pre-existing inconsistency:
(gdb) thread apply 1 -- -
Invalid thread ID: -
(gdb) frame apply level 0 -- -
#0 main () at threads.c:55
Cannot enable the TUI when output is not a terminal
Above, "thread apply" did not try to run the command, while "frame
apply level" did. ("-" is a valid TUI command.)
That "-" is past "--", so it should have not been confused with an
invalid TID, in the "thread apply" case.
That error actually doesn't come from the TID parser, but instead from
thread_apply_command directly.
So that error/check needs tweaking. The next question is what to
tweak it to.
"-" is actually a valid TUI command:
(gdb) help -
Scroll window backward.
Usage: - [WIN] [N]
(gdb) frame apply level 0 -- -
#0 main () at threads.c:55
Cannot enable the TUI when output is not a terminal
While I don't imagine it being useful to use that "-" command with
"thread apply" or "frame apply level", the fact is that you can use it
with "frame apply level", but not with "thread apply". And since it's
an actual command, pedantically it seems right to allow it.
That's what this commit does.
Note: simply removing the "isalpha" check regresses
gdb.multi/tids.exp -- see related commit 3f5b7598805c.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* thread.c (thread_apply_command): Check for invalid TID with
isdigit instead of !isalpha.
commit 5d7071341dd3c01d38fc01398ef8b23b1bd3783c
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:53 2019 +0100
Make "frame apply" support -OPT options
This adds support for '-'-style options to the "frame apply" family of
commands -- "frame apply COUNT", "frame apply level", "frame apply
all", "faas" and "tfaas".
The -q/-c/-s flags were already supported, -past-main/-past-entry is
new:
~~~
(gdb) help frame apply all
Apply a command to all frames.
Usage: frame apply all [OPTION]... COMMAND
Prints the frame location information followed by COMMAND output.
By default, an error raised during the execution of COMMAND
aborts "frame apply".
Options:
-q
Disables printing the frame location information.
-c
Print any error raised by COMMAND and continue.
-s
Silently ignore any errors or empty output produced by COMMAND.
-past-main [on|off]
Set whether backtraces should continue past "main".
Normally the caller of "main" is not of interest, so GDB will terminate
the backtrace at "main". Set this if you need to see the rest
of the stack trace.
-past-entry [on|off]
Set whether backtraces should continue past the entry point of a program.
Normally there are no callers beyond the entry point of a program, so GDB
will terminate the backtrace there. Set this if you need to see
the rest of the stack trace.
~~~
TAB completion of options is now supported. Also, TAB completion of
COMMAND in "frame apply all COMMAND" does the right thing now, making
use of complete_command, added by the previous patch. E.g.:
(gdb) thread apply all -ascending frame apply all -past-main print -[TAB]
-address -elements -pretty -symbol
-array -null-stop -repeats -union
-array-indexes -object -static-members -vtbl
(gdb) thread apply all -ascending frame apply all -past-main print glo[TAB]
global1 global2
The change to tfaas_command is necessary because otherwise you get
this:
(gdb) tfaas --
Unrecognized option at: frame apply all -s --
That's because the above is equivalent to:
(gdb) thread apply all -s frame apply all -s --
and the "--" instructs "thread apply" to consider everything up to
"--" as its command options. And from that view, "frame" is an
invalid option.
The change makes tfaas be equivalent to:
(gdb) thread apply all -s -- frame apply all -s --
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* cli/cli-utils.c (parse_flags_qcs): Use validate_flags_qcs.
(validate_flags_qcs): New.
* cli/cli-utils.h (struct qcs_flags): Change field types to int.
(validate_flags_qcs): Declare.
* stack.c (qcs_flag_option_def, fr_qcs_flags_option_defs): New.
(make_frame_apply_options_def_group): New.
(frame_apply_command_count): Process options with
gdb::option::process_options.
(frame_apply_completer): New.
(frame_apply_level_completer, frame_apply_all_completer)
(frame_apply_completer): New.
(_initialize_stack): Update help of "frame apply", "frame apply
level", "frame apply all" and "faas" to mention supported options
and install command completers.
* stack.h (frame_apply_all_completer): Declare.
* thread.c: Include "stack.h".
(tfaas_command): Add "--".
(_initialize_thread): Update help "tfaas" to mention supported
options and install command completer.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.base/options.exp (test-frame-apply): New.
(top level): Test print commands with different "frame apply"
prefixes.
commit 272d4594343349a713f7d8967d90ae2413ecbc30
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:53 2019 +0100
Introduce complete_nested_command_line
This adds a completion helper routine that makes it possible for a
command that takes another command as argument, such as "frame apply
all COMMAND" as "thread apply all COMMAND", to complete on COMMAND,
and have the completion machinery recurse and complete COMMAND as if
you tried to complete "(gdb) COMMAND". I.e., we'll be able to
complete like this, for example:
(gdb) thread apply all -[TAB]
-c -ascending -q -s
(gdb) thread apply all -ascending frame apply all -[TAB]
-c -limit -past-entry -past-main -q -s
(gdb) thread apply all -ascending frame apply all -past-main print -[TAB]
-address -elements -pretty -symbol
-array -null-stop -repeats -union
-array-indexes -object -static-members -vtbl
(gdb) thread apply all -ascending frame apply all -past-main print glo[TAB]
global1 global2
Above, the completer function understands that "thread apply all" is a
command, and then parses "-ascending" successfully and understand that
the rest of the string is "thread apply all"'s operand. And then, the
process repeats for the "frame apply" command, and on and on.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* completer.c (complete_nested_command_line): New.
(gdb_completion_word_break_characters_throw): Add assertion.
* completer.h (complete_nested_command_line): Declare.
commit e2a689da55d3feb7b79a141f69c4049112f59c91
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:53 2019 +0100
lib/completion-support.exp: Add test_gdb_completion_offers_commands
This adds a procedure to the collection of completion-testing
routines, that allows checking whether completion offers all commands
as completion candidates. This will be used for testing completing
"frame apply all [TAB]", "thread apply all [TAB]", etc.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* lib/completion-support.exp (test_gdb_complete_tab_multiple)
(test_gdb_complete_cmd_multiple, test_gdb_complete_multiple): Add
'max_completions' parameter and handle it.
(test_gdb_completion_offers_commands): New.
commit 90a1ef8762a57f3f57007db2186099c026152034
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:53 2019 +0100
"backtrace full/no-filters/hide" completer
"backtrace"'s completer now completes on command options:
(gdb) bt -[TAB]
-entry-values -full -no-filters -past-main
-frame-arguments -hide -past-entry -raw-frame-arguments
But it doesn't know how to complete on qualifiers:
(gdb) bt fu[TAB]
funlockfile futimens futimes.c
funlockfile.c futimens.c futimesat
futex-internal.h futimes futimesat.c
This commit fixes that:
(gdb) bt fu[TAB]ll
(gdb) bt n[TAB]o-filters
(gdb) bt h[TAB]ide
I considered teaching the gdb::option framework to handle non-'-'
options, but decided it wasn't worth it for this special case, and I'd
rather not make it easy to add new qualifier-like options.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* stack.c (parse_backtrace_qualifiers): New.
(backtrace_command): Use it.
(backtrace_command_completer): Complete on qualifiers.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.base/options.exp (test-backtrace): Test completing qualifiers.
commit d4c16835cad70bd8c04ff30d5d6f40ac65e7f7e1
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:53 2019 +0100
Make "backtrace" support -OPT options
This adds support for comand options to the "backtrace" command. We'll get:
(gdb) bt -
-entry-values -hide -past-main
-frame-arguments -no-filters -raw-frame-arguments
-full -past-entry
~~~~
(gdb) help backtrace
Print backtrace of all stack frames, or innermost COUNT frames.
Usage: backtrace [OPTION]... [QUALIFIER]... [COUNT | -COUNT]
Options:
-entry-values no|only|preferred|if-needed|both|compact|default
Set printing of function arguments at function entry
GDB can sometimes determine the values of function arguments at entry,
in addition to their current values. This option tells GDB whether
to print the current value, the value at entry (marked as val@entry),
or both. Note that one or both of these values may be <optimized out>.
-frame-arguments all|scalars|none
Set printing of non-scalar frame arguments
-raw-frame-arguments [on|off]
Set whether to print frame arguments in raw form.
If set, frame arguments are printed in raw form, bypassing any
pretty-printers for that value.
-past-main [on|off]
Set whether backtraces should continue past "main".
Normally the caller of "main" is not of interest, so GDB will terminate
the backtrace at "main". Set this if you need to see the rest
of the stack trace.
-past-entry [on|off]
Set whether backtraces should continue past the entry point of a program.
Normally there are no callers beyond the entry point of a program, so GDB
will terminate the backtrace there. Set this if you need to see
the rest of the stack trace.
-full
Print values of local variables.
-no-filters
Prohibit frame filters from executing on a backtrace.
-hide
Causes Python frame filter elided frames to not be printed.
For backward compatibility, the following qualifiers are supported:
full - same as -full option.
no-filters - same as -no-filters option.
hide - same as -hide.
With a negative COUNT, print outermost -COUNT frames.
~~~~
Implementation wise, this:
- Moves relevant options/settings globals to structures.
- Tweaks a number of functions to pass down references to such structures.
- Adds option_def structures describing the options/settings.
- Makes backtrace_command parse the options, with gdb::option::process_options.
- Tweaks "backtrace"'s help to describe the new options.
- Adds testcases.
Note that backtrace is a PROCESS_OPTIONS_UNKNOWN_IS_OPERAND command,
because of the "-COUNT" argument.
The COUNT/-COUNT argument is currently parsed as an expression. I
considered whether it would be prudent here to require "--", but
concluded that the risk of causing a significant breakage here is much
lower compared to "print", since printing the expression is not the
whole point of the "backtrace" command. Seems OK to me to require
typing "backtrace -past-main -- -p" if the user truly wants to refer
to the negative of a backtrace count stored in an inferior variable
called "p".
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* frame.c: Include "cli/cli-option.h.
(user_set_backtrace_options): New.
(backtrace_past_main, backtrace_past_entry, backtrace_limit):
Delete.
(get_prev_frame): Adjust.
(boolean_option_def, uinteger_option_def)
(set_backtrace_option_defs): New.
(_initialize_frame): Adjust and use
gdb::option::add_setshow_cmds_for_options to install "set
backtrace past-main" and "set backtrace past-entry".
* frame.h: Include "cli/cli-option.h".
(struct frame_print_options): Forward declare.
(print_frame_arguments_all, print_frame_arguments_scalars)
(print_frame_arguments_none): Declare.
(print_entry_values): Delete declaration.
(struct frame_print_options, user_frame_print_options): New.
(struct set_backtrace_options): New.
(set_backtrace_option_defs, user_set_backtrace_options): Declare.
* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
(mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
(mi_cmd_stack_list_variables): Pass down USER_FRAME_PRINT_OPTIONS.
(list_args_or_locals): Add frame_print_options parameter.
(mi_cmd_stack_info_frame): Pass down USER_FRAME_PRINT_OPTIONS.
* python/py-framefilter.c (enumerate_args): Pass down
USER_FRAME_PRINT_OPTIONS.
* stack.c: Include "cli/cli-option.h".
(print_frame_arguments_all, print_frame_arguments_scalars)
(print_frame_arguments_none): Declare.
(print_raw_frame_arguments, print_entry_values): Delete.
(user_frame_print_options): New.
(boolean_option_def, enum_option_def, frame_print_option_defs):
New.
(struct backtrace_cmd_options): New.
(bt_flag_option_def): New.
(backtrace_command_option_defs): New.
(print_stack_frame): Pass down USER_FRAME_PRINT_OPTIONS.
(print_frame_arg, read_frame_arg, print_frame_args)
(print_frame_info, print_frame): Add frame_print_options parameter
and use it.
(info_frame_command_core): Pass down USER_FRAME_PRINT_OPTIONS.
(backtrace_command_1): Add frame_print_options and
backtrace_cmd_options parameters and use them.
(make_backtrace_options_def_group): New.
(backtrace_command): Process command options with
gdb::option::process_options.
(backtrace_command_completer): New.
(_initialize_stack): Extend "backtrace"'s help to mention
supported options. Install completer for "backtrace".
Install some settings commands with add_setshow_cmds_for_options.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.base/options.exp (test-backtrace): New.
(top level): Call it.
commit 2daf894ed0baf72dd3f422b7a71630145568db30
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:53 2019 +0100
"set print raw frame-arguments" -> "set print raw-frame-arguments"
A following patch will introduce options for the "backtrace" command,
based on some "set print" and "set backtrace" settings. There's one
setting in particular that is a bit annoying if we want to describe
the backtrace options and the settings commands using the same data
structures:
"set print raw frame-arguments"
The problem is that space between "raw" and "frame-arguments".
Calling the option
"bt -raw frame-arguments"
would be odd. So I'm calling the option
"bt -raw-frame-arguments"
instead.
And for consistency, this patch renames the set/show commands to:
"set print raw-frame-arguments"
"show print raw-frame-arguments"
I.e., dash instead of space. The old commands are left in place, but
marked deprecated.
We need to adjust a couple testcases, because the relevant tests use
gdb_test_no_output and the old commands are no longer silent:
(gdb) set print raw frame-arguments on
Warning: command 'set print raw frame-arguments' is deprecated.
Use 'set print raw-frame-arguments'.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* NEWS (Changed commands): Mention set/show print raw-frame-arguments,
and that "set/show print raw frame-arguments" are now deprecated.
* cli/cli-decode.c (add_setshow_boolean_cmd): Now returns the
command.
* command.h (add_setshow_boolean_cmd): Return cmd_list_element *.
* stack.c (_initialize_stack): Install "set/show print
raw-frame-arguments", and deprecate "set/show print raw
frame-arguments".
* valprint.c (_initialize_valprint): Deprecate "set/show print
raw".
gdb/doc/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.texinfo (Print Settings): Document "set/show print
raw-frame-arguments" instead of "set/show print raw
frame-arguments".
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.guile/scm-frame-args.exp: Use "set print
raw-frame-arguments" instead of "set print raw frame-arguments".
* gdb.python/py-frame-args.exp: Likewise.
commit e6ed716cd5514c08b9d7c469d185b1aa177dbc22
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:53 2019 +0100
Migrate rest of compile commands to new options framework
As I was in the neighbourhood, I converted the other "compile"
subcommands to the new options framework too. Specifically, "compile
code" and "compile file".
The user-visible changes are:
- All abbreviations of "-raw" are accepted now, instead of just -r.
Obviously that means "-ra" is now accepted.
- Option completion now works.
- "compile file" did not have a completer yet, and now it knows to
complete on filenames.
- You couldn't use "compile file" with a file named "-something".
You can now, with "compile file -- -something".
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* compile/compile.c (struct compile_options): New.
(compile_flag_option_def, compile_command_option_defs)
(make_compile_options_def_group): New.
(compile_file_command): Handle options with
gdb::option::process_options.
(compile_file_command_completer): New function.
(compile_code_command): Handle options with
gdb::option::process_options.
(compile_code_command_completer): New function.
(_initialize_compiler): Install completers for "compile code" and
"compile file". Mention available options in "compile code" and
"compile code"'s help.
* completer.c (advance_to_completion_word): New, factored out from
...
(advance_to_expression_complete_word_point): ... this.
(advance_to_filename_complete_word_point): New.
* completer.h (advance_to_filename_complete_word_point): New
declaration.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.compile/compile.exp: Adjust expected output to option
processing changes.
commit 7d8062de98203eeec70d4439ab460b9ef50a2e0f
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:53 2019 +0100
Make "print" and "compile print" support -OPT options
This patch adds support for "print -option optval --", etc.
Likewise for "compile print".
We'll get:
~~~~~~
(gdb) help print
Print value of expression EXP.
Usage: print [[OPTION]... --] [/FMT] [EXP]
Options:
-address [on|off]
Set printing of addresses.
-array [on|off]
Set pretty formatting of arrays.
-array-indexes [on|off]
Set printing of array indexes.
-elements NUMBER|unlimited
Set limit on string chars or array elements to print.
"unlimited" causes there to be no limit.
-max-depth NUMBER|unlimited
Set maximum print depth for nested structures, unions and arrays.
When structures, unions, or arrays are nested beyond this depth then they
will be replaced with either '{...}' or '(...)' depending on the language.
Use "unlimited" to print the complete structure.
-null-stop [on|off]
Set printing of char arrays to stop at first null char.
-object [on|off]
Set printing of C++ virtual function tables.
-pretty [on|off]
Set pretty formatting of structures.
-repeats NUMBER|unlimited
Set threshold for repeated print elements.
"unlimited" causes all elements to be individually printed.
-static-members [on|off]
Set printing of C++ static members.
-symbol [on|off]
Set printing of symbol names when printing pointers.
-union [on|off]
Set printing of unions interior to structures.
-vtbl [on|off]
Set printing of C++ virtual function tables.
Note: because this command accepts arbitrary expressions, if you
specify any command option, you must use a double dash ("--")
to mark the end of option processing. E.g.: "print -o -- myobj".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I want to highlight the comment above about "--".
At first, I thought we could make the print command parse the options,
and if the option wasn't recognized, fallback to parsing as an
expression. Then, if the user wanted to disambiguate, he'd use the
"--" option delimiter. For example, if you had a variable called
"object" and you wanted to print its negative, you'd have to do:
(gdb) print -- -object
After getting that working, I saw that gdb.pascal/floats.exp
regressed, in these tests:
gdb_test "print -r" " = -1\\.2(499.*|5|500.*)"
gdb_test "print -(r)" " = -1.2(499.*|5|500.*)"
gdb_test "print -(r + s)" " = -3\\.4(499.*|5|500.*)"
It's the first one that I found most concerning. It regressed because
"-r" is the abbreviation of "-raw". I realized then that the behavior
change was a bit risker than I'd like, considering scripts, wrappers
around gdb, etc., and even user expectation. So instead, I made the
print command _require_ the "--" options delimiter if you want to
specify any option. So:
(gdb) print -r
is parsed as an expression, and
(gdb) print -r --
is parsed as an option.
I noticed that that's also what lldb's expr (the equivalent of print)
does to handle the same problem.
Going back the options themselves, note that:
- you can shorten option names, as long as unambiguous.
- For boolean options, 0/1 stand for off/on.
- For boolean options, "true" is implied.
So these are all equivalent:
(gdb) print -object on -static-members off -pretty on -- foo
(gdb) print -object -static-members off -pretty -- foo
(gdb) print -object -static-members 0 -pretty -- foo
(gdb) print -o -st 0 -p -- foo
TAB completion is fully supported:
(gdb) p -[TAB]
-address -elements -pretty -symbol
-array -null-stop -repeats -union
-array-indexes -object -static-members -vtbl
Note that the code is organized such that some of the options and the
"set/show" commands code is shared. In particular, the "print"
options and the corresponding "set print" commands are defined with
the same structures. The commands are installed with the
gdb::option::add_setshow_cmds_for_options function.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* compile/compile.c: Include "cli/cli-option.h".
(compile_print_value): Scope data pointer is now a
value_print_options pointer; adjust.
(compile_print_command): Process options. Scope data pointer is
now a value_print_options pointer; adjust.
(_initialize_compile): Update "compile print"'s help to include
supported options. Install a completer for "compile print".
* cp-valprint.c (show_vtblprint, show_objectprint)
(show_static_field_print): Delete.
(_initialize_cp_valprint): Don't install "set print
static-members", "set print vtbl", "set print object" here.
* printcmd.c: Include "cli/cli-option.h" and
"common/gdb_optional.h".
(print_command_parse_format): Rework to fill in a
value_print_options instead of a format_data.
(print_value): Change parameter type from format_data pointer to
value_print_options reference. Adjust.
(print_command_1): Process options. Adjust to pass down a
value_print_options.
(print_command_completer): New.
(_initialize_printcmd): Install print_command_completer as
handle_brkchars completer for the "print" command. Update
"print"'s help to include supported options.
* valprint.c: Include "cli/cli-option.h".
(show_vtblprint, show_objectprint, show_static_field_print): Moved
here from cp-valprint.c.
(boolean_option_def, uinteger_option_def)
(value_print_option_defs, make_value_print_options_def_group):
New. Use gdb::option::add_setshow_cmds_for_options to install
"set print elements", "set print null-stop", "set print repeats",
"set print pretty", "set print union", "set print array", "set
print address", "set print symbol", "set print array-indexes".
* valprint.h: Include <string> and "cli/cli-option.h".
(make_value_print_options_def_group): Declare.
(print_value): Change parameter type from format_data pointer to
value_print_options reference.
(print_command_completer): Declare.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.base/options.exp: Build executable.
(test-print): New procedure.
(top level): Call it, once for "print" and another for "compile
print".
commit 9d0faba9f52b898f0be539bc4d6fbd084772259d
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:53 2019 +0100
Introduce generic command options framework
This commit adds a generic command options framework, that makes it
easy enough to add '-'-style options to commands in a uniform way,
instead of each command implementing option parsing in its own way.
Options are defined in arrays of option_def objects (for option
definition), and the same options definitions are used for supporting
TAB completion, and also for generating the relevant help fragment of
the "help" command. See the gdb::options::build_help function, which
returns a string with the result of replacing %OPTIONS% in a template
string with an auto-generated "help" string fragment for all the
passed-in options.
Since most options in GDB are in the form of "-OPT", with a single
dash, this is the format that the framework supports.
I like to think of gdb's "-OPT" as the equivalent to getopt's long
options format ("--OPT"), and gdb's "/" as the equivalent to getopt's
short options format. getopt's short options format allows mixing
several one-character options, like "ls -als", kind of similar to
gdb's "x /FMT" and "disassemble /MOD", etc. While with gdb's "-"
options, the option is expected to have a full name, and to be
abbreviatable. E.g., "watch -location", "break -function main", etc.
This patch only deals with "-" options. The above comment serves more
to disclose why I don't think we should support mixing several
unrelated options in a single "-" option invocation, like "thread
apply -qcs" instead of "thread apply -q -c -s".
The following patches will add uses of the infrastructure to several
key commands. Most notably, "print", "compile print", "backtrace",
"frame apply" and "thread apply". I tried to add options to several
commands in order to make sure the framework didn't leave that many
open holes open.
Options use the same type as set commands -- enum var_types. So
boolean options are var_boolean, enum options are var_enum, etc. The
idea is to share code between settings commands and command options.
The "print" options will be based on the "set print" commands, and
their names will be the same. Actually, their definitions will be the
same too. There is a function to create "set/show" commands from an
array for option definitions:
/* Install set/show commands for options defined in OPTIONS. DATA is
a pointer to the structure that holds the data associated with the
OPTIONS array. */
extern void add_setshow_cmds_for_options (command_class cmd_class, void *data,
gdb::array_view<const option_def> options,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
That will be used by several following patches.
Other features:
- You can use the "--" delimiter to explicitly indicate end of
options. Several existing commands use this token sequence for
this effect already, so this just standardizes it.
- You can shorten option names, as long as unambiguous. Currently,
some commands allow this (e.g., break -function), while others do
not (thread apply all -ascending). As GDB allows abbreviating
command names and other things, it feels more GDB-ish to allow
abbreviating option names too, to me.
- For boolean options, 0/1 stands for off/on, just like with boolean
"set" commands.
- For boolean options, "true" is implied, just like with boolean "set
commands.
These are the option types supported, with a few examples:
- boolean options (var_boolean). The option's argument is optional.
(gdb) print -pretty on -- *obj
(gdb) print -pretty off -- *obj
(gdb) print -p -- *obj
(gdb) print -p 0 -- *obj
- flag options (like var_boolean, but no option argument (on/off))
(gdb) thread apply all -s COMMAND
- enum options (var_enum)
(gdb) bt -entry-values compact
(gdb) bt -e c
- uinteger options (var_uinteger)
(gdb) print -elements 100 -- *obj
(gdb) print -e 100 -- *obj
(gdb) print -elements unlimited -- *obj
(gdb) print -e u -- *obj
- zuinteger-unlimited options (var_zuinteger_unlimited)
(gdb) print -max-depth 100 -- obj
(gdb) print -max-depth -1 -- obj
(gdb) print -max-depth unlimited -- obj
Other var_types could be supported, of course. These were just the
types that I needed for the commands that I ported over, in the
following patches.
It was interesting (and unfortunate) to find that we need at least 3
different modes to cover the existing commands:
- Commands that require ending options with "--" if you specify any
option: "print" and "compile print".
- Commands that do not want to require "--", and want to error out if
you specify an unknown option (i.e., an unknown argument that starts
with '-'): "compile code" / "compile file".
- Commands that do not want to require "--", and want to process
unknown options themselves: "bt", because of "bt -COUNT",
"thread/frame apply", because "-" is a valid command.
The different behavior is encoded in the process_options_mode enum,
passed to process_options/complete_options.
For testing, this patch adds one representative maintenance command
for each of the process_options_mode values, that are used by the
testsuite to exercise the options framework:
(gdb) maint test-options require-delimiter
(gdb) maint test-options unknown-is-error
(gdb) maint test-options unknown-is-operand
and adds another command to help with TAB-completion testing:
(gdb) maint show test-options-completion-result
See their description at the top of the maint-test-options.c file.
Docs/NEWS are in a patch later in the series.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* Makefile.in (SUBDIR_CLI_SRCS): Add cli/cli-option.c.
(COMMON_SFILES): Add maint-test-settings.c.
* cli/cli-decode.c (boolean_enums): New global, factored out from
...
(add_setshow_boolean_cmd): ... here.
* cli/cli-decode.h (boolean_enums): Declare.
* cli/cli-option.c: New file.
* cli/cli-option.h: New file.
* cli/cli-setshow.c (parse_cli_boolean_value(const char **)): New,
factored out from ...
(parse_cli_boolean_value(const char *)): ... this.
(is_unlimited_literal): Change parameter type to pointer to
pointer. Adjust and advance ARG pointer.
(parse_cli_var_uinteger, parse_cli_var_zuinteger_unlimited)
(parse_cli_var_enum): New, factored out from ...
(do_set_command): ... this. Adjust.
* cli/cli-setshow.h (parse_cli_boolean_value)
(parse_cli_var_uinteger, parse_cli_var_zuinteger_unlimited)
(parse_cli_var_enum): Declare.
* cli/cli-utils.c: Include "cli/cli-option.h".
(get_ulongest): New.
* cli/cli-utils.h (get_ulongest): Declare.
(check_for_argument): New overloads.
* maint-test-options.c: New file.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.base/options.c: New file.
* gdb.base/options.exp: New file.
commit 2c722807a752ce468b04fcf6d29857f377beeaf5
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:53 2019 +0100
number_or_range_parser::get_number, don't treat "1 -" as a range
While adding -OPT options to "frame apply level", I noticed that:
(gdb) frame apply level 0 -[TAB]
wasn't completing on the supported options. This commit fixes it.
We'll get instead:
(gdb) frame apply level 0 -
-c -past-entry -past-main -q -s
I added the isspace check because this case:
(gdb) frame apply level 0-
can't be an option.
Tests for this will be in a new gdb.base/options.exp file, in a
following patch. It will exercise all of:
(gdb) frame apply level 0-
(gdb) frame apply level 0 -
(gdb) frame apply level 0 --
(gdb) frame apply level 0 -- -
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* cli/cli-utils.c (number_or_range_parser::get_number): Do not
parse a range if "-" is at the end of the string.
commit dee7b4c83a636471ee321fb4fe1c3be0a16a9ea7
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:52 2019 +0100
boolean/auto-boolean commands, make "o" ambiguous
We currently accept "o" with boolean/auto-boolean commands, taking it
to mean "on". But "o" is ambiguous, between "on" and "off". I can't
imagine why assuming the user wanted to type "on" is a good idea, it
might have been a typo.
This commit makes gdb error out. We now get:
(gdb) maint test-settings set boolean o
"on" or "off" expected.
(gdb) maint test-settings set auto-boolean o
"on", "off" or "auto" expected.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* cli/cli-setshow.c (parse_auto_binary_operation)
(parse_cli_boolean_value): Don't allow "o".
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.base/settings.exp (test-boolean, test-auto-boolean): Check
that "o" is ambiguous.
commit dca0f6c0a4bafff9039d8bdb2a7efec9f70ce82f
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:52 2019 +0100
New set/show testing framework (gdb.base/settings.exp)
This commit adds new representative commands for all types of settings
commands supported by gdb (enum var_types), and then uses them to
exercise settings parsing and completion.
(gdb) maint test-settings s[TAB]
set show
(gdb) maint test-settings set [TAB]
auto-boolean integer uinteger
boolean optional-filename zinteger
enum string zuinteger
filename string-noescape zuinteger-unlimited
(gdb) maint test-settings set enum [TAB]
xxx yyy zzz
etc.
This is basically unit testing, except that it goes fully via GDB. It
must be done this way in order to exercise TAB completion properly,
which must go via readline.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* Makefile.in (COMMON_SFILES): Add maint-test-settings.c.
* NEWS: Mention maint test-settings KIND.
* maint-test-settings.c: New file.
gdb/doc/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.texinfo (Maintenance Commands): Document "maint
test-settings" commands.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.base/settings.c: New file.
* gdb.base/settings.exp: New file.
commit ccf46844d3e5ad4af9f3a10cc0599c939138d566
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:52 2019 +0100
gdb.base/completion.exp: Fix comment typo
Noticed this while writing the following patch. We cd to $srcdir, not $objdir.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.base/completion.exp: Fix comment typo.
commit 597bf39df91c9a2e27cf1966dd4c942ac645ae33
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:52 2019 +0100
Remove "show" command completers, "set" command completers for string commands
The default command completer is symbol_completer, but it makes no
sense for a "show" command to complete on symbols, or anything else,
really.
I wonder whether we should instead make the default be no completer.
That seems like a much larger/complicated audit/change, so I'd like to
move forward with this version, as it'll be covered by tests. I
noticed this because a following patch will add a new
gdb.base/settings.exp testcase that exercises all sorts of details of
settings commands, including completing the show commands, using new
representative "maint test-settings <type or settings command>"
commands.
Also remove the completer for var_string and var_string_noescape
commands. No point in completing symbols when GDB is expecting a
string.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* cli/cli-decode.c (add_setshow_cmd_full): Remove "show"
completer.
(add_setshow_string_cmd, add_setshow_string_noescape_cmd): Remove
"set" completers.
commit 48c410fb70fe09c036e27092880db687e5c2fb0b
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:52 2019 +0100
Fix "set enum-command value junk"
With enum commands, we currently fail to notice junk after the value.
Currently:
(gdb) set print entry-values compact foo
(gdb) show print entry-values foo
Printing of function arguments at function entry is "compact".
After this fix:
(gdb) set print entry-values compact foo
Junk after item "compact": foo
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* cli/cli-setshow.c (do_set_command) <var_enum>: Detect junk
after item.
commit 93bcb04349eb500781747a542ececc7a8ba3bd95
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:52 2019 +0100
Allow "unlimited" abbreviations
Currently we can abbreviate "on/off/enable/disable/yes/no" in boolean
settings,
(gdb) set non-stop of
(gdb) set non-stop en
we can abbreviate the items of enumeration commands,
(gdb) set print frame-arguments scal
(gdb) set scheduler-locking rep
but we cannot abbreviate "unlimited" in integer commands.
(gdb) set print elements u
No symbol "u" in current context.
This commit fixes that.
Testcases will be in gdb.base/settings.exp and gdb.base/options.exp,
in following patches.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* cli/cli-setshow.c (is_unlimited_literal): Allow abbreviations.
commit cbba3ecd36f0f861e4e810fbd5415c9759080cdc
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:52 2019 +0100
Make check_for_argument skip whitespace after arg itself
Basically every caller of check_for_argument needs to skip space after
the argument. This patch makes check_for_argument do it itself.
Suggested by Philippe Waroquiers.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* ax-gdb.c (agent_command_1): Remove skip_spaces call.
* breakpoint.c (watch_maybe_just_location): Remove skip_spaces
call.
* cli/cli-cmds.c (apropos_command): Remove skip_spaces call.
* cli/cli-utils.c (extract_info_print_args): Remove skip_spaces
calls.
(check_for_argument): Skip spaces after argument.
commit b9a3f8429b012b753e30a4222bd8e4cbba019fad
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:52 2019 +0100
Fix TID parser bug
I noticed this inconsistency in the error messages below:
(gdb) print --1
Left operand of assignment is not an lvalue.
(gdb) thread apply 1 print --1
Thread 1 (Thread 0x7ffff7fb6740 (LWP 17805)):
inverted range
The "inverted range" error happens because get_number_trailer returns
0 to indicate error, but number_or_range_parser::get_number is not
checking for that. I tried detected the error there, but that doesn't
work because number_of_range_parser is used in places that _do_ want
to legitimately handle 0. IMO we should fix get_number_trailer's
interface or use something else when we want to parse 0 too.
I've decided to fix it in a different way, similarly to how
number_or_range_parser::finished was changed in commit 529c08b25ec7
("Add helper functions parse_flags and parse_flags_qcs").
Seems like a good change, even if we tweaked
number_or_range_parser::get_number, as it simplifies
thread_apply_command and makes them consistent with
number_or_range_parser::finished().
We now get the same error message in both cases:
(gdb) print --1
Left operand of assignment is not an lvalue.
(gdb) thread apply 1 print --1
Thread 1 (Thread 0x7ffff7fb6740 (LWP 17805)):
Left operand of assignment is not an lvalue.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* thread.c (thread_apply_command): Adjust TID parsing.
* tid-parse.c (tid_range_parser::finished): Ensure parsing end is
detected before end of string.
(tid_is_in_list): Error out if LIST is invalid.
gdb/testsuite/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* gdb.multi/tids.exp: Adjust expected output. Add "thread apply 1
foo --1" test.
commit 3844e605e61777555aed09ab8ce88db2da95bc0b
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:52 2019 +0100
Fix latent bug with custom word point completers
Completion routines that use a custom word point, and that then
recurse into complete_line (e.g., if we make "thread apply" a custom
word point completer, and complete on the command passed as argument),
we stumble on this latent bug:
(gdb) thread apply all pri[TAB]
(gdb) thread apply all priprint
The problem is that there's a spot in complete_line_internal_1 that
rewinds the completion word but does not reflect that change in the
custom word point in the tracker. This patch fixes it.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* completer.c (complete_line_internal_1): Rewind completion word
point.
(completion_tracker::advance_custom_word_point_by): Change
parameter type to int.
* completer.h (completion_tracker::advance_custom_word_point_by):
Likewise.
commit 00b56dbe7016bc33f882525a47faab943fdeda9a
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jun 13 00:06:52 2019 +0100
Fix latent bug in custom word point completion handling
Without this fix, if we switch the "print" completer to custom word
point handling, we regress gdb.base/completion.exp like this:
(gdb) p "break1.c FAIL: gdb.base/completion.exp: complete 'p "break1' (timeout)
The problem is that completing an expression that starts with double
quotes, and resolves to a filename, like this:
(gdb) p "break1[TAB]
would change from this, with current master:
(gdb) p "break1.c"|
^^^^^^^^^^|
\- cursor here
to this:
(gdb) p "break1.c |
^^^^^^^^^^|
\- quote replaced by space
The issue is that completer.c:advance_to_completion_word misses
telling the completion tracker to emulate readline's handling of
completing a string when rl_find_completion_word returns a delimiter.
This commit fixes the latent bug.
gdb/ChangeLog:
2019-06-13 Pedro Alves <palves@redhat.com>
* completer.c (advance_to_completion_word): Handle delimiters.
commit e4c4ac46e8e7ef92311181f85b193af369897151
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 06:16:19 2019 +0900
opcodes/or1k: Regenerate opcodes
This picks up changes for:
- new orfpx64a32 spec additions
- new unordered instructions
- symbol and documentation updates
opcodes/ChangeLog:
* or1k-asm.c: Regenerated.
* or1k-desc.c: Regenerated.
* or1k-desc.h: Regenerated.
* or1k-dis.c: Regenerated.
* or1k-ibld.c: Regenerated.
* or1k-opc.c: Regenerated.
* or1k-opc.h: Regenerated.
* or1k-opinst.c: Regenerated.
commit a2e4218f237dd1555249555f8be4165aa8e56b6a
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 06:16:19 2019 +0900
cpu/or1k: Update fpu compare symbols to imply set flag
The fpu compare symbols where not including 'sf' in the mnemonic. So
instead of `lf-sfeq` (implying set flag if operands are equal) we were
having `lf-eq`. This patch adds the 'sf'. This helps with making the
generated CGEN documentation consistent and ordered correctly.
cpu/ChangeLog:
yyyy-mm-dd Stafford Horne <shorne@gmail.com>
* or1korfpx.cpu (float-setflag-insn-base): Add 'sf' to symbol.
commit eb212c84a12bd0adb29792737ab2423d72c182f7
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 06:16:19 2019 +0900
cpu/or1k: Document no branch delay slot architectures and l.adrp
The 'nd' architectures did not mention what the 'nd' stands for.
Document that these mean 'no brach delay slot'.
cpu/ChangeLog:
yyyy-mm-dd Stafford Horne <shorne@gmail.com>
* or1k.cpu (or64nd, or32nd, or1200nd): Update comment.a
(l-adrp): Improve comment.
commit d3ad6278d6b977cfeb3156b65862224899549c76
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 06:16:19 2019 +0900
cpu/or1k: Define unordered comparisons
Add support for new floating point unordered comparisons. These have been
defined in OpenRISC architecture proposal 7[0] and are now included in the
architecture specification 1.3.
These new instructions provide the ability for floating point comparisons to
detect NaNs.
[0] https://openrisc.io/proposals/lfsf
cpu/ChangeLog:
yyyy-mm-dd Stafford Horne <shorne@gmail.com>
* or1korfpx.cpu (insn-opcode-float-regreg): Add SFUEQ_S, SFUNE_S,
SFUGT_S, SFUGE_S, SFULT_S, SFULE_S, SFUN_S, SFUEQ_D, SFUNE_D, SFUGT_D,
SFUGE_D, SFULT_D, SFULE_D, SFUN_D opcodes.
(float-setflag-insn-base): New pmacro based on float-setflag-insn.
(float-setflag-symantics, float-setflag-unordered-cmp-symantics,
float-setflag-unordered-symantics): New pmacro for instruction
symantics.
(float-setflag-insn): Update to use float-setflag-insn-base.
(float-setflag-unordered-insn): New pmacro for generating instructions.
commit 6ce26ac7c381c78858b9a7bac344b5cd04bfb03e
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Jun 13 06:16:18 2019 +0900
cpu/or1k: Add support for orfp64a32 spec
This patch adds support for OpenRISC 64-bit FPU operations on 32-bit cores by
using register pairs. The functionality has been added to OpenRISC architecture
specification version 1.3 as per architecture proposal 14[0].
For supporting assembly of both 64-bit and 32-bit precision instructions we have
defined CGEN_VALIDATE_INSN_SUPPORTED. This allows cgen to use 64-bit bit
architecture assembly parsing on 64-bit toolchains and 32-bit architecture
assembly parsing on 32-bit toolchains. Without this the assembler has issues
parsing register pairs.
This patch also contains a few fixes to the symantics for existing OpenRISC
single and double precision FPU operations.
[0] https://openrisc.io/proposals/orfpx64a32
cpu/ChangeLog:
yyyy-mm-dd Andrey Bacherov <avbacherov@opencores.org>
Stafford Horne <shorne@gmail.com>
* or1k.cpu (ORFPX64A32-MACHS): New pmacro.
(ORFPX-MACHS): Removed pmacro.
* or1k.opc (or1k_cgen_insn_supported): New function.
(CGEN_VALIDATE_INSN_SUPPORTED): Define macro.
(parse_regpair, print_regpair): New functions.
* or1kcommon.cpu (h-spr, spr-shift, spr-address, h-gpr): Reorder
and add comments.
(h-fdr): Update comment to indicate or64.
(reg-pair-reg-lo, reg-pair-reg-hi): New pmacros for register pairs.
(h-fd32r): New hardware for 64-bit fpu registers.
(h-i64r): New hardware for 64-bit int registers.
* or1korbis.cpu (f-resv-8-1): New field.
* or1korfpx.cpu (rDSF, rASF, rBSF): Update attribute to ORFPX32-MACHS.
(rDDF, rADF, rBDF): Update operand comment to indicate or64.
(f-rdoff-10-1, f-raoff-9-1, f-rboff-8-1): New fields.
(h-roff1): New hardware.
(double-field-and-ops mnemonic): New pmacro to generate operations
rDD32F, rAD32F, rBD32F, rDDI and rADI.
(float-regreg-insn): Update single precision generator to MACH
ORFPX32-MACHS. Add generator for or32 64-bit instructions.
(float-setflag-insn): Update single precision generator to MACH
ORFPX32-MACHS. Fix double instructions from single to double
precision. Add generator for or32 64-bit instructions.
(float-cust-insn cust-num): Update single precision generator to MACH
ORFPX32-MACHS. Add generator for or32 64-bit instructions.
(lf-rem-s, lf-itof-s, lf-ftoi-s, lf-madd-s): Update MACH to
ORFPX32-MACHS.
(lf-rem-d): Fix operation from mod to rem.
(lf-rem-d32, lf-itof-d32, lf-ftoi-d32, lf-madd-d32): New instruction.
(lf-itof-d): Fix operands from single to double.
(lf-ftoi-d): Update operand mode from DI to WI.
commit a0e44ef56c4d1a20785fe3bcb368638d1af148cf
Author: Peter Bergner <bergner@linux.ibm.com>
Date: Wed Jun 12 15:51:01 2019 -0500
Add missing ChangeLog entries
commit 6fbc939cfdbdf02f205c20925583738b0f835e62
Author: Peter Bergner <bergner@linux.ibm.com>
Date: Wed Jun 12 15:48:53 2019 -0500
Remove the ldmx mnemonic that never made it into POWER9.
opcodes/
* ppc-opc.c (powerpc_opcodes) <ldmx>: Delete mnemonic.
gas/
* testsuite/gas/ppc/power9.d: Delete ldmx tests.
* testsuite/gas/ppc/power9.s: Likewise.
commit 62e0492f5723dd3db5e5a48a3a0ac161d7ba2701
Author: Adam Lackorzymski <adam@os.inf.tu-dresden.de>
Date: Wed Jun 12 15:05:21 2019 +0100
Prevent a seg-fault from objdup when disassembling binaries which do not contain a symbol table.
PR 24643
* elf32-arm.c (arm_elf_find_function): Fail if the symol table is
absent, or the bfd is not in the ELF formart.
* elfnn-aarch64.c (aarch64_elf_find_function): Likewise.
commit 9abca70219e8e15991b9a4d3034672c9f720234f
Author: Christos Zoulas <christos@zoulas.com>
Date: Wed Jun 12 14:51:17 2019 +0100
Add support for NetBSD PaX notes to readelf.
PR 24663
* readelf.c (process_netbsd_elf_note): Add support for
NT_NETBSD_PAX.
(process_note): Add support for PaX notes.
commit c0d38b0ec6756de6a0b68477e47bb8619eef2262
Author: Christos Zoulas <christos@zoulas.com>
Date: Wed Jun 12 14:35:04 2019 +0100
Add support for NetBSD/sh3 core reg sections to readelf.
PR 24665
* readelf.c (get_netbsd_elfcore_note_type): Add support for SH
core notes.
commit 540e617049db92b4371fa90cadd4cd994508f86d
Author: Christos Zoulas <christos@zoulas.com>
Date: Wed Jun 12 13:52:04 2019 +0100
Add support to readelf to display NetBSD auxv notes in core files.
PR 24664
* readelf.c (get_netbsd_elfcore_note_type): Add support for NetBSD
auxv notes.
commit 0529f3fe5c33894387df407b2f33879da7778e08
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jun 12 00:00:16 2019 +0000
Automatic date update in version.in
commit d106773eaca95698838b930a7b512469a38a6771
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 11 20:37:09 2019 +0100
Dwarf: Don't add nameless modules to partial symbol table (ChangeLogs)
Add missing ChangeLog entries for previous commit.
gdb/ChangeLog:
2019-06-11 Bernhard Heckel <bernhard.heckel@intel.com>
* dwarf2read.c (add_partial_symbol): Skip nameless modules.
gdb/testsuite/Changelog:
2019-06-11 Bernhard Heckel <bernhard.heckel@intel.com>
* gdb.fortran/block-data.f: New.
* gdb.fortran/block-data.exp: New.
commit a5fd13a91534b1c79a4b61995894a5bb4f08d3b0
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date: Wed Feb 27 15:21:12 2019 +0100
Dwarf: Don't add nameless modules to partial symbol table
A name for BLOCK DATA in Fortran is optional. If no name has been
assigned, GDB crashes during read-in of DWARF when BLOCK DATA is
represented via DW_TAG_module. BLOCK DATA is used for one-time
initialization of non-pointer variables in named common blocks.
As of now there is no issue when gfortran is used as DW_TAG_module is
not emitted. However, with Intel ifort the nameless DW_TAG_module is
present and has the following form:
...
<1><dd>: Abbrev Number: 7 (DW_TAG_module)
<de> DW_AT_decl_line : 46
<df> DW_AT_decl_file : 1
<e0> DW_AT_description : (indirect string, offset: 0x110): block
data
<e4> DW_AT_high_pc : 0x402bb7
<ec> DW_AT_low_pc : 0x402bb7
...
The missing name leads to a crash in add_partial_symbol, during length
calculation.
gdb/ChangeLog:
2019-06-11 Bernhard Heckel <bernhard.heckel@intel.com>
* dwarf2read.c (add_partial_symbol): Skip nameless modules.
gdb/testsuite/Changelog:
2019-06-11 Bernhard Heckel <bernhard.heckel@intel.com>
* gdb.fortran/block-data.f: New.
* gdb.fortran/block-data.exp: New.
commit 2057d69dccf36206be3bec5d48ff165621e9a06c
Author: Christos Zoulas <christos@zoulas.com>
Date: Tue Jun 11 16:43:25 2019 +0100
Add support for reporting Alpha and Vax symbol visibility in readelf.
PR 24662
* readelf.c (get_alpha_symbol_other): New function.
(get_symbol_other): Use for Alpha symbols.
(is_32bit_pcrel_reloc): Add R_VAX_PCREL32.
commit 08f10e02be1bb218d6edcde87b9f59dd11b40a78
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 29 15:49:10 2019 -0600
Move gdb's xmalloc and friends to new file
When "common" becomes a library, linking will cause a symbol clash,
because "xmalloc" and some related symbols are defined in that
library, libiberty, and readline.
To work around this problem, this patch moves the clashing symbols to
a new file, which is then compiled separately for both gdb and
gdbserver.
gdb/ChangeLog
2019-06-11 Tom Tromey <tom@tromey.com>
* common/common-utils.c (xmalloc, xrealloc, xcalloc)
(xmalloc_failed): Move to alloc.c.
* alloc.c: New file.
* Makefile.in (COMMON_SFILES): Add alloc.c.
gdb/gdbserver/ChangeLog
2019-06-11 Tom Tromey <tom@tromey.com>
* Makefile.in (SFILES): Add alloc.c.
(OBS): Add alloc.o.
(IPA_OBJS): Add alloc-ipa.o.
(alloc-ipa.o): New target.
(%.o: ../%.c): New pattern rule.
commit 1c7fe9515dc1e8aa6378075ef56a646c1efdf7f5
Author: Tom Tromey <tom@tromey.com>
Date: Sun May 5 18:28:13 2019 -0600
Remove linux-waitpid.c debugging code
The debugging code in linux-waitpid.c is one of the few remaining
spots that depends on the gdb/gdbserver difference.
My first thought was that this code is not extremely useful, so this
patch removes this code. (However, if it is actually useful to
someone, we could make it work by introducing a new abstraction.)
gdb/ChangeLog
2019-06-11 Tom Tromey <tom@tromey.com>
* nat/linux-waitpid.c: Don't include server.h.
(linux_debug): Remove.
(my_waitpid): Update.
commit c93dbb25ac4dba2e959bfd30684a36773298c853
Author: Christos Zoulas <christos@zoulas.com>
Date: Tue Jun 11 14:36:47 2019 +0100
Fix an unitinitalised local variable in decode_arm_unwind().
PR 24661
* readelf.c (decode_arm_unwind): Ensure that the local variable
'addr' is always initialised.
commit 89549d7f4d27b63c4aaab4456e21dab1ee96a40a
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Jun 4 06:17:09 2019 -0600
Remove trailing newlines from help text
I noticed recently that some command had a trailing newline in its
"help" output. So, I temporarily hacked cli-decode.c to print
something when a new command was installed that had a trailing newline
in its help message, and wrote this patch, which removes all the ones
I could find this way. (There could still be a few more in *-nat
files.)
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-06-11 Tom Tromey <tromey@adacore.com>
* infcall.c (_initialize_infcall): Remove trailing newline from
help.
* user-regs.c (_initialize_user_regs): Remove trailing newline
from help.
* typeprint.c (_initialize_typeprint): Remove trailing newline
from help.
* reverse.c (_initialize_reverse): Remove trailing newlines from
help.
* tracepoint.c (_initialize_tracepoint): Remove trailing newlines
from help.
* language.c (add_set_language_command): Remove trailing newline
from help.
* infcmd.c (_initialize_infcmd): Remove trailing newlines from
help.
* disasm.c (_initialize_disasm): Remove trailing newline from
help.
* top.c (init_main): Remove trailing newline from help.
* interps.c (_initialize_interpreter): Remove trailing newline
from help.
* btrace.c (_initialize_btrace): Remove trailing newlines from
help.
* breakpoint.c (_initialize_breakpoint): Remove trailing newline
from help.
* python/python.c (_initialize_python): Remove trailing newline
from help.
* spu-tdep.c (_initialize_spu_tdep): Remove trailing newlines from
help.
* tui/tui-win.c (_initialize_tui_win): Remove trailing newlines
from help. Reformat some text.
* tui/tui-stack.c (_initialize_tui_stack): Remove trailing newline
from help.
* tui/tui-layout.c (_initialize_tui_layout): Remove trailing
newline from help.
commit fea82da0fe15137fda0056c0f0b92b6e70997ea8
Author: Tom de Vries <tdevries@suse.de>
Date: Tue Jun 11 13:54:10 2019 +0200
[gdb/testsuite] Fix remove-inferiors.exp FAIL with readnow board
We see this failure with the readnow board:
...
FAIL: gdb.multi/remove-inferiors.exp: load binary
...
When running with board readnow, an extra message "Expanding full symbols" is
emitted after the "Reading symbols" message, and the regexp corresponding to
the FAIL only allows the first message.
Fix this by allowing the extra message in the regexp.
gdb/testsuite/ChangeLog:
2019-06-11 Tom de Vries <tdevries@suse.de>
PR testsuite/24521
* gdb.multi/remove-inferiors.exp: Allow "Expanding full symbols"
message.
commit 86108c1311d82af6707d38e6d3dae1ec0aa92ec9
Author: Tom Tromey <tromey@blackburn.act-europe.fr>
Date: Mon Jun 10 22:49:04 2019 +0200
Remove shadowing from darwin-nat.c
Building on Darwin with gcc showed that darwin-nat.c had some
shadowing variable declarations. This removes them.
gdb/ChangeLog
2019-06-11 Tom Tromey <tromey@adacore.com>
* darwin-nat.c (darwin_decode_exception_message)
(darwin_decode_message, darwin_nat_target::kill): Fix shadowing.
commit 8c2e74f18120dd2f2da7d653466c79dea6841b5e
Author: Tom de Vries <tdevries@suse.de>
Date: Tue Jun 11 13:22:27 2019 +0200
[gdb/testsuite] Fix main high_pc in nonvar-access.exp
When running gdb.dwarf2/nonvar-access.exp with board readnow, we have:
...
FAIL: gdb.dwarf2/nonvar-access.exp: print/x def_implicit_s
...
and 12 more similar failures.
I've tracked this down to the range of main being hardcoded to
[_main, _main+0x10000) in the dwarf assembly:
...
DW_TAG_subprogram {
{name main}
{DW_AT_external 1 flag}
{low_pc [gdb_target_symbol main] DW_FORM_addr}
{high_pc [gdb_target_symbol main]+0x10000 DW_FORM_addr}
} {
...
which overlaps with the .debug_info for the elf-init.c CU (containing
__libc_csu_init and __libc_csu_fini).
Fix this by using function_range to find the actual range of main.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-06-11 Tom de Vries <tdevries@suse.de>
PR testsuite/24521
* gdb.dwarf2/nonvar-access.exp: Fix main high_pc.
commit b49851c8e2bbb38e0e0f977e3fcc7abe3ad157b5
Author: Tom de Vries <tdevries@suse.de>
Date: Tue Jun 11 09:42:56 2019 +0200
[gdb/testsuite] Add readnow.exp
Add a target board to test -readnow.
gdb/testsuite/ChangeLog:
2019-06-11 Tom de Vries <tdevries@suse.de>
* boards/readnow.exp: New file.
commit 8bbce0c70250334f436b4e52983f3538d3bdb9ce
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jun 11 00:00:19 2019 +0000
Automatic date update in version.in
commit a7067863418451b27130bb4300ac1890ff806c12
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu May 23 19:49:41 2019 +0100
gdb: Check for not allocated/associated values during array slicing
When extracting an array slice we should give up if the array is
not-allocated or not-associated. For Fortran, at least in gfortran
compiled code, the upper and lower bounds are undefined if the array
is not allocated or not associated, in which case performing checks
against these bounds will result in undefined behaviour.
Better then to throw an error if we try to slice such an array. This
changes the error message that the user will receive in these
cases (if they got an error message before). Previously they may have
gotten "slice out of range" now they'll get "array not allocated" or
"array not associated".
gdb/ChangeLog:
* valops.c (value_slice): Check for not allocated or not
associated values.
gdb/testsuite/ChangeLog:
* gdb.fortran/vla-sizeof.exp: Update expected results.
commit 9ab084121f50a6858b7298de6c5326cee3687c43
Author: Tom de Vries <tdevries@suse.de>
Date: Mon Jun 10 20:27:09 2019 +0200
[gdb] Fix heap-buffer-overflow in cp_find_first_component_aux
When compiling gdb with '-lasan -fsanitizer=address' and running tests with:
- export ASAN_OPTIONS="detect_leaks=0:alloc_dealloc_mismatch=0",
- target board cc-with-gdb-index,
- the "[gdb/testsuite] Fix gdb.base/break-probes.exp with native-gdbserver"
commit reverted to avoid running into PR24617,
we get with gdb.arch/amd64-init-x87-values.exp:
...
==31229==ERROR: AddressSanitizer: heap-buffer-overflow on address \
0x62500098c93c at pc 0x000000bcc748 bp 0x7ffe39487660 sp 0x7ffe39487658
READ of size 1 at 0x62500098c93c thread T0
#0 0xbcc747 in cp_find_first_component_aux src/gdb/cp-support.c:999
#1 0xbcc6e9 in cp_find_first_component(char const*) \
src/gdb/cp-support.c:977
#2 0xcc2cf3 in mapped_index_base::build_name_components() \
src/gdb/dwarf2read.c:4499
#3 0xcc3322 in dw2_expand_symtabs_matching_symbol src/gdb/dwarf2read.c:4552
#4 0xcc817f in dw2_expand_symtabs_matching src/gdb/dwarf2read.c:5228
#5 0xfe8f48 in iterate_over_all_matching_symtabs src/gdb/linespec.c:1147
#6 0x1003506 in add_matching_symbols_to_info src/gdb/linespec.c:4413
#7 0xffe21b in find_function_symbols src/gdb/linespec.c:3886
#8 0xffe4a2 in find_linespec_symbols src/gdb/linespec.c:3914
#9 0xfee3ad in linespec_parse_basic src/gdb/linespec.c:1865
#10 0xff5128 in parse_linespec src/gdb/linespec.c:2655
#11 0xff8872 in event_location_to_sals src/gdb/linespec.c:3150
#12 0xff90a8 in decode_line_full(event_location const*, int, \
program_space*, symtab*, int, linespec_result*, \
char const*, char const*) src/gdb/linespec.c:3230
#13 0x9ce449 in parse_breakpoint_sals src/gdb/breakpoint.c:9057
#14 0x9ea022 in create_sals_from_location_default src/gdb/breakpoint.c:13708
#15 0x9e2c1f in bkpt_create_sals_from_location src/gdb/breakpoint.c:12514
#16 0x9cff06 in create_breakpoint(gdbarch*, event_location const*, \
char const*, int, char const*, int, int, bptype, int, \
auto_boolean, breakpoint_ops const*, int, int, int, \
unsigned int) src/gdb/breakpoint.c:9238
#17 0x9d114a in break_command_1 src/gdb/breakpoint.c:9402
#18 0x9d1b60 in break_command(char const*, int) src/gdb/breakpoint.c:9473
#19 0xac96aa in do_const_cfunc src/gdb/cli/cli-decode.c:106
#20 0xad0e5a in cmd_func(cmd_list_element*, char const*, int) \
src/gdb/cli/cli-decode.c:1892
#21 0x15226f6 in execute_command(char const*, int) src/gdb/top.c:630
#22 0xddde37 in command_handler(char const*) src/gdb/event-top.c:586
#23 0xdde7c1 in command_line_handler(std::unique_ptr<char, \
gdb::xfree_deleter<char> >&&) src/gdb/event-top.c:773
#24 0xddc9e8 in gdb_rl_callback_handler src/gdb/event-top.c:217
#25 0x16f2198 in rl_callback_read_char src/readline/callback.c:220
#26 0xddc5a1 in gdb_rl_callback_read_char_wrapper_noexcept \
src/gdb/event-top.c:175
#27 0xddc773 in gdb_rl_callback_read_char_wrapper src/gdb/event-top.c:192
#28 0xddd9f5 in stdin_event_handler(int, void*) src/gdb/event-top.c:514
#29 0xdd7d8f in handle_file_event src/gdb/event-loop.c:731
#30 0xdd8607 in gdb_wait_for_event src/gdb/event-loop.c:857
#31 0xdd629c in gdb_do_one_event() src/gdb/event-loop.c:321
#32 0xdd6344 in start_event_loop() src/gdb/event-loop.c:370
#33 0x10a7715 in captured_command_loop src/gdb/main.c:331
#34 0x10aa548 in captured_main src/gdb/main.c:1173
#35 0x10aa5d8 in gdb_main(captured_main_args*) src/gdb/main.c:1188
#36 0x87bd35 in main src/gdb/gdb.c:32
#37 0x7f16e1434f89 in __libc_start_main (/lib64/libc.so.6+0x20f89)
#38 0x87bb49 in _start (build/gdb/gdb+0x87bb49)
0x62500098c93c is located 0 bytes to the right of 8252-byte region \
[0x62500098a900,0x62500098c93c)
allocated by thread T0 here:
#0 0x7f16e359a600 in malloc (/usr/lib64/libasan.so.5+0xeb600)
#1 0x1742ddf in bfd_malloc src/bfd/libbfd.c:275
#2 0x1738824 in bfd_get_full_section_contents src/bfd/compress.c:253
#3 0xe30044 in gdb_bfd_map_section(bfd_section*, unsigned long*) \
src/gdb/gdb_bfd.c:704
#4 0xcb56bf in dwarf2_read_section(objfile*, dwarf2_section_info*) \
src/gdb/dwarf2read.c:2539
#5 0xd5bcd0 in get_gdb_index_contents_from_section<dwarf2_per_objfile> \
src/gdb/dwarf2read.c:6217
#6 0xd7fc7d in gdb::function_view<gdb::array_view<unsigned char const> \
(...) const src/gdb/common/function-view.h:284
#7 0xd7fddd in gdb::function_view<gdb::array_view<unsigned char const> \
(...) src/gdb/common/function-view.h:278
#8 0xd730cf in gdb::function_view<gdb::array_view<unsigned char const> \
(...) const src/gdb/common/function-view.h:247
#9 0xcbc7ee in dwarf2_read_gdb_index src/gdb/dwarf2read.c:3582
#10 0xcce731 in dwarf2_initialize_objfile(objfile*, dw_index_kind*) \
src/gdb/dwarf2read.c:6297
#11 0xdb88c4 in elf_symfile_read src/gdb/elfread.c:1256
#12 0x141262a in read_symbols src/gdb/symfile.c:798
#13 0x14140a7 in syms_from_objfile_1 src/gdb/symfile.c:1000
#14 0x1414393 in syms_from_objfile src/gdb/symfile.c:1017
#15 0x1414fb7 in symbol_file_add_with_addrs src/gdb/symfile.c:1124
#16 0x14159b7 in symbol_file_add_from_bfd(bfd*, char const*, \
enum_flags<symfile_add_flag>, std::vector<other_sections, \
std::allocator<other_sections> >*, \
enum_flags<objfile_flag>, objfile*) src/gdb/symfile.c:1203
#17 0x1415b6c in symbol_file_add(char const*,
enum_flags<symfile_add_flag>, std::vector<other_sections, \
std::allocator<other_sections> >*, \
enum_flags<objfile_flag>) src/gdb/symfile.c:1216
#18 0x1415f2f in symbol_file_add_main_1 src/gdb/symfile.c:1240
#19 0x1418599 in symbol_file_command(char const*, int) \
src/gdb/symfile.c:1675
#20 0xde2fa6 in file_command src/gdb/exec.c:433
#21 0xac96aa in do_const_cfunc src/gdb/cli/cli-decode.c:106
#22 0xad0e5a in cmd_func(cmd_list_element*, char const*, int) \
src/gdb/cli/cli-decode.c:1892
#23 0x15226f6 in execute_command(char const*, int) src/gdb/top.c:630
#24 0xddde37 in command_handler(char const*) src/gdb/event-top.c:586
#25 0xdde7c1 in command_line_handler(std::unique_ptr<char, \
gdb::xfree_deleter<char> >&&) src/gdb/event-top.c:773
#26 0xddc9e8 in gdb_rl_callback_handler src/gdb/event-top.c:217
#27 0x16f2198 in rl_callback_read_char src/readline/callback.c:220
#28 0xddc5a1 in gdb_rl_callback_read_char_wrapper_noexcept \
src/gdb/event-top.c:175
#29 0xddc773 in gdb_rl_callback_read_char_wrapper src/gdb/event-top.c:192
SUMMARY: AddressSanitizer: heap-buffer-overflow src/gdb/cp-support.c:999 in \
cp_find_first_component_aux
Shadow bytes around the buggy address:
0x0c4a801298d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c4a801298e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c4a801298f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c4a80129900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c4a80129910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0c4a80129920: 00 00 00 00 00 00 00[04]fa fa fa fa fa fa fa fa
0x0c4a80129930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c4a80129940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c4a80129950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c4a80129960: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c4a80129970: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
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
==31229==ABORTING
...
The problem happens as follows.
The executable amd64-init-x87-values gets an index (due to target board
cc-with-gdb-index), which looks as follows:
...
Hex dump of section '.gdb_index':
0x00000000 08000000 18000000 28000000 28000000 ........(...(...
0x00000010 3c000000 3c200000 00000000 00000000 <...< ..........
0x00000020 2e000000 00000000 d4004000 00000000 ..........@.....
0x00000030 db004000 00000000 00000000 00000000 ..@.............
0x00000040 00000000 00000000 00000000 00000000 ................
0x00000050 00000000 00000000 00000000 00000000 ................
... more zeroes ...
0x00002010 00000000 00000000 00000000 00000000 ................
0x00002020 00000000 00000000 00000000 00000000 ................
0x00002030 00000000 00000000 00000000 ............
...
The structure of this index is:
...
header : [0x0, 0x18) : size 0x18
culist : [0x18 ,0x28) : size 0x10
typesculist : [0x28, 0x28) : size 0x0
adress area : [0x28, 0x3c) : size 0x14
symbol table : [0x3c, 0x203c) : size 0x2000
constant pool: [0x203c, 0x203c): size 0x0
EOF : 0x203c
...
Note that the symbol table consists entirely of empty slots (where an empty
slot is a pair of 32-bit zeroes), and that the constant pool is empty.
The problem happens here in mapped_index_base::build_name_components:
...
auto count = this->symbol_name_count ();
for (offset_type idx = 0; idx < count; idx++)
{
if (this->symbol_name_slot_invalid (idx))
continue;
const char *name = this->symbol_name_at (idx);
...
when accessing the slot at idx == 0 in the symbol table,
symbol_name_slot_invalid returns false so we calculate name, which is
calculated using 'constant_pool + symbol_table[idx].name', which means we get
name == constant_pool. And given that the constant pool is empty, name now
points past the memory allocated for the index, and when we access name[0] for
the first time in cp_find_first_component_aux, we run into the
heap-buffer-overflow.
Fix this by fixing the definition of symbol_name_slot_invalid:
...
- return bucket.name == 0 && bucket.vec;
+ return bucket.name == 0 && bucket.vec == 0;
...
Tested on x86_64-linux.
gdb/ChangeLog:
2019-06-10 Tom de Vries <tdevries@suse.de>
PR gdb/24618
* dwarf2read.c (struct mapped_index::symbol_name_slot_invalid): Make
sure an empty slot (defined by a 32-bit zero pair) is recognized as
invalid.
commit f19e22e9226444ee566b5b5633c0a48a4f981eda
Author: Tom de Vries <tdevries@suse.de>
Date: Mon Jun 10 20:17:14 2019 +0200
[gdb] Fix dynamic-stack-buffer-overflow in linespec_lexer_lex_string
When compiling gdb with '-lasan -fsanitizer=address' and running tests with
'export ASAN_OPTIONS="detect_leaks=0:alloc_dealloc_mismatch=0"', I run into:
...
ERROR: GDB process no longer exists
UNRESOLVED: gdb.linespec/cpls-abi-tag.exp: \
test_abi_tag: completion: at tag: tab complete "b test_abi_tag_function[abi:"
...
In more detail:
...
==3637==ERROR: AddressSanitizer: dynamic-stack-buffer-overflow on address \
0x7fff5952bbdd at pc 0x000000fe5c57 bp 0x7fff5952af30 sp 0x7fff5952af28
READ of size 1 at 0x7fff5952bbdd thread T0
#0 0xfe5c56 in linespec_lexer_lex_string src/gdb/linespec.c:727
#1 0xfe7473 in linespec_lexer_lex_one src/gdb/linespec.c:946
#2 0xfe799d in linespec_lexer_consume_token src/gdb/linespec.c:982
#3 0xff446d in parse_linespec src/gdb/linespec.c:2564
#4 0xff78be in linespec_complete(completion_tracker&, char const*, \
symbol_name_match_type) src/gdb/linespec.c:2961
#5 0xb9299c in complete_address_and_linespec_locations \
src/gdb/completer.c:573
#6 0xb93e90 in location_completer(cmd_list_element*, completion_tracker&, \
char const*, char const*) src/gdb/completer.c:919
#7 0xb940c5 in location_completer_handle_brkchars src/gdb/completer.c:956
#8 0xb957ec in complete_line_internal_normal_command \
src/gdb/completer.c:1208
#9 0xb96507 in complete_line_internal_1 src/gdb/completer.c:1430
#10 0xb965c2 in complete_line_internal src/gdb/completer.c:1449
#11 0xb98630 in gdb_completion_word_break_characters_throw \
src/gdb/completer.c:1862
#12 0xb98838 in gdb_completion_word_break_characters() \
src/gdb/completer.c:1897
#13 0x16c6362 in _rl_find_completion_word src/readline/complete.c:943
#14 0x16ca8d0 in rl_complete_internal src/readline/complete.c:1843
#15 0x16c460c in rl_complete src/readline/complete.c:408
#16 0x16b3368 in _rl_dispatch_subseq src/readline/readline.c:774
#17 0x16b3092 in _rl_dispatch src/readline/readline.c:724
#18 0x16b2939 in readline_internal_char src/readline/readline.c:552
#19 0x16f1fb0 in rl_callback_read_char src/readline/callback.c:201
#20 0xddc5a1 in gdb_rl_callback_read_char_wrapper_noexcept \
src/gdb/event-top.c:175
#21 0xddc773 in gdb_rl_callback_read_char_wrapper src/gdb/event-top.c:192
#22 0xddd9f5 in stdin_event_handler(int, void*) src/gdb/event-top.c:514
#23 0xdd7d8f in handle_file_event src/gdb/event-loop.c:731
#24 0xdd8607 in gdb_wait_for_event src/gdb/event-loop.c:857
#25 0xdd629c in gdb_do_one_event() src/gdb/event-loop.c:321
#26 0xdd6344 in start_event_loop() src/gdb/event-loop.c:370
#27 0x10a7715 in captured_command_loop src/gdb/main.c:331
#28 0x10aa548 in captured_main src/gdb/main.c:1173
#29 0x10aa5d8 in gdb_main(captured_main_args*) src/gdb/main.c:1188
#30 0x87bd35 in main src/gdb/gdb.c:32
#31 0x7fb0364c6f89 in __libc_start_main (/lib64/libc.so.6+0x20f89)
#32 0x87bb49 in _start (build/gdb/gdb+0x87bb49)
Address 0x7fff5952bbdd is located in stack of thread T0 at offset 557 in frame
#0 0xb93702 in location_completer(cmd_list_element*, completion_tracker&, \
char const*, char const*) src/gdb/completer.c:831
This frame has 4 object(s):
[32, 40) 'copy'
[96, 104) 'location'
[160, 168) 'text'
[224, 256) 'completion_info' <== Memory access at offset 557 overflows \
this variable
HINT: this may be a false positive if your program uses some custom stack \
unwind mechanism or swapcontext
(longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: dynamic-stack-buffer-overflow \
src/gdb/linespec.c:727 in linespec_lexer_lex_string
Shadow bytes around the buggy address:
0x10006b29d720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x10006b29d730: 00 00 00 00 00 00 f1 f1 f1 f1 00 f2 f2 f2 f2 f2
0x10006b29d740: f2 f2 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2
0x10006b29d750: f2 f2 00 00 00 00 f3 f3 f3 f3 00 00 00 00 00 00
0x10006b29d760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x10006b29d770: 00 00 00 00 ca ca ca ca 00 00 00[05]cb cb cb cb
0x10006b29d780: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
0x10006b29d790: 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f3 f3 f3 f3
0x10006b29d7a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x10006b29d7b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x10006b29d7c0: 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
==3637==ABORTING
...
The problem happens in linespec_lexer_lex_string when lexing
"b test_abi_tag_function[abi:\0" (using a notation where we make the implicit
terminating \0 explicit).
We arrrive here with (PARSER_STREAM (parser)) == ":\0":
...
/* Do not tokenize ABI tags such as "[abi:cxx11]". */
else if (PARSER_STREAM (parser) - start > 4
&& startswith (PARSER_STREAM (parser) - 4, "[abi"))
++(PARSER_STREAM (parser));
...
and consume ':', after which we end up here and consume '\0':
...
/* Advance the stream. */
++(PARSER_STREAM (parser));
...
after which (PARSER_STREAM (parser)) points past the end of the string.
Fix this by removing the first "++(PARSER_STREAM (parser))", and add an assert
to the second one to detect moving past the end-of-string.
Build and tested on x86_64-linux.
gdb/ChangeLog:
2019-06-10 Tom de Vries <tdevries@suse.de>
PR gdb/24611
* linespec.c (linespec_lexer_lex_string): Remove incorrect
"++(PARSER_STREAM (parser))" for "[abi"-prefixed colon. Add assert.
commit e99f9db0f5211455ca4256e8db9d9081967d255e
Author: Tom de Vries <tdevries@suse.de>
Date: Mon Jun 10 20:05:04 2019 +0200
[gdb/symtab] Fix symbol loading performance regression
The commit "[gdb/symtab] Fix language of duplicate static minimal symbol"
introduces a performance regression, when loading a cc1 executable build with
-O0 -g and gcc 7.4.0. The performance regression, measured in 'real' time is
about 175%.
The slower execution comes from the fact that the fix in symbol_set_names
makes the call to symbol_find_demangled_name unconditional.
Fix this by reverting the commit, and redoing the fix as follows.
Recapturing the original problem, the first time symbol_set_names is called
with gsymbol.language == lang_auto and linkage_name == "_ZL3foov", the name is
not present in the per_bfd->demangled_names_hash hash table, so
symbol_find_demangled_name is called to demangle the name, after which the
mangled/demangled pair is added to the hashtable. The call to
symbol_find_demangled_name also sets gsymbol.language to lang_cplus.
The second time symbol_set_names is called with gsymbol.language == lang_auto
and linkage_name == "_ZL3foov", the name is present in the hash table, so the
demangled name from the hash table is used. However, the language of the
symbol remains lang_auto.
Fix this by adding a field language in struct demangled_name_entry, and using
the field in symbol_set_names to set the language of gsymbol, if necessary.
Tested on x86_64-linux.
gdb/ChangeLog:
2019-06-10 Tom de Vries <tdevries@suse.de>
PR symtab/24545
* symtab.c (struct demangled_name_entry): Add language field.
(symbol_set_names): Revert "[gdb/symtab] Fix language of duplicate
static minimal symbol". Set and use language field.
commit c6a636ce375d5af4ce0b3aa78b1cc90fd82040bd
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jun 10 15:30:02 2019 +0100
Fix printing large decimal values in strings.
PR 24651
* strings.c (print_strings): Use %u to print unsigned values in
decimal.
commit 9bf7038bb229d6e46a1f1861c257fc47843f114d
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Jun 3 09:25:39 2019 -0600
Update help text in ada-lang.c
I noticed that the "catch assert" help text erroneously claimed to
accept an argument, and while fixing this I went ahead and added
"Usage" text and made other minor updates to the commands in
ada-lang.c.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-06-10 Tom Tromey <tromey@adacore.com>
* ada-lang.c (_initialize_ada_language): Update help text.
commit 422186a95cbb02ee1d34388adceeb4bd289074b9
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Jun 3 08:07:29 2019 -0600
Remove newlines from warnings
ARI pointed out that a recent patch introduced a call to "warning"
with a string that ended in a newline:
https://sourceware.org/ml/gdb-patches/2019-06/msg00000.html
This is generally forbidden, I believe, because warning adds its own
newline.
This patch removes all of the trailing newlines I was able to find. I
searched for 'warning (.*\\n"' and then fixed the ones where the
newline appeared at the end of the string (some had internal
newlines).
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-06-10 Tom Tromey <tromey@adacore.com>
* m32c-tdep.c (m32c_m16c_address_to_pointer): Don't end warning
with a newline.
* guile/guile.c (handle_boot_error): Don't end warning with a
newline.
* cli/cli-cmds.c (exit_status_set_internal_vars): Don't end
warning with a newline.
* s12z-tdep.c (s12z_skip_prologue): Don't end warning with a
newline.
(s12z_frame_cache): Likewise.
* dwarf-index-cache.c (index_cache::store): Don't end warning with
a newline.
* solib-svr4.c (disable_probes_interface): Don't end warning with
a newline.
* nat/fork-inferior.c (fork_inferior): Don't end warning with a
newline.
* python/python.c (do_finish_initialization): Don't end warning
with a newline.
gdb/gdbserver/ChangeLog
2019-06-10 Tom Tromey <tromey@adacore.com>
* remote-utils.c (look_up_one_symbol, relocate_instruction): Don't
end warning with a newline.
* linux-s390-low.c (s390_get_wordsize): Don't end warning with a
newline.
* thread-db.c (attach_thread): Don't end warning with a newline.
(thread_db_notice_clone): Likewise.
* tracepoint.c (gdb_agent_helper_thread): Don't end warning with a
newline.
* linux-x86-low.c (x86_get_min_fast_tracepoint_insn_len): Don't
end warning with a newline.
commit 58e07198f34c3a8bb7d64392e8b978a0d741244e
Author: Christos Zoulas <christos@zoulas.com>
Date: Mon Jun 10 14:41:35 2019 +0100
Add support for NetBSD/sh3 core file sections. Merge multiple copies of auxv section creation into one function.
PR 24650
* elf.c (elfcore_make_auxv_note_section): New function.
(elfcore_grok_note): Use it.
(elfcore_grok_freebsd_note): Likewise.
(elfcore_grok_openbsd_note): Likewise.
(elfcore_grok_netbsd_note): Likewise. Plus add support for
NT_NETBSDCORE_AUXV notes.
commit 25ce02ee7b7667fb7bb882421ff869c080777bee
Author: Tom Tromey <tom@tromey.com>
Date: Fri Jun 7 16:08:47 2019 -0600
Use gdbpy_enter in py-breakpoint.c
A few spots in py-breakpoint.c acquire the GIL manually. However,
because these spots generate events, and because events are expected
to be arbitrary gdb-flavored Python code, it's important to use
gdbpy_enter instead, in order to ensure that the other gdb-related
Python globals are set correctly.
This patch makes this change. Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-06-10 Tom Tromey <tom@tromey.com>
* python/py-breakpoint.c (gdbpy_breakpoint_created)
(gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
gdbpy_enter.
commit caa429d81a9999699a40b6394c9fb7b258669d54
Author: Tom Tromey <tromey@adacore.com>
Date: Fri Jun 7 15:01:50 2019 -0600
Delay allocation of dbx_symfile_info
I noticed that elfread.c always allocates a dbx_symfile_info, even
though this is only ever needed in the unusual case of reading stabs
in ELF.
This patch moves the allocation into dbxread.c, and applies the same
treatment to similar code in coffread.c.
Regression tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-06-10 Tom Tromey <tromey@adacore.com>
* elfread.c (elf_read_minimal_symbols): Don't set the dbx objfile
data.
(elf_new_init): Don't call stabsread_new_init.
* dbxread.c (coffstab_build_psymtabs): Set dbx objfile data.
(elfstab_build_psymtabs): Likewise. Call stabsread_new_init.
* coffread.c (coff_symfile_init): Don't set the dbx objfile data.
commit 2e02f29632218fc24d71fbbefc368d551d0528a7
Author: Christos Zoulas <christos@zoulas.com>
Date: Mon Jun 10 13:15:23 2019 +0100
Tidy up ar_open by using asprintf to replace xmalloc and sprintf.
PR 24649
* arsup.c (ar_open): Use asprintf in place of xmalloc and
sprintf.
commit a3972330f49f81b3bea64af0970d22f42ae56ec3
Author: Martin Liska <mliska@suse.cz>
Date: Fri Jun 7 07:36:52 2019 +0200
Fix a missing include of <string>
gold/ChangeLog:
2019-06-07 Martin Liska <mliska@suse.cz>
* errors.h: Include string.
commit 81873cc81effbd657efe5f525d369e430ce77d7a
Author: Tom de Vries <tdevries@suse.de>
Date: Mon Jun 10 09:28:30 2019 +0200
[gdb/symtab] Support DW_AT_main_subprogram with -readnow.
DW_AT_main_subprogram is supported in normal mode in read_partial_die, but not
in -readnow mode.
Fix this by adding support for DW_AT_main_subprogram in read_func_scope.
Tested on x86_64-linux with native and RFC target board readnow (
https://sourceware.org/ml/gdb-patches/2019-05/msg00073.html ).
gdb/ChangeLog:
2019-06-10 Tom de Vries <tdevries@suse.de>
PR symtab/16264
PR symtab/24517
* dwarf2read.c (read_func_scope): Handle DW_AT_main_subprogram.
commit a72f8c4ce397a0bbe98281d4151982330ad16f15
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jun 10 00:00:20 2019 +0000
Automatic date update in version.in
commit 2e1a984c23da8a9dbd2542e3f506de6a64da670d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jun 9 00:01:03 2019 +0000
Automatic date update in version.in
commit c588b266bf1605b38c5f56a5a847e12e65392e4e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jun 8 00:00:34 2019 +0000
Automatic date update in version.in
commit c1b00498af77c012beed6809175f38923906ecb9
Author: Maciej W. Rozycki <macro@wdc.com>
Date: Fri Jun 7 19:25:21 2019 +0100
LD/doc: Clarify `-rpath' option's semantics WRT link-time dependencies
Mention in the description of the `-rpath' LD option the restrictions
the option has with respect to searching link-time dependencies of
shared objects referred in the link. Previously these restrictions were
only documented along with the `-rpath-link' option, which may not be
the place one would consider when looking for the semantics of `-rpath'.
Copy the relevant part of the `-rpath-link' option description then,
splitting the now overlong paragraph into three, for legibility.
ld/
* ld.texi (Options): Also document `-rpath' option restrictions
in the description of the option itself.
commit 942d35f72bea5a0d19a5d0e0a5ca533e37a88b2c
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Thu Jun 6 14:10:08 2019 +0100
libctf: avoid strndup
Not all platforms have it. Use libiberty xstrndup() instead.
(The include of libiberty.h happens in an unusual place due to the
requirements of synchronization of most source files between this
project and another that does not use libiberty. It serves to pull
libiberty.h in for all source files in libctf/, which does the trick.)
Tested on x86_64-pc-linux-gnu, x86_64-unknown-freebsd12.0,
sparc-sun-solaris2.11, i686-pc-cygwin, i686-w64-mingw32.
libctf/
* ctf-decls.h: Include <libiberty.h>.
* ctf-lookup.c (ctf_lookup_by_name): Call xstrndup(), not strndup().
commit 595a4d439bc5976d5bdf61da6d44337b3995d967
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Thu Jun 6 13:59:56 2019 +0100
libctf: explicitly cast more size_t types used in printf()s
Unsigned long will always be adequate (the only cases involving an
ssize_t are cases in which no error can be generated, or in which
negative output would require a seriously corrupted file: the latter has
been rewritten on a branch in any case).
Tested on x86_64-pc-linux-gnu, x86_64-unknown-freebsd12.0,
sparc-sun-solaris2.11, i686-pc-cygwin, i686-w64-mingw32.
libctf/
* ctf-dump.c (ctf_dump_format_type): Cast size_t's used in printf()s.
(ctf_dump_objts): Likewise.
(ctf_dump_funcs): Likewise.
(ctf_dump_member): Likewise.
(ctf_dump_str): Likewise.
commit f5e73be11b24b6c4b7ecec5f762784c4bb40ec18
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Thu Jun 6 13:59:28 2019 +0100
libctf: mark various args as unused in the !HAVE_MMAP case
Tested on x86_64-pc-linux-gnu, x86_64-unknown-freebsd12.0,
sparc-sun-solaris2.11, i686-pc-cygwin, i686-w64-mingw32.
libctf/
* ctf-archive.c (arc_mmap_header): Mark fd as potentially unused.
* ctf-subr.c (ctf_data_protect): Mark both args as potentially unused.
commit bec3a0c8224a76b315c1742b8254d04ab06885ac
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Jun 7 00:00:14 2019 +0000
Automatic date update in version.in
commit 4fa0265edea0940b865678d93749e224547dd36a
Author: Ð ÑÑлан ÐжбÑлаÑов <lrn1986@gmail.com>
Date: Thu Feb 28 10:25:41 2019 +0000
Apply substitute-path to relative filenames as well
When source file path is relative to the build directory (which
is considered a good practice and is enforced in certain buildsystems,
such as meson), gdb only applies substitute-path to the build directory
path. Then gdb appends the source file path to the rewritten build
directory path, and tries to access that.
This fails if either two of the following conditions are true:
a) The user didn't specify substitute-path for the build directory.
This is highly likely, since path substitution for build directories
is not documented anywhere, and since gdb does not tell[0] the user
the path to the build directory, just the source file path.
b) The source file path changed.
This can also easily happen, since a source path that is relative
to the build directory can include any number of directory names
that are not part of the program source tree (starting with the
name of the root directory of the source tree). Gdb will not apply
substitute-path to that relative path, thus there is no way for
the user to tell gdb about these changes.
This commit changes the code to apply substitute-path to all filenames,
both relative and absolute. This way it is possible to do things like:
set substitute-path ../foobar-1.0 /src/my/foobar-1.0
which is completely in line with the user expectations.
This might break unusual cases where build directory path is also
relative (is that even possible?) and happens to match the path
to the source directory (i.e. happens to match a substitution rule).
[0]: There's a "maintenance info symtabs" command that does show the names
of the build directories, but normal users are not required to
know or use that.
gdb/ChangeLog
2019-06-06 Ð ÑÑлан ÐжбÑлаÑов <lrn1986@gmail.com>
* source.c (find_and_open_source): Also rewrite relative file
names.
commit 1a3da2cd6175e8f25cec95fc685d4f0f43bf6807
Author: Amos Bird <amosbird@gmail.com>
Date: Fri Jun 7 01:10:14 2019 +0800
Add thread-exit annotation.
gdb/ChangeLog
2019-04-26 Amos Bird <amosbird@gmail.com>
* annotate.c (annotate_thread_exited): Add "thread-exited"
annotation.
gdb/doc/ChangeLog
2019-06-06 Amos Bird <amosbird@gmail.com>
* annotate.texinfo (Multi-threaded Apps): Add entry for thread-exited
annotation.
gdb/testsuite/ChangeLog
2019-06-06 Amos Bird <amosbird@gmail.com>
* gdb.base/annota1.exp (thread_switch): Add test for
thread-exited annotation.
commit dd455cf51d2b273edf6173fcb25fc1e3c5b966b2
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Jun 6 07:57:52 2019 -0700
gas: Add .enqcmd and noenqcmd directives
2019-06-06 Lili Cui <lili.cui@intel.com>
* config/tc-i386.c (cpu_arch): Add .enqcmd.
(cpu_noarch): Add noenqcmd.
* doc/c-i386.texi: Document noenqcmd.
commit 8d01b5310ee3c5f8b62eb1b8177e6ab7f25d4a2c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Jun 6 07:55:40 2019 -0700
gas: Correct ChangeLog for commit 5d79adc4b22b0abd
commit 3847a7bfbf6340372962c07f31187ff87b4f492c
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Apr 11 11:26:02 2019 -0600
Add timestamps to "maint time" output
Currently "maint time" will print the amount of time a command took.
Sometimes, though, it's useful to have a timestamp as well -- for
example if one is correlating a gdb log with some other log.
This patch adds a timestamp to the start and end of each command when
this setting is in effect.
This also removes a "//" comment and changes scoped_command_stats to
use DISABLE_COPY_AND_ASSIGN; two minor things I noticed while working
on the patch.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-06-06 Tom Tromey <tromey@adacore.com>
* maint.h (class scoped_command_stats): Use
DISABLE_COPY_AND_ASSIGN.
<print_time>: New method.
* maint.c (scoped_command_stats, ~scoped_command_stats): Call
print_time.
(scoped_command_stats::print_time): New method.
gdb/testsuite/ChangeLog
2019-06-06 Tom Tromey <tromey@adacore.com>
* gdb.base/maint.exp: Expect command started/finished output.
commit 237df8fe1863bb47fcf71ce125cd962666173aaa
Author: Sudakshina Das <sudi.das@arm.com>
Date: Thu Jun 6 12:27:41 2019 +0100
[BFD, AArch64] Fix PT_GNU_PROPERTY alignment issue
If the new GNU property section was being created by the linker
(this will happen only if none of the inputs have any GNU property
section but the command line to the linker forces a bti with
--force-bti), the alignment of the section and hence the program
header of PT_GNU_PROPERTY type was not being set correctly. This
patch fixes this issue.
bfd/ChangeLog:
2019-06-06 Sudakshina Das <sudi.das@arm.com>
* elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Set
alignment of the new gnu property section.
ld/ChangeLog:
2019-06-06 Sudakshina Das <sudi.das@arm.com>
* testsuite/ld-aarch64/aarch64-elf.exp: Add new tests.
* testsuite/ld-aarch64/property-bti-pac4-a.d: New test.
* testsuite/ld-aarch64/property-bti-pac4-b.d: New test.
* testsuite/ld-aarch64/property-bti-pac4.s: New test.
commit 8bf6d176b0a442a8091d338d4af971591d19922c
Author: Sudakshina Das <sudi.das@arm.com>
Date: Thu Jun 6 12:21:14 2019 +0100
[LD, AArch64] Move ELF options behind -z
This patch moves the current AArch64 ld options of --force-bti
and --pac-plt to -z force-bti and -z pac-plt since these are
ELF specific options.
*** bfd/ChangeLog ***
2019-06-06 Sudakshina Das <sudi.das@arm.com>
* bfd-in.h: Change comment.
* bfd-in2.h: Regenerate.
* elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update warning.
* elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties):
Likwise.
*** ld/ChangeLog ***
2019-06-06 Sudakshina Das <sudi.das@arm.com>
* NEWS: Update options names.
* emultempl/aarch64elf.em (OPTION_FORCE_BTI, OPTION_PAC_PLT): Remove.
(PARSE_AND_LIST_LONGOPTS): Remove force-bti and pac-plt.
(PARSE_AND_LIST_OPTIONS): Update to -z.
(PARSE_AND_LIST_ARGS_CASE_Z_AARCH64): New.
(PARSE_AND_LIST_ARGS_CASE_Z): Add PARSE_AND_LIST_ARGS_CASE_Z_AARCH64.
(PARSE_AND_LIST_ARGS_CASES): Move cases for these options.
* testsuite/ld-aarch64/bti-pac-plt-1.d: Update option.
* testsuite/ld-aarch64/bti-pac-plt-2.d: Likewise.
* testsuite/ld-aarch64/bti-plt-1.d: Likewise.
* testsuite/ld-aarch64/bti-plt-2.d: Likewise.
* testsuite/ld-aarch64/bti-plt-3.d: Likewise.
* 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/pac-plt-1.d: Likewise.
* testsuite/ld-aarch64/pac-plt-2.d: Likewise.
commit 811731b21b0a5b5459b33bfcbe26f40c6d9bc7c0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jun 6 00:00:21 2019 +0000
Automatic date update in version.in
commit 12efd68d159444ad8dfe24e49965a228ba980b86
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 5 10:27:08 2019 -0700
i386: Check vector length for EVEX vextractfXX and vinsertfXX
Since not all vector lengths are supported by EVEX vextractfXX and
vinsertfXX, decode them only with supported vector lengths.
gas/
PR binutils/24633
* testsuite/gas/i386/disassem.s: Add tests for invalid vector
lengths for EVEX vextractfXX and vinsertfXX.
* 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/24633
* i386-dis-evex.h (evex_table): Update EVEX_W_0F3A18_P_2,
EVEX_W_0F3A19_P_2, EVEX_W_0F3A1A_P_2 and EVEX_W_0F3A1B_P_2.
(evex_len_table): EVEX_LEN_0F3A18_P_2_W_0,
EVEX_LEN_0F3A18_P_2_W_1, EVEX_LEN_0F3A19_P_2_W_0,
EVEX_LEN_0F3A19_P_2_W_1, EVEX_LEN_0F3A1A_P_2_W_0,
EVEX_LEN_0F3A1A_P_2_W_1, EVEX_LEN_0F3A1B_P_2_W_0,
EVEX_LEN_0F3A1B_P_2_W_1.
* i386-dis.c (EVEX_LEN_0F3A18_P_2_W_0): New enum.
(EVEX_LEN_0F3A18_P_2_W_1): Likewise.
(EVEX_LEN_0F3A19_P_2_W_0): Likewise.
(EVEX_LEN_0F3A19_P_2_W_1): Likewise.
(EVEX_LEN_0F3A1A_P_2_W_0): Likewise.
(EVEX_LEN_0F3A1A_P_2_W_1): Likewise.
(EVEX_LEN_0F3A1B_P_2_W_0): Likewise.
(EVEX_LEN_0F3A1B_P_2_W_1): Likewise.
commit 62d8e3b73139b159963025b5568ec1f5051450f0
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Jun 5 13:34:36 2019 +0100
libctf: eschew %zi format specifier
Too many platforms don't support it, and we can always safely use %lu or
%li anyway, because the only uses are in debugging output.
libctf/
* ctf-archive.c (ctf_arc_write): Eschew %zi format specifier.
(ctf_arc_open_by_offset): Likewise.
* ctf-create.c (ctf_add_type): Likewise.
commit 0088ba596bba2e0b94139f1c2c4f5875848edbd6
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Jun 5 10:33:54 2019 +0100
gdb/testsuite: Improve comments in recently added test
Remove the use of 'I' within some comments in a recently added test.
gdb/testsuite/ChangeLog:
* gdb.arch/riscv-unwind-long-insn-6.s: Remove use of 'I' in
comment.
* gdb.arch/riscv-unwind-long-insn-8.s: Likewise.
commit 312617a3d06b8df67b9f4f63f92ebfaa6b591921
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Jun 4 10:30:41 2019 +0100
gdb/riscv: Don't error when decoding a 6 or 8 byte instruction
If the RISC-V prologue scanner finds a 6 or 8 byte instruction we
currently throw an internal error, which is not great for the user.
A mechanism already exists in the prologue scanner to leave
instructions marked as unknown so that we can stop the prologue scan
without raising an error, this is used for all 2 and 4 byte
instructions that are not part of the small set the prologue scanner
actually understands.
This commit changes GDB so that all 6 and 8 byte instructions are
marked as unknown, rather than causing an error.
gdb/ChangeLog:
* riscv-tdep.c (riscv_insn::decode): Gracefully ignore
instructions of lengths 6 or 8 bytes.
gdb/testsuite/ChangeLog:
* gdb.arch/riscv-unwind-long-insn-6.s: New file.
* gdb.arch/riscv-unwind-long-insn-8.s: New file.
* gdb.arch/riscv-unwind-long-insn.c: New file.
* gdb.arch/riscv-unwind-long-insn.exp: New file.
commit fbe4d6650d714643fe340d9ccba7fc500c26b91d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jun 5 00:00:20 2019 +0000
Automatic date update in version.in
commit b02f78f9285728ce2d05ce01e7b14880f70cd6e6
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 4 22:40:54 2019 +0100
Introduce and use make_unique_xstrdup
Adds an utility function to make it shorter to write the common case
of wrapping an xstrdup with a unique_xmalloc_ptr, and uses it
throughout.
Note: I tried to put this in common/common-utils.h near skip_spaces,
etc. but that is included in common/common-defs.h before
common/gdb_unique_ptr.h is included, so it would fail to compile
because gdb::unique_xmalloc_ptr isn't defined at that point yet. I
tried moving the gdb_unique_ptr.h inclusion before common-utils.h, but
that doesn't work because gdb_unique_ptr.h depends on common-utils.h
for xfree.
gdb/ChangeLog:
2019-06-04 Pedro Alves <palves@redhat.com>
* common/gdb_unique_ptr.h (make_unique_xstrdup): New.
* ada-lang.c (catch_ada_completer): Use make_unique_xstrdup.
* breakpoint.c (condition_completer): Likewise.
* cli/cli-dump.c (scan_expression): Likewise.
* common/filestuff.c (mkdir_recursive): Likewise.
* common/gdb_tilde_expand.c (gdb_tilde_expand_up)
* common/pathstuff.c (gdb_realpath, gdb_realpath_keepfile)
(gdb_abspath): Likewise.
* compile/compile-cplus-types.c
(compile_cplus_instance::decl_name): Likewise.
* completer.c (complete_explicit_location):
(signal_completer, reg_or_group_completer_1): Likewise.
* cp-support.c (cp_remove_params_if_any): Likewise.
* fbsd-tdep.c (fbsd_core_vnode_path): Likewise.
* guile/scm-safe-call.c (gdbscm_safe_eval_string): Likewise.
* infcmd.c (strip_bg_char): Likewise.
* linespec.c (copy_token_string): Likewise.
* mi/mi-main.c (output_cores): Likewise.
* psymtab.c (psymtab_search_name):
* symfile.c (test_set_ext_lang_command): Likewise.
* target.c (target_fileio_read_stralloc): Likewise.
* tui/tui-regs.c (tui_reggroup_completer): Likewise.
* value.c (complete_internalvar): Likewise.
gdb/gdbserver/ChangeLog:
2019-06-04 Pedro Alves <palves@redhat.com>
* server.c (captured_main): Use make_unique_xstrdup.
commit d3238f7d90715dad7e8da2a8c2486d26124b0c84
Author: Pedro Alves <palves@redhat.com>
Date: Tue Jun 4 22:44:36 2019 +0100
Fix paths to ChangeLog files
commit 76fad9996335e52f177c99c1ebf024fc7f761be2
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Jun 4 12:16:57 2019 -0600
Use CHAR_BIT instead of NBBY in libctf
On x86-64 Fedora 29, I tried to build a mingw-hosted gdb that targets
ppc-linux. You can do this with:
../binutils-gdb/configure --host=i686-w64-mingw32 --target=ppc-linux \
--disable-{binutils,gas,gold,gprof,ld}
The build failed with these errors in libctf:
In file included from ../../binutils-gdb/libctf/ctf-create.c:20:
../../binutils-gdb/libctf/ctf-create.c: In function 'ctf_add_encoded':
../../binutils-gdb/libctf/ctf-create.c:803:59: error: 'NBBY' undeclared (first use in this function)
dtd->dtd_data.ctt_size = clp2 (P2ROUNDUP (ep->cte_bits, NBBY) / NBBY);
^~~~
../../binutils-gdb/libctf/ctf-impl.h:254:42: note: in definition of macro 'P2ROUNDUP'
#define P2ROUNDUP(x, align) (-(-(x) & -(align)))
^~~~~
../../binutils-gdb/libctf/ctf-create.c:803:59: note: each undeclared identifier is reported only once for each function it appears in
dtd->dtd_data.ctt_size = clp2 (P2ROUNDUP (ep->cte_bits, NBBY) / NBBY);
^~~~
../../binutils-gdb/libctf/ctf-impl.h:254:42: note: in definition of macro 'P2ROUNDUP'
#define P2ROUNDUP(x, align) (-(-(x) & -(align)))
^~~~~
../../binutils-gdb/libctf/ctf-create.c: In function 'ctf_add_slice':
../../binutils-gdb/libctf/ctf-create.c:862:59: error: 'NBBY' undeclared (first use in this function)
dtd->dtd_data.ctt_size = clp2 (P2ROUNDUP (ep->cte_bits, NBBY) / NBBY);
^~~~
../../binutils-gdb/libctf/ctf-impl.h:254:42: note: in definition of macro 'P2ROUNDUP'
#define P2ROUNDUP(x, align) (-(-(x) & -(align)))
^~~~~
../../binutils-gdb/libctf/ctf-create.c: In function 'ctf_add_member_offset':
../../binutils-gdb/libctf/ctf-create.c:1341:21: error: 'NBBY' undeclared (first use in this function)
off += lsize * NBBY;
^~~~
../../binutils-gdb/libctf/ctf-create.c: In function 'ctf_add_type':
../../binutils-gdb/libctf/ctf-create.c:1822:16: warning: unknown conversion type character 'z' in format [-Wformat=]
ctf_dprintf ("Conflict for type %s against ID %lx: "
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../binutils-gdb/libctf/ctf-create.c:1823:35: note: format string is defined here
"union size differs, old %zi, new %zi\n",
^
../../binutils-gdb/libctf/ctf-create.c:1822:16: warning: unknown conversion type character 'z' in format [-Wformat=]
ctf_dprintf ("Conflict for type %s against ID %lx: "
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../binutils-gdb/libctf/ctf-create.c:1823:44: note: format string is defined here
"union size differs, old %zi, new %zi\n",
^
../../binutils-gdb/libctf/ctf-create.c:1822:16: warning: too many arguments for format [-Wformat-extra-args]
ctf_dprintf ("Conflict for type %s against ID %lx: "
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This patch fixes the actual errors in here. I did not try to fix the
printf warnings, though I think someone ought to.
Ok?
libctf/ChangeLog
2019-06-04 Tom Tromey <tromey@adacore.com>
* ctf-create.c (ctf_add_encoded, ctf_add_slice)
(ctf_add_member_offset): Use CHAR_BIT, not NBBY.
commit 63c6fc6cacf82e6b39f7373d44c1e1e1a0a757fa
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Jun 4 12:45:20 2019 -0700
i386: Check for reserved VEX.vvvv and EVEX.vvvv
If VEX.vvvv and EVEX.vvvv are reserved, they must be all 1s, which are
all 0s in inverted form. Add check for unused VEX.vvvv and EVEX.vvvv
when disassembling VEX and EVEX instructions.
gas/
PR binutils/24626
* testsuite/gas/i386/disassem.s: Add tests for reserved VEX.vvvv
and EVEX.vvvv.
* 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/24626
* i386-dis.c (print_insn): Check for unused VEX.vvvv and
EVEX.vvvv when disassembling VEX and EVEX instructions.
(OP_VEX): Set vex.register_specifier to 0 after readding
vex.register_specifier.
(OP_Vex_2src_1): Likewise.
(OP_Vex_2src_2): Likewise.
(OP_LWP_E): Likewise.
(OP_EX_Vex): Don't check vex.register_specifier.
(OP_XMM_Vex): Likewise.
commit ad118caa9f690114d11384b0813f30980cc333f3
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Tue Jun 4 15:04:49 2019 +0100
libctf: work on platforms without O_CLOEXEC.
(Not tested on any such platforms, since I don't have access to any at
the moment. Testing encouraged.)
libctf/
* configure.ac: Check for O_CLOEXEC.
* ctf-decls.h (O_CLOEXEC): Define (to 0), if need be.
* config.h.in: Regenerate.
commit 6b22174ff163b828a2069f22353018ca97fc0fb4
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Mon Jun 3 14:02:09 2019 +0100
libctf: look for BSD versus GNU qsort_r signatures
We cannot just look for any declaration of qsort_r, because some
operating systems have a qsort_r that has a different prototype
but which still has a pair of pointers in the right places (the last two
args are interchanged): so use AC_LINK_IFELSE to check for both
known variants of qsort_r(), and swap their args into a consistent order
in a suitable inline function. (The code for this is taken almost
unchanged from gnulib.)
(Now we are not using AC_LIBOBJ any more, we can use a better name for
the qsort_r replacement as well.)
libctf/
* qsort_r.c: Rename to...
* ctf-qsort_r.c: ... this.
(_quicksort): Define to ctf_qsort_r.
* ctf-decls.h (qsort_r): Remove.
(ctf_qsort_r): Add.
(struct ctf_qsort_arg): New, transport the real ARG and COMPAR.
(ctf_qsort_compar_thunk): Rearrange the arguments to COMPAR.
* Makefile.am (libctf_a_LIBADD): Remove.
(libctf_a_SOURCES): New, add ctf-qsort_r.c.
* ctf-archive.c (ctf_arc_write): Call ctf_qsort_r, not qsort_r.
* ctf-create.c (ctf_update): Likewise.
* configure.ac: Check for BSD versus GNU qsort_r signature.
* Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
commit 941accce38bc70a23c62e3c9439b67bf23298124
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Mon Jun 3 20:26:02 2019 +0100
libctf: fix use-after-free in function dumping
This is actually a free-before-initializing (i.e. a free of garbage).
libctf/
* ctf-dump.c (ctf_dump_funcs): Free in the right place.
commit a610aa4f9cf61d38b8e0fe60dfaac078d636089f
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Mon Jun 3 11:38:08 2019 +0100
libctf: fix the type of ctf_enum.cte_value
This stops the file format from depending on the size of the host int.
(It does mean that we cannot encode enums with a value > 2^32 on
platforms with an int > 2^32: this will be fixed in the next format
revision.)
include/
* ctf.h (ctf_enum.cte_value): Fix type to int32_t.
commit 9186c494a3bb61a55a29ec04aa0d1684a8c46838
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Jun 4 08:58:21 2019 -0700
Enable Intel AVX512_VP2INTERSECT insn
This patch enables support for VP2INTERSECT in binutils. Please refer to
https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf
for VP2INTERSECT details.
Make check-gas is ok.
gas/
2019-06-04 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
Lili Cui <lili.cui@intel.com>
* config/tc-i386.c (cpu_arch): Add .avx512_vp2intersect.
(cpu_noarch): Likewise.
* doc/c-i386.texi: Document avx512_vp2intersect.
* testsuite/gas/i386/i386.exp: Run vp2intersect tests.
* testsuite/gas/i386/vp2intersect-intel.d: New test.
* testsuite/gas/i386/vp2intersect.d: Likewise.
* testsuite/gas/i386/vp2intersect.s: Likewise.
* testsuite/gas/i386/vp2intersect-inval-bcast.l: Likewise.
* testsuite/gas/i386/vp2intersect-inval-bcast.s: Likewise.
* testsuite/gas/i386/x86-64-vp2intersect-intel.d: Likewise.
* testsuite/gas/i386/x86-64-vp2intersect.d: Likewise.
* testsuite/gas/i386/x86-64-vp2intersect.s: Likewise.
* testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.l: Likewise.
* testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.s: Likewise.
opcodes/
2019-06-04 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
Lili Cui <lili.cui@intel.com>
* i386-dis.c (enum): Add PREFIX_EVEX_0F3868, EVEX_W_0F3868_P_3.
* i386-dis-evex.h (evex_table): Add AVX512_VP2INTERSECT
instructions.
* i386-gen.c (cpu_flag_init): Add CPU_AVX512_VP2INTERSECT_FLAGS,
CPU_ANY_AVX512_VP2INTERSECT_FLAGS.
(cpu_flags): Add CpuAVX512_VP2INTERSECT.
* i386-opc.h (enum): Add CpuAVX512_VP2INTERSECT.
(i386_cpu_flags): Add cpuavx512_vp2intersect.
* i386-opc.tbl: Add AVX512_VP2INTERSECT insns.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
commit 5d79adc4b22b0abd4f12ea973a00e7fb0c1dad64
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Jun 4 08:50:10 2019 -0700
Add support for Intel ENQCMD[S] instructions
This patch enables support for ENQCMD[S] in binutils. Please refer to
https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf
for ENQCMD[S] details.
Make check-gas is ok.
gas/ChangeLog:
2019-06-04 Xuepeng Guo <xuepeng.guo@intel.com>
Lili Cui <lili.cui@intel.com>
* doc/c-i386.texi: Document enqcmd.
* testsuite/gas/i386/enqcmd-intel.d: New file.
* testsuite/gas/i386/enqcmd-inval.l: Likewise.
* testsuite/gas/i386/enqcmd-inval.s: Likewise.
* testsuite/gas/i386/enqcmd.d: Likewise.
* testsuite/gas/i386/enqcmd.s: Likewise.
* testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise.
* testsuite/gas/i386/x86-64-enqcmd-inval.l: Likewise.
* testsuite/gas/i386/x86-64-enqcmd-inval.s: Likewise.
* testsuite/gas/i386/x86-64-enqcmd.d: Likewise.
* testsuite/gas/i386/x86-64-enqcmd.s: Likewise.
* testsuite/gas/i386/i386.exp: Run enqcmd-intel, enqcmd-inval,
enqcmd, x86-64-enqcmd-intel, x86-64-enqcmd-inval,
and x86-64-enqcmd.
opcodes/ChangeLog:
2019-06-04 Xuepeng Guo <xuepeng.guo@intel.com>
Lili Cui <lili.cui@intel.com>
* i386-dis.c (enum): Add MOD_0F38F8_PREFIX_1 and
MOD_0F38F8_PREFIX_3.
(prefix_table): New instructions (see prefix above).
(mod_table): New instructions (see prefix above).
* i386-gen.c (cpu_flag_init): Add entries for enqcmd.
(cpu_flags): Add a bitfield for enqmcd.
* i386-init.h: Regenerated.
* i386-opc.h (enum): Add CpuENQCMD.
(i386_cpu_flags): Add a bitfield for cpuenqcmd.
* i386-opc.tbl: Add enqcmd and enqcmds instructions.
* i386-init.h: Regenerated.
* i386-tbl.h: Regenerated.
commit e1f2e1a2dadbaeffe0a8a6da7aab7effc6b046d2
Author: Christian Biesinger via gdb-patches <gdb-patches@sourceware.org>
Date: Thu May 23 16:37:29 2019 -0500
Add an objfile getter to gdb.Type
This allows users of the Python API to find the objfile where a type
was defined.
gdb/ChangeLog:
gdb/ChangeLog
2019-06-04 Christian Biesinger <cbiesinger@google.com>
Add objfile property to gdb.Type.
* gdb/NEWS: Mention Python API addition.
* gdb/python/py-type.c (typy_get_objfile): New method.
gdb/doc/ChangeLog
2019-06-04 Christian Biesinger <cbiesinger@google.com>
* gdb/doc/python.texi: Document new gdb.Type.objfile property.
gdb/testsuite/ChangeLog
2019-06-04 Christian Biesinger <cbiesinger@google.com>
* gdb/testsuite/gdb.python/py-type.exp: Test for new
gdb.Type.objfile property.
commit a9d96ab97edabea31bed089bfd4caca80838e31c
Author: Alan Hayward <alan.hayward@arm.com>
Date: Tue Jun 4 14:25:08 2019 +0100
Remove an unnecessary set of parentheses in the arm-dis.c source file.
* arm-dis.c (is_mve_unpredictable): Remove spurious paranthesis.
commit 1ff30553d8972fb027d77d76d29643f2173f17d6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jun 4 00:00:13 2019 +0000
Automatic date update in version.in
commit e664d728038abf414b6fb1a1c8cd3aacd0bb3b67
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Mon Jun 3 21:51:56 2019 +0200
Document in NEWS and gdb.texinfo the "help", "apropos" and "show style" changes.
commit 206584bdf15aa19bb3c971b28e2c1fc04f32d027
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Mon Jun 3 21:50:22 2019 +0200
Update tests following changes to "help" and "apropos"
Factorizes the testing of the help output, by having a single place
that defines the common help trailer and/or prefix messages.
commit 66d8c862859ab241c1db9b40c3981f8a71951bd4
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Fri May 31 14:00:47 2019 +0200
Improve usability and/or readibility of help and apropos output.
The "help" command can output long list of command names or classes.
Use the title style to style the command names or classes to make
the output more readable.
Similarly, change "apropos" command to also style the command names.
It is sometimes unclear why "apropos REGEXP" lists some commands,
and then the user has to manually do 'help command' for all commands
listed by "apropos" to see more details about the matching commands.
=> Add an optional flag -v so that "apropos -v REGEXP":
* outputs the full documentation of matching commands.
* highlights the documentation parts matching REGEXP.
commit 9303eb2fb1630678def10613c81215c2bd21d278
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Fri May 31 13:47:37 2019 +0200
Add highlight style, title style, fputs_highlighted. Improve 'show style'
Have 'show style' and its subcommands using a style to style its output.
This allows the GDB user or developer to use 'show style' to visually see
with one command how all the current styles look like.
Add 2 new styles highlight style, title style and fputs_highlighted function.
Highlight style is used by fputs_highlighted to highlight the parts of
its char *STR argument that match a HIGHLIGHT regexp.
This (and the title style) will be used in a following patch.
commit 79b377b3cf3a0e71e1e4710c4ee1e65e7a27a5d4
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jun 3 16:28:15 2019 +0100
Revert patch that disables building libctf for non-ELF based targets.
Revert:
binutls 2019-05-29 Nick Clifton <nickc@redhat.com>
* configure.ac (LIBCTF): Export. Set to empty for non-ELF based
targets.
(HAVE_LIBCTF): Define if libctf support is available.
* Makefile.am (LIBCTF): Set value to @LIBCTF@.
* objdump.c: Make CTF code conditional upon HAVE_LIBCTF being
defined.
* readelf.c: Likewise.
* configure: Regenerate.
* Makefile.in: Regenerate.
* config.in: Regenerate.
top 2019-05-29 Nick Clifton <nickc@redhat.com>
* configure.ac (noconfigdirs): Add libctf if the target does not use
the ELF file format.
* configure: Regenerate.
commit 4f6d070adb32e61c3c61e621c6566fc2d5af2232
Author: Alan Modra <amodra@gmail.com>
Date: Mon Jun 3 11:46:04 2019 +0930
Don't waste space in prefix_opcd_indices
* ppc-dis.c (prefix_opcd_indices): Correct size.
commit 6187fc5364f6cc327805ecb4ba4962953f25122a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jun 3 00:00:54 2019 +0000
Automatic date update in version.in
commit 88ed7edbc632245fad33145e723d27976b6732ca
Author: Tom Tromey <tom@tromey.com>
Date: Sat Jun 1 09:16:04 2019 -0600
Remove fromhex implementation from gdbreplay
gdbreplay had its own implementation of fromhex. This patch changes
it to use the one in common/.
gdb/gdbserver/ChangeLog
2019-06-02 Tom Tromey <tom@tromey.com>
* gdbreplay.c (fromhex): Remove.
* Makefile.in (GDBREPLAY_OBS): Add rsp-low.o.
commit 96605592395fc57e531de249883ccf6fafed540f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jun 2 00:01:00 2019 +0000
Automatic date update in version.in
commit 0b62c71c0839764aca82bf32ac6aa339020ae0c8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jun 1 00:00:23 2019 +0000
Automatic date update in version.in
commit e2c52041c02e2bdee5b28e97c7997caf0ee5bb2d
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat May 4 15:39:27 2019 +0200
NEWS and documentation for | (pipe) command.
gdb/ChangeLog
* NEWS: Mention new pipe command and new convenience variables.
gdb/doc/ChangeLog
* gdb.texinfo (Shell Commands): Document pipe command.
(Logging Output): Add a reference to pipe command.
(Convenience Variables): Document $_shell_exitcode and
$_shell_exitstatus.
commit 708dc93ed0c8ee744e2784a1c349d8129a84200f
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Apr 20 22:17:17 2019 +0200
Test the | (pipe) command.
gdb/testsuite/ChangeLog
2019-05-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.base/shell.exp: Test pipe command, $_shell_exitcode,
$_shell_exitsignal.
* gdb.base/default.exp: Update for new convenience variables.
commit 947d39462e26b0edee9b58003ea579552dbf4fa8
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Apr 20 14:14:23 2019 +0200
Implement | (pipe) command.
The pipe command allows to run a GDB command, and pipe its output
to a shell command:
(gdb) help pipe
Send the output of a gdb command to a shell command.
Usage: | [COMMAND] | SHELL_COMMAND
Usage: | -d DELIM COMMAND DELIM SHELL_COMMAND
Usage: pipe [COMMAND] | SHELL_COMMAND
Usage: pipe -d DELIM COMMAND DELIM SHELL_COMMAND
Executes COMMAND and sends its output to SHELL_COMMAND.
The -d option indicates to use the string DELIM to separate COMMAND
from SHELL_COMMAND, in alternative to |. This is useful in
case COMMAND contains a | character.
With no COMMAND, repeat the last executed command
and send its output to SHELL_COMMAND.
(gdb)
For example:
(gdb) pipe print some_data_structure | grep -B3 -A3 something
The pipe character is defined as an alias for pipe command, so that
the above can be typed as:
(gdb) | print some_data_structure | grep -B3 -A3 something
If no GDB COMMAND is given, then the previous command is relaunched,
and its output is sent to the given SHELL_COMMAND.
This also defines convenience vars $_shell_exitcode and $_shell_exitsignal
to record the exit code and exit signal of the last shell command
launched by GDB e.g. by "shell", "pipe", ...
gdb/ChangeLog
2019-05-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* cli/cli-cmds.c (pipe_command): New function.
(_initialize_cli_cmds): Call add_com for pipe_command.
Define | as an alias for pipe.
(exit_status_set_internal_vars): New function.
(shell_escape): Call exit_status_set_internal_vars.
cli/cli-decode.c (find_command_name_length): Recognize | as
a single character command.
commit b8fd091888383703f5d708c597c496d7b9e47a21
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Fri Apr 26 20:52:16 2019 +0200
Add function execute_command_to_ui_file
2019-05-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdbcmd.h (execute_command_to_ui_file): New declaration.
top.c (execute_command_to_ui_file): New function, mostly a copy
of execute_command_to_string.
(execute_command_to_string): Implement by calling
execute_command_to_ui_file.
commit 68bb5386b84af4031175bf186269eb6b54b8611d
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Apr 20 14:02:29 2019 +0200
Add previous_saved_command_line to allow a command to repeat a previous command.
Currently, a previous command can be repeated when the user types an
empty line. This is implemented in handle_line_of_input by
returning saved_command_line in case an empty line has been input.
If we want a command to repeat the previous command, we need to save
the previous saved_command_line, as when a command runs, the saved_command_line
already contains the current command line of the command being executed.
As suggested by Tom, the previous_saved_command_line is made static.
At the same time, saved_command_line is also made static.
The support functions/variables for the repeat command logic are now all
located inside top.c.
gdb/ChangeLog
2019-05-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* top.h (saved_command_line): Remove declaration.
* top.c (previous_saved_command_line, previous_repeat_arguments):
New variables.
(saved_command_line): Make static, define together with other
'repeat variables'.
(dont_repeat): Clear repeat_arguments.
(repeat_previous, get_saved_command_line, save_command_line):
New functions.
(gdb_init): Initialize saved_command_line
and previous_saved_command_line.
* main.c (captured_main_1): Remove saved_command_line initialization.
* event-top.c (handle_line_of_input): Update to use
the new 'repeat' related functions instead of direct access to
saved_command_line.
* command.h (repeat_previous, get_saved_command_line,
save_command_line): New declarations.
(dont_repeat): Add comment.
commit a0486bac41d6ce47f27795a5abbca5cc53ddba00
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Fri May 31 11:10:51 2019 +0200
libctf: fix a number of build problems found on Solaris and NetBSD
- Use of nonportable <endian.h>
- Use of qsort_r
- Use of zlib without appropriate magic to pull in the binutils zlib
- Use of off64_t without checking (fixed by dropping the unused fields
that need off64_t entirely)
- signedness problems due to long being too short a type on 32-bit
platforms: ctf_id_t is now 'unsigned long', and CTF_ERR must be
used only for functions that return ctf_id_t
- One lingering use of bzero() and of <sys/errno.h>
All fixed, using code from gnulib where possible.
Relatedly, set cts_size in a couple of places it was missed
(string table and symbol table loading upon ctf_bfdopen()).
binutils/
* objdump.c (make_ctfsect): Drop cts_type, cts_flags, and
cts_offset.
* readelf.c (shdr_to_ctf_sect): Likewise.
include/
* ctf-api.h (ctf_sect_t): Drop cts_type, cts_flags, and cts_offset.
(ctf_id_t): This is now an unsigned type.
(CTF_ERR): Cast it to ctf_id_t. Note that it should only be used
for ctf_id_t-returning functions.
libctf/
* Makefile.am (ZLIB): New.
(ZLIBINC): Likewise.
(AM_CFLAGS): Use them.
(libctf_a_LIBADD): New, for LIBOBJS.
* configure.ac: Check for zlib, endian.h, and qsort_r.
* ctf-endian.h: New, providing htole64 and le64toh.
* swap.h: Code style fixes.
(bswap_identity_64): New.
* qsort_r.c: New, from gnulib (with one added #include).
* ctf-decls.h: New, providing a conditional qsort_r declaration,
and unconditional definitions of MIN and MAX.
* ctf-impl.h: Use it. Do not use <sys/errno.h>.
(ctf_set_errno): Now returns unsigned long.
* ctf-util.c (ctf_set_errno): Adjust here too.
* ctf-archive.c: Use ctf-endian.h.
(ctf_arc_open_by_offset): Use memset, not bzero. Drop cts_type,
cts_flags and cts_offset.
(ctf_arc_write): Drop debugging dependent on the size of off_t.
* ctf-create.c: Provide a definition of roundup if not defined.
(ctf_create): Drop cts_type, cts_flags and cts_offset.
(ctf_add_reftype): Do not check if type IDs are below zero.
(ctf_add_slice): Likewise.
(ctf_add_typedef): Likewise.
(ctf_add_member_offset): Cast error-returning ssize_t's to size_t
when known error-free. Drop CTF_ERR usage for functions returning
int.
(ctf_add_member_encoded): Drop CTF_ERR usage for functions returning
int.
(ctf_add_variable): Likewise.
(enumcmp): Likewise.
(enumadd): Likewise.
(membcmp): Likewise.
(ctf_add_type): Likewise. Cast error-returning ssize_t's to size_t
when known error-free.
* ctf-dump.c (ctf_is_slice): Drop CTF_ERR usage for functions
returning int: use CTF_ERR for functions returning ctf_type_id.
(ctf_dump_label): Likewise.
(ctf_dump_objts): Likewise.
* ctf-labels.c (ctf_label_topmost): Likewise.
(ctf_label_iter): Likewise.
(ctf_label_info): Likewise.
* ctf-lookup.c (ctf_func_args): Likewise.
* ctf-open.c (upgrade_types): Cast to size_t where appropriate.
(ctf_bufopen): Likewise. Use zlib types as needed.
* ctf-types.c (ctf_member_iter): Drop CTF_ERR usage for functions
returning int.
(ctf_enum_iter): Likewise.
(ctf_type_size): Likewise.
(ctf_type_align): Likewise. Cast to size_t where appropriate.
(ctf_type_kind_unsliced): Likewise.
(ctf_type_kind): Likewise.
(ctf_type_encoding): Likewise.
(ctf_member_info): Likewise.
(ctf_array_info): Likewise.
(ctf_enum_value): Likewise.
(ctf_type_rvisit): Likewise.
* ctf-open-bfd.c (ctf_bfdopen): Drop cts_type, cts_flags and
cts_offset.
(ctf_simple_open): Likewise.
(ctf_bfdopen_ctfsect): Likewise. Set cts_size properly.
* Makefile.in: Regenerate.
* aclocal.m4: Likewise.
* config.h: Likewise.
* configure: Likewise.
commit ff4a4474eba6488c8ad3cae51a685fe282ab249a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri May 31 00:00:14 2019 +0000
Automatic date update in version.in
commit 4288405d5ec2c68c7e9d8d68a090c6c9ff3825d1
Author: Jim Wilson <jimw@sifive.com>
Date: Thu May 30 15:23:10 2019 -0700
RISC-V: Fix lui argument parsing.
This fixes a bug reported on the riscv.org sw-dev mailing list. This
rejects "lui x1,symbol", as a symbol should only be accepted here when
used inside %hi(). Without the fix, this gets assembled as "lui x1,0"
with no relocation which is clearly wrong.
gas/
* config/tc-riscv.c (riscv_ip) <'u'>: Move O_constant check inside if
statement. Delete O_symbol and O_constant check after if statement.
* testsuite/gas/riscv/auipc-parsing.s: Test lui with missing %hi.
* testsuite/gas/riscv/auipc-parsing.l: Update.
commit bfcdb85206cd3c3b8ad73b13db6bfb2ec608239b
Author: Tom Tromey <tromey@adacore.com>
Date: Thu May 30 08:50:22 2019 -0600
Two comment fixes in gdbtypes.h
This fixes a couple of comments in gdbtypes.h. One comment had a
typo; and another comment referred to "Moto", which is presumably some
long-gone Motorola-related project.
Tested by rebuilding.
gdb/ChangeLog
2019-05-30 Tom Tromey <tromey@adacore.com>
* gdbtypes.h (struct range_bounds) <flag_upper_bound_is_count>:
Fix comment.
(TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED): Rewrite comment.
commit 0ef209f22c24b9243de68c35c576f7111198f915
Author: Jan Vrany <jan.vrany@fit.cvut.cz>
Date: Thu May 30 13:04:26 2019 +0100
Initialize variable word in complete
The complete function should set parameter word to the end of the
word to complete. However, completion_find_completion_word may fail,
leaving word uninitialized.
To make sure word is always set, initialize it to the completion point
which is the end of the line parameter.
gdb/Changelog
PR cli/24587
* completer.c (complete): Initialize variable word.
commit e3f56a99f66298bb505d0426950b9716a853a5df
Author: Nick Clifton <nickc@redhat.com>
Date: Thu May 30 11:17:19 2019 +0100
Revert "Sync top level files with versions from gcc."
This reverts commit f948b2de97884bfb4e5fc11d40a6bea9e0b096ae.
commit ae9ac79e5e291a2bc5c6620a10c37a3558d55d36
Author: Nick Clifton <nickc@redhat.com>
Date: Thu May 30 10:17:29 2019 +0100
Harmonize readelf's output for version sections.
PR 24627
binutils * readelf.c (process_version_sections): Add 0x prefix to address
display. Correct indentation.
ld * testsuite/ld-elf/ver_def.vd: Update expected output.
commit 54a471e5fd44d7a91297ece1383b0ad6d62c7306
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu May 30 00:00:14 2019 +0000
Automatic date update in version.in
commit 955b06fa576df1a6954263043ea3f3a5b9ad5940
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Wed May 29 10:36:57 2019 -0400
Don't crash is dwarf_decode_macro_bytes's 'body' is NULL, even when '!is_define'
Ref.: https://bugzilla.redhat.com/show_bug.cgi?id=1715008
On commit 7bede82892a06e6c26989803e70f53697392dcf9 ("Don't crash if
dwarf_decode_macro_bytes's 'body' is NULL"), I was too strict when
checking if 'body' is NULL: the check only comprised the case when
'is_define' is true. However, the corruption of .debug_macro by
rpmbuild's "debugedit" also affects the case when 'is_define' is
false, i.e., when the macro is being undefined.
This commit improves the check and covers both cases now. This has
been tested on Fedora 30 with a problematic debuginfo, and I don't see
a segfault anymore.
OK to push?
gdb/ChangeLog:
2019-05-29 Sergio Durigan Junior <sergiodj@redhat.com>
Ref.: https://bugzilla.redhat.com/show_bug.cgi?id=1708192
Ref.: https://bugzilla.redhat.com/show_bug.cgi?id=1715008
* dwarf2read.c (dwarf_decode_macro_bytes): Move check to see if
'body' is NULL to the outter 'if', protecting the '!is_define'
situation as well.
commit f49055a52f04f75b6560f304eb975128dd82ad68
Author: Tom Tromey <tromey@adacore.com>
Date: Tue May 28 10:55:59 2019 -0600
Fix failure in gdb.ada/complete.exp
I noticed a failure in gdb.ada/complete.exp when testing locally:
FAIL: gdb.ada/complete.exp: complete break ada
This failed due to this output:
[...]
break ada/generated/gnatvsn.ads
break ada/libgnat/s-excmac.ads
break ada/sdefault.adb
break ada/snames.adb
break ada/snames.ads
This patch updates the regexp to allow "/" and "-" to appear.
gdb/testsuite/ChangeLog
2019-05-29 Tom Tromey <tromey@adacore.com>
* gdb.ada/complete.exp (test_gdb_no_completion): Add "/" and "-"
to "break complete ada" test case's regexp.
commit fa9c3fa035433debc24503e32c59688650ffcdbb
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 22 09:08:49 2019 -0400
Make some DWARF complaints clearer
I noticed that the complaint in partial_die_parent_scope was not using
dwarf_tag_name, so I changed that. Then I noticed that dwarf_tag_name
does not show the numeric value for an unrecognized tag, so I changed
that function and all the related functions to do so.
gdb/ChangeLog
2019-05-29 Tom Tromey <tromey@adacore.com>
* dwarf2read.c (partial_die_parent_scope): Call dwarf_tag_name.
(dwarf_unknown): New function.
(dwarf_tag_name, dwarf_attr_name, dwarf_form_name)
(dwarf_type_encoding_name): Use dwarf_unknown.
commit 4330d61dfb05d77fd925efdca45091f12e3a6266
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 29 09:34:50 2019 -0600
Fix crash in cp_print_value_fields
PR c++/20020 concerns a crash in cp_print_value_fields. The immediate
cause is that cp_print_value_fields does not handle the case where
value_static_field fails. This is fixed in this patch by calling
cp_print_static_field from the "try" block.
Digging a bit deeper, the error occurs because GCC does not emit a
DW_AT_const_value for a static constexpr member appearing in a
template class. I've filed a GCC bug for this.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-05-29 Tom Tromey <tromey@adacore.com>
PR c++/20020:
* cp-valprint.c (cp_print_value_fields): Call
cp_print_static_field inside "try".
gdb/testsuite/ChangeLog
2019-05-29 Tom Tromey <tromey@adacore.com>
PR c++/20020:
* gdb.cp/constexpr-field.exp: New file.
* gdb.cp/constexpr-field.cc: New file.
commit 6ff185b89017b16e9092142515f0a119b684ac72
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 29 22:56:30 2019 +0930
s12z genelf.em
This changes s12z to use generic.em and genelf.em, which is more
suited to targets that use the generic linker hash table. A tweak or
two to some testsuite predicates then gives a clean testsuite result
on the target.
PR 24596
binutils/
* testsuite/lib/binutils-common.exp (supports_gnu_unique): Add
s12z to targets not supporting this feature.
ld/
* emulparams/m9s12zelf.sh (TEMPLATE_NAME): Set to generic.
(EXTRA_EM_FILE): Define to genelf.
* testsuite/lib/ld-lib.exp (uses_genelf): Add s12z.
commit 1336939d3cd4cb02670c48ef065bafdf0fdae300
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 29 22:54:37 2019 +0930
Support tcl procedure calls in run_dump_test xfail
Also support tcl procedure calls in the run_ld_link_tests and
run_ld_link_exec_tests optional "xfail" args. Implements "is_generic"
and renames "is_generic_elf" to "uses_genelf", then uses these procs
in lots of ld tests.
moxie-elf -FAIL: ld-elf/orphan3
mt-elf -FAIL: ld-elf/merge
s12z-elf -FAIL: ld-discard/extern
s12z-elf -FAIL: ld-discard/start
s12z-elf -FAIL: ld-discard/static
s12z-elf -FAIL: PR ld/21703
s12z-elf -FAIL: PR ld/21703 -r
s12z-elf -FAIL: Symbol flags copy
s12z-elf -FAIL: ld-elf/group1
s12z-elf -FAIL: ld-elf/group3b
s12z-elf -FAIL: ld-elf/group8a
s12z-elf -FAIL: ld-elf/group8b
s12z-elf -FAIL: ld-elf/group9a
s12z-elf -FAIL: ld-elf/group9b
s12z-elf -FAIL: ld-elf/linkonce2
s12z-elf -FAIL: ld-elf/merge2
s12z-elf -FAIL: ld-elf/merge3
s12z-elf -FAIL: ld-elf/pr12851
s12z-elf -FAIL: ld-elf/pr17550c
s12z-elf -FAIL: ld-elf/pr17550d
s12z-elf -FAIL: ld-elf/pr22677
s12z-elf -FAIL: ld-elf/pr22836-1a
s12z-elf -FAIL: ld-elf/pr22836-1b
s12z-elf -FAIL: ld-elf/warn1
s12z-elf -FAIL: ld-elf/warn3
binutils/
* testsuite/lib/binutils-common.exp (run_dump_test): Support
tcl procedures for xfail args.
ld/
* testsuite/lib/ld-lib.exp (run_ld_link_tests): Support procedure
calls in optional "xfail" args.
(run_ld_link_exec_tests): Likewise.
(is_generic): New.
(uses_genelf): Rename from is_generic_elf. Delete bogus semicolons.
* testsuite/ld-scripts/align.exp: Rename is_generic_elf call.
* testsuite/ld-elf/elf.exp: Use is_generic and uses_genelf. Delete
xfail_implib var.
* testsuite/ld-elf/sec64k.exp: Use is_generic.
* testsuite/ld-elf/shared.exp: Likewise.
* testsuite/ld-discard/extern.d: Use is_generic in xfail.
* testsuite/ld-discard/start.d: Likewise.
* testsuite/ld-discard/static.d: Likewise.
* testsuite/ld-elf/attributes.d: Likewise.
* testsuite/ld-elf/group1.d: Likewise.
* testsuite/ld-elf/group3b.d: Likewise.
* testsuite/ld-elf/group8a.d: Likewise.
* testsuite/ld-elf/group8b.d: Likewise.
* testsuite/ld-elf/group9a.d: Likewise.
* testsuite/ld-elf/group9b.d: Likewise.
* testsuite/ld-elf/linkonce2.d: Likewise.
* testsuite/ld-elf/merge2.d: Likewise.
* testsuite/ld-elf/merge3.d: Likewise.
* testsuite/ld-elf/pr12851.d: Likewise.
* testsuite/ld-elf/pr12975.d: Likewise.
* testsuite/ld-elf/pr13177.d: Likewise.
* testsuite/ld-elf/pr13195.d: Likewise.
* testsuite/ld-elf/pr17550c.d: Likewise.
* testsuite/ld-elf/pr17550d.d: Likewise.
* testsuite/ld-elf/pr17615.d: Likewise.
* testsuite/ld-elf/pr21562a.d: Likewise.
* testsuite/ld-elf/pr21562b.d: Likewise.
* testsuite/ld-elf/pr21562c.d: Likewise.
* testsuite/ld-elf/pr21562d.d: Likewise.
* testsuite/ld-elf/pr21562i.d: Likewise.
* testsuite/ld-elf/pr21562j.d: Likewise.
* testsuite/ld-elf/pr21562k.d: Likewise.
* testsuite/ld-elf/pr21562l.d: Likewise.
* testsuite/ld-elf/pr21562m.d: Likewise.
* testsuite/ld-elf/pr21562n.d: Likewise.
* testsuite/ld-elf/pr22677.d: Likewise.
* testsuite/ld-elf/pr22836-1a.d: Likewise.
* testsuite/ld-elf/pr22836-1b.d: Likewise.
* testsuite/ld-elf/warn3.d: Likewise.
* testsuite/ld-elf/warn1.d: Likewise and xfail sparc solaris
targets rather than notarget.
* testsuite/ld-elf/compressed1d.d: Use uses_genelf in xfail.
* testsuite/ld-elf/orphan-10.d: Likewise.
* testsuite/ld-elf/orphan-9.d: Likewise.
* testsuite/ld-elf/orphan-region.d: Likewise.
* testsuite/ld-elf/orphan.d: Likewise.
* testsuite/ld-elf/orphan3.d: Likewise.
* testsuite/ld-elf/pr20528a.d: Likewise.
* testsuite/ld-elf/pr20528b.d: Likewise.
* testsuite/ld-elf/pr23658-1a.d: Likewise.
* testsuite/ld-elf/pr23658-1b.d: Likewise.
* testsuite/ld-elf/pr349.d: Likewise.
* testsuite/ld-elf/warn2.d: Likewise and xfail sparc solaris
targets rather than notarget.
* testsuite/ld-elf/merge.d: Correct ms1-*-* to mt-*-*.
commit 33a6bc350f5b4f03d586ba9d32667b6fea1dce4a
Author: Tom Tromey <tromey@adacore.com>
Date: Fri May 10 09:25:19 2019 -0600
Add new GCC 9 warnings to warnings.m4
GCC 9 has a few new warnings that aren't enabled in the gdb build by
default: -Wdeprecated-copy, -Wdeprecated-copy-dtor, and
-Wredundant-move. This patch enables them all.
Tested by rebuilding with a new GCC (git master) on x86-64 Fedora 29.
gdb/ChangeLog
2019-05-29 Tom Tromey <tromey@adacore.com>
* inflow.c (struct terminal_info): Add default operator=.
* configure: Rebuild.
* warning.m4 (AM_GDB_WARNINGS): Add -Wdeprecated-copy,
-Wdeprecated-copy-dtor, -Wredundant-move.
gdb/gdbserver/ChangeLog
2019-05-29 Tom Tromey <tromey@adacore.com>
* configure: Rebuild.
commit 000439d52897541ad00a84026ac471b4f8cb3c97
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 15 13:06:59 2019 -0600
Add "set print finish"
A user wanted to be able to disable the display of the value when
using "finish" -- but still have the value entered into the value
history in case it was useful later on. Part of the rationale here is
that sometimes the value might be quite large, or expensive to display
(in their case this was compounded by a rogue pretty-printer).
This patch implements this idea.
gdb/ChangeLog
2019-05-29 Tom Tromey <tromey@adacore.com>
* NEWS: Add entry.
* infcmd.c (print_return_value_1): Handle finish_print
option.
(show_print_finish): New function.
(_initialize_infcmd): Add "set/show print finish" commands.
* valprint.c (user_print_options): Initialize new member.
* valprint.h (struct value_print_options) <finish_print>: New
member.
gdb/doc/ChangeLog
2019-05-29 Tom Tromey <tromey@adacore.com>
* gdb.texinfo (Continuing and Stepping): Document new
commands.
gdb/testsuite/ChangeLog
2019-05-29 Tom Tromey <tromey@adacore.com>
* gdb.base/finish.exp (finish_no_print): New proc.
(finish_tests): Call it.
commit e33f2313bf63b77763739732be14b469b4b647b7
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 29 12:49:13 2019 +0100
Update release tools with libctf support.
top * src-release.sh (do_proto_toplev): Add libctf to list of
directories that can be disabled.
binutils* README-how-to-make-a-release: Add libctf to list of directories
that need updates in their ChangeLogs.
commit f948b2de97884bfb4e5fc11d40a6bea9e0b096ae
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 29 12:43:42 2019 +0100
Sync top level files with versions from gcc.
top * Makefile.def (target_modules): Add libphobos.
(flags_to_pass): Add GDC, GDCFLAGS, GDC_FOR_TARGET and
GDCFLAGS_FOR_TARGET.
(dependencies): Make libphobos depend on libatomic, libbacktrace
configure, and zlib configure.
(language): Add language d.
* Makefile.in: Rebuild.
* Makefile.tpl (BUILD_EXPORTS): Add GDC and GDCFLAGS.
(HOST_EXPORTS): Add GDC.
(POSTSTAGE1_HOST_EXPORTS): Add GDC and GDC_FOR_BUILD.
(BASE_TARGET_EXPORTS): Add GDC.
(GDC_FOR_BUILD, GDC, GDCFLAGS): New variables.
(GDC_FOR_TARGET, GDC_FLAGS_FOR_TARGET): New variables.
(EXTRA_HOST_FLAGS): Add GDC.
(STAGE1_FLAGS_TO_PASS): Add GDC.
(EXTRA_TARGET_FLAGS): Add GDC and GDCFLAGS.
* config-ml.in: Treat GDC and GDCFLAGS like other compiler/flag
environment variables.
* configure: Rebuild.
* configure.ac: Add target-libphobos to target_libraries. Set and
substitute GDC_FOR_BUILD and GDC_FOR_TARGET.
commit 90bd54236cb8b1c31c3662977159be971044c20d
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 29 11:31:16 2019 +0100
Do not build libctf for targets that do not use the ELF file format.
top * configure.ac (noconfigdirs): Add libctf if the target does not use
the ELF file format.
* configure: Regenerate.
binutils* configure.ac (LIBCTF): Export. Set to empty for non-ELF based
targets.
(HAVE_LIBCTF): Define if libctf support is available.
* Makefile.am (LIBCTF): Set value to @LIBCTF@.
* objdump.c: Make CTF code conditional upon HAVE_LIBCTF being
defined.
* readelf.c: Likewise.
* configure: Regenerate.
* Makefile.in: Regenerate.
* config.in: Regenerate.
commit 9698cf9b1c485edbbeabc9f65bfd0fdef92e3854
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed May 29 11:11:37 2019 +0200
Fix libctf build on non-ELF targets.
All machinery works as on ELF, except for automatic loading of ELF
string and symbol tables in the BFD-style open machinery.
* Makefile.def (dependencies): configure-libctf depends on all-bfd
and all its deps.
* Makefile.in: Regenerated.
libctf/
* configure.in: Check for bfd_section_from_elf_index.
* configure: Regenerate.
* config.h.in [HAVE_BFD_ELF]: Likewise.
* libctf/ctf_open_bfd (ctf_bfdopen_ctfsect): Use it.
abfd is potentially unused now.
commit 90f879191c1bc8455527f66fb4ab46873aa870aa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed May 29 00:00:28 2019 +0000
Automatic date update in version.in
commit 1e129bbefadbf09ace0fc7fcb3cfcda13700e3b8
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date: Thu May 23 18:16:08 2019 -0700
MIPS/LD: Skip overflow check for %pcrel_hi relocations
Overflow checks were removed for all hi16 relocations except PC-relative
high relocations per PR ld/16720. Remove overflow checks from %pcrel_hi
relocations so that we can correctly handle negative offsets from PC.
bfd/
* elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_PCHI16>:
Remove overflow check.
ld/
* testsuite/ld-mips-elf/undefweak-overflow.s: Remove test case
for pcrel_hi/pcrel_lo.
* testsuite/ld-mips-elf/undefweak-overflow.d: Update to match.
* testsuite/ld-mips-elf/reloc-pcrel-r6.s: New test source.
* testsuite/ld-mips-elf/reloc-pcrel-r6.d: New test linker script.
* testsuite/ld-mips-elf/reloc-pcrel-r6.ld: New test.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new test.
commit a2f4b66c9eb5210f8ef6038d7194af1e5f314f97
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue May 28 10:05:28 2019 -0700
x86: Add CheckRegSize to AVX512_BF16 instructions with Disp8ShiftVL
For AVX512 instructions with Disp8ShiftVL and Broadcast, we may need to
add CheckRegSize to check if broadcast matches the destination register
size.
gas/
PR gas/24625
* testsuite/gas/i386/inval-avx512f.s: Add tests for AVX512_BF16
instructions with invalid broadcast.
* testsuite/gas/i386/x86-64-inval-avx512f.s: Likewise.
* testsuite/gas/i386/inval-avx512f.l: Updated.
* testsuite/gas/i386/x86-64-inval-avx512f.l: Likewise.
opcodes/
PR gas/24625
* i386-opc.tbl: Add CheckRegSize to AVX512_BF16 instructions with
Disp8ShiftVL.
* i386-tbl.h: Regenerated.
commit c0e70c624fc7d89f5cf281350692de89a063786f
Author: Tom Tromey <tromey@adacore.com>
Date: Thu May 23 10:40:27 2019 -0400
Remove find_old_style_renaming_symbol
We found a case where a "bt" was very slow with Ada code. Profiling
with callgrind showed this to be primarily due to calls to
find_old_style_renaming_symbol. Because new-style renaming symbols
were implemented in 2007, it seems safe enough to remove this old
code.
A "-batch -ex bt" test on a large Ada program improves from:
13.23user 0.57system 0:13.82elapsed 99%CPU (0avgtext+0avgdata 571408maxresident)k
to
4.25user 0.48system 0:04.74elapsed 99%CPU (0avgtext+0avgdata 559844maxresident)k
with this patch.
Tested on x86-64 Fedora 29. Joel reviewed this internally; and as it
is Ada-specific, I am checking it in.
gdb/ChangeLog
2019-05-28 Tom Tromey <tromey@adacore.com>
* ada-lang.c (ada_remove_Xbn_suffix)
(find_old_style_renaming_symbol)
(parse_old_style_renaming): Remove.
(ada_find_renaming_symbol): Don't call
find_old_style_renaming_symbol.
(ada_is_renaming_symbol): Rename from
ada_find_renaming_symbol. Remove "block" parameter. Return
bool. Now static.
(ada_read_var_value): Update and simplify.
* ada-exp.y (write_var_or_type): Remove old code.
commit 88981b157b08f2e9a404a2f86d4ee131f17ce3d4
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Tue May 28 17:01:32 2019 +0100
Add libctf to top-level MAINTAINERS; add myself as CTF maintainer.
commit 7d9813f196bd1a98d49c2b9b7b90351cb2435b0d
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 12:04:33 2019 +0100
binutils: CTF support for objdump and readelf
This introduces CTF support for objdump and readelf. objdump has the
following new arguments:
--ctf=SECTION: display CTF in the given SECTION
--ctf-parent=SECTION: name of CTF section that is the parent of this section
readelf has the above, and these two as well:
--ctf-symbols=SECTION: name of symbol table section (optional)
--ctf-strings=SECTION: name of string table section (optional)
(objdump can always use BFD machinery to determine the applicable string
and symbol tables automatically, so these arguments are unnecessary.)
Nearly all the work is done by the ctf_dump machinery in libctf: most of
the remaining work is option-processing and section-reading, and thus is
different for objdump and readelf: the minimal amount of similar code
remaining is, in my view, too small to share, particularly given that
objdump uses ctf_bfdopen() and readelf uses ctf_simple_open() since it
doesn't have a bfd.
I am not particularly satisfied with the way resources are freed in
either of these (I was forced to do it at the top level, for lack of
anywhere else to free resources allocated during option processing), but
I can't see any better way to do it without introducing new
infrastructure for no other purpose.
There are essentially arbitrary ordering changes to the Makefile.in's
order of libtool-related stuff that I can't get rid of, but they have no
semantic effect. (It is possible that some hunks of these changes could
be dropped, but that seems a bit risky to me.)
binutils/
* objdump.c (ctf-api.h): New include.
(dump_ctf_section_info): New variable.
(dump_ctf_section_name): Likewise.
(usage): Describe new options.
(enum option_values): Add OPTION_CTF and OPTION_CTF_PARENT.
(main): Use them to add --ctf and --ctf-parent.
(read_section_stabs): Add new parameter, entsize_ptr.
(find_stabs_section): Adjust accordingly.
(make_ctfsect): New.
(dump_ctf_indent_lines): New.
(dump_ctf_archive_member): New.
(dump_ctf): New.
(dump_bfd): Call it. Free resources afterwards.
* readelf.c (ctf-api.h): New include.
(CTF_DUMP): New.
(static bfd_boolean do_ctf): Likewise.
(dump_ctf_parent_name): Likewise.
(dump_ctf_symtab_name): Likewise.
(dump_ctf_strtab_name): Likewise.
(OPTION_CTF_DUMP): Likewise.
(OPTION_CTF_PARENT): Likewise.
(OPTION_CTF_SYMBOLS): Likewise.
(OPTION_CTF_STRINGS): Likewise.
(options): Add them.
(usage): Likewise.
(parse_args): Handle the new options, requesting CTF_DUMP.
(process_section_contents): Handle CTF_DUMP.
(shdr_to_ctf_sect): New.
(dump_ctf_indent_lines): New.
(dump_section_as_ctf): New.
(main): Free resources.
* Makefile.am (LIBCTF): New variable.
(objdump_DEPENDENCIES): Use it.
(readelf_DEPENDENCIES): Likewise.
(objdump_LDADD): Likewise.
(readelf_LDADD): Likewise.
* aclocal.m4: Regenerated.
* Makefile.in: Likewise.
* doc/binutils.texi (objdump): Document the new options.
(readelf): Likewise.
* doc/ctf.options.texi: New.
* doc/Makefile.in: Regenerated.
* NEWS: Mention the new feature.
commit 0e65dfbaf3a0299e4837216a103c28625d4b4f1d
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 11:49:48 2019 +0100
libctf: build system
This ties libctf into the build system, and makes binutils depend on it
(used by the next commits).
* Makefile.def (host_modules): Add libctf.
* Makefile.def (dependencies): Likewise.
libctf depends on zlib, libiberty, and bfd.
* Makefile.in: Regenerated.
* configure.ac (host_libs): Add libctf.
* configure: Regenerated.
libctf/
* Makefile.am: New.
* Makefile.in: Regenerated.
* config.h.in: Likewise.
* aclocal.m4: Likewise.
* configure: Likewise.
commit a30b3e182aad25f94de6412efd5d78f7805fb4d3
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 11:41:00 2019 +0100
libctf: debug dumping
This introduces ctf_dump(), an iterator which returns a series of
strings, each representing a debugging dump of one item from a given
section in the CTF file. The items may be multiline: a callback is
provided to allow the caller to decorate each line as they desire before
the line is returned.
libctf/
* ctf-dump.c: New.
include/
* ctf-api.h (ctf_dump_decorate_f): New.
(ctf_dump_state_t): new.
(ctf_dump): New.
commit 6dbf2b734063522b4f3d7403ce7a2b436802b839
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 11:35:37 2019 +0100
libctf: labels
This facility allows you to associate regions of type IDs with *labels*,
a labelled tiling of the type ID space. You can use these to define
CTF containers with distinct parents for distinct ranges of the ID
space, or to assist with parallelization of CTF processing, or for any
other purpose you can think of.
Notably absent from here (though declared in the API header) is any way
to define new labels: this will probably be introduced soon, as part of
the linker deduplication work. (One existed in the past, but was deeply
tied to the Solaris CTF file generator and had to be torn out.)
libctf/
* ctf-labels.c: New.
include/
* ctf-api.h (ctf_label_f): New.
(ctf_label_set): New.
(ctf_label_get): New.
(ctf_label_topmost): New.
(ctf_label_info): New.
(ctf_label_iter): New.
commit 6c33b742ce19cc2fd226d84f2991572239199a62
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 11:26:42 2019 +0100
libctf: library version enforcement
This old Solaris standard allows callers to specify that they are
expecting one particular API and/or CTF file format from the library.
libctf/
* ctf-impl.h (_libctf_version): New declaration.
* ctf-subr.c (_libctf_version): Define it.
(ctf_version): New.
include/
* ctf-api.h (ctf_version): New.
commit c499eb6896cd803d26da8c719bfac9c03e596c08
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 11:22:03 2019 +0100
libctf: type copying
ctf_add_type() allows you to copy types, and all the types they depend
on, from one container to another (writable) container. This lets a
program maintaining multiple distinct containers (not in a parent-child
relationship) introduce types that depend on types in one container in
another writable one, by copying the necessary types.
libctf/
* ctf-create.c (enumcmp): New.
(enumadd): Likewise.
(membcmp): Likewise.
(membadd): Likewise.
(ctf_add_type): Likewise.
commit b437bfe0f4cf06559ca4c508a2869383196ddc6b
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 11:15:33 2019 +0100
libctf: lookups by name and symbol
These functions allow you to look up types given a name in a simple
subset of C declarator syntax (no function pointers), to look up the
types of variables given a name, and to look up the types of data
objects and the type signatures of functions given symbol table offsets.
(Despite its name, one function in this commit, ctf_lookup_symbol_name(),
is for the internal use of libctf only, and does not appear in any
public header files.)
libctf/
* ctf-lookup.c (isqualifier): New.
(ctf_lookup_by_name): Likewise.
(struct ctf_lookup_var_key): Likewise.
(ctf_lookup_var): Likewise.
(ctf_lookup_variable): Likewise.
(ctf_lookup_symbol_name): Likewise.
(ctf_lookup_by_symbol): Likewise.
(ctf_func_info): Likewise.
(ctf_func_args): Likewise.
include/
* ctf-api.h (ctf_func_info): New.
(ctf_func_args): Likewise.
(ctf_lookup_by_symbol): Likewise.
(ctf_lookup_by_symbol): Likewise.
(ctf_lookup_variable): Likewise.
commit 316afdb130346e44622229793d1fb8d391059f8d
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 11:03:37 2019 +0100
libctf: core type lookup
Finally we get to the functions used to actually look up and enumerate
properties of types in a container (names, sizes, members, what type a
pointer or cv-qual references, determination of whether two types are
assignment-compatible, etc).
With a very few exceptions these do not work for types newly added via
ctf_add_*(): they only work on types in read-only containers, or types
added before the most recent call to ctf_update().
This also adds support for lookup of "variables" (string -> type ID
mappings) and for generation of C type names corresponding to a type ID.
libctf/
* ctf-decl.c: New file.
* ctf-types.c: Likewise.
* ctf-impl.h: New declarations.
include/
* ctf-api.h (ctf_visit_f): New definition.
(ctf_member_f): Likewise.
(ctf_enum_f): Likewise.
(ctf_variable_f): Likewise.
(ctf_type_f): Likewise.
(ctf_type_isparent): Likewise.
(ctf_type_ischild): Likewise.
(ctf_type_resolve): Likewise.
(ctf_type_aname): Likewise.
(ctf_type_lname): Likewise.
(ctf_type_name): Likewise.
(ctf_type_sizee): Likewise.
(ctf_type_align): Likewise.
(ctf_type_kind): Likewise.
(ctf_type_reference): Likewise.
(ctf_type_pointer): Likewise.
(ctf_type_encoding): Likewise.
(ctf_type_visit): Likewise.
(ctf_type_cmp): Likewise.
(ctf_type_compat): Likewise.
(ctf_member_info): Likewise.
(ctf_array_info): Likewise.
(ctf_enum_name): Likewise.
(ctf_enum_value): Likewise.
(ctf_member_iter): Likewise.
(ctf_enum_iter): Likewise.
(ctf_type_iter): Likewise.
(ctf_variable_iter): Likewise.
commit 143dce8481f09f60704ab52b98cf8fe6d8b29fc9
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 10:46:39 2019 +0100
libctf: ELF file opening via BFD
These functions let you open an ELF file with a customarily-named CTF
section in it, automatically opening the CTF file or archive and
associating the symbol and string tables in the ELF file with the CTF
container, so that you can look up the types of symbols in the ELF file
via ctf_lookup_by_symbol(), and so that strings can be shared between
the ELF file and CTF container, to save space.
It uses BFD machinery to do so. This has now been lightly tested and
seems to work. In particular, if you already have a bfd you can pass
it in to ctf_bfdopen(), and if you want a bfd made for you you can
call ctf_open() or ctf_fdopen(), optionally specifying a target (or
try once without a target and then again with one if you get
ECTF_BFD_AMBIGUOUS back).
We use a forward declaration for the struct bfd in ctf-api.h, so that
ctf-api.h users are not required to pull in <bfd.h>. (This is mostly
for the sake of readelf.)
libctf/
* ctf-open-bfd.c: New file.
* ctf-open.c (ctf_close): New.
* ctf-impl.h: Include bfd.h.
(ctf_file): New members ctf_data_mmapped, ctf_data_mmapped_len.
(ctf_archive_internal): New members ctfi_abfd, ctfi_data,
ctfi_bfd_close.
(ctf_bfdopen_ctfsect): New declaration.
(_CTF_SECTION): likewise.
include/
* ctf-api.h (struct bfd): New forward.
(ctf_fdopen): New.
(ctf_bfdopen): Likewise.
(ctf_open): Likewise.
(ctf_arc_open): Likewise.
commit 9402cc593f4aa54677203efa9a92c4f28d3033eb
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 11:30:17 2019 +0100
libctf: mmappable archives
If you need to store a large number of CTF containers somewhere, this
provides a dedicated facility for doing so: an mmappable archive format
like a very simple tar or ar without all the system-dependent format
horrors or need for heavy file copying, with built-in compression of
files above a particular size threshold.
libctf automatically mmap()s uncompressed elements of these archives, or
uncompresses them, as needed. (If the platform does not support mmap(),
copying into dynamically-allocated buffers is used.)
Archive iteration operations are partitioned into raw and non-raw
forms. Raw operations pass thhe raw archive contents to the callback:
non-raw forms open each member with ctf_bufopen() and pass the resulting
ctf_file_t to the iterator instead. This lets you manipulate the raw
data in the archive, or the contents interpreted as a CTF file, as
needed.
It is not yet known whether we will store CTF archives in a linked ELF
object in one of these (akin to debugdata) or whether they'll get one
section per TU plus one parent container for types shared between them.
(In the case of ELF objects with very large numbers of TUs, an archive
of all of them would seem preferable, so we might just use an archive,
and add lzma support so you can assume that .gnu_debugdata and .ctf are
compressed using the same algorithm if both are present.)
To make usage easier, the ctf_archive_t is not the on-disk
representation but an abstraction over both ctf_file_t's and archives of
many ctf_file_t's: users see both CTF archives and raw CTF files as
ctf_archive_t's upon opening, the only difference being that a raw CTF
file has only a single "archive member", named ".ctf" (the default if a
null pointer is passed in as the name). The next commit will make use
of this facility, in addition to providing the public interface to
actually open archives. (In the future, it should be possible to have
all CTF sections in an ELF file appear as an "archive" in the same
fashion.)
This machinery is also used to allow library-internal creators of
ctf_archive_t's (such as the next commit) to stash away an ELF string
and symbol table, so that all opens of members in a given archive will
use them. This lets CTF archives exploit the ELF string and symbol
table just like raw CTF files can.
(All this leads to somewhat confusing type naming. The ctf_archive_t is
a typedef for the opaque internal type, struct ctf_archive_internal: the
non-internal "struct ctf_archive" is the on-disk structure meant for
other libraries manipulating CTF files. It is probably clearest to use
the struct name for struct ctf_archive_internal inside the program, and
the typedef names outside.)
libctf/
* ctf-archive.c: New.
* ctf-impl.h (ctf_archive_internal): New type.
(ctf_arc_open_internal): New declaration.
(ctf_arc_bufopen): Likewise.
(ctf_arc_close_internal): Likewise.
include/
* ctf.h (CTFA_MAGIC): New.
(struct ctf_archive): New.
(struct ctf_archive_modent): Likewise.
* ctf-api.h (ctf_archive_member_f): New.
(ctf_archive_raw_member_f): Likewise.
(ctf_arc_write): Likewise.
(ctf_arc_close): Likewise.
(ctf_arc_open_by_name): Likewise.
(ctf_archive_iter): Likewise.
(ctf_archive_raw_iter): Likewise.
(ctf_get_arc): Likewise.
commit 72f3392127e1892cb203a98092b4ae32485365fe
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Apr 24 10:17:13 2019 +0100
libctf: opening
This fills in the other half of the opening/creation puzzle: opening of
already-existing CTF files. Such files are always read-only: if you
want to add to a CTF file opened with one of the opening functions in
this file, use ctf_add_type(), in a later commit, to copy appropriate
types into a newly ctf_create()d, writable container.
The lowest-level opening functions are in here: ctf_bufopen(), which
takes ctf_sect_t structures akin to ELF section headers, and
ctf_simple_open(), which can be used if you don't have an entire ELF
section header to work from. Both will malloc() new space for the
buffers only if necessary, will mmap() directly from the file if
requested, and will mprotect() it afterwards to prevent accidental
corruption of the types. These functions are also used by ctf_update()
when converting types in a writable container into read-only types that
can be looked up using the lookup functions (in later commits).
The files are always of the native endianness of the system that created
them: at read time, the endianness of the header magic number is used to
determine whether or not the file needs byte-swapping, and the entire
thing is aggressively byte-swapped.
The agggressive nature of this swapping avoids complicating the rest of
the code with endianness conversions, while the native endianness
introduces no byte-swapping overhead in the common case. (The
endianness-independence code is also much newer than everything else in
this file, and deserves closer scrutiny.)
The accessors at the top of the file are there to transparently support
older versions of the CTF file format, allowing translation from older
formats that have different sizes for the structures in ctf.h:
currently, these older formats are intermingled with the newer ones in
ctf.h: they will probably migrate to a compatibility header in time, to
ease readability. The ctf_set_base() function is split out for the same
reason: when conversion code to a newer format is written, it would need
to malloc() new storage for the entire ctf_file_t if a file format
change causes it to grow, and for that we need ctf_set_base() to be a
separate function.
One pair of linked data structures supported by this file has no
creation code in libctf yet: the data and function object sections read
by init_symtab(). These will probably arrive soon, when the linker comes
to need them. (init_symtab() has hardly been changed since 2009, but if
any code in libctf has rotted over time, this will.)
A few simple accessors are also present that can even be called on
read-only containers because they don't actually modify them, since the
relevant things are not stored in the container but merely change its
operation: ctf_setmodel(), which lets you specify whether a container is
LP64 or not (used to statically determine the sizes of a few types),
ctf_import(), which is the only way to associate a parent container with
a child container, and ctf_setspecific(), which lets the caller
associate an arbitrary pointer with the CTF container for any use. If
the user doesn't call these functions correctly, libctf will misbehave:
this is particularly important for ctf_import(), since a container built
against a given parent container will not be able to resolve types that
depend on types in the parent unless it is ctf_import()ed with a parent
container with the same set of types at the same IDs, or a superset.
Possible future extensions (also noted in the ctf-hash.c file) include
storing a count of things so that we don't need to do one pass over the
CTF file counting everything, and computing a perfect hash at CTF
creation time in some compact form, storing it in the CTF file, and
using it to hash things so we don't need to do a second pass over the
entire CTF file to set up the hashes used to go from names to type IDs.
(There are multiple such hashes, one for each C type namespace: types,
enums, structs, and unions.)
libctf/
* ctf-open.c: New file.
* swap.h: Likewise.
include/
* ctf-api.h (ctf_file_close): New declaration.
(ctf_getdatasect): Likewise.
(ctf_parent_file): Likewise.
(ctf_parent_name): Likewise.
(ctf_parent_name_set): Likewise.
(ctf_import): Likewise.
(ctf_setmodel): Likewise.
(ctf_getmodel): Likewise.
(ctf_setspecific): Likewise.
(ctf_getspecific): Likewise.
commit 47d546f427d0d3bf9f503b5b118ae05b49d73d28
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Tue Apr 23 22:45:46 2019 +0100
libctf: creation functions
The CTF creation process looks roughly like (error handling elided):
int err;
ctf_file_t *foo = ctf_create (&err);
ctf_id_t type = ctf_add_THING (foo, ...);
ctf_update (foo);
ctf_*write (...);
Some ctf_add_THING functions accept other type IDs as arguments,
depending on the type: cv-quals, pointers, and structure and union
members all take other types as arguments. So do 'slices', which
let you take an existing integral type and recast it as a type
with a different bitness or offset within a byte, for bitfields.
One class of THING is not a type: "variables", which are mappings
of names (in the internal string table) to types. These are mostly
useful when encoding variables that do not appear in a symbol table
but which some external user has some other way to figure out the
address of at runtime (dynamic symbol lookup or querying a VM
interpreter or something).
You can snapshot the creation process at any point: rolling back to a
snapshot deletes all types and variables added since that point.
You can make arbitrary type queries on the CTF container during the
creation process, but you must call ctf_update() first, which
translates the growing dynamic container into a static one (this uses
the CTF opening machinery, added in a later commit), which is quite
expensive. This function must also be called after adding types
and before writing the container out.
Because addition of types involves looking up existing types, we add a
little of the type lookup machinery here, as well: only enough to
look up types in dynamic containers under construction.
libctf/
* ctf-create.c: New file.
* ctf-lookup.c: New file.
include/
* ctf-api.h (zlib.h): New include.
(ctf_sect_t): New.
(ctf_sect_names_t): Likewise.
(ctf_encoding_t): Likewise.
(ctf_membinfo_t): Likewise.
(ctf_arinfo_t): Likewise.
(ctf_funcinfo_t): Likewise.
(ctf_lblinfo_t): Likewise.
(ctf_snapshot_id_t): Likewise.
(CTF_FUNC_VARARG): Likewise.
(ctf_simple_open): Likewise.
(ctf_bufopen): Likewise.
(ctf_create): Likewise.
(ctf_add_array): Likewise.
(ctf_add_const): Likewise.
(ctf_add_enum_encoded): Likewise.
(ctf_add_enum): Likewise.
(ctf_add_float): Likewise.
(ctf_add_forward): Likewise.
(ctf_add_function): Likewise.
(ctf_add_integer): Likewise.
(ctf_add_slice): Likewise.
(ctf_add_pointer): Likewise.
(ctf_add_type): Likewise.
(ctf_add_typedef): Likewise.
(ctf_add_restrict): Likewise.
(ctf_add_struct): Likewise.
(ctf_add_union): Likewise.
(ctf_add_struct_sized): Likewise.
(ctf_add_union_sized): Likewise.
(ctf_add_volatile): Likewise.
(ctf_add_enumerator): Likewise.
(ctf_add_member): Likewise.
(ctf_add_member_offset): Likewise.
(ctf_add_member_encoded): Likewise.
(ctf_add_variable): Likewise.
(ctf_set_array): Likewise.
(ctf_update): Likewise.
(ctf_snapshot): Likewise.
(ctf_rollback): Likewise.
(ctf_discard): Likewise.
(ctf_write): Likewise.
(ctf_gzwrite): Likewise.
(ctf_compress_write): Likewise.
commit a5be9bbe896d4adb6077e9bb2ebcaaa4426bdde1
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Tue Apr 23 22:24:13 2019 +0100
libctf: implementation definitions related to file creation
We now enter a series of commits that are sufficiently tangled that
avoiding forward definitions is almost impossible: no attempt is made to
make individual commits compilable (which is why the build system does
not reference any of them yet): the only important thing is that they
should form something like conceptual groups.
But first, some definitions, including the core ctf_file_t itself. Uses
of these definitions will be introduced in later commits.
libctf/
* ctf-impl.h: New definitions and declarations for type creation
and lookup.
commit c0754cdd9af6d8259eac5c9daad9f9b0611358dd
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Tue Apr 23 22:12:16 2019 +0100
libctf: hashing
libctf maintains two distinct hash ADTs, one (ctf_dynhash) for wrapping
dynamically-generated unknown-sized hashes during CTF file construction,
one (ctf_hash) for wrapping unchanging hashes whose size is known at
creation time for reading CTF files that were previously created.
In the binutils implementation, these are both fairly thin wrappers
around libiberty hashtab.
Unusually, this code is not kept synchronized with libdtrace-ctf,
due to its dependence on libiberty hashtab.
libctf/
* ctf-hash.c: New file.
* ctf-impl.h: New declarations.
commit 479604f44fc1eaa02a97ebcc1b60f55a606c4046
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Tue Apr 23 22:05:52 2019 +0100
libctf: error handling
CTF functions return zero on success or an extended errno value which
can be translated into a string via the functions in this commit.
The errno numbers start at -CTF_BASE.
libctf/
* ctf-error.c: New file.
include/
* ctf-api.h (ctf_errno): New declaration.
(ctf_errmsg): Likewise.
commit 94585e7f93c9477bcf2835d8245e967053ce2b41
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Tue Apr 23 21:45:30 2019 +0100
libctf: low-level list manipulation and helper utilities
These utilities are a bit of a ragbag of small things needed by more
than one TU: list manipulation, ELF32->64 translators, routines to look
up strings in string tables, dynamically-allocated string appenders, and
routines to set the specialized errno values previously committed in
<ctf-api.h>.
We do still need to dig around in raw ELF symbol tables in places,
because libctf allows the caller to pass in the contents of string and
symbol sections without telling it where they come from, so we cannot
use BFD to get the symbols (BFD reasonably demands the entire file). So
extract minimal ELF definitions from glibc into a private header named
libctf/elf.h: later, we use those to get symbols. (The start-of-
copyright range on elf.h reflects this glibc heritage.)
libctf/
* ctf-util.c: New file.
* elf.h: Likewise.
* ctf-impl.h: Include it, and add declarations.
commit 60da9d955964759b1f52690bff587ad32a198507
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Tue Apr 23 18:55:27 2019 +0100
libctf: lowest-level memory allocation and debug-dumping wrappers
The memory-allocation wrappers are simple things to allow malloc
interposition: they are only used inconsistently at present, usually
where malloc debugging was required in the past.
These provide a default implementation that is environment-variable
triggered (initialized on the first call to the libctf creation and
file-opening functions, the first functions people will use), and
a ctf_setdebug()/ctf_getdebug() pair that allows the caller to
explicitly turn debugging off and on. If ctf_setdebug() is called,
the automatic setting from an environment variable is skipped.
libctf/
* ctf-impl.h: New file.
* ctf-subr.c: New file.
include/
* ctf-api.h (ctf_setdebug): New.
(ctf_getdebug): Likewise.
commit 2e94b05630514109994abb77ee2dae730f17c263
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Tue Apr 23 18:42:34 2019 +0100
include: new header ctf-api.h
This non-installed header is the means by which libctf consumers
communicate with libctf.
This header will be extended in subsequent commits.
include/
* ctf-api.h: New file.
commit fceac76e64b998c9b66a229134a9ead25209e095
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Tue Apr 23 18:02:25 2019 +0100
include: new header ctf.h: file format description
The data structures and macros in this header can be used, if desired,
to access or create CTF files directly, without going through libctf,
though this should rarely be necessary in practice.
libctf relies on this header as its description of the CTF file format.
include/
* ctf.h: New file.
commit eabf307f1d77b952dd76f2618e4e6f72d87e5d10
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 28 20:12:32 2019 +0930
PE linker segmentation fault with MALLOC_PERTURB_=1
PR 24596
* emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Check that
the output is coff before accessing coff tdata.
* emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise.
commit 65f381e729bedb933f3e1376e7f53f0ff63ac9a8
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Tue May 28 11:48:08 2019 +0100
aarch64: fix variant_pcs ld tests
Force sysv hash style for reliable symbol table layout.
ld/ChangeLog:
* testsuite/ld-aarch64/variant_pcs-now.d: Use --hash-style=sysv.
* testsuite/ld-aarch64/variant_pcs-shared.d: Likewise.
commit 766f883622ef008230250aa5aecef9fb9b29f233
Author: Alan Hayward <alan.hayward@arm.com>
Date: Tue May 28 10:07:54 2019 +0100
Suppress SIGTTOU when handling errors
Calls to error () can cause SIGTTOU to send gdb to the background.
For example, on an Arm build:
(gdb) b main
Breakpoint 1 at 0x10774: file /build/gdb/testsuite/../../../src/binutils-gdb/gdb/testsuite/gdb.base/watchpoint.c, line 174.
(gdb) r
Starting program: /build/gdb/testsuite/outputs/gdb.base/watchpoint/watchpoint
[1]+ Stopped ../gdb ./outputs/gdb.base/watchpoint/watchpoint
localhost$ fg
../gdb ./outputs/gdb.base/watchpoint/watchpoint
Cannot parse expression `.L1199 4@r4'.
warning: Probes-based dynamic linker interface failed.
Reverting to original interface.
The SIGTTOU is raised whilst inside a syscall during the call to tcdrain.
Fix is to use scoped_ignore_sigttou to ensure SIGTTOU is blocked.
In addition fix include comments - job_control is not included via terminal.h
gdb/ChangeLog:
* event-top.c: Remove include comment.
* inflow.c (class scoped_ignore_sigttou): Move from here...
* inflow.h (class scoped_ignore_sigttou): ...to here.
* ser-unix.c (hardwire_drain_output): Block SIGTTOU during drain.
* top.c: Remove include comment.
commit 0f4a61b42002f568473f821f00dd240413beadd0
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 28 17:52:42 2019 +0930
COFF linker segmentation faults
A plugin can change the element, so call the generic
bfd_link_add_symbols.
PR 24596
* cofflink.c (coff_link_check_archive_element): Don't assume
element is a coff object file after calling add_archive_element.
commit 94667ab146a0c94f87f3d9aa7d1c819663b28338
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 28 15:54:15 2019 +0930
Microblaze linker segmentation fault
PR 24596
* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Don't
attempt to set sh_entsize for excluded PLT section.
commit 28fbeab8064f97ca5fe1a851fdc4146b7aed8863
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 28 15:06:47 2019 +0930
Alpha-linux linker segmentation fault
This patch cures a linker segfault, and "FAIL: Build pr22263-1".
PR 24596
* elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt
to emit R_ALPHA_GOTTPREL in PIEs, for which no space is
allocated in alpha_dynamic_entries_for_reloc.
commit a0f6fd217fa53ab80a335fb69f12f1f28ac3335a
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 28 14:34:37 2019 +0930
LM32 linker segmentation faults
PR 24596
* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault
on NULL output_section.
* elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
commit c83004d526c9f5e203926a979d405f7b720b9ede
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 28 11:49:30 2019 +0930
m68k linker segmentation faults
This doesn't fix the underlying bug, but an abort is better than a
segfault.
PR 24596
* elf32-m68k.c (elf_m68k_get_got_entry): Don't create a new
entry when MUST_FIND. Abort when MUST_FIND not found.
(elf_m68k_get_bfd2got_entry): Likewise.
(elf_m68k_relocate_section): Remove now useless assert.
commit 586338b839d3f65d22eb3baef41f7395974f1f11
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 28 08:41:56 2019 +0930
HPPA64 linker segmentation faults
One of the ld tests produces:
failed with: <Segmentation fault>, no expected output
FAIL: Discarded dynamic relocation section
This patch cures the segv. (The test still fails with ld producing
a really messed up output, DT_RELA at address 0!)
PR 24596
* elf64-hppa.c (elf64_hppa_finalize_dynreloc): Get the output bfd
from bfd_link_info, not an output section owner.
(elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd): Likewise.
(elf_hppa_final_link_relocate): Likewise.
commit a7b34aba62ce347b4e64ca197a5c8b997e3b72df
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 27 20:00:11 2019 +0930
Obsolete tic30-aout, and linker segmentation faults
See also the FIXME. tic30-aout linker support is so bad (and has been
that way since the initial tic30-aout commit) that I'm obsoleting the
target. This patch fixes numerous linker testsuite segmentation faults.
PR 24596
* aout-tic30.c (MY_bfd_final_link): Don't segfault on missing
create_object_symbols_section, obj_textsec, obj_datasec or
obj_bsssec. Fix other errors in placement.
* config.bfd: Obsolete tic30-aout.
commit 0eb32b6e1dee07ac199b4bba855205e4de099213
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 27 15:38:55 2019 +0930
XCOFF linker segmentation fault
The XCOFF linker temporarily trims the output bfd section list,
without adjusting section_count to suit. This is a little rude, but
the dwarf line number code can easily cope with this situation. So
check for a NULL end of list as well as limiting the saved section
VMAs to the first section_count list entries.
Also fixes
-FAIL: Weak test 3 (main, static) (32-bit)
-FAIL: Weak test 3 (main, static) (64-bit)
PR 24596
* dwarf2.c (save_section_vma, section_vma_same): Check for NULL
end of section list as well as section_count.
* xcofflink.c (xcoff_link_add_symbols): Fix temporarily changed
section list before returning error.
commit 58db964680f0f17197849a714c30430deafb8bc7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue May 28 00:00:15 2019 +0000
Automatic date update in version.in
commit eb41253a15e2c976869ba1b1f0c3c0e60065fd4f
Author: Tom Tromey <tom@tromey.com>
Date: Mon May 27 14:53:12 2019 -0600
Fix typo in gdb/NEWS
I noticed a typo in gdb/NEWS. This fixes it.
gdb/ChangeLog
2019-05-27 Tom Tromey <tom@tromey.com>
* NEWS: Fix typo.
commit 5f63875b309f3ae9854ac8a12470111b794a70a2
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 27 11:37:51 2019 +0930
Fix failure on powerpc 32-bit only targets
Targets that lack ppc64 support were failing the new prefix-reloc
test. This patch adds some test infrastructure to deal with that, and
changes the powerpc gas usage info so that "-a64" is omitted when
unsupported.
I've been meaning to break up the usage message for a long time;
While doing so causes translators some work now, it should make it
easier next time a new powerpc option is added.
* config/tc-ppc.c (is_ppc64_target): New function.
(md_show_usage): Split up usage message. Don't show -a64 when
unsupported.
testsuite/gas/ppc/ppc.exp (supports_ppc64): New.
(prefix-reloc): Only run for ppc64.
commit 61dd8e19a8b43037125d4a767f27e98e9181521b
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 27 10:37:37 2019 +0930
readelf group errors/warnings
I noticed that one of the readelf errors stopped processing of further
group sections. This patch makes readelf continue on to other groups,
like it does with the other errors.
* readelf.c (process_section_groups): Continue processing groups
when sh_entsize exceeds group size.
commit ce5aecf87372749a5ec511f218956756aa185d0f
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 27 10:29:22 2019 +0930
Another generic ELF target assertion failure
After fixing the ld-elf/pr22836-1a segmentation fault we run into an
assertion failure due to the generic ELF target not removing empty
SHT_GROUP sections. Avoid that.
* elf.c (bfd_elf_set_group_contents): Exit on zero size section.
commit 3d7d6a6ff4678685f86976f08ab4c9c639e262e1
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 27 09:38:42 2019 +0930
Generic ELF target group signature symbol
Even though the generic ELF target doesn't handle groups correctly,
this helps avoid a segfault in bfd_elf_set_group_contents seen on
d30v-elf, dlx-elf, pj-elf, and xgate-elf when linking the pr22836
testcase.
PR 24596
bfd/
* linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP.
ld/
* emultempl/genelf.em (gld${EMULATION_NAME}_after_open): Set
BFS_KEEP on group signature symbol.
commit d5b7ce35a19350969b609c56a8bfff17f91cca20
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon May 27 00:00:12 2019 +0000
Automatic date update in version.in
commit 5b6d4fc74b505850a7849175a800b55aea4d9363
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun May 26 00:01:00 2019 +0000
Automatic date update in version.in
commit b3811e90dc878d2a23737d20c6d55a972e5b0fd6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat May 25 00:00:20 2019 +0000
Automatic date update in version.in
commit 823710d5856996d1f54f04ecb2f7647aeae99b5b
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Thu Apr 25 15:07:14 2019 +0100
aarch64: handle STO_AARCH64_VARIANT_PCS in bfd
Propagate STO_AARCH64_VARIANT_PCS st_other attribute to the output and
add DT_AARCH64_VARIANT_PCS dynamic tag if necessary.
Mismatching attributes are not diagnosed.
bfd/ChangeLog:
* elfnn-aarch64.c (elfNN_aarch64_merge_symbol_attribute): New function.
(struct elf_aarch64_link_hash_table): Add variant_pcs member.
(elfNN_aarch64_allocate_dynrelocs): Update variant_pcs.
(elfNN_aarch64_size_dynamic_sections): Add DT_AARCH64_VARIANT_PCS.
(elf_backend_merge_symbol_attribute): Define.
ld/ChangeLog:
* testsuite/ld-aarch64/aarch64-elf.exp: Add new tests.
* testsuite/ld-aarch64/variant_pcs-1.s: New asm for tests.
* testsuite/ld-aarch64/variant_pcs-2.s: New asm for tests.
* testsuite/ld-aarch64/variant_pcs-now.d: New test.
* testsuite/ld-aarch64/variant_pcs-r.d: New test.
* testsuite/ld-aarch64/variant_pcs-shared.d: New test.
* testsuite/ld-aarch64/variant_pcs.ld: New linker script for tests.
commit 0b4eac57c44ec4c9e13f5201b40936c3b3e6c639
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Thu Apr 25 15:07:10 2019 +0100
aarch64: override default elf .set handling in gas
Allow st_other values such as STO_AARCH64_VARIANT_PCS to be set for alias
symbols independently. This is needed for ifunc symbols which are
aliased to the resolver using .set and don't expect resolver attributes
to override the ifunc symbol attributes. This means .variant_pcs must be
added explicitly to aliases.
gas/ChangeLog:
* config/tc-aarch64.c (aarch64_elf_copy_symbol_attributes): Define.
* config/tc-aarch64.h (aarch64_elf_copy_symbol_attributes): Declare.
(OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
* testsuite/gas/aarch64/symbol-variant_pcs-3.d: New test.
* testsuite/gas/aarch64/symbol-variant_pcs-3.s: New test.
commit f166ae0188dcb89c5ae925034260a708a254ab2f
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Thu Apr 25 15:06:53 2019 +0100
aarch64: handle .variant_pcs directive in gas
In ELF objects the specified symbol is marked with STO_AARCH64_VARIANT_PCS.
gas/ChangeLog:
* config/tc-aarch64.c (s_variant_pcs): New function.
* doc/c-aarch64.texi: Document .variant_pcs.
* testsuite/gas/aarch64/symbol-variant_pcs-1.d: New test.
* testsuite/gas/aarch64/symbol-variant_pcs-1.s: New test.
* testsuite/gas/aarch64/symbol-variant_pcs-2.d: New test.
* testsuite/gas/aarch64/symbol-variant_pcs-2.s: New test.
commit 2301ed1c9af1316b4bad3747d2b03f7d44940f87
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Thu Apr 25 13:46:01 2019 +0100
aarch64: add STO_AARCH64_VARIANT_PCS and DT_AARCH64_VARIANT_PCS
The bottom 2 bits of st_other are used for visibility, the top 6 bits are
de facto reserved for processor specific use. This patch defines a
bits to mark function symbols that follow a variant procedure call standard
with different register usage convention.
A dynamic tag is also defined that marks modules with R_<CLS>_JUMP_SLOT
relocations referencing symbols marked with STO_AARCH64_VARIANT_PCS.
This can be used by dynamic linkers that support lazy binding to decide
what registers need to be preserved during symbol resolution.
binutils/ChangeLog:
* readelf.c (get_aarch64_dynamic_type): Handle DT_AARCH64_VARIANT_PCS.
(get_aarch64_symbol_other): New, handles STO_AARCH64_VARIANT_PCS.
(get_symbol_other): Call get_aarch64_symbol_other.
include/ChangeLog:
* elf/aarch64.h (DT_AARCH64_VARIANT_PCS): Define.
(STO_AARCH64_VARIANT_PCS): Define.
commit 405b5bd86fbcfa9ad5e67e9cdc49dfcdaacf533c
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 24 23:09:56 2019 +0930
Regen POTFILES for bpf
bfd/
* po/SRC-POTFILES.in: Regenerate.
gas/
* po/POTFILES.in: Regenerate.
ld/
* po/BLD-POTFILES.in: Regenerate.
opcodes/
* po/POTFILES.in: Regenerate.
commit 5a01c34c62ff9085a0f45ec2a43a38e7b455b23b
Author: Tom de Vries <tdevries@suse.de>
Date: Fri May 24 14:25:33 2019 +0200
[gdb/testsuite] Add test-case for gdb-add-index.sh
Add a test-case gdb.dwarf2/gdb-add-index.exp to test
gdb/contrib/gdb-add-index.sh.
Tested with x86_64-linux.
gdb/testsuite/ChangeLog:
2019-05-24 Tom de Vries <tdevries@suse.de>
* gdb.dwarf2/gdb-add-index.exp: New file.
commit 04bdff6a76b863e61ee46375dd7cdc9adfb75540
Author: Alan Modra <amodra@gmail.com>
Date: Thu Aug 9 22:53:00 2018 +0930
PowerPC notoc linkage stubs
Use pcrel addressing instructions in linkage stubs.
bfd/
* elf64-ppc.c: Comment on powerxx _notoc stub variants.
(LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define.
(PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define.
(struct ppc_link_hash_table): Add powerxx_stubs.
(ppc64_elf_check_relocs): Set powerxx_stubs.
(build_powerxx_offset, size_powerxx_offset),
(num_relocs_for_powerxx_offset),
(emit_relocs_for_powerxx_offset): New functions.
(plt_stub_size): Size powerxx stubs.
(ppc_build_one_stub): Emit powerxx stubs.
(ppc_size_one_stub): Size powerxx stubs. Omit .eh_frame for
powerxx stubs.
ld/
* testsuite/ld-powerpc/notoc2.d,
* testsuite/ld-powerpc/notoc2.s: New test.
* testsuite/ld-powerpc/powerpc.exp: Run it.
commit 4a421c53cf609d68fe956c2e7270d34c0ab8500f
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 30 16:33:25 2019 +0930
PowerPC GOT_PCREL34 optimisation
bfd/
* elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for
R_PPC64_GOT_PCREL34.
(xlate_pcrel_opt): New function.
(ppc64_elf_edit_toc): Handle R_PPC64_GOT_PCREL34.
(ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
for R_PPC64_GOT_PCREL34. Implement R_PPC64_PCREL_OPT optimisation.
ld/
* testsuite/ld-powerpc/pcrelopt.s,
* testsuite/ld-powerpc/pcrelopt.d,
* testsuite/ld-powerpc/pcrelopt.sec: New test.
* testsuite/ld-powerpc/powerpc.exp: Run it.
commit 5663e321848545857a690f30a780187e3366bd2d
Author: Alan Modra <amodra@gmail.com>
Date: Wed Aug 29 14:22:34 2018 +0930
PowerPC relocations for prefix insns
include/
* elf/ppc64.h (R_PPC64_PLTSEQ_NOTOC, R_PPC64_PLTCALL_NOTOC),
(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.
bfd/
* reloc.c (BFD_RELOC_PPC64_D34, BFD_RELOC_PPC64_D34_LO),
(BFD_RELOC_PPC64_D34_HI30, BFD_RELOC_PPC64_D34_HA30),
(BFD_RELOC_PPC64_PCREL34, BFD_RELOC_PPC64_GOT_PCREL34),
(BFD_RELOC_PPC64_PLT_PCREL34),
(BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34),
(BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34),
(BFD_RELOC_PPC64_REL16_HIGHER34, BFD_RELOC_PPC64_REL16_HIGHERA34),
(BFD_RELOC_PPC64_REL16_HIGHEST34, BFD_RELOC_PPC64_REL16_HIGHESTA34),
(BFD_RELOC_PPC64_D28, BFD_RELOC_PPC64_PCREL28): New reloc enums.
* elf64-ppc.c (PNOP): Define.
(ppc64_elf_howto_raw): Add reloc howtos for new relocations.
(ppc64_elf_reloc_type_lookup): Translate new bfd reloc numbers.
(ppc64_elf_ha_reloc): Adjust addend for highera34 and highesta34
relocs.
(ppc64_elf_prefix_reloc): New function.
(struct ppc_link_hash_table): Add notoc_plt.
(is_branch_reloc): Add R_PPC64_PLTCALL_NOTOC.
(is_plt_seq_reloc): Add R_PPC64_PLT_PCREL34,
R_PPC64_PLT_PCREL34_NOTOC, and R_PPC64_PLTSEQ_NOTOC.
(ppc64_elf_check_relocs): Handle pcrel got and plt relocs. Set
has_pltcall for section on seeing R_PPC64_PLTCALL_NOTOC. Handle
possible need for dynamic relocs on non-pcrel powerxx relocs.
(dec_dynrel_count): Handle non-pcrel powerxx relocs.
(ppc64_elf_inline_plt): Handle R_PPC64_PLTCALL_NOTOC.
(toc_adjusting_stub_needed): Likewise.
(ppc64_elf_tls_optimize): Handle R_PPC64_PLTSEQ_NOTOC.
(ppc64_elf_relocate_section): Handle new powerxx relocs.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
gas/
* config/tc-ppc.c (ppc_elf_suffix): Support @pcrel, @got@pcrel,
@plt@pcrel, @higher34, @highera34, @highest34, and @highesta34.
(fixup_size): Handle new powerxx relocs.
(md_assemble): Warn for @pcrel on non-prefix insns.
Accept @l, @h and @ha on prefix insns, and infer reloc without
any @ suffix. Translate powerxx relocs to suit DQ and DS field
instructions. Include operand tests as well as opcode test to
translate BFD_RELOC_HI16_S to BFD_RELOC_PPC_16DX_HA.
(ppc_fix_adjustable): Return false for pcrel GOT and PLT relocs.
(md_apply_fix): Handle new powerxx relocs.
* config/tc-ppc.h (TC_FORCE_RELOCATION_SUB_LOCAL): Accept
BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34,
BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34,
BFD_RELOC_PPC64_D34, and BFD_RELOC_PPC64_D28.
* testsuite/gas/ppc/prefix-reloc.d,
* testsuite/gas/ppc/prefix-reloc.s: New test.
* testsuite/gas/ppc/ppc.exp: Run it.
commit 8acf14351c818d956babe50e61711740f378c941
Author: Peter Bergner <bergner@linux.ibm.com>
Date: Fri Jul 27 22:21:43 2018 -0500
PowerPC D-form prefixed loads and stores
opcodes/
* ppc-opc.c (insert_d34, extract_d34, insert_nsi34, extract_nsi34),
(insert_pcrel, extract_pcrel, extract_pcrel0): New functions.
(extract_esync, extract_raq, extract_tbr, extract_sxl): Comment.
(powerpc_operands <D34, SI34, NSI34, PRA0, PRAQ, PCREL, PCREL0,
XTOP>): Define and add entries.
(P8LS, PMLS, P_D_MASK, P_DRAPCREL_MASK): Define.
(prefix_opcodes): Add pli, paddi, pla, psubi, plwz, plbz, pstw,
pstb, plhz, plha, psth, plfs, plfd, pstfs, pstfd, plq, plxsd,
plxssp, pld, plwa, pstxsd, pstxssp, pstxv, pstd, and pstq.
gas/
* config/tc-ppc.c (ppc_insert_operand): Only sign extend fields that
are 32-bits or smaller.
* messages.c (as_internal_value_out_of_range): Do not truncate
variables and use BFD_VMA_FMT to print them.
* testsuite/gas/ppc/prefix-pcrel.s,
* testsuite/gas/ppc/prefix-pcrel.d: New test.
* testsuite/gas/ppc/ppc.exp: Run it.
commit dd7efa79151ed5a56caccfac870865764d922a2f
Author: Peter Bergner <bergner@linux.ibm.com>
Date: Tue May 15 16:48:14 2018 -0500
PowerPC add initial -mfuture instruction support
This patch adds initial 64-bit insn assembler/disassembler support.
The only instruction added is "pnop" along with the automatic aligning
of prefix instruction so they do not cross 64-byte boundaries.
include/
* dis-asm.h (WIDE_OUTPUT): Define.
* opcode/ppc.h (prefix_opcodes, prefix_num_opcodes): Declare.
(PPC_OPCODE_POWERXX, PPC_GET_PREFIX, PPC_GET_SUFFIX),
(PPC_PREFIX_P, PPC_PREFIX_SEG): Define.
opcodes/
* ppc-dis.c (ppc_opts): Add "future" entry.
(PREFIX_OPCD_SEGS): Define.
(prefix_opcd_indices): New array.
(disassemble_init_powerpc): Initialize prefix_opcd_indices.
(lookup_prefix): New function.
(print_insn_powerpc): Handle 64-bit prefix instructions.
* ppc-opc.c (PREFIX_OP, PREFIX_FORM, SUFFIX_MASK, PREFIX_MASK),
(PMRR, POWERXX): Define.
(prefix_opcodes): New instruction table.
(prefix_num_opcodes): New constant.
binutils/
* objdump.c (disassemble_bytes): Set WIDE_OUTPUT in flags.
gas/
* config/tc-ppc.c (ppc_setup_opcodes): Handle prefix_opcodes.
(struct insn_label_list): New.
(insn_labels, free_insn_labels): New variables.
(ppc_record_label, ppc_clear_labels, ppc_start_line_hook): New funcs.
(ppc_frob_label, ppc_new_dot_label): Move functions earlier in file
and call ppc_record_label.
(md_assemble): Handle 64-bit prefix instructions. Align labels
that are on the same line as a prefix instruction.
* config/tc-ppc.h (tc_frob_label, ppc_frob_label): Move to
later in the file.
(md_start_line_hook): Define.
(ppc_start_line_hook): Declare.
* testsuite/gas/ppc/prefix-align.d,
* testsuite/gas/ppc/prefix-align.s: New test.
* testsuite/gas/ppc/ppc.exp: Run new test.
commit fcb36d746247a9f5e266afa65019129eee9273f2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri May 24 00:00:23 2019 +0000
Automatic date update in version.in
commit 45d5293f6e098ff7e85a30554fcdc8c7f00db675
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Thu May 23 23:17:39 2019 +0200
bfd: fix build with --enable-targets=all in 32-bit hosts
This patch avoids for bpf_elf64_le_vec to be referenced in targmatch.h
when building a BFD without BFD64, resulting in an undefined symbol.
This was a regression introduced along with the BPF target.
bfd/ChangeLog:
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
* config.bfd (targ_cpu): Process bpf-*-none only if BFD64.
* configure.ac: Set target_size=64 for bpf_elf64_le_vec and
bpf_elf64_be_vec.
* configure: Regenerate.
commit 27830e0d383e4ed5e8d131c38f262d3fcc3eff25
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Thu May 23 19:07:07 2019 +0200
binutils: add myself as the maintainer for BPF
binutils/ChangeLog:
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
* MAINTAINERS: Add myself as the maintainer for BPF.
commit aca4efc7a4fc42bac5b7b029c52cbb2a2bc2574b
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Thu May 23 19:06:17 2019 +0200
binutils: add support for eBPF
This patch adds support for ELF64 eBPF to readelf, and fixes a `nm'
test to run properly in bpf-*-* targets.
binutils/ChangeLog:
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
* readelf.c: Include elf/bpf.h.
(guess_is_rela): Hanle EM_BPF.
(dump_relocations): Likewise.
(is_32bit_abs_reloc): Likewise.
* testsuite/binutils-all/nm.exp: Add bpf-*-* to the list of
ELF targets.
commit 8376927b2cc8b80cd5aa1e48aabafc85c0ad4f3e
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Thu May 23 19:05:42 2019 +0200
ld: add support for eBPF
This patch adds support to the linker for the Linux eBPF architecture.
A minimal testsuite is included.
ld/ChangeLog:
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
* Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64bpf.c.
* Makefile.in (prefix): Regenerate.
* configure.tgt (targ_extra_ofiles): Add case for bpf-*-* targets.
* emulparams/elf64bpf.sh: New file.
* testsuite/lib/ld-lib.exp (check_gc_sections_available): Add
bpf-*-* to the list of targets not supporting gc-sections.
* testsuite/ld-bpf/bar.s: New file.
* testsuite/ld-bpf/jump-1.d: Likewise.
* testsuite/ld-bpf/foo.s: Likewise.
* testsuite/ld-bpf/call-1.d: Likewise.
* testsuite/ld-bpf/bpf.exp: Likewise.
* testsuite/ld-bpf/baz.s: Likewise.
commit f8861f5dc2391e0c46dd118370195e7730ec46ca
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Thu May 23 19:05:12 2019 +0200
gas: add support for eBPF
This patch adds a port for the Linux kernel eBPF to the GNU assembler.
A testsuite and documentation updates are included.
gas/ChangeLog:
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
* configure.ac: Handle bpf-*-* targets.
* configure.tgt (generic_target): Likewise.
* configure: Regenerate.
* Makefile.am (TARGET_CPU_CFILES): Add tc-bpf.c.
(TARGET_CPU_HFILES): Add tc-bpf.h.
* Makefile.in: Regenerated.
* config/tc-bpf.c: New file.
* config/tc-bpf.h: Likewise.
* doc/Makefile.am (CPU_DOCS): Add c-bpf.texi.
* doc/Makefile.in: Regenerated.
* doc/all.texi: set BPF.
* doc/as.texi: Add eBPF contents.
* doc/c-bpf.texi: New file.
* testsuite/gas/bpf/alu.d: New file.
* testsuite/gas/bpf/mem-be.d: Likewise.
* testsuite/gas/bpf/mem.s: Likewise.
* testsuite/gas/bpf/mem.d: Likewise.
* testsuite/gas/bpf/lddw-be.d: Likewise.
* testsuite/gas/bpf/lddw.s: Likewise.
* testsuite/gas/bpf/lddw.d: Likewise.
* testsuite/gas/bpf/jump-be.d: Likewise.
* testsuite/gas/bpf/jump.s: Likewise.
* testsuite/gas/bpf/jump.d: Likewise.
* testsuite/gas/bpf/exit-be.d: Likewise.
* testsuite/gas/bpf/exit.s: Likewise.
* testsuite/gas/bpf/exit.d: Likewise.
* testsuite/gas/bpf/call-be.d: Likewise.
* testsuite/gas/bpf/call.s: Likewise.
* testsuite/gas/bpf/call.d: Likewise.
* testsuite/gas/bpf/bpf.exp: Likewise.
* testsuite/gas/bpf/atomic-be.d: Likewise.
* testsuite/gas/bpf/atomic.s: Likewise.
* testsuite/gas/bpf/atomic.d: Likewise.
* testsuite/gas/bpf/alu-be.d: Likewise.
* testsuite/gas/bpf/alu32-be.d: Likewise.
* testsuite/gas/bpf/alu32.s: Likewise.
* testsuite/gas/bpf/alu32.d: Likewise.
* testsuite/gas/bpf/alu.s: Likewise.
* testsuite/gas/all/gas.exp: Introduce a nop_type for eBPF.
* testsuite/gas/all/org-1.s: Support nop_type 6.
* testsuite/gas/all/org-1.l: Updated to reflect changes in
org-1.s.
commit 79472b45328232b083e897a511d4160a6dde0463
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Thu May 23 19:04:36 2019 +0200
opcodes: add support for eBPF
This patch adds support for the Linux kernel eBPF architecture to the
opcodes. The port is based on CGEN.
opcodes/ChangeLog:
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
* configure.ac (SHARED_DEPENDENCIES): Add case for bfd_bpf_arch.
* configure: Regenerated.
* Makefile.am: Add rules for the files generated from cpu/bpf.cpu
and cpu/bpf.opc.
(HFILES): Add bpf-desc.h and bpf-opc.h.
(TARGET_LIBOPCODES_CFILES): Add bpf-asm.c, bpf-desc.c, bpf-dis.c,
bpf-ibld.c and bpf-opc.c.
(BPF_DEPS): Define.
* Makefile.in: Regenerated.
* disassemble.c (ARCH_bpf): Define.
(disassembler): Add case for bfd_arch_bpf.
(disassemble_init_for_target): Likewise.
(enum epbf_isa_attr): Define.
* disassemble.h: extern print_insn_bpf.
* bpf-asm.c: Generated.
* bpf-opc.h: Likewise.
* bpf-opc.c: Likewise.
* bpf-ibld.c: Likewise.
* bpf-dis.c: Likewise.
* bpf-desc.h: Likewise.
* bpf-desc.c: Likewise.
commit ea195bb04cc5c964126aeff0f87d7161a03ca926
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Thu May 23 19:03:59 2019 +0200
cpu: add eBPF cpu description
This patch adds a CPU description for the Linux kernel eBPF virtual
machine, plus supporting code for disassembler and assembler.
cpu/ChangeLog:
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
* bpf.cpu: New file.
* bpf.opc: Likewise.
commit fd0de36e274c8141a5dd4579cd04856dc88370da
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Thu May 23 19:33:41 2019 +0200
bfd: add support for eBPF
This patch adds support to BFD for elf64-bpf, in both little-endian
and big-endian variants.
bfd/ChangeLog:
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
* configure.ac: Add bpf_elf64_le_vec and bpf_elf64_be_vec.
* configure: Regenerated.
* Makefile.am (ALL_MACHINES): Add cpu-bpf.lo.
(ALL_MACHINES_CFILES): Add cpu-bpf.c.
(BFD64_BACKENDS): Add elf64-bpf.lo.
(BFD64_BACKENDS_CFILES): Add elf64-bpf.c.
* Makefile.in (SOURCE_HFILES): Regenerate.
* config.bfd (targ_cpu): Handle bpf-*-* targets.
* cpu-bpf.c: New file.
* elf64-bpf.c: Likewise.
* targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and
bpf_elf64_le_vec.
* archures.c: Define architecture bfd_arch_bpf and machine
bfd_arch_bpf.
* reloc.c: Define BFD relocations used by the BPF target.
* bfd-in2.h: Regenerated.
* libbfd.h: Likewise.
commit 8ebe62124023224eafd1b82c8bc2325962711ef8
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Thu May 23 18:30:42 2019 +0200
include: add elf/bpf.h
This patch adds a header file with BPF-specific ELF definitions. In
particular, the architecture relocations.
include/ChangeLog:
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
* elf/bpf.h: New file.
commit 2376c3702e43ad8a717d80888b34e1e7eaeacaa8
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date: Thu May 23 18:19:56 2019 +0200
config.guess,config.sub: synchronize with config project master sources
This is to bring in the newly introduced support for bpf-*-* targets.
ChangeLog:
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
* config.guess: Synchronize with config project master sources.
* config.sub: Likewise.
* readline/support/config.guess: Likewise.
* readline/support/config.sub: Likewise.
commit 82d7a6f4e3ccb3d714b5beb03eeb24f7356d4380
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 23 10:22:56 2019 +0930
Re: Have the linker report an error if the same script is used twice
git commit 6ec6968b1b2 results in
... error: linker script file '/usr/local/lib64/libgcc_s.so' appears multiple times
collect2: error: ld returned 1 exit status
FAIL: bootstrap
This patch changes things so that an error is given only when a -T
script or the default script is invoked more than once. I'm still a
little nervous that we match script file names, not the entire path.
PR 24576
* ldfile.c (enum script_open_style): New.
(struct script_name_list): New.
(ldfile_open_command_file_1): Take a script_open_style param
rather than booleans. Adjust callers. Only fail when -T or
default -T script is invoked twice.
(ldfile_try_open_bfd): Revert last change.
commit 016181423bff8c04b2808f2dca9a95f0c9d92fe5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu May 23 00:00:14 2019 +0000
Automatic date update in version.in
commit 4ca51187d21562b6626eea2bd0e45f6b64719dfd
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 22 15:41:28 2019 -0400
Constify target_ops::follow_exec
I noticed that target_ops::follow_exec took a "char *" parameter,
where "const char *" would be more correct. This patch changes this
(and related functions) to be constified.
Tested by rebuilding.
gdb/ChangeLog
2019-05-22 Tom Tromey <tromey@adacore.com>
* target.c (target_follow_exec): Constify parameter.
* target-delegates.c: Rebuild.
* remote.c (remote_target::follow_exec): Constify parameter.
* infrun.c (follow_exec): Constify parameter.
* target.h (struct target_ops) <follow_exec>: Constify parameter.
(target_follow_exec): Likewise.
commit 18125b163947bfd0c358d4a5acf4e0e3b43b64cf
Author: Tom Tromey <tromey@adacore.com>
Date: Tue May 14 08:04:22 2019 -0600
Add "style" proc to the test suite
This adds a "style" helper proc to the test suite, and updates
existing style tests to use it. Thanks to Sergio for the idea.
Tested on x86-64 Fedora 29.
gdb/testsuite/ChangeLog
2019-05-22 Tom Tromey <tromey@adacore.com>
* gdb.base/info-shared.exp (check_info_shared): Use "style".
* gdb.base/style.exp: Use "style".
* lib/gdb-utils.exp (style): New proc.
commit af1a8d038798bef11471e28d999ad1687312a6a7
Author: Tom de Vries <tdevries@suse.de>
Date: Wed May 22 18:13:04 2019 +0200
[gdb/testsuite] Require c++11 for gdb.base/align.exp
When building gdb on ubuntu 16.04 with gcc 5.4.0, and running the gdb
testsuite we run into a failure due align.exp requiring at least c++11.
Fix this by adding -std=c++11.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-05-22 Tom de Vries <tdevries@suse.de>
* gdb.base/align.exp: Require c++11.
commit e7fe496b1b8c0dfc44876f86131f756b424d4e70
Author: Tom de Vries <tdevries@suse.de>
Date: Wed May 22 17:55:44 2019 +0200
[gdb/testsuite] Add missing mi_skip_python_tests to py-mi-var-info-path-expression.exp
Fix gdb.python/py-mi-var-info-path-expression.exp for a gdb build without
python support.
gdb/testsuite/ChangeLog:
2019-05-22 Tom de Vries <tdevries@suse.de>
PR testsuite/24586
* gdb.python/py-mi-var-info-path-expression.exp: Call
mi_skip_python_tests to check if python is supported.
commit 6ec6968b1b259948ba42f0a47a3da048377058bc
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 22 15:58:57 2019 +0100
Have the linker report an error if the same script is used twice.
PR 24576
* ld/ldfile.c: (ldfile_open_command_file_1): Add new parameter -
is_script. If true check that the file has not already been
parsed as a linker script.
(ldfile_open_script_file): New function.
(ldfile_try_open_bfd): Use the new function in place of
ldfile_open_command_line.
* ldmain.c (main): Likewise.
* lexsup.c (parse_args): Use the new function for opening linker
scripts with the -T option.
* ldfile.h (ldfile_open_script_file): Add prototype.
commit 8fca4da0759df376bcb646bc4b79a92ba27e2362
Author: Alan Hayward <alan.hayward@arm.com>
Date: Wed May 22 14:02:17 2019 +0100
AArch64: Treat pauth ops as nops on non-pauth systems
Running an address signed binary through GDB on a non pauth system
gives the following error:
Call Frame Instruction op 45 in vendor extension space is not handled on this architecture.
Instead GDB should ignore the op, treating it as a nop.
Add test case for pauth binaries, regardless of whether the target
supports it.
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_execute_dwarf_cfa_vendor_op): Treat
DW_CFA_AARCH64_negate_ra_state as nop on non pauth targets.
gdb/testsuite/ChangeLog:
* gdb.arch/aarch64-pauth.c: New test.
* gdb.arch/aarch64-pauth.exp: New file.
commit b706061469811a16ff2fb8d42f6e98a22e454212
Author: Alan Hayward <alan.hayward@arm.com>
Date: Wed May 22 13:40:20 2019 +0100
Document gdb.in/gdb.cmd files and debugredirect cli command
Add missing documentation for the debugredirect setting.
Add description and uses of gdb.in/gdb.cmd to the testsuite README.
Mention this in the NEWS file.
gdb/ChangeLog:
* NEWS: Add debugredirect and testsuite sections.
gdb/doc/ChangeLog:
* gdb.texinfo (Shell Commands): Add debugredirect.
gdb/testsuite/ChangeLog:
* README (Re-running Tests Outside The Testsuite): New section.
commit 0a5954bd5f96dd665cb733b9ab6f2ca67bb4632d
Author: Simon Cook <simon.cook@embecosm.com>
Date: Wed May 22 12:59:58 2019 +0100
gdb/riscv: Improve flen length determination
This solves an assertion failure when a remote provides a target
description which only refers to floating point registers by their
hardware name (e.g. f0), rather than their ABI name (e.g. ft0). GDB
assumed that should the floating point register feature be presented,
it would contain a register called ft0.
The floating point length is now instead determined by searching for
the same register, but looking for any of its aliases.
gdb/ChangeLog:
* riscv-tdep.c (riscv_gdbarch_init): Support determining flen from
target descriptions using exclusively floating point register name
aliases.
commit 7166f90a7756a3b68cfb93b5ea4a026e9b5f2459
Author: Jan Vrany <jan.vrany@fit.cvut.cz>
Date: Wed May 22 12:48:26 2019 +0100
gdb/doc: Minor formatting fixes in documentation of -complete
gdb/doc/Changelog:
* gdb.texinfo: Minor formatting fixes.
commit b0f4fbf81a1cf67d49558b2e8890e5c8628f8403
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 22 18:29:20 2019 +0930
ARM STM32L4XX erratum test failure with MALLOC_PERTURB_
* elf32-arm.c (arm_allocate_glue_section_space): Clear section
contents.
commit 9ec2f606ce9ebfe9b7d1c6d3db0614d19bd03a6b
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 22 18:00:16 2019 +0930
vms-alpha gas segfault
* vms-alpha.c (_bfd_vms_write_etir): Don't attempt further
processing on "size error in section".
commit 4decd602d8570eda5d36fd6cca2e50091000fa7a
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 22 17:52:59 2019 +0930
bfdtest1 segfaults on hppa-hp-hpux10
The archive element cache needs tidying when closing an archive element.
This patch fixes these failures:
-FAIL: ar long file names (bfdtest1)
-FAIL: ar thin archive (bfdtest1)
-FAIL: ar thin archive with nested archive (bfdtest1)
* som.c (som_bfd_free_cached_info): Call
_bfd_generic_close_and_cleanup.
commit 22c6ccb89e0f38a70a42fb49eb167e7857d51f5c
Author: John Darrington <john@darrington.wattle.id.au>
Date: Wed May 22 07:16:14 2019 +0200
S12Z: GAS: New option --mdollar-hex.
This option (also implied by --traditional) causes '$' to introduce
literal hexadecimal constants, rather than the modern convention '0x'.
gas/
* config/tc-s12z.c (s12z_strtol): New function. (md_show_usage): Update.
(md_parse_option): new case OPTION_DOLLAR_HEX. (s12z_init_after_args):
(<global>): Use s12z_strtol instead of strtol.
* doc/c-s12z.texi (S12Z Options): Document new option -mdollar-hex.
* testsuite/gas/s12z/dollar-hex.d: New file.
* testsuite/gas/s12z/dollar-hex.s: New file.
* testsuite/gas/s12z/s12z.exp: Add them.
commit a7df56e5f840e2ce8bb09487ee0b6570cddb1550
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed May 22 00:00:17 2019 +0000
Automatic date update in version.in
commit dc42e902cc54af2b7e7b54a1171d562f867342d5
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue May 21 22:14:05 2019 +0100
gdb/fortran: Handle gdbarch_floatformat_for_type returning nullptr
In this commit:
commit 34d11c682fd96c7dbe3ebd6cd9033e65d51ec7a3
Date: Fri May 3 15:23:55 2019 +0100
gdb/fortran: Use floatformats_ia64_quad for fortran 16-byte floats
GDB was changed such that the Fortran's 16-byte float format was
obtained by calling gdbarch_floatformat_for_type instead of just using
gdbarch_long_double_format as it was before.
The problem with this default_floatformat_for_type can return NULL in
some cases, and the code introduced in 34d11c682f didn't consider
this.
This commit introduces several alternative strategies for finding a
suitable 16-byte floating point type. First GDB calls
gdbarch_floatformat_for_type (this was what 34d11c682f added), if this
returns null GDB will use gdbarch_long_double_format if it is the
correct size (this was the format used before 34d11c682f). Finally,
if neither of the above provides a suitable type then GDB will create
a new dummy type.
This final dummy type is unlikely to provide an correct debug
experience as far as examining the 16-byte floats, but it should
prevent GDB crashing.
gdb/ChangeLog:
PR gdb/18644:
* f-lang.c (build_fortran_types): Handle the case where
gdbarch_floatformat_for_type returns a nullptr.
commit b474a2022dc14fea0dd8ea4cc66b813486132075
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date: Sat May 18 01:19:04 2019 -0700
MIPS/LD: Reject tprel_hi and tprel_lo relocations in shared library
bfd/
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
for TLS_TPREL_HI16(/LO16) relocations in shared library.
ld/
* testsuite/ld-mips-elf/pic-reloc-5.s: Add tests for
%tprel_hi and %tprel_lo relocations.
* testsuite/ld-mips-elf/pic-reloc-6.s: Likewise.
* testsuite/ld-mips-elf/pic-reloc-5.d: Update accordingly.
* testsuite/ld-mips-elf/pic-reloc-6.d: Likewise.
* testsuite/ld-mips-elf/pic-reloc-tls.ld: New test linker
script file.
commit 304f09d0d4b519f143144d213e1280a0691de8ba
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date: Sat May 18 01:19:03 2019 -0700
MIPS/LD: Fix memory fault linking non-PIC object in to shared library
bfd/
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
checks. Search the RELA table for n64 relocations.
ld/
* testsuite/ld-mips-elf/pic-reloc-5.d: New test.
* testsuite/ld-mips-elf/pic-reloc-6.d: New test.
* testsuite/ld-mips-elf/pic-reloc-7.d: New test.
* testsuite/ld-mips-elf/pic-reloc-5.s: New test source.
* testsuite/ld-mips-elf/pic-reloc-6.s: New test source.
* testsuite/ld-mips-elf/pic-reloc-7.s: New test source.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
commit ba6cd17f0a28e54d9b4ef46397d448f1d208d9a0
Author: Sudakshina Das <sudi.das@arm.com>
Date: Tue May 21 18:20:48 2019 +0100
[binutils, ARM] <spec_reg> changes for VMRS and VMSR instructions
This patch makes changes to the <spec_reg> operand for VMRS and VMSR
instructions as per the Armv8.1-M Mainline.
New <spec_reg> options to support are:
0b0010: FPSCR_nzcvqc, access to FPSCR condition and saturation flags.
0b1100: VPR, privileged only access to the VPR register.
0b1101: P0, access to VPR.P0 predicate fields
0b1110: FPCXT_NS, enables saving and restoring of Non-secure floating
point context.
0b1111: FPCXT_S, enables saving and restoring of Secure floating point
context
*** gas/ChangeLog ***
2019-05-21 Sudakshina Das <sudi.das@arm.com>
* config/tc-arm.c (parse_operands): Update case OP_RVC to
parse p0 and P0.
(do_vmrs): Add checks for valid operands with respect to
cpu and fpu options.
(do_vmsr): Likewise.
(reg_names): New reg_names for FPSCR_nzcvqc, VPR, FPCXT_NS
and FPCXT_S.
* testsuite/gas/arm/armv8_1-m-spec-reg.d: New.
* testsuite/gas/arm/armv8_1-m-spec-reg.s: New.
* testsuite/gas/arm/armv8_1-m-spec-reg-bad1.d: New.
* testsuite/gas/arm/armv8_1-m-spec-reg-bad2.d: New.
* testsuite/gas/arm/armv8_1-m-spec-reg-bad3.d: New.
* testsuite/gas/arm/armv8_1-m-spec-reg-bad1.l: New.
* testsuite/gas/arm/armv8_1-m-spec-reg-bad2.l: New.
* testsuite/gas/arm/armv8_1-m-spec-reg-bad3.l: New.
* testsuite/gas/arm/vfp1xD.d: Updated to allow new valid values.
* testsuite/gas/arm/vfp1xD_t2.d: Likewise.
*** opcodes/ChangeLog ***
2019-05-21 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (coprocessor_opcodes): New instructions for VMRS
and VMSR with the new operands.
commit e39c1607a2df3a97bf7b70bef6de5b7a2db55eea
Author: Sudakshina Das <sudi.das@arm.com>
Date: Tue May 21 18:15:13 2019 +0100
[binutils, Arm] Add support for conditional instructions in Armv8.1-M Mainline
This patch adds the following instructions which are part of the
Armv8.1-M Mainline:
CINC
CINV
CNEG
CSINC
CSINV
CSNEG
CSET
CSETM
CSEL
gas/ChangeLog:
2019-05-21 Sudakshina Das <sudi.das@arm.com>
* config/tc-arm.c (TOGGLE_BIT): New.
(T16_32_TAB): New entries for cinc, cinv, cneg, csinc,
csinv, csneg, cset, csetm and csel.
(operand_parse_code): New OP_RR_ZR.
(parse_operand): Handle case for OP_RR_ZR.
(do_t_cond): New.
(insns): New instructions for cinc, cinv, cneg, csinc,
csinv, csneg, cset, csetm, csel.
* testsuite/gas/arm/armv8_1-m-cond-bad.d: New test.
* testsuite/gas/arm/armv8_1-m-cond-bad.l: New test.
* testsuite/gas/arm/armv8_1-m-cond-bad.s: New test.
* testsuite/gas/arm/armv8_1-m-cond.d: New test.
* testsuite/gas/arm/armv8_1-m-cond.s: New test.
opcodes/ChangeLog:
2019-05-21 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (enum mve_instructions): New enum
for csinc, csinv, csneg, csel, cset, csetm, cinv, cinv
and cneg.
(mve_opcodes): New instructions as above.
(is_mve_encoding_conflict): Add cases for csinc, csinv,
csneg and csel.
(print_insn_mve): Accept new %<bitfield>c and %<bitfield>C.
commit 23d00a419fe67801afc02a87f7ab9c5374b0238e
Author: Sudakshina Das <sudi.das@arm.com>
Date: Tue May 21 18:11:08 2019 +0100
[binutils, Arm] Add support for shift instructions in MVE
This patch adds the following instructions which are part of
Armv8.1-M MVE:
ASRL (imm)
ASRL (reg)
LSLL (imm)
LSLL (reg)
LSRL
SQRSHRL
SRQSHR
SQSHLL
SQSHL
SRSHRL
SRSHR
UQRSHLL
UQRSHL
UQSHLL
UQSHL
URSHLL
URSHL
*** gas/ChangeLog ***
2019-05-21 Sudakshina Das <sudi.das@arm.com>
* config/tc-arm.c (operand_parse_code): New entries for
OP_RRnpcsp_I32 (register or integer operands).
(do_mve_scalar_shift): New.
(insns): New instructions for asrl, lsll, lsrl, sqrshrl, sqrshr, sqshl
sqshll, srshr, srshrl, uqrshll, uqrshl, uqshll, uqshl, urshrl and urshr.
* testsuite/gas/arm/mve-shift.d: New.
* testsuite/gas/arm/mve-shift.s: New.
* testsuite/gas/arm/mve-shift-bad.d: New.
* testsuite/gas/arm/mve-shift-bad.s: New.
* testsuite/gas/arm/mve-shift-bad.l: New.
*** opcodes/ChangeLog ***
2019-05-21 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (emun mve_instructions): Updated for new instructions.
(mve_opcodes): New instructions for asrl, lsll, lsrl, sqrshrl,
sqrshr, sqshl, sqshll, srshr, srshrl, uqrshll, uqrshl, uqshll,
uqshl, urshrl and urshr.
(is_mve_okay_in_it): Add new instructions to TRUE list.
(is_mve_unpredictable): Add cases for UNPRED_R13 and UNPRED_R15.
(print_insn_mve): Updated to accept new %j,
%<bitfield>m and %<bitfield>n patterns.
commit cd4797ee054654160fe6c4b6fbecd636b7961e19
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date: Mon May 13 17:19:37 2019 -0700
MIPS/gas: Reject $0 as source register for DAUI instruction
The MIPS64R6 TRM requires that the source register for DAUI
not be r0.
[1] "MIPS Architecture for Programmers Volume II-A: The MIPS64
Instruction Set Manual", Imagination Technologies Ltd., Document
Number: MD00087, Revision 6.06, December 15, 2016, Section 3.2
"Alphabetical List of Instructions", pp. 67-68.
gas/
* testsuite/gas/mips/r6-branch-constraints.s: Rename to ...
* testsuite/gas/mips/r6-reg-constraints.s: this and add test
case for DAUI.
* testsuite/gas/mips/r6-branch-constraints.l: Rename to ...
* testsuite/gas/mips/r6-reg-constraints.l: this and add test
for DAUI.
* testsuite/gas/mips/mips.exp: Rename test from
r6-branch-constraints to r6-reg-constraints.
opcodes/
* mips-opc.c (mips_builtin_opcodes): Change source register
constraint for DAUI.
commit 3734320dc054bd9f6632607e9e5c901c57450791
Author: Matthew Fortune <matthew.fortune@mips.com>
Date: Mon May 13 17:03:19 2019 -0700
[MIPS] Add generation of PLT entries with compact jumps for MIPS R6
Add a new option to get the linker to emit PLTs that use compact
branches instead of delay slot branches.
bfd/
* elfxx-mips.c (LA25_BC): New macro.
(mips_elf_link_hash_table)<compact_branches>: New field.
(STUB_JALRC): New macro.
(mipsr6_o32_exec_plt0_entry_compact): New array.
(mipsr6_n32_exec_plt0_entry_compact): Likewise.
(mipsr6_n64_exec_plt0_entry_compact): Likewise.
(mipsr6_exec_plt_entry_compact): Likewise.
(mips_elf_create_la25_stub): Use BC instead of J for stubs
when compact_branches is true.
(_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
PLT for MIPSR6 with compact_branches. Do not reorder the
compact branches PLT. Switch the lazy stub for MIPSR6
with compact_branches to use JALRC.
(mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
when compact_branches is true.
(_bfd_mips_elf_compact_branches): New function.
* elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
ld/
* emultempl/mipself.em (compact_branches): New static variable.
(mips_create_output_section_statements): Call
_bfd_mips_elf_compact_branches.
(PARSE_AND_LIST_PROLOGUE): Add OPTION_COMPACT_BRANCHES and
OPTION_NO_COMPACT_BRANCHES.
(PARSE_AND_LIST_LONGOPTS): Add compact-branches,
no-compact-branches.
(PARSE_AND_LIST_OPTIONS): Add --compact-branches,
--no-compact-branches.
(PARSE_AND_LIST_ARGS_CASES): Handle the above.
* ld.texinfo: Document --compact-branches, --no-compact-branches.
* testsuite/ld-mips-elf/pic-and-nonpic-1-r6.dd: New test.
* testsuite/ld-mips-elf/pic-and-nonpic-1-r6.nd: New test.
* testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.dd: New test.
* testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.gd: New test.
* testsuite/ld-mips-elf/pic-and-nonpic-1a-r6.s: New test source.
* testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.s: New test source.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
commit 6467207116c66ff2c58f8bc35cb15b2596f5c457
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue May 21 17:15:36 2019 +0100
AArch64: Fix -Werror on build
This patch fixes a hardcoded `l` specifier on a `bfd_signed_vma`.
Instead this now uses BFD_VMA_FMT which fixes the build on 32 bit
hosts.
Committed under the obvious rule.
bfd/ChangeLog:
PR ld/24373
* elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
Fix print formatter.
commit fb7806c7a49d6eb75cdbff183d10d00f75968c0f
Author: Tom de Vries <tdevries@suse.de>
Date: Tue May 21 16:32:41 2019 +0200
[gdb/cli] Fix use of uninitialized variable in complete_command
When building gdb on ubuntu 16.04 with gcc 5.4.0, and running the gdb
testsuite we run into:
...
FAIL: gdb.linespec/explicit.exp: complete after -line: \
cmd complete "b -line argument " (timeout)
...
The failure is reproducible outside the testsuite like this:
...
$ gdb -q build/gdb/testsuite/outputs/gdb.linespec/explicit/explicit \
-ex "complete b -line argument"
Reading symbols from \
build/gdb/testsuite/outputs/gdb.linespec/explicit/explicit...
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_M_create
Aborted (core dumped)
...
The problem is here in complete_command:
...
completion_result result = complete (arg, &word, "e_char);
std::string arg_prefix (arg, word - arg);
if (result.number_matches != 0)
...
The problem is that the word variable is not initialized when
result.number_matches == 0, but the variable is still used in the arg_prefix
initialization.
Fix this by guarding the arg_prefix initialization with the
'result.number_matches != 0' test.
Build and tested on x86_64-linux.
gdb/ChangeLog:
2019-05-21 Tom de Vries <tdevries@suse.de>
PR cli/24587
* cli/cli-cmds.c (complete_command): Fix use of unitialized variable.
commit 669d0468399d8375f4d25289938a0c06d12e7f2e
Author: Tom de Vries <tdevries@suse.de>
Date: Tue May 21 16:32:41 2019 +0200
[gdb/testsuite] Require c++11 where necessary
When building gdb on ubuntu 16.04 with gcc 5.4.0, and running the gdb
testsuite we run into failures due test-cases requiring at least c++1.
Fix this by adding -std=c++11 to those test-cases.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-05-21 Tom de Vries <tdevries@suse.de>
* gdb.arch/amd64-eval.exp: Require c++11.
* gdb.base/max-depth.exp: Same.
* gdb.compile/compile-cplus-array-decay.exp: Same.
* gdb.cp/meth-typedefs.exp: Same.
* gdb.cp/subtypes.exp: Same.
* gdb.cp/temargs.exp: Same.
commit 8fe9a076adf308ec813246a96f915c5ab5b6a75f
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Tue May 21 14:51:43 2019 +0100
[GAS, Arm] PR24559: Fix pseudo load-operations for Armv8-M Baseline
gas/ChangeLog:
2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
PR 24559
* config/tc-arm.c (move_or_literal_pool): Set size_req to 0
for MOVW replacement.
* testsuite/gas/arm/load-pseudo.s: New test input.
* testsuite/gas/arm/m0-load-pseudo.d: New test.
* testsuite/gas/arm/m23-load-pseudo.d: New test.
* testsuite/gas/arm/m33-load-pseudo.d: New test.
commit e6f65e7573a317ac4efff26fe0e49fe1b9e7a596
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Tue May 21 14:49:03 2019 +0100
[binutils][Arm] Fix Branch Future relocation handling and testisms
bfd/ChangeLog:
2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
PR/target 24460
* elf32-arm.c (get_value_helper): Remove.
(elf32_arm_final_link_relocate): Fix branch future relocations.
gas/ChangeLog:
2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
* testsuite/gas/arm/armv8_1-m-bf.d: Allow different branch target naming
conventions.
* testsuite/gas/arm/armv8_1-m-bfl.d: Likewise.
* testsuite/gas/arm/armv8_1-m-bfcsel.d: Likewise.
* testsuite/gas/arm/armv8_1-m-loloop.d: Likewise.
* testsuite/gas/arm/armv8_1-m-bf-rel.d: Skip for vxworks.
* testsuite/gas/arm/armv8_1-m-bf-rela.d: New test.
* testsuite/gas/arm/armv8_1-m-bfl-rel.d: Skip for vxworks.
* testsuite/gas/arm/armv8_1-m-bfl-rela.d: New test.
ld/ChangeLog:
2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
* testsuite/ld-arm/arm-elf.exp: Add tests
* testsuite/ld-arm/bfs-0.s: New test.
* testsuite/ld-arm/bfs-1.s: New test.
* testsuite/ld-arm/branch-futures.d: New test.
commit 739b5c9c778dee9e2f54d864f83a81ecb0639535
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue May 21 13:04:08 2019 +0100
AArch64: Implement choice between Cortex-A53 erratum workarounds. (PR ld/24373)
The Cortex-A53 erratum currently has two ways it can resolve the erratum when
using the flag --fix-cortex-a53-843419:
1) If the address is within the range of an ADR instruction it rewrites the ADRP
into an ADR, and those doesn't need the use of a veneer.
2) If the address is not within range, it adds a branch to a veneer which will
execute the final bit of the erratum workaround and branch back to the call
site.
When we do this we always generate the veneers and we always align the size of
the text section to 4KB. This is because we only know which workaround we can
use after all linking has finished and all addresses are known. This means even
though the veneers are not used, we still generate the section and we still
change the size of the input section.
This is problematic for small memory devices as this would require the user to
take about a ~4KB hit in memory even though it's not even used.
Since there's no real way to restart the linking process from the final write
phase this patch solves the issue by allowing the user more control over which
erratum workaround gets used.
Concretely this changes the option --fix-cortex-a53-843419 to take optional
arguments --fix-cortex-a53-843419[=full|adr|adrp]
- full (default): Use both ADRP and ADR workaround. This is equivalent to not
specifying any options and is the default behavior before this
patch.
- adr: Only use the ADR workaround, this will not cause any increase in binary
size but linking will fail if the referenced address is out of range of
an ADR instruction.
- adrp: Use only the ADRP workaround, this will never rewrite your ADRP.
In the cases where the user knows how big their binaries are the `adr` option
would prevent the unneeded overhead.
bfd/ChangeLog:
PR ld/24373
* bfd-in.h (enum erratum_84319_opts): New
(bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
int to enum erratum_84319_opts.
* bfd-in2.h: Regenerate.
* elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
(_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
(aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
(_bfd_aarch64_resize_stubs): Amend comment.
(elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
requested.
(bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
(_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
erratum workaround.
(clear_erratum_843419_entry): Update erratum conditional.
ld/ChangeLog:
PR ld/24373
* emultempl/aarch64elf.em (PARSE_AND_LIST_LONGOPTS): Add optional args
to flags.
* NEWS: Add changes to flag.
(PARSE_AND_LIST_OPTIONS): Update help descriptions.
(PARSE_AND_LIST_ARGS_CASES): Add new options to parser.
* testsuite/ld-aarch64/aarch64-elf.exp: Add new run_dump_tests.
* testsuite/ld-aarch64/erratum843419-adr.d: New test.
* testsuite/ld-aarch64/erratum843419-adrp.d: New test.
* testsuite/ld-aarch64/erratum843419-far-adr.d: New test.
* testsuite/ld-aarch64/erratum843419-far-full.d: New test.
* testsuite/ld-aarch64/erratum843419-far.s: New test.
* testsuite/ld-aarch64/erratum843419-full.d: New test.
* testsuite/ld-aarch64/erratum843419-near.s: New test.
* testsuite/ld-aarch64/erratum843419-no-args.d: New test.
commit fab7c86ea474291776621eba042132f47af124e1
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue May 21 11:03:45 2019 +0100
AArch64: Add SVE DWARF registers
The SVE DRAWF register names are missing from binutils, this may cause objdump
and readelf to ignore certain DRAWF output as the registers are unknown (most
notably CIEs).
This patch adds the registers in accordance to the "DWARF for ARM(r) 64-bit
Architecture (AARch64) with SVE support" documentation [1].
[1] https://developer.arm.com/docs/100985/latest/dwarf-for-the-arm-64-bit-architecture-aarch64-with-sve-support
binutils/ChangeLog:
* dwarf.c (dwarf_regnames_aarch64): Add SVE registers.
* testsuite/binutils-all/aarch64/sve-dwarf-registers.d: New test.
* testsuite/binutils-all/aarch64/sve-dwarf-registers.s: New test.
commit ce3ebcaae382a3f95530d633e6875f97e53ef273
Author: Alan Hayward <alan.hayward@arm.com>
Date: Tue May 21 10:11:51 2019 +0100
testsuite: Mark the kill in gdbserver_run as optional
This matches the kill in gdb_file_cmd, and ensures that the command is not
sent to the gdb.in file.
When gdb.in is used as a batch file, any kill commands run before the target
is started will cause gdb to stop processing commands.
gdb/testsuite/ChangeLog:
* lib/gdbserver-support.exp (gdbserver_run): Mark kill as optional.
commit e2d1595531b62487749e1af680d8f0c48c684feb
Author: John Darrington <john@darrington.wattle.id.au>
Date: Tue May 21 10:11:40 2019 +0200
GAS: Replace macro LITERAL_PREFIXDOLLAR_HEX with a runtime value.
In an upcoming commit, I need to be able to set the prefix used
to introduce hexadecimal literal constants using a command line
flag. This is not currently possible, because the switch which
determines this (LITERAL_PREFIXDOLLAR_HEX) is a macro set at
build time.
This change substitutes it for a variable to be set at start up.
gas/ChangeLog:
* expr.c (literal_prefix_dollar_hex): New variable.
(operand)[case '$']: Use the new variable instead of the old macro.
Also, move this instance of "case '$'" next to the other one, and
enable it only in the complementary proprocessor case.
* expr.h (literal_prefix_dollar_hex): Declare it.
* config/tc-epiphany.c (md_begin): Assign literal_prefix_dollar_hex.
* config/tc-ip2k.c: ditto
* config/tc-mt.c: ditto
* config/tc-epiphany.h (LITERAL_PREFIXDOLLAR_HEX): Remove macro definition.
* config/tc-ip2k.h: ditto
* config/tc-mt.h: ditto
commit 7622049e0bef81fab900860400838bc977449892
Author: Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
Date: Thu May 16 12:12:33 2019 +0530
Fix PR 24571 - Relaxation does not shorten jmp or call to target at pc-relative range boundary
The range check done to transform an absolute call/jump to a pc-relative one is
off-by-one, and that causes this shortening optimization to be missed if the
branch target is right at the range boundary.
In the non-shrinkable case, the range is what is mentioned in the ISA - -4094
bytes in the backward direction, and 4096 bytes in the positive direction.
In the shrinkable case, the forward jump range increases by two bytes (deleted
because of the shortening from call/jmp to rcall/rjmp), and therefore, the
range is -4094 in the reverse, and 4098 in the positive direction.
Fix the ranges for !shrinkable and shrinkable cases, and add a test caes to
ensure jumps to max forward and backward ranges get relaxed to rjmp.
commit 338ba75534fbfeb64d7009f29a89f25826a1f4d2
Author: Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
Date: Thu May 16 17:16:36 2019 +0530
Fix PR 24564 - link fails for some rcalls/rjmps with wraparound
The current code to compute relative distance in the wrap around case does not
handle the edge case of the target (after adjusting for implicit PC increment)
being exactly half of the wrap around distance. This patch fixes that and adds a
testcase.
The range for a forward relative jump call is 4096 bytes ((2 * 2047) + (2 bytes
for the implicit PC increment)). If the target of the jump is at a distance of
4098 bytes, it is out of range for a forward jump - however, a backward jump can
still reach that address if pmem-wrap-around is 8192.
Assume address 0 has rjmp to address 4098. With a wrap around of 8192 and
*without* adjusting for the implicit PC increment of 2 bytes, rjmp .-4096 will
jump to address 4096 (wrap around at 8192 and decreasing addresses from then
on). Adjusting 2 bytes for the implicit PC increment, the actual target is 4098.
avr_relative_distance_considering_wrap_around though, does the wrap around only
if the passed in distance is less than half of the wrap around distance. In this
case, it is exactly equal to half (original distance 4098, adjusted distance of
4096 and wraparound of 8192), and the bypassed wrap around causes the reloc
overflow error.
Fix by wrapping around even if adjusted distance is equal to half of wrap around
distance.
commit da0523c66604dc11b8787d3e0123ea80a2503f14
Author: John Darrington <john@darrington.wattle.id.au>
Date: Tue May 21 07:30:05 2019 +0200
Revert "GAS: Replace macro LITERAL_PREFIXDOLLAR_HEX with a runtime value."
This reverts commit cffc205c9eaacfa312323807cd60b9d3d1c26894.
commit 302d65e0b264df2db2f42a2ef51fb9d69f3225de
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue May 21 00:00:28 2019 +0000
Automatic date update in version.in
commit d87343802b81ad123a27beccb140d406f54727c6
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date: Mon May 6 09:09:02 2019 -0700
[MIPS] PR gas/14798: Limit IRIX5 specific default typing to IRIX targets
On IRIX 5, every global symbol that is not explicitly labelled as
being a function is assumed to be an object. There is no reason
why IRIX behaviour should extend to all MIPS targets, so limit this
to only IRIX targets.
gas/
PR 14798
* config/tc-mips.c (s_mips_globl): Only treat symbols that are
not explicitly labelled as BSF_OBJECTs for IRIX targets.
* testsuite/gas/mips/pr14798.s: New test source.
* testsuite/gas/mips/pr14798-irix.d: New test.
* testsuite/gas/mips/pr14798.d: Likewise.
* testsuite/gas/mips/mips.exp: Run the new tests.
binutils/
PR 14798
* testsuite/binutils-all/readelf.ss-mips: Update reference output.
* testsuite/binutils-all/readelf.ss-tmips: Likewise.
ld/
PR 14798
* testsuite/ld-mips-elf/reloc-6a.s: Specify .text section for
global code symbols.
* testsuite/ld-mips-elf/reloc-6b.s: Likewise.
commit cffc205c9eaacfa312323807cd60b9d3d1c26894
Author: John Darrington <john@darrington.wattle.id.au>
Date: Mon May 20 19:53:30 2019 +0200
GAS: Replace macro LITERAL_PREFIXDOLLAR_HEX with a runtime value.
In an upcoming commit, I need to be able to set the prefix used
to introduce hexadecimal literal constants using a command line
flag. This is not currently possible, because the switch which
determines this (LITERAL_PREFIXDOLLAR_HEX) is a macro set at
build time.
This change substitutes it for a variable to be set at start up.
gas/ChangeLog:
* expr.c (literal_prefix_dollar_hex): New variable.
(operand)[case '$']: Use the new variable instead of the old macro.
* expr.h (literal_prefix_dollar_hex): Declare it.
* config/tc-epiphany.c (md_begin): Assign literal_prefix_dollar_hex.
* config/tc-ip2k.c: ditto
* config/tc-mt.c: ditto
* config/tc-epiphany.h (LITERAL_PREFIXDOLLAR_HEX): Remove macro definition.
* config/tc-ip2k.h: ditto
* config/tc-mt.h: ditto
commit efa9760914311fdd9b9a299f1e6cd5a85d64c5ff
Author: Nick Clifton <nickc@redhat.com>
Date: Mon May 20 17:17:24 2019 +0100
Correct the alpha sorting of the short options in the usage description of the gprof program.
PR 24569
* gprof.c (usage): Restore alphabetical sorting to short options
list. Add -r, -R and -t short options to the list.
(main): Add comment about -g and -G possibly being deprecated.
* gprof.texi: Update usage example in line with changes above.
commit 999b073bdb188635feaf1f719237b4845b5b06f3
Author: Nick Clifton <nickc@redhat.com>
Date: Mon May 20 16:18:19 2019 +0100
Updated translations for various binutils subdirectories.
bfd * po/fr.po: Updated French translation.
binutils* po/ca.po: Updated Catalan translation.
gprof * po/de.po: Updated German translation.
opcodes * po/fr.po: Updated French translation.
commit 2a912e42d7b9aafae0e8507360cbca52cd29fa9a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon May 20 00:00:22 2019 +0000
Automatic date update in version.in
commit 1aea5580c4b760e27e480fb4cb82146a2388e504
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun May 19 00:01:13 2019 +0000
Automatic date update in version.in
commit 34d11c682fd96c7dbe3ebd6cd9033e65d51ec7a3
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri May 3 15:23:55 2019 +0100
gdb/fortran: Use floatformats_ia64_quad for fortran 16-byte floats
PR gdb/18644 is caused by GDB using the wrong floating point format
for gfortran's 16-byte floating point type, including when the 16-byte
float is used as the component of a 32-byte complex type.
This commit addresses the issue in two places, first in i386-tdep.c,
there is already some code to force the use of floatformats_ia64_quad
for specific named types, this is extended to include the type names
that gfortran uses for its 16-byte floats.
Second, the builtin 16-byte float type (in f-lang.c) is changed so it
no longer uses gdbarch_long_double_format. On i386 this type is not
16-bytes, but is smaller, this is not what gfortran is expecting.
Instead we now use gdbarch_floatformat_for_type and ask for a
16-byte (128 bit) type using the common gfortran type name. This is
then spotted in i386-tdep.c (thanks to the first change above) and we
again get floatformats_ia64_quad returned.
This patch was tested on X86-64/GNU-Linux using '--target_board=unix'
and '--target_board=unix/-m32', and resolves all of the known failures
associated with PR gdb/18644. I've also added the test case from the
original bug report.
gdb/ChangeLog:
PR gdb/18644:
* f-lang.c (build_fortran_types): Use floatformats_ia64_quad for
16-byte floats.
* i386-tdep.c (i386_floatformat_for_type): Use
floatformats_ia64_quad for the 16-byte floating point component
within a fortran 32-byte complex number.
gdb/testsuite/ChangeLog:
PR gdb/18644
* gdb.fortran/complex.exp: Remove setup_kfail calls.
* gdb.fortran/printing-types.exp: Add new test.
* gdb.fortran/printing-types.f90: Add 16-byte real variable for
testing.
* gdb.fortran/type-kinds.exp (test_cast_1_to_type_kind): Remove
setup_kfail call.
commit 122cf0f2d93ae6f7a53e8dd643ebb068b79df9cf
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri May 17 22:30:34 2019 +0100
gdb: Add constructor to struct cu_partial_die_info
Adds a constructor to 'struct cu_partial_die_info' and disables the
default constructor, preventing partially initialised instances from
being created.
Update 'find_partial_die' to return a const struct.
Users of 'find_partial_die' are updated to take account of the above
two changes.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* dwarf2read.c (struct cu_partial_die_info): Add constructor,
delete default constructor.
(find_partial_die): Update to return const struct.
(partial_die_parent_scope): Move variable declaration into scope
of its use and change its type to auto.
(guess_partial_die_structure_name): Likewise.
(partial_die_info::fixup): Likewise.
commit 3e2cf42fe5c305ebb5a4a69427a37e950385ea60
Author: John Darrington <john@darrington.wattle.id.au>
Date: Sat May 18 08:25:18 2019 +0200
S12Z (doc): Minor improvements to text and formatting.
gas/
* doc/c-s12z.texi: Miscellaneous adjustments.
commit 1c8ce0ebbe603b7016fff924eb7636d8406f44ba
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat May 18 00:00:20 2019 +0000
Automatic date update in version.in
commit 33d0e35aed8870ad317af7eeca5274cf4fd87d15
Author: Tom Tromey <tromey@adacore.com>
Date: Fri May 17 08:42:10 2019 -0600
Don't cast away const in find_and_open_source
find_and_open_source casts away const, but hasn't needed to in a
while. This removes the cast and a strangely hostile comment.
gdb/ChangeLog
2019-05-17 Tom Tromey <tromey@adacore.com>
* source.c (find_and_open_source): Remove cast.
commit a45575b0356d671df2c55fcfc66de719b6b2e5e5
Author: Tom Tromey <tromey@adacore.com>
Date: Fri May 17 08:41:12 2019 -0600
Constify annotate_source
I noticed that annotate_source takes a "char *", but really should
take a "const char *". This patch fixes this.
gdb/ChangeLog
2019-05-17 Tom Tromey <tromey@adacore.com>
* annotate.c (annotate_source): Make "filename" const.
* annotate.h (annotate_source): Use const.
commit 87781e8475f8ec80463937130cde48540ff87149
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri May 17 16:48:36 2019 +0100
testsuite: Remove TRANSCRIPT support
TRANSCRIPT is superseeded by the .in, .cmd and .debug files, and
can be removed.
gdb/testsuite/ChangeLog
* README (Running the Testsuite): Change example.
(Testsuite Parameters): Remove TRANSCRIPT.
* lib/gdb.exp: Remove TRANSCRIPT check.
commit b420b89e4b321ff31f2e76cac499b908f042069b
Author: Alan Hayward <alan.hayward@arm.com>
Date: Tue Apr 30 16:00:29 2019 +0100
testsuite: Add replay logging to GDBSERVER_DEBUG
Add "replay" to the list of GDBSERVER_DEBUG options. This will
cause a gdbserver.replay file to be written to the test output
directory.
At the same time switch this to a comma separated list in order
to easily handle all possible options.
The replay log is created by GDB, but has been added to
GDBSERVER_DEBUG as it is only required for gdbserver tests. To
enable it, the gdb_debug_init is overridden to allow the additional
checking, before calling the original function.
gdb/testsuite/ChangeLog:
* README (Testsuite Parameters): Add replay logging to
GDBSERVER_DEBUG.
(gdbserver,debug): Refer to GDBSERVER_DEBUG.
* lib/gdbserver-support.exp (gdbserver_start): Treat gdbserverdebug
as a comma separated list.
(gdb_debug_init): Override procedure.
commit 408e9b8b9ebeb854baea9aac52fa8df4d41eb53d
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri May 17 16:38:02 2019 +0100
testsuite: Create .cmd files for gdb and gdbserver
When spawning gdb or gdbserver create a .cmd file in the test output
directory containing the full command line, ensuring the current gdb
instance is appended to the files so that they can be quickly matched
to the corresponding gdb.in file.
gdb/testsuite/ChangeLog:
* lib/gdb.exp (default_gdb_spawn): Call gdb_write_cmd_file.
(gdb_write_cmd_file): New procedure.
* lib/gdbserver-support.exp (gdbserver_start): Call
gdbserver_write_cmd_file.
(gdbserver_write_cmd_file): New proedure.
commit f9e2e39d23495844d998f54a0fccb9d6be7edb0e
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri May 17 16:30:09 2019 +0100
testsuite: Record all gdb input to gdb.in
When debugging testsuite failures, it can be awkward parsing gdb.log to
obtain all the commands run in order to manually re-run the test.
This patch adds the functionality to save all gdb commands to the file gdb.in
when the testsuite is run. The file is saved in the directory for the test and
if gdb is restarted then .1, .2, .3 etc is added to the filename.
Once a test has been run, the .in file can be used to re-run the test in the
following way:
gdb -x outputs/gdb.store/gdb.in outputs/gdb.store/store
The code works by intercepting send_gdb. I've added a TYPE to ensure that any
commands that would destroy the playback are kept from the log (for example the
Y from an answer to a y/n question).
Adds library function standard_output_file_with_gdb_instance to open a file
postfixed with count of the gdb instance. Ensure this count is reset when a new
.exp script is run.
I've re-run a random selection of .in files to check they do not error. Logs with
commands such as "attach <pid>" will not directly work when re-run.
gdb/testsuite/ChangeLog:
* lib/gdb.exp (gdb_unload): Mark Y as an answer.
(delete_breakpoints): Likewise.
(gdb_run_cmd): Likewise.
(gdb_start_cmd): Likewise.
(gdb_starti_cmd): Likewise.
(gdb_internal_error_resync): Likewise.
(gdb_test_multiple): Likewise.
(gdb_reinitialize_dir): Likewise.
(default_gdb_exit): Likewise.
(gdb_file_cmd): Mark kill as optional.
(default_gdb_start): Call gdb_stdin_log_init.
(send_gdb): Call gdb_stdin_log_write.
(rerun_to_main): Mark Y as an answer.
(gdb_stdin_log_init): New function.
(gdb_stdin_log_write): Likewise.
commit 81f47ac29f8cdb888f2d81c5daa9bfc4747738aa
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri May 17 15:35:08 2019 +0100
testsuite: Disable some tests when logging
Fix up all failures encountered when running the testsuite with
GDB_DEBUG="infrun".
Some tests rely on enabling debugging for various components. With
debugging on, this will be lost to the debug file.
Disable separate tty for mi tests when debugging. This currently
does not work.
disasm.c should send errors to the stderr instead of the logfile.
Note that enabling debug for other components might still cause
additional errors above what has been fixed here.
gdb/ChangeLog:
* disasm.c (set_disassembler_options): Send errors to stderr.
gdb/testsuite/ChangeLog:
* gdb.base/breakpoint-in-ro-region.exp: Disable when debugging.
* gdb.base/debug-expr.exp: Likewise.
* gdb.base/foll-fork.exp: Likewise.
* gdb.base/foll-vfork.exp: Likewise.
* gdb.base/fork-print-inferior-events.exp: Likewise.
* gdb.base/gdb-sigterm.exp: Likewise.
* gdb.base/gdbinit-history.exp: Likewise.
* gdb.base/osabi.exp: Likewise.
* gdb.base/sss-bp-on-user-bp-2.exp: Likewise.
* gdb.base/ui-redirect.exp: Likewise.
* gdb.gdb/unittest.exp: Likewise.
* gdb.mi/mi-break.exp: Disable separate-mi-tty when debugging.
* gdb.mi/mi-watch.exp: Likewise.
* gdb.mi/new-ui-mi-sync.exp: Likewise.
* gdb.mi/user-selected-context-sync.exp: Likewise.
* gdb.python/python.exp: Disable debug test when debugging.
* gdb.threads/check-libthread-db.exp: Disable when debugging.
* gdb.threads/signal-while-stepping-over-bp-other-thread.exp:
Likewise.
* gdb.threads/stepi-random-signal.exp: Likewise.
commit 29b523140ecf72bc3fdf570c71fbda6fe85cf930
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri May 17 14:35:23 2019 +0100
testsuite: Add option to capture GDB debug
Add both board option and environment variable which enables gdb
debug via a comma separated list and sends it to the file gdb.debug,
located in the output directory for the current test. Document this.
Add support for the environment variable in the Makefile.
The testsuite can be run with gdb debug enabled in the following way:
make check GDB_DEBUG="infrun,target,remote"
A Test with multiple invocations of GDB will all append debug to the
same log file.
gdb/testsuite/ChangeLog:
* Makefile.in: Pass through GDB_DEBUG.
* README (Testsuite Parameters): Add GDB_DEBUG.
(gdb,debug): Add board setting.
* lib/gdb.exp (default_gdb_start): Start debugging.
(gdb_debug_enabled): New procedure.
(gdb_debug_init): Likewise.
commit ca1285d17534cff3041c07ac7841288e1b3ba19c
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri May 17 14:15:01 2019 +0100
Add debug redirect option
Currently, when logging is enabled, output will be sent to both a
logfile and standard terminal output. The redirect option sends output
only to the logfile. This includes all debug output.
Add the option to redirect debug output seperately to normal
output, using the cli command:
set logging debugredirect on
By setting this and enabling logging, all output and debug will
be sent to the logfile. The user will still see all output but
no debug output.
This causes a change in behaviour for anyone currently using
logging redirect, as now only output will be redirected. Users
will have to issue the additional command above to also redirect
debug.
Expand ui-redirect.exp cover the changes.
gdb/ChangeLog:
* cli/cli-interp.c (struct saved_output_files): Add saved entry.
(cli_interp_base::set_logging): Check debug_redirect.
* cli/cli-interp.h (set_logging): Add debug_redirect parameter.
* cli/cli-logging.c (debug_redirect): Add static variable.
(pop_output_files): Add default param.
(handle_redirections): Print debug setting.
(show_logging_command): Likewise.
(_initialize_cli_logging): Add debugredirect command.
* interps.c (current_interp_set_logging): Add debug_redirect
parameter.
* interps.h (set_logging): Add debug_redirect parameter.
(current_interp_set_logging): Likewise.
* mi/mi-common.h: Likewise.
* mi/mi-interp.c (mi_interp::set_logging): Likewise.
gdb/testsuite/ChangeLog:
* gdb.base/ui-redirect.exp: Add debug redirect tests.
commit 334fe02b5f9cb1dd3abb0f79856ee1f4285f39c1
Author: John Darrington <john@darrington.wattle.id.au>
Date: Fri May 17 15:05:44 2019 +0200
GAS (documentation): Remove trademark acknowledgements.
GNU policy is not to include trademark acknowlegements in
documentation [1]
[1] https://www.gnu.org/prep/standards/html_node/Trademarks.html
Committing as obvious.
gas/
* doc/c-arm.texi (ARM Options): Remove "(r)" and "(tm)"
* doc/c-bfin.texi (Blackfin Syntax): Remove "(r)"
commit f3a09c800fcd1d597fa2b9578cb59adfc15b698d
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri May 17 14:07:04 2019 +0100
Change file close behavior for tee_file
Instead of using two bools to decide if the files should close when tee_file
is closed, make file one stay open and file two close. This simplifies the
use cases for it.
Inline the make_logging_output into the calling functions (the logic here
looks ugly in order to simplify a later change).
Expand ui-redirect.exp to cover the changes, similar to mi-logging.exp.
gdb/ChangeLog:
* cli/cli-interp.c (cli_interp_base::set_logging): Create tee_file
directly.
* cli/cli-interp.h (make_logging_output): Remove declaration.
* cli/cli-logging.c (make_logging_output): Remove function.
* mi/mi-interp.c (mi_interp::set_logging): Create tee_file
directly.
* ui-file.c (tee_file::tee_file): Remove bools.
(tee_file::~tee_file): Remove deletes.
* ui-file.h (tee_file): Remove bools.
gdb/testsuite/ChangeLog:
* gdb.base/ui-redirect.exp: Test redirection.
commit af4fa23fba220c1b26bb3c8a7996b406dcc181cc
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 17 19:09:42 2019 +0930
PR24567, assertion failure in ldlang.c:6868 when compiling with -flto
As the existing comment said: "a common ought to be overridden by a
def in a -flto object". This patch makes the code actually do that,
rather than allowing a normal object file common to override a -flto
defined symbol.
PR 24567
* plugin.c (plugin_notice): Do not let a common symbol override
a non-common definition in IR.
commit 26648588294d039fcf1efbf512d785753cb6286d
Author: Jan Vrany <jan.vrany@fit.cvut.cz>
Date: Fri May 17 10:58:23 2019 +0100
MI: Add new command -complete
There is a CLI command 'complete' intended to use with emacs. Such a command
would also be useful for MI frontends, when separate CLI and MI channels cannot
be used. For example, on Windows (because of lack of PTYs) or when GDB is used
through SSH session.
This commit adds a new '-complete' MI command.
gdb/Changelog:
2019-01-28 Jan Vrany <jan.vrany@fit.cvut.cz>
* mi/mi-cmds.h (mi_cmd_complete): New function.
* mi/mi-main.c (mi_cmd_complete): Likewise.
* mi/mi-cmds.c: Define new MI command -complete.
* NEWS: Mention new -complete command.
gdb/doc/ChangeLog:
2019-01-28 Jan Vrany <jan.vrany@fit.cvut.cz>
* gdb.texinfo (Miscellaneous GDB/MI Commands): Document new
MI command -complete.
gdb/testsuite/ChangeLog:
2019-01-28 Jan Vrany <jan.vrany@fit.cvut.cz>
* gdb.mi/mi-complete.exp: New file.
* gdb.mi/mi-complete.cc: Likewise.
commit 6e035501e15e72398fcd9db88c97dd30e585a9ae
Author: Jan Vrany <jan.vrany@fit.cvut.cz>
Date: Fri May 17 10:58:23 2019 +0100
MI: extract command completion logic from complete_command()
Extract completion logic from CLI complete_command() into a new
helper function complete().
gdb/Changelog:
* completer.h (complete): New function.
* completer.c (complete): Likewise.
* cli/cli-cmds.c: (complete_command): Update to use new complete()
function defined in completer.h.
commit 7d0e2ecedef69de0a242ac49a475f6a3968d4476
Author: Jan Vrany <jan.vrany@fit.cvut.cz>
Date: Fri May 17 10:48:12 2019 +0100
Add myself to gdb/MAINTAINERS
gdb/Changelog:
* MAINTAINERS (Write After Approval): Add myself.
commit fb816e8b1c8ef6b7b07eb3612bb61bd7ef1ff94f
Author: Tom de Vries <tdevries@suse.de>
Date: Fri May 17 09:35:19 2019 +0200
[gdb] Fix heap-use-after-free in typename_concat
When running gdb using AddressSanitizer, and loading a cc1plus binary built
with profiledbootstrap and -flto, we run into a heap-use-after-free error:
...
$ LD_PRELOAD=/usr/lib64/libasan.so.3 ./gdb -batch cc1plus
==26855==ERROR: AddressSanitizer: heap-use-after-free on address \
0x62100ad8a8b0 at pc 0x7f13803cc9e3 bp 0x7ffe55b0d090 sp 0x7ffe55b0c840
READ of size 47 at 0x62100ad8a8b0 thread T0
#0 0x7f13803cc9e2 (/usr/lib64/libasan.so.3+0x3e9e2)
#1 0x5e7a0d in typename_concat gdb/dwarf2read.c:22661
#2 0x5c6437 in partial_die_full_name gdb/dwarf2read.c:8876
#3 0x5c6555 in add_partial_symbol gdb/dwarf2read.c:8893
#4 0x5c6ecf in add_partial_subprogram gdb/dwarf2read.c:9156
#5 0x5c5e90 in scan_partial_symbols gdb/dwarf2read.c:8668
#6 0x5c6c0a in add_partial_namespace gdb/dwarf2read.c:9081
#7 0x5c5f99 in scan_partial_symbols gdb/dwarf2read.c:8702
#8 0x5c48b6 in process_psymtab_comp_unit_reader gdb/dwarf2read.c:8056
#9 0x5c3c1f in init_cutu_and_read_dies gdb/dwarf2read.c:7689
#10 0x5c4c03 in process_psymtab_comp_unit gdb/dwarf2read.c:8140
#11 0x5c58a2 in dwarf2_build_psymtabs_hard gdb/dwarf2read.c:8500
#12 0x5c0d03 in dwarf2_build_psymtabs(objfile*) gdb/dwarf2read.c:6337
#13 0x612359 in read_psyms gdb/elfread.c:1311
#14 0x798a64 in require_partial_symbols(objfile*, int) gdb/psymtab.c:115
#15 0x867d7b in read_symbols gdb/symfile.c:821
#16 0x8683d9 in syms_from_objfile_1 gdb/symfile.c:1000
#17 0x8684a1 in syms_from_objfile gdb/symfile.c:1017
#18 0x868873 in symbol_file_add_with_addrs gdb/symfile.c:1124
#19 0x868b0a in symbol_file_add_from_bfd(bfd*, char const*, \
enum_flags<symfile_add_flag>, std::vector<other_sections, \
std::allocator<other_sections> >*, \
enum_flags<objfile_flag>, objfile*) gdb/symfile.c:1204
#20 0x868b64 in symbol_file_add(char const*, \
enum_flags<symfile_add_flag>, \
std::vector<other_sections, \
std::allocator<other_sections> >*, \
enum_flags<objfile_flag>) gdb/symfile.c:1217
#21 0x868c39 in symbol_file_add_main_1 gdb/symfile.c:1240
#22 0x868bd0 in symbol_file_add_main(char const*, \
enum_flags<symfile_add_flag>) gdb/symfile.c:1231
#23 0x71f1b2 in symbol_file_add_main_adapter gdb/main.c:395
#24 0x71f10e in catch_command_errors gdb/main.c:372
#25 0x71ff5f in captured_main_1 gdb/main.c:1043
#26 0x72045d in captured_main gdb/main.c:1163
#27 0x7204c8 in gdb_main(captured_main_args*) gdb/main.c:1188
#28 0x40fd7d in main gdb/gdb.c:32
#29 0x7f137e300f49 in __libc_start_main (/lib64/libc.so.6+0x20f49)
#30 0x40fc89 in _start (/data/gdb_versions/devel/build/gdb/gdb+0x40fc89)
0x62100ad8a8b0 is located 944 bytes inside of 4064-byte region \
[0x62100ad8a500,0x62100ad8b4e0)
freed by thread T0 here:
#0 0x7f13804523a0 in __interceptor_free (/usr/lib64/libasan.so.3+0xc43a0)
#1 0x435e44 in xfree<void> gdb/common/common-utils.h:60
#2 0xa82c25 in call_freefun libiberty/obstack.c:103
#3 0xa83098 in _obstack_free libiberty/obstack.c:280
#4 0x4367da in auto_obstack::~auto_obstack() gdb/gdb_obstack.h:101
#5 0x5ed72c in dwarf2_cu::~dwarf2_cu() gdb/dwarf2read.c:25341
#6 0x5fb5bb in std::default_delete<dwarf2_cu>::operator()(dwarf2_cu*) const \
/usr/include/c++/7/bits/unique_ptr.h:78
#7 0x5f7334 in std::unique_ptr<dwarf2_cu, \
std::default_delete<dwarf2_cu> >::~unique_ptr() \
/usr/include/c++/7/bits/unique_ptr.h:268
#8 0x5c3ce5 in init_cutu_and_read_dies gdb/dwarf2read.c:7624
#9 0x5c4c03 in process_psymtab_comp_unit gdb/dwarf2read.c:8140
#10 0x5c58a2 in dwarf2_build_psymtabs_hard gdb/dwarf2read.c:8500
#11 0x5c0d03 in dwarf2_build_psymtabs(objfile*) gdb/dwarf2read.c:6337
#12 0x612359 in read_psyms gdb/elfread.c:1311
#13 0x798a64 in require_partial_symbols(objfile*, int) gdb/psymtab.c:115
#14 0x867d7b in read_symbols gdb/symfile.c:821
#15 0x8683d9 in syms_from_objfile_1 gdb/symfile.c:1000
#16 0x8684a1 in syms_from_objfile gdb/symfile.c:1017
#17 0x868873 in symbol_file_add_with_addrs gdb/symfile.c:1124
#18 0x868b0a in symbol_file_add_from_bfd(bfd*, char const*, \
enum_flags<symfile_add_flag>, std::vector<other_sections, \
std::allocator<other_sections> >*, \
enum_flags<objfile_flag>, objfile*) gdb/symfile.c:1204
#19 0x868b64 in symbol_file_add(char const*, \
enum_flags<symfile_add_flag>, std::vector<other_sections, \
std::allocator<other_sections> >*, \
enum_flags<objfile_flag>) gdb/symfile.c:1217
#20 0x868c39 in symbol_file_add_main_1 gdb/symfile.c:1240
#21 0x868bd0 in symbol_file_add_main(char const*, \
enum_flags<symfile_add_flag>) gdb/symfile.c:1231
#22 0x71f1b2 in symbol_file_add_main_adapter gdb/main.c:395
#23 0x71f10e in catch_command_errors gdb/main.c:372
#24 0x71ff5f in captured_main_1 gdb/main.c:1043
#25 0x72045d in captured_main gdb/main.c:1163
#26 0x7204c8 in gdb_main(captured_main_args*) gdb/main.c:1188
#27 0x40fd7d in main gdb/gdb.c:32
#28 0x7f137e300f49 in __libc_start_main (/lib64/libc.so.6+0x20f49)
previously allocated by thread T0 here:
#0 0x7f13804526b8 in __interceptor_malloc (/usr/lib64/libasan.so.3+0xc46b8)
#1 0x5114b5 in xmalloc gdb/common/common-utils.c:44
#2 0xa82bd5 in call_chunkfun libiberty/obstack.c:94
#3 0xa82eda in _obstack_newchunk libiberty/obstack.c:206
#4 0x477310 in allocate_on_obstack::operator new(unsigned long, obstack*) \
gdb/gdb_obstack.h:117
#5 0x5dea8c in load_partial_dies gdb/dwarf2read.c:18571
#6 0x5c487f in process_psymtab_comp_unit_reader gdb/dwarf2read.c:8054
#7 0x5c3c1f in init_cutu_and_read_dies gdb/dwarf2read.c:7689
#8 0x5c4c03 in process_psymtab_comp_unit gdb/dwarf2read.c:8140
#9 0x5c58a2 in dwarf2_build_psymtabs_hard gdb/dwarf2read.c:8500
#10 0x5c0d03 in dwarf2_build_psymtabs(objfile*) gdb/dwarf2read.c:6337
#11 0x612359 in read_psyms gdb/elfread.c:1311
#12 0x798a64 in require_partial_symbols(objfile*, int) gdb/psymtab.c:115
#13 0x867d7b in read_symbols gdb/symfile.c:821
#14 0x8683d9 in syms_from_objfile_1 gdb/symfile.c:1000
#15 0x8684a1 in syms_from_objfile gdb/symfile.c:1017
#16 0x868873 in symbol_file_add_with_addrs gdb/symfile.c:1124
#17 0x868b0a in symbol_file_add_from_bfd(bfd*, char const*, \
enum_flags<symfile_add_flag>, \
std::vector<other_sections, \
std::allocator<other_sections> >*, \
enum_flags<objfile_flag>, objfile*) gdb/symfile.c:1204
#18 0x868b64 in symbol_file_add(char const*, enum_flags<symfile_add_flag>, \
std::vector<other_sections, \
std::allocator<other_sections> >*, \
enum_flags<objfile_flag>) gdb/symfile.c:1217
#19 0x868c39 in symbol_file_add_main_1 gdb/symfile.c:1240
#20 0x868bd0 in symbol_file_add_main(char const*, \
enum_flags<symfile_add_flag>) gdb/symfile.c:1231
#21 0x71f1b2 in symbol_file_add_main_adapter gdb/main.c:395
#22 0x71f10e in catch_command_errors gdb/main.c:372
#23 0x71ff5f in captured_main_1 gdb/main.c:1043
#24 0x72045d in captured_main gdb/main.c:1163
#25 0x7204c8 in gdb_main(captured_main_args*) gdb/main.c:1188
#26 0x40fd7d in main gdb/gdb.c:32
#27 0x7f137e300f49 in __libc_start_main (/lib64/libc.so.6+0x20f49)
...
This error happens as follows.
The function find_partial_die has a cu argument, but returns a pdi which may
or may not be from that cu:
...
/* Find a partial DIE at OFFSET, which may or may not be in CU,
except in the case of .debug_types DIEs which do not reference
outside their CU (they do however referencing other types via
DW_FORM_ref_sig8). */
static struct partial_die_info *
find_partial_die (sect_offset sect_off, int offset_in_dwz, struct dwarf2_cu *cu)
...
So the pdi returned by find_partial_die here in partial_die_parent_scope may
be from another cu:
...
partial_die_parent_scope (struct partial_die_info *pdi,
struct dwarf2_cu *cu)
{
const char *grandparent_scope;
struct partial_die_info *parent, *real_pdi;
/* We need to look at our parent DIE; if we have a DW_AT_specification,
then this means the parent of the specification DIE. */
real_pdi = pdi;
while (real_pdi->has_specification)
real_pdi = find_partial_die (real_pdi->spec_offset,
real_pdi->spec_is_dwz, cu);
parent = real_pdi->die_parent;
...
in which case both real_pdi and parent will be not from cu, but from another
one, say cu2.
Subsequently, cu's comp_unit_obstack is used to set parent->scope:
...
parent->scope = typename_concat (&cu->comp_unit_obstack,
grandparent_scope,
parent->name, 0, cu);
...
So, we use cu->comp_unit_obstack to assign a value to the scope field of
a pdi belonging to cu2, and when cu is deleted, the scope field points to a
freed value.
Fix this by making find_partial_die return the cu corresponding to the
returned pdi, and handling this at the call sites.
Tested on x86_64-linux.
gdb/ChangeLog:
2019-05-17 Tom de Vries <tdevries@suse.de>
PR gdb/24094
* dwarf2read.c (struct cu_partial_die_info): New struct.
(find_partial_die): Return cu_partial_die_info.
(partial_die_parent_scope, guess_partial_die_structure_name)
(partial_die_info::fixup): Handle new return type of find_partial_die.
commit 6275948b473f6ed3149e97bc18f6f8de28bb3f04
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri May 17 00:00:14 2019 +0000
Automatic date update in version.in
commit 677052f2a5c67f1d9b2e6d1b2a2149b5f0c20cd0
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Thu May 16 16:23:24 2019 -0400
Make stap-probe.c:stap_parse_register_operand's "regname" an std::string
This patch simplifies the code of
stap-probe.c:stap_parse_register_operand by making "regname" an
std::string. No functionality change.
I'm this code's maintainer, so I'm pushing this as it's a fairly
trivial patch.
gdb/ChangeLog:
2019-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
* stap-probe.c (stap_parse_register_operand): Make "regname" an
"std::string", simplifying the algorithm.
commit f3da9116654bb2e899063a0aa9e11c2606b38fff
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Thu May 16 16:20:39 2019 -0400
Fix complaint string formatting on stap-probe.c
I think the string formatting for complaints was messed up by Tom's
patch to simplify the complaint mechanism. This small and trivial
patch fixes them.
Pushed as obvious.
gdb/ChangeLog:
2019-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
* stap-probe.c (handle_stap_probe): Fix complaint formatting.
(stap_static_probe_ops::get_probes): Likewise.
commit f1bb75ab2a68b7d0878966f5a945eb7d33a48280
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Thu May 16 16:17:30 2019 -0400
Slightly improve logic of some operations on stap-probe.c
This patch contains three very small improvement on the logic of some
operations we do on stap-probe.c. They don't change what the code
does.
Pushed as obvious.
gdb/ChangeLog:
2019-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
* stap-probe.c (stap_parse_register_operand): Make "if (*p->arg ==
'-')" and "else if".
(stap_parse_single_operand): Join checks for
"gdbarch_stap_parse_special_token_p" and
"gdbarch_stap_parse_special_token" in the same "if" statement.
Invert check when verifying for operation on register
displacement.
commit 3ca58cdea13ddad01d70aa170eb419903b241b94
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Thu May 16 16:11:20 2019 -0400
Update some comments on stap-probe.c
Some functions's comments were not entirely correct on stap-probe.c,
so this patch updates them.
Pushed as obvious.
gdb/ChangeLog:
2019-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
* stap-probe.c (stap_get_opcode): Update comment.
(stap_get_expected_argument_type): Likewise.
(handle_stap_probe): Likewise.
commit af2d9beee989c7b75de849d9c08629a1e3f567ad
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Thu May 16 15:58:55 2019 -0400
Bool-ify stap-probe.c and stap-related code on i386-tdep.c
This simple patch converts a bunch of "int"s to "bool" on stap-probe.c
and on the stap-related code present on i386-tdep.c.
Pushed as obvious (+ I'm the maintainer of this code).
gdb/ChangeLog:
2019-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
* i386-tdep.c (i386_stap_parse_special_token_triplet): Change
return type to 'bool'. Adjust comment. Use 'bool' when
appropriate.
(i386_stap_parse_special_token_three_arg_disp): Likewise.
* stap-probe.c (stap_parse_argument_1): Likewise.
(stap_is_operator): Likewise.
(stap_is_generic_prefix): Likewise.
(stap_is_register_prefix): Likewise.
(stap_is_register_indirection_prefix): Likewise.
(stap_is_integer_prefix): Likewise.
(stap_generic_check_suffix): Likewise.
(stap_check_integer_suffix): Likewise.
(stap_check_register_suffix): Likewise.
(stap_check_register_indirection_suffix): Likewise.
(stap_parse_register_operand): Likewise.
(stap_parse_single_operand): Likewise.
(stap_parse_argument_1): Likewise.
(stap_probe::get_argument_count): Likewise.
(stap_is_operator): Likewise.
commit 61c9c4212daa0be96503b9069da387aebf9cba04
Author: Tom Tromey <tromey@adacore.com>
Date: Thu May 16 10:45:57 2019 -0600
Fix darwin-nat.c build
John Marshall pointed out that darwin-nat.c fails to build:
CXX darwin-nat.o
../../../binutils-gdb/gdb/darwin-nat.c:1709:8: error: must use 'class' tag to refer to type 'thread_info' in this scope
for (thread_info *it : all_threads ())
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/mach/thread_act.h:240:15: note:
class 'thread_info' is hidden by a non-type declaration of 'thread_info' here
kern_return_t thread_info
Mach has a thread_info() function declared in that header, which darwin-nat.c #includes.
This patch fixes the problem by reintroducing the struct keyword.
gdb/ChangeLog
2019-05-16 Tom Tromey <tromey@adacore.com>
* darwin-nat.c (thread_info_from_private_thread_info): Add struct
keyword to foreach.
commit 64c350f2b7930050b869fd3268547452316a19ac
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 16:10:22 2019 +0100
[PATCH, GAS, Arm] Refactor check_simd_pred_availability
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (check_simd_pred_availability): Refactor.
(do_neon_dyadic_i_su): Refactor use of check_simd_pred_availability.
(do_neon_dyadic_i64_su): Likewise.
(do_neon_shl): Likewise.
(do_neon_qshl): Likewise.
(do_neon_rshl): Likewise.
(do_neon_logic): Likewise.
(do_neon_dyadic_if_su): Likewise.
(do_neon_addsub_if_i): Likewise.
(do_neon_mac_maybe_scalar): Likewise.
(do_neon_fmac): Likewise.
(do_neon_mul): Likewise.
(do_neon_qdmulh): Likewise.
(do_neon_qrdmlah): Likewise.
(do_neon_abs_neg): Likewise.
(do_neon_sli): Likewise.
(do_neon_sri): Likewise.
(do_neon_qshlu_imm): Likewise.
(do_neon_cvt_1): Likewise.
(do_neon_cvttb_1): Likewise.
(do_neon_mvn): Likewise.
(do_neon_rev): Likewise.
(do_neon_dup): Likewise.
(do_neon_mov): Likewise.
(do_neon_rshift_round_imm): Likewise.
(do_neon_sat_abs_neg): Likewise.
(do_neon_cls): Likewise.
(do_neon_clz): Likewise.
(do_vmaxnm): Likewise.
(do_vrint_1): Likewise.
(do_vcmla): Likewise.
(do_vcadd): Likewise.
commit 514bbb0fd96e0742bdef8c6c706e5a030323d198
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 16:08:36 2019 +0100
[PATCH, binutils, Arm] Add Armv8.1-M Mainline and MVE enablement to NEWS
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* NEWS: Mention Armv8.1-M Mainline and MVE.
binutils/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* NEWS: Mention Armv8.1-M Mainline and MVE.
commit 4d6ac854515b14ac5304c1553d37f9b1d78ca333
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 16:06:29 2019 +0100
[PATCH 57/57][Arm][GAS] MVE Tests
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* testsuite/gas/arm/mve-tailpredloop.d: New test.
* testsuite/gas/arm/mve-tailpredloop.s: New test.
* testsuite/gas/arm/mve-vabav.d: New test.
* testsuite/gas/arm/mve-vabav.s: New test.
* testsuite/gas/arm/mve-vabd.d: New test.
* testsuite/gas/arm/mve-vabd.s: New test.
* testsuite/gas/arm/mve-vabsneg.d: New test.
* testsuite/gas/arm/mve-vabsneg.s: New test.
* testsuite/gas/arm/mve-vadc.d: New test.
* testsuite/gas/arm/mve-vadc.s: New test.
* testsuite/gas/arm/mve-vaddlv.d: New test.
* testsuite/gas/arm/mve-vaddlv.s: New test.
* testsuite/gas/arm/mve-vaddsub.d: New test.
* testsuite/gas/arm/mve-vaddsub.s: New test.
* testsuite/gas/arm/mve-vaddv.d: New test.
* testsuite/gas/arm/mve-vaddv.s: New test.
* testsuite/gas/arm/mve-vand.d: New test.
* testsuite/gas/arm/mve-vand.s: New test.
* testsuite/gas/arm/mve-vbic.d: New test.
* testsuite/gas/arm/mve-vbic.s: New test.
* testsuite/gas/arm/mve-vbrsr.d: New test.
* testsuite/gas/arm/mve-vbrsr.s: New test.
* testsuite/gas/arm/mve-vcadd.d: New test.
* testsuite/gas/arm/mve-vcadd.s: New test.
* testsuite/gas/arm/mve-vcls.d: New test.
* testsuite/gas/arm/mve-vcls.s: New test.
* testsuite/gas/arm/mve-vclz.d: New test.
* testsuite/gas/arm/mve-vclz.s: New test.
* testsuite/gas/arm/mve-vcmla.d: New test.
* testsuite/gas/arm/mve-vcmla.s: New test.
* testsuite/gas/arm/mve-vcmp.d: New test.
* testsuite/gas/arm/mve-vcmp.s: New test.
* testsuite/gas/arm/mve-vcmul.d: New test.
* testsuite/gas/arm/mve-vcmul.s: New test.
* testsuite/gas/arm/mve-vcvt-1.d: New test.
* testsuite/gas/arm/mve-vcvt-1.s: New test.
* testsuite/gas/arm/mve-vcvt-2.d: New test.
* testsuite/gas/arm/mve-vcvt-2.s: New test.
* testsuite/gas/arm/mve-vcvt-3.d: New test.
* testsuite/gas/arm/mve-vcvt-3.s: New test.
* testsuite/gas/arm/mve-vcvt-4.d: New test.
* testsuite/gas/arm/mve-vcvt-4.s: New test.
* testsuite/gas/arm/mve-vddup.d: New test.
* testsuite/gas/arm/mve-vddup.s: New test.
* testsuite/gas/arm/mve-vdup.d: New test.
* testsuite/gas/arm/mve-vdup.s: New test.
* testsuite/gas/arm/mve-veor.d: New test.
* testsuite/gas/arm/mve-veor.s: New test.
* testsuite/gas/arm/mve-vfma-vfms.d: New test.
* testsuite/gas/arm/mve-vfma-vfms.s: New test.
* testsuite/gas/arm/mve-vfmas.d: New test.
* testsuite/gas/arm/mve-vfmas.s: New test.
* testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.d: New test.
* testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.s: New test.
* testsuite/gas/arm/mve-vhcadd.d: New test.
* testsuite/gas/arm/mve-vhcadd.s: New test.
* testsuite/gas/arm/mve-vmax-vmin.d: New test.
* testsuite/gas/arm/mve-vmax-vmin.s: New test.
* testsuite/gas/arm/mve-vmaxa-vmina.d: New test.
* testsuite/gas/arm/mve-vmaxa-vmina.s: New test.
* testsuite/gas/arm/mve-vmaxnm-vminnm.d: New test.
* testsuite/gas/arm/mve-vmaxnm-vminnm.s: New test.
* testsuite/gas/arm/mve-vmaxnma-vminnma.s: New test.
* testsuite/gas/arm/mve-vmaxnmv-vminnmv.d: New test.
* testsuite/gas/arm/mve-vmaxnmv-vminnmv.s: New test.
* testsuite/gas/arm/mve-vmaxv-vminv.d: New test.
* testsuite/gas/arm/mve-vmaxv-vminv.s: New test.
* testsuite/gas/arm/mve-vmla.d: New test.
* testsuite/gas/arm/mve-vmla.s: New test.
* testsuite/gas/arm/mve-vmladav.d: New test.
* testsuite/gas/arm/mve-vmladav.s: New test.
* testsuite/gas/arm/mve-vmlaldav.d: New test.
* testsuite/gas/arm/mve-vmlaldav.s: New test.
* testsuite/gas/arm/mve-vmlalv.d: New test.
* testsuite/gas/arm/mve-vmlalv.s: New test.
* testsuite/gas/arm/mve-vmlas.d: New test.
* testsuite/gas/arm/mve-vmlas.s: New test.
* testsuite/gas/arm/mve-vmlav.d: New test.
* testsuite/gas/arm/mve-vmlav.s: New test.
* testsuite/gas/arm/mve-vmlsdav.d: New test.
* testsuite/gas/arm/mve-vmlsdav.s: New test.
* testsuite/gas/arm/mve-vmlsldav.d: New test.
* testsuite/gas/arm/mve-vmlsldav.s: New test.
* testsuite/gas/arm/mve-vmov-1.d: New test.
* testsuite/gas/arm/mve-vmov-1.s: New test.
* testsuite/gas/arm/mve-vmov-2.d: New test.
* testsuite/gas/arm/mve-vmov-2.s: New test.
* testsuite/gas/arm/mve-vmul.d: New test.
* testsuite/gas/arm/mve-vmul.s: New test.
* testsuite/gas/arm/mve-vmulh.d: New test.
* testsuite/gas/arm/mve-vmulh.s: New test.
* testsuite/gas/arm/mve-vmullbt.d: New test.
* testsuite/gas/arm/mve-vmullbt.s: New test.
* testsuite/gas/arm/mve-vmvn.d: New test.
* testsuite/gas/arm/mve-vmvn.s: New test.
* testsuite/gas/arm/mve-vorn.d: New test.
* testsuite/gas/arm/mve-vorn.s: New test.
* testsuite/gas/arm/mve-vorr.d: New test.
* testsuite/gas/arm/mve-vorr.s: New test.
* testsuite/gas/arm/mve-vpnot.d: New test.
* testsuite/gas/arm/mve-vpnot.s: New test.
* testsuite/gas/arm/mve-vpsel.d: New test.
* testsuite/gas/arm/mve-vpsel.s: New test.
* testsuite/gas/arm/mve-vpt.d: New test.
* testsuite/gas/arm/mve-vpt.s: New test.
* testsuite/gas/arm/mve-vqabsneg.s: New test.
* testsuite/gas/arm/mve-vqaddsub.d: New test.
* testsuite/gas/arm/mve-vqaddsub.s: New test.
* testsuite/gas/arm/mve-vqdmladh.d: New test.
* testsuite/gas/arm/mve-vqdmladh.s: New test.
* testsuite/gas/arm/mve-vqdmlah.d: New test.
* testsuite/gas/arm/mve-vqdmlah.s: New test.
* testsuite/gas/arm/mve-vqdmlash.d: New test.
* testsuite/gas/arm/mve-vqdmlash.s: New test.
* testsuite/gas/arm/mve-vqdmlsdh.d: New test.
* testsuite/gas/arm/mve-vqdmlsdh.s: New test.
* testsuite/gas/arm/mve-vqdmulh.d: New test.
* testsuite/gas/arm/mve-vqdmulh.s: New test.
* testsuite/gas/arm/mve-vqdmull.d: New test.
* testsuite/gas/arm/mve-vqdmull.s: New test.
* testsuite/gas/arm/mve-vqmovn.d: New test.
* testsuite/gas/arm/mve-vqmovn.s: New test.
* testsuite/gas/arm/mve-vqrshl.d: New test.
* testsuite/gas/arm/mve-vqrshl.s: New test.
* testsuite/gas/arm/mve-vqrshrn.d: New test.
* testsuite/gas/arm/mve-vqrshrn.s: New test.
* testsuite/gas/arm/mve-vqshl.d: New test.
* testsuite/gas/arm/mve-vqshl.s: New test.
* testsuite/gas/arm/mve-vrev.d: New test.
* testsuite/gas/arm/mve-vrev.s: New test.
* testsuite/gas/arm/mve-vrint.d: New test.
* testsuite/gas/arm/mve-vrint.s: New test.
* testsuite/gas/arm/mve-vrmlaldavh.d: New test.
* testsuite/gas/arm/mve-vrmlaldavh.s: New test.
* testsuite/gas/arm/mve-vrshl.d: New test.
* testsuite/gas/arm/mve-vrshl.s: New test.
* testsuite/gas/arm/mve-vsbc.d: New test.
* testsuite/gas/arm/mve-vsbc.s: New test.
* testsuite/gas/arm/mve-vshl.d: New test.
* testsuite/gas/arm/mve-vshl.s: New test.
* testsuite/gas/arm/mve-vshlc.d: New test.
* testsuite/gas/arm/mve-vshlc.s: New test.
* testsuite/gas/arm/mve-vshll.d: New test.
* testsuite/gas/arm/mve-vshll.s: New test.
* testsuite/gas/arm/mve-vshr.d: New test.
* testsuite/gas/arm/mve-vshr.s: New test.
* testsuite/gas/arm/mve-vshrn.d: New test.
* testsuite/gas/arm/mve-vshrn.s: New test.
* testsuite/gas/arm/mve-vsli.d: New test.
* testsuite/gas/arm/mve-vsli.s: New test.
* testsuite/gas/arm/mve-vsri.d: New test.
* testsuite/gas/arm/mve-vsri.s: New test.
* testsuite/gas/arm/mve-vstld.d: New test.
* testsuite/gas/arm/mve-vstld.s: New test.
* testsuite/gas/arm/mve-vstrldr-1.d: New test.
* testsuite/gas/arm/mve-vstrldr-1.s: New test.
* testsuite/gas/arm/mve-vstrldr-2.d: New test.
* testsuite/gas/arm/mve-vstrldr-2.s: New test.
* testsuite/gas/arm/mve-vstrldr-3.d: New test.
* testsuite/gas/arm/mve-vstrldr-3.s: New test.
commit 14b456f2a011b28d8136a64022f2a418391054e3
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:48:34 2019 +0100
[PATCH 56/57][Arm][OBJDUMP] Add support for MVE instructions: vpnot, vpsel, vqabs, vqadd, vqsub, vqneg and vrev
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (thumb32_opcodes): Add new instructions.
(enum mve_instructions): Likewise.
(enum mve_undefined): Add new reasons.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_undefined): Likewise.
(print_mve_size): Likewise.
commit f49bb598d96fd66bb6f2e9b14951f094e3d29396
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:47:12 2019 +0100
[PATCH 55/57][Arm][OBJDUMP] Add support for MVE instructions: vmul, vmulh, vrmulh and vneg
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (thumb32_opcodes): Add new instructions.
(enum mve_instructions): Likewise.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_size): Likewise.
commit 56858bea624ab405d53379ae25f433880ecafc68
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:45:17 2019 +0100
[PATCH 54/57][Arm][OBJDUMP] Add support for MVE instructions: vmax(a), vmax(a)v, vmaxnm(a), vmaxnm(a)v, vmin(a), vmin(a)v, vminnm(a), vminnm(a)v and vmla
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (thumb32_opcodes): Add new instructions.
(enum mve_instructions): Likewise.
(is_mve_encoding_conflict): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_size): Likewise.
commit e523f10159d469dc0ca77069d092411f200685a1
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:44:19 2019 +0100
[PATCH 53/57][Arm][OBJDUMP] Add support for MVE instructions: vand, vbrsr, vcls, vclz and vctp
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (thumb32_opcodes): Add new instructions.
(enum mve_instructions): Likewise.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_size): Likewise.
commit 66dcaa5d55eb39471d962bb949df009a9ea3f959
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:42:53 2019 +0100
[PATCH 52/57][Arm][OBJDUMP] Add support for MVE instructions: vadc, vabav, vabd, vabs, vadd, vsbc and vsub
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (thumb32_opcodes): Add new instructions.
(enum mve_instructions): Likewise.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_size): Likewise.
(print_insn_mve): Likewise.
commit d052b9b7cb90e0f76e35b0cf3c44e9b168b158c2
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:41:41 2019 +0100
[PATCH 51/57][Arm][OBJDUMP] Add support for MVE instructions: lctp, letp, wlstp and dlstp
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (thumb32_opcodes): Add new instructions.
(print_insn_thumb32): Handle new instructions.
commit ed63aa178c4b5e47eb8658813b2a3b621b7a092b
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:39:12 2019 +0100
[PATCH 50/57][Arm][OBJDUMP] Add support for MVE shift instructions
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(enum mve_undefined): Add new reasons.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_undefined): Likewise.
(print_mve_size): Likewise.
(print_mve_shift_n): Likewise.
(print_insn_mve): Likewise.
commit 897b9bbcffa894bd3f3664d7f1b666379493d9b2
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:34:44 2019 +0100
[PATCH 49/57][Arm][OBJDUMP] Add support for MVE complex number instructions
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_unpredictable): Likewise.
(print_mve_rotate): Likewise.
(print_mve_size): Likewise.
(print_insn_mve): Likewise.
commit 1c8f2df85f56d8f3213667e2a11cd480f2a26667
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:33:36 2019 +0100
[PATCH 48/57][Arm][OBJDUMP] Add support for MVE instructions: vddup, vdwdup, vidup and viwdup
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_unpredictable): Likewise.
(print_mve_size): Likewise.
(print_insn_mve): Likewise.
commit d3b6314397347943f40cdbf6efe34e209a162cc0
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:32:01 2019 +0100
[PATCH 47/57][Arm][OBJDUMP] Add support for MVE instructions: vaddv, vmlaldav, vmladav, vmlas, vrmlsldavh, vmlsldav, vmlsdav, vrmlaldavh, vqdmlah, vqrdmlash, vqrdmlash, vqdmlsdh, vqrdmlsdh, vqdmulh and vqrdmulh
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(enum mve_undefined): Add new reasons.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_undefined): Likewise.
(print_mve_size): Likewise.
(print_insn_mve): Likewise.
commit 14925797f833c9f4eedab98c7c50961d180aa03f
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:30:38 2019 +0100
[PATCH 46/57][Arm][OBJDUMP] Add support for MVE instructions: vmovl, vmull, vqdmull, vqmovn, vqmovun and vmovn
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_size): Likewise.
(print_insn_mve): Likewise.
commit c507f10b0711f24e1b82b8bd096e605317cf77fe
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:29:36 2019 +0100
[PATCH 45/57][Arm][OBJDUMP] Add support for MVE instructions: vmov, vmvn, vorr, vorn, vmovx and vbic
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(enum mve_unpredictable): Add new reasons.
(enum mve_undefined): Likewise.
(is_mve_okay_in_it): Handle new isntructions.
(is_mve_encoding_conflict): Likewise.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_vmov_index): Likewise.
(print_simd_imm8): Likewise.
(print_mve_undefined): Likewise.
(print_mve_unpredictable): Likewise.
(print_mve_size): Likewise.
(print_insn_mve): Likewise.
commit bf0b396de71b76c02f6dd37e61e4044cdccb28d3
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:08:17 2019 +0100
[PATCH 44/57][Arm][OBJDUMP] Add support for MVE instructions: vcvt and vrint
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(enum mve_unpredictable): Add new reasons.
(enum mve_undefined): Likewise.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_undefined): Likewise.
(print_mve_unpredictable): Likewise.
(print_mve_rounding_mode): Likewise.
(print_mve_vcvt_size): Likewise.
(print_mve_size): Likewise.
(print_insn_mve): Likewise.
commit ef1576a1b5f14276b44ee4c0fc259832ca0dfd99
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:06:46 2019 +0100
[PATCH 43/57][Arm][OBJDUMP] Add support for MVE instructions: scatter stores and gather loads
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(enum mve_unpredictable): Add new reasons.
(enum mve_undefined): Likewise.
(is_mve_undefined): Handle new instructions.
(is_mve_unpredictable): Likewise.
(print_mve_undefined): Likewise.
(print_mve_unpredictable): Likewise.
(print_mve_size): Likewise.
(print_insn_mve): Likewise.
commit aef6d006581cab8a858e7abd36c57e73ea6e97a2
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:05:38 2019 +0100
[PATCH 42/57][Arm][OBJDUMP] Add support for MVE instructions: vldr[bhw] and vstr[bhw]
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(enum mve_undefined): Add new reasons.
(insns): Add new instructions.
(is_mve_encoding_conflict):
(print_mve_vld_str_addr): New print function.
(is_mve_undefined): Handle new instructions.
(is_mve_unpredictable): Likewise.
(print_mve_undefined): Likewise.
(print_mve_size): Likewise.
(print_insn_coprocessor_1): Handle MVE VLDR, VSTR instructions.
(print_insn_mve): Handle new operands.
commit 04d54ace12e77deb8b1d26541de0f2cbc11880f5
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:04:35 2019 +0100
[PATCH 41/57][Arm][OBJDUMP] Add support for MVE instructions: vld[24] and vst[24]
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(enum mve_unpredictable): Add new reasons.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_unpredictable): Likewise.
(mve_opcodes): Add new instructions.
(print_mve_unpredictable): Handle new reasons.
(print_mve_register_blocks): New print function.
(print_mve_size): Handle new instructions.
(print_insn_mve): Likewise.
commit 9743db035e9bc256b5accdcbdecd7d1e9b41d4be
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 14:02:05 2019 +0100
[PATCH 40/57][Arm][OBJDUMP] Add support for MVE instructions: vdup, veor, vfma, vfms, vhadd, vhsub and vrhadd
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(enum mve_unpredictable): Add new reasons.
(enum mve_undefined): Likewise.
(is_mve_encoding_conflict): Handle new instructions.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(coprocessor_opcodes): Move NEON VDUP from here...
(neon_opcodes): ... to here.
(mve_opcodes): Add new instructions.
(print_mve_undefined): Handle new reasons.
(print_mve_unpredictable): Likewise.
(print_mve_size): Handle new instructions.
(print_insn_neon): Handle vdup.
(print_insn_mve): Handle new operands.
commit 143275ea7e56baf5ad7a736698b79a90b473183a
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 13:57:57 2019 +0100
[PATCH 39/57][Arm][OBJDUMP] Add support for MVE instructions: vpt, vpst and vcmp
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): Add new instructions.
(enum mve_unpredictable): Add new values.
(mve_opcodes): Add new instructions.
(vec_condnames): New array with vector conditions.
(mve_predicatenames): New array with predicate suffixes.
(mve_vec_sizename): New array with vector sizes.
(enum vpt_pred_state): New enum with vector predication states.
(struct vpt_block): New struct type for vpt blocks.
(vpt_block_state): Global struct to keep track of state.
(mve_extract_pred_mask): New helper function.
(num_instructions_vpt_block): Likewise.
(mark_outside_vpt_block): Likewise.
(mark_inside_vpt_block): Likewise.
(invert_next_predicate_state): Likewise.
(update_next_predicate_state): Likewise.
(update_vpt_block_state): Likewise.
(is_vpt_instruction): Likewise.
(is_mve_encoding_conflict): Add entries for new instructions.
(is_mve_unpredictable): Likewise.
(print_mve_unpredictable): Handle new cases.
(print_instruction_predicate): Likewise.
(print_mve_size): New function.
(print_vec_condition): New function.
(print_insn_mve): Handle vpt blocks and new print operands.
commit f08d8ce3cd39f34f26dbc681d873e59a0d7e6780
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 13:55:20 2019 +0100
[PATCH 38/57][Arm][OBJDUMP] Disable the use of MVE reserved coproc numbers in coprocessor instructions
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* arm-dis.c (print_insn_coprocessor_1): Disable the use of coprocessors
8, 14 and 15 for Armv8.1-M Mainline.
commit 73cd51e51b294af9591ecc2e8a28a9bec4f466b3
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 13:54:24 2019 +0100
[PATCH 37/57][Arm][OBJDUMP] Add framework for MVE instructions
opcodes/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
Michael Collison <michael.collison@arm.com>
* arm-dis.c (enum mve_instructions): New enum.
(enum mve_unpredictable): Likewise.
(enum mve_undefined): Likewise.
(struct mopcode32): New struct.
(is_mve_okay_in_it): New function.
(is_mve_architecture): Likewise.
(arm_decode_field): Likewise.
(arm_decode_field_multiple): Likewise.
(is_mve_encoding_conflict): Likewise.
(is_mve_undefined): Likewise.
(is_mve_unpredictable): Likewise.
(print_mve_undefined): Likewise.
(print_mve_unpredictable): Likewise.
(print_insn_coprocessor_1): Use arm_decode_field_multiple.
(print_insn_mve): New function.
(print_insn_thumb32): Handle MVE architecture.
(select_arm_features): Force thumb for Armv8.1-m Mainline.
commit 1f6234a335eab15c3ad878338b5256b5bdc190ab
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 13:52:51 2019 +0100
[PATCH 36/57][Arm][GAS] Add support for MVE instructions: wlstp, dlstp, letp and lctp
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (T16_32_TAB): Add new instructions.
(do_t_loloop): Changed to handle tail predication variants.
(md_apply_fix): Likewise.
(insns): Add entries for MVE mnemonics.
* testsuite/gas/arm/mve-tailpredloop-bad.d: New test.
* testsuite/gas/arm/mve-tailpredloop-bad.l: New test.
* testsuite/gas/arm/mve-tailpredloop-bad.s: New test.
* testsuite/gas/arm/mve-tailpredloop.d: New test.
commit acca5630749e83ce4ec893e650afa015a086cc0f
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 13:44:14 2019 +0100
[PATCH 35/57][Arm][GAS] Add support for MVE instructions: vshlc and vshll
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_mve_vshll): New encoding function.
(do_mve_vshlc): Likewise.
(insns): Add entries for MVE mnemonics.
* testsuite/gas/arm/mve-vshlc-bad.d: New test.
* testsuite/gas/arm/mve-vshlc-bad.l: New test.
* testsuite/gas/arm/mve-vshlc-bad.s: New test.
* testsuite/gas/arm/mve-vshll-bad.d: New test.
* testsuite/gas/arm/mve-vshll-bad.l: New test.
* testsuite/gas/arm/mve-vshll-bad.s: New test.
commit 5150f0d83e7525e75d900c6859163db8797507c3
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 12:17:44 2019 +0100
[PATCH 34/57][Arm][GAS] Add support for MVE instructions: vshl and vqshl
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (enum operand_parse_code): Add new operand.
(parse_operands): Handle new operand.
(do_neon_shl_imm): Accept MVE variants.
(do_neon_shl): Likewise.
(do_neon_qshl_imm): Likewise.
(do_neon_qshl): Likewise.
(do_neon_qshlu_imm): Likewise.
(insns): Likewise.
* testsuite/gas/arm/mve-vqshl-bad.d: New test.
* testsuite/gas/arm/mve-vqshl-bad.l: New test.
* testsuite/gas/arm/mve-vqshl-bad.s: New test.
* testsuite/gas/arm/mve-vshl-bad.d: New test.
* testsuite/gas/arm/mve-vshl-bad.l: New test.
* testsuite/gas/arm/mve-vshl-bad.s: New test.
commit 4401c2414dffebc5c5e4914fb611d1ecc738e3d5
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 12:08:38 2019 +0100
[PATCH 33/57][Arm][GAS] Add support for MVE instructions: vshr, vrshr, vsli, vsri, vrev16, vrev32 and vrev64
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_neon_sli): Accept MVE variants.
(do_neon_sri): Likewise.
(do_neon_rev): Likewise.
(do_neon_rshift_round_imm): Likewise.
(insns): Likewise.
* testsuite/gas/arm/mve-vrev-bad.d: New test.
* testsuite/gas/arm/mve-vrev-bad.l: New test.
* testsuite/gas/arm/mve-vrev-bad.s: New test.
* testsuite/gas/arm/mve-vshr-bad.d: New test.
* testsuite/gas/arm/mve-vshr-bad.l: New test.
* testsuite/gas/arm/mve-vshr-bad.s: New test.
* testsuite/gas/arm/mve-vsli-bad.d: New test.
* testsuite/gas/arm/mve-vsli-bad.l: New test.
* testsuite/gas/arm/mve-vsli-bad.s: New test.
* testsuite/gas/arm/mve-vsri-bad.d: New test.
* testsuite/gas/arm/mve-vsri-bad.l: New test.
* testsuite/gas/arm/mve-vsri-bad.s: New test.
commit a710b305c5ca8307e8b9d14bbb014641f60d3b48
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 12:07:22 2019 +0100
[PATCH 32/57][Arm][GAS] Add support for MVE instructions: vrintn, vrintx, vrinta, vrintz, vrintm and vrintp
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_vrint_1): Accept MVE variants.
(insns): Change entries to accept MVE variants.
* testsuite/gas/arm/mve-vrint-bad.d: New test.
* testsuite/gas/arm/mve-vrint-bad.l: New test.
* testsuite/gas/arm/mve-vrint-bad.s: New test.
commit 4aa88b50c4eec0256bcba33e02135f224a725d68
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 12:05:34 2019 +0100
[PATCH 31/57][Arm][GAS] Add support for MVE instructions: vshrn[tb], vrshrn[tb], vqshrn[tb], vqshrun[tb], vqrshrn[tb] and vqrshrun[tb]
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (M_MNEM_vshrnt, M_MNEM_vshrnb, M_MNEM_vrshrnt,
M_MNEM_vqshrnt, M_MNEM_vqshrnb, M_MNEM_vqshrunt, M_MNEM_vqshrunb,
M_MNEM_vrshrnb, M_MNEM_vqrshrnt, M_MNEM_vqrshrnb, M_MNEM_vqrshrunt,
M_MNEM_vqrshrunb): New instruction encodings.
(do_mve_vshrn): New encoding function.
(insns): Add entries for MVE mnemonics.
* testsuite/gas/arm/mve-vqrshrn-bad.d: New test.
* testsuite/gas/arm/mve-vqrshrn-bad.l: New test.
* testsuite/gas/arm/mve-vqrshrn-bad.s: New test.
* testsuite/gas/arm/mve-vshrn-bad.d: New test.
* testsuite/gas/arm/mve-vshrn-bad.l: New test.
* testsuite/gas/arm/mve-vshrn-bad.s: New test.
commit 1be7aba392cd32a9a7165ecb4635c2733b5ac7ba
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 12:04:35 2019 +0100
[PATCH 30/57][Arm][GAS] Add support for MVE instructions: vqmovnt, vqmovnb, vqmovunt, vqmovunb, vqrshl and vrshl
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (M_MNEM_vqmovnt, M_MNEM_vqmovnb,
M_MNEM_vqmovunt, M_MNEM_vqmovunb): New instruction encodings.
(do_mve_vqmovn): New encoding function.
(do_neon_rshl): Change to accepte MVE variants.
(insns): Change entries and add new for MVE mnemonics.
* testsuite/gas/arm/mve-vqmovn-bad.d: New test.
* testsuite/gas/arm/mve-vqmovn-bad.l: New test.
* testsuite/gas/arm/mve-vqmovn-bad.s: New test.
* testsuite/gas/arm/mve-vqrshl-bad.d: New test.
* testsuite/gas/arm/mve-vqrshl-bad.l: New test.
* testsuite/gas/arm/mve-vqrshl-bad.s: New test.
* testsuite/gas/arm/mve-vrshl-bad.d: New test.
* testsuite/gas/arm/mve-vrshl-bad.l: New test.
* testsuite/gas/arm/mve-vrshl-bad.s: New test.
commit 35d1cfc2000388028c8f032e714b576615e8db02
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 12:03:30 2019 +0100
[PATCH 29/57][Arm][GAS] Add support for MVE instructions: vqdmullt and vqdmullb
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (enum operand_parse_code): Add new operand.
(parse_operands): Handle new operand.
(do_mve_vqdmull): New encoding function.
(insns): Add entry for MVE mnemonics.
* testsuite/gas/arm/mve-vqdmull-bad.d: New test.
* testsuite/gas/arm/mve-vqdmull-bad.l: New test.
* testsuite/gas/arm/mve-vqdmull-bad.s: New test.
commit 42b16635dd63ab3e71c76af130423e0ef16d5995
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 12:00:54 2019 +0100
[PATCH 28/57][Arm][GAS] Add support for MVE instructions: vqdmlah, vqrdmlah, vqdmlash, vqrdmlash, vqdmulh and vqrdmulh
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (enum operand_parse_code): Add new operand.
(parse_operands): Handle new operand.
(mve_encode_qqr): Handle new instructions.
(do_neon_qdmulh): Add support for MVE variants.
(do_neon_qrdmlah): Likewise.
(do_mve_vqdmlah): New encoding function.
(insns): Change entries and add new entries for MVE mnemonics.
* testsuite/gas/arm/mve-vqdmulh-bad.d: New test.
* testsuite/gas/arm/mve-vqdmulh-bad.l: New test.
* testsuite/gas/arm/mve-vqdmulh-bad.s: New test.
commit 8b8b22a426d6b2473731176c83b47042bd8184b8
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:59:36 2019 +0100
[PATCH 27/57][Arm][GAS] Add support for MVE instructions: vqdmladh, vqrdmladh, vqdmlsdh and vqrdmlsdh
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_mve_vqdmladh): New encoding function.
(insns): Add entries for MVE mnemonics.
* testsuite/gas/arm/mve-vqdmladh-bad.d: New test.
* testsuite/gas/arm/mve-vqdmladh-bad.l: New test.
* testsuite/gas/arm/mve-vqdmladh-bad.s: New test.
* testsuite/gas/arm/mve-vqdmlsdh-bad.d: New test.
* testsuite/gas/arm/mve-vqdmlsdh-bad.l: New test.
* testsuite/gas/arm/mve-vqdmlsdh-bad.s: New test.
commit 3063888ecfd248ebb4a9b9c61819c9b6eb07bef2
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:57:44 2019 +0100
[PATCH 26/57][Arm][GAS] Add support for MVE instructions: vpnot and vpsel
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_mve_vpsel): New encoding function.
(do_mve_vpnot): Likewise.
(insns): Add entries for MVE mnemonics.
* testsuite/gas/arm/mve-vpnot-bad.d: New test.
* testsuite/gas/arm/mve-vpnot-bad.l: New test.
* testsuite/gas/arm/mve-vpnot-bad.s: New test.
* testsuite/gas/arm/mve-vpsel-bad.d: New test.
* testsuite/gas/arm/mve-vpsel-bad.l: New test.
* testsuite/gas/arm/mve-vpsel-bad.s: New test.
commit 1a186d296c88d5341d2939eb0eedf792b053f8a5
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:52:29 2019 +0100
[PATCH 25/57][Arm][GAS] Add support for MVE instruction: vmvn, vqabs and vqneg
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_neon_mvn): Change to accept MVE variants.
(do_neon_sat_abs_neg): Likewise.
(insns): Likewise.
* testsuite/gas/arm/mve-vmvn-bad.d: New test.
* testsuite/gas/arm/mve-vmvn-bad.l: New test.
* testsuite/gas/arm/mve-vmvn-bad.s: New test.
* testsuite/gas/arm/mve-vqabsneg-bad.d: New test.
* testsuite/gas/arm/mve-vqabsneg-bad.l: New test.
* testsuite/gas/arm/mve-vqabsneg-bad.s: New test.
commit 2d78f95bb639209254eb7252f9c48c520bd90d56
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:49:02 2019 +0100
[PATCH 24/57][Arm][GAS] Add support for MVE instructions: vmlas, vmulh and vrmulh
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_mve_vmlas): New encoding function.
(do_mve_vmulh): Likewise.
(insns): Add entries for MVE mnemonics.
* testsuite/gas/arm/mve-vmlas-bad.d: New test.
* testsuite/gas/arm/mve-vmlas-bad.l: New test.
* testsuite/gas/arm/mve-vmlas-bad.s: New test.
* testsuite/gas/arm/mve-vmulh-bad.d: New test.
* testsuite/gas/arm/mve-vmulh-bad.l: New test.
* testsuite/gas/arm/mve-vmulh-bad.s: New test.
commit a8465a06e0986374f501d0e286a5f351af2aa878
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:46:48 2019 +0100
[PATCH 23/57][Arm][GAS] Add support for MVE instructions: vmla, vmul, vqadd and vqsub
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (enum operand_parse_code): New operand.
(parse_operands): Handle new operand.
(mve_encode_qqr): Handle new instructions.
(do_neon_dyadic_i64_su): Accept MVE variants.
(neon_dyadic_misc): Likewise.
(do_neon_mac_maybe_scalar): Likewise.
(do_neon_mul): Likewise.
(insns): Change to accept MVE variants.
* testsuite/gas/arm/mve-vmla-bad.d: New test.
* testsuite/gas/arm/mve-vmla-bad.l: New test.
* testsuite/gas/arm/mve-vmla-bad.s: New test.
* testsuite/gas/arm/mve-vmul-bad-1.d: New test.
* testsuite/gas/arm/mve-vmul-bad-1.l: New test.
* testsuite/gas/arm/mve-vmul-bad-1.s: New test.
* testsuite/gas/arm/mve-vmul-bad-2.d: New test.
* testsuite/gas/arm/mve-vmul-bad-2.l: New test.
* testsuite/gas/arm/mve-vmul-bad-2.s: New test.
* testsuite/gas/arm/mve-vqaddsub-bad.d: New test.
* testsuite/gas/arm/mve-vqaddsub-bad.l: New test.
* testsuite/gas/arm/mve-vqaddsub-bad.s: New test.
commit 93925576e90a2d5ce84176bf2638f685d1a13ec6
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:45:46 2019 +0100
[PATCH 22/57][Arm][GAS] Add support for MVE instructions: vmlaldav, vmlalv, vmlsldav, vrmlaldavh, vrmlalvh and vrmlsldavh
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (M_MNEM_vmlaldav, M_MNEM_vmlaldava,
M_MNEM_vmlaldavx, M_MNEM_vmlaldavax, M_MNEM_vmlsldav,
M_MNEM_vmlsldava, M_MNEM_vmlsldavx, M_MNEM_vmlsldavax,
M_MNEM_vrmlaldavhx, M_MNEM_vrmlaldavhax, M_MNEM_vrmlsldavh,
M_MNEM_vrmlsldavha, M_MNEM_vrmlsldavhx, M_MNEM_vrmlsldavhax): New
instruction encodings.
(NEON_SHAPE_DEF): New shape
(mve_encode_rrqq): New encoding helper function.
(do_mve_vmlaldav): New encoding function.
(do_mve_vrmlaldavh): New encoding function.
(insns): Add entries for MVE mnemonics.
* testsuite/gas/arm/mve-vmlaldav-bad.d: New test.
* testsuite/gas/arm/mve-vmlaldav-bad.l: New test.
* testsuite/gas/arm/mve-vmlaldav-bad.s: New test.
* testsuite/gas/arm/mve-vmlalv-bad.d: New test.
* testsuite/gas/arm/mve-vmlalv-bad.l: New test.
* testsuite/gas/arm/mve-vmlalv-bad.s: New test.
* testsuite/gas/arm/mve-vmlsldav-bad.d: New test.
* testsuite/gas/arm/mve-vmlsldav-bad.l: New test.
* testsuite/gas/arm/mve-vmlsldav-bad.s: New test.
* testsuite/gas/arm/mve-vrmlaldavh-bad.d: New test.
* testsuite/gas/arm/mve-vrmlaldavh-bad.l: New test.
* testsuite/gas/arm/mve-vrmlaldavh-bad.s: New test.
commit 13ccd4c06fdccad1cb97f15878cd411aa22bf12f
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:44:19 2019 +0100
[PATCH 21/57][Arm][GAS] Add support for MVE instructions: vmaxv, vmaxav, vminv and vminav
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (M_MNEM_vmaxv, M_MNEM_vmaxav, M_MNEM_vminv,
M_MNEM_vminav): New instruction encodings.
(do_mve_vmaxv): New encoding function.
(insns): Add entries for new MVE mnemonics.
* testsuite/gas/arm/mve-vmaxv-vminv-bad.d: New test.
* testsuite/gas/arm/mve-vmaxv-vminv-bad.l: New test.
* testsuite/gas/arm/mve-vmaxv-vminv-bad.s: New test.
commit 8cd7817067daffd567fbe09a85b215b609c56e1d
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:42:52 2019 +0100
[PATCH 20/57][Arm][GAS] Add support for MVE instructions: vmaxnmv, vmaxnmav, vminnmv and vminnmav
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_mve_vmaxnmv): New encoding function.
(insns): Add entries for new mnemonics.
* testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.d: New test.
* testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.l: New test.
* testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.s: New test.
commit 935295b51d80180ecd8c35d0edbd91283ae135a2
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:41:52 2019 +0100
[PATCH 19/57][Arm][GAS] Add support for MVE instructions: vmax[nm][a] and vmin[nm][a]
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_mve_vmaxa_vmina): New encoding function.
(do_mve_vmaxnma_vminnma): Likewise.
(do_neon_dyadic_if_su): Change to support MVE variants.
(do_vmaxnm): Likewise.
(insns): Change to accept MVE variants and add new.
* testsuite/gas/arm/mve-vmax-vmin-bad.d: New test.
* testsuite/gas/arm/mve-vmax-vmin-bad.l: New test.
* testsuite/gas/arm/mve-vmax-vmin-bad.s: New test.
* testsuite/gas/arm/mve-vmaxa-vmina-bad.d: New test.
* testsuite/gas/arm/mve-vmaxa-vmina-bad.l: New test.
* testsuite/gas/arm/mve-vmaxa-vmina-bad.s: New test.
* testsuite/gas/arm/mve-vmaxnm-vminnm-bad.d: New test.
* testsuite/gas/arm/mve-vmaxnm-vminnm-bad.l: New test.
* testsuite/gas/arm/mve-vmaxnm-vminnm-bad.s: New test.
* testsuite/gas/arm/mve-vmaxnma-vminnma-bad.d: New test.
* testsuite/gas/arm/mve-vmaxnma-vminnma-bad.l: New test.
* testsuite/gas/arm/mve-vmaxnma-vminnma-bad.s: New test.
commit 7df54120334049020e377ec17a0fdf4ecc63d6a7
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:40:26 2019 +0100
[PATCH 18/57][Arm][GAS] Add support for MVE instructions: vhcadd, vhadd, vhsub and vrhadd
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (enum operand_parse_code): New operand.
(parse_operands): Handle new operand.
(mve_encode_qqr): Change to support new instructions.
(enum vfp_or_neon_is_neon_bits): Moved.
(vfp_or_neon_is_neon): Moved.
(check_simd_pred_availability): Moved.
(do_neon_dyadic_i_su): Changed to support MVE variants.
(neon_dyadic_misc): Changed mve_encode_qqr call.
(do_mve_vbrsr): Likewise.
(do_mve_vhcadd): New encoding function.
(insns): Change existing to accept MVE variants and add new.
* testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.d: New test.
* testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.l: New test.
* testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.s: New test.
* testsuite/gas/arm/mve-vhcadd-bad.d: New test.
* testsuite/gas/arm/mve-vhcadd-bad.l: New test.
* testsuite/gas/arm/mve-vhcadd-bad.s: New test.
commit d58196e061969786922cae5cdaa2ade56dadd95f
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Thu May 16 11:39:24 2019 +0100
[PATCH 17/57][Arm][GAS] Add support for MVE instructions: vfma and vfms
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_neon_fmac): Change to support MVE variants.
(insns): Change to accept MVE variants.
* testsuite/gas/arm/mve-vfma-vfms-bad.d: New test.
* testsuite/gas/arm/mve-vfma-vfms-bad.l: New test.
* testsuite/gas/arm/mve-vfma-vfms-bad.s: New test.
commit b409bdb60e6a5c1b865dd25eb6bae484eb9b1b04
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 18:36:48 2019 +0100
[PATCH 16/57][Arm][GAS] Add support for MVE instructions: vdup, vddup, vdwdup, vidup and viwdup
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (M_MNEM_vddup, M_MNEM_vdwdup, M_MNEM_vidup,
M_MNEM_viwdup): New instruction encodings.
(NEON_SHAPE_DEF): New shapes.
(do_mve_viddup): New encoding function.
(do_neon_dup): Change to support new MVE variants.
(insns): Change existing to accept MVE variants and add new.
* testsuite/gas/arm/mve-vddup-bad.d: New test.
* testsuite/gas/arm/mve-vddup-bad.l: New test.
* testsuite/gas/arm/mve-vddup-bad.s: New test.
* testsuite/gas/arm/mve-vdup-bad.d: New test.
* testsuite/gas/arm/mve-vdup-bad.l: New test.
* testsuite/gas/arm/mve-vdup-bad.s: New test.
* testsuite/gas/arm/mve-vidup-bad.d: New test.
* testsuite/gas/arm/mve-vidup-bad.l: New test.
* testsuite/gas/arm/mve-vidup-bad.s: New test.
commit f30ee27c150efbdffbca53f84449b2aac605b6c5
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 18:31:38 2019 +0100
[PATCH 15/57][Arm][GAS] Add support for MVE instructions: vcls, vclz and vfmas
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_mve_vfmas): New encoding function.
(do_neon_cls): Change to support MVE variants.
(do_neon_clz): Change to support MVE variants.
(insns): Change to support MVE variants and add new.
* testsuite/gas/arm/mve-vcls-bad.d: New test.
* testsuite/gas/arm/mve-vcls-bad.l: New test.
* testsuite/gas/arm/mve-vcls-bad.s: New test.
* testsuite/gas/arm/mve-vclz-bad.d: New test.
* testsuite/gas/arm/mve-vclz-bad.l: New test.
* testsuite/gas/arm/mve-vclz-bad.s: New test.
* testsuite/gas/arm/mve-vfmas-bad.d: New test.
* testsuite/gas/arm/mve-vfmas-bad.l: New test.
* testsuite/gas/arm/mve-vfmas-bad.s: New test.
commit 5d281bf033bbf2018a30183c2009182d947d3dfd
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 18:21:32 2019 +0100
[PATCH 14/57][Arm][GAS] Add support for MVE instructions: vcadd, vcmla and vcmul
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (enum operand_parse_code): New operands.
(parse_operands): Handle new operands.
(do_mve_vcmul): New encoding function.
(do_vcmla): Change to support MVE variants.
(do_vcadd): Change to support MVE variants.
(insns): Change existing to support MVE variants and add new.
* testsuite/gas/arm/mve-vcadd-bad-1.d: New test.
* testsuite/gas/arm/mve-vcadd-bad-1.l: New test.
* testsuite/gas/arm/mve-vcadd-bad-1.s: New test.
* testsuite/gas/arm/mve-vcadd-bad-2.d: New test.
* testsuite/gas/arm/mve-vcadd-bad-2.l: New test.
* testsuite/gas/arm/mve-vcadd-bad-2.s: New test.
* testsuite/gas/arm/mve-vcmla-bad-1.d: New test.
* testsuite/gas/arm/mve-vcmla-bad-1.l: New test.
* testsuite/gas/arm/mve-vcmla-bad-1.s: New test.
* testsuite/gas/arm/mve-vcmla-bad-2.d: New test.
* testsuite/gas/arm/mve-vcmla-bad-2.l: New test.
* testsuite/gas/arm/mve-vcmla-bad-2.s: New test.
* testsuite/gas/arm/mve-vcmul-bad-1.d: New test.
* testsuite/gas/arm/mve-vcmul-bad-1.l: New test.
* testsuite/gas/arm/mve-vcmul-bad-1.s: New test.
* testsuite/gas/arm/mve-vcmul-bad-2.d: New test.
* testsuite/gas/arm/mve-vcmul-bad-2.l: New test.
* testsuite/gas/arm/mve-vcmul-bad-2.s: New test.
commit f601a00c4c70f396defc66d592c4786135616545
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 17:40:06 2019 +0100
[PATCH 13/57][Arm][GAS] Add support for MVE instructions: vand, vbic, vorr, vorn and veor
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (enum operand_parse_code): New operands.
(parse_operands): Handle new operands.
(enum vfp_or_neon_is_neon_bits): Moved
(vfp_or_neon_is_neon): Moved
(check_simd_pred_availability): Moved.
(do_neon_logic): Change to accept MVE variants.
(insns): Changed to accept MVE variants.
* testsuite/gas/arm/mve-vand-bad.d: New test.
* testsuite/gas/arm/mve-vand-bad.l: New test.
* testsuite/gas/arm/mve-vand-bad.s: New test.
* testsuite/gas/arm/mve-vbic-bad.d: New test.
* testsuite/gas/arm/mve-vbic-bad.l: New test.
* testsuite/gas/arm/mve-vbic-bad.s: New test.
* testsuite/gas/arm/mve-veor-bad.d: New test.
* testsuite/gas/arm/mve-veor-bad.l: New test.
* testsuite/gas/arm/mve-veor-bad.s: New test.
* testsuite/gas/arm/mve-vorn-bad.d: New test.
* testsuite/gas/arm/mve-vorn-bad.l: New test.
* testsuite/gas/arm/mve-vorn-bad.s: New test.
* testsuite/gas/arm/mve-vorr-bad.d: New test.
* testsuite/gas/arm/mve-vorr-bad.l: New test.
* testsuite/gas/arm/mve-vorr-bad.s: New test.
commit 26c1e780920096772b5735250fa31a4184d2253c
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 17:38:12 2019 +0100
[PATCH 12/57][Arm][GAS] Add support for MVE instructions: vaddlv and vaddv
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (M_MNEM_vaddlv, M_MNEM_vaddlva, M_MNEM_vaddv,
M_MNEM_vaddva): New instruction encodings.
(mve_encode_rq): New encoding helper function.
(do_mve_vaddlv): New encoding function.
(do_mve_vaddv): New encoding function.
* testsuite/gas/arm/mve-vaddlv-bad.d: New test.
* testsuite/gas/arm/mve-vaddlv-bad.l: New test.
* testsuite/gas/arm/mve-vaddlv-bad.s: New test.
* testsuite/gas/arm/mve-vaddv-bad.d: New test.
* testsuite/gas/arm/mve-vaddv-bad.l: New test.
* testsuite/gas/arm/mve-vaddv-bad.s: New test.
commit c2dafc2a05c7bb1a341def59e6f39c1da42984dd
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 17:37:07 2019 +0100
[PATCH 11/57][Arm][GAS] Add support for MVE instructions: vadc, vsbc and vbrsr
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (M_MNEM_vadc, M_MNEM_vadci, M_MNEM_vbrsr):
New instruction encodings.
(do_mve_vadc): New encoding instruction.
(do_mve_vbrsr): Likewise.
(do_mve_vsbc): Likewise.
* testsuite/gas/arm/mve-vadc-bad.d: New test.
* testsuite/gas/arm/mve-vadc-bad.l: New test.
* testsuite/gas/arm/mve-vadc-bad.s: New test.
* testsuite/gas/arm/mve-vbrsr-bad.d: New test.
* testsuite/gas/arm/mve-vbrsr-bad.l: New test.
* testsuite/gas/arm/mve-vbrsr-bad.s: New test.
* testsuite/gas/arm/mve-vsbc-bad.d: New test.
* testsuite/gas/arm/mve-vsbc-bad.l: New test.
* testsuite/gas/arm/mve-vsbc-bad.s: New test.
commit 1b8833198c014f2d7f7a67097061f3b990707084
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 17:35:43 2019 +0100
[PATCH 10/57][Arm][GAS] Add support for MVE instructions: vcmp and vpt
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (MVE_BAD_QREG): New error message.
(enum operand_parse_code): Define new operand.
(parse_operands): Handle new operand.
(do_mve_vpt): Change for VPT blocks.
(NEON_SHAPE_DEF): New shape.
(neon_logbits): Moved.
(LOW4): Moved
(HI1): Moved
(mve_get_vcmp_vpt_cond): New function to translate vpt conditions.
(do_mve_vcmp): New encoding function.
(do_vfp_nsyn_cmp): Changed to support MVE variants.
(insns): Change to support MVE variants of vcmp and add vpt.
* testsuite/gas/arm/mve-vcmp-bad-1.d: New test.
* testsuite/gas/arm/mve-vcmp-bad-1.l: New test.
* testsuite/gas/arm/mve-vcmp-bad-1.s: New test.
* testsuite/gas/arm/mve-vcmp-bad-2.d: New test.
* testsuite/gas/arm/mve-vcmp-bad-2.l: New test.
* testsuite/gas/arm/mve-vcmp-bad-2.s: New test.
* testsuite/gas/arm/mve-vpt-bad-1.d: New test.
* testsuite/gas/arm/mve-vpt-bad-1.l: New test.
* testsuite/gas/arm/mve-vpt-bad-1.s: New test.
* testsuite/gas/arm/mve-vpt-bad-2.d: New test.
* testsuite/gas/arm/mve-vpt-bad-2.l: New test.
* testsuite/gas/arm/mve-vpt-bad-2.s: New test.
commit 57785aa2ff465ec72baa75bbd62e321a46e0633e
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 17:31:25 2019 +0100
[PATCH 9/57][Arm][GAS] Add support for MVE instructions: vmov
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (struct arm_it): Expand isscalar field to be able to
distinguish between types of scalar.
(parse_typed_reg_or_scalar): Change to accept MVE scalar variants.
(parse_scalar): Likewise.
(parse_neon_mov): Accept MVE variant.
(po_scalar_or_goto): Make use reg_type.
(parse_operands): Change uses of po_scalar_or_goto.
(do_vfp_sp_monadic): Change to accept MVE variants.
(do_vfp_reg_from_sp): Likewise.
(do_vfp_sp_from_reg): Likewise.
(do_vfp_dp_rd_rm): Likewise.
(do_vfp_dp_rd_rn_rm): Likewise.
(do_vfp_dp_rm_rd_rn): Likewise.
(M_MNEM_vmovlt, M_MNEM_vmovlb, M_MNEM_vmovnt, M_MNEM_vmovnb): New
instruction encodings.
(NEON_SHAPE_DEF): New shape.
(do_mve_mov): New encoding fuction.
(do_mve_movn): Likewise.
(do_mve_movl): Likewise.
(do_neon_mov): Change to accept MVE variants.
(mcCE): New MACRO.
(insns): Accept new MVE variants and instructions.
* testsuite/gas/arm/mve-vmov-bad-1.d: New test.
* testsuite/gas/arm/mve-vmov-bad-1.l: New test.
* testsuite/gas/arm/mve-vmov-bad-1.s: New test.
* testsuite/gas/arm/mve-vmov-bad-2.d: New test.
* testsuite/gas/arm/mve-vmov-bad-2.l: New test.
* testsuite/gas/arm/mve-vmov-bad-2.s: New test.
commit dd9634d97c05168870624cadf8fddf9b62ee3008
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 17:21:53 2019 +0100
[PATCH 8/57][Arm][GAS] Add support for MVE instructions: vcvt
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (enum operand_parse_code): Add new operand.
(parse_operands): Handle new operand.
(do_neon_cvt_1): Handle MVE variants.
(do_neon_cvttb_1): Likewise.
(insns): Accept MVE variants.
* testsuite/gas/arm/mve-vcvt-bad-1.d: New test.
* testsuite/gas/arm/mve-vcvt-bad-1.l: New test.
* testsuite/gas/arm/mve-vcvt-bad-1.s: New test.
* testsuite/gas/arm/mve-vcvt-bad-2.d: New test.
* testsuite/gas/arm/mve-vcvt-bad-2.l: New test.
* testsuite/gas/arm/mve-vcvt-bad-2.s: New test.
* testsuite/gas/arm/mve-vcvt-bad-3.d: New test.
* testsuite/gas/arm/mve-vcvt-bad-3.l: New test.
* testsuite/gas/arm/mve-vcvt-bad-3.s: New test.
* testsuite/gas/arm/mve-vcvt-bad-4.d: New test.
* testsuite/gas/arm/mve-vcvt-bad-4.l: New test.
* testsuite/gas/arm/mve-vcvt-bad-4.s: New test.
* testsuite/gas/arm/mve-vcvt-bad.d: New test.
* testsuite/gas/arm/mve-vcvt-bad.l: New test.
* testsuite/gas/arm/mve-vcvt-bad.s: New test.
commit f5f10c66f8dc5466536181a1e5cce2419a5bcbd7
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 17:20:46 2019 +0100
[PATCH 7/57][Arm][GAS] Add support for MVE instructions: vstr/vldr
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (struct arm_it): Make immisreg field larger to hold
type of register.
(enum shift_kind): Add SHIFT_UXTW shift kind.
(enum parse_shift_mode): Add SHIFT_UXTW_IMMEDIATE shift mode.
(parse_shift): Handle new shift type.
(parse_address_main): Accept new addressing modes.
(M_MNEM_vstrb, M_MNEM_vstrh, M_MNEM_vstrw, M_MNEM_vstrd,
M_MNEM_vldrb, M_MNEM_vldrh, M_MNEM_vldrw, M_MNEM_vldrd): New
instruction encodings.
(do_mve_vstr_vldr_QI): New encoding functions.
(do_mve_vstr_vldr_RQ): Likewise.
(do_mve_vstr_vldr_RI): Likewise.
(do_mve_vstr_vldr): Likewise.
* testsuite/gas/arm/mve-vldr-bad-1.d: New test.
* testsuite/gas/arm/mve-vldr-bad-1.l: New test.
* testsuite/gas/arm/mve-vldr-bad-1.s: New test.
* testsuite/gas/arm/mve-vldr-bad-2.d: New test.
* testsuite/gas/arm/mve-vldr-bad-2.l: New test.
* testsuite/gas/arm/mve-vldr-bad-2.s: New test.
* testsuite/gas/arm/mve-vldr-bad-3.d: New test.
* testsuite/gas/arm/mve-vldr-bad-3.l: New test.
* testsuite/gas/arm/mve-vldr-bad-3.s: New test.
* testsuite/gas/arm/mve-vstr-bad-1.d: New test.
* testsuite/gas/arm/mve-vstr-bad-1.l: New test.
* testsuite/gas/arm/mve-vstr-bad-1.s: New test.
* testsuite/gas/arm/mve-vstr-bad-2.d: New test.
* testsuite/gas/arm/mve-vstr-bad-2.l: New test.
* testsuite/gas/arm/mve-vstr-bad-2.s: New test.
* testsuite/gas/arm/mve-vstr-bad-3.d: New test.
* testsuite/gas/arm/mve-vstr-bad-3.l: New test.
* testsuite/gas/arm/mve-vstr-bad-3.s: New test.
commit 35c228db7089caf9525c1ef4cb35f6a8335eeea9
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 17:05:58 2019 +0100
[PATCH 6/57][Arm][GAS] Add support for MVE instructions: vst/vld{2,4}
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (enum it_instruction_type): Add MVE_UNPREDICABLE_INSN.
(BAD_EL_TYPE): New error message.
(parse_neon_el_struct_list): Adapt to be able to accept MVE variant.
(parse_address_main): Likewise.
(group_reloc_type): Add GROUP_MVE.
(enum operand_parse_code): Add new operands.
(parse_operands): Handle new operands.
(M_MNEM_vst20, M_MNEM_vst21, M_MNEM_vst40, M_MNEM_vst41, M_MNEM_vst42,
M_MNEM_vst43, M_MNEM_vld20, M_MNEM_vld21, M_MNEM_vld40, M_MNEM_vld41,
M_MNEM_vld42, M_MNEM_vld43): New encodings.
(do_mve_vst_vld): New encoding function.
(do_neon_ld_st_interleave): Use BAD_EL_TYPE.
(it_fsm_pre_encode): Handle new it_instruction_type
(handle_pred_state): Likewise.
* testsuite/gas/arm/mve-vstld-bad.d: New test.
* testsuite/gas/arm/mve-vstld-bad.l: New test.
* testsuite/gas/arm/mve-vstld-bad.s: New test.
commit 886e1c739b5441aca92a9725c932d0d446097a32
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 16:56:30 2019 +0100
[PATCH 5/57][Arm][GAS] Add support for MVE instructions: vmull{b,t}
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (BAD_MVE_AUTO): New error message.
(BAD_MVE_SRCDEST): Likewise.
(mark_feature_used): Diagnose MVE only instructions when in
auto-detection mode or -march=all.
(enum operand_parse_code): Define new operand.
(parse_operands): Handle new operand.
(M_MNEM_vmullt, M_MNEM_vmullb): New encodings.
(mve_encode_qqq): New encoding helper function.
(do_mve_vmull): New encoding function.
(insns): Handle new instructions.
* testsuite/gas/arm/mve-vmullbt-bad.d: New test.
* testsuite/gas/arm/mve-vmullbt-bad.l: New test.
* testsuite/gas/arm/mve-vmullbt-bad.s: New test.
commit a302e574182dc12e95850dec078dac93701f1bde
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 16:54:23 2019 +0100
[PATCH 4/57][Arm][GAS] Add support for MVE instructions: vabav, vmladav and vmlsdav
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (struct asm_opcode): Make avalue a full int.
(BAD_ODD, BAD_EVEN, BAD_SIMD_TYPE): New errors.
(enum operand_parse_code): Handle new operands.
(parse_operands): Likewise.
(M_MNEM_vabav, M_MNEM_vmladav, M_MNEM_vmladava, M_MNEM_vmladavx,
M_MNEM_vmladavax, M_MNEM_vmlsdav, M_MNEM_vmlsdava, M_MNEM_vmlsdavx,
M_MNEM_vmlsdavax): Define new encodings.
(NEON_SHAPE_DEF): Add new shape.
(neon_check_type): Use BAD_SIMD_TYPE.
(mve_encode_rqq): New encoding helper function.
(do_mve_vabav, do_mve_vmladav): New encoding functions.
(mCEF): New MACRO.
* testsuite/gas/arm/mve-vabav-bad.d: New test.
* testsuite/gas/arm/mve-vabav-bad.l: New test.
* testsuite/gas/arm/mve-vabav-bad.s: New test.
* testsuite/gas/arm/mve-vmladav-bad.d: New test.
* testsuite/gas/arm/mve-vmladav-bad.l: New test.
* testsuite/gas/arm/mve-vmladav-bad.s: New test.
* testsuite/gas/arm/mve-vmlav-bad.d: New test.
* testsuite/gas/arm/mve-vmlav-bad.l: New test.
* testsuite/gas/arm/mve-vmlav-bad.s: New test.
* testsuite/gas/arm/mve-vmlsdav-bad.d: New test.
* testsuite/gas/arm/mve-vmlsdav-bad.l: New test.
* testsuite/gas/arm/mve-vmlsdav-bad.s: New test.
commit 485dee97c6431267b662b723eb092a6abfa4167c
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 16:52:50 2019 +0100
[PATCH 3/57][Arm][GAS] Add support for MVE instructions: vabs and vneg
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_neon_abs_neg): Make it accept MVE variant.
(insns): Change vabs and vneg entries to accept MVE variants.
* testsuite/gas/arm/mve-vabsneg-bad-1.d: New test.
* testsuite/gas/arm/mve-vabsneg-bad-1.l: New test.
* testsuite/gas/arm/mve-vabsneg-bad-1.s: New test.
* testsuite/gas/arm/mve-vabsneg-bad-2.d: New test.
* testsuite/gas/arm/mve-vabsneg-bad-2.l: New test.
* testsuite/gas/arm/mve-vabsneg-bad-2.s: New test.
commit 5ee9134313f9cce06d38144f5bc77c59e04df884
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 16:50:58 2019 +0100
[PATCH 2/57][Arm][GAS] Add support for MVE instructions: vpst, vadd, vsub and vabd
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (enum it_instruction_type): Rename to...
(enum pred_instruction_type): ... this. Include VPT types.
(it_insn_type): Rename to ...
(pred_insn_type): .. this.
(arm_it): Change comment.
(enum arm_reg_type): Add new value.
(reg_expected_msgs): New entry.
(asm_opcode): Add mayBeVecPred member.
(BAD_SYNTAX, BAD_NOT_VPT, BAD_OUT_VPT, BAD_VPT_COND, MVE_NOT_IT,
MVE_NOT_VPT, MVE_BAD_PC, MVE_BAD_SP): New diagnostic MACROS.
(arm_vcond_hsh): New table for vector condition codes.
(now_it): Rename to ...
(now_pred): ... this.
(now_it_compatible): Rename to ...
(now_pred_compatible): ... this.
(in_it_block): Rename to ...
(in_pred_block): ... this.
(handle_it_state): Rename to ...
(handle_pred_state): ... this. And change it to accept VPT blocks.
(set_it_insn_type): Rename to ...
(set_pred_insn_type): ... this.
(set_it_insn_type_nonvoid): Rename to ...
(set_pred_insn_type_nonvoid): ... this.
(set_it_insn_type_last): Rename to ...
(set_pred_insn_type_last): ... this.
(record_feature_use): Moved.
(mark_feature_used): Likewise.
(parse_typed_reg_or_scalar): Add new case for REG_TYPE_MQ.
(emit_insn): Use renamed functions and variables.
(enum operand_parse_code): Add new operands.
(parse_operands): Handle new operands.
(do_scalar_fp16_v82_encode): Change predication detection.
(do_it): Use renamed functions and variables.
(do_t_add_sub): Likewise.
(do_t_arit3): Likewise.
(do_t_arit3c): Likewise.
(do_t_blx): Likewise.
(do_t_branch): Likewise.
(do_t_bkpt_hlt1): Likewise.
(do_t_branch23): Likewise.
(do_t_bx): Likewise.
(do_t_bxj): Likewise.
(do_t_cond): Likewise.
(do_t_csdb): Likewise.
(do_t_cps): Likewise.
(do_t_cpsi): Likewise.
(do_t_cbz): Likewise.
(do_t_it): Likewise.
(do_mve_vpt): New function to handle VPT blocks.
(encode_thumb2_multi): Use renamed functions and variables.
(do_t_ldst): Use renamed functions and variables.
(do_t_mov_cmp): Likewise.
(do_t_mvn_tst): Likewise.
(do_t_mul): Likewise.
(do_t_nop): Likewise.
(do_t_neg): Likewise.
(do_t_rsb): Likewise.
(do_t_setend): Likewise.
(do_t_shift): Likewise.
(do_t_smc): Likewise.
(do_t_tb): Likewise.
(do_t_udf): Likewise.
(do_t_loloop): Likewise.
(do_neon_cvt_1): Likewise.
(do_vfp_nsyn_cvt_fpv8): Likewise.
(do_vsel): Likewise.
(do_vmaxnm): Likewise.
(do_vrint_1): Likewise.
(do_crypto_2op_1): Likewise.
(do_crypto_3op_1): Likewise.
(do_crc32_1): Likewise.
(it_fsm_pre_encode): Likewise.
(it_fsm_post_encode): Likewise.
(force_automatic_it_block_close): Likewise.
(check_it_blocks_finished): Likewise.
(check_pred_blocks_finished): Likewise.
(arm_cleanup): Likewise.
(now_it_add_mask): Rename to ...
(now_pred_add_mask): ... this. And use new variables and functions.
(NEON_ENC_TAB): Add entries for vabdl, vaddl and vsubl.
(N_I_MVE, N_F_MVE, N_SU_MVE): New MACROs.
(neon_check_type): Generalize error message.
(mve_encode_qqr): New MVE generic encoding function.
(neon_dyadic_misc): Change to accept MVE variants.
(do_neon_dyadic_if_su): Likewise.
(do_neon_addsub_if_i): Likewise.
(do_neon_dyadic_long): Likewise.
(vfp_or_neon_is_neon): Add extra checks.
(check_simd_pred_availability): Helper function to check SIMD
instruction availability with respect to predication.
(enum opcode_tag): New suffix value.
(opcode_lookup): Change to handle VPT blocks.
(new_automatic_it_block): Rename to ...
(close_automatic_it_block): ...this.
(TxCE, TxC3, TxC3w, TUE, TUEc, TUF, CE, C3, ToC, ToU,
toC, toU, CL, cCE, cCL, C3E, xCM_, UE, UF, NUF, nUF,
NCE_tag, NCE, NCEF, nCE_tag, nCE, nCEF): Add default value for new
field.
(mCEF, mnCEF, mnCE, MNUF, mnUF, mToC, MNCE, MNCEF): New MACROs.
(insns): Redefine vadd, vsub, cabd, vabdl, vaddl, vsubl to accept MVE
variants. Add entries for vscclrm, and vpst.
(md_begin): Add arm_vcond_hsh initialization.
* config/tc-arm.h (enum it_state): Rename to...
(enum pred_state): ...this.
(struct current_it): Rename to...
(struct current_pred): ...this.
(enum pred_type): New enum.
(struct arm_segment_info_type): Use current_pred.
* testsuite/gas/arm/armv8_3-a-fp-bad.l: Update error message.
* testsuite/gas/arm/armv8_3-a-simd-bad.l: Update error message.
* testsuite/gas/arm/dotprod-illegal.l: Update error message.
* testsuite/gas/arm/mve-vaddsubabd-bad-1.d: New test.
* testsuite/gas/arm/mve-vaddsubabd-bad-1.l: New test.
* testsuite/gas/arm/mve-vaddsubabd-bad-1.s: New test.
* testsuite/gas/arm/mve-vaddsubabd-bad-2.d: New test.
* testsuite/gas/arm/mve-vaddsubabd-bad-2.l: New test.
* testsuite/gas/arm/mve-vaddsubabd-bad-2.s: New test.
* testsuite/gas/arm/mve-vpst-bad.d: New test.
* testsuite/gas/arm/mve-vpst-bad.l: New test.
* testsuite/gas/arm/mve-vpst-bad.s: New test.
* testsuite/gas/arm/neon-ldst-es-bad.l: Updated error message.
commit a7ad558c377fd5f5cc7bc77837c532f907f2c53b
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed May 15 16:44:57 2019 +0100
[PATCH 1/57][Arm][GAS]: Add support for +mve and +mve.fp
bfd/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
binutils/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* readelf.c (arm_attr_tag_MVE_arch): New array for Tag_MVE_arch values.
(arm_attr_public_tag arm_attr_public_tags): Add case for Tag_MVE_arch.
elfcpp/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* arm.h (Tag_MVE_arch): Define new enum value.
gas/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (mve_ext, mve_fp_ext): New features.
(armv8_1m_main_ext_table): Add new extensions.
(aeabi_set_public_attributes): Translate new features to new build attributes.
(arm_convert_symbolic_attribute): Add Tag_MVE_arch.
* doc/c-arm.texi: Document new extensions and new build attribute.
include/ChangeLog:
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
* elf/arm.h (Tag_MVE_arch): Define new enum value.
* opcode/arm.h (FPU_MVE, FPU_MVE_FP): New MACROs for new features.
commit a2699ef206aedf8e8d49d8519ae8a535e4b4afe5
Author: Alan Modra <amodra@gmail.com>
Date: Thu May 16 22:35:25 2019 +0930
Revert "ARM STM32L4XX erratum test failure"
This reverts commit 3a1bb98c3c4f983b950fbaf2797ddcd21fcb5211.
commit 4d8d49e80ab6964a211ec3507be22c092afcd83a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu May 16 00:00:20 2019 +0000
Automatic date update in version.in
commit 14237686d71b6ef1e6a85f2791cb54d1ec019cb1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Mar 1 11:19:22 2019 +0000
gdb/fortran: Add sizeof tests for indexed and sliced arrays
Add tests for calling sizeof on indexed and sliced arrays, and on
pointers to arrays. These are all things that currently work, but
were previously untested.
gdb/testsuite/ChangeLog:
* gdb.fortran/vla-sizeof.exp: Add tests of sizeof applied to
indexed and sliced arrays, and pointers to arrays.
commit 9ddc1af18c31e775ae7b107779addfcde92c723f
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Wed May 15 11:20:16 2019 -0400
linux-thread-db.c: use bool where possible in thread_db code
I happened to be looking at this code and noticed we could replace ints
by bools at a few places.
gdb/ChangeLog:
* linux-thread-db.c (try_thread_db_load_1): Change return type
to bool.
(try_thread_db_load): Likewise.
(try_thread_db_load_from_pdir_1): Likewise.
(try_thread_db_load_from_pdir): Likewise.
(try_thread_db_load_from_sdir): Likewise.
(try_thread_db_load_from_dir): Likewise.
(thread_db_load_search): Likewise.
(has_libpthread): Likewise.
(thread_db_load): Likewise.
commit 95008a882803920a0faf672dd4a54edcc6ab66a7
Author: John Darrington <john@darrington.wattle.id.au>
Date: Wed May 15 14:16:33 2019 +0200
S12Z: New option -mreg-prefix
Add a new machine dependent option to set a prefix for register names.
gas/
* config/tc-s12z.c (register_prefix): New variable. (md_show_usage,
md_parse_option): parse the new option.
(lex_reg_name): Scan the prefix if one is set.
* doc/c-s12z.texi (S12Z-Opts): Document the new option.
* testsuite/gas/s12z/reg-prefix.d: New file.
* testsuite/gas/s12z/reg-prefix.s: New file.
* testsuite/gas/s12z/s12z.exp: Add them.
commit 7bede82892a06e6c26989803e70f53697392dcf9
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Fri May 10 16:57:26 2019 -0400
Don't crash if dwarf_decode_macro_bytes's 'body' is NULL
Hi,
Ref.: https://bugzilla.redhat.com/show_bug.cgi?id=1708192
https://bugzilla.redhat.com/show_bug.cgi?id=1708786
During the Fedora RPM build process, gdb-add-index is invoked to
extract the DWARF index from the binary, and GDB will segfault because
dwarf2read.c:parse_definition_macro's 'body' variable is NULL.
The underlying problem is that Fedora's rpm-build's "debugedit"
program will silently corrupt .debug_macro strings when a binary is
compiled with -g3. This is being taken care of by Mark Wielaard,
here:
https://bugzilla.redhat.com/show_bug.cgi?id=1708786
However, I still feel it's important to make GDB more resilient
against invalid DWARF input, so I'm proposing this rather simple patch
to catch the situation when "body == NULL" (i.e., it's probably been
corrupted) and issue a complaint. This is not a real fix to the
problem, of course, but at least GDB is able to finish without
segfaulting.
OK for master?
gdb/ChangeLog:
2019-05-15 Sergio Durigan Junior <sergiodj@redhat.com>
Ref.: https://bugzilla.redhat.com/show_bug.cgi?id=1708192
* dwarf2read.c (dwarf_decode_macro_bytes): Check whether 'body' is
NULL, and complain if that's the case.
commit 905f5b3f1d20569e2788add66687e6de11130159
Author: John Darrington <john@darrington.wattle.id.au>
Date: Wed May 15 14:15:02 2019 +0200
GAS (doc): Fix misaligned menu entry.
gas/
* doc/as.texi (Machine Dependencies): Fix misaligned menu entry.
commit f6bd0b7677cbe76cab7322974a418e0e539400d6
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 15 16:37:18 2019 +0930
C-SKY FAIL: jbt - csky
Another failure seen with MALLOC_PERTURB_=1.
* config/tc-csky.c (md_convert_frag): Initialise trailing
padding for COND_JUMP_PIC.
commit 3a1bb98c3c4f983b950fbaf2797ddcd21fcb5211
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 15 16:31:28 2019 +0930
ARM STM32L4XX erratum test failure
Fixes a failure seen with MALLOC_PERTURB_=1.
* elf32-arm.c (elf32_arm_write_section): Don't leave
error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
unitialised section contents.
commit 8f02ae5bac22b8d7f57f233ca1957ef9dbe751ab
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 15 11:24:09 2019 +0930
.file file number checking
This adds another test for file numbers given in .file directives,
checking that the value can be represented as an unsigned int and that
a memory allocation expression doesn't overflow. I removed a test
added recently since an earlier test (num < 1) already covers the
(num < 0) case.
* dwarf2dbg.c: Whitespace fixes.
(get_filenum): Don't strdup "file". Adjust error message.
(dwarf2_directive_filename): Use an unsigned type for "num".
Catch truncation of file number and overflow of get_filenum
XRESIZEVEC multiplication. Delete dead code.
commit ded12894f5a2836b06c997b899d04c9f692004c1
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 15 11:15:17 2019 +0930
tic54x_start_line_hook
git commit 3076e59490 caused
tic54x-coff +FAIL: c54x subsym assignment/use
PR 24538
* config/tc-tic54x.c (tic54x_start_line_hook): Do skip end of line
chars in setting endp.
commit c5358db468d582e658488c2bcc1befe6e6e47366
Author: John Darrington <john@darrington.wattle.id.au>
Date: Wed May 15 06:47:16 2019 +0200
GDB (s12z): Improve reliability of the stack unwinder.
Previously, the stack unwinder searched through consecutive bytes for values
which it thought might be the start of a stack mutating operation.
This was error prone, because such bytes could also be the operands of other
instructions. This change uses the opcodes api to interpret the code in each
frame.
gdb/ChangeLog:
* s12z-tdep.c (push_pull_get_stack_adjustment): New function.
(advance, posn, abstract_read_memory): New functions.
[struct mem_read_abstraction]: New struct.
(s12z_frame_cache): Use opcodes API to interpret stack frame code.
commit e48371ffd5f89a9ceecd6e814b69e26609fd8402
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed May 15 00:00:15 2019 +0000
Automatic date update in version.in
commit c408a94f8115767ea7e6aa1a75bc59ea5ae960fa
Author: Tom Tromey <tromey@adacore.com>
Date: Fri May 10 10:40:15 2019 -0600
Fix assertion failure in coerce_unspec_val_to_type
coerce_unspec_val_to_type does:
set_value_address (result, value_address (val));
However, this is only valid for lval_memory. This patch changes this
code to only set the address for lval_memory values.
This seems like an ordinary oversight in coerce_unspec_val_to_type,
and a test case would be difficult to write, so I'm submitting it
without a test case.
Tested on x86-64 Fedora 29; plus using an Ada program that exhibits
the bug (but which cannot be shared).
gdb/ChangeLog
2019-05-14 Tom Tromey <tromey@adacore.com>
* ada-lang.c (coerce_unspec_val_to_type): Only set address when
value is not lval_memory.
commit a0a3a1e9d71887bbff54fcd1e33fcefcbc78b603
Author: Tom de Vries <tdevries@suse.de>
Date: Tue May 14 17:45:51 2019 +0200
[gdb/doc] Mention index cache in concept and command index
The "automatic symbol index cache" entry in the docs is missing entries in the
concept and command indices. Add them.
gdb/doc/ChangeLog:
2019-05-14 Tom de Vries <tdevries@suse.de>
* gdb.texinfo (Automatic symbol index cache): Add concept and command
index entries.
commit c2509a1cc8beff40b1da8f85a3f27bf9df1d6c02
Author: Nick Clifton <nickc@redhat.com>
Date: Tue May 14 16:16:56 2019 +0100
Add missing verilogtest.s file.
commit e7bd7fba34ae1f892acf1e13ac86fca55b68026d
Author: Tom Tromey <tromey@adacore.com>
Date: Mon May 13 09:35:19 2019 -0600
Add file name styling to "info sharedlibrary"
This changes "info sharedlibrary" to add styling to the file name.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-05-14 Tom Tromey <tromey@adacore.com>
* solib.c (info_sharedlibrary_command): Style the file name.
gdb/testsuite/ChangeLog
2019-05-14 Tom Tromey <tromey@adacore.com>
* gdb.base/info-shared.exp (check_info_shared): Add "info shared"
styling test.
commit 35015cd193be5e603ed31c14472d2d9d17e14e7a
Author: Nick Clifton <nickc@redhat.com>
Date: Tue May 14 12:42:02 2019 +0100
Fix illegal memory access triggered when attempting to assemble a bogus i386 source file.
PR 24538
* config/tc-i386-intel.c (i386_intel_simplify_register): Reject
illegal register numbers.
commit 37d0d09177dc02e0002ab8b90d9b7bc402af9240
Author: Jamey Hicks <jamey.hicks@gmail.com>
Date: Tue May 14 10:40:04 2019 +0100
Add new option to objcopy: --verilog-data-width. Use this option to set the size of byte bundles generated in verilog format files.
PR 19921
binutils* objcopy.c: Add new option --verilog-data-width. Use it to set
the value of VerilogDataWidth.
* doc/binutils.texi: Document the new option.
* testsuite/binutils-all/objcopy.exp: Run tests of new option.
* testsuite/binutils-all/verilog-1.hex: New file.
* testsuite/binutils-all/verilog-2.hex: New file.
* testsuite/binutils-all/verilog-4.hex: New file.
* testsuite/binutils-all/verilog-8.hex: New file.
* NEWS: Mention the new feature.
bfd * verilog.c: (VerilogDataWidth): New variable.
(verilog_write_record): Emit bytes in VerilogDataWidth bundles.
commit 3076e59490428c9719765f9b007d6d0d0238f006
Author: Nick Clifton <nickc@redhat.com>
Date: Fri May 10 16:57:31 2019 +0100
A series of fixes to addres problems detected by compiling the assembler with address sanitization enabled.
PR 24538
gas * macro.c (get_any_string): Increase size of buffer used to hold
decimal value of expression result.
* dw2gencfi.c (get_debugseg_name): Handle an empty name.
* dwarf2dbg.c (get_filenum): Catch integer wraparound when
extending allocate file array.
(dwarf2_directive_filename): Add extra checks of the computed file
number.
* config/tc-arm.c (arm_tc_equal_in_insn): Insert copy of name into
warning hash table.
(s_arm_eabi_attribute): Check for obj_elf_vendor_attribute
returning -1.
* config/tc-i386.c (i386_output_nops): Catch an attempt to
generate nops of negative lengths.
* as.h (MAX_LITTLENUMS): Move definition to here from...
* config/atof-ieee.c: ...here.
* config/tc-aarch64.c: ...here.
* config/tc-arc.c: ...here.
* config/tc-arm.c: ...here.
* config/tc-epiphany.c: ...here.
* config/tc-i386.c: ...here.
* config/tc-ia64.c: ...here. (And correct the value).
* config/tc-m32c.c: ...here.
* config/tc-m32r.c: ...here.
* config/tc-metag.c: ...here.
* config/tc-microblaze.c: ...here.
* config/tc-nds32.c: ...here.
* config/tc-or1k.c: ...here.
* config/tc-score.c: ...here.
* config/tc-score7.c: ...here.
* config/tc-tic4x.c: ...here.
* config/tc-tilegx.c: ...here.
* config/tc-tilepro.c: ...here.
* config/tc-visium.c: ...here.
* config/tc-sh.c (md_assemble): Add check for an instruction with
no opcodes.
* config/tc-mips.c (mips_lookup_insn): Add check for very short
instruction name.
* config/tc-tic54x.c: Use unsigned chars to access is_end_of_line
array.
(tic54x_start_line_hook): Check for an empty line.
(next_line_shows_parallel): Do not walk off the end of the string.
(tic54x_macro_start): Check for too much macro nesting.
(tic54x_start_label): Add label_start parameter. Use this
parameter to check the first character of the label.
* config/tc-tic54x.h (TC_START_LABEL_WITHOUT_COLON): Pass
line_start variable to tic54x_start_label.
PR 24538
opcodes * ia64-opc.c (ia64_find_matching_opcode): Check for reaching the
end of the table prematurely.
commit a6d0f2490c0c7969eb60038f01c0ee0f46e4d5fd
Author: Alan Hayward <alan.hayward@arm.com>
Date: Tue May 14 10:09:05 2019 +0100
AArch64: Add half float view to V registers
AArch64 can fill the vector registers with half precision floats.
Add a view for this.
Add builtin type ieee half and connect this to the existing
floatformats_ieee_half.
gdb/ChangeLog:
2019-05-14 Alan Hayward <alan.hayward@arm.com>
* aarch64-tdep.c (aarch64_vnh_type): Add half view.
(aarch64_vnv_type): Likewise.
* target-descriptions.c (make_gdb_type): Add TDESC_TYPE_IEEE_HALF.
* common/tdesc.c: Likewise.
* common/tdesc.h (enum tdesc_type_kind): Likewise.
* features/aarch64-fpu.c (create_feature_aarch64_fpu): Regenerate.
* features/aarch64-fpu.xml: Add ieee half view.
* features/aarch64-sve.c (create_feature_aarch64_fpu): Likewise.
* gdbtypes.c (gdbtypes_post_init): Add builtin_half
* gdbtypes.h (struct builtin_type): Likewise.
(struct objfile_type): Likewise.
commit 2764128dee821448ba43a50ed8cee387f2ee8dca
Author: Tom de Vries <tdevries@suse.de>
Date: Tue May 14 10:10:08 2019 +0200
[gdb/testsuite] Fix base address selection entry encoding in dw2-skip-prologue.S
A base address selection entry in a location list consist of two (constant or
relocated) address offsets. The two offsets are the same size as an address
on the target machine.
The test-case gdb.dwarf2/dw2-skip-prologue.S encodes a base address selection
entry using .4byte, which is incorrect for 8-byte pointer size. [ Which
triggers an assert in dwz, see PR dwz/24172. ]
Fix this by using PTRBYTE instead.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-05-14 Tom de Vries <tdevries@suse.de>
* gdb.dwarf2/dw2-skip-prologue.S (.debug_loc): Fix base address
selection entry encoding.
commit 3c2fcaf9132b994ff3dcb19847717f175098289b
Author: Tom de Vries <tdevries@suse.de>
Date: Tue May 14 09:58:12 2019 +0200
[gdb/doc] Fix "maint info selftests" command index entry
Currently, the entry for the command "maint info selftests" in the Command,
Variable, and Function Index is listed at '"', rather than next to the other
"maint info" commands.
Fix this by removing the superfluous quoting in the @kindex entry.
gdb/doc/ChangeLog:
2019-05-14 Tom de Vries <tdevries@suse.de>
* gdb.texinfo (Maintenance Commands): Remove superfluous
quoting on command index entry for "maint info selftests".
commit 175cbe22a36861976dc328baaf5ebff3fad35ed8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue May 14 00:00:20 2019 +0000
Automatic date update in version.in
commit 30d5f9e82139702e56a862ac19a5b36545fe3de5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon May 13 00:00:23 2019 +0000
Automatic date update in version.in
commit 66b8bb74ca8fb23e407b80e1b0e7c1a433286b41
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Sun May 12 11:47:37 2019 -0400
Fix two langauge -> language typos
commit 1ace968ad55778bc178ef36182b87ab7e3dad652
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun May 12 00:01:00 2019 +0000
Automatic date update in version.in
commit 21c219fd5bbd0720b7adc5f250c91fc2fd1c4941
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sat May 11 11:29:24 2019 -0700
Document the GDB 8.3 release in gdb/ChangeLog
gdb/ChangeLog:
GDB 8.3 released.
commit 387e762476ff224ee40760910e73a3905a2c380a
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date: Mon May 6 09:29:20 2019 -0700
Add macro expansions for ADD, SUB, DADD and DSUB for MIPS r6
Release 6 of the MIPS architecture does not have an ADDI instruction.
ADD/SUB instructions with immediate operands can be expanded to load
and immediate value and then perform the operation.
gas/
* config/tc-mips.c (macro) <M_ADD_I, M_SUB_I, M_DADD_I, M_DSUB_I>:
Add expansions for MIPS r6.
* testsuite/gas/mips/add.s: Enable tests for R6.
* testsuite/gas/mips/daddi.s: Annotate to test DADD for R6.
* testsuite/gas/mips/mipsr6@add.d: Likewise.
* gas/testsuite/gas/mips/mipsr6@dadd.d: New test.
* gas/testsuite/gas/mips/mips.exp: Run the new test.
opcodes/
* mips-opc.c (mips_opcodes): Enable ADD, SUB, DADD and DSUB
macros for R6.
commit 0067be51e9436c5bbd961a4f54c10dbd50c491ea
Author: Alan Modra <amodra@gmail.com>
Date: Sat May 11 09:42:00 2019 +0930
PowerPC objdump -Mraw
* ppc-dis.c (print_insn_powerpc) Don't skip optional operands
when -Mraw is in effect.
commit 55cb8bb5a870380a9d5f45d8002b7ffab529f6ff
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat May 11 00:00:19 2019 +0000
Automatic date update in version.in
commit e173ea00c2941af42ea4e2267446d6039a70da6e
Author: Joshua Oreman <oremanj@hudson-trading.com>
Date: Sat May 11 07:27:10 2019 +0800
Fix problem with ICF where diffs in EH frame info is ignored.
PR gold/21066
* gc.h (gc_process_relocs): Track relocations in .eh_frame sections
when ICF is enabled, even though the .eh_frame sections themselves
are not foldable.
* icf.cc (get_section_contents): Change arguments to permit operation
on just part of a section. Include extra identity regions in the
referring section's contents recursively.
(match_sections): Lock object here instead of in get_section_contents
so that get_section_contents can operate recursively.
(Icf::add_ehframe_links): New method.
(Icf::find_identical_sections): Pass .eh_frame sections to
add_ehframe_links(). Increase default iteration count from 2 to 3
because handling exception info typically requires one extra iteration.
* icf.h (Icf::extra_identity_list_): New data member with accessor.
(is_section_foldable_candidate): Include .gcc_except_table sections.
* options.h: Update documentation for new default ICF iteration count.
* testsuite/Makefile.am (icf_test_pr21066): New test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/icf_test_pr21066.cc: New source file.
* testsuite/icf_test_pr21066.sh: New test script.
commit 1367480341749b1498a6c5e7a7b79c7a4ab4ed34
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri May 10 17:22:09 2019 -0400
Fix GDB build when using --disable-gdbmi
Since commit
b4be1b064860 ("Fix MI output for multi-location breakpoints")
we get this error when building with --disable-gdbmi:
CXXLD gdb
/home/smarchi/src/binutils-gdb/gdb/breakpoint.c:6358: error: undefined reference to 'mi_multi_location_breakpoint_output_fixed(ui_out*)'
This is due to breakpoint.c using a function defined in mi/mi-main.c, even
though mi/mi-main.c isn't included in the build.
To fix it, use the flags feature of ui_out. mi_ui_out has the new
fix_multi_location_breakpoint_output flag set for versions >= 3. Also,
move the global variable fix_multi_location_breakpoint_output to
breakpoint.c, so it can be read there even when we build without MI. I
renamed it to fix_multi_location_breakpoint_output_globally so it
doesn't clash with the new enumerator.
gdb/ChangeLog:
* breakpoint.h (fix_multi_location_breakpoint_output_globally):
New variable declaration.
* breakpoint.c (fix_multi_location_breakpoint_output_globally):
New variable.
(print_one_breakpoint): Use ui_out::test_flags and new global
variable to compute use_fixed_output.
* mi/mi-main.h (mi_multi_location_breakpoint_output_fixed):
Remove.
* mi/mi-main.c (fix_multi_location_breakpoint_output): Remove.
(mi_multi_location_breakpoint_output_fixed): Remove.
(mi_cmd_fix_multi_location_breakpoint_output): Adjust to set the
new variable.
* mi/mi-out.c (mi_ui_out::mi_ui_out): Set
fix_multi_location_breakpoint_output flag if version >= 3.
* ui-out.h (enum ui_out_flag)
<fix_multi_location_breakpoint_output>: New enumerator.
commit a9eac7f9b45e92b83db476d167e5ff26607a8b47
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri May 10 16:29:00 2019 -0400
cc-with-tweaks: show dwz stderr and verify result
When running the gdb.base/index-cache.exp test case with the
cc-with-dwz-m board, I noticed that the final executable didn't actually
contain a .gnu_debugaltlink section with the name of the external dwz
file:
$ readelf --debug-dump=links testsuite/outputs/gdb.base/index-cache/index-cache
* empty *
Running dwz by hand, I realized it's because dwz complains that the
output .debug_info section is empty and fails:
$ gcc ~/src/binutils-gdb/gdb/testsuite/gdb.base/index-cache.c -g3 -O0 -o a && cp a b
$ dwz -m foo a b
dwz: foo: .debug_info section not present
$ echo $?
1
This is because index-cache.c is trivial (just an empty main) and dwz
doesn't find anything to factor out to the dwz file. [1]
I think that cc-with-tweaks should fail in this scenario: if the user
asks for an external dwz file to be generated (the -m flag), then it
should be an error if cc-with-tweaks doesn't manage to produce an
executable with the proper link to this external dwz file. Otherwise,
the test runs with a regular non-dwzified executable, which gives a
false sense of security about whether the feature under test works with
dwzified executables.
So this patch adds checks for that after invoking dwz. It also removes
the 2>&1 to allow the error message to be printed like so:
Running /home/smarchi/src/binutils-gdb/gdb/testsuite/gdb.base/index-cache.exp ...
gdb compile failed, dwz: /home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.base/index-cache/index-cache.dwz: .debug_info section not present
- In the -m case (multi-file compression), we check if the expected output file
exists.
- In the -z case (single-file compression), we check if the file
contents has changed. This should catch cases where dwz doesn't modify the
file because it's not worth it.
It was chosen not to check for dwz's exit code, as it is not very
reliable up to dwz 0.12.
With this patch, fewer tests will pass than before with the
cc-with-dwz and cc-with-dwz-m boards, but those were false positives
anyway, as the test ran with regular executables.
[1] Note that dwz has been patched by Tom de Vries to work correctly in
this case, so we can use dwz master to run the test:
https://sourceware.org/git/?p=dwz.git;a=commit;h=08becc8b33453b6d013a65e7eeae57fc1881e801
gdb/ChangeLog:
* contrib/cc-with-tweaks.sh: Validate dwz's work.
commit a97c8e56362b77fcbbf5b57e5053356320273977
Author: Tom Tromey <tromey@adacore.com>
Date: Fri May 10 08:19:04 2019 -0600
Document lazy computation for pretty-printer "children" method
I found out recently that some users didn't know that the Python
pretty-printers "children" method should compute its result lazily.
This has been a good idea since the earliest days, but wasn't
mentioned in the docs. This patch adds some text to this effect.
gdb/doc/ChangeLog
2019-05-10 Tom Tromey <tromey@adacore.com>
* python.texi (Pretty Printing API): Mention lazy computation for
"children".
commit 71bed2dba6c0706633ead4994cc89e063abf28ea
Author: Tom Tromey <tromey@adacore.com>
Date: Fri May 3 17:03:40 2019 -0600
Add completion for Ada catch commands
This patch adds a completion function to the "catch exception"
and "catch handlers" commands.
Tested on x86-64 Fedora 29; reviewed off-list by Joel.
gdb/ChangeLog
2019-05-10 Tom Tromey <tromey@adacore.com>
* ada-lang.c (catch_ada_completer): New function.
(_initialize_ada_language): Use it.
gdb/testsuite/ChangeLog
2019-05-10 Tom Tromey <tromey@adacore.com>
* gdb.ada/info_exc.exp: Add "complete" test.
commit b8e07335d04f8c8e611a65905598915f68b0b707
Author: Tom Tromey <tromey@adacore.com>
Date: Fri May 10 06:59:19 2019 -0600
Minor "catch" documentation improvements
This patch makes a few minor improvements to the catchpoint
documentation:
* "catch exception" and "catch handlers" now mention the argument in
the @item.
* "catch exception unhandled" is moved to be closer to "catch
exception", rather than after "catch handlers".
* "catch load" and "catch unload" now wrap the argument in @var.
gdb/doc/ChangeLog
2019-05-10 Tom Tromey <tromey@adacore.com>
* gdb.texinfo (Set Catchpoints): Add text for parameter to "catch
exception" and "catch handlers". Move "catch exception unhandled"
text. Use @var for "catch load" and "catch unload"
commit 391bf8918b16f9f3ad1060d5cb0fc0c4048421bb
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 10 23:17:45 2019 +0930
Re: Sign-extend start and stop address inputs to objdump
git commit 2379f9c475 introduced an rx-elf test failure. This fixes it.
* testsuite/binutils-all/objdump.exp (test_objdump_disas_limited),
(test_objdump_content_limited): Add text arg, use in place of .text.
(bintest_signed.o): Call get_standard_section_names for name of
text section.
commit 24c54127c5c4da81b9e6c248c8e918b3564b271a
Author: Tom Tromey <tromey@adacore.com>
Date: Fri May 10 07:17:48 2019 -0600
Two minor constifications
I noticed a couple of spots where a "char *" was used where a
"const char *" made more sense. This patch fixes both of them.
Tested by rebuilding.
gdb/ChangeLog
2019-05-10 Tom Tromey <tromey@adacore.com>
* thread.c (print_thread_info): Make "requested_threads" const.
* gdbthread.h (print_thread_info): Make "requested_threads"
const.
* ada-tasks.c (print_ada_task_info): Make "taskno_str" const.
* ada-lang.h (print_ada_task_info): Make "taskno_str" const.
commit f3e606a3db56db3ce1ab172511a4ffe9310a496f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri May 10 00:00:37 2019 +0000
Automatic date update in version.in
commit bda678b9e5e4a343a9bb2b0fd20cf52035bad78e
Author: Peter Bergner <bergner@linux.ibm.com>
Date: Thu May 9 09:09:47 2019 -0500
Update printing of optional operands during disassembly.
opcodes/
* ppc-dis.c (skip_optional_operands): Change return type and returns.
(print_insn_powerpc) <skip_optional>: Change type.
Call skip_optional_operands if we have not skipped any operands.
gas/
* testsuite/gas/ppc/476.d: Update expected output.
* testsuite/gas/ppc/power6.d: Likewise.
commit 8de09632ff6683a48b8acfb05d3b35b4ab4507fe
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 14:52:45 2019 +0100
[gas][testsuite] Don't specify arch in testsuite output
My testcase matched against a file format of elf64-littleaarch64 in the
objdump output. This was unnecessarily restrictive and causes testcase
failures on aarch64_be.
Here we remove that restriction.
Committed as obvious.
Testing done on aarch64_be-none-elf gas to see the failure goes away.
gas/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* testsuite/gas/aarch64/sve2.d: Remove file format restriction.
commit 63b667adb4a915f13ec3ace77af4b9cbd76bceac
Author: Tom de Vries <tdevries@suse.de>
Date: Thu May 9 12:24:38 2019 +0200
[gdb/testsuite] Fix gdb.arch/amd64-tailcall-self.S
The test-case gdb.arch/amd64-tailcall-self.exp fails here:
...
if ![runto b] {
return -1
}
...
like:
...
(gdb) file build/gdb/testsuite/outputs/gdb.arch/amd64-tailcall-self/\
amd64-tailcall-self
Reading symbols from build/gdb/testsuite/outputs/gdb.arch/\
amd64-tailcall-self/amd64-tailcall-self...
Dwarf Error: Cannot find DIE at 0x1f5 referenced from DIE at 0x107 [in \
module build/gdb/testsuite/outputs/gdb.arch/amd64-tailcall-self/\
amd64-tailcall-self]
...
The problem is that in amd64-tailcall-self.S, CU-relative references are
assigned .debug_info section relative values. [ This is similar to the
problem fixed by "Fix gdb.arch/amd64-entry-value-paramref.S". ]
Fix this by assigning CU-relative references instead.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-05-09 Tom de Vries <tdevries@suse.de>
* gdb.arch/amd64-tailcall-self.S: Make DW_FORM_ref4 references
CU-relative.
commit e111c7d1eb8404f29c45f3aa5dbc531062ebbd73
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:29 2019 +0100
[binutils][aarch64] Add SVE2 tests
Add tests that SVE2 instructions are encoded as they should be, and
tests that invalid instructions have their problems reported.
Also check that each sve2 cryptographic extension is required to use the
corresponding cryptographic instructions.
Finally, test to ensure that sve2 instructions using mnemonics that
exist in sve1 still need the sve2 feature to be used.
gas/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* testsuite/gas/aarch64/illegal-sve2-aes.d: New test.
* testsuite/gas/aarch64/illegal-sve2-bitperm.d: New test.
* testsuite/gas/aarch64/illegal-sve2-sha3.d: Test new instructions.
* testsuite/gas/aarch64/illegal-sve2-sm4.d: Test new instructions.
* testsuite/gas/aarch64/illegal-sve2-sve1ext.d: Test new instructions.
* testsuite/gas/aarch64/illegal-sve2-sve1ext.l: Test new instructions.
* testsuite/gas/aarch64/illegal-sve2.d: Test new instructions.
* testsuite/gas/aarch64/illegal-sve2.l: Test new instructions.
* testsuite/gas/aarch64/illegal-sve2.s: Test new instructions.
* testsuite/gas/aarch64/sve1-extended-sve2.s: New test.
* testsuite/gas/aarch64/sve2.d: Test new instructions.
* testsuite/gas/aarch64/sve2.s: Test new instructions.
commit 42e6288f9f9d7dfe560d2bed1fb5e7f27ac3256f
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:28 2019 +0100
[binutils][aarch64] Add SVE2 instructions.
This patch adds all the SVE2 instructions and their associated qualifier
sets.
Ok for trunk?
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-dis-2.c: Regenerate.
* aarch64-tbl.h (OP_SVE_BBU): New variant set.
(OP_SVE_BBB): New variant set.
(OP_SVE_DDDD): New variant set.
(OP_SVE_HHH): New variant set.
(OP_SVE_HHHU): New variant set.
(OP_SVE_SSS): New variant set.
(OP_SVE_SSSU): New variant set.
(OP_SVE_SHH): New variant set.
(OP_SVE_SBBU): New variant set.
(OP_SVE_DSS): New variant set.
(OP_SVE_DHHU): New variant set.
(OP_SVE_VMV_HSD_BHS): New variant set.
(OP_SVE_VVU_HSD_BHS): New variant set.
(OP_SVE_VVVU_SD_BH): New variant set.
(OP_SVE_VVVU_BHSD): New variant set.
(OP_SVE_VVV_QHD_DBS): New variant set.
(OP_SVE_VVV_HSD_BHS): New variant set.
(OP_SVE_VVV_HSD_BHS2): New variant set.
(OP_SVE_VVV_BHS_HSD): New variant set.
(OP_SVE_VV_BHS_HSD): New variant set.
(OP_SVE_VVV_SD): New variant set.
(OP_SVE_VVU_BHS_HSD): New variant set.
(OP_SVE_VZVV_SD): New variant set.
(OP_SVE_VZVV_BH): New variant set.
(OP_SVE_VZV_SD): New variant set.
(aarch64_opcode_table): Add sve2 instructions.
commit 28ed815ad2b0cb93eede83022269d6a60b9cdf31
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:27 2019 +0100
[binutils][aarch64] New SVE_SHLIMM_UNPRED_22 operand.
New operand describes a shift-left immediate encoded in bits
22:20-19:18-16 where UInt(bits) - esize == shift.
This operand is useful for instructions like sshllb.
gas/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* config/tc-aarch64.c (parse_operands): Handle new SVE_SHLIMM_UNPRED_22
operand.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_opnd): New SVE_SHLIMM_UNPRED_22
operand.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
* aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
for SVE_SHLIMM_UNPRED_22.
(aarch64_print_operand): Add printing for SVE_SHLIMM_UNPRED_22.
* aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_SHLIMM_UNPRED_22
operand.
commit fd1dc4a0c1b87c1efa7e0398fd47fd1e87fa0fb4
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:26 2019 +0100
[binutils][aarch64] New sve_size_tsz_bhs iclass.
Add sve_size_tsz_bhs iclass needed for sqxtnb and similar instructions.
This iclass encodes one of three variants by the most significant bit
set in a 3-bit value where only one bit may be set.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_tsz_bhs
iclass.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
sve_size_tsz_bhs iclass encode.
* aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
sve_size_tsz_bhs iclass decode.
commit 31e36ab341498bb477a46a0475100ec5d471c4f2
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:24 2019 +0100
[binutils][aarch64] New SVE_Zm4_11_INDEX operand.
This includes defining a new single bit field SVE_i2h at position 20.
SVE_Zm4_11_INDEX handles indexed Zn registers where the index is encoded
in bits 20:11 and the register is chosed from range z0-z15 in bits 19-16.
gas/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* config/tc-aarch64.c (parse_operands): Handle new SVE_Zm4_11_INDEX
operand.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_opnd): New SVE_Zm4_11_INDEX operand.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
* aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
for SVE_Zm4_11_INDEX.
(aarch64_print_operand): Add printing for SVE_Zm4_11_INDEX.
(fields): Handle SVE_i2h field.
* aarch64-opc.h (enum aarch64_field_kind): New SVE_i2h field.
* aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_Zm4_11_INDEX operand.
commit 1be5f94f9c85821287b9ae423f738a8bab499526
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:23 2019 +0100
[binutils][aarch64] New sve_shift_tsz_bhsd iclass.
This new iclass encodes the variant by which is the most significant bit
used of bits 23-22:20-19, where those bits are usually part of a
given constant operand.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_shift_tsz_bhsd
iclass.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
sve_shift_tsz_bhsd iclass encode.
* aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
sve_shift_tsz_bhsd iclass decode.
commit 3c17238bc9fe8a078a6199470291f07bab9c64c8
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:22 2019 +0100
[binutils][aarch64] New SVE_SHRIMM_UNPRED_22 operand.
Include a new iclass to extract the variant from the most significant 3
bits of this operand.
Instructions such as rshrnb include a constant shift amount as an
operand, where the most significant three bits of this operand determine
what size elements the instruction is operating on.
The new SVE_SHRIMM_UNPRED_22 operand denotes this constant encoded in
bits 22:20-19:18-16 while the new sve_shift_tsz_hsd iclass denotes that
the SVE qualifier is encoded in bits 22:20-19.
gas/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* config/tc-aarch64.c (parse_operands): Handle new SVE_SHRIMM_UNPRED_22
operand.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_opnd): New SVE_SHRIMM_UNPRED_22
operand.
(enum aarch64_insn_class): Add sve_shift_tsz_hsd iclass.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
* aarch64-asm.c (aarch64_ins_sve_shrimm):
(aarch64_encode_variant_using_iclass): Handle
sve_shift_tsz_hsd iclass encode.
* aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
sve_shift_tsz_hsd iclass decode.
* aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
for SVE_SHRIMM_UNPRED_22.
(aarch64_print_operand): Add printing for SVE_SHRIMM_UNPRED_22.
* aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_SHRIMM_UNPRED_22
operand.
commit cd50a87ae29f163e7d254729a902a5e51fcccbbc
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:21 2019 +0100
[binutils][aarch64] New sve_size_013 iclass.
Add sve_size_013 instruction class
This new iclass handles instructions such as pmullb whose size specifier
can only be encoded as 0, 1, or 3.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_013 iclass.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
sve_size_013 iclass encode.
* aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
sve_size_013 iclass decode.
commit 3c705960ca0e12bb5d3a12d14ca6703006102d98
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:20 2019 +0100
[binutils][aarch64] New sve_size_bh iclass.
Add new iclass sve_size_bh to handle instructions that have two variants
encoded with the SVE_sz field.
This iclass behaves the same as the sve_size_sd iclass, but it has a
nicer name for those instructions that choose between variants using the
"B" and "H" size qualifiers.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_bh iclass.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
sve_size_bh iclass encode.
* aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
sve_size_bh iclass decode.
commit 0a57e14ffa4c2900f64780375282dc5dc493e250
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:19 2019 +0100
[binutils][aarch64] New sve_size_sd2 iclass.
Define new sve_size_sd2 iclass to distinguish between the two variants
of ldnt1sb and ldnt1sh.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_sd2 iclass.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
sve_size_sd2 iclass encode.
* aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
sve_size_sd2 iclass decode.
* aarch64-opc.c (fields): Handle SVE_sz2 field.
* aarch64-opc.h (enum aarch64_field_kind): New SVE_sz2 field.
commit c469c86473273e115b267a6f8c93c8942deb93c4
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:18 2019 +0100
[binutils][aarch64] New SVE_ADDR_ZX operand.
Add AARCH64_OPND_SVE_ADDR_ZX operand that allows a vector of addresses
in a Zn register, offset by an Xm register.
This is used with scatter/gather SVE2 instructions.
gas/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* config/tc-aarch64.c (REG_ZR): Macro specifying zero register.
(parse_address_main): Account for new addressing mode [Zn.S, Xm].
(parse_operands): Handle new SVE_ADDR_ZX operand.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_opnd): New SVE_ADDR_ZX operand.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
* aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
for SVE_ADDR_ZX.
(aarch64_print_operand): Add printing for SVE_ADDR_ZX.
* aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_ADDR_ZX operand.
commit 116adc27470ed3682b6236e44e3b18838673036c
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:17 2019 +0100
[binutils][aarch64] New SVE_Zm3_11_INDEX operand.
Introduce new operand SVE_Zm3_11_INDEX that indicates a register between
z0-z7 stored in bits 18-16 and an index stored in bits 20-19:11.
gas/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* config/tc-aarch64.c (parse_operands): Handle new SVE_Zm3_11_INDEX
operand.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_opnd): New SVE_Zm3_11_INDEX operand.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
* aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
for SVE_Zm3_11_INDEX.
(aarch64_print_operand): Add printing for SVE_Zm3_11_INDEX.
(fields): Handle SVE_i3l and SVE_i3h2 fields.
* aarch64-opc.h (enum aarch64_field_kind): New SVE_i3l and SVE_i3h2
fields.
* aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_Zm3_11_INDEX operand.
commit 3bd82c86f0f432bd7653101069bf056fda14b7cd
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:16 2019 +0100
[binutils][aarch64] New iclass sve_size_hsd2.
Add "sve_size_hsd2" iclass decode that uses the new FLD_SVE_size field
value to determine the variant of an instruction.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_hsd2 iclass.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
sve_size_hsd2 iclass encode.
* aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
sve_size_hsd2 iclass decode.
* aarch64-opc.c (fields): Handle SVE_size field.
* aarch64-opc.h (enum aarch64_field_kind): New SVE_size field.
commit adccc50753467ac66573471f180a60d8d96ce223
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:15 2019 +0100
[binutils][aarch64] Introduce SVE_IMM_ROT3 operand.
New operand AARCH64_OPND_SVE_IMM_ROT3 handles a single bit rotate
operand encoded at bit position 10.
gas/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* config/tc-aarch64.c (parse_operands): Handle new SVE_IMM_ROT3 operand.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (enum aarch64_opnd): New SVE_IMM_ROT3 operand.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
* aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
for SVE_IMM_ROT3.
(aarch64_print_operand): Add printing for SVE_IMM_ROT3.
(fields): Handle SVE_rot3 field.
* aarch64-opc.h (enum aarch64_field_kind): New SVE_rot3 field.
* aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_IMM_ROT3 operand.
commit 5cd99750959f54fea9e7290ec850df6c96878b56
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:13 2019 +0100
[binutils][aarch64] Allow movprfx for SVE2 instructions.
SVE2 introduces a number of new instructions that work with the movprfx
instruction. This commit ensures that SVE2 instructions are accounted
for.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-opc.c (verify_constraints): Check for movprfx for sve2
instructions.
commit 7ce2460a77a8f66a145c11522f494f3262255390
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu May 9 10:29:12 2019 +0100
[binutils][aarch64] SVE2 feature extension flags.
Include all feature flag macros.
The "sve2" extension that enables the core sve2 instructions.
This also enables the sve extension, since sve is a requirement of sve2.
Extra optional sve2 features are the bitperm, sm4, aes, and sha3 extensions.
These are all given extra feature flags, "bitperm", "sve2-sm4",
"sve2-aes", and "sve2-sha3" respectively.
The sm4, aes, and sha3 extensions are explicitly marked as sve2
extensions to distinguish them from the corresponding NEON extensions.
Rather than continue extending the current feature flag numbers, I used
some bits that have been skipped.
gas/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* config/tc-aarch64.c: Add command line architecture feature flags
"sve2", "sve2-sm4", "sve2-aes", "sve2-sha3", "bitperm".
* doc/c-aarch64.texi: Document new architecture feature flags.
include/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* opcode/aarch64.h (AARCH64_FEATURE_SVE2
AARCH64_FEATURE_SVE2_AES, AARCH64_FEATURE_SVE2_BITPERM,
AARCH64_FEATURE_SVE2_SM4, AARCH64_FEATURE_SVE2_SHA3): New
feature macros.
opcodes/ChangeLog:
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
* aarch64-tbl.h
(aarch64_feature_sve2, aarch64_feature_sve2aes,
aarch64_feature_sve2sha3, aarch64_feature_sve2sm4,
aarch64_feature_sve2bitperm): New feature sets.
(SVE2, SVE2_AES, SVE2_SHA3, SVE2_SM4, SVE2_BITPERM): New macros
for feature set addresses.
(SVE2_INSN, SVE2_INSNC, SVE2AES_INSN, SVE2SHA3_INSN,
SVE2SM4_INSN, SVE2SM4_INSNC, SVE2BITPERM_INSN): New macros.
commit dd3189990b1d918b3a9e482ec6e9cc9a8b9e8fe9
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date: Thu May 9 10:26:11 2019 +0100
Use the correct names for the init and fini array start symbols in the default Pru linker script.
* scripttempl/pru.sc (__init_array_begin, __init_array_begin):
Rename.
commit b42560a24154570a42360294f44ff14a95d795ec
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu May 9 00:00:28 2019 +0000
Automatic date update in version.in
commit 9cfd2b89bd3fe943a87d5425d0bb0f8b14c85eb6
Author: Tom de Vries <tdevries@suse.de>
Date: Thu May 9 00:41:26 2019 +0200
[gdb/testsuite] Fix gdb.arch/amd64-entry-value-paramref.S
The file gdb.arch/amd64-entry-value-paramref.S contains a DIE for function
bar:
...
DIE29: .uleb128 0x2 # (DIE (0x29) DW_TAG_subprogram)
.ascii "bar\0" # DW_AT_name
.byte 0x1 # DW_AT_decl_file (gdb.arch/amd64-entry-value-paramref.cc)
.byte 0x15 # DW_AT_decl_line
.long DIE45 # DW_AT_type
.byte 0x1 # DW_AT_inline
...
which refers to DIE45:
...
DIE45: .uleb128 0x4 # (DIE (0x45) DW_TAG_base_type)
.byte 0x4 # DW_AT_byte_size
.byte 0x5 # DW_AT_encoding
.ascii "int\0" # DW_AT_name
...
using a form DW_FORM_ref4:
...
.uleb128 0x2 # (abbrev code)
.uleb128 0x2e # (TAG: DW_TAG_subprogram)
.byte 0x1 # DW_children_yes
...
.uleb128 0x49 # (DW_AT_type)
.uleb128 0x13 # (DW_FORM_ref4)
...
However, the DW_FORM_ref4 is a CU-relative reference, while using a label for
the value will result in a section-relative value.
So, if linked in object files contain dwarf info and are placed in the
.debug_info section before the compilation units generated from
amd64-entry-value-paramref.S, then the referenced type is at 0x108:
...
<1><108>: Abbrev Number: 4 (DW_TAG_base_type)
<109> DW_AT_byte_size : 4
<10a> DW_AT_encoding : 5 (signed)
<10b> DW_AT_name : int
...
but the reference will point to a non-existing DIE at 0x1cf:
...
<1><f0>: Abbrev Number: 2 (DW_TAG_subprogram)
<f1> DW_AT_name : bar
<f5> DW_AT_decl_file : 1
<f6> DW_AT_decl_line : 21
<f7> DW_AT_type : <0x1cf>
<fb> DW_AT_inline : 1 (inlined)
...
which happens to cause a GDB internal error described in PR23270 - "GDB
internal error: dwarf2read.c:18656: internal-error: could not find partial
DIE 0x1b7 in cache".
Fix the invalid DWARF by making the reference value CU-relative:
...
- .long DIE45 # DW_AT_type
+ .long DIE45 - .Ldebug_info0 # DW_AT_type
...
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-05-09 Tom de Vries <tdevries@suse.de>
* gdb.arch/amd64-entry-value-paramref.S: Make DW_FORM_ref4 references
CU-relative.
commit 7a1021395e0ef7a92e1653533b753a2221396015
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 2 16:13:50 2019 -0600
Convert gdbtypes.c to type-safe registry API
This changes gdbtypes.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* gdbtypes.c (objfile_type_data): Change type.
(objfile_type, _initialize_gdbtypes): Update.
commit 924d79e23306bb85fd1dd78564f4779fd3aeec56
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 2 16:11:22 2019 -0600
Convert dwarf2-frame.c to type-safe registry API
This changes dwarf2-frame.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* dwarf2-frame.c (dwarf2_frame_objfile_data): Change type.
(dwarf2_frame_find_fde, dwarf2_build_frame_info)
(_initialize_dwarf2_frame): Update.
commit 4c58e3376da3fedaca81f8c9386f3ccb81261f8a
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 2 16:08:54 2019 -0600
Convert objc-lang.c to type-safe registry API
This changes objc-lang.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* objc-lang.c (objc_objfile_data): Change type.
(find_methods): Update.
(_initialize_objc_lang): Remove.
commit d772d2abcc163142fc38655896c4704b06dae0b6
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:50:33 2019 -0600
Convert stabsread.c to type-safe registry API
This changes stabsread.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* stabsread.c (rs6000_builtin_type_data): Change type.
(rs6000_builtin_type, _initialize_stabsread): Update.
commit d11d83f47bad5dfc959ac60b3619017ac60bdaf9
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:46:15 2019 -0600
Remove mips_pdr_data
mips_pdr_data is unused, so this patch removes it.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* mips-tdep.c (mips_pdr_data): Remove.
(_initialize_mips_tdep): Update.
commit 9a73f0ad6ca2a9c027f30fca3d79fa958784dcbf
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:44:00 2019 -0600
Convert hppa-tdep.c to type-safe registry API
This changes hppa-tdep.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* hppa-tdep.c (hppa_objfile_priv_data): Change type.
(hppa_init_objfile_priv_data, read_unwind_info)
(find_unwind_entry, _initialize_hppa_tdep): Update.
commit 8127a2fab5780f27a1c9998b0be4d8b5c28c1603
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:41:13 2019 -0600
Convert elfread.c to type-safe registry API
This changes elfread.c to use the type-safe registry API. This also
fixes a potential memory leak, by changing the hash table so that it
is no longer allocated on an obstack.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* elfread.c (elf_objfile_gnu_ifunc_cache_data): Change type.
(elf_gnu_ifunc_record_cache): Update. Don't allocate hash table
on obstack.
(elf_gnu_ifunc_resolve_by_cache, _initialize_elfread): Update.
commit 91d3055d8b77d56cf64f85ace4237a0ccca98a4a
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:31:10 2019 -0600
Convert mdebugread.c to type-safe registry API
This changes mdebugread.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* mdebugread.c (basic_type_data): Change type.
(basic_type, _initialize_mdebugread): Update.
commit 31930bd34d15dd22c5ef47b46d8bc95a5ec34d0e
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:28:18 2019 -0600
Add a noop deleter
This adds a no-op deleter, which is used in subsequent patches.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* common/gdb_unique_ptr.h (struct noop_deleter): New.
commit bdb3ed9e634d3db8164d90dee12bc8b5e2458786
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:21:36 2019 -0600
Convert nto-tdep.c to type-safe registry API
This changes nto-tdep.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* nto-tdep.c (nto_inferior_data_reg): Change type.
(nto_inferior_data): Update.
(nto_inferior_data_cleanup, nto_new_inferior_data)
(_initialize_nto_tdep): Remove.
* nto-tdep.h (struct nto_inferior_data): Add initializers.
commit f37b313d5cafbed4e724db4724d1ab567b373be4
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:18:31 2019 -0600
Convert ada-lang.c to type-safe registry API
This changes ada-lang.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* ada-lang.c (struct ada_inferior_data): Add initializers.
(ada_inferior_data): Change type.
(ada_inferior_data_cleanup): Remove.
(get_ada_inferior_data, ada_inferior_exit)
(struct ada_pspace_data): Add initializers, destructor.
(ada_pspace_data_handle): Change type.
(get_ada_pspace_data): Update.
(ada_pspace_data_cleanup): Remove.
commit 246994051b6659bf9f4c89b5d5ede86717c5bbef
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:09:25 2019 -0600
Convert coffread.c to type-safe registry API
This changes coffread.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* coffread.c (struct coff_symfile_info): Add initializers.
(coff_objfile_data_key): Move lower. Change type.
(coff_symfile_init, coff_symfile_read, _initialize_coffread):
Update.
(coff_free_info): Remove.
commit d4e05d2fea956e65618fc12c57fb81e8788ef07d
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:05:58 2019 -0600
Convert fbsd-tdep.c to type-safe registry API
This changes fbsd-tdep.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* fbsd-tdep.c (struct fbsd_pspace_data): Add initializers.
(fbsd_pspace_data_handle): Move lower. Change type.
(get_fbsd_pspace_data): Update.
(fbsd_pspace_data_cleanup): Remove.
(_initialize_fbsd_tdep): Update.
commit 14ef6690f1f24ad6b2f87bac36607146fbda6ccb
Author: Tom Tromey <tom@tromey.com>
Date: Wed May 1 15:02:27 2019 -0600
Convert ada-tasks.c to type-safe registry API
This changes ada-tasks.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* ada-tasks.c (ada_tasks_pspace_data_handle): Change type.
(get_ada_tasks_pspace_data): Update.
(ada_tasks_pspace_data_cleanup): Remove.
(_initialize_tasks): Update.
(ada_tasks_inferior_data_handle): Change type.
(get_ada_tasks_inferior_data): Update.
(ada_tasks_inferior_data_cleanup): Remove.
(struct ada_tasks_pspace_data): Add initializers.
commit 814cf43a1f16157fcbe2c662f567d064393a0fcb
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 30 23:47:54 2019 -0600
Convert probes to type-safe registry API
This changes the probes code in elfread.c to use the type-safe
registry API. While doing this, I saw that the caller of get_probes
owns the probes, so I went through the code and changed the vectors to
store unique_ptrs, making the ownership relationship more clear.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* symfile.h (struct sym_probe_fns) <sym_get_probes>: Change type.
* symfile-debug.c (debug_sym_get_probes): Change type.
* stap-probe.c (handle_stap_probe):
(stap_static_probe_ops::get_probes): Change type.
* probe.h (class static_probe_ops) <get_probes>: Change type.
* probe.c (class any_static_probe_ops) <get_probes>: Change type.
(parse_probes_in_pspace): Update.
(find_probes_in_objfile, find_probe_by_pc, collect_probes):
Update.
(any_static_probe_ops::get_probes): Change type.
* elfread.c (elfread_data): New typedef.
(probe_key): Change type.
(elf_get_probes): Likewise. Update.
(probe_key_free): Remove.
(_initialize_elfread): Update.
* dtrace-probe.c (class dtrace_static_probe_ops) <get_probes>:
Change type.
(dtrace_process_dof_probe, dtrace_process_dof)
(dtrace_static_probe_ops::get_probe): Change type.
commit 02dc647ed65b1429b9af4986ed467f90fbe0c33b
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 30 22:18:10 2019 -0600
Convert xcoffread.c to type-safe registry API
This changes xcoffread.c to use the type-safe registry API. It also
renames coff_symfile_info to xcoff_symfile_info, to avoid any possible
ODR violation.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* xcoffread.c (struct xcoff_symfile_info): Rename from
coff_symfile_info. Add initializers.
(xcoff_objfile_data_key): Move lower. Change type.
(XCOFF_DATA): Rewrite.
(xcoff_free_info): Remove.
(xcoff_symfile_init, _initialize_xcoffread, read_xcoff_symtab)
(read_symbol, read_symbol_lineno, find_linenos, init_stringtab)
(xcoff_initial_scan): Update.
commit 092324387247f92c66f25a3e1927cf8821bb4943
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 30 21:58:50 2019 -0600
Convert solib-svr4.c to type-safe registry API
This changes solib-svr4y.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* solib-svr4.c (struct svr4_info): Add initializers and
destructor.
<probes_table>: Now an htab_up.
(solib_svr4_pspace_data): Change type.
(free_probes_table): Simplify.
(~svr4_info): Rename from svr4_pspace_data_cleanup.
(get_svr4_info, probes_table_htab_remove_objfile_probes)
(probes_table_remove_objfile_probes, register_solib_event_probe)
(solib_event_probe_at, svr4_update_solib_event_breakpoint)
(_initialize_svr4_solib): Update.
commit 7b4a314f8b9b50c2289ca6b5d21513052c48730b
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 12:48:39 2019 -0600
Convert remote.c to type-safe registry API
This changes remote.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* remote.c (remote_pspace_data): Change type.
(remote_pspace_data_cleanup): Remove.
(get_remote_exec_file, set_pspace_remote_exec_file)
(_initialize_remote): Update.
commit 51d3063a35fad1fa0cd53c167bb5a4325afeea16
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 12:45:00 2019 -0600
Convert breakpoint.c to type-safe registry API
This changes breakpoint.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* breakpoint.c (breakpoint_objfile_key): Change type.
(get_breakpoint_objfile_data): Update.
(free_breakpoint_objfile_data): Remove.
(_initialize_breakpoint): Update.
commit 89fb8848d7f00cabeb56344762860469238c24e1
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 12:43:17 2019 -0600
Convert linux-tdep.c to type-safe registry API
This changes linux-tdep.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* linux-tdep.c (struct linux_info): Add initializers.
(linux_inferior_data): Move. Change type.
(invalidate_linux_cache_inf): Update.
(linux_inferior_data_cleanup): Remove.
(get_linux_inferior_data, _initialize_linux_tdep): Update.
commit e9b89e2d01043108283df02261ed718aae705bc8
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 12:41:29 2019 -0600
Convert auxv.c to type-safe registry API
This changes auxv.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* auxv.c (auxv_inferior_data): Move. Change type.
(auxv_inferior_data_cleanup): Remove.
(invalidate_auxv_cache_inf): Rewrite.
(get_auxv_inferior_data, _initialize_auxv): Update.
commit 8c42777cd8e1557ffb29fe9c172edd8cc1de14b7
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 12:37:59 2019 -0600
Convert symfile-debug.c to type-safe registry API
This changes symfile-debug.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* symfile-debug.c (struct debug_sym_fns_data): Add initializers.
(symfile_debug_objfile_data_key): Change type.
(symfile_debug_installed, debug_qf_has_symbols)
(debug_qf_find_last_source_symtab)
(debug_qf_forget_cached_source_info)
(debug_qf_map_symtabs_matching_filename, debug_qf_lookup_symbol)
(debug_qf_print_stats, debug_qf_dump)
(debug_qf_expand_symtabs_for_function)
(debug_qf_expand_all_symtabs)
(debug_qf_expand_symtabs_with_fullname)
(debug_qf_map_matching_symbols)
(debug_qf_expand_symtabs_matching)
(debug_qf_find_pc_sect_compunit_symtab)
(debug_qf_map_symbol_filenames)
(debug_qf_find_compunit_symtab_by_address, debug_sym_get_probes)
(debug_sym_new_init, debug_sym_init, debug_sym_read)
(debug_sym_read_psymbols, debug_sym_finish, debug_sym_offsets)
(debug_sym_read_linetable, debug_sym_relocate): Update.
(symfile_debug_free_objfile): Remove.
(install_symfile_debug_logging, _initialize_symfile_debug):
Update.
commit 5bfd760d66c816d53a930635a84990c8536bb545
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 12:32:47 2019 -0600
Convert dwarf2_per_objfile to type-safe registry API
This changes dwarf2_per_objfile to use the type-safe registry API.
This also changes dwarf2_per_objfile not to be allocated on an
obstack. It seemed clearer to me to simply allocate it on the heap;
and I didn't see a drawback from doing so.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* dwarf2read.h (struct dwarf2_per_objfile): Don't inherit from
allocate_on_obstack.
* dwarf2read.c (dwarf2_objfile_data_key): Change type.
(get_dwarf2_per_objfile): Update.
(set_dwarf2_per_objfile): Remove.
(dwarf2_has_info, dwarf2_get_section_info): Update.
(dwarf2_free_objfile): Remove.
(_initialize_dwarf2_read): Update.
commit e85e19b4d7d9b3b322f27684f8c0a3a9ac0e57ab
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 09:34:16 2019 -0600
Convert auto-load.c to type-safe registry API
This changes auto-load.c to use the type-safe registry API. It also
changes a couple of types to "bool", removing uses of "FALSE".
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* auto-load.c (struct auto_load_pspace_info): Add destructor and
initializers.
<unsupported_script_warning_printed,
script_not_found_warning_printed>: Now bool.
(auto_load_pspace_data): Change type.
(~auto_load_pspace_info): Rename from
auto_load_pspace_data_cleanup.
(get_auto_load_pspace_data, init_loaded_scripts_info)
(clear_section_scripts, maybe_print_unsupported_script_warning)
(maybe_print_script_not_found_warning, _initialize_auto_load):
Update.
commit f6aa7436201194e80e8d7761e6d88ecf0ec1e327
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 09:29:13 2019 -0600
Convert objfiles.c to type-safe registry API
This changes objfiles.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* objfiles.c (objfile_pspace_info): Add destructor and
initializers.
(objfiles_pspace_data): Change type.
(~objfile_pspace_info): Rename from objfiles_pspace_data_cleanup.
(get_objfile_pspace_data): Update.
(objfiles_bfd_data): Change type.
(get_objfile_bfd_data): Update.
(objfile_bfd_data_free, _initialize_objfiles): Remove.
commit 6ae614f66a0a86c9e83b9f40ee1f4e105b681f7b
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 09:25:07 2019 -0600
Convert break-catch-syscall.c to type-safe registry API
This changes break-catch-syscall.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* break-catch-syscall.c (catch_syscall_inferior_data): Move.
Change type.
(get_catch_syscall_inferior_data): Update.
(catch_syscall_inferior_data_cleanup): Remove.
(_initialize_break_catch_syscall): Update.
commit 6509b8ebfb19769d726c16eb3a8967ac6784f621
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 09:20:20 2019 -0600
Convert inflow to type-safe registry API
This changes inflow.c to use the type-safe registry API. This fixes a
latent bug in swap_terminal_info, which previously said:
terminal_info *info_a
= (terminal_info *) inferior_data (a, inflow_inferior_data);
terminal_info *info_b
= (terminal_info *) inferior_data (a, inflow_inferior_data);
... both of which examine 'a'.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* inflow.c (struct terminal_info): Add destructor and
initializers.
(inflow_inferior_data): Change type.
(~terminal_info): Rename from inflow_inferior_data_cleanup.
(get_inflow_inferior_data, inflow_inferior_exit)
(swap_terminal_info, _initialize_inflow): Update.
commit 35632941c90f406f69512c9559ae7ba561f7eee8
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 09:12:47 2019 -0600
Convert target dcache to type-safe registry API
This changes the target dcache to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* target-dcache.c (target_dcache_cleanup): Remove.
(target_dcache_aspace_key): Change type.
(target_dcache_init_p, target_dcache_invalidate)
(target_dcache_get, target_dcache_get_or_init)
(_initialize_target_dcache): Update.
* dcache.h (struct dcache_deleter): New.
commit 3017b94d60f1e8929886be6992547973ad354f4c
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 9 21:46:16 2019 -0600
Convert symbol_cache to type-safe registry API
This changes the symbol_cache to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* symtab.c (struct symbol_cache): Add destructor and
initializers.
(symbol_cache_key): Move. Change type.
(make_symbol_cache, free_symbol_cache): Remove.
(get_symbol_cache): Update.
(symbol_cache_cleanup): Remove.
(ALL_PSPACES, symbol_cache_flush)
(maintenance_print_symbol_cache)
(maintenance_print_symbol_cache_statistics, _initialize_symtab):
Update.
commit a32ad8c55c5c6bcdbc6773b6b825c4505fd44c16
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 9 20:26:09 2019 -0600
Convert main_info to type-safe registry API
This changes main_info to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* symtab.c (struct main_info): Add destructor and initializers.
(main_progspace_key): Move. Change type.
(get_main_info): Update.
(main_info_cleanup): Remove.
(_initialize_symtab): Update.
commit 5f6e90a0cec8c269634ba0bff3c9e549a903c39a
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 9 20:21:06 2019 -0600
Add a type-safe C++ interface to a registry
This changes DECLARE_REGISTRY to add a type-safe interface. This
interface is a C++ class that handles the details of registering a
key, and provides various useful methods, including policy-based
cleanup.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* registry.h (DECLARE_REGISTRY): Define the _key class.
commit 1bd0c6e4964f68523794aded05aa4d184db44d48
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed May 8 20:59:50 2019 +0100
gdb: Merge two 'New commands' sections in NEWS file
Commit 2e62ab400ff9 added a second 'New commands' section to the NEWS
file, this commit merges the two together.
gdb/ChangeLog:
* NEWS: Merge two 'New commands' sections.
commit 2228ef7700e81bfedbffe352f3efa3716224cdbe
Author: Xavier Roirand <roirand@adacore.com>
Date: Wed May 8 12:55:44 2019 -0400
When debugging a mixed Ada/C program using this scenario:
- set print frame-arguements all
- an Ada function named pck.call_me calls a C function named break_me
- you put a breakpoint in break_me and the program reaches this
breakpoint.
Now display the backtrace:
(gdb) bt
#0 break_me () at [...]
#1 0x000000000040243e in pck.call_me (
s={P_ARRAY = 0x7fffffffe21c, P_BOUNDS = 0x41e6e8}) at [...]
whereas we should expect:
(gdb) bt
#0 break_me () at [...]
#1 0x000000000040243e in pck.call_me (s="test") at [...]
The problem is that GDB prints the S parameter in the pck.call_me Ada
function using the current language, so the C one, because the program
is stopped in a C function, whereas it should use the pck.call_me frame
one. This behavior is ok when user manually changes the language but it's
not the right one when language is auto.
This patch fixes this problem so now when using auto language, all Ada
frame arguments are printed using Ada like syntax when the frame is part
of Ada code, even if the program is stopped in a frame using a different
language.
If the user explicitly sets a language (using "set language ...") then
no change here, all the Ada frame arguments are printed using this
language.
gdb/ChangeLog:
* ada-valprint.c (ada_val_print_gnat_array): Remove language
parameter and use Ada language definition instead.
(ada_val_print_ptr): Remove unused language parameter.
(ada_val_print_num): Remove language parameter and use Ada language
definition instead.
(ada_val_print_enum, ada_val_print_flt): Remove unused language
parameter.
(ada_val_print_struct_union, ada_val_print_ref): Remove language
parameter and use Ada language definition instead.
(ada_val_print_1): Update all ada_val_print_xxx calls.
Remove language parameter.
(ada_val_print): Update ada_val_print_1 call.
gdb/testsuite/ChangeLog:
* gdb.ada/frame_arg_lang.exp: New testcase.
* gdb.ada/frame_arg_lang/bla.adb: New file.
* gdb.ada/frame_arg_lang/pck.ads: New file.
* gdb.ada/frame_arg_lang/pck.adb: New file.
* gdb.ada/frame_arg_lang/foo.c: New file.
Tested on x86_64-linux, no regressions.
commit 60fcc1c3d0d8f1e271b19210b1707b4aa589f273
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 1 12:37:46 2019 -0600
Change some remote.c globals to "static"
I noticed a three globals in remote.c that could be static. This
patch makes this change.
gdb/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* remote.c (remote_hw_watchpoint_limit)
(remote_hw_watchpoint_length_limit, remote_hw_breakpoint_limit):
Now static.
commit ed2b7c1703246eef1ce6b393ced99fe267cbeb7b
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 1 12:35:20 2019 -0600
Move "watchdog" to remote.c
The "watchdog" global is only used in remote.c, so this patch moves it
there and makes it static.
gdb/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* maint.c (_initialize_maint_cmds): Move initialization code to
remote.c.
(watchdog, show_watchdog): Move to remote.c.
* remote.c (watchdog, show_watchdog): Move from maint.c. Make
"watchdog" static.
(_initialize_remote): Move initialization code from maint.c.
* defs.h (watchdog): Don't declare.
commit b0be6c912f9e901a87740c72f18be1e54ad5267d
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 1 12:28:45 2019 -0600
Move interpreter_p declaration to main.h
This moves the interpreter_p declaration from defs.h to main.h. I
think this makes more sense, as it is defined in main.c. Also, this
declaration was in the wrong place -- between a comment and the things
the comment described.
gdb/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* tui/tui-interp.c: Include main.h.
* interps.c: Include main.h.
* main.h (interpreter_p): Declare.
* defs.h (interpreter_p): Don't declare.
commit 587ee17bd492a324c927437fb561b99b274e1d8e
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 1 12:26:34 2019 -0600
Don't declare read_unsigned_leb128 in defs.h
I noticed that read_unsigned_leb128 is declared in defs.h. There's no
reason this should be here, so this patch moves it to dwarf2read.h.
gdb/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* dwarf2loc.c: Include dwarf2read.h.
* defs.h (read_unsigned_leb128): Don't declare.
* dwarf2read.h (read_unsigned_leb128): Declare.
commit ca1df239078318425cf8038995bf02f1b9ab6e50
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 8 10:35:09 2019 -0600
Fix build problem in fputs_maybe_filtered
When merging commit 99f20f ("Fix style bug when paging") to master, I
had to make some changes to get it to compile again. Unfortunately, I
must not have added these to the index at the correct time, because
they were not committed.
This patch fixes the problem.
gdb/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* utils.c (fputs_maybe_filtered): Call can_emit_style_escape as a
method.
commit 99f20f08682ecc7be882774ff78409530802d000
Author: Tom Tromey <tromey@adacore.com>
Date: Wed May 1 11:13:31 2019 -0600
Fix style bug when paging
Philippe pointed out a styling bug that would occur in some conditions
when paging:
https://sourceware.org/ml/gdb-patches/2019-04/msg00101.html
I was finally able to reproduce this, and this patch fixes the bug.
The problem occurred when text overflowed the line, causing a
pagination prompt, but when no wrap column had been set. In this
case, the current style was reset to show the prompt, but then not
reset back to the previously applied style before emitting the rest of
the line.
The fix is to record the applied style in this case, and re-apply it
afterward -- but only if the pager prompt was emitted, something that
the existing style.exp pointed out on the first, more naive, version
of the patch.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* utils.c (fputs_maybe_filtered): Reset style after paging, even
when no wrap column is set.
commit 80e55b132940813fa454da2592a31db6c8af85f1
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Apr 25 12:14:58 2019 -0600
Correctly handle non-C-style arrays in c_get_string
A user here noticed that the Python Value.string method did not work
for Ada arrays. I tracked this down to an oddity in value_as_address
-- namely, it calls coerce_array, but that function will not force
array coercion when the language has c_style_arrays=false, as Ada
does.
This patch fixes the problem by changing c_get_string so that arrays
take the "in GDB's memory" branch. The actual patch is somewhat more
complicated than you might think, because the caller can request more
array elements than the type allows. This is normal when the type is
using the C struct hack.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* c-lang.c (c_get_string): Handle non-C-style arrays.
gdb/testsuite/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* gdb.python/py-value.exp (test_value_in_inferior): Add Ada test.
commit 9d3421afbb9f3cfc8e67366ba75ea12ed8f732a3
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Apr 29 09:55:56 2019 -0600
Change ptype/o to print bit offset
Consider this short C example:
struct inner
{
unsigned x;
unsigned y : 3;
unsigned z : 3;
};
struct outer
{
unsigned char o : 3;
struct inner i __attribute__ ((packed));
};
When I use "ptype/o" on this, I get:
(gdb) ptype/o struct outer
/* offset | size */ type = struct outer {
/* 0: 5 | 1 */ unsigned char o : 3;
/* XXX 5-bit hole */
/* 1 | 8 */ struct inner {
/* 1 | 4 */ unsigned int x;
/* 5:29 | 4 */ unsigned int y : 3;
/* 5:26 | 4 */ unsigned int z : 3;
/* XXX 2-bit padding */
/* XXX 3-byte padding */
/* total size (bytes): 8 */
} i;
/* total size (bytes): 9 */
}
In the location of "o" ("0: 5"), the "5" means "there are 5 bits left
relative to the size of the underlying type.
I find this very difficult to follow. On irc, Sergio said that this
choice came because it is what pahole does. However, I think it's not
very useful, and maybe is just an artifact of the way that
DW_AT_bit_offset was defined in DWARF 3.
This patch changes ptype/o to print the offset of a bitfield in a more
natural way, that is, using the bit number according to the platform's
bit numbering.
With this patch, the output is now:
(gdb) ptype/o struct outer
/* offset | size */ type = struct outer {
/* 0: 0 | 1 */ unsigned char o : 3;
/* XXX 5-bit hole */
/* 1 | 8 */ struct inner {
/* 1 | 4 */ unsigned int x;
/* 5: 0 | 4 */ unsigned int y : 3;
/* 5: 3 | 4 */ unsigned int z : 3;
/* XXX 2-bit padding */
/* XXX 3-byte padding */
/* total size (bytes): 8 */
} i;
/* total size (bytes): 9 */
}
This is better, IMO, because now the "offset" of a bitfield is
consistent with the offset of an ordinary member, referring to its
offset from the start of the structure.
gdb/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* typeprint.c (print_offset_data::update): Print the bit offset,
not the number of bits remaining.
gdb/doc/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* gdb.texinfo (Symbols): Document change to ptype/o.
gdb/testsuite/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* gdb.base/ptype-offsets.exp: Update tests.
commit 844333e24966817fe4d622494a75c8ae0acdb91f
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Apr 29 12:11:52 2019 -0600
Fix ptype/o comment formatting
I noticed that ptype/o will print:
/* 3: 3 | 1 */ signed char a4 : 2;
/* XXX 3-bit hole */
That is, "*/" at the end of the "hole" message does not line up with
the other comment ends. I thought it would be a bit nicer if this did
line up, so I fixed it. Then, to my surprise, I found that I could
not make ptype-offsets.exp fail.
I still am not sure why it doesn't fail, but changing the tests to use
string_to_regexp and changing the quoting helped. This in turn showed
that some of the existing test cases were wrong, so I've also updated
them here.
gdb/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* typeprint.c (print_offset_data::maybe_print_hole): Add extra
padding at end of comment.
gdb/testsuite/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* gdb.base/ptype-offsets.exp: Use string_to_regexp. Fix test
cases.
* gdb.base/ptype-offsets.cc (struct abc) <my_int_type>: Now
"short".
commit 988915ee7b880ff059f849893b71118d9bd2c4fc
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Apr 24 12:50:04 2019 -0600
Fix VLA printing for Ada
While looking at a different Ada problem, I found that printing a
record containing a VLA did not work properly.
I tracked the problem down to dwarf2_evaluate_property trying, and
failing, to compare two types that differed only in qualifiers.
This patch changes dwarf2_evaluate_property to ignore qualifiers when
comparing types.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* dwarf2loc.c (dwarf2_evaluate_property) <PROP_ADDR_OFFSET>:
Compare main types.
gdb/testsuite/ChangeLog
2019-05-08 Tom Tromey <tromey@adacore.com>
* gdb.ada/vla.exp: New file.
* gdb.ada/vla/vla.adb: New file.
commit 2379f9c475505ecedc97607b39af7184bd67aa88
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date: Fri May 3 18:21:49 2019 -0700
Sign-extend start and stop address inputs to objdump
For targets that treat addresses as signed (MIPS/SH64), user-specified
start/stop address limits cannot be compared directly to section VMAs.
We must sign-extend user-specified 32-bit address limits which have
bit 31 set for such targets.
binutils/
* objdump.c (sign_extend_address): New function.
(dump_bfd): Sign-extend user-specified start/stop addresses
for targets that need it.
* testsuite/binutils-all/objdump.exp: Add tests for objdump
with start and stop addresses in higher address ranges.
commit 46752c37b06c83a8cbf6be887beac4092d5e3505
Author: Pekka Sepp?nen <pexu@sourceware.mail.kapsi.fi>
Date: Wed May 8 16:54:16 2019 +0100
Fix compile time warning when building the linker in a MinGw32 environment using gcc 8.
PR 24536
* ldbuildid.c (generate_build_id): Cast return value from
GetProcAddress in order to avoid a compile time warning.
commit 79299211a1a9a701f146620d419da6ee0175798c
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 8 14:51:32 2019 +0100
Do not force the m68k-elf linker to fail if it encoutners a non-ELF format file.
PR 24523
* elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
rather than FALSE if encountering a non-ELF file.
commit 762172a4dc4c1a7c25b3ef18f32b6e378cac6487
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 8 09:26:56 2019 +0930
gas/elf dwarf2 tests
Make them work for tile, by using ".quad 0" as the simulated
instruction and doubling size of aligns. The larger aligns tripped
over riscv alignment handling, fixed by adding -mno-relax there.
Also disable link-relax for avr, pru and xtensa, allowing these
targets to pass these tests. With link-time relaxation enabled,
these targets emit alignment relocations rather than aligning at
assembly time. This means the assembler doesn't see a change in PC
when it is expected over an alignment frag and thus view numbers are
calculated incorrectly.
* testsuite/gas/elf/dwarf2-1.s,
* testsuite/gas/elf/dwarf2-2.s,
* testsuite/gas/elf/dwarf2-5.s,
* testsuite/gas/elf/dwarf2-7.s,
* testsuite/gas/elf/dwarf2-8.s,
* testsuite/gas/elf/dwarf2-9.s,
* testsuite/gas/elf/dwarf2-10.s,
* testsuite/gas/elf/dwarf2-11.s,
* testsuite/gas/elf/dwarf2-12.s,
* testsuite/gas/elf/dwarf2-13.s,
* testsuite/gas/elf/dwarf2-14.s,
* testsuite/gas/elf/dwarf2-15.s,
* testsuite/gas/elf/dwarf2-16.s,
* testsuite/gas/elf/dwarf2-17.s,
* testsuite/gas/elf/dwarf2-18.s,
* testsuite/gas/elf/dwarf2-19.s: Double size of align and simulated
instructions.
* testsuite/gas/elf/dwarf2-1.d,
* testsuite/gas/elf/dwarf2-2.d,
* testsuite/gas/elf/dwarf2-5.d,
* testsuite/gas/elf/dwarf2-7.d,
* testsuite/gas/elf/dwarf2-8.d,
* testsuite/gas/elf/dwarf2-9.d,
* testsuite/gas/elf/dwarf2-10.d,
* testsuite/gas/elf/dwarf2-11.d,
* testsuite/gas/elf/dwarf2-12.d,
* testsuite/gas/elf/dwarf2-13.d,
* testsuite/gas/elf/dwarf2-14.d,
* testsuite/gas/elf/dwarf2-15.d,
* testsuite/gas/elf/dwarf2-16.d,
* testsuite/gas/elf/dwarf2-17.d,
* testsuite/gas/elf/dwarf2-18.d,
* testsuite/gas/elf/dwarf2-19.d: Use xfail rather than notarget.
Remove avr, pru, tile, xtensa from xfails. Update expected output.
* testsuite/gas/elf/elf.exp: Sort targets.
(dump_opts): Pass {as -mno-relax} for riscv, {as -mno-link-relax}
for avr and pru, and {as --no-link-relax} for xtensa to dwarf tests.
* testsuite/gas/elf/section2.e-miwmmxt: Delete unused file.
commit 9632a526cae4cb10276e39d8c4bd1f649d13f8e8
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 8 09:26:36 2019 +0930
xtensa ignores option --no-link-relax
md_begin happens after md_parse_option.
* config/tc-xtensa.c (opt_linkrelax): New variable.
(md_parse_option): Set it here.
(md_begin): Copy opt_linkrelax to linkrelax.
commit 9420801e573e77f0dd522150932eb27199052a04
Author: Alan Modra <amodra@gmail.com>
Date: Wed May 8 09:25:25 2019 +0930
PR24520, gprof fails to read compressed debug data
PR 24520
* corefile.c (core_init): Set BFD_DECOMPRESS.
commit c91f298b52766b41e9612fabf93f249cd179bdd7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed May 8 00:00:21 2019 +0000
Automatic date update in version.in
commit b654832d0d514a9fe4bf802751df1a7093666c93
Author: Alexandre Oliva <aoliva@redhat.com>
Date: Tue May 7 16:34:19 2019 -0300
xfail locview tests on mep that use complex relocs for view numbers
Expressions that compute view numbers that aren't simplified early
enough to a constant end up being selected for representation as
complex relocations, enabled on mep-* targets.
It would be possible to recognize such expressions, that can resolve
to constants, but this problem was hit before, in preexisting tests,
so xfail the new hits similarly.
The new hits were caused by yesterday's patch to dwarf2dbg.c: views in
the beginning of subsections are now computed later, based on the
final views or previous subsections in the same section.
for gas/ChangeLog
* testsuite/gas/elf/dwarf2-18.d: Xfail mep-*.
* testsuite/gas/elf/dwarf2-19.d: Likewise.
commit 7bd55dac80c2faced875119b60acfb51741e397e
Author: Tom de Vries <tdevries@suse.de>
Date: Tue May 7 11:52:17 2019 +0200
[gdb/testsuite] Fix ls_host return in index-cache.exp
When adding a debug print here in index-cache.exp:
...
proc_with_prefix test_cache_disabled { cache_dir } {
lassign [ls_host $cache_dir] ret files_before
+ puts "before: '$files_before'"
+ exit
...
we have:
...
files_before: ''
...
When further adding:
...
proc_with_prefix test_cache_disabled { cache_dir } {
+ exec touch $cache_dir/foo.1 $cache_dir/foo.2 $cache_dir/foo.3
...
we have:
...
files_before: 'foo.1'
...
while we're expecting file_before to contain foo.[123].
Fix this by making the return statement in ls_host return a list rather than a
string (in accordance with the ls_host documentation), after which we have:
...
files_before: 'foo.1 foo.2 foo.3'
...
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-05-07 Tom de Vries <tdevries@suse.de>
* gdb.base/index-cache.exp (ls_host): Fix return statement.
commit 75f06e9dc59d3f810e2afe2f47afbcb74204ef61
Author: Tom de Vries <tdevries@suse.de>
Date: Tue May 7 10:58:57 2019 +0200
[gdb/testsuite] Fix .debug_aranges in watch-loc.c
When running gdb.dlang/watch-loc.exp with target board cc-with-debug-names, we
run into:
...
FAIL: gdb.dlang/watch-loc.exp: disassemble _Dmain (GDB internal error)
...
in more detail:
...
(gdb) disassemble _Dmain
gdb/dwarf2read.c:5293: internal-error: \
compunit_symtab* dw2_find_pc_sect_compunit_symtab(objfile*, \
bound_minimal_symbol, CORE_ADDR, obj_section*, int): \
Assertion `result != NULL' failed.
...
The problem is that the .debug_aranges section in watch-loc.c contains a
debug_info_offset which is set to 0:
...
asm (
" .pushsection .debug_aranges,\"\",%progbits\n"
" .4byte .Laranges_end - .Laranges_start\n"
".Laranges_start:\n"
" .2byte 0x2\n"
" .4byte 0\n"
...
while the compilation unit at offset 0 in the .debug_section in the executable
is in fact not the compilation unit generated from watch-loc-dw.S.
[ Note: this is a non-trivial test-case. The file watch-loc-dw.S contains a
.debug_info section, but not an .debug_aranges section or any actual code.
The file watch-loc.c contains code and a .debug_aranges section, but no other
debug section. So, the intent for the .debug_aranges section in watch-loc.c
is to refer to a compilation unit in the .debug_info section in
watch-loc-dw.S. ]
This happens when linked in object files contain dwarf info and are placed in
the .debug_info section before the compilation units generated from
watch-loc.c and watch-loc-dw.S.
Fix this by defining the debug_info_offset field using a label .Lcu1_begin
that defines the start of an empty .debug_section compilation unit:
...
asm (
+ " .pushsection .debug_info,\"\",%progbits\n"
+ ".Lcu1_begin:"
+ " .popsection\n"
" .pushsection .debug_aranges,\"\",%progbits\n"
" .4byte .Laranges_end - .Laranges_start \n"
".Laranges_start:\n"
" .2byte 0x2\n"
- " .4byte 0\n"
+ " .4byte .Lcu1_begin\n"
...
which during linking merges with the start of the .debug_info section of
watch-loc-dw.S.
Tested on x86_64-linux with native, cc-with-gdb-index and cc-with-debug-names.
gdb/testsuite/ChangeLog:
2019-05-07 Tom de Vries <tdevries@suse.de>
PR testsuite/24522
* gdb.dlang/watch-loc.c: Fix debug_info_offset in .debug_aranges
section.
commit 77e7aaa4bd980fb96244b874bc867e20b399fe60
Author: Tom de Vries <tdevries@suse.de>
Date: Tue May 7 10:58:57 2019 +0200
[gdb/testsuite] Fix .debug_aranges in dw2-case-insensitive-debug.S
When running gdb.dwarf2/dw2-case-insensitive.exp with target board
cc-with-debug-names, we run into:
...
FAIL: gdb.dwarf2/dw2-case-insensitive.exp: regexp case-sensitive off \
(GDB internal error)
...
in more detail:
...
(gdb) info functions fUnC_lang
gdb/dwarf2read.c:5293: internal-error: \
compunit_symtab* dw2_find_pc_sect_compunit_symtab(objfile*, \
bound_minimal_symbol, CORE_ADDR, obj_section*, int): \
Assertion `result != NULL' failed.
...
The problem is that the .debug_aranges section in dw2-case-insensitive-debug.S
contains a debug_info_offset which is set to 0:
...
.section .debug_aranges,"",@progbits
.4byte .Laranges_end - .Laranges_start
.Laranges_start:
.2byte 0x2
.4byte 0
...
while the compilation unit at offset 0 in the .debug_section of the executable
is in fact not the compilation unit generated from
dw2-case-insensitive-debug.S.
This happens when linked in object files contain dwarf info and are placed in
the .debug_info section before the compilation unit generated from
dw2-case-insensitive-debug.S.
Fix this by defining the debug_info_offset field using the label .Lcu1_begin
that defines the start of the compilation unit:
...
- .4byte 0
+ .4byte .Lcu1_begin
...
Tested on x86_64-linux with native, cc-with-gdb-index and cc-with-debug-names.
gdb/testsuite/ChangeLog:
2019-05-07 Tom de Vries <tdevries@suse.de>
PR testsuite/24522
* gdb.dwarf2/dw2-case-insensitive-debug.S: Fix debug_info_offset in
.debug_aranges section.
commit 456ba0fa36d17648a6cf32d1561c8c5802103153
Author: Tom de Vries <tdevries@suse.de>
Date: Tue May 7 10:38:36 2019 +0200
[gdb/testsuite] Fix handling of DW_FORM_ref_addr in dwarf assembler
When running gdb.dwarf2/multidictionary.exp with target board cc-with-dwz and
current dwz, we run into a dwz abort:
...
gdb compile failed, gdb/contrib/cc-with-tweaks.sh: line 188: 11484 Aborted \
(core dumped) $DWZ "$output_file" > /dev/null 2>&1
UNTESTED: gdb.dwarf2/multidictionary.exp: multidictionary.exp
...
The dwz abort (PR dwz/24169) is caused by an invalid DW_FORM_ref_addr in the
multidictionary binary.
The multidictionary binary is build from multidictionary.S which is generated
using the dwarf assembler, and multidictionary.S contains dwarf for 3
compilation units.
In multidictionary0.o (generated from multidictionary.S), we find a concrete
formal parameter DIE:
...
<2><dc>: Abbrev Number: 4 (DW_TAG_formal_parameter)
<dd> DW_AT_abstract_origin: <0xa6>
...
referring to an abstract formal parameter DIE at 0xa6:
...
<2><a6>: Abbrev Number: 8 (DW_TAG_formal_parameter)
<a7> DW_AT_name : msg
<ab> DW_AT_type : <0x92>
...
but in the multidictionary binary the concrete formal parameter DIE is still
referring to 0xa6:
...
<2><1a3>: Abbrev Number: 4 (DW_TAG_formal_parameter)
<1a4> DW_AT_abstract_origin: <0xa6>
...
while the abstract formal parameter DIE has moved to 0x16d:
...
<2><16d>: Abbrev Number: 8 (DW_TAG_formal_parameter)
<16e> DW_AT_name : msg
<172> DW_AT_type : <0x159>
...
The concrete formal parameter DIE is specified in multidictionary.S like this:
...
.Llabel21:
.uleb128 4
.4byte .Llabel17 - .Lcu1_begin
...
The problem is that the .Lcu1_begin label is assumed to mark the start of the
.debug_info section in the executable, but in fact it marks the start of the
first compilation unit from multidictionary.S in the executable. Usually
these two entities are the same, but they are not when linked in object files
contain dwarf info and are placed in the .debug_info section before the
compilation units generated from multidictionary.S.
Fix this in the dwarf assembler by generating instead the label itself:
...
.Llabel21:
.uleb128 4
.4byte .Llabel17
...
resulting in a relocation in the object file:
...
Offset Info Type Sym. Value Sym. Name + Addend
0000000000dd 00040000000a R_X86_64_32 0000000000000000 .debug_info + a6
...
and resulting in the correct offset in the executable:
...
<2><1a3>: Abbrev Number: 4 (DW_TAG_formal_parameter)
<1a4> DW_AT_abstract_origin: <0x16d>
...
Tested on x86_64-linux with native and cc-with-dwz.
gdb/testsuite/ChangeLog:
2019-05-07 Tom de Vries <tdevries@suse.de>
PR testsuite/24159
* lib/dwarf.exp: Fix handling of DW_FORM_ref_addr.
commit 0f1309c8f7530b31ecc73c55e86572ff72256947
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 6 21:23:45 2019 +0930
Tidy use_complex_relocs_for
Since I was looking at this I decided to fix the formatting, and
used an old C switch statements trick to factor out common code.
* symbols.c (use_complex_relocs_for): Formatting. Factor out
X_add_symbol tests.
commit 26bfd82367d6ffeb1a61495ac445542e757df5b2
Author: Tom Tromey <tom@tromey.com>
Date: Mon May 6 19:54:53 2019 -0600
Fix scoped_mmap includes
I noticed that scoped_mmap.h included config.h, and that scoped_mmap.c
included defs.h. This patch fixes both of these problems.
Tested by the buildbot.
gdb/ChangeLog
2019-05-06 Tom Tromey <tom@tromey.com>
* common/scoped_mmap.c: Include common-defs.h.
* common/scoped_mmap.h: Don't include config.h.
commit c0a57f1536fceabe89c4e8100c7170f6dd8bab38
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue May 7 00:00:24 2019 +0000
Automatic date update in version.in
commit e90a813d9660bb9d951963fd7ae03ce004a52ad6
Author: Kevin Buettner <kevinb@redhat.com>
Date: Mon May 6 10:28:44 2019 -0700
Fix regression caused by recently added syscall restart code
This line of code...
*(int64_t *) ptr = *(int32_t *) ptr;
...in linux-x86-low.c is not needed (and does not work correctly)
within a 32-bit executable. I added an __x86_64__ ifdef (which is
used extensively elsewhere in the file for like purposes) to prevent
this code from being included in 32-bit builds.
It fixes the following regressions when running on native
i686-pc-linux-gnu:
FAIL: gdb.server/abspath.exp: continue to main
FAIL: gdb.server/connect-without-multi-process.exp: multiprocess=auto: continue to main
FAIL: gdb.server/connect-without-multi-process.exp: multiprocess=off: continue to main
FAIL: gdb.server/ext-restart.exp: restart: run to main
FAIL: gdb.server/ext-restart.exp: run to main
FAIL: gdb.server/ext-run.exp: continue to main
FAIL: gdb.server/ext-wrapper.exp: print d
FAIL: gdb.server/ext-wrapper.exp: restart: print d
FAIL: gdb.server/ext-wrapper.exp: restart: run to marker
FAIL: gdb.server/ext-wrapper.exp: run to marker
FAIL: gdb.server/no-thread-db.exp: continue to breakpoint: after tls assignment
FAIL: gdb.server/reconnect-ctrl-c.exp: first: stop with control-c
FAIL: gdb.server/reconnect-ctrl-c.exp: second: stop with control-c
FAIL: gdb.server/run-without-local-binary.exp: run test program until the end
FAIL: gdb.server/server-kill.exp: continue to breakpoint: after server_pid assignment
FAIL: gdb.server/server-kill.exp: tstatus
FAIL: gdb.server/server-run.exp: continue to main
gdb/gdbserver/ChangeLog:
* linux-x86-low.c (x86_fill_gregset): Don't compile 64-bit
sign extension code on 32-bit builds.
commit 41cee0897b670168e0d6f455c9bc45c73f8023df
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date: Sun Apr 28 18:21:00 2019 -0700
Add load-link, store-conditional paired EVA instructions
Add paired load-link and store-conditional instructions to the
EVA ASE for MIPS32R6[1]. These instructions are optional within
the EVA ASE. Their presence is indicated by the XNP bit in the
Config5 register.
[1] "MIPS Architecture for Programmers Volume II-A: The MIPS32
Instruction Set Manual", Imagination Technologies Ltd., Document
Number: MD00086, Revision 6.06, December 15, 2016, Section 3.2
"Alphabetical List of Instructions", pp. 230-231, pp. 357-360.
gas/
* config/tc-mips.c (mips_set_ase): Handle ASE_EVA_R6.
(macro) <M_LLWPE_AB, M_SCWPE_AB>: New cases.
(mips_after_parse_args): Translate EVA to EVA_R6.
* testsuite/gas/mips/ase-errors-1.s: Add new instructions.
* testsuite/gas/mips/eva.s: Likewise.
* testsuite/gas/mips/ase-errors-1.l: Check errors for
new instructions.
* testsuite/gas/mips/mipsr6@eva.d: Check new test cases.
include/
* opcode/mips.h (ASE_EVA_R6): New macro.
(M_LLWPE_AB, M_SCWPE_AB): New enum values.
opcodes/
* mips-dis.c (mips_calculate_combination_ases): Add ISA
argument and set ASE_EVA_R6 appropriately.
(set_default_mips_dis_options): Pass ISA to above.
(parse_mips_dis_option): Likewise.
* mips-opc.c (EVAR6): New macro.
(mips_builtin_opcodes): Add llwpe, scwpe.
Derived from patch authored by Andrew Bennett <andrew.bennett@imgtec.com>
commit be0d3bbbcdbdba83f74d8ad1be6c4c759255af0b
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 6 14:38:24 2019 +0930
sym->sy_value is not valid for struct local_symbol
Fixes this mep-elf error:
gas/elf/dwarf2-19.s: Error: Unknown expression operator (enum 0)
gas/elf/dwarf2-19.s: Error: cannot convert expression symbol .L2 to complex relocation
* symbols.c (symbol_relc_make_sym): Do not access sym->sy_value
directly.
commit 5a56d6a65f8406f1aadb4569fbb8ff00a6e92d02
Author: Tom de Vries <tdevries@suse.de>
Date: Mon May 6 08:42:24 2019 +0200
[gdb/testsuite] Fix index-cache.exp with cc-with-{gdb-index,debug-names}
In gdb.base/index-cache.exp, handle the case that binfile contains either a
.gdb_index or .debug_names index section.
Tested on x86_64-linux with native, cc-with-gdb-index and cc-with-debug-names.
gdb/testsuite/ChangeLog:
2019-05-06 Tom de Vries <tdevries@suse.de>
* lib/gdb.exp (exec_has_index_section): New proc.
* gdb.base/index-cache.exp: Handle case that binfile contains an index
section.
commit e1cbf07ac4f8c8525dfadaa19bfb2997a2bfaad9
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 6 09:13:53 2019 +0930
PicoJava weak undefined symbols
This fixes the recently added ld-elf/pr24511 test failure on pj-elf.
Incidentally, pj-elf has failed its gas "pj" test since 2005-12-22
(git commit 54758c3e39). I think that makes the target ripe for
obsolescence.
bfd/
* elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
ld/
* testsuite/ld-undefined/weak-undef.exp: Don't xfail pj.
commit 334d91b9407c5f9f37f224b0f43551c01964eff1
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 6 08:43:32 2019 +0930
PowerPC reloc symbols that shouldn't be adjusted
GOT and PLT relocs shouldn't have their symbols replaced with a
section symbol plus added. Nor should the HIGHA TLS relocations,
which failed to be caught by the range test in ppc_fix_adjustable.
bfd/
* reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
(BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
gas/
* config/tc-ppc.c (ppc_fix_adjustable): Exclude all GOT and PLT
relocs, and VLE sdarel relocs.
* testsuite/gas/ppc/power4.d: Adjust.
commit 62e6b7b3b3c6f2fffe9f5863ddebf430533b79f0
Author: Alexandre Oliva <aoliva@redhat.com>
Date: Sun May 5 23:07:20 2019 -0300
[LVu] base subseg head view on prev subseg's tail
Location views at borders between subsegments/subsections in the same
segment/section are computed as if each new subsegment/subsection
started with a forced view reset to zero, but the line number program
does not introduce resets that are not explicitly requested, so if a
subsegment ends at the same address another starts, the line number
program will have a continuity of views at the border address, whereas
the initial view number label in the latter subsegment will be
miscomputed as zero.
This patch delays the assignment of view expressions at subsegment
heads to the time of chaining the frags of subsegments into a single
segment, so that they are set based on the view at the end of the
previous subsegment in the same segment.
The line number program created for the test program had an
unnecessary DW_LNS_advance_pc at the end. This patch also arranges
for us not to emit it.
for gas/ChangeLog
* dwarf2dbg.c (set_or_check_view): Skip heads when assigning
views of prior locs.
(dwarf2_gen_line_info_1): Skip heads.
(size_inc_line_addr, emit_inc_line_addr): Drop
DW_LNS_advance_pc for zero addr delta.
(dwarf2_finish): Assign views for heads of segments.
* testsuite/gas/elf/dwarf2-19.d: New.
* testsuite/gas/elf/dwarf2-19.s: New.
* testsuite/gas/elf/elf.exp: Test it.
commit bd1efd7d2111e37e2471facca117650a213f332e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon May 6 00:00:14 2019 +0000
Automatic date update in version.in
commit 1231b7b8255b54993c0afcb0ea40a5a096d67e90
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun May 5 00:00:56 2019 +0000
Automatic date update in version.in
commit 89055eaa122ceb99ae20bfe10d028da2ca7fee83
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jul 23 19:51:58 2018 -0600
Remove a VEC from aarch64-tdep.c
This removes a VEC from aarch64-tdep.c, replacing it with a
std::vector.
gdb/ChangeLog
2019-05-04 Tom Tromey <tom@tromey.com>
* aarch64-tdep.c (stack_item_t): Remove typedef and DEF_VEC.
(struct aarch64_call_info): Add initializers.
<si>: Now a std::vector.
(pass_on_stack, aarch64_push_dummy_call): Update.
commit 5da01df5b5601cae695cee588547fb9ef0967081
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jul 22 10:28:23 2018 -0600
Remove a VEC from ppc-linux-nat.c
This replaces a VEC in ppc-linux-nat.c with a std::vector.
gdb/ChangeLog
2019-05-04 Simon Marchi <simon.marchi@efficios.com>
Tom Tromey <tom@tromey.com>
* ppc-linux-nat.c (thread_points_p): Remove typedef and DEF_VEC.
(ppc_threads): Now a std::vector. Now static.
(hwdebug_find_thread_points_by_tid)
(ppc_linux_nat_target::low_new_thread, ppc_linux_thread_exit):
Update.
commit fbdf05a16ec647358e65582721c4ca7dae15e58d
Author: Tom Tromey <tom@tromey.com>
Date: Wed Apr 24 16:24:05 2019 -0600
Change arc_tdesc_init to return bool
This changes arc_tdesc_init to return bool.
gdb/ChangeLog
2019-05-04 Tom Tromey <tom@tromey.com>
* arc-tdep.c (arc_tdesc_init): Return bool.
commit 06d16ec97736b5fc0f41cb5a43f756b7ba3d974b
Author: Tom Tromey <tom@tromey.com>
Date: Wed Apr 24 16:22:57 2019 -0600
Use gdb_assert_not_reached in arm-linux-nat.c
This changes arm-linux-nat.c to use gdb_assert_not_reached rather than
an assert of false.
gdb/ChangeLog
2019-05-04 Tom Tromey <tom@tromey.com>
* arm-linux-nat.c (arm_linux_nat_target::can_use_hw_breakpoint):
Use gdb_assert_not_reached.
commit 9c056022194f9d1f068885cb45c9d23a2e44db54
Author: Tom Tromey <tom@tromey.com>
Date: Wed Apr 24 16:19:51 2019 -0600
Use "false" in compile_cplus_convert_enum
This changes compile_cplus_convert_enum to use "false".
Note that this variable is never modified, which seems like an error.
I filed PR compile/24473 for this.
gdb/ChangeLog
2019-05-04 Tom Tromey <tom@tromey.com>
* compile/compile-cplus-types.c (compile_cplus_convert_enum): Use
"false".
commit fa9c2a59e3110d8c7d37c1fa602cb6b25b796dc7
Author: Tom Tromey <tom@tromey.com>
Date: Wed Apr 24 16:18:41 2019 -0600
Use bool, true, and false in arc-tdep.c
This changes arc-tdep.c to use bool, true, and false.
gdb/ChangeLog
2019-05-04 Tom Tromey <tom@tromey.com>
* arc-tdep.c (arc_tdesc_init): Use bool.
commit e2eb806a17490963f23be1d567cff357537df678
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 20:24:05 2019 -0600
Use "false" in select_frame_for_mi
This changes select_frame_for_mi to use "false" rather than "FALSE".
gdb/ChangeLog
2019-05-04 Tom Tromey <tom@tromey.com>
* stack.c (select_frame_for_mi): Use "false", not "FALSE".
commit 6fe876770ad6739a5b3ca50f53dfcfbe433ba0fa
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 20:21:36 2019 -0600
Change valid_command_p to return bool
This changes valid_command_p to return bool.
gdb/ChangeLog
2019-05-04 Tom Tromey <tom@tromey.com>
* cli/cli-cmds.c (valid_command_p): Return bool.
commit 7f008c9e6a3cbb248f5b6e8638af4b9d5225981b
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 21 20:10:51 2019 -0600
Change valid_user_defined_cmd_name_p to return bool
This changes valid_user_defined_cmd_name_p to return bool.
gdb/ChangeLog
2019-05-04 Tom Tromey <tom@tromey.com>
* cli/cli-decode.c (valid_user_defined_cmd_name_p): Return bool.
* command.h (valid_user_defined_cmd_name_p): Channge return type.
commit b6484282f85bf7f11451b2441599c241d302ad9d
Author: Raul Tambre <raul@tambre.ee>
Date: Sat May 4 15:48:17 2019 -0400
Fix incorrect use of 'is' operator for comparison in python/lib/gdb/command/prompt.py
The 'is' operator is not meant to be used for comparisons. It currently working
is an implementation detail of CPython. CPython 3.8 has added a SyntaxWarning
for this.
commit af97b4161f07a716783183f1b17fa5cac9f99a49
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 23 16:42:14 2019 -0600
Don't derive partial_symbol from general_symbol_info
This patch partly reverts commit 8a6d42345 ("Change representation of
psymbol to flush out accessors"); specifically, it changes
partial_symbol to no longer derive from general_symbol_info.
The basic problem here is that the bcache compares objects bitwise,
and this change made it less likely that the relevant fields in the
psymbol would be fully initialized. This could be seen by running a
test under valgrind on the Fedora-i686 buildbot.
I considered a simpler patch, namely just zeroing the psymbol's
"value" field in add_psymbol_to_bcache. However, it wasn't clear to
me that this memset could not then be optimized away by the compiler.
Regression tested by the buildbot. I think this should go in 8.3 as
well.
gdb/ChangeLog
2019-05-04 Tom Tromey <tom@tromey.com>
* psymtab.c (psymbol_name_matches, match_partial_symbol)
(lookup_partial_symbol, print_partial_symbols)
(recursively_search_psymtabs, sort_pst_symbols, psymbol_hash)
(psymbol_compare): Update.
(add_psymbol_to_bcache): Clear the entire psymbol.
(maintenance_check_psymtabs): Update.
* psympriv.h (struct partial_symbol): Don't derive from
general_symbol_info.
<obj_section, unrelocated_address, address,
set_unrelocated_address>: Update.
<ginfo>: New member.
* dwarf-index-write.c (write_psymbols, debug_names::insert)
(debug_names::write_psymbols): Update.
commit 9d6d4be89d12747a92629ed1bde1d423e2831de1
Author: Tom de Vries <tdevries@suse.de>
Date: Sat May 4 10:11:53 2019 +0200
[gdb/testsuite] Add cc-with-debug-names.exp
Add a target board that makes it easy to run the test suite with a
.debug_names section added to executables.
gdb/ChangeLog:
2019-05-04 Tom de Vries <tdevries@suse.de>
* contrib/cc-with-tweaks.sh: Support -n arg.
gdb/testsuite/ChangeLog:
2019-05-04 Tom de Vries <tdevries@suse.de>
* boards/cc-with-debug-names.exp: New file.
commit 27cdfa03b5be812683c18e64009a5da042190ae6
Author: Alan Modra <amodra@gmail.com>
Date: Sat May 4 16:03:47 2019 +0930
m32c padding with nops
m32c_md_end attempted to pad out a code section with nops, but this
was just plain wrong in many ways:
- The padding didn't happen at all if the last section emitted wasn't
a code section.
- The padding went to the wrong place if subsections were used, and
the last subseg used wasn't the highest numbered subseg.
- Padding wasn't added to all code sections.
- If the last section was empty, it was padded to 4 bytes.
- The padding didn't go to a 4-byte alignment boundary, instead it
effectively made the last instruction 4 bytes in size.
- The padding didn't take into account that code sections may have
contents other than machine instructions.
So, rip it out and handle nop padding properly, also fixing .align
.balign/.p2align in the middle of code.
gas/
* config/tc-m32c.c (insn_size): Delete static var.
(md_begin): Don't set it.
(m32c_md_end): Delete.
(md_assemble): Add insn_size auto var.
* config/tc-m32c.h (md_end): Don't define.
(m32c_md_end): Delete.
(NOP_OPCODE, HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): Define.
* testsuite/gas/all/align.d: Remove m32c from notarget list.
* testsuite/gas/all/incbin.d: Likewise.
* testsuite/gas/elf/dwarf2-11.d: Likewise.
* testsuite/gas/macros/semi.d: Likewise.
* testsuite/gas/all/gas.exp (do_comment): Similarly.
ld/
* testsuite/ld-scripts/fill.d: Don't xfail m32c
* testsuite/ld-scripts/fill16.d: Likewise.
commit a288c270991de1578ad28ac312120f4167347234
Author: Alan Modra <amodra@gmail.com>
Date: Fri May 3 21:36:46 2019 +0930
PR24511, nm should not mark symbols in .init_array as "t"
This patch restricts the section names matched in coff_section_type,
a function that translates section names to symbol type, and arranges
to translate section flags to symbol type before looking at names.
The latter change resulted in various test failures due to improper
section flags being used in tests, and by the plugin support, so fix
that too.
The new test fails on many ELF targets that lack .init/fini_array
in their scripts. I've just xfailed those. pru-elf oddly defines
__init_array_begin rather than __init_array_start. I've left that
target as a FAIL, and pj-elf too which reports an error for undefined
weak symbols.
bfd/
PR 24511
* syms.c (coff_section_type): Only allow '.', '$' and numeric
following the standard section names.
(bfd_decode_symclass): Prioritize section flag tests in
decode_section_type before name tests in coff_section_type.
* plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
and fake_common_section using BFD_FAKE_SECTION. Use "fake" as
their names and choose standard .text section flags for
fake_section.
ld/
PR 24511
* testsuite/ld-elf/pr14156a.d: Allow for .init/.fini being a
data section on hppa64.
* testsuite/ld-elf/pr14156b.d: Likewise.
* testsuite/ld-scripts/pr18963.t: Map standard sections to set
output section flags.
* testsuite/ld-scripts/sane1.t: Likewise.
* testsuite/ld-elf/init-fini-arrays.s: Reference __init_array_start
and __fini_array_start. Define __start et al.
* testsuite/ld-elf/pr24511.d: New test.
commit 66452beb773568c7f60dbc6b7c70f671a8c9cf4b
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Apr 30 22:18:48 2019 +0200
Fix leaks by clearing registers and frame caches.
Valgrind reports leaks such as the below in the tests:
gdb.threads/corethreads.exp
gdb.threads/gcore-thread.exp
gdb.ada/task_switch_in_core.exp
gdb.trace/tfile.exp
gdb.base/siginfo-thread.exp
==12701== 1,123 (72 direct, 1,051 indirect) bytes in 1 blocks are definitely lost in loss record 2,928 of 3,247
==12701== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344)
==12701== by 0x5CF771: get_thread_arch_aspace_regcache(ptid_t, gdbarch*, address_space*) (regcache.c:330)
==12701== by 0x5CF92A: get_thread_regcache (regcache.c:366)
==12701== by 0x5CF92A: get_current_regcache() (regcache.c:372)
==12701== by 0x4C7964: get_current_frame() (frame.c:1587)
==12701== by 0x4C7A3C: get_selected_frame(char const*) (frame.c:1651)
==12701== by 0x669EAD: print_thread_info_1(ui_out*, char const*, int, int, int) (thread.c:1151)
==12701== by 0x66A9A1: info_threads_command(char const*, int) (thread.c:1217)
==12701== by 0x40A878: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1892)
...
Fix these leaks by clearing registers and frame caches.
This leak and fix is similar to the leak fixed by 799efbe8e01
commit bde09ab7026edf3d79122872b79c6a8f164ee0ff
Author: Tom Tromey <tom@tromey.com>
Date: Fri May 3 17:21:36 2019 -0600
Remove "struct" from foreach statements
Some versions of gcc have a bug that causes
for (struct mumble : something)
... to give a compiler error. We routinely work around this bug in
gdb, but apparently had not done so in a while. This patch fixes the
remaining known cases of this problem.
gdb/ChangeLog
2019-05-03 Sandra Loosemore <sandra@codesourcery.com>
Tom Tromey <tom@tromey.com>
* dictionary.c (collate_pending_symbols_by_language): Remove
"struct" from foreach.
* symtab.c (lookup_global_symbol_from_objfile)
(lookup_symbol_in_objfile_from_linkage_name): Remove "struct" from
foreach.
* ser-tcp.c (net_open): Remove "struct" from foreach.
* objfiles.c (objfile_relocate, objfile_rebase)
(objfile_has_symbols): Remove "struct" from foreach.
* minsyms.c (lookup_minimal_symbol_by_pc_section): Remove "struct"
from foreach.
* dwarf2read.c (handle_struct_member_die): Remove "struct" from
foreach.
* darwin-nat.c (thread_info_from_private_thread_info): Remove
"struct" from foreach.
* ada-lang.c (create_excep_cond_exprs)
(ada_exception_catchpoint_cond_string): Remove "struct" from
foreach.
commit b5d5eb444b6443855d65f73ea6b6623f5fbdaa0e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat May 4 00:00:19 2019 +0000
Automatic date update in version.in
commit 222a8d255834c717f1690658a9f85501a46f9403
Author: Tom Tromey <tromey@adacore.com>
Date: Fri May 3 12:18:26 2019 -0600
Fix cast of character to enum type in Ada
An internal bug report points out that, when a global character enum
type is used, casting fails, like:
(gdb) print global_char_enum'('F')
$1 = 70
The bug here turns out to be that enumerators are qualified, so for
example the mangled name might be "pck__QU48", rather than "QU48".
This patch fixes the problem by only examining the suffix of the
enumerator. This is ok because the type is already known, and because
the mangling scheme ensures that there won't be clashes.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-05-03 Tom Tromey <tromey@adacore.com>
* ada-exp.y (convert_char_literal): Check suffix of each
enumerator.
gdb/testsuite/ChangeLog
2019-05-03 Tom Tromey <tromey@adacore.com>
* gdb.ada/char_enum/pck.ads (Global_Enum_Type): New type.
* gdb.ada/char_enum/foo.adb: Use Global_Enum_Type.
* gdb.ada/char_enum.exp: Add test.
commit fcd60b848ed7619461b0b0e316201e7745cdb61d
Author: Dilyan Palauzov <dilyan.palauzov@aegee.org>
Date: Fri May 3 13:42:11 2019 -0600
Add noyywrap to ada-lex.l
This patch comes from PR ada/21406. It adds the noyywrap option to
ada-lex.l. This was already done (by the same author) for other .l
files in the binutils-gdb tree, so it seems reasonably safe.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-05-03 Dilyan Palauzov <dilyan.palauzov@aegee.org>
PR ada/21406:
* ada-exp.y (yywrap): Don't define.
* ada-lex.l (%option): Add noyywrap
(yywrap): Remove.
commit 0fdfd794d22b3b516c3031e76afecaa0ed813931
Author: Tom de Vries <tdevries@suse.de>
Date: Fri May 3 12:57:58 2019 +0200
[gdb/testsuite] Add cc-with-gdb-index.exp
Add a target board cc-with-gdb-index.exp, to make it easy to run cc-with-tweaks
with CC_WITH_TWEAKS_FLAGS='-i'.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-05-03 Tom de Vries <tdevries@suse.de>
* boards/cc-with-gdb-index.exp: New file.
commit 353ea2d106a51cfd1680f7d351f35eb8f69c9248
Author: Eli Zaretskii <eliz@gnu.org>
Date: Fri May 3 10:55:33 2019 +0300
On MS-Windows, define _WIN32_WINNT in a single common place.
This changeset defines _WIN32_WINNT to at least 0x0501, the level
of Windows XP, unless defined to a higher level, in a single
place. It then removes all the overrides of _WIN32_WINNT in
individual files as no longer needed. Doing this also solves
compilation of windows-nat.c with mingw.org's MinGW, as that
file uses CONSOLE_FONT_INFO which needs the XP level to become
exposed in the Windows headers, while mingw.org defaults to
Windows 9X.
gdb/ChangeLog:
2019-05-03 Eli Zaretskii <eliz@gnu.org>
* common/common-defs.h [__MINGW32__ || __CYGWIN__]: Define
_WIN32_WINNT to the XP level, unless already defined to a higher
level.
* unittests/parse-connection-spec-selftests.c:
* ser-tcp.c:
* common/netstuff.c [USE_WIN32API]: Remove the _WIN32_WINNT
override.
gdb/gdbserver/ChangeLog:
2019-05-03 Eli Zaretskii <eliz@gnu.org>
* remote-utils.c:
* gdbreplay.c [USE_WIN32API]: Remove the _WIN32_WINNT override.
commit 5f2459c233faebe8f882e556b2f4a86594a51292
Author: Eli Zaretskii <eliz@gnu.org>
Date: Fri May 3 10:29:59 2019 +0300
Fix lookup of separate debug file on MS-Windows.
If you put the separate debug file in a global debug directory, GDB on
MS-Windows would fail to find it. This happens because we obtain the
directory to look up the debug file by concatenating the debug
directory name with the leading directories of the executable, and the
latter includes the drive letter on MS-Windows. So we get an invalid
file name like
d:/usr/lib/debug/d:/usr/bin/foo.debug
This commit fixes that by removing the colon of the drive letter,
thus producing
d:/usr/lib/debug/d/usr/bin/foo.debug
gdb/ChangeLog:
2019-05-03 Eli Zaretskii <eliz@gnu.org>
* symfile.c (find_separate_debug_file): Remove colon from the
drive spec of DOS/Windows file names of the target, so that the
file name produced from DEBUGDIR and the target's directory will
be valid on DOS/Windows systems.
gdb/doc/ChangeLog:
2019-05-03 Eli Zaretskii <eliz@gnu.org>
* gdb.texinfo (Separate Debug Files): Document how the
subdirectory of the global debug directory is computed on
MS-Windows/MS-DOS.
commit 41f61c65a2e1cfdb4aca3bccf6e11025495ba02e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri May 3 00:00:15 2019 +0000
Automatic date update in version.in
commit 80062eb94959467fb0c27b988b87ac08dada4bd8
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu May 2 00:40:01 2019 +0100
gdb/rust: Handle printing structures containing strings
When printing a rust structure that contains a string GDB can
currently fail to read the fields that define the string. This is
because GDB mistakenly treats a value that is the parent structure as
though it is the structure that defines the string, and then fails to
find the fields needed to extract a string.
The solution is to create a new value to represent the string field of
the parent value.
gdb/ChangeLog:
* rust-lang.c (val_print_struct): Handle printing structures
containing strings.
gdb/testsuite/ChangeLog:
* gdb.rust/simple.exp: Add new test case.
* gdb.rust/simple.rs (struct StringAtOffset): New struct.
(main): Initialise an instance of the new struct.
commit 06f74c5cb868cfd37af3e680d29784c217700bdf
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu May 2 10:46:55 2019 -0700
i386: Issue a warning to IRET without suffix for .code16gcc
The .code16gcc directive to support 16-bit mode with 32-bit address.
For IRET without a suffix, generate 16-bit IRET with a warning to
return from an interrupt handler in 16-bit mode.
PR gas/24485
* config/tc-i386.c (process_suffix): Issue a warning to IRET
without a suffix for .code16gcc.
* testsuite/gas/i386/jump16.s: Add tests for iretX.
* testsuite/gas/i386/jump16.d: Updated.
* testsuite/gas/i386/jump16.e: New file.
commit b8c05e85ef4ce9610a3a43198180cf24aea327cb
Author: Tom Tromey <tromey@adacore.com>
Date: Thu May 2 08:15:59 2019 -0600
Remove _initialize_valarith
I noticed that _initialize_valarith is empty. This patch removes it.
Because init.c is constructed at build time, there's no reason to keep
empty initialization functions around, because there's no overhead to
reintroducing them when needed.
gdb/ChangeLog
2019-05-02 Tom Tromey <tromey@adacore.com>
* valarith.c (_initialize_valarith): Remove.
commit 2cdc1a970d3249888524d251abfb87a9bdc77434
Author: Nick Clifton <nickc@redhat.com>
Date: Thu May 2 15:11:39 2019 +0100
Treat the .gnu.debuglink and .gnu.debugaltlink sections as debug sections when reading them in from COFF/PE format files.
PR 24493
* coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
.gnu.debugaltlink sections as debugging sections.
commit e37f3ecd59eeb56e08c4a210a6e9764f1cedbc83
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu May 2 00:00:22 2019 +0000
Automatic date update in version.in
commit b83b4b138298d2a6bfab11f533d7e315c0a1c97b
Author: Sudakshina Das <sudi.das@arm.com>
Date: Wed May 1 17:14:01 2019 +0100
[BINUTILS, AArch64] Enable Transactional Memory Extension
This patch enables the new Transactional Memory Extension added recently
as part of Arm's new architecture technologies.
We introduce a new optional extension "tme" to enable this. The following
instructions are part of the extension:
* tstart <Xt>
* ttest <Xt>
* tcommit
* tcancel #<imm>
The ISA for the above can be found here:
https://developer.arm.com/docs/ddi0602/latest/base-instructions-alphabetic-order
*** gas/ChangeLog ***
2019-05-01 Sudakshina Das <sudi.das@arm.com>
* config/tc-aarch64.c (parse_operands): Add case for
AARCH64_OPND_TME_UIMM16.
(aarch64_features): Add "tme".
* doc/c-aarch64.texi: Document the same.
* testsuite/gas/aarch64/tme-invalid.d: New test.
* testsuite/gas/aarch64/tme-invalid.l: New test.
* testsuite/gas/aarch64/tme-invalid.s: New test.
* testsuite/gas/aarch64/tme.d: New test.
* testsuite/gas/aarch64/tme.s: New test.
*** include/ChangeLog ***
2019-05-01 Sudakshina Das <sudi.das@arm.com>
* opcode/aarch64.h (AARCH64_FEATURE_TME): New.
(enum aarch64_opnd): Add AARCH64_OPND_TME_UIMM16.
*** opcodes/ChangeLog ***
2019-05-01 Sudakshina Das <sudi.das@arm.com>
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
* aarch64-opc.c (operand_general_constraint_met_p): Add case for
AARCH64_OPND_TME_UIMM16.
(aarch64_print_operand): Likewise.
* aarch64-tbl.h (QL_IMM_NIL): New.
(TME): New.
(_TME_INSN): New.
(struct aarch64_opcode): Add tstart, tcommit, ttest and tcancel.
commit 2ecde2b63245d4794a4967f318772e7166feb310
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Wed May 1 16:52:51 2019 +0100
Fix spelling mistakes in binutils testsuite.
* testsuite/binutils-all/objdump.exp: Correct executable
spelling.
* testsuite/binutils-all/compress.exp: Likewise.
commit 4504bbdec57c77b6468838276e62b2137eedfdd5
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Apr 29 09:55:39 2019 -0600
Fix bug in assignment to nested packed structure
A user at AdaCore found a case where assignment to a nested packed
structure would fail. The bug is that ada_value_primitive_field
doesn't account for the situation where a field is not packed relative
to its containing structure, but where the structure itself is packed
in its parent.
gdb/ChangeLog
2019-05-01 Tom Tromey <tromey@adacore.com>
* ada-lang.c (ada_value_primitive_field): Treat more fields as
bitfields.
gdb/testsuite/ChangeLog
2019-05-01 Tom Tromey <tromey@adacore.com>
* gdb.ada/packed_array_assign/aggregates.ads (Nested_Packed): New
record.
(NPR): New variable.
* gdb.ada/packed_array_assign.exp: Add nested packed assignment
test.
commit d48e62f4a263a871b7a62793e8000625735bc2f6
Author: Tom Tromey <tromey@adacore.com>
Date: Fri Apr 26 10:57:52 2019 -0600
Fix big-endian aggregate assignment in Ada
A bug internal to AdaCore notes that assigning a non-scalar value to
an element of a packed array will sometimes fail.
The bug turns out to be that ada_value_assign incorrectly computes the
starting point for the assignment. This patch fixes the problem.
gdb/ChangeLog
2019-05-01 Tom Tromey <tromey@adacore.com>
* ada-lang.c (ada_value_assign): Correctly compute starting offset
for big-endian copies.
gdb/testsuite/ChangeLog
2019-05-01 Tom Tromey <tromey@adacore.com>
* gdb.ada/packed_array_assign.exp: Add packed assignment
regression test.
commit 25a0274483cb00c27945b0337005be4f169ff09f
Author: Nick Clifton <nickc@redhat.com>
Date: Wed May 1 14:43:06 2019 +0100
Change nm so that when it is running in POSIX compatible mode, it does not prefix symbol values with 0.
PR 24507
* nm.c: (print_format): New variable.
(value_format_32bit, value_format_64bit): Delete.
(set_print_radix): Remove code to alter value_format strings.
(set_output_format): Record chosen format in print_format.
(get_print_format): New function - constructs a printf formatting
string according to the requirements of size, radix, and output
format.
(print_value): Use get_print_format.
* testsuite/binutils-all/nm.exp: Add tests of "nm --format=posix"
and "nm -t d".
commit f59f30f55776b10d4f728065e9f9a10cf63a1b29
Author: Tom de Vries <tdevries@suse.de>
Date: Wed May 1 15:31:14 2019 +0200
[gdb/testsuite] Fix "unable to find usable gdb" error with cc-with-tweaks.exp
When running fullpath-expand.exp with target_board=dwarf4-gdb-index, we run
into:
...
$ make check-gdb RUNTESTFLAGS="--target_board=dwarf4-gdb-index fullpath-expand.exp"
Running src/gdb/testsuite/gdb.base/fullpath-expand.exp ...
gdb compile failed, cc-with-tweaks.sh: unable to find usable gdb
=== gdb Summary ===
nr of untested testcases 1
...
The same happens with fullname.exp.
The dwarf4-gdb-index.exp board file includes cc-with-tweaks.exp, which uses
cc-with-tweaks.sh, which calls gdb-add-index.sh.
The gdb-add-index.sh script uses a gdb executable, defaulting to gdb:
...
GDB=${GDB:=gdb}
...
The cc-with-tweaks.sh script tries to ensure that the build gdb executable is
used by gdb-add-index.sh:
...
if [ -z "$GDB" ]
then
if [ -f ./gdb ]
then
GDB="./gdb -data-directory data-directory"
elif [ -f ../gdb ]
then
GDB="../gdb -data-directory ../data-directory"
elif [ -f ../../gdb ]
then
GDB="../../gdb -data-directory ../../data-directory"
else
echo "$myname: unable to find usable gdb" >&2
exit 1
fi
fi
...
So, if the current directory is build/gdb/testsuite, then a gdb executable
build/gdb/testsuite/../gdb will be used.
However, in the case of fullpath-expand.exp the test cd's into the sources:
...
set saved_pwd [pwd]
cd $srcdir
set err [gdb_compile "${subdir}/${srcfile} ${subdir}/${srcfile2}" $binfile \
executable {debug}]
cd $saved_pwd
...
and cc-with-tweaks.sh generates the "unable to find usable gdb" error.
The same error occurs if we use --target_board=cc-with-dwz instead (only in
this case we actually don't need gdb, we just need the GDB variable to be set
in cc-with-tweaks.sh, which arguably is a bug in cc-with-tweaks.sh).
Fix both errors in cc-with-tweaks.exp by generating a gdb script gdb.sh using
$GDB, $GDBFLAGS and $INTERNAL_GDBFLAGS and passing this script to
cc-with-tweaks.sh by setting env(GDB).
Tested on x86_64-linux for gdb.base.
gdb/testsuite/ChangeLog:
2019-05-01 Tom de Vries <tdevries@suse.de>
* boards/cc-with-tweaks.exp: Generate gdb.sh, and pass it in env(GDB).
commit b70bfc540d3fa7759f5957bce23b6a1e6783ccb3
Author: Tom de Vries <tdevries@suse.de>
Date: Wed May 1 13:30:52 2019 +0200
[gdb/testsuite] Use cc-with-tweaks.exp in dwarf4-gdb-index.exp
Board file dwarf4-gdb-index.exp contains all the commands from
cc-with-tweaks.exp (with CC_WITH_TWEAKS_FLAGS set to "-i").
Make dwarf4-gdb-index.exp smaller by including cc-with-tweaks.exp.
Tested on x86_64-linux for gdb.base.
gdb/testsuite/ChangeLog:
2019-05-01 Tom de Vries <tdevries@suse.de>
* boards/dwarf4-gdb-index.exp: Use cc-with-tweaks.exp.
commit 640c50672cffe19a58a0296bbf7731b59a013cd5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed May 1 00:00:15 2019 +0000
Automatic date update in version.in
commit 15f18d1467aa08ff7a4793f21e02fd4c2ebc0a0b
Author: Ali Tamur <tamur@google.com>
Date: Thu Apr 25 13:35:53 2019 -0700
Support DW_FORM_strx1, _strx2, _strx3, _strx4 forms.
Dwarf5 defines DW_FORM_strx1 and others, which are similar
to DW_FORM_strx but uses 1-4 bytes unsigned integers. This is
a small step towards supporting dwarf5 in gdb.
commit ab4ee6147eb2e8fafd1fb96c945029c789182d3b
Author: Joel Brobecker <brobecker@adacore.com>
Date: Tue Apr 30 16:00:19 2019 -0500
gdb/windows-nat.c: Get rid of main_thread_id global
This global is meant to point to the "main" thread of execution of
the program we are debugging. It is set when attaching to a process
or when receiving a CREATE_PROCESS_DEBUG_EVENT event. The theory at
the time was that this was also going to be the thread receiving
the EXIT_PROCESS_DEBUG_EVENT event.
Unfortunately, we have discovered since then that this is actually
not guaranteed. What this means in practice is that there is moderate
risk that main_thread_id refers to a thread which no longer exists.
This global is used in 3 situations:
- OUTPUT_DEBUG_STRING_EVENT
- LOAD_DLL_DEBUG_EVENT
- UNLOAD_DLL_DEBUG_EVENT
It's not clear why we would need to use the main_thread_id in those cases
instead of using the thread ID provided by the kernel events itself.
So this patch implements this approach, which then allows us to delete
the main_thread_id global.
gdb/testsuite:
* windows-nat.c (main_thread_id): Delete.
(handle_output_debug_string): Replace main_thread_id by
current_event.dwThreadId.
(fake_create_process): Likewise.
(get_windows_debug_event) <CREATE_PROCESS_DEBUG_EVENT>:
Do not set main_thread_id.
<LOAD_DLL_DEBUG_EVENT>: Replace main_thread_id by
current_event.dwThreadId.
<UNLOAD_DLL_DEBUG_EVENT>: Likewise.
commit 8ed5b76ea2de370265382dab1d538a919e2603ab
Author: Joel Brobecker <brobecker@adacore.com>
Date: Tue Apr 30 15:59:17 2019 -0500
(Windows) fix thr != nullptr assert failure in delete_thread_1
We have observed that GDB would randomly trip the following
assertion failure when debugging on Windows. When allowing
the program to run until the inferior exits, we occasionally see:
(gdb) cont
Continuing.
[Thread 48192.0xd100 exited with code 1]
[Thread 48192.0x10ad8 exited with code 1]
[Thread 48192.0x36e28 exited with code 0]
[Thread 48192.0x52be4 exited with code 0]
[Thread 48192.0x5aa40 exited with code 0]
../../src/gdb/thread.c:453: internal-error: void delete_thread_1(thread_inf
o*, bool): Assertion `thr != nullptr' failed.
Running the same scenario with some additional traces enabled...
(gdb) set verbose
(gdb) set debugevents
... allows us to understand what the issue is. To understand, we need
to first look at the events received when starting the program, and
in particular which threads got created how. First, we get a
CREATE_PROCESS_DEBUG_EVENT for tid=0x442a8:
gdb: kernel event for pid=317536 tid=0x442a8 code=CREATE_PROCESS_DEBUG_EVENT)
Shortly after, we get some CREATE_THREAD_DEBUG_EVENT events,
one of them being for tid=0x4010c:
gdb: kernel event for pid=317536 tid=0x4010c code=CREATE_THREAD_DEBUG_EVENT)
Fast forward a bit of debugging, and we do a "cont" as above,
at which point the programs reaches the end, and the system reports
"exit" events. The first interesting one is the following:
gdb: kernel event for pid=317536 tid=0x442a8 code=EXIT_THREAD_DEBUG_EVENT)
This is reporting a thread-exit event for a thread whose tid
is the TID of what we call the "main thread". That's the thread
that was created when we received the CREATE_PROCESS_DEBUG_EVENT
notification, and whose TID is actually stored in a global variable
named main_thread_id. This is not something we expected, as
the assumption we made was that the main thread would exit last,
and we would be notified of it via an EXIT_PROCESS_DEBUG_EVENT.
But apparently, this is not always true, at least on Windows Server
2012 and 2016 where this issue has been observed happening randomly.
The consequence of the above notification is that we call
windows_delete_thread for that thread, which removes it from
our list of known threads.
And a little bit later, then we then get the EXIT_PROCESS_DEBUG_EVENT,
and we can see that the associated tid is not the main_thread_id,
but rather the tid of one of the threads that was created during
the lifetime of the program, in this case tid=0x4010c:
gdb: kernel event for pid=317536 tid=0x4010c code=EXIT_PROCESS_DEBUG_EVENT)
And the debug trace printed right after shows why we're crashing:
[Deleting Thread 317536.0x442a8]
We are trying to delete the thread whose tid=0x442a8, which is
the main_thread_id! As we have already deleted that thread before,
the search for it returns a nullptr, which then trips the assertion
check in delete_thread_1.
This commit fixes this issue. It ignores the open question of
what to do with the main_thread_id global, particularly after
that thread has been removed from our list of threads. This will
be dealt with as a separate patch, to allow cherry-picking
this patch into a release branch.
For now, we fix the code so as to avoid this crash.
gdb/ChangeLog:
* windows-nat.c (get_windows_debug_event) <EXIT_PROCESS_DEBUG_EVENT>:
Use current_event.dwThreadId instead of main_thread_id.
commit 2ff0a947394eebf5ff9cd26088dce60ec8c10b48
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Mar 27 15:00:21 2019 -0600
Fix "catch exception" with dynamic linking
When an Ada program is dynamically linked against libgnat, and when
one of the standard exceptions is used, the exception object may be
referenced by the main executable using a copy relocation.
In this situation, a "catch exception" for those exceptions will not
manage to stop. This happens because, under the hood, "catch
exception" creates an expression object that examines the object
addresses -- but in this case, the address will be incorrect.
This patch fixes the problem by arranging for these filter expressions
to examine all the relevant minimal symbols. This way, the object
from libgnat will be found as well.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-04-30 Tom Tromey <tromey@adacore.com>
* ada-lang.c (ada_lookup_simple_minsyms): New function.
(create_excep_cond_exprs): Iterate over program spaces.
(ada_exception_catchpoint_cond_string): Examine all minimal
symbols for exception types.
gdb/testsuite/ChangeLog
2019-04-30 Tom Tromey <tromey@adacore.com>
* lib/ada.exp (find_ada_tool): New proc.
* lib/gdb.exp (gdb_compile_shlib): Allow .o files as inputs.
* gdb.ada/catch_ex_std.exp: New file.
* gdb.ada/catch_ex_std/foo.adb: New file.
* gdb.ada/catch_ex_std/some_package.adb: New file.
* gdb.ada/catch_ex_std/some_package.ads: New file.
commit a776957c8c3a9177345ee7ca91077234ed7f508e
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Apr 22 11:46:47 2019 -0600
Fix crash in dwarf2read.c with template parameters
PR c++/24470 concerns a crash in dwarf2read.c that occurs with a
particular test case.
The issue turns out to be that process_structure_scope will pass NULL
to symbol_symtab. This happens because new_symbol decided not to
create a symbol for the particular DIE.
This patch fixes the problem by finding another reasonably-appropriate
symtab to use instead; issuing a complaint if one cannot be found for
some reason.
As mentioned in the bug, I think there are other bugs here. For
example, when using "ptype" on the "l" object in the test case, I
think I would expect to see the template parameter. I didn't research
this too closely, since it seemed more important to fix the crash.
Tested on x86-64 Fedora 29.
I'd like to check this in to the 8.3 branch as well.
2019-04-30 Tom Tromey <tromey@adacore.com>
PR c++/24470:
* dwarf2read.c (process_structure_scope): Handle case where type
has template parameters but no symbol was created.
gdb/testsuite/ChangeLog
2019-04-30 Tom Tromey <tromey@adacore.com>
PR c++/24470:
* gdb.cp/temargs.cc: Add test code from PR.
commit 066f4018ae7822d81cb6747fd9494e5dd63bfecf
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 30 16:31:01 2019 +0930
PowerPC64 GOT indirect to GOT relative optimisation
This implements an optimisation that converts sequences like
addis r9,r2,sym@got@ha
ld r3,sym@got@l(r9)
to
addis r9,r2,sym@toc@ha
addi r3,r9,sym@toc@l
when "sym" is locally defined and can't be overridden.
bfd/
* elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
(struct _ppc64_elf_section_data): Likewise.
(ppc64_elf_check_relocs): Set above fields.
(ppc64_elf_edit_toc): Add a pass over GOT relocs.
(ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
when possible.
ld/
* testsuite/ld-powerpc/elfv2exe.d: Update.
* testsuite/ld-powerpc/elfv2so.d: Update.
* testsuite/ld-powerpc/tocopt.d: Update.
* testsuite/ld-powerpc/tocopt.s: Update.
* testsuite/ld-powerpc/tocopt5.d: Update.
* testsuite/ld-powerpc/tocopt5.s: Update.
* testsuite/ld-powerpc/tocopt7.d: Update.
* testsuite/ld-powerpc/tocopt7.s: Update.
* testsuite/ld-powerpc/tocopt8.d: Update.
* testsuite/ld-powerpc/tocopt8.s: Update.
commit 8107ddcea1da07f1c4e902c17f045684beb78079
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 29 09:17:05 2019 +0930
Work around gcc9 warning bug
* wrstabs.c (stab_start_class_type): Add assert to work around
gcc9 warning. Tidy.
commit 06ddcada14d90c4da28f9585801aaae48304d8ea
Author: Alan Modra <amodra@gmail.com>
Date: Sat Apr 27 10:27:49 2019 +0930
ld.texi tweak for pod2man
Fixes the following error:
ld.pod around line 568: Expected '=item *'
POD document had syntax errors at /usr/bin/pod2man line 71.
* ld.texi (How GNU properties are merged): Avoid pod2man error.
Correct example.
commit bc68014d16c30a6e90fdf9fc43e98be8cbbead9a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 7 16:53:54 2019 +0000
gdb/fortran: Add allocatable type qualifier
Types in Fortran can have the 'allocatable' qualifier attached to
indicate that memory needs to be explicitly allocated by the user.
This patch extends GDB to show this qualifier when printing types.
Lots of tests results are then updated to include this new qualifier
in the expected results.
gdb/ChangeLog:
* f-typeprint.c (f_type_print_base): Print 'allocatable' type
qualifier.
* gdbtypes.h (TYPE_IS_ALLOCATABLE): Define.
gdb/testsuite/ChangeLog:
* gdb.fortran/vla-datatypes.exp: Update expected results.
* gdb.fortran/vla-ptype.exp: Likewise.
* gdb.fortran/vla-type.exp: Likewise.
* gdb.fortran/vla-value.exp: Likewise.
commit f1fdc960664c24d911d6189b94e5c054b4bb9053
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Feb 17 00:37:20 2019 +0000
gdb/fortran: Update rules for printing whitespace in types
The whitespace produced as types are printed seems inconsistent. This
commit updates the rules in an attempt to make whitespace more
balanced and consistent. Expected results are updated.
gdb/ChangeLog:
* f-typeprint.c (f_print_type): Update rules for printing
whitespace.
(f_type_print_varspec_suffix): Likewise.
gdb/testsuite/ChangeLog:
* gdb.fortran/ptr-indentation.exp: Update expected results.
* gdb.fortran/ptype-on-functions.exp: Likewise.
* gdb.fortran/vla-ptr-info.exp: Likewise.
* gdb.fortran/vla-value.exp: Likewise.
commit bf7a4de1722a63c8b017d010e75d5e9e5e622f36
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Feb 16 17:26:44 2019 +0000
gdb/fortran: print function arguments when printing function type
Before this commit using ptype on a Fortran function will include
information about the functions return type, but not the expected
arguments as it would for C or C++. After this commit argument types
are included in the ptype output.
For example, before GDB prints:
(gdb) ptype fun1
type = integer(kind=4) ()
(gdb) ptype is_bigger
type = logical(kind=4) ()
and after GDB prints:
(gdb) ptype fun1
type = integer(kind=4) (integer(kind=4))
(gdb) ptype is_bigger
type = logical(kind=4) (integer(kind=4), integer(kind=4))
gdb/ChangeLog:
* f-typeprint.c (f_type_print_varspec_suffix): Handle printing
function arguments.
gdb/testsuite/ChangeLog:
* gdb.fortran/ptype-on-functions.exp: New file.
* gdb.fortran/ptype-on-functions.f90: New file.
commit bbe75b9d00cc6f0694ff26569505c349d55e35f1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Feb 16 16:39:29 2019 +0000
gdb/fortran: Print 'void' type in lower case
For a program compiled with gfortran the base type names are written
as lower cases in the DWARF, and so GDB will display them as lower
case. Additionally, in most places where GDB supplies its own type
names (for example all of the types defined in f-lang.c in
`build_fortran_types`), the type names are all lower case.
An exception to this is where GDB prints the void type for Fortran.
In this case GDB uses upper case.
I'm not aware of any reason why this type should merit special
attention, and it looks our of place when printing types, so this
commit changes from 'VOID' to 'void' to match all the other types.
gdb/ChangeLog:
* f-lang.c (build_fortran_types): Change name of void type to
lower case.
* f-typeprint.c (f_type_print_base): Print the name of the void
type, rather than a fixed string.
* f-valprint.c (f_decorations): Use lower case void string.
gdb/testsuite/ChangeLog:
* gdb.fortran/exprs.exp (test_convenience_variables): Expect lower
case void string.
commit 1db455a76c39e2be6a8a9613b7a19439f24722d0
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Feb 16 22:45:41 2019 +0000
gdb/fortran: better types for components of complex numbers
Currently when using $_creal and $_cimag to access the components of a
complex number the types of these components will have C type names
'float', 'double', etc. This is because the components of a complex
number are not given type names in DWARF, so GDB has to pick some
suitable names, and currently we always use the C names.
This commit changes the type names used based on the language, so for
Fortran we will now use the Fortran float types, and so will get the
Fortran float type names 'real', 'real*8', etc.
gdb/ChangeLog:
* dwarf2read.c (dwarf2_init_complex_target_type): Use different
types for Fortran.
gdb/testsuite/ChangeLog:
* gdb.fortran/complex.exp: Expand.
* gdb.fortran/complex.f: Renamed to...
* gdb.fortran/complex.f90: ...this, and extended to add more
complex values.
commit b6d03bb2b65ac5c919f1d08674bbaa2a9bfb2d0c
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Feb 13 17:10:18 2019 +0000
gdb/fortran: Additional builtin procedures
Add some additional builtin procedures for Fortran, these are MOD,
CEILING, FLOOR, MODULO, and CMPLX.
gdb/ChangeLog:
* f-exp.y (BINOP_INTRINSIC): New token.
(exp): New parser rule handling BINOP_INTRINSIC.
(f77_keywords): Add new builtin procedures.
* f-lang.c (evaluate_subexp_f): Handle BINOP_MOD, UNOP_FORTRAN_CEILING,
UNOP_FORTRAN_FLOOR, BINOP_FORTRAN_MODULO, BINOP_FORTRAN_CMPLX.
(operator_length_f): Handle UNOP_FORTRAN_CEILING,
UNOP_FORTRAN_FLOOR, BINOP_FORTRAN_MODULO, BINOP_FORTRAN_CMPLX.
(print_unop_subexp_f): New function.
(print_binop_subexp_f): New function.
(print_subexp_f): Handle UNOP_FORTRAN_CEILING, UNOP_FORTRAN_FLOOR,
BINOP_FORTRAN_MODULO, BINOP_FORTRAN_CMPLX.
(dump_subexp_body_f): Likewise.
(operator_check_f): Likewise.
* fortran-operator.def: Add UNOP_FORTRAN_CEILING, UNOP_FORTRAN_FLOOR,
BINOP_FORTRAN_MODULO, BINOP_FORTRAN_CMPLX
gdb/testsuite/ChangeLog:
* gdb.fortran/intrinsics.exp: Extend to cover MOD, CEILING, FLOOR,
MODULO, CMPLX.
commit 83228e93efa82f84a132f7cec44d0e760d4ad22b
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Apr 1 21:01:09 2019 +0100
gdb/fortran: Introduce fortran-operator.def file
Future commits will add more Fortran specific expression operators.
In preparation for these new operators, this commit adds a new
fortran-operator.def file similar to how GDB already has
ada-operator.def.
I've moved UNOP_KIND the Fortran specific operator I introduced in
commit 4d00f5d8f6c4 into this file, and renamed it to make it clearer
that the operator is Fortran specific. I've then updated the Fortran
exp_descriptor table (exp_descriptor_f) to use entirely Fortran
specific functions that now handle UNOP_FORTRAN_KIND (the new name for
UNOP_KIND).
There should be no visible changes for standard users after this
commit, though for developers, the output when 'set debug expression
1' is now better, before:
(gdb) p kind (l1)
Dump of expression @ 0x2ccc7a0, before conversion to prefix form:
Language fortran, 5 elements, 16 bytes each.
Index Opcode Hex Value String Value
0 OP_VAR_VALUE 42 *...............
1 OP_NULL 47730176 .N..............
2 BINOP_INTDIV 47729184 J..............
3 OP_VAR_VALUE 42 *...............
4 UNOP_KIND 78 N...............
Dump of expression @ 0x2ccc7a0, after conversion to prefix form:
Expression: `Invalid expression
(gdb)
and after:
(gdb) p kind (l1)
Dump of expression @ 0x294d0b0, before conversion to prefix form:
Language fortran, 5 elements, 16 bytes each.
Index Opcode Hex Value String Value
0 OP_VAR_VALUE 40 (...............
1 unknown opcode: 224 44088544 ................
2 unknown opcode: 208 44087504 ................
3 OP_VAR_VALUE 40 (...............
4 UNOP_FORTRAN_KIND 119 w...............
Dump of expression @ 0x294d0b0, after conversion to prefix form:
Expression: `KIND(test::l1)'
Language fortran, 5 elements, 16 bytes each.
0 UNOP_FORTRAN_KIND
1 OP_VAR_VALUE Block @0x2a0bce0, symbol @0x2a0b8d0 (l1)
$1 = 1
(gdb)
gdb/ChangeLog:
* gdb/expprint.c (dump_subexp_body_standard): Remove use of
UNOP_KIND.
* gdb/expression.h (exp_opcode): Include 'fortran-operator.def'.
* gdb/f-exp.y (exp): Rename UNOP_KIND to UNOP_FORTRAN_KIND.
* gdb/f-lang.c (evaluate_subexp_f): Likewise.
(operator_length_f): New fuction.
(print_subexp_f): New function.
(op_name_f): New function.
(dump_subexp_body_f): New function.
(operator_check_f): New function.
(exp_descriptor_f): Replace standard expression handling functions
with new functions.
* gdb/fortran-operator.def: New file.
* gdb/parse.c (operator_length_standard): Remove use of UNOP_KIND.
* gdb/std-operator.def: Remove UNOP_KIND.
commit 6fdcd7cc87a5e345a1c09fcf898012d80eb43ee1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Mar 30 17:14:23 2019 +0000
gdb: Remove an unbalanced stray double quote from a comment
What appears to be a stray double quote character in std-operator.def
causes incorrect highlighting in my editor.
The quote was introduced in this commit:
commit 858be34c5a03bb8973679ebf00d360182434dc00
Date: Mon Sep 4 20:21:15 2017 +0100
Handle "p S::method()::static_var" in the C++ parser
I can't see any reason why the quote should be there, so this commit
removes it.
gdb/ChangeLog:
* std-operator.def: Remove unbalanced, stray double quote
character.
commit 5acad1a18219912bbb83b667c7bb4955d4af10ca
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Apr 30 00:00:28 2019 +0000
Automatic date update in version.in
commit 2e62ab400ff96334c92e5acf0a462cb9dc0d19a7
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 21 15:13:23 2019 +0000
gdb: Introduce 'print max-depth' feature
Introduce a new print setting max-depth which can be set with 'set
print max-depth DEPTH'. The default value of DEPTH is 20, but this
can also be set to unlimited.
When GDB is printing a value containing nested structures GDB will
stop descending at depth DEPTH. Here is a small example:
typedef struct s1 { int a; } s1;
typedef struct s2 { s1 b; } s2;
typedef struct s3 { s2 c; } s3;
typedef struct s4 { s3 d; } s4;
s4 var = { { { { 3 } } } };
The following table shows how various depth settings affect printing
of 'var':
| Depth Setting | Result of 'p var' |
|---------------+--------------------------------|
| Unlimited | $1 = {d = {c = {b = {a = 3}}}} |
| 4 | $1 = {d = {c = {b = {a = 3}}}} |
| 3 | $1 = {d = {c = {b = {...}}}} |
| 2 | $1 = {d = {c = {...}}} |
| 1 | $1 = {d = {...}} |
| 0 | $1 = {...} |
Only structures, unions, and arrays are replaced in this way, scalars
and strings are not replaced.
The replacement is counted from the level at which you print, not from
the top level of the structure. So, consider the above example and
this GDB session:
(gdb) set print max-depth 2
(gdb) p var
$1 = {d = {c = {...}}}
(gdb) p var.d
$2 = {c = {b = {...}}}
(gdb) p var.d.c
$3 = {b = {a = 3}}
Setting the max-depth to 2 doesn't prevent the user from exploring
deeper into 'var' by asking for specific sub-fields to be printed.
The motivation behind this feature is to try and give the user more
control over how much is printed when examining large, complex data
structures.
The default max-depth of 20 means that there is a change in GDB's
default behaviour. Someone printing a data structure with 20 levels
of nesting will now see '{...}' instead of their data, they would need
to adjust the max depth, or call print again naming a specific field
in order to dig deeper into their data structure. If this is
considered a problem then we could increase the default, or even make
the default unlimited.
This commit relies on the previous commit, which added a new field to
the language structure, this new field was a string that contained the
pattern that should be used when a structure/union/array is replaced
in the output, this allows languages to use a syntax that is more
appropriate, mostly this will be selecting the correct types of
bracket '(...)' or '{...}', both of which are currently in use.
This commit should have no impact on MI output, expressions are
printed through the MI using -var-create and then -var-list-children.
As each use of -var-list-children only ever displays a single level of
an expression then the max-depth setting will have no impact.
This commit also adds the max-depth mechanism to the scripting
language pretty printers following basically the same rules as for the
built in value printing.
One quirk is that when printing a value using the display hint 'map',
if the keys of the map are structs then GDB will hide the keys one
depth level after it hides the values, this ensures that GDB produces
output like this:
$1 = map_object = {[{key1}] = {...}, [{key2}] = {...}}
Instead of this less helpful output:
$1 = map_object = {[{...}] = {...}, [{...}] = {...}}
This is covered by the new tests in gdb.python/py-nested-maps.exp.
gdb/ChangeLog:
* cp-valprint.c (cp_print_value_fields): Allow an additional level
of depth when printing anonymous structs or unions.
* guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
Don't print either the top-level value, or the children if the
max-depth is exceeded.
(ppscm_print_children): When printing the key of a map, allow one
extra level of depth.
* python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Don't
print either the top-level value, or the children if the max-depth
is exceeded.
(print_children): When printing the key of a map, allow one extra
level of depth.
* python/py-value.c (valpy_format_string): Add max_depth keyword.
* valprint.c: (PRINT_MAX_DEPTH_DEFAULT): Define.
(user_print_options): Initialise max_depth field.
(val_print_scalar_or_string_type_p): New function.
(val_print): Check to see if the max depth has been reached.
(val_print_check_max_depth): Define new function.
(show_print_max_depth): New function.
(_initialize_valprint): Add 'print max-depth' option.
* valprint.h (struct value_print_options) <max_depth>: New field.
(val_print_check_max_depth): Declare new function.
* NEWS: Document new feature.
gdb/doc/ChangeLog:
* gdb.texinfo (Print Settings): Document 'print max-depth'.
* guile.texi (Guile Pretty Printing API): Document that 'print
max-depth' can effect the display of a values children.
* python.texi (Pretty Printing API): Likewise.
(Values From Inferior): Document max_depth keyword.
gdb/testsuite/ChangeLog:
* gdb.base/max-depth.c: New file.
* gdb.base/max-depth.exp: New file.
* gdb.python/py-nested-maps.c: New file.
* gdb.python/py-nested-maps.exp: New file.
* gdb.python/py-nested-maps.py: New file.
* gdb.python/py-format-string.exp (test_max_depth): New proc.
(test_all_common): Call test_max_depth.
* gdb.fortran/max-depth.exp: New file.
* gdb.fortran/max-depth.f90: New file.
* gdb.go/max-depth.exp: New file.
* gdb.go/max-depth.go: New file.
* gdb.modula2/max-depth.exp: New file.
* gdb.modula2/max-depth.c: New file.
* lib/gdb.exp (get_print_expr_at_depths): New proc.
commit 4be290b2517839872ef7de47230be8dbd291a7e5
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Apr 9 23:06:41 2019 +0100
gdb: Introduce new language field la_is_string_type_p
This commit is preparation work for the next commit, and by itself
makes no user visible change to GDB. I've split this work into a
separate commit in order to make code review easier.
This commit adds a new field 'la_is_string_type_p' to the language
struct, this predicate will return true if a type is a string type for
the given language.
Some languages already have a "is this a string" predicate that I was
able to reuse, while for other languages I've had to add a new
predicate. In this case I took inspiration from the value printing
code for that language - what different conditions would result in
printing something as a string.
A default "is this a string" method has also been added that looks for
TYPE_CODE_STRING, this is the fallback I've used for a couple of
languages.
In this commit I add the new field and initialise it for each
language, however at this stage the new field is never used.
gdb/ChangeLog:
* ada-lang.c (ada_language_defn): Initialise new field.
* c-lang.c (c_is_string_type_p): New function.
(c_language_defn): Initialise new field.
(cplus_language_defn): Initialise new field.
(asm_language_defn): Initialise new field.
(minimal_language_defn): Initialise new field.
* c-lang.h (c_is_string_type_p): Declare new function.
* d-lang.c (d_language_defn): Initialise new field.
* f-lang.c (f_is_string_type_p): New function.
(f_language_defn): Initialise new field.
* go-lang.c (go_is_string_type_p): New function.
(go_language_defn): Initialise new field.
* language.c (default_is_string_type_p): New function.
(unknown_language_defn): Initialise new field.
(auto_language_defn): Initialise new field.
* language.h (struct language_defn) <la_is_string_type_p>: New
member variable.
(default_is_string_type_p): Declare new function.
* m2-lang.c (m2_language_defn): Initialise new field.
* objc-lang.c (objc_language_defn): Initialise new field.
* opencl-lang.c (opencl_language_defn): Initialise new field.
* p-lang.c (pascal_is_string_type_p): New function.
(pascal_language_defn): Initialise new field.
* rust-lang.c (rust_is_string_type_p): New function.
(rust_language_defn): Initialise new field.
commit 721b08c68679ad4058bfa7ae73811e6f9e845cfd
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Mar 26 19:34:06 2019 +0000
gdb: Introduce new language field la_struct_too_deep_ellipsis
This commit is preparation work for a later commit, and by itself
makes no user visible change to GDB. I've split this work into a
separate commit in order to make code review easier.
This commit adds a new field 'la_struct_too_deep_ellipsis' to the
language struct, this string will be used in the next commit to print
a language specific string from within the generic value printing
code.
In this commit I add the new field and initialise it for each
language, however at this stage the new field is never used.
gdb/ChangeLog:
* language.h (struct language_defn) <la_struct_too_deep_ellipsis>:
New field.
* ada-lang.c (ada_language_defn): Initialise new field.
* c-lang.c (c_language_defn): Likewise.
(cplus_language_defn): Likewise.
(asm_language_defn): Likewise.
(minimal_language_defn): Likewise.
* d-lang.c (d_language_defn): Likewise.
* f-lang.c (f_language_defn): Likewise.
* go-lang.c (go_language_defn): Likewise.
* language.c (unknown_language_defn): Likewise.
(auto_language_defn): Likewise.
* m2-lang.c (m2_language_defn): Likewise.
* objc-lang.c (objc_language_defn): Likewise.
* opencl-lang.c (opencl_language_defn): Likewise.
* p-lang.c (pascal_language_defn): Likewise.
* rust-lang.c (rust_language_defn): Likewise.
commit fc913e53c353218ba1a9efa423c08767691a682a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Apr 10 23:07:10 2019 +0100
gdb/ada: Update some predicate functions to return bool
A later commit would like to make use of a pointer to the function
ada_is_string_type, however, this will require the function to return
a bool (so the signature matches).
As the ada_is_string_type is a predicate function, and its return
value is only ever used as either true or false, then this commit
updates the function to return a bool.
As a consequence ada_is_character_type needs to change too.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* ada-lang.c (ada_is_character_type): Change return type to bool.
(ada_is_string_type): Likewise.
* ada-lang.h (ada_is_character_type): Update declaration
(ada_is_string_type): Likewise.
commit d2b584a55b658fa52ffa3a42b689940d2e98e969
Author: Tom de Vries <tdevries@suse.de>
Date: Mon Apr 29 16:52:10 2019 +0200
[gdb/testsuite] Fix regexp in skip_opencl_tests
When running gdb-caching-proc.exp, if skip_opencl_tests fails like this:
...
(gdb) run
Starting program: \
build/gdb/testsuite/outputs/gdb.base/gdb-caching-proc/opencltest13530.x
CHK_ERR (clGetPlatformIDs (1, &platform, NULL), -1001)
src/gdb/testsuite/lib/opencl_hostapp.c:73 error: Unknown
[Inferior 1 (process 13600) exited with code 01]
(gdb)
skip_opencl_tests: OpenCL support not detected
...
then this regexp in skip_opencl_tests fails to match:
...
-re ".*$inferior_exited_re code.*${gdb_prompt} $" {
...
so instead we hit the default clause after a 30 seconds timeout. With the
iteration count set at 10, we end up taking 6 minutes to run this test-case.
Fix this by adding the missing "with" in the regexp, bring back the runtime to
half a minute.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-04-29 Tom de Vries <tdevries@suse.de>
* lib/opencl.exp (skip_opencl_tests): Add missing "with" in regexp.
commit 4a90ce955e5bcde074b8616ff9d20f9939a9a358
Author: John Darrington <john@darrington.wattle.id.au>
Date: Mon Apr 29 16:05:54 2019 +0200
S12Z: Opcodes: Fix crash when trying to decode a truncated operation.
opcodes/
* s12z-opc.c (shift_discrim): Return OP_INVALID when reading fails.
gas/
* testsuite/gas/s12z/truncated.d: New file.
* testsuite/gas/s12z/truncated.s: New file.
* testsuite/gas/s12z/s12z.exp: Add new test.
commit 637d4b78c55640b9d858546a65d51024a70b5247
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Apr 29 00:00:32 2019 +0000
Automatic date update in version.in
commit fa731fa0d400568fb1fd68c247fc0c55b53c2a2f
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Apr 28 06:54:32 2019 +0200
Follow-up to Support style in 'frame|thread apply'
Fix build problem when configuring with guile.
Fix the forgotten copy of ChangeLog info to ChangeLog.
commit 4cacd8ca8de0f9c22380e5a68cff7ff9f6bd4704
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Apr 28 00:01:02 2019 +0000
Automatic date update in version.in
commit 8a522c6cab56bd55f1454638786f999f6f636354
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Mar 9 23:55:44 2019 +0100
Have 'thread|frame apply' style their output.
'thread|frame apply CMD' launches CMD so that CMD output goes to a string_file.
This patch ensures that string_file for such CMD output contains
style escape sequences that 'thread|frame apply' will later on
output on the real terminal, so as to have CMD output properly styled.
The idea is to have the class ui_file having overridable methods
to indicate that the output to this ui_file should be done using
'terminal' behaviour such as styling.
Then these methods are overriden in string_file so that a specially
constructed string_file will get output with style escape sequences.
After this patch, the output of CMD by thread|frame apply CMD is styled
similarly as when CMD is launched directly.
Note that string_file (term_out true) could also support wrapping,
but this is not done (yet?).
Tested on debian/amd64.
gdb/ChangeLog
2019-04-27 Philippe Waroquiers <philippe.waroquiers@skynet.be>
Support style in 'frame|thread apply'
* gdbcmd.h (execute_command_to_string): New term_out parameter.
* record.c (record_start, record_stop): Update callers of
execute_command_to_string with false.
* ui-file.h (class ui_file): New term_out and can_emit_style_escape
methods.
(class string_file): New constructor with term_out parameter.
Override methods term_out and can_emit_style_escape. New member
term_out.
(class stdio_file): Override can_emit_style_escape.
(class tee_file): Override term_out and can_emit_style_escape.
* utils.h (can_emit_style_escape): Remove.
* utils.c (can_emit_style_escape): Likewise.
Update all callers of can_emit_style_escape (SOMESTREAM) to
SOMESTREAM->can_emit_style_escape.
* source-cache.c (source_cache::get_source_lines): Likewise.
* stack.c (frame_apply_command_count): Call execute_command_to_string
passing the term_out characteristic of the current gdb_stdout.
* thread.c (thr_try_catch_cmd): Likewise.
* top.c (execute_command_to_string): pass term_out parameter
to construct the string_file for the command output.
* ui-file.c (term_cli_styling): New function (most code moved
from utils.c can_emit_style_escape).
(string_file::string_file, string_file::can_emit_style_escape,
stdio_file::can_emit_style_escape, tee_file::term_out,
tee_file::can_emit_style_escape): New functions.
commit 136afab8c7d8a8a91dbf38e79be4f9dc4125d552
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Apr 23 23:43:24 2019 +0200
Implement show | set may-call-functions [on|off]
Inferior function calls are powerful but might lead to undesired
results such as crashes when calling nested functions (frequently
used in particular in Ada).
This implements a GDB setting to disable calling inferior functions.
Note: the idea is that if/when the 'slash command' patch is pushed,
that this setting can be changed e.g. by using the shortcut /c.
This is version 2 of the patch. It handles all the received comments,
mostly replace 'can-call' by 'may-call', and avoid using
'inferior function call' in factor of 'calling function in the program'.
2019-04-26 Philippe Waroquiers <philippe.waroquiers@skynet.be>
gdb/ChangeLog
* NEWS: Mention the new set|show may-call-functions.
* infcall.c (may_call_functions_p): New variable.
(show_may_call_functions_p): New function.
(call_function_by_hand_dummy): Throws an error if not
may-call-functions.
(_initialize_infcall): Call add_setshow_boolean_cmd for
may-call-functions.
gdb/testsuite/ChangeLog
* gdb.base/callexit.exp: Test may-call-functions off.
gdb/doc/ChangeLog
* gdb.texinfo (Calling): Document the new
set|show may-call-functions.
commit a45328b93bdd5399da8a9e56817e445cc2068edd
Author: Andrew Bennett <andrew.bennett@imgtec.com>
Date: Mon Apr 22 15:12:09 2019 -0700
[MIPS] Add load-link, store-conditional paired instructions
Add several baseline MIPS32R6[1] and MIPS64R6[2] instructions
that were omitted from the initial spec. These instructions
are optional in implementations but not associated with any
ASE or pseudo-ASE. Their presence is indicated by the XNP bit
in the Config5 register.
[1] "MIPS Architecture for Programmers Volume II-A: The MIPS32
Instruction Set Manual", Imagination Technologies Ltd., Document
Number: MD00086, Revision 6.06, December 15, 2016, Section 3.2
"Alphabetical List of Instructions", pp. 228-229, pp. 354-357.
[2] "MIPS Architecture for Programmers Volume II-A: The MIPS64
Instruction Set Manual", Imagination Technologies Ltd., Document
Number: MD00087, Revision 6.06, December 15, 2016, Section 3.2
"Alphabetical List of Instructions", pp. 289-290 and pp. 458-460.
gas/
* config/tc-mips.c (macro) <M_LLWP_AB, M_LLDP_AB, M_SCWP_AB,
M_SCDP_AB>: New cases and expansions for paired instructions.
* testsuite/gas/mips/llpscp-32.s: New test source.
* testsuite/gas/mips/llpscp-64.s: Likewise.
* testsuite/gas/mips/llpscp-32.d: New test.
* testsuite/gas/mips/llpscp-64.d: Likewise.
* testsuite/gas/mips/mips.exp: Run the new tests.
* testsuite/gas/mips/r6.s: Add new instructions to test source.
* testsuite/gas/mips/r6-64.s: Likewise.
* testsuite/gas/mips/r6-64-n32.d: Check new instructions.
* testsuite/gas/mips/r6-64-n64.d: Likewise.
* testsuite/gas/mips/r6-n32.d: Likewise.
* testsuite/gas/mips/r6-n64.d: Likwwise.
* testsuite/gas/mips/r6.d: Likewise.
include/
* opcode/mips.h (M_LLWP_AB, M_LLDP_AB): New enum values.
(M_SCWP_AB, M_SCDP_AB): Likewise.
opcodes/
* mips-opc.c (mips_builtin_opcodes): Add llwp, lldp, scwp, scdp.
commit 45f0ab12d463cb3999a4286e679bdef05884b3a3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Apr 27 00:00:28 2019 +0000
Automatic date update in version.in
commit 7cb22ff84745da0856bf74578b9bd7dff4379ed5
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Apr 26 10:19:53 2019 -0700
i386: Don't add 0x66 prefix to IRET for .code16gcc
The .code16gcc directive supports 16bit mode with 32-bit address. Since
IRET (opcode 0xcf) in 16bit mode returns from an interrupt in 16bit mode,
we shouldn't add 0x66 prefix for IRET.
PR gas/24485
* config/tc-i386.c (process_suffix): Don't add DATA_PREFIX_OPCODE
to IRET for .code16gcc.
* testsuite/gas/i386/jump16.s: Add IRET tests.
* testsuite/gas/i386/jump16.d: Updated.
commit c54f15248ee990df6cea0b4730cd61b227a0e082
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Apr 26 07:52:00 2019 -0700
Don't complain undefined weak dynamic reference
When undefined non-weak references in IR objects are optimized out
by LTO, we can have weak dynamic referencs to symbols marked with
bfd_link_hash_undefined. We shouldn't complain such undefined weak
dynamic references.
bfd/
PR ld/24486
* elflink.c (elf_link_output_extsym): Don't complain undefined
weak dynamic reference.
ld/
PR ld/24486
* testsuite/ld-plugin/lto.exp: Run PR ld/24486 tests.
* testsuite/ld-plugin/pr24486a.c: New file.
* testsuite/ld-plugin/pr24486b.c: Likewise.
* testsuite/ld-plugin/pr24486c.c: Likewise.
commit 8e1920d611ab3330d6dfa610ff771cf5dc796097
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Apr 26 15:29:39 2019 +0100
Updated Russian translation for the ld subdirectory.
* po/ru.po: Updated Russian translation.
commit a094d01f01688a49810c2cd970086ed22ea617f4
Author: Christopher Yeleighton <giecrilj@stegny.2a.pl>
Date: Fri Apr 26 15:23:59 2019 +0100
Fix the hyphenation of word phrases such as "target specific" and "machine specific".
* ld.texi: Properly hyphenate the word "specific".
commit 152d61760a048909bf93f256063b5657b34ffd4c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Apr 26 00:00:21 2019 +0000
Automatic date update in version.in
commit 725cbb63263d27e87f5a4f9b73281e7710de53e4
Author: Keith Seitz <keiths@redhat.com>
Date: Thu Apr 25 13:05:51 2019 -0700
c++/24367: Infinite recursion of typedef substitution
This bug finds another usage where we end up segfaulting while
normalizing user input. inspect_type and replace_type recurse,
attempting to substitute the "real" symbol name for the typedef name.
However, since the both these names are the same, they keep calling
each other until the stack overflows.
A simple reproducer for it is given by
typedef struct foo foo;
int qux (foo *f) { return 0; }
(gdb) b qux(foo*)
Segmentation fault
inspect_type already contains some special handling to prevent a
similar situation from occurring with namespaces. I wonder, however,
whether we need be so pedantic about the exact nature of the substitution.
This patch implements this rather more aggressive assumption that these
substitutions should be avoided whenever the replacement symbol's name is
exactly the same as the one we're trying to substitute. [In the above
example, we're trying to substitute the tyepdef named "foo" with the symbol
named "foo" (a struct).]
gdb/ChangeLog:
PR c++/24367
* cp-support.c (inspect_type): Don't attempt substitutions
of symbol with the same name.
gdb/testsuite/ChangeLog:
PR c++/24367
* gdb.cp/meth-typedefs.cc (incomplete_struct)
(another_incomplete_struct, test_incomplete): New definitions.
(main): Use new definitions.
* gdb.cp/meth-typedefs.exp: Add new tests for `test_incomplete'
functions.
commit 3d1cbb78936fbf2985ffd2ebf074841599ead788
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Apr 24 12:13:35 2019 -0600
Fix memory leak in exception code
PR gdb/24475 concerns a memory leak coming from gdb's exception
handling code.
The leak occurs because throw_exception_sjlj does not arrange to
destroy the exception object it is passed. However, because
gdb_exception has a destructor, it's undefined to longjmp in this
situation.
This patch fixes the problem by avoiding the need to run any
destructors in gdb_rl_callback_handler, by making the gdb_exception
"static".
gdb/ChangeLog
2019-04-25 Tom Tromey <tromey@adacore.com>
PR gdb/24475:
* event-top.c (gdb_rl_callback_handler): Make "gdb_rl_expt"
static.
commit 94aeb44b001ab2d632806242a3bacb0a879abe15
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Apr 24 06:50:06 2019 -0600
Make exception handling more efficient
This makes exception handling more efficient in a few spots, through
the use of const- and rvalue-references.
I wrote this patch by commenting out the gdb_exception copy
constructor and then examining the resulting error messages one by
one, introducing the use of std::move where appropriate.
gdb/ChangeLog
2019-04-25 Tom Tromey <tromey@adacore.com>
* xml-support.c (struct gdb_xml_parser) <set_error>: Take an
rvalue reference.
(gdb_xml_start_element_wrapper, gdb_xml_end_element_wrapper)
(gdb_xml_parser::parse): Use std::move.
* python/python-internal.h (gdbpy_convert_exception): Take a const
reference.
* python/py-value.c (valpy_getitem, valpy_nonzero): Use
std::move.
* python/py-utils.c (gdbpy_convert_exception): Take a const
reference.
* python/py-inferior.c (infpy_write_memory, infpy_search_memory):
Use std::move.
* python/py-breakpoint.c (bppy_set_condition, bppy_set_commands):
Use std::move.
* mi/mi-main.c (mi_print_exception): Take a const reference.
* main.c (handle_command_errors): Take a const reference.
* linespec.c (parse_linespec): Use std::move.
* infcall.c (run_inferior_call): Use std::move.
(call_function_by_hand_dummy): Use std::move.
* exec.c (try_open_exec_file): Use std::move.
* exceptions.h (exception_print, exception_fprintf)
(exception_print_same): Update.
* exceptions.c (print_exception, exception_print)
(exception_fprintf, exception_print_same): Change parameters to
const reference.
* event-top.c (gdb_rl_callback_read_char_wrapper): Update.
* common/new-op.c: Use std::move.
* common/common-exceptions.h (struct gdb_exception): Add move
constructor.
(struct gdb_exception_error, struct gdb_exception_quit, struct
gdb_quit_bad_alloc): Change constructor to move constructor.
(throw_exception): Change parameter to rvalue reference.
* common/common-exceptions.c (throw_exception): Take rvalue
reference.
* cli/cli-interp.c (safe_execute_command): Use std::move.
* breakpoint.c (insert_bp_location, location_to_sals): Use
std::move.
commit 680d7fd5fcff860a31021845389d4dfeb7b42e3c
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Apr 24 06:50:01 2019 -0600
Avoid undefined behavior in Guile exception handling
The Guile code will longjmp (via scm_throw) when an object requiring
destruction is on the stack. This is undefined behavior.
This changes this code to run any destructors in inner scopes, and to
pass a POD to gdbscm_throw_gdb_exception.
gdb/ChangeLog
2019-04-25 Tom Tromey <tromey@adacore.com>
* guile/scm-exception.c (gdbscm_scm_from_gdb_exception)
(gdbscm_throw_gdb_exception): Take a gdbscm_gdb_exception.
* guile/scm-block.c, guile/scm-breakpoint.c, guile/scm-cmd.c,
guile/scm-disasm.c, guile/scm-frame.c, guile/scm-lazy-string.c,
guile/scm-math.c, guile/scm-param.c, guile/scm-ports.c,
guile/scm-symbol.c, guile/scm-symtab.c, guile/scm-type.c,
guile/scm-value.c: Use unpack.
* guile/guile-internal.h (gdbscm_scm_from_gdb_exception): Take a
gdbscm_gdb_exception.
(gdbscm_throw_gdb_exception): Likewise.
(struct gdbscm_gdb_exception): New.
(unpack): New function.
(gdbscm_wrap): Use unpack.
commit c6fdd8b2052baa9b7a27d4d34f109c9622b53509
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Apr 23 07:29:49 2019 -0600
Make SJLJ exceptions more efficient
This changes the SJLJ exception handling code to be a bit more
efficient, by using rvalue references and move assignment when
possible.
Tested by the buildbot.
gdb/ChangeLog
2019-04-25 Tom Tromey <tromey@adacore.com>
* event-top.c (gdb_rl_callback_read_char_wrapper_noexcept)
(gdb_rl_callback_handler): Use std::move.
* common/common-exceptions.h (struct gdb_exception): Add move
assignment operator.
(throw_exception_sjlj): Change "exception" to const reference.
* common/common-exceptions.c (exceptions_state_mc_catch): Update.
(throw_exception_sjlj): Change "exception" to const reference.
commit cc06b668978e542ecbc2aff1beca40e5baff86b0
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Apr 23 15:31:07 2019 -0600
Remove exception_none
Now that gdb_exception has a constructor, there's no need for
exception_none. This patch removes it.
gdb/ChangeLog
2019-04-25 Tom Tromey <tromey@adacore.com>
* xml-support.c (gdb_xml_parser::gdb_xml_parser): Update.
* python/py-value.c (valpy_getitem, valpy_nonzero): Update.
* python/py-inferior.c (infpy_write_memory, infpy_search_memory):
Update.
* python/py-breakpoint.c (bppy_set_condition, bppy_set_commands):
Update.
* mi/mi-interp.c (mi_interp::exec): Update.
* linespec.c (parse_linespec): Update.
* infcall.c (run_inferior_call): Update.
* guile/scm-value.c (gdbscm_value_to_lazy_string): Update.
* guile/scm-symbol.c (gdbscm_lookup_symbol)
(gdbscm_lookup_global_symbol): Update.
* guile/scm-param.c (gdbscm_parameter_value): Update.
* guile/scm-frame.c (gdbscm_frame_read_register)
(gdbscm_frame_read_var): Update.
* guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
* exec.c (try_open_exec_file): Update.
* event-top.c (gdb_rl_callback_read_char_wrapper_noexcept)
(gdb_rl_callback_handler): Update.
* common/common-exceptions.h (exception_none): Don't declare.
* common/common-exceptions.c (exception_none): Don't define.
(struct catcher) <exception>: Update.
* cli/cli-interp.c (safe_execute_command): Update.
* breakpoint.c (insert_bp_location, location_to_sals): Update.
commit cf532bd13616fbabe487d98107cde3202ad58ab7
Author: Ali Tamur <tamur@google.com>
Date: Fri Mar 29 19:29:24 2019 -0700
[PATCH] Support for DW_FORM_strx tag
DW_FORM_strx is the new name of DW_FORM_GNU_str_index in the Dwarf 5 standard.
This is a small step towards supporting Dwarf 5 in gdb.
commit 82433e3e270973c3f49d55d41266de6adbf9006d
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Thu Apr 25 14:26:18 2019 -0400
ChangeLog entries for the previous commit.
I forgot to include the ChangeLog entries in the commit
57e5e645010430b3d73f8c6a757d09f48dc8f8d5 ("Implement dump of mappings
with ELF headers by gcore").
commit 57e5e645010430b3d73f8c6a757d09f48dc8f8d5
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Tue Apr 23 18:17:57 2019 -0400
Implement dump of mappings with ELF headers by gcore
This patch has a long story, but it all started back in 2015, with
commit df8411da087dc05481926f4c4a82deabc5bc3859 ("Implement support
for checking /proc/PID/coredump_filter"). The purpose of that commit
was to bring GDB's corefile generation closer to what the Linux kernel
does. However, back then, I did not implement the full support for
the dumping of memory mappings containing ELF headers (like mappings
of DSOs or executables). These mappings were being dumped most of
time, though, because the default value of /proc/PID/coredump_filter
is 0x33, which would cause anonymous private mappings (DSOs/executable
code mappings have this type) to be dumped. Well, until something
happened on binutils...
A while ago, I noticed something strange was happening with one of our
local testcases on Fedora GDB: it was failing due to some strange
build-id problem. On Fedora GDB, we (unfortunately) carry a bunch of
"local" patches, and some of these patches actually extend upstream's
build-id support in order to generate more useful information for the
user of a Fedora system (for example, when the user loads a corefile
into GDB, we detect whether the executable that generated that
corefile is present, and if it's not we issue a warning suggesting
that it should be installed, while also providing the build-id of the
executable). A while ago, Fedora GDB stopped printing those warnings.
I wanted to investigate this right away, and spent some time trying to
determine what was going on, but other things happened and I got
sidetracked. Meanwhile, the bug started to be noticed by some of our
users, and its priority started changing. Then, someone on IRC also
mentioned the problem, and when I tried helping him, I noticed he
wasn't running Fedora. Hm... So maybe the bug was *also* present
upstream.
After "some" time investigating, and with a lot of help from Keith and
others, I was finally able to determine that yes, the bug is also
present upstream, and that even though it started with a change in ld,
it is indeed a GDB issue.
So, as I said, the problem started with binutils, more specifically
after the following commit was pushed:
commit f6aec96dce1ddbd8961a3aa8a2925db2021719bb
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Feb 27 11:34:20 2018 -0800
ld: Add --enable-separate-code
This commit makes ld use "-z separate-code" by default on x86-64
machines. What this means is that code pages and data pages are now
separated in the binary, which is confusing GDB when it tries to decide
what to dump.
BTW, Fedora 28 binutils doesn't have this code, which means that
Fedora 28 GDB doesn't have the problem. From Fedora 29 on, binutils
was rebased and incorporated the commit above, which started causing
Fedora GDB to fail.
Anyway, the first thing I tried was to pass "-z max-page-size" and
specify a bigger page size (I saw a patch that did this and was
proposed to Linux, so I thought it might help). Obviously, this
didn't work, because the real "problem" is that ld will always use
separate pages for code and data. So I decided to look into how GDB
dumped the pages, and that's where I found the real issue.
What happens is that, because of "-z separate-code", the first two pages
of the ELF binary are (from /proc/PID/smaps):
00400000-00401000 r--p 00000000 fc:01 799548 /file
Size: 4 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Rss: 4 kB
Pss: 4 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 4 kB
Private_Dirty: 0 kB
Referenced: 4 kB
Anonymous: 0 kB
LazyFree: 0 kB
AnonHugePages: 0 kB
ShmemPmdMapped: 0 kB
Shared_Hugetlb: 0 kB
Private_Hugetlb: 0 kB
Swap: 0 kB
SwapPss: 0 kB
Locked: 0 kB
THPeligible: 0
VmFlags: rd mr mw me dw sd
00401000-00402000 r-xp 00001000 fc:01 799548 /file
Size: 4 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Rss: 4 kB
Pss: 4 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 4 kB
Referenced: 4 kB
Anonymous: 4 kB
LazyFree: 0 kB
AnonHugePages: 0 kB
ShmemPmdMapped: 0 kB
Shared_Hugetlb: 0 kB
Private_Hugetlb: 0 kB
Swap: 0 kB
SwapPss: 0 kB
Locked: 0 kB
THPeligible: 0
VmFlags: rd ex mr mw me dw sd
Whereas before, we had only one:
00400000-00401000 r-xp 00000000 fc:01 798593 /file
Size: 4 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Rss: 4 kB
Pss: 4 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 4 kB
Referenced: 4 kB
Anonymous: 4 kB
LazyFree: 0 kB
AnonHugePages: 0 kB
ShmemPmdMapped: 0 kB
Shared_Hugetlb: 0 kB
Private_Hugetlb: 0 kB
Swap: 0 kB
SwapPss: 0 kB
Locked: 0 kB
THPeligible: 0
VmFlags: rd ex mr mw me dw sd
Notice how we have "Anonymous" data mapped into the page. This will be
important.
So, the way GDB decides which pages it should dump has been revamped
by my patch in 2015, and now it takes the contents of
/proc/PID/coredump_filter into account. The default value for Linux
is 0x33, which means:
Dump anonymous private, anonymous shared, ELF headers and HugeTLB
private pages.
Or:
filter_flags filterflags = (COREFILTER_ANON_PRIVATE
| COREFILTER_ANON_SHARED
| COREFILTER_ELF_HEADERS
| COREFILTER_HUGETLB_PRIVATE);
Now, it is important to keep in mind that GDB doesn't always have *all*
of the necessary information to exactly determine the type of a page, so
the whole algorithm is based on heuristics (you can take a look at
linux-tdep.c:dump_mapping_p and
linux-tdep.c:linux_find_memory_regions_full for more info).
Before the patch to make ld use "-z separate-code", the (single) page
containing data and code was being flagged as an anonymous (due to the
non-zero "Anonymous:" field) private (due to the "r-xp" permission),
which means that it was being dumped into the corefile. That's why it
was working fine.
Now, as you can imagine, when "-z separate-code" is used, the *data*
page (which is where the ELF notes are, including the build-id one) now
doesn't have any "Anonymous:" mapping, so the heuristic is flagging it
as file-backed private, which is *not* dumped by default.
The next question I had to answer was: how come a corefile generated by
the Linux kernel was correct? Well, the answer is that GDB, unlike
Linux, doesn't actually implement the COREFILTER_ELF_HEADERS support.
On Linux, even though the data page is also treated as a file-backed
private mapping, it is also checked to see if there are any ELF headers
in the page, and then, because we *do* have ELF headers there, it is
dumped.
So, after more time trying to think of ways to fix this, I was able to
implement an algorithm that reads the first few bytes of the memory
mapping being processed, and checks to see if the ELF magic code is
present. This is basically what Linux does as well, except that, if
it finds the ELF magic code, it just dumps one page to the corefile,
whereas GDB will dump the whole mapping. But I don't think that's a
big issue, to be honest.
It's also important to explain that we *only* perform the ELF magic
code check if:
- The algorithm has decided *not* to dump the mapping so far, and;
- The mapping is private, and;
- The mapping's offset is zero, and;
- The user has requested us to dump mappings with ELF headers.
IOW, we're not going to blindly check every mapping.
As for the testcase, I struggled even more trying to write it. Since
our build-id support on upstream GDB is not very extensive, it's not
really possible to determine whether a corefile contains build-id
information or not just by using GDB. So, after thinking a lot about
the problem, I decided to rely on an external tool, eu-unstrip, in
order to verify whether the dump was successful. I verified the test
here on my machine, and everything seems to work as expected (i.e., it
fails without the patch, and works with the patch applied). We are
working hard to upstream our "local" Fedora GDB patches, and we intend
to submit our build-id extension patches "soon", so hopefully we'll be
able to use GDB itself to perform this verification.
I built and regtested this on the BuildBot, and no problems were
found.
gdb/ChangeLog:
2019-04-25 Sergio Durigan Junior <sergiodj@redhat.com>
PR corefiles/11608
PR corefiles/18187
* linux-tdep.c (dump_mapping_p): Add new parameters ADDR and
OFFSET. Verify if current mapping contains an ELF header.
(linux_find_memory_regions_full): Adjust call to
dump_mapping_p.
gdb/testsuite/ChangeLog:
2019-04-25 Sergio Durigan Junior <sergiodj@redhat.com>
PR corefiles/11608
PR corefiles/18187
* gdb.base/coredump-filter-build-id.exp: New file.
commit dd06d4d6889ee58b76255b775f52ba8e475a7a2d
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Apr 12 16:36:51 2019 +0100
testsuite: Add option to capture gdbserver debug
Add both board option and environment variable which enables gdbserver
debug and sends it to the file gdbserver.debug, located in the output
directory for the current test. Document this.
Add support for the environment variable in the Makefile.
The testsuite can be run with gdbserver debug enabled in the following way:
make check GDBSERVER_DEBUG=all
Disable tspeed.exp when debugging to prevent the log file filling
many gigabytes then timing out.
gdb/testsuite/ChangeLog:
* Makefile.in: Pass through GDBSERVER_DEBUG.
* README (Testsuite Parameters): Add GDBSERVER_DEBUG.
(gdbserver,debug): Add board setting.
* gdb.trace/tspeed.exp: Skip when debugging.
* lib/gdb.exp (gdbserver_debug_enabled): New procedure.
* lib/gdbserver-support.exp: Likewise
commit 6fe014bcd33686cb75e6355f9c36ce483a64ec62
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Apr 25 07:53:46 2019 -0700
LTO: Properly handle wrapper symbols in IR
When a wrapper symbol, __wrap_FOO, is defined in IR, its resolution
should be LDPR_PREVAILING_DEF, not PREVAILING_DEF_IRONLY, since LTO
doesn't know that __wrap_FOO provides definition of FOO. And resolution
of FOO should be LDPR_RESOLVED_IR since it is resolved by __wrap_FOO in
IR.
PR ld/24406
* ld.texi: Remove LTO warning from --wrap.
* plugin.c (get_symbols): Update resolution for wrapper and
wrapped symbols.
* testsuite/ld-plugin/lto.exp: Run ld/24406 tests.
* testsuite/ld-plugin/pr24406-1.c: New file.
* testsuite/ld-plugin/pr24406-2a.c: Likewise.
* testsuite/ld-plugin/pr24406-2b.c: Likewise.
commit 723adb650a31859d7cc45832cb8adca0206455ed
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Thu Apr 25 07:27:02 2019 -0700
Detect invalid length field in debug frame FDE header.
GDB was failing to catch cases where a corrupt ELF or core file
contained an invalid length value in a Dwarf debug frame FDE header.
It was checking for buffer overflow but not cases where the length was
negative or caused pointer wrap-around.
In addition to the additional validity check, this patch cleans up the
multiple signed/unsigned conversions on the length field so that an
unsigned representation is used consistently throughout.
This patch fixes CVE-2017-9778 and PR gdb/21600.
2019-04-25 Sandra Loosemore <sandra@codesourcery.com>
Kang Li <kanglictf@gmail.com>
PR gdb/21600
* dwarf2-frame.c (read_initial_length): Be consistent about using
unsigned representation of length.
(decode_frame_entry_1): Likewise. Check for wraparound of
end pointer as well as buffer overflow.
commit 68bb0359eec3093560929b8ad2b3f5d30e7a7e1d
Author: Sudakshina Das <sudi.das@arm.com>
Date: Thu Apr 25 11:37:25 2019 +0100
[BFD, AArch64] Improve bti/pac plts.
This patch aims to improve the definitions of BTI and PAC based PLTs.
The following changes are made:
* PLT0 does not need PAC instructions since the PLTGOT[2] (and PLTGOT[1])
are readonly so they cannot be corrupted at runtime. Thus both PAC plt0
and BTI+PAC plt0 are removed and we can use basic plt0 and BTI plt0
instead, respectively.
* We can remove the extra padding nops when we add the new bti instructions.
BTI plt0 and BTI TLSDESC plt are updated.
* For better performance PLTn could be padded to 24bytes. Both BTI pltn and
PAC pltn are updated.
*** bfd/ChangeLog ***
2019-04-25 Sudakshina Das <sudi.das@arm.com>
* elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
(PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
(PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
(PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
(elfNN_aarch64_small_plt0_pac_entry): Remove.
(elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
(elfNN_aarch64_small_plt0_bti_entry): Update.
(elfNN_aarch64_small_plt_bti_entry): Update.
(elfNN_aarch64_small_plt_pac_entry): Update.
(elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
(setup_plt_values): Setup new entries.
(elfNN_aarch64_finish_dynamic_sections): Remove size change.
(elfNN_aarch64_plt_sym_val): Likewise.
*** ld/ChangeLog ***
2019-04-25 Sudakshina Das <sudi.das@arm.com>
* testsuite/ld-aarch64/bti-pac-plt-1.d: Update.
* testsuite/ld-aarch64/bti-pac-plt-2.d: Update.
* testsuite/ld-aarch64/bti-plt-1.d: Update.
* testsuite/ld-aarch64/bti-plt-3.d: Update.
* testsuite/ld-aarch64/bti-plt-5.d: Update.
* testsuite/ld-aarch64/pac-plt-1.d: Update.
* testsuite/ld-aarch64/pac-plt-2.d: Update.
commit cd0923370be1a6412e9b8fb5c8e9e39d90f1d3ea
Author: Maciej W. Rozycki <macro@linux-mips.org>
Date: Thu Apr 25 01:28:49 2019 +0100
MIPS/include: opcode/mips.h: Update stale comment for CODE20 operand
Complement commit 1586d91e32ea ("/ 0 should send SIGFPE not SIGTRAP..."),
<https://sourceware.org/ml/binutils/2004-07/msg00260.html>, and update a
stale comment referring the 20-bit code field of the BREAK and SDBBP
instructions, by making it explicit that where permitted by choosing the
MIPS32 or a later ISA the whole field can now be set with a single
operand for the SDBBP instruction only.
include/
* opcode/mips.h: Update comment for MIPS32 CODE20 operand.
commit f88dbe3f8a9cef79a6ff32ba3734a7a308b8ea26
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Apr 25 00:00:15 2019 +0000
Automatic date update in version.in
commit 38c3873e5d53902cf9cc73a4a5a05adf371296a6
Author: Alexandre Oliva <aoliva@redhat.com>
Date: Sat Apr 13 05:55:34 2019 -0300
Speed up locview resolution with relaxable frags
Targets such as xtensa incur a much higher overhead to resolve
location view numbers than e.g. x86, because the expressions used to
compute view numbers cannot be resolved soon enough.
Each view number is computed by incrementing the previous view, if
they are both at the same address, or by resetting it to zero
otherwise. If PV is the previous view number, PL is its location, and
NL is the location of the next view, its number is computed by
evaluating NV = !(NL > PL) * (PV + 1).
set_or_check_view uses resolve_expression to decide whether portions
of this expression can be simplified to constants. The (NL > PL)
subexpression is one that can often be resolved to a constant,
breaking chains of view number computations at instructions of nonzero
length, but not after alignment that might be unnecessary.
Alas, when nearly every frag ends with a relaxable instruction,
frag_offset_fixed_p will correctly fail to determine a known offset
between two unresolved addresses in neighboring frags, so the
unresolved symbolic operation will be constructed and used in the
computation of most view numbers. This results in very deep
expressions.
As view numbers get referenced in location view lists, each operand in
the list goes through symbol_clone_if_forward_ref, which recurses on
every subexpression. If each view number were to be referenced, this
would exhibit O(n^2) behavior, where n is the depth of the view number
expressions, i.e., the length of view number sequences without an
early resolution that cuts the expression short.
This patch enables address compares used by view numbering to be
resolved even when exact offsets are not known, using new logic to
determine when the location either remained the same or changed for
sure, even with the possibility of relaxation. This enables most view
number expressions to be resolved with a small, reasonable depth.
PR gas/24444
* frags.c (frag_gtoffset_p): New.
* frags.h (frag_gtoffset_p): Declare it.
* expr.c (resolve_expression): Use it.
commit 1670072efb31e82d52d408940062860e2835d79c
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Apr 24 13:43:27 2019 -0600
Fix Rust testing
This changes the gdb test suite to omit -fno-stack-protector when
compiling Rust code. This makes Rust testing work again.
I think I saw this patch somewhere already, but I couldn't find it
again just now, so I'm checking this version in.
gdb/testsuite/ChangeLog
2019-04-24 Tom Tromey <tromey@adacore.com>
* lib/gdb.exp (gdb_compile): Don't add -fno-stack-protector for
Rust.
commit 44ed80923ab89e141120defa8c1209b69869a7ac
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Wed Apr 24 12:14:56 2019 -0700
Use better test for usable compiler in ld testsuite.
The ld testsuite includes numerous tests that depend on being able to
compile and link programs with the C compiler. Some of these tests
use [which $CC] to check for the presence of the compiler before
proceeding with the test, but run_ld_link_exec_tests and run_cc_link_tests
give ERRORs if compilation fails. Also, even if $CC is defined and present,
it may not be usable due to missing libraries, etc.
This patch adds a new procedure check_compiler_available that attempts
to build an empty program and caches the result. Uses of [which $CC]
are replaced with calls to this procedure, and run_ld_link_exec_tests
and run_cc_link_tests now also guard attempts to use $CC.
2019-04-24 Sandra Loosemore <sandra@codesourcery.com>
ld/
* testsuite/config/default.exp: Use [check_compiler_available]
instead of [which $CC].
* testsuite/ld-auto-import/auto-import.exp: Likewise.
* testsuite/ld-cygwin/exe-export.exp: Likewise.
* testsuite/ld-elf/audit.exp: Likewise.
* testsuite/ld-elf/compress.exp: Likewise.
* testsuite/ld-elf/dwarf.exp: Likewise.
* testsuite/ld-elf/elf.exp: Likewise.
* testsuite/ld-elf/indirect.exp: Likewise.
* testsuite/ld-elf/linux-x86.exp: Likewise.
* testsuite/ld-elf/shared.exp: Likewise.
* testsuite/ld-elf/tls.exp: Likewise.
* testsuite/ld-elf/wrap.exp: Likewise.
* testsuite/ld-elfcomm/elfcomm.exp: Likewise.
* testsuite/ld-elfvers/vers.exp: Likewise.
* testsuite/ld-elfvsb/elfvsb.exp: Likewise.
* testsuite/ld-elfweak/elfweak.exp: Likewise.
* testsuite/ld-gc/gc.exp: Likewise.
* testsuite/ld-i386/i386.exp: Likewise.
* testsuite/ld-i386/no-plt.exp: Likewise.
* testsuite/ld-i386/tls.exp: Likewise.
* testsuite/ld-ifunc/ifunc.exp: Likewise.
* testsuite/ld-mn10300/mn10300.exp: Likewise.
* testsuite/ld-pe/pe-compile.exp: Likewise.
* testsuite/ld-pe/pe-run.exp: Likewise.
* testsuite/ld-pe/pe-run2.exp: Likewise.
* testsuite/ld-pie/pie.exp: Likewise.
* testsuite/ld-plugin/lto.exp: Likewise.
* testsuite/ld-plugin/plugin.exp: Likewise.
* testsuite/ld-scripts/crossref.exp: Likewise.
* testsuite/ld-sh/sh.exp: Likewise.
* testsuite/ld-shared/shared.exp: Likewise.
* testsuite/ld-size/size.exp: Likewise.
* testsuite/ld-srec/srec.exp: Likewise.
* testsuite/ld-undefined/undefined.exp: Likewise.
* testsuite/ld-unique/unique.exp: Likewise.
* testsuite/ld-x86-64/mpx.exp: Likewise.
* testsuite/ld-x86-64/no-plt.exp: Likewise.
* testsuite/ld-x86-64/tls.exp: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Call
check_compiler_available before trying to use the compiler.
(run_cc_link_tests): Likewise.
(check_compiler_available): New. Use it instead of [which $CC].
commit 596179f77c803d3fc5586465f4ece6503055d035
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Wed Apr 24 14:53:59 2019 -0400
Use "pulongest" on aarch64-tdep.c:aarch64_gdbarch_init
While trying to build GDB on i686, I found the following error:
In file included from ../../gdb/common/common-defs.h:105,
from ../../gdb/defs.h:28,
from ../../gdb/aarch64-tdep.c:21:
../../gdb/aarch64-tdep.c: In function 'gdbarch* aarch64_gdbarch_init(gdbarch_info, gdbarch_list*)':
../../gdb/aarch64-tdep.c:3176:43: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'uint64_t' {aka 'long long unsigned int'} [-Werror=format=]
3176 | internal_error (__FILE__, __LINE__, _("VQ out of bounds: %ld (max %d)"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gdb/common/gdb_locale.h:28:29: note: in definition of macro '_'
28 | # define _(String) gettext (String)
| ^~~~~~
../../gdb/aarch64-tdep.c:3176:64: note: format string is defined here
3176 | internal_error (__FILE__, __LINE__, _("VQ out of bounds: %ld (max %d)"),
| ~~^
| |
| long int
| %lld
This happens because aarch64-tdep.c:aarch64_gdbarch_init prints a
"uint64_t" variable using "%ld". This patch fixes the build by using
"pulongest" instead. As explained in a similar fix (commit
495143533ad95369811391c6e3c6dadd69d7dd67), this should be safe because
if aarch64-tdep.c is included in the build, then ULONGEST must be a
64-bit type.
gdb/ChangeLog:
2019-04-24 Sergio Durigan Junior <sergiodj@redhat.com>
* aarch64-tdep.c (aarch64_gdbarch_init): Use "pulongest" to print
"vq".
commit a59240a41ac34d91e4ef5dd8b484763639388364
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Apr 16 11:11:10 2019 -0600
Fix passing of struct with bitfields on x86-64
Commit 4aa866af ("Fix AMD64 return value ABI in expression
evaluation") introduced a regression when calling a function with a
structure that contains bitfields.
Because the caller of amd64_has_unaligned_fields handles bitfields
already, it seemed to me that the simplest fix was to ignore bitfields
here.
gdb/ChangeLog
2019-04-24 Tom Tromey <tromey@adacore.com>
* amd64-tdep.c (amd64_has_unaligned_fields): Ignore bitfields.
gdb/testsuite/ChangeLog
2019-04-24 Tom Tromey <tromey@adacore.com>
* gdb.arch/amd64-eval.exp: Test bitfield return.
* gdb.arch/amd64-eval.cc (struct Bitfields): New.
(class Foo) <return_bitfields>: New method.
(main): Call it.
commit 1b8dd6432644c256ab294d205a8e00f6c6dc5073
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 24 17:44:31 2019 +0100
Stop strip from merging notes when stripping debug or dwo information.
* objcopy.c (strip_main): Do not enable note merging by default if
just stripping debug or dwo information.
* doc/binutils.texi (strip): Update documentation.
commit 1903f1385bff910861942743860d8577423bcb6c
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 24 11:26:51 2019 +0930
resolve_symbol_value vs. .loc view resolution
In most cases we don't want expression symbols, such as that created
for an expression like "symbol + (1f - .)", resolved down to a
constant. Instead we'd like to leave the expression as "symbol +
constant" once the "1f - ." part has been resolved, and let the
backend decide whether "symbol" can be reduced further.
However, that doesn't work when trying to resolve .loc view symbols
early. We get expression symbols left as an O_symbol expression
pointing at an absolute symbol, and marked as sy_flags.sy_resolved.
That wouldn't really be a problem, but when one of those expression
symbols is used in further .loc view expressions, its value is taken
as zero.
This patch fixes the symbol value mistake, and stops creation of
O_symbol expression symbols pointing to absolute symbols. Either of
these fixes would cure the .loc view usage.
PR 24444
* symbols.c (resolve_symbol_value): When handling symbols
marked as sy_flags.resolved, return correct value for the
case of expression symbols left as an O_symbol expression.
Merge O_symbol code handling undefined and common symbols with
code handling special cases of expression symbols. Use
seg_left to test for undefined and common symbols. Don't
leave an O_symbol expression when X_add_symbol resolves to
the absolute_section. Init final_val later.
* testsuite/gas/mmix/basep-7.d: Adjust expected output.
commit a679f24ecc00ff7df02c5e6e4804fc9f19cbe595
Author: John Darrington <john@darrington.wattle.id.au>
Date: Wed Apr 24 09:41:23 2019 +0200
S12Z: Opcodes: Handle bit map operations with non-canonical operands.
opcodes/
* s12z-opc.c (bm_decode): Handle the RESERVERD0 case.
gas/
* testsuite/gas/s12z/bit-manip-invalid.d: Extend the test.
* testsuite/gas/s12z/bit-manip-invalid.s: Extend the test.
commit d10be0cb9e61f29a0de368ebcc78bba22a902ad5
Author: John Darrington <john@darrington.wattle.id.au>
Date: Mon Apr 15 09:25:23 2019 +0200
S12Z: s12z-opc.h: Add extern "C" bracketing
opcodes/
* s12z-opc.h: Add extern "C" bracketing to help
users who wish to use this interface in c++ code.
commit 05b1991f1a942f9d13b5363fb4c05e34ea44ef57
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Apr 24 00:00:16 2019 +0000
Automatic date update in version.in
commit f872fdbb5b83f39f359bc1cd016dcc0456cb0c0a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:38:42 2019 +0000
gdb/s12z: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_unwind_pc, and
gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* s12z-tdep.c (s12z_unwind_pc): Delete.
(s12z_unwind_sp): Delete.
(s12z_gdbarch_init): Don't register deleted functions with
gdbarch.
commit b614e6f3f820fe08d407b57821456f672d4d1a6f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:36:34 2019 +0000
gdb/rl78: Use default gdbarch methods where possible
Make use of the default gdbarch method gdbarch_unwind_sp where
possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* rl78-tdep.c (rl78_unwind_sp): Delete.
(rl78_gdbarch_init): Don't register deleted function with gdbarch.
commit 14faed38e730e3ab2a1aa8d5232b4883638fd857
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:32:40 2019 +0000
gdb/xstormy16: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* xstormy16-tdep.c (xstormy16_unwind_sp): Delete.
(xstormy16_unwind_pc): Delete.
(xstormy16_dummy_id): Delete.
(xstormy16_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 541aad8ac923fa2d4a9d35fdf82b487b9f6e0ea8
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:30:32 2019 +0000
gdb/vax: Use default gdbarch methods where possible
Make use of the default gdbarch method gdbarch_unwind_pc where
possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* vax-tdep.c (vax_unwind_pc): Delete.
(vax_gdbarch_init): Don't register deleted function with gdbarch.
commit 29222070e410d441108895fcc3011f576bd05461
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:28:24 2019 +0000
gdb/v850: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* v850-tdep.c (v850_unwind_sp): Delete.
(v850_unwind_pc): Delete.
(v850_dummy_id): Delete.
(v850_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 0f534d767b257fffd8a9b231c97ff9ed33688452
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:25:59 2019 +0000
gdb/tilegx: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* tilegx-tdep.c (tilegx_unwind_sp): Delete.
(tilegx_unwind_pc): Delete.
(tilegx_unwind_dummy_id): Delete.
(tilegx_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 1ba7b7f9384eafc0748cee4c6731d6bdb717bd20
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:23:44 2019 +0000
gdb/tic6x: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id, and
gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* tic6x-tdep.c (tic6x_unwind_sp): Delete.
(tic6x_dummy_id): Delete.
(tic6x_gdbarch_init): Don't register deleted functions with
gdbarch.
commit d31f262c36a450fe64e5886228d585c75cfecf14
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:20:25 2019 +0000
gdb/sparc: Use default_unwind_pc
Make use of the default gdbarch method gdbarch_unwind_pc where
possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* sparc-tdep.c (sparc_unwind_pc): Delete.
(sparc32_gdbarch_init): Don't register deleted function with
gdbarch.
commit 6d14d64dfefef524398f45fd59c1443ebac624f6
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:17:00 2019 +0000
gdb/sh: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* sh-tdep.c (sh_unwind_sp): Delete.
(sh_unwind_pc): Delete.
(sh_dummy_id): Delete.
(sh_gdbarch_init): Don't register deleted functions with
gdbarch.
commit a40dde9db56ffcea8c2b99e8c4e292ce64f64f9c
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:15:03 2019 +0000
gdb/score: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* score-tdep.c (score_unwind_sp): Delete.
(score_unwind_pc): Delete.
(score_dummy_id): Delete.
(score_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 47c47d6907bc44a599baff948d2809616c74c44e
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:12:28 2019 +0000
gdb/rx: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* rx-tdep.c (rx_unwind_pc): Delete.
(rx_unwind_sp): Delete.
(rx_dummy_id): Delete.
(rx_gdbarch_init): Don't register deleted functions with
gdbarch. Update comment.
commit 833a4480dd7cadfd645d7b141168a0e22dc50665
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 20:08:18 2019 +0000
gdb/rs6000: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* rs6000-tdep.c (rs6000_unwind_pc): Delete.
(rs6000_dummy_id): Delete.
(rs6000_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 3f2cef4945a916e3b566010340bbc70cfe927916
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:58:18 2019 +0000
gdb/or1k: Use default gdbarch methods where possible
Make use of the default gdbarch method gdbarch_dummy_id where
possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
This commit leaves or1k_unwind_sp and or1k_unwind_pc in place. These
functions do match the default methods except that they add additional
debugging code. In order to preserve the debug I have left these
functions unchanged.
gdb/ChangeLog:
* or1k-tdep.c (or1k_dummy_id): Delete.
(or1k_gdbarch_init): Don't register deleted function with gdbarch.
commit 96acf8844a655e34de3f3b014a7f64f26266dee1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:55:23 2019 +0000
gdb/nios2: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id, and
gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* nios2-tdep.c (nios2_dummy_id): Delete.
(nios2_unwind_sp): Delete.
(nios2_gdbarch_init): Don't register deleted functions with
gdbarch.
commit ca0ab0aa8194eda711cf52efe6c26cb821218476
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:53:31 2019 +0000
gdb/nds32: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* nds32-tdep.c (nds32_dummy_id): Delete.
(nds32_unwind_pc): Delete.
(nds32_unwind_sp): Delete.
(nds32_gdbarch_init): Don't register deleted functions with
gdbarch.
commit c825904428f7c89a65eeb313b243f65e950a0a19
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:51:11 2019 +0000
gdb/msp430: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* msp430-tdep.c (msp430_unwind_pc): Delete.
(msp430_unwind_sp): Delete.
(msp430_dummy_id): Delete.
(msp430_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 27f113c8e9b2361caf3dfcf15437020306bf93b9
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:48:53 2019 +0000
gdb/moxie: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* moxie-tdep.c (moxie_unwind_sp): Delete.
(moxie_unwind_pc): Delete.
(moxie_dummy_id): Delete.
(moxie_gdbarch_init): Don't register deleted functions with
gdbarch.
commit aee6c3cd1fea463422f19394f95c311f239b6067
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:46:27 2019 +0000
gdb/mn10300: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* mn10300-tdep.c (mn10300_dummy_id): Delete.
(mn10300_unwind_pc): Delete.
(mn10300_unwind_sp): Delete.
(mn10300_push_dummy_call): Use gdbarch_unwind_sp not
mn10300_unwind_sp.
(mn10300_frame_unwind_init): Don't register deleted functions with
gdbarch.
commit 8e2b5aea9d3f16961f7fac15caec00e955c1dc81
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:37:03 2019 +0000
gdb/mep: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* mep-tdep.c (mep_unwind_pc): Delete.
(mep_unwind_sp): Delete.
(mep_dummy_id): Delete.
(mep_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 43cf3eded2d3ec0af6f5cf534dd89f47d4958a92
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:33:50 2019 +0000
gdb/m68hc11: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_unwind_pc, and
gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* m68hc11-tdep.c (m68hc11_unwind_pc): Delete.
(m68hc11_unwind_sp): Delete.
(m68hc11_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 5e79b7bb69c797c3ca401cfa0f7a616eb2e3efe8
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:29:47 2019 +0000
gdb/m32r: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* m32r-tdep.c (m32r_unwind_sp): Delete.
(m32r_unwind_pc): Delete.
(m32r_dummy_id): Delete.
(m32r_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 89b268d8233e11acdfbc5af196166aacc1440ff3
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:27:12 2019 +0000
gdb/m32c: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* m32c-tdep.c (m32c_unwind_pc): Delete.
(m32c_unwind_sp): Delete.
(m32c_dummy_id): Delete.
(m32c_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 946c28d2f93789ff4eec86a8c321af35759fa20a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:21:40 2019 +0000
gdb/lm32: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/lm32-tdep.c (lm32_unwind_sp): Delete.
(lm32_unwind_pc): Delete.
(lm32_dummy_id): Delete.
(lm32_gdbarch_init): Don't register deleted functions with
gdbarch.
commit bf12844a68f3f4f267846a19df6a280f53e7ec5f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 18:18:39 2019 +0000
gdb/iq2000: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/iq2000-tdep.c (iq2000_unwind_sp): Delete.
(iq2000_unwind_pc): Delete.
(iq2000_dummy_id): Delete.
(iq2000_gdbarch_init): Don't register deleted functions with
gdbarch.
commit ecbc06d2a687f369da7c304201c9f2cbfed80ec6
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Apr 12 15:07:51 2019 +0100
gdb/nds32: Use type_align instead of nds32_type_align
The general type_align method should be a suitable alternative to
nds32_type_align, so switch to use that.
The only change this will introduce is related to static fields in a
struct or union, the existing code doesn't take account of static
fields when computing the alignment for structs of unions, though this
is probably a bug - which would probably be exposed by the test case
gdb.cp/many-args.exp, though I don't have any way to test this target
right now.
gdb/ChangeLog:
* nds32-tdep.c (nds32_type_align): Delete.
(nds32_push_dummy_call): Use type_align instead.
commit 030197b43cd8ccfe6869f798dd39fa27a29c0e01
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Apr 12 14:25:32 2019 +0100
gdb/arm: Use type_align instead of arm_type_align
Replaces use of arm_type_align with common type_align function.
Doing this fixes a bug in arm_type_align where static fields are
considered as part of the alignment calculation of a struct, which
results in arguments passed on the stack being misaligned, this bug
was causing a failure in gdb.cp/many-args.exp.
Part of the old arm_type_align is retained and used as the gdbarch
type align callback in order to correctly align vectors.
gdb/ChangeLog:
* arm-tdep.c (arm_type_align): Only handle vector override case.
(arm_push_dummy_call): Use type_align.
(arm_gdbarch_init): Register arm_type_align gdbarch function.
commit b907456c3eb8a08f6b211f66abb448df962749e1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Apr 7 22:48:00 2019 +0100
gdb/aarch64: Use type_align instead of aarch64_type_align
Replaces use of aarch64_type_align with common type_align function.
Doing this fixes a bug in aarch64_type_align where static fields are
considered as part of the alignment calculation of a struct, which
results in arguments passed on the stack being misaligned. This bug
is exposed in the new test gdb.cp/many-args.exp.
Part of the old aarch64_type_align is retained and used as the gdbarch
type align callback in order to correctly align vectors.
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_type_align): Only handle vector override
case.
(pass_on_stack): Use type_align.
(aarch64_gdbarch_init): Register aarch64_type_align gdbarch
function.
gdb/testsuite/ChangeLog:
* gdb.cp/many-args.cc: New file.
* gdb.cp/many-args.exp: New file.
commit 9e97ba436a8e59ac4574001d618240eac0328934
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Apr 23 10:48:40 2019 -0600
Remove unused overload of line_header::file_name_at
I noticed that one of the overloads of line_header::file_name_at is
unused. This patch removes it.
gdb/ChangeLog
2019-04-23 Tom Tromey <tromey@adacore.com>
* dwarf2read.c (line_header::file_name_at): Remove unused
overload.
commit 5c565afd4c7ab6f3d287c9abd288d1d1e3e7cade
Author: Tom de Vries <tdevries@suse.de>
Date: Tue Apr 23 15:49:52 2019 +0200
[gdb/testsuite] Fix gdb.btrace/reconnect.exp with native-gdbserver
When running gdb.btrace/reconnect.exp with native-gdbserver, we run into:
...
FAIL: gdb.btrace/reconnect.exp: first: stepi 19
...
due to the fact that we're trying to match:
...
stepi 19^M
0x00007ffff7dd8b57 in _dl_start () from /lib64/ld-linux-x86-64.so.2^M
...
using pattern:
...
gdb_test "stepi 19" "0x.* in .* from target.*"
...
Fix this by changing the pattern to:
...
gdb_test "stepi 19" "0x.* in .* from .*"
...
Tested on x86_64-linux with native and native-gdbserver.
gdb/testsuite/ChangeLog:
2019-04-23 Tom de Vries <tdevries@suse.de>
PR gdb/24433
* gdb.btrace/reconnect.exp: Fix stepi 19 pattern.
commit 6892f60143f7809641dc1824e29dcc406a705df6
Author: Tom de Vries <tdevries@suse.de>
Date: Tue Apr 23 15:35:21 2019 +0200
[gdb/contrib] Remove superfluous .alt file after dwz invocation in cc-with-tweaks.sh
The -m option of cc-with-tweaks.sh sets want_multi to true, invoking dwz like
this:
...
elif [ "$want_multi" = true ]; then
cp $output_file ${output_file}.alt
$DWZ -m ${output_file}.dwz "$output_file" ${output_file}.alt \
> /dev/null 2>&1
fi
...
The problem that is being solved here, is that we want to test dwz in
multifile mode, which requires more than one input file, while we only have
(at the scope of cc-with-tweaks.sh) one executable. We handle this by copying
the executable and offering this as a second input (and using a copy has the
additional benefit that it maximally enables dwz transformation).
However, after the dwz invocation, the copy is no longer used, and the
presence of the file actually causes a test regression:
...
FAIL: gdb.base/jit-so.exp: test jit-reader-load filename completion
...
Fix this by removing the superflous copy after dwz invocation.
Tested on x86_64-linux.
gdb/ChangeLog:
2019-04-23 Tom de Vries <tdevries@suse.de>
PR gdb/24438
* contrib/cc-with-tweaks.sh: Remove superfluous .alt file after dwz
invocation.
commit ba22ff8694e366fe5f27824566aae65fc6626841
Author: Alan Hayward <alan.hayward@arm.com>
Date: Tue Apr 23 14:12:25 2019 +0100
Testsuite: Remove pie from trace tests
Ubuntu/Debian defaults PIE to enabled. This causes the trace tests
to fall over due to variables being returned as "unavailable". The
tests were never designed to work with pie.
Simply ensure the nopie flag is always used for the failing tests.
This removes 100+ failures when running native-gdbserver on Ubuntu 18.04.
gdb/testsuite/ChangeLog:
* gdb.trace/backtrace.exp: Use nopie flag.
* gdb.trace/circ.exp: Likewise.
* gdb.trace/collection.exp: Likewise.
* gdb.trace/ftrace.exp: Likewise.
* gdb.trace/mi-trace-unavailable.exp: Likewise.
* gdb.trace/mi-traceframe-changed.exp: Likewise.
* gdb.trace/qtro.exp: Likewise.
* gdb.trace/read-memory.exp: Likewise.
* gdb.trace/report.exp: Likewise.
* gdb.trace/tfile.exp: Likewise.
* gdb.trace/tfind.exp: Likewise.
* gdb.trace/unavailable.exp: Likewise.
commit 624a24513d2dcf7f2c2d42dbdf6d86be2f6d74aa
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Apr 23 11:19:58 2019 +0100
Update binutils release making documenation to mention changing the symbolic documentation link.
* README-how-to-make-a-release: Add note to update the symbolic
link from "docs" to "docs-2.x" on the sourceware website.
commit cc9519e7d6251b84dd95c55b562a15b25d703bc0
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 23 16:42:27 2019 +0930
Fix automatic makefile dependencies for generated ld/e*.c
Commit c40e31a121 broke --enable-dependency-tracking=no.
* Makefile.am (GENDEPDIR): New var, used..
(GENSCRIPTS): ..here.
* Makefile.in: Regenerate.
* genscripts.sh: Test for $DEPDIR set before every use.
commit 6f38008bb423d71e6984c8ce49b4fc83d2cdaf0d
Author: Matthew Fortune <matthew.fortune@mips.com>
Date: Fri Apr 19 21:03:18 2019 +0000
Fix M5100 flags test with interAptiv-MR2
ld/
* testsuite/ld-mips-elf/mips-elf-flags.exp: Fix expected ASEs
for M5100.
commit 336d760da60d93ce76c4560525f65339f3403914
Author: Ali Tamur <tamur@google.com>
Date: Fri Mar 29 19:29:24 2019 -0700
Support for DW_OP_addrx and DW_FORM_addrx tags
DW_OP_addrx is the new name of DW_OP_GNU_addr_index, and DW_FORM_addrx
is the name of DW_FORM_addr_index in the Dwarf 5 standard. This is a small
step towards supporting Dwarf 5 in gdb.
Note: I could not find any tests specifically for *_GNU_addr_index, and
I did not add any new tests, please advise.
commit 4a4153dfc945701938b6f52795cf234fa0a5f5fe
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Apr 23 00:00:17 2019 +0000
Automatic date update in version.in
commit ad9d13f8e966a844e7e647af6e82259101956f17
Author: Ali Tamur <tamur@google.com>
Date: Tue Apr 16 15:35:31 2019 -0700
[FYI] Add myself to gdb/MAINTAINERS
commit 79b8e8ab453619cb0262e1ad18447d918a605073
Author: Jim Wilson <jimw@sifive.com>
Date: Mon Apr 22 14:17:55 2019 -0700
RISC-V: Enable 32-bit linux gdb core file support.
bfd/
* elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
commit d70cc3ba8740fc0eb0328da2453cefba8211944b
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Mon Apr 22 14:02:36 2019 -0400
solib-svr4: Pass down svr4_info as much as possible
While reviewing
https://sourceware.org/ml/gdb-patches/2019-04/msg00141.html
I noticed that we relied heavily on global state through the
get_svr4_info function, which uses current_program_space. I thought we
could improve this (make things more explicit and easier to follow) by
- Making get_svr4_info accept a program_space parameter, making it
return the SVR4 info for that program space.
- Passing down the svr4_info object from callers as much as possible.
This means looking up the svr4_info for the appropriate program space at
the entry points of the solib-svr4.c file and passing it down. For now,
these entry points (most of them are "methods" of svr4_so_ops) rely on
current_program_space, but we can later try to change the target_so_ops
interface to pass down the program space.
gdb/ChangeLog:
* solib-svr4.c (get_svr4_info): Add pspace parameter.
(svr4_keep_data_in_core): Pass current_program_space to get_svr4_info.
(open_symbol_file_object): Likewise.
(svr4_default_sos): Add info parameter.
(svr4_read_so_list): Likewise.
(svr4_current_sos_direct): Adjust functions calls to pass down
info.
(svr4_current_sos_1): Add info parameter.
(svr4_current_sos): Call get_svr4_info, pass info down to
svr4_current_sos_1.
(svr4_fetch_objfile_link_map): Pass objfile->pspace to
get_svr4_info.
(svr4_in_dynsym_resolve_code): Pass current_program_space to
get_svr4_info.
(probes_table_htab_remove_objfile_probes): Pass objfile->pspace
to get_svr4_info.
(probes_table_remove_objfile_probes): Likewise.
(register_solib_event_probe): Add info parameter.
(solist_update_incremental): Pass info parameter down to
svr4_read_so_list.
(disable_probes_interface): Add info parameter.
(svr4_handle_solib_event): Pass current_program_space to
get_svr4_info. Adjust disable_probes_interface cleanup.
(svr4_create_probe_breakpoints): Add info parameter, pass it
down to register_solib_event_probe.
(svr4_create_solib_event_breakpoints): Add info parameter,
pass it down to svr4_create_probe_breakpoints.
(enable_break): Pass info down to
svr4_create_solib_event_breakpoints.
(svr4_solib_create_inferior_hook): Pass current_program_space to
get_svr4_info.
(svr4_clear_solib): Likewise.
commit 7905fc359d6921c411999633e382330e6fd04fb6
Author: Pedro Alves <palves@redhat.com>
Date: Mon Apr 22 14:20:59 2019 +0100
Fix "nosharedlibrary + continue + shared lib event" crash
On systems that use the probes-based solib interface, GDB misbehaves
if you run the "nosharelibrary" command, continue execution, and then
the program hits the shared library event breakpoint. On my system it
aborts like this:
(gdb) nosharedlibrary
(gdb) c
Continuing.
pure virtual method called
terminate called without an active exception
Aborted (core dumped)
Though it's really undefined behavior territory, caused by deferencing
a dangling solib event probe pointer.
I've observed this by running "nosharedlibrary" when stopped at the
entry point, but it should happen at any other point, if the program
does a dlopen/dlclose after.
The fix is to discard an objfile's probes from the svr4 probes table
when an objfile is about to be released.
New test included, works with both native and gdbserver testing.
Valgrind log:
(gdb) starti
(gdb) nosharedlibrary
(gdb) c
Continuing.
==24895== Invalid read of size 8
==24895== at 0x89E5FB: solib_event_probe_action(probe_and_action*) (solib-svr4.c:1735)
==24895== by 0x89E95A: svr4_handle_solib_event() (solib-svr4.c:1872)
==24895== by 0x8A7198: handle_solib_event() (solib.c:1274)
==24895== by 0x4E3407: bpstat_stop_status(address_space const*, unsigned long, thread_info*, target_waitstatus const*, bpstats*) (breakpoint.c:5407)
==24895== by 0x721F41: handle_signal_stop(execution_control_state*) (infrun.c:5685)
==24895== by 0x720B11: handle_inferior_event(execution_control_state*) (infrun.c:5129)
==24895== by 0x71DD93: fetch_inferior_event(void*) (infrun.c:3748)
==24895== by 0x7059C3: inferior_event_handler(inferior_event_type, void*) (inf-loop.c:43)
==24895== by 0x874DF0: remote_async_serial_handler(serial*, void*) (remote.c:14039)
==24895== by 0x894101: run_async_handler_and_reschedule(serial*) (ser-base.c:137)
==24895== by 0x8941E6: fd_event(int, void*) (ser-base.c:188)
==24895== by 0x67AFEF: handle_file_event(file_handler*, int) (event-loop.c:732)
==24895== Address 0x18b63860 is 0 bytes inside a block of size 136 free'd
==24895== at 0x4C2E616: operator delete(void*, unsigned long) (vg_replace_malloc.c:585)
==24895== by 0x8C6A12: stap_probe::~stap_probe() (stap-probe.c:124)
==24895== by 0x66F7DB: probe_key_free(bfd*, void*) (elfread.c:1382)
==24895== by 0x69B705: bfdregistry_callback_adaptor(void (*)(registry_container*, void*), registry_container*, void*) (gdb_bfd.c:131)
==24895== by 0x855A57: registry_clear_data(registry_data_registry*, void (*)(void (*)(registry_container*, void*), registry_container*, void*), registry_container*, registry_fields*) (registry.c:79)
==24895== by 0x855B01: registry_container_free_data(registry_data_registry*, void (*)(void (*)(registry_container*, void*), registry_container*, void*), registry_container*, registry_fields*) (registry.c:92)
==24895== by 0x69B783: bfd_free_data(bfd*) (gdb_bfd.c:131)
==24895== by 0x69C4BA: gdb_bfd_unref(bfd*) (gdb_bfd.c:609)
==24895== by 0x7CC33F: objfile::~objfile() (objfiles.c:651)
==24895== by 0x7CD559: objfile_purge_solibs() (objfiles.c:1021)
==24895== by 0x8A7132: no_shared_libraries(char const*, int) (solib.c:1252)
==24895== by 0x548E3D: do_const_cfunc(cmd_list_element*, char const*, int) (cli-decode.c:106)
==24895== Block was alloc'd at
==24895== at 0x4C2D42A: operator new(unsigned long) (vg_replace_malloc.c:334)
==24895== by 0x8C527C: handle_stap_probe(objfile*, sdt_note*, std::vector<probe*, std::allocator<probe*> >*, unsigned long) (stap-probe.c:1561)
==24895== by 0x8C5535: stap_static_probe_ops::get_probes(std::vector<probe*, std::allocator<probe*> >*, objfile*) const (stap-probe.c:1656)
==24895== by 0x66F71B: elf_get_probes(objfile*) (elfread.c:1365)
==24895== by 0x7EDD85: find_probes_in_objfile(objfile*, char const*, char const*) (probe.c:227)
==24895== by 0x4DF382: create_longjmp_master_breakpoint() (breakpoint.c:3275)
==24895== by 0x4F6562: breakpoint_re_set() (breakpoint.c:13828)
==24895== by 0x8A66AA: solib_add(char const*, int, int) (solib.c:1010)
==24895== by 0x89F7C6: enable_break(svr4_info*, int) (solib-svr4.c:2360)
==24895== by 0x8A104C: svr4_solib_create_inferior_hook(int) (solib-svr4.c:2992)
==24895== by 0x8A70B9: solib_create_inferior_hook(int) (solib.c:1215)
==24895== by 0x70C073: post_create_inferior(target_ops*, int) (infcmd.c:467)
==24895==
pure virtual method called
terminate called without an active exception
==24895==
==24895== Process terminating with default action of signal 6 (SIGABRT): dumping core
==24895== at 0x7CF3750: raise (raise.c:51)
==24895== by 0x7CF4D30: abort (abort.c:79)
==24895== by 0xB008F4: __gnu_cxx::__verbose_terminate_handler() (in build/gdb/gdb)
==24895== by 0xAFF845: __cxxabiv1::__terminate(void (*)()) (in build/gdb/gdb)
==24895== by 0xAFF890: std::terminate() (in build/gdb/gdb)
==24895== by 0xAFF95E: __cxa_pure_virtual (in build/gdb/gdb)
==24895== by 0x89E610: solib_event_probe_action(probe_and_action*) (solib-svr4.c:1735)
==24895== by 0x89E95A: svr4_handle_solib_event() (solib-svr4.c:1872)
==24895== by 0x8A7198: handle_solib_event() (solib.c:1274)
==24895== by 0x4E3407: bpstat_stop_status(address_space const*, unsigned long, thread_info*, target_waitstatus const*, bpstats*) (breakpoint.c:5407)
==24895== by 0x721F41: handle_signal_stop(execution_control_state*) (infrun.c:5685)
==24895== by 0x720B11: handle_inferior_event(execution_control_state*) (infrun.c:5129)
==24895==
Note, this little bit in the patch is just a cleanup that I noticed:
- lookup.prob = prob;
lookup.address = address;
That line isn't necessary because hashing/comparison only looks at the
address.
gdb/ChangeLog:
2019-04-22 Pedro Alves <palves@redhat.com>
* solib-svr4.c (svr4_free_objfile_observer): New.
(probe_and_action::objfile): New field.
(probes_table_htab_remove_objfile_probes)
(probes_table_remove_objfile_probes): New functions.
(register_solib_event_probe): Add 'objfile' parameter. Store it
in the new probe_and_action. Don't store the probe in 'lookup'.
(svr4_create_probe_breakpoints): Pass objfile to
register_solib_event_probe.
(_initialize_svr4_solib): Register a free_objfile observer.
gdb/testsuite/ChangeLog:
2019-04-22 Pedro Alves <palves@redhat.com>
* gdb.base/solib-probes-nosharedlibrary.c,
gdb.base/solib-probes-nosharedlibrary.exp: New files.
commit 73f8a5908695e96d8ecd5e0fbe9f1ebb16179547
Author: Pedro Alves <palves@redhat.com>
Date: Mon Apr 22 12:42:21 2019 +0100
Improve reverse debugging docs, mention built-in support and supports archs
gdb/doc/ChangeLog:
2019-04-22 Pedro Alves <palves@redhat.com>
* gdb.texinfo (Reverse Execution): Mention and xref process record
and replay. Mention remote and system emulators.
(Process Record and Replay): List supported architectures.
Mention that "record btrace" is only supported on Intel
processors.
commit 1ce0f4f2422c19a2626c23d88c7dbaf808898b56
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Apr 22 00:00:46 2019 +0000
Automatic date update in version.in
commit d6e00f507d764bd8a3b2e55ef9c68a70591098e8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Apr 21 00:01:05 2019 +0000
Automatic date update in version.in
commit f2ae8bc88390f91cca8531823db51a8e35f0a0a0
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Apr 13 10:22:41 2019 +0200
Fix GDB crash when registers cannot be modified.
This crash was detected when using GDB with the valgrind gdbserver.
To reproduce:
valgrind sleep 10000
In another window:
gdb
target remote | vgdb
p printf("make sleep print something\n")
=>
terminate called after throwing an instance of 'gdb_exception_error'
Aborted
The problem is that the valgrind gdbserver does not allow to change
registers when the inferior is blocked in a system call.
GDB then raises an exception. The exception causes the destructor
of
typedef std::unique_ptr<infcall_suspend_state, infcall_suspend_state_deleter>
infcall_suspend_state_up;
to be called. This destructor itself tries to restore the value of
the registers, and fails similarly. We must catch the exception in
the destructor to avoid crashing GDB.
If the destructor encounters a problem, no warning is produced if
there is an uncaught exception, as in this case, the user will already
be informed of a problem via this exception.
With this change, no crash anymore, and all the valgrind 3.15 tests
pass succesfully.
gdb/ChangeLog
2019-04-19 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* inferior.h (struct infcall_suspend_state_deleter):
Catch exception in destructor to avoid crash.
commit 4884b57f24fca3d3abf73515e09a3917ed4f356c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Apr 20 00:00:21 2019 +0000
Automatic date update in version.in
commit fb8819867993ee942aacd8ea6d5027b16cecda48
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 7 16:32:54 2019 -0600
Remove common/queue.h
gdb no longer needs common/queue.h, so this removes it.
gdb/ChangeLog
2019-04-19 Tom Tromey <tom@tromey.com>
* common/queue.h: Remove.
commit 8732db6ceb3d5d352685199a15306dbb69c086d6
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 7 16:32:19 2019 -0600
Remove an include of common/queue.h
event-loop.c does not need to include common/queue.h, so this removes
it.
gdb/ChangeLog
2019-04-19 Tom Tromey <tom@tromey.com>
* event-loop.c: Don't include "common/queue.h".
commit 97dfbaddad2b5acf3dd9f2c3e0135b89bde1cbf8
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 7 16:31:01 2019 -0600
Use std::list for remote_notif_state::notif_queue
This changes remote_notif_state::notif_queue to be a std::list and
updates all the uses.
gdb/ChangeLog
2019-04-19 Tom Tromey <tom@tromey.com>
* remote.c (remote_target): Use delete.
* remote-notif.h: Include <list>, not "common/queue.h".
(notif_client_p): Remove typedef.
(remote_notif_state): Add constructor, destructor, initializer.
<notif_queue>: Now a std::list.
(remote_notif_state_xfree): Don't declare.
* remote-notif.c (remote_notif_process, handle_notification)
(remote_notif_state_allocate): Update.
(~remote_notif_state): Rename from remote_notif_state_xfree.
commit b494cdff6922944383ef4dc20fcc90c4d823d315
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 7 16:17:40 2019 -0600
Use std::list for event notifications in gdbserver
This changes gdbserver to use std::list rather than common/queue.h for
event notifications.
gdb/gdbserver/ChangeLog
2019-04-19 Tom Tromey <tom@tromey.com>
* server.c (struct vstop_notif): Derive from notif_event.
<base>: Remove.
(queue_stop_reply): Update.
(remove_all_on_match_ptid): Change type. Rewrite.
(discard_queued_stop_replies): Rewrite.
(in_queued_stop_replies_ptid): Change type.
(in_queued_stop_replies): Rewrite.
(notif_stop): Update.
(queue_stop_reply_callback): Update.
(captured_main): Don't call initialize_notif.
(push_stop_notification): Update.
* notif.c (notif_write_event, handle_notif_ack)
(notif_event_enque, notif_push): Update.
(notif_event_xfree, initialize_notif): Remove.
* notif.h (struct notif_event): Include <list>, not
"common/queue.h".
(struct notif_server) <queue>: Now a std::list.
(notif_event_p): Remove typedef.
(initialize_notif): Don't declare.
(struct notif_event): Add virtual destructor.
commit cf250e36790aaa255bb486e2122bb83c95c7669b
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 7 15:39:37 2019 -0600
Make objfile::static_links an htab_up
This changes objfile::static_links to be an htab_up, so that ~objfile
no longer has to explicitly destroy it.
Tested by the buildbot.
gdb/ChangeLog
2019-04-19 Tom Tromey <tom@tromey.com>
* symfile.c (reread_symbols): Update.
* objfiles.c (objfile_register_static_link)
(objfile_lookup_static_link): Update
(~objfile) Don't delete static_links.
* objfiles.h (struct objfile) <static_links>: Now an htab_up.
commit 61f4b350419e91560be94e0671a760b2e4902c65
Author: Tom Tromey <tom@tromey.com>
Date: Sun Apr 7 15:29:58 2019 -0600
Make copy_name return std::string
This changes copy_name to return a std::string, updating all the
callers. In some cases, an extra copy was removed. This also
required a little bit of constification.
Tested by the buildbot.
gdb/ChangeLog
2019-04-19 Tom Tromey <tom@tromey.com>
* type-stack.h (struct type_stack) <insert>: Constify string.
* type-stack.c (type_stack::insert): Constify string.
* gdbtypes.h (lookup_template_type): Update.
(address_space_name_to_int): Update.
* gdbtypes.c (address_space_name_to_int): Make space_identifier
const.
(lookup_template_type): Make name const.
* c-exp.y: Update rules.
(lex_one_token, classify_name, classify_inner_name)
(c_print_token): Update.
* p-exp.y: Update rules.
(yylex): Update.
* f-exp.y: Update rules.
(yylex): Update.
* d-exp.y: Update rules.
(lex_one_token, classify_name, classify_inner_name): Update.
* parse.c (write_dollar_variable, copy_name): Return std::string.
* parser-defs.h (copy_name): Change return type.
* m2-exp.y: Update rules.
(yylex): Update.
* go-exp.y (lex_one_token): Update.
Update rules.
(classify_unsafe_function, classify_packaged_name)
(classify_name, yylex): Update.
commit 189b8c2e104017600104457b97315da74a22f549
Author: Sergei Trofimovich <siarheit@google.com>
Date: Sun Mar 17 22:48:02 2019 +0000
gdb/configure.ac: add --enable-source-highlight
Allow disabling source-highlight dependency autodetection even
it exists in the system. More details on problem of automatic
dependencies:
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies
Noticed by Jeroen Roovers in https://bugs.gentoo.org/680238
* configure.ac: add --enable-source-highlight switch.
* configure: Regenerate.
* top.c (print_gdb_version): plumb --enable-source-highlight
status to "show configuration".
gdb/ChangeLog
2019-04-19 Sergei Trofimovich <siarheit@google.com>
* configure.ac: add --enable-source-highlight switch.
* configure: Regenerate.
* top.c (print_gdb_version): plumb --enable-source-highlight
status to "show configuration".
commit 8ecb59f8567956c1520b491ea31396363efcb1ef
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Apr 9 07:46:39 2019 -0600
Print non-Ada unions without crashing
ada-lang.c is a bit too eager trying to decode unions in the Ada style
-- looking for discriminants and such. This causes crashes when
printing a non-Ada union in Ada mode, something that can easily happen
when printing a value from history or certain registers on AArch64.
This patch fixes the bug by changing ada-lang.c to only apply special
Ada treatment to types coming from an Ada CU. This in turn required a
couple of surprising changes.
First, some of the Ada code was already using HAVE_GNAT_AUX_INFO to
decide whether a type had already been fixed -- such types had
INIT_CPLUS_SPECIFIC called on them. This patch changes these spots to
use the "none" identifier instead.
This then required changing value_rtti_type to avoid changing the
language-specific object attached to an Ada type, which seems like a
good change regardless.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-04-19 Tom Tromey <tromey@adacore.com>
* ada-lang.c (ada_is_variant_part, ada_to_fixed_type_1):
Check ADA_TYPE_P.
(empty_record, ada_template_to_fixed_record_type_1)
(template_to_static_fixed_type)
(to_record_with_fixed_variant_part): Use INIT_NONE_SPECIFIC.
* cp-abi.c (value_rtti_type): Check HAVE_CPLUS_STRUCT.
* gdbtypes.h (INIT_NONE_SPECIFIC, ADA_TYPE_P): New
macros.
gdb/testsuite/ChangeLog
2019-04-19 Tom Tromey <tromey@adacore.com>
* gdb.ada/ptype_union.c: New file.
* gdb.ada/ptype_union.exp: New file.
commit 62160ec9547cdd21ac7334d9a378ca2930aac61c
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Apr 9 12:52:46 2019 -0600
Fix "list" when control characters are seen
PR symtab/24423 points out that control characters in a source file
cause a hang in the "list" command, a regression introduced by the
styling changes.
This patch, from the PR, fixes the bug. I've included a minimal
change to the "list" test that exercises this code.
I recall that this bug was discussed on gdb-patches, and I thought
there was a patch there as well, but I was unable to find it.
gdb/ChangeLog
2019-04-19 Ilya Yu. Malakhov <malakhov@mcst.ru>
PR symtab/24423:
* source.c (print_source_lines_base): Advance "iter" when a
control character is seen.
gdb/testsuite/ChangeLog
2019-04-19 Tom Tromey <tromey@adacore.com>
PR symtab/24423:
* gdb.base/list0.h (foo): Add a control-l character.
commit ee3c5f8968e7b43854204898fa46933b3a1b5991
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Apr 13 10:22:41 2019 +0200
Fix GDB crash when registers cannot be modified.
This crash was detected when using GDB with the valgrind gdbserver.
To reproduce:
valgrind sleep 10000
In another window:
gdb
target remote | vgdb
p printf("make sleep print something\n")
=>
terminate called after throwing an instance of 'gdb_exception_error'
Aborted
The problem is that the valgrind gdbserver does not allow to change
registers when the inferior is blocked in a system call.
GDB then raises an exception. The exception causes the destructor
of
typedef std::unique_ptr<infcall_suspend_state, infcall_suspend_state_deleter>
infcall_suspend_state_up;
to be called. This destructor itself tries to restore the value of
the registers, and fails similarly. We must catch the exception in
the destructor to avoid crashing GDB.
If the destructor encounters a problem, no warning is produced if
there is an uncaught exception, as in this case, the user will already
be informed of a problem via this exception.
With this change, no crash anymore, and all the valgrind 3.15 tests
pass succesfully.
gdb/ChangeLog
2019-04-19 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* inferior.h (struct infcall_suspend_state_deleter):
Catch exception in destructor to avoid crash.
commit d563b953142db796f61425a1a300f0feddcdcd55
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Fri Apr 19 13:45:00 2019 +0200
OBVIOUS move add_comm_alias "!" <=> "shell" near the add_com "shell"
gdb/ChangeLog
2019-04-19 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* cli/cli-cmds.c (_initialize_cli_cmds): Move "shell" "!" alias
close to the add_com "shell".
commit 5ce032bdfc60a8f44f6307b2297384c852100f95
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Apr 19 10:39:47 2019 +0100
RX Assembler: Ensure that the internal limit on the number of relaxation iterations is not larger that the external limit.
PR 24464
* config/tc-rx.h (md_relax_frag): Pass the max_iterations variable
to the relaxation function.
* config/tc-rx.c (rx_relax_frag): Add new parameter - the maximum
number of iterations. Make sure that our internal iteration limit
does not exceed this external iteration limit.
commit fce9773608d45757dfb26ef7783f37d432ae9a88
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 19 12:33:46 2019 +0930
s12z and h8300 no-print-map-discarded fails
This tidies the remaining --no-print-map-discarded fails. h8300-elf
warns on a section without flags, and s12z doesn't support
--gc-sections.
bfd/
* elf32-s12z.c (elf_backend_can_gc_sections): Don't define
ld/
* testsuite/ld-gc/skip-map-discarded.s: Add section attributes.
* testsuite/lib/ld-lib.exp (check_gc_sections_available): Add
s12z to list of targets not supporting --gc-sections.
commit e7da54fcdbea8e60c8e577b32b6ed63f8effbfd6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Apr 19 00:00:12 2019 +0000
Automatic date update in version.in
commit 36cd4ba59817473935f781174744e7883ff221ee
Author: Tom de Vries <tdevries@suse.de>
Date: Thu Apr 18 23:37:33 2019 +0200
[gdb/testsuite] Fix gdb.base/break-probes.exp with native-gdbserver
When running break-probes.exp with native-gdbserver, we run into:
...
FAIL: gdb.base/break-probes.exp: run til our library loads (the program exited)
FAIL: gdb.base/break-probes.exp: call (int) foo(23)
...
due to the fact that we're trying to match:
...
Inferior loaded /data/gdb_versions/devel/build/gdb/testsuite/outputs/gdb.base\
/break-probes/break-probes-solib.so
...
using pattern:
...
Inferior loaded $sysroot$binfile_lib
...
which expands into:
...
Inferior loaded //data/gdb_versions/devel/build/gdb/testsuite/outputs/gdb.base\
/break-probes/break-probes-solib.so
...
Fix by setting sysroot to "" in local-board.exp.
Tested on x86_64-linux with native-gdbserver.
gdb/testsuite/ChangeLog:
2019-04-18 Tom de Vries <tdevries@suse.de>
PR gdb/24433
* boards/local-board.exp: Set sysroot to "".
commit dc34c8972ec803b093201c4c12e084f059be32f7
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Apr 18 09:42:46 2019 -0600
Make process_stratum_target::stratum "final"
It seemed to me that process_stratum_target::stratum ought to be
"final".
Tested by rebuilding, let me know what you think.
gdb/ChangeLog
2019-04-18 Tom Tromey <tromey@adacore.com>
* process-stratum-target.h (class process_stratum_target)
<stratum>: Add "final".
commit 85bec12d61ca50669cac5975c88d3a1e377375f9
Author: Matthew Fortune <matthew.fortune@imgtec.com>
Date: Wed Apr 17 04:07:19 2019 +0000
Improve warning message for $0 constraint on MIPSR6 branches
gas/
* config/tc-mips.c (match_non_zero_reg_operand): Update
warning message.
* testsuite/gas/mips/r6-branch-constraints.l: Likewise.
commit b73715df01e6e9b3de5a49cd7bf4170deef48461
Author: Tom de Vries <tdevries@suse.de>
Date: Thu Apr 18 17:05:43 2019 +0100
[gdb] Handle vfork in thread with follow-fork-mode child
When debugging any of the testcases added by this commit, which do a
vfork in a thread with "set follow-fork-mode child" + "set
detach-on-fork on", we run into this assertion:
...
src/gdb/nat/x86-linux-dregs.c:146: internal-error: \
void x86_linux_update_debug_registers(lwp_info*): \
Assertion `lwp_is_stopped (lwp)' failed.
...
The assert is caused by the following: the vfork-child exit or exec
event is handled by handle_vfork_child_exec_or_exit, which calls
target_detach to detach from the vfork parent. During target_detach
we call linux_nat_target::detach, which:
#1 - stops all the threads
#2 - waits for all the threads to be stopped
#3 - detaches all the threads
However, during the second step we run into this code in
stop_wait_callback:
...
/* If this is a vfork parent, bail out, it is not going to report
any SIGSTOP until the vfork is done with. */
if (inf->vfork_child != NULL)
return 0;
...
and we don't wait for the threads to be stopped, which results in this
assert in x86_linux_update_debug_registers triggering during the third
step:
...
gdb_assert (lwp_is_stopped (lwp));
...
The fix is to reset the vfork parent's vfork_child field before
calling target_detach in handle_vfork_child_exec_or_exit. There's
already similar code for the other paths handled by
handle_vfork_child_exec_or_exit, so this commit refactors the code a
bit so that all paths share the same code.
The new tests cover both a vfork child exiting, and a vfork child
execing, since both cases would trigger the assertion.
The new testcases also exercise following the vfork children with "set
detach-on-fork off", since it doesn't seem to be tested anywhere.
Tested on x86_64-linux, using native and native-gdbserver.
gdb/ChangeLog:
2019-04-18 Tom de Vries <tdevries@suse.de>
Pedro Alves <palves@redhat.com>
PR gdb/24454
* infrun.c (handle_vfork_child_exec_or_exit): Reset vfork parent's
vfork_child field before calling target_detach.
gdb/testsuite/ChangeLog:
2019-04-18 Tom de Vries <tdevries@suse.de>
Pedro Alves <palves@redhat.com>
PR gdb/24454
* gdb.threads/vfork-follow-child-exec.c: New file.
* gdb.threads/vfork-follow-child-exec.exp: New file.
* gdb.threads/vfork-follow-child-exit.c: New file.
* gdb.threads/vfork-follow-child-exit.exp: New file.
commit 5d5b0bd35f1f8b8484349c3ec51aa8e19a1627cf
Author: Jozef Lawrynowicz <jozef.l@mittosystems.com>
Date: Thu Apr 18 13:15:09 2019 +0100
MSP430 Assembler: Define symbols for functions to run through.
gas * config/tc-msp430.c (msp430_make_init_symbols): Define
__crt0_run_{preinit,init,fini}_array symbols if
.{preinit,init,fini}_array sections exist.
* testsuite/gas/msp430/fini-array.d: New test.
* testsuite/gas/msp430/init-array.d: New test.
* testsuite/gas/msp430/preinit-array.d: New test.
* testsuite/gas/msp430/fini-array.s: New test source.
* testsuite/gas/msp430/init-array.s: New test source.
* testsuite/gas/msp430/preinit-array.s: New test source.
* testsuite/gas/msp430/msp430.exp: Add new tests to driver.
commit 05be37e5c34b822ff3032791c2415e652fbf9fbf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Apr 18 00:00:22 2019 +0000
Automatic date update in version.in
commit 9a7f0679fd3b9815b8eb938bfdad3934b8435419
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 17 10:22:19 2019 -0700
x86: Suggest -fPIE when not building shared object
When PIC is needed, linker should suggest -fPIE, instead of -fPIC, when
not building shared object.
bfd/
* elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
building shared object.
* elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
ld/
* testsuite/ld-i386/i386.exp: Run pr18801a and pr18801b instead
of pr18801.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/pr18801.d: Removed.
* testsuite/ld-x86-64/pr18801.d: Likewise.
* testsuite/ld-i386/pr18801a.d: New file.
* testsuite/ld-i386/pr18801b.d: Likewise.
* testsuite/ld-x86-64/pr18801a.d: Likewise.
* testsuite/ld-x86-64/pr18801b.d: Likewise.
* testsuite/ld-x86-64/pie2.d: Suggest -fPIE instead of -fPIC.
* testsuite/ld-x86-64/pie2.d: Likewise.
* testsuite/ld-x86-64/pr19719.d: Likewise.
* testsuite/ld-x86-64/pr19807-2a.d: Likewise.
* testsuite/ld-x86-64/pr19969.d: Likewise.
* testsuite/ld-x86-64/pr21997-1a.err: Likewise.
* testsuite/ld-x86-64/pr21997-1b.err: Likewise.
* testsuite/ld-x86-64/pr22001-1a.err: Likewise.
* testsuite/ld-x86-64/pr22001-1b.err: Likewise.
* testsuite/ld-x86-64/pr22791-1.err: Likewise.
commit 4e84a8f8bbeab52fa7048873655e582ceb92534d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 17 09:08:46 2019 -0700
x86: Also check x86 linker_def for non-shared definition
Since elf_x86_linker_defined sets linker_def in elf_x86_link_hash_entry
for linker defined symbols, SYMBOL_DEFINED_NON_SHARED_P should also check
linker_def in elf_x86_link_hash_entry.
bfd/
PR ld/24458
* elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
linker_def.
ld/
PR ld/24458
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/24458 tests.
* testsuite/ld-x86-64/pr24458.s: New file.
* 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.
commit e25de718de3b613cfafb9c5b28dea8e55a8649b8
Author: Jozef Lawrynowicz <jozef.l@mittosystems.com>
Date: Wed Apr 17 15:05:08 2019 +0100
MSP430 Linker: Define __crt0_init_bss/__crt0_movedata symbols when .lower or .either prefixed sections are present.
ld * config/tc-msp430.c (msp430_make_init_symbols): Define __crt0_init_bss
symbol when .lower.bss or .either.bss sections exist.
Define __crt0_movedata when .lower.data or .either.data sections exist.
* testsuite/gas/msp430/either-data-bss-sym.d: New test.
* testsuite/gas/msp430/low-data-bss-sym.d: New test.
* testsuite/gas/msp430/either-data-bss-sym.s: New test source.
* testsuite/gas/msp430/low-data-bss-sym.s: New test source.
* testsuite/gas/msp430/msp430.exp: Run new tests.
Enable large code model when running -mdata-region={upper,either}
tests.
commit afff667ae800adee5934020c92012e3ecbf4dabd
Author: Jozef Lawrynowicz <jozef.l@mittosystems.com>
Date: Wed Apr 17 15:03:27 2019 +0100
MSP430 Assembler: Leave placement of .lower and .upper sections to generic linker code.
* config/tc-msp430.c (msp430_make_init_symbols): Define __crt0_init_bss
symbol when .lower.bss or .either.bss sections exist.
Define __crt0_movedata when .lower.data or .either.data sections exist.
* testsuite/gas/msp430/either-data-bss-sym.d: New test.
* testsuite/gas/msp430/low-data-bss-sym.d: New test.
* testsuite/gas/msp430/either-data-bss-sym.s: New test source.
* testsuite/gas/msp430/low-data-bss-sym.s: New test source.
* testsuite/gas/msp430/msp430.exp: Run new tests.
Enable large code model when running -mdata-region={upper,either}
tests.
commit d557977487bc21e8ed19603527949a8541c44832
Author: Jozef Lawrynowicz <jozef.l@mittosystems.com>
Date: Wed Apr 17 15:01:28 2019 +0100
MSP420 assembler: Add -m{u,U} options to enable/disable NOP warnings for unknown interrupt state changes
gas * config/tc-msp430.c (options): New OPTION_UNKNOWN_INTR_NOPS,
OPTION_NO_UNKNOWN_INTR_NOPS and do_unknown_interrupt_nops.
(md_parse_option): Handle OPTION_UNKNOWN_INTR_NOPS and
OPTION_NO_UNKNOWN_INTR_NOPS by setting do_unknown_interrupt_nops
accordingly.
(md_show_usage): Likewise.
(md_shortopts): Add "mu" for OPTION_UNKNOWN_INTR_NOPS and
"mU" for OPTION_NO_UNKNOWN_INTR_NOPS.
(md_longopts): Likewise.
(warn_eint_nop): Update comment.
(warn_unsure_interrupt): Don't warn if prev_insn_is_nop or
prev_insn_is_dint or we are assembling for 430 ISA.
(msp430_operands): Only call warn_unsure_interrupt if
do_unknown_interrupt_nops == TRUE.
* testsuite/gas/msp430/nop-unknown-intr.s: New test source file.
* testsuite/gas/msp430/nop-unknown-intr-430.d: New test.
* testsuite/gas/msp430/nop-unknown-intr-430x.d: New test.
* testsuite/gas/msp430/nop-unknown-intr-430x-ignore.d: New test.
* testsuite/gas/msp430/nop-unknown-intr-430.l: Warning output for new
test.
* testsuite/gas/msp430/nop-unknown-intr-430x.l: Likewise.
* testsuite/gas/msp430/msp430.exp: Add new tests to driver.
commit a12e57448ecf2644e3ddc98bbd4bbb914a5f8c92
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Apr 16 12:12:09 2019 -0600
Avoid crash in dwarf2_init_complex_target_type
After commit 35add35 ("gdb: Fix failure in gdb.base/complex-parts.exp
for x86-32"), dwarf2_init_complex_target_type can crash if "tt" is
nullptr. This patch avoids the problem by checking for this case.
No test case because I don't know a good way to write one; it was
found by an internal AdaCore test case that apparently uses a 16 bit
floating point type.
gdb/ChangeLog:
* dwarf2read.c (dwarf2_init_complex_target_type): Check "tt"
against nullptr before use.
gdb/ChangeLog
2019-04-17 Tom Tromey <tromey@adacore.com>
* dwarf2read.c (dwarf2_init_complex_target_type): Check "tt"
against nullptr before use.
commit a7e559cc087b10b9ea337b58e52cc13964aae3fb
Author: Alan Hayward <alan.hayward@arm.com>
Date: Tue Apr 16 10:37:47 2019 +0100
gdbserver: Ensure all debug output uses debug functions
All debug output needs to go via debug functions to ensure it writes to the
correct output stream.
gdb/ChangeLog:
* nat/linux-waitpid.c (linux_debug): Call debug_vprintf.
gdb/gdbserver/ChangeLog:
* ax.c (ax_vdebug): Call debug_printf.
* debug.c (debug_write): New function.
* debug.h (debug_write): New declaration.
* linux-low.c (sigchld_handler): Call debug_write.
commit aeb2e706e1b9c491d20c88c8ead1ae9df9cee04a
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Apr 12 15:49:11 2019 +0100
gdbserver: Add debug-file option
Add command line option to send all debug output to a given file.
Always default back to stderr.
Add matching monitor command. Add documentation.
gdb/doc/ChangeLog:
* gdb.texinfo
(Other Command-Line Arguments for gdbserver): Add debug-file
option.
(Monitor Commands for gdbserver): Likewise.
(gdbserver man): Likewise.
gdb/gdbserver/ChangeLog:
* debug.c (debug_set_output): New function.
(debug_vprintf): Send output to debug_file.
(debug_flush): Likewise.
* debug.h (debug_set_output): New declaration.
* server.c (handle_monitor_command): Add debug-file option.
(captured_main): Likewise.
commit c1bc0935a4afb513486dc0a479cd57c0924b677c
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Apr 12 14:21:55 2019 +0100
gdbserver: Move remote_debug to a single place
A comment in debug.h (written in 2014) states: "We declare debug format
variables here, and debug_threads but no other debug content variables
(e.g., not remote_debug) because while this file is not currently used by
IPA it may be some day, and IPA may have its own set of debug content
variables".
This has resulted in remote_debug being declared in many .c/.h files
throughout gdbserver.
It would be much simplier to define it one place. The most logical place to
define it is in debug.h, surrounded by #define guards. If IPA is changed,
then at that point the variable can be moved elsewhere.
gdb/gdbserver/ChangeLog:
* debug.c (remote_debug): Add definition.
* debug.h (remote_debug): Add declaration.
* hostio.c (remote_debug): Remove declaration.
* remote-utils.c (struct ui_file): Likewise.
(remote_debug): Likewise.
* remote-utils.h (remote_debug): Likewise,
* server.c (remote_debug): Remove definition.
commit 1cfe2726f1564df1247f7844077717db04522a88
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Apr 17 00:00:31 2019 +0000
Automatic date update in version.in
commit c01660c625766e848195285cc20581b9ed7ecfe2
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Apr 17 00:31:43 2019 +0100
gdb/riscv: Allow breakpoints to be created at invalid addresses
Some testsuite cases (gdb.cp/nsalias.exp for example) construct dwarf2
debug info for fake functions to test that this debug info is handled
correctly.
We currently get an error trying to read from an invalid address while
creating breakpoints for these fake functions.
Other targets allow creating breakpoints on invalid addresses, and
only error when GDB actually tries to insert the breakpoints.
In order to make RISC-V behave in the same way as other targets, this
commit makes the failure to read memory during breakpoint creation
non-fatal, we then expect to see a failure when GDB tries to insert
the breakpoint, just like other targets.
Tested with a riscv64-linux native testsuite run.
gdb/ChangeLog:
* riscv-tdep.c (riscv_breakpoint_kind_from_pc): Hanndle case where
code read might fail, assume 4-byte breakpoint in that case.
commit fe7e91e7764d8db4a45c9d7b3dd55cb635f44f5e
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 16 21:34:22 2019 +0930
xfail gas weakref1 test for nds32
Oops, I removed the wrong xfail from gas.exp in last commit, fix it
here.
* testsuite/gas/all/weakref1.d: xfail nds32.
commit a0fb96150814fef91598e0b528c071201fe18891
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 16 18:08:11 2019 +0930
ns32k testsuite tidy
Some of these tests were excluded for ns32k-netbsd, exclude for all
ns32k instead.
binutils/
* testsuite/binutils-all/copy-2.d: Don't run for ns32k-*-*.
* testsuite/binutils-all/copy-3.d: Likewise.
gas/
* testsuite/gas/all/gas.exp: Remove ns32k xfails.
* testsuite/gas/all/weakref1u.d: Don't run for ns32k-*-*.
ld/
* testsuite/ld-scripts/pr20302.d: Don't run for ns32k-*-*.
* testsuite/ld-scripts/section-match-1.d: Likewise.
* testsuite/ld-undefined/require-defined.exp: Likewise.
commit 5bc113360ccc33797a3f882e02824a5c426da175
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 16 15:47:02 2019 +0930
Move fixup fx_bit_fixP and fx_im_disp fields to TC_FIX_TYPE
These are only used by dlx and ns32k.
* write.h: Don't include bit_fix.h.
(struct fix): Rearrange some fields. Delete fx_im_disp and
fx_bit_fixP. Use bitfields for fx_size and fx_pcrel_adjust.
* write.c (fix_new_internal): Don't init fx_im_disp and fx_bit_fixP.
(fixup_segment): Don't exclude overflow checks on fx_bit_fixP.
(print_fixup): Don't print im_disp.
* config/tc-cris.c (md_apply_fix): Remove tests of fx_bit_fixP
and fx_im_disp.
* config/tc-dlx.c (md_apply_fix): Remove wrong debug code. Set
fx_no_overflow when fx_bit_fixP.
* config/tc-dlx.h: Include bit_fix.h.
(TC_FIX_TYPE, tc_fix_data, TC_INIT_FIX_DATA): Define.
* config/tc-ns32k.c (fix_new_ns32k, fix_new_ns32k_exp): Set
fx_no_overflow when bit_fixP.
* config/tc-ns32k.h (TC_FIX_TYPE): Add fx_bit_fixP and fx_im_disp.
(fix_im_disp, fix_bit_fixP): Adjust to suit.
(TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise.
commit 90bd3c903fe76a8a3a5ced98c76e4366c5a0948f
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 16 11:10:44 2019 +0930
Make fixup fx_where unsigned
Another field that only stores unsigned values.
* write.h (struct fix <fx_where>): Make unsigned.
(fix_new, fix_at_start, fix_new_exp): Adjust prototypes.
* write.c (fix_new, fix_new_exp, fix_at_start): Make "where" and
"size" parameters unsigned long.
(fix_new_internal): Likewise. Adjust error format string to suit.
* config/tc-mips.c (md_convert_frag): Remove cast of fx_where.
* config/tc-sparc.c (md_apply_fix): Likewise.
* config/tc-score.c (s3_convert_frag): Adjust for unsigned fx_where.
* config/tc-score7.c (s7_convert_frag): Likewise.
commit 871a6bd2d852b0fb677386e1be78c3f4c6939b48
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 15 21:51:44 2019 +0930
Make frag fr_fix unsigned
The field only stores unsigned values, so let's make it unsigned to
stop people worrying about the possibility of negative values.
* frags.h (struct frag <fr_fix>): Use unsigned type.
* frags.c (frag_new): Assert that current size exceeds
old_frags_var_max_size.
* ehopt.c (get_cie_info): Adjust for unsigned fr_fix.
* listing.c (calc_hex): Likewise.
* write.c (cvt_frag_to_fill, write_relocs): Likewise.
* config/tc-arc.c (md_convert_frag): Likewise.
* config/tc-avr.c (avr_patch_gccisr_frag): Likewise.
* config/tc-mips.c (md_convert_frag): Likewise.
* config/tc-rl78.c (md_convert_frag): Likewise.
* config/tc-rx.c (md_convert_frag): Likewise.
* config/tc-sparc.c (md_apply_fix): Likewise.
* config/tc-xtensa.c (next_instrs_are_b_retw): Likewise.
(unrelaxed_frag_min_insn_count, unrelaxed_frag_has_b_j): Likewise.
commit 02e902e1a1ec7b74125f329b3faef1992efb6d51
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Apr 16 00:00:22 2019 +0000
Automatic date update in version.in
commit 4aa866af6b13c7080c6d92201fc1a2f4ea19998e
Author: Leszek Swirski <leszeks@google.com>
Date: Mon Apr 15 11:56:43 2019 -0400
Fix AMD64 return value ABI in expression evaluation
The AMD64 System V ABI specifies that when a function has a return type
classified as MEMORY, the caller provides space for the value and passes
the address to this space as the first argument to the function (before
even the "this" pointer). The classification of MEMORY is applied to
struct that are sufficiently large, or ones with unaligned fields.
The expression evaluator uses call_function_by_hand to call functions,
and the hand-built frame has to push arguments in a way that matches the
ABI of the called function. call_function_by_hand supports ABI-based
struct returns, based on the value of gdbarch_return_value, however on
AMD64 the implementation of the classifier incorrectly assumed that all
non-POD types (implemented as "all types with a base class") should be
classified as MEMORY and use the struct return.
This ABI mismatch resulted in issues when calling a function that returns
a class of size <16 bytes which has a base class, including issues such
as the "this" pointer being incorrect (as it was passed as the second
argument rather than the first).
This is now fixed by checking for field alignment rather than POD-ness,
and a testsuite is added to test expression evaluation for AMD64.
gdb/ChangeLog:
* amd64-tdep.c (amd64_classify_aggregate): Use cp_pass_by_reference
rather than a hand-rolled POD check when checking for forced MEMORY
classification.
gdb/testsuite/ChangeLog:
* gdb.arch/amd64-eval.cc: New file.
* gdb.arch/amd64-eval.exp: New file.
commit 86333705ae268aa00da41b094b0d632eae31e9ae
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date: Mon Apr 15 08:48:42 2019 -0700
Skip print-map-discarded test for non-ELF targets
ld/
* testsuite/ld-gc/gc.exp: Skip print-map-discarded test
for non-ELF targets.
commit 48574d91bf1289074f2c88b1f83aa3cd37d524d9
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Apr 15 12:31:21 2019 +0100
AArch64 SVE: Support changing vector lengths for ptrace
When writing registers to the kernel, check if regcache VG has been changed. If
so then update the thread's vector length, then write back the registers.
When reading registers from the kernel, ensure regcache VG register is updated.
The regcache registers should already be of the correct length.
Remove all the checks that error if the vector length has changed.
gdb/ChangeLog:
* aarch64-linux-nat.c (store_sveregs_to_thread): Set vector length.
* nat/aarch64-sve-linux-ptrace.c (aarch64_sve_set_vq): New function.
(aarch64_sve_regs_copy_to_reg_buf): Remove VG checks.
(aarch64_sve_regs_copy_from_reg_buf): Likewise.
* nat/aarch64-sve-linux-ptrace.h (aarch64_sve_set_vq): New declaration.
commit 4da037ef9dba6c17089250d228efdbe6f7d830c9
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Apr 15 12:29:40 2019 +0100
AArch64 SVE: Check for vector length change when getting gdbarch
Override the thread_architecture method, similar to SPU. If the vector
length has changed, then find the arch using info, making sure the vector
length is passed down to the init routine.
In the init routine, ensure the arch has the correct vector length.
Example output. Program is stopped in thread 2, just before it calls prctl
to change the vector length
(gdb) info threads
Id Target Id Frame
1 Thread 0xffffbf6f4000 (LWP 3188) "sve_change" 0x0000ffffbf6ae130 in pthread_join ()
* 2 Thread 0xffffbf55e200 (LWP 3189) "sve_change" thread1 (arg=0xfeedface) at sve_change_size.c:28
(gdb) print $vg
$1 = 8
(gdb) print $z0.s.u
$2 = {623191333, 623191333, 623191333, 623191333, 0 <repeats 12 times>}
(gdb) n
29 int ret = prctl(PR_SVE_SET_VL, vl/2);
(gdb) n
30 printf ("Changed: ret\n", ret);
(gdb) print $vg
$4 = 4
(gdb) print $z0.s.u
$5 = {623191333, 623191333, 623191333, 623191333, 0, 0, 0, 0}
(gdb) thr 1
[Switching to thread 1 (Thread 0xffffbf6f4000 (LWP 3181))]
(gdb) print $vg
$6 = 8
(gdb) print $z0.s.u
$7 = {623191333, 623191333, 623191333, 623191333, 0 <repeats 12 times>}
gdb/ChangeLog:
* aarch64-linux-nat.c
(aarch64_linux_nat_target::thread_architecture): Add override.
* aarch64-tdep.c (aarch64_gdbarch_init): Ensure different tdesc for
each VQ.
commit ccb8d7e8194b848a6c4aa43272540eec0f4f21f2
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Apr 15 12:27:31 2019 +0100
AArch64: Tidy up aarch64_gdbarch_init
Move the lookup_by_info to the top of the function to avoid unnecessarily
creating a new feature when the gdbarch already exists.
Add some additional cleanups that have no functional effect.
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_gdbarch_init): Move gdbarch lookup.
commit 32c36c3ce94becbf0b8e1adad6ff28aa9d5e0b66
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 12:23:24 2019 +0100
[binutils, ARM, 16/16] Add support to VLDR and VSTR of system registers
GNU as' Arm backend assumes each mnemonic has a single entry in the instruction table but VLDR (system register) and VSTR (system register) are different instructions than VLDR and VSTR. It is thus necessary to add some form of demultiplexing in the parser. It starts by creating a new operand type OP_VLDR which indicate that the operand is either the existing OP_RVSD operand or a system register. The function parse_operands () then tries these two cases in order, calling the new parse_sys_vldr_vstr for the second case.
Since the encoding function is specified in the instruction table entry, it also need to have some sort of demultiplexing. This is done in do_vldr_vstr which either calls the existing do_neon_ldr_str () or calls the new do_t_vldr_vstr_sysreg ().
A new internal relocation is needed as well since the offset has a shorter range than in other Thumb coprocessor instructions. Disassembly also requires special care since VSTR (system register) reuse the STC encoding with the coprocessor number 15. Armv8.1-M Mainline ARM manual states that coprocessor 8, 14 and 15 are reserved for floating-point and MVE instructions a feature bit check is added if the coprocessor number is one of this value and we are trying to match a coprocessor instruction (eg. STC) to forbid the match.
ChangeLog entries are as follows:
*** bfd/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
relocation.
* bfd-in2.h: Regenerate.
* libbfd.h: Likewise.
*** gas/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/tc-arm.c (parse_sys_vldr_vstr): New function.
(OP_VLDR): New enum operand_parse_code enumerator.
(parse_operands): Add logic for OP_VLDR.
(do_t_vldr_vstr_sysreg): New function.
(do_vldr_vstr): Likewise.
(insns): Guard VLDR and VSTR by arm_ext_v4t for Thumb mode.
(md_apply_fix): Add bound check for VLDR and VSTR co-processor offset.
Add masking logic for BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM relocation.
* testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add examples of bad
uses of VLDR and VSTR.
* testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error messages for
above bad uses.
* testsuite/gas/arm/archv8m_1m-cmse-main.s: Add examples of VLDR and
VSTR valid uses.
* testsuite/gas/arm/archv8m_1m-cmse-main.d: Add disassembly for the
above examples.
*** opcodes/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* arm-dis.c (coprocessor_opcodes): Document new %J and %K format
specifier. Add entries for VLDR and VSTR of system registers.
(print_insn_coprocessor): Forbid coprocessor numbers 8, 14 and 15 in
coprocessor instructions on Armv8.1-M Mainline targets. Add handling
of %J and %K format specifier.
commit efd6b3591b4bc8440f4145dfc0e6dbfc0545f7d8
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 12:18:16 2019 +0100
[binutils, ARM, 15/16] Add support for VSCCLRM
Like for CLRM, this patch aims to share as much logic with the similar looking VLDM/VSTM. This is achieved by adding 2 new enumerator values in enum reg_list_els for the single-precision and double-precision variants of VSCCLRM and extending parse_vfp_reg_list () to deal with these types.
These behave like the existing REGLIST_VFP_S and REGLIST_VFP_D types with extra logic to expect VPR as the last element in the register list.
The function is algo augmented with a new partial_match parameter to indicate if any register other than VPR had already been parsed in the register list so as to not try parsing the second variant if that's the case and return the right error message.
The rest of the patch is the usual encoding function, new disassembler table entries and format specifier and parsing, encoding and disassembling tests.
It is worth mentioning that the new entry in the disassembler table was added in the coprocessor-related table despite VSCCLRM always being available even in FPU-less configurations. The main reason for this is that VSCCLRM also match VLDMIA entry and must thus be tried first but coprocessor entries are tried before T32 entries. It also makes sense because it is in the same encoding space as coprocessor and VFP instructions and is thus the natural place for someone to look for this instruction.
Note: Both variants of VSCCLRM support D16-D31 registers but Armv8.1-M Mainline overall does not. I have thus decided not to implement support for these registers in order to keep the code simpler. It can always be added later if needed.
ChangeLog entries are as follows:
*** gas/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/tc-arm.c (arm_typed_reg_parse): Fix typo in comment.
(enum reg_list_els): New REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR
enumerators.
(parse_vfp_reg_list): Add new partial_match parameter. Set
*partial_match to TRUE if at least one element in the register list has
matched. Add support for REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR
register lists which expect VPR as last element in the list.
(s_arm_unwind_save_vfp_armv6): Adapt call to parse_vfp_reg_list to new
prototype.
(s_arm_unwind_save_vfp): Likewise.
(enum operand_parse_code): New OP_VRSDVLST enumerator.
(parse_operands): Adapt call to parse_vfp_reg_list to new prototype.
Handle new OP_VRSDVLST case.
(do_t_vscclrm): New function.
(insns): New entry for VSCCLRM instruction.
* testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add invalid VSCCLRM
instructions.
* testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error expectations
for above instructions.
* testsuite/gas/arm/archv8m_1m-cmse-main.s: Add tests for VSCCLRM
instruction.
* testsuite/gas/arm/archv8m_1m-cmse-main.d: Add expected disassembly
for above instructions.
*** opcodes/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* arm-dis.c (coprocessor_opcodes): Document new %C format control code.
Add new entries for VSCCLRM instruction.
(print_insn_coprocessor): Handle new %C format control code.
commit 6b0dd094741bc5e9963eabc64a7030783e471941
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 12:14:38 2019 +0100
[opcodes, ARM, 14/16] Add mode availability to coprocessor table entries
The coprocessor_opcodes table is used both to share commonalities in coprocessor-related instructions and to avoid duplication between Arm and Thumb mode. However, some instructions do have differences between Arm and Thumb. For instance, vldmia allows PC as base register in Arm mode but not in Thumb mode.
In that very case the distinction becomes necessary because the encoding with PC as base register is used in Thumb mode to denote a VSCCLRM. It is thus necessary to distinguish what is Arm or Thumb only from what is shared. This patch adds an extra field to the coprocessor_opcodes table entries to indicate what mode is a given instruction available in. The print_insn_coprocessor then uses that field to determine if an entry that matched the mark and value checked should be allowed to match or not given the current mode.
ChangeLog entry is as follows:
*** opcodes/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* arm-dis.c (enum isa): New enum.
(struct sopcode32): New structure.
(coprocessor_opcodes): change type of entries to struct sopcode32 and
set isa field of all current entries to ANY.
(print_insn_coprocessor): Change type of insn to struct sopcode32.
Only match an entry if its isa field allows the current mode.
commit 4b5a202f107b5393da30fd0b488c3eff2bc758a5
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 12:07:20 2019 +0100
[binutils, ARM, 13/16] Add support for CLRM
Given the similarity between LDM/STM and CLRM register lists, most of the changes in this patch aim at sharing code between those two sets of instruction. Sharing is achieved both in parsing and encoding of those instructions.
In terms of parsing, parse_reg_list () is extended to take a type that describe what type of instruction is being parsed. The reg_list_els used for parse_vfp_reg_list () is reused for the type and that function is added an assert for the new REGLIST_CLRM and REGLIST_RN enumerators.
parse_reg_list () is then taught to accept APSR and reject SP and PC when parsing for a CLRM instruction. At last, caller of parse_reg_list () is updated accordingly and logic is added for the new OP_CLRMLST operand.
Encoding-wise, encode_thumb2_ldmstm () is reused to encode the variable bits of CLRM and is thus renamed encode_thumb2_multi (). A new do_io parameter is added to distinguish between LDM/STM and CLRM which guard all the LDM/STM specific code of the function.
Finally objdump is told how to disassemble CLRM, again reusing the logic to print the LDM/STM register list (format specifier 'm'). Tests are also added in the form of negative tests to check parsing and encoding/disassembling tests.
ChangeLog entries are as follows:
*** gas/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/tc-arm.c (enum reg_list_els): Define earlier and add
REGLIST_RN and REGLIST_CLRM enumerators.
(parse_reg_list): Add etype parameter to distinguish between regular
core register list and CLRM register list. Add logic to
recognize CLRM register list.
(parse_vfp_reg_list): Assert type is not for core register list.
(s_arm_unwind_save_core): Update call to parse_reg_list to new
prototype.
(enum operand_parse_code): Declare OP_CLRMLST enumerator.
(parse_operands): Update call to parse_reg_list to new prototype. Add
logic for OP_CLRMLST.
(encode_thumb2_ldmstm): Rename into ...
(encode_thumb2_multi): This. Add do_io parameter. Add logic to
encode CLRM and guard LDM/STM only code by do_io.
(do_t_ldmstm): Adapt to use encode_thumb2_multi.
(do_t_push_pop): Likewise.
(do_t_clrm): New function.
(insns): Define CLRM.
* testsuite/gas/arm/archv8m_1m-cmse-main-bad.d: New file.
* testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Likewise.
* testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Likewise.
* testsuite/gas/arm/archv8m_1m-cmse-main.d: Likewise.
* testsuite/gas/arm/archv8m_1m-cmse-main.s: Likewise.
*** opcodes/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* arm-dis.c (thumb_opcodes): Document %n control code. Add entry for
CLRM.
(print_insn_thumb32): Add logic to print %n CLRM register list.
commit 60f993ce170b91876ad41e8f7339c24afd63fac2
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:58:47 2019 +0100
[binutils, ARM, 12/16] Scalar Low Overhead loop instructions for Armv8.1-M Mainline
s patch is part of a series of patches to add support for Armv8.1-M Mainline instructions to binutils.
This patch adds support to the Scalar low overhead loop instructions:
LE
WLS
DLS
We also add a new assembler resolvable relocation bfd_reloc_code_real enum for the 12-bit branch offset used in these instructions.
ChangeLog entries are as follows:
*** bfd/ChnageLog ***
2019-04-12 Sudakshina Das <sudi.das@arm.com>
* reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
* bfd-in2.h: Regenerated.
* libbfd.h: Regenerated.
*** gas/ChangeLog ***
2019-04-12 Sudakshina Das <sudi.das@arm.com>
Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (operand_parse_code): Add OP_LR and OP_oLR
for the LR operand and optional LR operand.
(parse_operands): Add switch cases for OP_LR and OP_oLR for
both type checking and value checking.
(encode_thumb32_addr_mode): New entries for DLS, WLS and LE.
(v8_1_loop_reloc): New helper function for handling labels
for the low overhead loop instructions.
(do_t_loloop): New function to encode DLS, WLS and LE.
(insns): New entries for WLS, DLS and LE.
(md_pcrel_from_section): New switch case
for BFD_RELOC_ARM_THUMB_LOOP12.
(md_appdy_fix): Likewise.
(tc_gen_reloc): Likewise.
* testsuite/gas/arm/armv8_1-m-tloop.s: New.
* testsuite/gas/arm/armv8_1-m-tloop.d: New.
* testsuite/gas/arm/armv8_1-m-tloop-bad.s: New.
* testsuite/gas/arm/armv8_1-m-tloop-bad.d: New.
* testsuite/gas/arm/armv8_1-m-tloop-bad.l: New.
*** opcodes/ChangeLog ***
2019-04-12 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (print_insn_thumb32): Updated to accept new %P
and %Q patterns.
commit f6b2b12db82f7b76c30ec389a67fbce5d2805323
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:53:25 2019 +0100
[binutils, ARM, 11/16] New BFCSEL instruction for Armv8.1-M Mainline
s patch is part of a series of patches to add support for Armv8.1-M Mainline instructions to binutils.
This patch adds the BFCSEL instruction. It also adds a local relocation with a new bfd_reloc_code_real enum.
ChangeLog entries are as follows:
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
* bfd-in2.h: Regenerated.
* libbfd.h: Likewise.
*** gas/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (T16_32_TAB): New entriy for bfcsel.
(do_t_v8_1_branch): New switch case for bfcsel.
(toU): Define.
(insns): New instruction for bfcsel.
(md_pcrel_from_section): New switch case
for BFD_RELOC_THUMB_PCREL_BFCSEL.
(md_appdy_fix): Likewise
(tc_gen_reloc): Likewise.
* testsuite/gas/arm/armv8_1-m-bfcsel.d: New.
* testsuite/gas/arm/armv8_1-m-bfcsel.s: New.
*** ld/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* testsuite/ld-arm/bfcsel.s: New.
* testsuite/ld-arm/bfcsel.d: New.
* testsuite/ld-arm/arm-elf.exp: Add above test.
*** opcodes/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (thumb32_opcodes): New instruction bfcsel.
(print_insn_thumb32): Edit the switch case for %Z.
commit 1889da7048b310151d142b100678b6bd6053b548
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:46:54 2019 +0100
[binutils, ARM, 10/16] BFCSEL infrastructure with new global reloc R_ARM_THM_BF12
This patch is part of a series of patches to add support for Armv8.1-M Mainline
instructions to binutils.
This adds infrastructure for the BFCSEL instructions which is one of the first
instructions in Arm that have more than one relocations in them.
This adds a new relocation R_ARM_THM_BF12.
The inconsistency between external R_ARM_THM_BF12 and internal
BFD_RELOC_ARM_THUMB_BF13 is because internally we count the static bit-0 of the
immediate and we don't externally.
ChangeLog entries are as follows :
ChangeLog entries are as follows :
*** bfd/ChnageLog ***
2019-04-04 Sudakshina Das <sudi.das@arm.com>
* reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
* bfd-in2.h: Regenerated.
* libbfd.h: Regenerated.
* elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
(elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
and R_ARM_THM_BF12 together.
(elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
*** elfcpp/ChangeLog ***
2019-04-04 Sudakshina Das <sudi.das@arm.com>
* arm.h (R_ARM_THM_BF12): New relocation code.
*** gas/ChangeLog ***
2019-04-04 Sudakshina Das <sudi.das@arm.com>
* config/tc-arm.c (md_pcrel_from_section): New switch case for
BFD_RELOC_ARM_THUMB_BF13.
(md_appdy_fix): Likewise.
(tc_gen_reloc): Likewise.
*** include/ChangeLog ***
2019-04-04 Sudakshina Das <sudi.das@arm.com>
* elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF12.
*** opcodes/ChangeLog ***
2019-04-04 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (print_insn_thumb32): Updated to accept new %Z pattern.
commit 65d1bc05e89e45b102783422c3984ed718547d5c
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:42:10 2019 +0100
[binutils, ARM, 9/16] New BFL instruction for Armv8.1-M Mainline
This patch is part of a series of patches to add support for Armv8.1-M Mainline
instructions to binutils.
This patch adds the BFL instruction.
*** gas/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (T16_32_TAB): New entrie for bfl.
(do_t_v8_1_branch): New switch case for bfl.
(insns): New instruction for bfl.
* testsuite/gas/arm/armv8_1-m-bfl.d: New.
* testsuite/gas/arm/armv8_1-m-bfl.s: New.
* testsuite/gas/arm/armv8_1-m-bfl-bad.s: New.
* testsuite/gas/arm/armv8_1-m-bfl-bad.d: New.
* testsuite/gas/arm/armv8_1-m-bfl-bad.l: New.
* testsuite/gas/arm/armv8_1-m-bfl-rel.d: New.
* testsuite/gas/arm/armv8_1-m-bfl-rel.s: New.
*** ld/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* testsuite/ld-arm/bfl.s: New.
* testsuite/ld-arm/bfl.d: New.
* testsuite/ld-arm/arm-elf.exp: Add above test.
*** opcodes/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (thumb32_opcodes): New instruction bfl.
commit 1caf72a5849abf9a717ed3e0232abf591ff933e7
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:37:51 2019 +0100
[binutils, ARM, 8/16] BFL infrastructure with new global reloc R_ARM_THM_BF18
This patch is part of a series of patches to add support for Armv8.1-M Mainline instructions to binutils.
This adds infrastructure for the BFL instructions which is one of the first instructions in Arm that have more than one relocations in them.
This adds a new relocation R_ARM_THM_BF18.
The inconsistency between external R_ARM_THM_BF18 and internal
BFD_RELOC_ARM_THUMB_BF19 is because internally we count the static bit-0 of the immediate and we don't externally.
ChangeLog entries are as follows :
*** bfd/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
* libbfd.h: Regenerated.
* bfd-in2.h: Regenerated.
* bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
(elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
and R_ARM_THM_BF18 together.
(elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
*** elfcpp/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm.h (R_ARM_THM_BF18): New relocation code.
*** gas/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* config/tc-arm.c (md_pcrel_from_section): New switch case for
BFD_RELOC_ARM_THUMB_BF19.
(md_appdy_fix): Likewise.
(tc_gen_reloc): Likewise.
*** include/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF18.
*** opcodes/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (print_insn_thumb32): Updated to accept new %Y pattern.
commit f1c7f42126274d48f6b0a929e4e15a32193997c6
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:29:14 2019 +0100
[binutils, ARM, 7/16] New BFX and BFLX instruction for Armv8.1-M Mainline
This patch is part of a series of patches to add support for Armv8.1-M Mainline instructions to binutils.
This patch adds the BFX and BFLX instructions.
ChangeLog entries are as follows :
*** gas/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* config/tc-arm.c (T16_32_TAB): New entries for bfx and bflx.
(do_t_v8_1_branch): New switch cases for bfx and bflx.
(insns): New instruction for bfx and bflx.
* testsuite/gas/arm/armv8_1-m-bf-exchange.d: New.
* testsuite/gas/arm/armv8_1-m-bf-exchange.s: New.
* testsuite/gas/arm/armv8_1-m-bf-exchange-bad.s: New
* testsuite/gas/arm/armv8_1-m-bf-exchange-bad.l: New
* testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d: New
*** opcodes/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (print_insn_thumb32): Add '%<bitfield>S' to print an
Arm register with r13 and r15 unpredictable.
(thumb32_opcodes): New instructions for bfx and bflx.
commit 4389b29a5af431eeac517272b66560e12df3c430
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:25:12 2019 +0100
[binutils, ARM, 6/16] New BF instruction for Armv8.1-M Mainline
This patch is part of a series of patches to add support for Armv8.1-M Mainline
instructions to binutils.
This patch adds the BF instruction.
ChangeLog entries are as follows:
*** gas/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (T16_32_TAB): New entries for bf.
(do_t_branch_future): New.
(insns): New instruction for bf.
* testsuite/gas/arm/armv8_1-m-bf.d: New.
* testsuite/gas/arm/armv8_1-m-bf.s: New.
* testsuite/gas/arm/armv8_1-m-bf-bad.s: New.
* testsuite/gas/arm/armv8_1-m-bf-bad.l: New.
* testsuite/gas/arm/armv8_1-m-bf-bad.d: New.
* testsuite/gas/arm/armv8_1-m-bf-rel.d: New.
* testsuite/gas/arm/armv8_1-m-bf-rel.s: New.
*** ld/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* testsuite/ld-arm/bf.s: New.
* testsuite/ld-arm/bf.d: New.
* testsuite/ld-arm/arm-elf.exp: Add above test.
*** opcodes/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (thumb32_opcodes): New instructions for bf.
commit e5d6e09ee6cea13942a8042945e784f483a6f3af
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:18:57 2019 +0100
[binutils, ARM, 5/16] BF insns infrastructure with new global reloc R_ARM_THM_BF16
This patch is part of a series of patches to add support for Armv8.1-M Mainline instructions to binutils.
This adds infrastructure for the BF instructions which is one of the first instructions in Arm that have more than one relocations in them.
This is the third infrastructure patch that adds a new relocation R_ARM_THM_BF16.
The inconsistency between external R_ARM_THM_BF16 and internal
BFD_RELOC_ARM_THUMB_BF17 is because internally we count the static bit-0 of the immediate and we don't externally.
ChangeLog entries are as follows :
*** bfd/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
* bfd-in2.h: Regenerated.
* libbfd.h: Regenerated.
* bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
(elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
and R_ARM_THM_BF16 together.
(get_value_helper): New reloc helper.
(elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
*** elfcpp/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm.h (R_ARM_THM_BF16): New relocation code.
*** gas/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* config/tc-arm.c (md_pcrel_from_section): New switch case for
BFD_RELOC_ARM_THUMB_BF17.
(md_appdy_fix): Likewise.
(tc_gen_reloc): Likewise.
*** include/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF16.
*** opcodes/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (print_insn_thumb32): Updated to accept new %W pattern.
commit e2b0ab597857bfe9d7c8742ff50bbb77c70936c4
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:12:57 2019 +0100
[binutils, ARM, 4/16] BF insns infrastructure with array of relocs in struct arm_it
This patch is part of a series of patches to add support for ARMv8.1-M Mainline
instructions to binutils.
This adds infrastructure for the Branch Future instructions (BF, BFX, BFL,
BFLX, BFCSEL).
These are the first instructions in ARM that have more than one relocations in
them. Their external relocations can be found in the 'ELF for the Arm
Architecture - ABI 2019Q1' document on developer.arm.com
This is the second infrastructure patch that adds support to allow up to
3 relocations in an instruction. This is done by changing the reloc member of
struct arm_it to an array instead (relocs[3]). All the previous occurrences of
reloc can now to referring to relocs[0].
ChangeLog entries are as follows :
*** gas/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* config/tc-arm.c (ARM_IT_MAX_RELOCS): New macro.
(arm_it): Member reloc renamed relocs and updated to an array.
Rest: Replace all occurrences of reloc to relocs[0].
commit e12437dc862690eeaa4a487fee35a237703d2b29
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:06:30 2019 +0100
[binutils, ARM, 3/16] BF insns infrastructure with new bfd_reloc_code_real for fallback branch
This patch is part of a series of patches to add support for Armv8.1-M Mainline
instructions to binutils.
This adds infrastructure for the Branch Future instructions (BF, BFX, BFL, BFLX,
BFCSEL). These are the first instructions in ARM that have more than one
relocations in them.
This is the first infrastructure patch that adds a new bfd_reloc_code_real enum
for the fallback branch offset.
This is common for all such instructions and needs to be resolvable by the
assembler.
ChangeLog entries are as follows :
*** bfd/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
*** gas/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* config/tc-arm.c (md_pcrel_from_section): New switch case
for BFD_RELOC_THUMB_PCREL_BRANCH5.
(v8_1_branch_value_check): New function to check branch
offsets.
(md_appdy_fix): New switch case for
BFD_RELOC_THUMB_PCREL_BRANCH5.
(tc_gen_reloc): Likewise.
*** opcodes/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (print_insn_thumb32): Updated to accept new %G pattern.
commit e0991585ade56ff86a382978bb3b0268d6e1f31c
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 11:00:21 2019 +0100
[GAS, ARM, 2/16] Add CLI extension support for Armv8.1-M Mainline
This patch implements the dsp, fp and fp.dp extensions for Armv8.1-M Mainline.
This patch also removes the fp-armv8 check from the half-precision move
instructions 'do_neon_movhf', as checking that the FP16 instructions extension
feature bit is enabled 'ARM_EXT2_FP16_INST' is enough.
gas/ChangeLog:
2019-04-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/tc-arm.c (do_neon_movhf): Remove fp-armv8 check.
(armv8_1m_main_ext_table): New extension table.
(arm_archs): Use the new extension table.
* doc/c-arm.texi: Add missing arch and document new extensions.
* testsuite/gas/arm/armv8.1-m.main-fp.d: New.
* testsuite/gas/arm/armv8.1-m.main-fp-dp.d: New.
* testsuite/gas/arm/armv8.1-m.main-hp.d: New.
commit 031254f2111f945ce6a1b8827e1a58ed7141fefe
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 15 10:54:42 2019 +0100
[binutils, ARM, 1/16] Add support for Armv8.1-M Mainline CLI
The patch is straightforward, it does the following:
- support the new Tag_CPU_arch build attribute value, ie.:
+ declare the new value
+ update all the asserts forcing logic to be reviewed for new
architectures
+ create a corresponding bfd_mach_arm_8_1M_MAIN enumerator in bfd and
add mapping from Tag_CPU_arch to it
+ teach readelf about new Tag_CPU_arch value
- declare armv8.1-m.main as a supported architecture value
- define Armv8.1-M Mainline in terms of feature bits available
- tell objdump mapping from bfd_mach_arm_8_1M_MAIN enumerator to feature
bits available
- update architecture-specific logic in gas and bfd guarded by the
asserts mentioned above.
- tests for all the above
ChangeLog entries are as follows:
*** bfd/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* archures.c (bfd_mach_arm_8_1M_MAIN): Define.
* bfd-in2.h: Regenerate.
* cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
* elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
and update assert.
(using_thumb2): Likewise.
(using_thumb2_bl): Update assert.
(arch_has_arm_nop): Likewise.
(bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
(tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
*** binutils/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* readelf.c (arm_attr_tag_CPU_arch): Add entry for Armv8.1-M Mainline.
*** gas/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/tc-arm.c (cpu_arch_ver): Add entry for Armv8.1-M Mainline
Tag_CPU_arch build attribute value. Reindent.
(get_aeabi_cpu_arch_from_fset): Update assert.
(aeabi_set_public_attributes): Update assert for Tag_DIV_use logic.
* testsuite/gas/arm/attr-march-armv8_1-m.main.d: New test.
*** include/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* elf/arm.h (TAG_CPU_ARCH_V8_1M_MAIN): new macro.
(MAX_TAG_CPU_ARCH): Set value to above macro.
* opcode/arm.h (ARM_EXT2_V8_1M_MAIN): New macro.
(ARM_AEXT_V8_1M_MAIN): Likewise.
(ARM_AEXT2_V8_1M_MAIN): Likewise.
(ARM_ARCH_V8_1M_MAIN): Likewise.
*** ld/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* testsuite/ld-arm/attr-merge-13.attr: New test.
* testsuite/ld-arm/attr-merge-13a.s: New test.
* testsuite/ld-arm/attr-merge-13b.s: New test.
*** opcodes/ChangeLog ***
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
* arm-dis.c (select_arm_features): Add logic for Armv8.1-M Mainline.
commit 8669f96f0d1fee8eddc4cb56ba68125abfe61f56
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Apr 15 00:00:16 2019 +0000
Automatic date update in version.in
commit d94c001b358b1a947a61bafc10a18660bb5eef59
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Apr 14 00:01:01 2019 +0000
Automatic date update in version.in
commit 798066abd8e5ec2a411979fd34bfe0cd494c1813
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Apr 11 23:17:31 2019 +0100
sim: Use host not target byte order for merging and splitting values
When using writes to memory through a struct to merge and extract
multi-word value, it is the endianness of the host, not the target
that affects which order the component words need to be written into
the structure.
Of the 5 functions adjusted here 4 of them are unused. The 5th,
JOINSIDF will soon be used by the or1k target.
For or1k, simulated on x86-64, this change fixes this function so that
the correct bytes are now returned.
sim/common/ChangeLog:
* cgen-ops.h (SUBWORDXFSI): Compare HOST_BYTE_ORDER not
CURRENT_TARGET_BYTE_ORDER.
(SUBWORDTFSI): Likewise.
(JOINSIDF): Likewise.
(JOINSIXF): Likewise.
(JOINSITF): Likewise.
commit bdc8beb41b656e8071af275ef0e98c4f2d05e564
Author: Matthew Fortune <matthew.fortune@mips.com>
Date: Tue Apr 9 20:40:00 2019 +0000
[MIPS] Add i6500 CPU and fix i6400 default ASEs
gas/
* config/tc-mips.c (mips_cpu_info_table): Add i6500. Update
default ASEs for i6400.
* doc/c-mips.texi (-march): Document i6500.
* testsuite/gas/mips/elf_mach_i6400.d: New test.
* testsuite/gas/mips/elf_mach_i6500.d: New test.
* testsuite/gas/mips/mips.exp: Run the new tests.
commit 3315614d19a7fb409227298ead9b356bdbcca3bc
Author: Matthew Fortune <matthew.fortune@mips.com>
Date: Tue Apr 9 10:34:48 2019 -0700
[MIPS] Apply ASE information for the selected processor
GAS does not enable implicit ASEs for most MIPS processors.
The rework of option handling done as part of .module implementation
left the implicit ASE logic broken and default enabled ASEs for
most processors did not get applied. This patch ensures the ASE
information is carried forward to the point where it is required.
gas/
* config/tc-mips.c (mips_set_options) <init_ase>: New field.
(file_mips_opts, mips_opts) <init_ase>: Initialize new field.
(file_mips_check_options): Propagate initial ASE settings.
(mips_after_parse_args, parse_code_option): Track the initial
ASE settings for a CPU.
(s_mipsset): Restore the initial ASE settings when reverting
to the default arch.
* testsuite/gas/mips/elf_mach_p6600.d: New test.
* testsuite/gas/mips/mips.exp: Run the new test.
commit c40e31a1217f6ec9dd47e2e6806c2562096e31fe
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 12 20:32:57 2019 +0930
Automatic makefile dependencies for generated ld/e*.c
This patch modifies genscripts.sh to emit dependency info along with
the generated emulation e*.c files. This is done by a new source_sh
function that records its arg to a file (.deps/e*.Tc), using the
function whenever a shell script is sourced. Entries in the file are
made unique and written to .deps/e*.Pc. These files are then
included by the Makefile.
* Makefile.am (GENSCRIPTS): Pass LIB_PATH as a parameter. Add
DEPDIR parameter.
(ELF_DEPS, ELF_GEN_DEPS, ELF_X86_DEPS): Delete.
(ALL_EMULATION_SOURCES, ALL_64_EMULATION_SOURCES): Depend on
$GEN_DEPENDS.
(e*.c): Delete all dependencies, instead include dependencies
from $DEPDIR/*.Pc.
* Makefile.in: Regenerate.
* configure.ac (source_sh): Define and use function.
* configure: Regenerate.
* emulparams/aarch64cloudabib.sh, * emulparams/aarch64elf32b.sh,
* emulparams/aarch64elfb.sh, * emulparams/aarch64fbsdb.sh,
* emulparams/aarch64linux32b.sh, * emulparams/aarch64linuxb.sh,
* emulparams/arcelf.sh, * emulparams/arcelf_prof.sh,
* emulparams/arclinux.sh, * emulparams/arclinux_nps.sh,
* emulparams/arclinux_prof.sh, * emulparams/arcv2elf.sh,
* emulparams/arcv2elfx.sh, * emulparams/armelf_fbsd.sh,
* emulparams/armelf_linux_eabi.sh,
* emulparams/armelf_linux_fdpiceabi.sh,
* emulparams/armelf_nacl.sh, * emulparams/armelf_nbsd.sh,
* emulparams/armelf_vxworks.sh, * emulparams/armelfb.sh,
* emulparams/armelfb_fbsd.sh, * emulparams/armelfb_fuchsia.sh,
* emulparams/armelfb_linux.sh, * emulparams/armelfb_linux_eabi.sh,
* emulparams/armelfb_linux_fdpiceabi.sh,
* emulparams/armelfb_nacl.sh, * emulparams/armelfb_nbsd.sh,
* emulparams/armsymbian.sh, * emulparams/cskyelf_linux.sh,
* emulparams/elf32_sparc_sol2.sh,
* emulparams/elf32_sparc_vxworks.sh, * emulparams/elf32_tic6x_be.sh,
* emulparams/elf32_tic6x_elf_be.sh,
* emulparams/elf32_tic6x_elf_le.sh,
* emulparams/elf32_tic6x_linux_be.sh,
* emulparams/elf32_tic6x_linux_le.sh,
* emulparams/elf32_x86_64.sh, * emulparams/elf32_x86_64_nacl.sh,
* emulparams/elf32b4300.sh, * emulparams/elf32bfinfd.sh,
* emulparams/elf32bmipn32.sh, * emulparams/elf32bsmip.sh,
* emulparams/elf32btsmip.sh, * emulparams/elf32btsmip_fbsd.sh,
* emulparams/elf32btsmipn32.sh, * emulparams/elf32btsmipn32_fbsd.sh,
* emulparams/elf32ebmip.sh, * emulparams/elf32ebmipvxworks.sh,
* emulparams/elf32elmip.sh, * emulparams/elf32elmipvxworks.sh,
* emulparams/elf32frvfd.sh, * emulparams/elf32l4300.sh,
* emulparams/elf32lm32fd.sh, * emulparams/elf32lmip.sh,
* emulparams/elf32lppc.sh, * emulparams/elf32lppclinux.sh,
* emulparams/elf32lppcnto.sh, * emulparams/elf32lppcsim.sh,
* emulparams/elf32lr5900.sh, * emulparams/elf32lr5900n32.sh,
* emulparams/elf32lriscv.sh, * emulparams/elf32lriscv_ilp32.sh,
* emulparams/elf32lriscv_ilp32f.sh, * emulparams/elf32lsmip.sh,
* emulparams/elf32ltsmip.sh, * emulparams/elf32ltsmip_fbsd.sh,
* emulparams/elf32ltsmipn32.sh, * emulparams/elf32ltsmipn32_fbsd.sh,
* emulparams/elf32microblazeel.sh, * emulparams/elf32or1k_linux.sh,
* emulparams/elf32ppc.sh, * emulparams/elf32ppc_fbsd.sh,
* emulparams/elf32ppccommon.sh, * emulparams/elf32ppclinux.sh,
* emulparams/elf32ppcnto.sh, * emulparams/elf32ppcsim.sh,
* emulparams/elf32ppcvxworks.sh, * emulparams/elf32ppcwindiss.sh,
* emulparams/elf32tilegx_be.sh, * emulparams/elf64_ia64_fbsd.sh,
* emulparams/elf64_sparc_fbsd.sh, * emulparams/elf64_sparc_sol2.sh,
* emulparams/elf64alpha_fbsd.sh, * emulparams/elf64alpha_nbsd.sh,
* emulparams/elf64bmip-defs.sh, * emulparams/elf64bmip.sh,
* emulparams/elf64btsmip.sh, * emulparams/elf64btsmip_fbsd.sh,
* emulparams/elf64lppc.sh, * emulparams/elf64lriscv-defs.sh,
* emulparams/elf64lriscv.sh, * emulparams/elf64lriscv_lp64.sh,
* emulparams/elf64lriscv_lp64f.sh, * emulparams/elf64ltsmip.sh,
* emulparams/elf64ltsmip_fbsd.sh, * emulparams/elf64ppc.sh,
* emulparams/elf64ppc_fbsd.sh, * emulparams/elf64rdos.sh,
* emulparams/elf64tilegx_be.sh, * emulparams/elf_i386.sh,
* emulparams/elf_i386_be.sh, * emulparams/elf_i386_fbsd.sh,
* emulparams/elf_i386_ldso.sh, * emulparams/elf_i386_nacl.sh,
* emulparams/elf_i386_sol2.sh, * emulparams/elf_i386_vxworks.sh,
* emulparams/elf_iamcu.sh, * emulparams/elf_k1om.sh,
* emulparams/elf_k1om_fbsd.sh, * emulparams/elf_l1om.sh,
* emulparams/elf_l1om_fbsd.sh, * emulparams/elf_x86_64.sh,
* emulparams/elf_x86_64_cloudabi.sh,
* emulparams/elf_x86_64_fbsd.sh, * emulparams/elf_x86_64_nacl.sh,
* emulparams/elf_x86_64_sol2.sh, * emulparams/h8300helf.sh,
* emulparams/h8300helf_linux.sh, * emulparams/h8300hnelf.sh,
* emulparams/h8300self.sh, * emulparams/h8300self_linux.sh,
* emulparams/h8300snelf.sh, * emulparams/h8300sxelf.sh,
* emulparams/h8300sxelf_linux.sh, * emulparams/h8300sxnelf.sh,
* emulparams/hppanbsd.sh, * emulparams/hppaobsd.sh,
* emulparams/m32rlelf.sh, * emulparams/m32rlelf_linux.sh,
* emulparams/m68kelfnbsd.sh, * emulparams/mn10300.sh,
* emulparams/msp430X.sh, * emulparams/nds32belf.sh,
* emulparams/nds32belf16m.sh, * emulparams/nds32belf_linux.sh,
* emulparams/pjlelf.sh, * emulparams/ppclynx.sh,
* emulparams/score7_elf.sh, * emulparams/shelf_fd.sh,
* emulparams/shelf_linux.sh, * emulparams/shelf_nbsd.sh,
* emulparams/shelf_uclinux.sh, * emulparams/shelf_vxworks.sh,
* emulparams/shl.sh, * emulparams/shlelf.sh,
* emulparams/shlelf_fd.sh, * emulparams/shlelf_nbsd.sh,
* emulparams/shlelf_vxworks.sh: Use source_sh.
* genscripts.sh: Adjust for changed parameters. Emit dependencies
for e*.c to .deps/*.Pc.
(source_sh): New function, use it throughout to source scripts.
* genscrba.sh (source_em): Use source_sh.
commit 50ff67e6cf65dbe1b8fbbdb7a6c2e43919af95f4
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 12 19:02:44 2019 +0930
ld TDIRS substitution
It is no longer true that autoconf/automake cannot substitute vars
with embedded new-lines.
* configure.ac (TDIRS): Build up tdirs in this variable and
AC_SUBST, also using AM_SUBST_NOTMAKE.
* configure: Regenerate.
* Makefile.am (DISTCLEANFILES): Remove tdirs.
* Makefile.in: Regenerate.
commit 35add35e85c21f02e3e5808273cb77b24069b0aa
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Apr 13 00:54:16 2019 +0100
gdb: Fix failure in gdb.base/complex-parts.exp for x86-32
The x86-32 ABI specifies 96-bit long double, this was causing a
failure on the test gdb.base/complex-parts.exp.
The problem is that GDB tries to find a builtin floating point type of
the correct size in order to reuse the name of that type as the name
for the components of the complex type being built.
Previously GDB was only aware of floating point types sized 32, 64, or
128 bits. This patch teaches GDB how to handle 96 bit floating point
type.
gdb/ChangeLog:
* dwarf2read.c (dwarf2_init_complex_target_type): Handle complex
target types of size 96-bits, add some additional comments, and
check that the builtin type we found was the correct size.
commit 9c9f1b1f39f37ce75c2fc3c378aa059b67df2ea2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Apr 13 00:00:35 2019 +0000
Automatic date update in version.in
commit 8114a5c51e6d07e3dfd243eee1cfad6e63cc52aa
Author: John Darrington <john@darrington.wattle.id.au>
Date: Fri Apr 12 18:39:01 2019 +0200
GAS: S12Z: Remove definition of macro TC_M68K.
gas/config:
* tc-s12z.h: Remove inappropriate macro definition.
commit e5a557ac01a775df64ae8149c5fe7d503f46a92f
Author: John Darrington <john@darrington.wattle.id.au>
Date: Fri Apr 12 18:39:01 2019 +0200
S12Z: opcodes: Replace "operator" with "optr".
opcodes/
* s12z-dis.c, s12z-opc.c, s12z-opc.h: Replace operator with optr.
commit d04ebfb8178e56bdcbf925ec0ed55cf14488e3fb
Author: John Darrington <john@darrington.wattle.id.au>
Date: Fri Apr 12 18:39:01 2019 +0200
GAS: tc-s12z.c: int -> bfd_boolean
Use bfd_boolean where appropriate.
commit 51196bbc5618a3741bd7bbed01ac76b25a2e6f9c
Author: Eli Zaretskii <eliz@gnu.org>
Date: Fri Apr 12 15:35:57 2019 +0300
Another fix for GDB styling
gdb/ChangeLog:
2019-04-12 Eli Zaretskii <eliz@gnu.org>
* utils.c (prompt_for_continue): Don't restore the styling at the
end, as applied_style has the wrong value. This fixes styling in
long lists of file names that are interrupted by the "Continue?"
prompt.
commit 3bbec4bd95396936f21dbb07b79d2b6286b4cfec
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Apr 12 13:15:21 2019 +0100
Fix thinko in linker documentation.
PR 24450
* ld.texi (Output Section Attributes): Add ALIGN_WITH_INPUT to
example of section attributes.
commit e5a1a79a4e0ee33292d45b10a759eb41f7358b7c
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Apr 8 16:02:55 2019 +0100
Testsuite: Add gdbserver sysroot test
The local board file ensures that the sysroot is always set to load
files from the local filesystem.
Add a gdbserver test to explicitly test the sysroot set to both the
remote target and the local filesystem.
gdb/testsuite/ChangeLog:
* gdb.server/sysroot.c: New test.
* gdb.server/sysroot.exp: New file.
* lib/gdbserver-support.exp (gdb_target_cmd): Add additional text
matching param.
commit 62253a61473764b0d084b01eff06a93fb38bb2e3
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Apr 11 23:51:48 2019 +0100
gdb: Remove LANG_MAGIC
The language_defn structure has an la_magic field, this used to be
used as a basic check that the language_defn structure had the
expected layout - at least the end of the structure was where we
expected it to be.
This feature only really makes sense if we imagine GDB dynamically
loading language support from dynamic libraries, where a version
mismatch might cause problems.
However, in current GDB language support is statically built into GDB,
and since this commit:
commit 47e77640be31fc1a4eb3718f594ed5fd0faff065
Date: Thu Jul 20 18:28:01 2017 +0100
Make language_def O(1)
the existing (if pointless) check of the la_magic field was removed.
There now appears to be no use of the la_magic field, and I propose
that we delete it.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* ada-lang.c (ada_language_defn): Remove use of LANG_MAGIC.
* c-lang.c (c_language_defn): Likewise.
(cplus_language_defn): Likewise.
(asm_language_defn): Likewise.
(minimal_language_defn): Likewise.
* d-lang.c (d_language_defn): Likewise.
* f-lang.c (f_language_defn): Likewise.
* go-lang.c (go_language_defn): Likewise.
* language.c (unknown_language_defn): Likewise.
(auto_language_defn): Likewise.
* language.h (struct language_defn): Remove la_magic field.
(LANG_MAGIC): Delete.
* m2-lang.c (m2_language_defn): Remove use of LANG_MAGIC.
* objc-lang.c (objc_language_defn): Likewise.
* opencl-lang.c (opencl_language_defn): Likewise.
* p-lang.c (pascal_language_defn): Likewise.
* rust-lang.c (rust_language_defn): Likewise.
commit 3822612df0694cc07597e534fa73b34aa2540812
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Apr 12 00:00:26 2019 +0000
Automatic date update in version.in
commit a9158a863c18545634cb0f0462b326aeca30634c
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Apr 7 22:30:37 2019 +0100
gdb/riscv: Remove riscv_type_alignment function
Make use of the type_align function and remove riscv_type_alignment as
it is no longer needed. I tested this against a number of RV32 and
RV64 targets, and I also ran the tests with an assertion in place
checking that the old riscv_type_alignment function gives the same
answer as the common type_align function - it does, and all the tests
still pass.
gdb/ChangeLog:
* riscv-tdep.c (riscv_type_align): New function.
(riscv_type_alignment): Delete.
(riscv_arg_location): Use 'type_align'.
(riscv_gdbarch_init): Register riscv_type_align gdbarch function.
commit 41077b6625d16cc6c0c4b404a177a8850300b8a0
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Apr 6 11:02:04 2019 +0100
gdb: Fix alignment computation for structs with only static fields
The current code in gdbtypes.c:type_align incorrectly returns 0 as the
alignment for a structure containing only static fields. After this
patch the correct value of 1 is returned. The gdb.base/align.exp test
is extended to cover this case.
gdb/ChangeLog:
* gdbtypes.c (type_align): A struct with no non-static fields also
has alignment of 1.
gdb/testsuite/ChangeLog:
* gdb.base/align.exp: Extend test to cover structures containing
only static fields.
commit 9f0272f8548164b024ff9fd151686b2b904a5d59
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Apr 5 13:50:19 2019 +0100
gdb/riscv: Handle empty C++ structs during argument passing
This commit resolves a large number of failures in the test script
gdb.base/infcall-nested-structs.exp which were caused by GDB (for
RISC-V) incorrectly handling empty C++ structures when preparing
arguments for a dummy call, or collecting a return value.
The issue is further complicated in that there was a bug in GCC, such
that in some cases GCC would generate incorrect code when passing a
small structure that contained empty sub-structures. This was fixed
in GCC trunk on 5-March-2019, so in order to see the best results with
this patch you'll need a recent version of GCC.
Anything that used to work should continue to work after this patch,
regardless of GCC version being used.
The fix in this commit is that GDB now pays more attention to the
offset of fields within a structure when preparing arguments as in C++
an empty structure has a non-zero size, this is an example:
struct s1 { struct s2 { } empty; int f; };
We previously assumed that 'f' was at offset 0 inside type 's1',
however this is not the case in C++ as 's2' has size 1, and with
alignment 'f' is likely at some even bigger offset inside 's1'.
gdb/ChangeLog:
* riscv-tdep.c (riscv_call_arg_complex_float): Fix offset of first
component to 0.
(riscv_struct_info::riscv_struct_info): Initialise m_offsets
member.
(riscv_struct_info::analyse): New implementation using new
analyse_inner member function.
(riscv_struct_info::field_offset): New member function.
(riscv_struct_info::m_offsets): New member variable.
(riscv_struct_info::analyse_inner): New private member function,
takes the old implementation of riscv_struct_info::analyse but
extended to track field offsets.
(riscv_call_arg_struct): Update the struct folding special cases
to handle cases where empty C++ structs, which are non-zero
length, are found.
(riscv_arg_location): Initialise the length of each location, a
non-zero length now indicates the location is in use.
(riscv_push_dummy_call): Allow for the first location having a
non-zero offset when setting up arguments.
(riscv_return_value): Likewise, but for return values.
commit 02cf60c7a42710ee0364698c436b6ca5e771374b
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Apr 11 13:00:48 2019 -0600
Make "msg" const in internal_vproblem
I noticed that the "msg" variable in internal_vproblem could be
"const". This seems like an improvement because it can wind up in
rodata.
Tested by rebuilding.
gdb/ChangeLog
2019-04-11 Tom Tromey <tromey@adacore.com>
* utils.c (internal_vproblem): Make "msg" const.
commit c0b4cd465573f1772927cb3ad5d6e7d17af21622
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Thu Apr 4 17:06:57 2019 -0700
xtensa: gas: add relaxations tests
gas/
2019-04-11 Max Filippov <jcmvbkbc@gmail.com>
* testsuite/gas/xtensa/loop-relax-2.d: New test definition.
* testsuite/gas/xtensa/loop-relax.d: New test definition.
* testsuite/gas/xtensa/loop-relax.s: New test source.
* testsuite/gas/xtensa/text-section-literals-1a.d: New test
definition.
* testsuite/gas/xtensa/text-section-literals-2.d: New test
definition.
* testsuite/gas/xtensa/text-section-literals-2.s: New test
source.
* testsuite/gas/xtensa/text-section-literals-2a.d: New test
definition.
* testsuite/gas/xtensa/text-section-literals-3.d: New test
definition.
* testsuite/gas/xtensa/text-section-literals-3.s: New test
source.
* testsuite/gas/xtensa/text-section-literals-4.d: New test
definition.
* testsuite/gas/xtensa/text-section-literals-4.s: New test
source.
* testsuite/gas/xtensa/text-section-literals-4a.d: New test
definition.
commit 6f2b77153170392f6b6c38367d7e5c4d007a9c49
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Thu Apr 4 17:51:00 2019 -0700
xtensa: gas: convert tests to run_dump_tests
gas/
2019-04-11 Max Filippov <jcmvbkbc@gmail.com>
* testsuite/gas/xtensa/all.exp: Remove all expect-based
tests and all explicit run_dump_test / run_list_test
invocations. Add run_dump_tests for all .d files in the
test subdirectory.
* testsuite/gas/xtensa/entry_align.d: New test definition.
* testsuite/gas/xtensa/entry_align.l: New test output.
* testsuite/gas/xtensa/entry_misalign.d: New test definition.
* testsuite/gas/xtensa/entry_misalign2.d: New test definition.
* testsuite/gas/xtensa/j_too_far.d: New test definition.
* testsuite/gas/xtensa/j_too_far.l: New test output.
* testsuite/gas/xtensa/loop_align.d: New test definition.
* testsuite/gas/xtensa/loop_misalign.d: New test definition.
* testsuite/gas/xtensa/trampoline-2.d: New test definition.
* testsuite/gas/xtensa/trampoline-2.l: Remove empty output.
* testsuite/gas/xtensa/xtensa-err.exp: Use positive logic.
commit f8aecf3cc9a3c71a0fb9a8ddca8f131dde648276
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Wed Apr 10 01:18:01 2019 -0700
xtensa: gas: clean up literal management code
gas/
2019-04-11 Max Filippov <jcmvbkbc@gmail.com>
* config/tc-xtensa.c (xtensa_literal_pseudo): Drop code that has
no effect.
(get_literal_pool_location): Only search for the literal pool
when auto litpools is used, otherwise take one recorded in the
tc_segment_info_data.
(xtensa_assign_litpool_addresses): New function.
(xtensa_move_literals): Don't duplicate 'literal pool location
required...' error message. Call xtensa_assign_litpool_addresses.
commit 548791769dc737f05cb12e5ee4190b7e853beac9
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Mon Apr 8 13:47:18 2019 -0700
xtensa: gas: put .literal_position at section start
Provide literal position at the beginning of each section for literal
space reserved by relaxations when text-section-literals or
auto-litpools options are used. Remove code that adds fill frag to the
literal section for every .literal_position directive to avoid creation
of empty literal sections.
Fix auto-litpools tests that got literal pool address changes.
gas/
2019-04-11 Max Filippov <jcmvbkbc@gmail.com>
* config/tc-xtensa.c (xtensa_is_init_fini): Add declaration.
(xtensa_mark_literal_pool_location): Don't add fill frag to literal
section that records literal pool location.
(md_begin): Call xtensa_mark_literal_pool_location when text
section literals or auto litpools are used.
(xtensa_elf_section_change_hook): Call
xtensa_mark_literal_pool_location when text section literals or
auto litpools are used, there's no literal pool location defined
for the current section and it's not .init or .fini.
* testsuite/gas/xtensa/auto-litpools-first1.d: Fix up addresses.
* testsuite/gas/xtensa/auto-litpools-first2.d: Likewise.
* testsuite/gas/xtensa/auto-litpools.d: Likewise.
commit 035801cebe9ffbdddb465b81ae514a465ce9c64c
Author: Faraz Shahbazker <fshahbazker@wavecomp.com>
Date: Tue Apr 2 20:17:16 2019 +0000
ld: Add --no-print-map-discarded option
Add a new option to disable the listing of discarded sections
in map file output. The use case stems from a large application
built with -ffunction-sections --gc-sections where the list of
discarded sections blows up the map file output. The default
behaviour remains to print discarded sections, but the new option
allows us to disable it.
ld/
* NEWS: Mention new option --no-print-map-discarded.
* ld.h (ld_config_type) <print_map_discarded>: New field.
* ldlang.c (lang_map): Conditionally output discarded sections
in map files based on configuration option.
* ldlex.h (option_values) <OPTION_PRINT_MAP_DISCARDED,
OPTION_NO_PRINT_MAP_DISCARDED>: New.
* ldmain.c (main): Enabled print_map_discarded by default.
* lexsup.c (ld_options): Add new command-line options.
(parse_args) <OPTION_NO_PRINT_MAP_DISCARDED,
OPTION_PRINT_MAP_DISCARDED>: New cases.
* ld.texi: Document new options.
* testsuite/ld-gc/gc.exp: Add new test.
* testsuite/ld-gc/skip-map-discarded.s: New file.
* testsuite/ld-gc/skip-map-discarded.d: New file.
* testsuite/ld-gc/skip-map-discarded.map: New file.
commit c30391f893fd99e768c1a6282763ef553c45f1ff
Author: Tom de Vries <tdevries@suse.de>
Date: Thu Apr 11 19:13:05 2019 +0200
[gdb/testsuite] Add cc-with-dwz.exp and cc-with-dwz-m.exp
We can use CC_WITH_TWEAKS_FLAGS when cd-ing into the gdb build subdir and
invoking make check:
...
$ cd $objdir/gdb
$ make check \
RUNTESTFLAGS='--target_board=cc-with-tweaks' \
CC_WITH_TWEAKS_FLAGS='-z'
...
But when cd-ing into the top-level build dir and invoking make check-gdb
instead:
...
$ cd $objdir
$ make check-gdb \
RUNTESTFLAGS='--target_board=cc-with-tweaks' \
CC_WITH_TWEAKS_FLAGS='-z'
...
using CC_WITH_TWEAKS_FLAGS has no effect, because CC_WITH_TWEAKS_FLAGS is not
passed down from the top level Makefile.
Add cc-with-dwz.exp and cc-with-dwz-m.exp, that don't require
CC_WITH_TWEAKS_FLAGS to be set in the make invocation, allowing us to run these
test configurations from the toplevel build dir:
...
$ cd $objdir
$ make check-gdb \
RUNTESTFLAGS='--target_board=cc-with-dwz'
...
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-04-11 Tom de Vries <tdevries@suse.de>
* boards/cc-with-dwz-m.exp: New file.
* boards/cc-with-dwz.exp: New file.
* boards/cc-with-tweaks.exp: Note that check-gdb doesn't work.
commit 233a00833b984319d5e94db3f5d5d9a735edc984
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Apr 11 08:18:51 2019 -0700
x86: Add -z cet-report=[none|warning|error]
Add -z cet-report=[none|warning|error] to report the missing Intel
Indirect Branch Tracking (IBT) and Shadow Stack (SHSTK) properties
in input .note.gnu.property section. -z cet-report=none, which is
the default, will make the linker not report missing properties in
input files. -z cet-report=warning will make the linker issue a
warning for missing properties in input files. -z cet-report=error
will make the linker issue an error for missing properties in input
files. Note that -z ibt will turn off the missing IBT property report
and -z shstk will turn off the missing SHSTK property report.
Supported for Linux/i386 and Linux/x86_64.
bfd/
* elf-linker-x86.h (elf_x86_cet_report): New.
(elf_linker_x86_params): Add cet_report.
* elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
missing IBT and SHSTK properties if needed.
ld/
* ld.texi: Document -z cet-report=[none|warning|error].
* emulparams/cet.sh: Add -z cet-report=[none|warning|error].
* testsuite/ld-i386/i386.exp: Run -z cet-report=[warning|error]
tests.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/property-x86-cet1.d: New file.
* testsuite/ld-i386/property-x86-cet2a.d: Likewise.
* testsuite/ld-i386/property-x86-cet2b.d: Likewise.
* testsuite/ld-i386/property-x86-cet3a.d: Likewise.
* testsuite/ld-i386/property-x86-cet3b.d: Likewise.
* testsuite/ld-i386/property-x86-cet4a.d: Likewise.
* testsuite/ld-i386/property-x86-cet4b.d: Likewise.
* testsuite/ld-i386/property-x86-cet5a.d: Likewise.
* testsuite/ld-i386/property-x86-cet5b.d: Likewise.
* testsuite/ld-i386/property-x86-cet6.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet.s: 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-cet2b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet2b.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet3a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet3a.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet3b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet3b.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet4a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet4a.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet4b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet4b.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-cet6-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet6.d: Likewise.
commit ca4e63310228df72ba47e5b29f4c275e62496dcf
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Apr 11 07:53:55 2019 -0700
Add PR ld/24436 to ChangeLog entry
commit b3d7a86748247a68c69939cdf9925d4a78448f2d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Apr 11 06:52:03 2019 -0700
ld: Add -static-pie tests
Add -static-pie tests for DT_INIT_ARRAY, DT_FINI_ARRAY, DT_PREINIT_ARRAY
and IFUNC.
* testsuite/config/default.exp (STATIC_PIE_LDFLAGS): New. Set
to "-static-pie" if target compiler supports it.
* testsuite/ld-elf/elf.exp: Run -static-pie tests if
$STATIC_PIE_LDFLAGS isn't empty.
* testsuite/ld-ifunc/ifunc.exp: Likewise.
commit a0ea3a14dc6a6062c0c1f2bfbb7ad0373ec20843
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Apr 11 06:44:53 2019 -0700
Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry
Instead of BFD_ASSERT (h != NULL) with
ld: BFD ... assertion fail .../bfd/elf64-x86-64.c:2562
ld: bad.o: invalid string offset 50331648 >= 371 for section `nterp'
check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry with
ld: bad.o: section 'g': corrupt VTENTRY entry
* elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
"h != NULL". Don't check "h != NULL" before calling.
bfd_elf_gc_record_vtentry.
* elf32-arm.c (elf32_arm_check_relocs): Likewise.
* elf32-bfin.c (bfin_check_relocs): Likewise.
* elf32-cris.c (cris_elf_check_relocs): Likewise.
* elf32-csky.c (csky_elf_check_relocs): Likewise.
* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
* elf32-frv.c (elf32_frv_check_relocs): Likewise.
* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
* elf32-i386.c (elf_i386_check_relocs): Likewise.
* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
* elf32-metag.c (elf_metag_check_relocs): Likewise.
* elf32-or1k.c (or1k_elf_check_relocs): Likewise.
* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
* elf32-s390.c (elf_s390_check_relocs): Likewise.
* elf32-sh.c (sh_elf_check_relocs): Likewise.
* elf32-v850.c (v850_elf_check_relocs): Likewise.
* elf32-vax.c (elf_vax_check_relocs): Likewise.
* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
* elf64-s390.c (elf_s390_check_relocs): Likewise.
* elf64-x86-64.c (elf_s390_check_relocs): Likewise.
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
* elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
VTENTRY entry.
commit 9bff840e8cc560f5096a43609ed3e0d980733fd9
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 11 19:42:31 2019 +0930
PR24435, buffer overflow reading dynamic entries
PR 24435
* elflink.c (elf_link_add_object_symbols): Don't read partial
dynamic entries from fuzzed objects.
commit ce12121b63145322b4961bbb2b94b939cb916ba7
Author: Tamar Christina <tamar.christina@arm.com>
Date: Thu Apr 11 11:27:28 2019 +0100
AArch64: When DF_BIND_NOW don't use TLSDESC GOT value.
When using DF_BIND_NOW on AArch64 we don't reserve the GOT slot for a TLSDESC,
but we still emitted DT_TLSDESC_GOT and DT_TLSDESC_PLT. This caused random
memory corruption as the "special" value of (bfd_vma)-1 would be set for
dt_tlsdesc_got.
Since we don't have a value of dt_tlsdesc_got I also don't emit DT_TLSDESC_PLT
now becuase it would point to an incomplete PLT. To be able to write the PLT
entry DT_TLSDESC_GOT is needed and since we don't have one we can't write the
PLT entry either.
It is my understanding that GLIBC doesn't need these two entries when not lazy
loading. Conversely AArch32 does not reserve neither the GOT not the PLT slot
when doing DF_BIND_NOW.
AArch32 does not need these checks because these values are initialized to 0
and so the if (...) checks don't pass, but on AArch64 these are initialized
to (bfd_vma)-1 and thus we need some extra checks.
bfd/ChangeLog:
PR ld/24302
* elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
(elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
ld/ChangeLog:
PR ld/24302
* testsuite/ld-aarch64/aarch64-elf.exp: Add new test.
* testsuite/ld-aarch64/tls-relax-gdesc-le-now.d: New test.
commit bd7ceb8d26e011ff3fd23402ec2587d7c374f090
Author: Sudakshina Das <sudi.das@arm.com>
Date: Thu Apr 11 10:19:37 2019 +0100
[BINUTILS, AArch64, 2/2] Update Store Allocation Tag instructions
This patch updates the Store allocation tags instructions in
Armv8.5-A Memory Tagging Extension. This is part of the changes
that have been introduced recently in the 00bet10 release
All of these instructions have an updated register operand (Xt -> <Xt|SP>)
- STG <Xt|SP>, [<Xn|SP>, #<simm>]
- STG <Xt|SP>, [<Xn|SP>, #<simm>]!
- STG <Xt|SP>, [<Xn|SP>], #<simm>
- STZG <Xt|SP>, [<Xn|SP>, #<simm>]
- STZG <Xt|SP>, [<Xn|SP>, #<simm>]!
- STZG <Xt|SP>, [<Xn|SP>], #<simm>
- ST2G <Xt|SP>, [<Xn|SP>, #<simm>]
- ST2G <Xt|SP>, [<Xn|SP>, #<simm>]!
- ST2G <Xt|SP>, [<Xn|SP>], #<simm>
- STZ2G <Xt|SP>, [<Xn|SP>, #<simm>]
- STZ2G <Xt|SP>, [<Xn|SP>, #<simm>]!
- STZ2G <Xt|SP>, [<Xn|SP>], #<simm>
In order to accept <Rt|SP> a new operand type Rt_SP is introduced which has
the same field as FLD_Rt but follows other semantics of Rn_SP.
*** gas/ChangeLog ***
2019-04-11 Sudakshina Das <sudi.das@arm.com>
* config/tc-aarch64.c (process_omitted_operand): Add case for
AARCH64_OPND_Rt_SP.
(parse_operands): Likewise.
* testsuite/gas/aarch64/armv8_5-a-memtag.d: Update tests.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
*** include/ChangeLog ***
2019-04-11 Sudakshina Das <sudi.das@arm.com>
* opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_Rt_SP.
*** opcodes/ChangeLog ***
2019-04-11 Sudakshina Das <sudi.das@arm.com>
* aarch64-opc.c (aarch64_print_operand): Add case for
AARCH64_OPND_Rt_SP.
(verify_constraints): Likewise.
* aarch64-tbl.h (QL_LDST_AT): Update to add SP qualifier.
(struct aarch64_opcode): Update stg, stzg, st2g, stz2g instructions
to accept Rt|SP as first operand.
(AARCH64_OPERANDS): Add new Rt_SP.
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
commit e54010f1aeb050cb9d65862a0afe9095a7a85f27
Author: Sudakshina Das <sudi.das@arm.com>
Date: Thu Apr 11 10:13:23 2019 +0100
[BINUTILS, AArch64, 1/2] Add new LDGM/STGM instruction
This patch adds the new LDGM/STGM instructions of the
Armv8.5-A Memory Tagging Extension. This is part of the changes
that have been introduced recently in the 00bet10 release
The instructions are as follows:
LDGM Xt, [<Xn|SP>]
STGM Xt, [<Xn|SP>]
*** gas/ChangeLog ***
2019-04-11 Sudakshina Das <sudi.das@arm.com>
* testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for ldgm and stgm.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
*** opcodes/ChangeLog ***
2019-04-11 Sudakshina Das <sudi.das@arm.com>
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Likewise.
* aarch64-opc-2.c: Likewise.
* aarch64-tbl.h (aarch64_opcode): Add new ldgm and stgm.
commit 68811f8ff84895ef1cad37ac6947f1a340dd2ae2
Author: Alan Hayward <alan.hayward@arm.com>
Date: Wed Apr 10 15:58:27 2019 +0100
AArch64: Ensure regcache is reset between tests
A recent change made the AArch64 self tests resuse the saved regs
cache, rather than creating a new one. Ensure it is reset to default
values between tests.
Do this by splitting the reset functionality from trad_frame_alloc_saved_regs
into a new function.
Fixes selftest on AArch64.
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_analyze_prologue_test): Reset saved regs.
* trad-frame.c (trad_frame_reset_saved_regs): New function.
(trad_frame_alloc_saved_regs): Call trad_frame_reset_saved_regs.
* trad-frame.h (trad_frame_reset_saved_regs): New declaration.
commit 795e3bb7de9ce2eb1ec3de3faf8f6bc925a58c9e
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 10 18:36:05 2019 -0700
ld: Don't define __rel[a]_iplt_start/__rel[a]_iplt_end in PIE
__rel[a]_iplt_start and __rel[a]_iplt_end are defined to handle IFUNC in
static executables. For PIE, since IFUNC is handled as the part of the
normal dynamic relocation processing, there is no need to define these
symbols in PIE.
* scripttempl/elf.sc (CREATE_PIC): New. Set for CREATE_SHLIB or
CREATE_PIE.
(__rel_iplt_start): Don't define for CREATE_PIC.
(__rel_iplt_end): Likewise.
(__rela_iplt_start): Likewise.
(__rela_iplt_end): Likewise.
commit 3f52fdbcb599f76b4838020721ca6c9f1cc28f84
Author: Kevin Buettner <kevinb@redhat.com>
Date: Sat Mar 16 12:40:01 2019 -0700
Fix amd64->i386 linux syscall restart problem
This commit fixes some failures in gdb.base/interrupt.exp
when debugging a 32-bit i386 linux inferior from an amd64 host.
When running the following test...
make check RUNTESTFLAGS="--target_board unix/-m32 interrupt.exp"
... without this commit, I see the following output:
FAIL: gdb.base/interrupt.exp: continue (the program exited)
FAIL: gdb.base/interrupt.exp: echo data
FAIL: gdb.base/interrupt.exp: Send Control-C, second time
FAIL: gdb.base/interrupt.exp: signal SIGINT (the program is no longer running)
ERROR: Undefined command "".
ERROR: GDB process no longer exists
=== gdb Summary ===
When the test is run with this commit in place, we see 12 passes
instead. This is the desired behavior.
Analysis:
On Linux, when a syscall is interrupted by a signal, the syscall
may return -ERESTARTSYS when a signal occurs. Doing so indicates that
the syscall is restartable. Then, depending on settings associated
with the signal handler, and after the signal handler is called, the
kernel can then either return -EINTR or can cause the syscall to be
restarted. In this discussion, we are concerned with the latter
case.
On i386, the kernel returns this status via the EAX register.
When debugging a 32-bit (i386) process from a 64-bit (amd64)
GDB, the debugger fetches 64-bit registers even though the
process being debugged is 32-bit. Since we're debugging a 32-bit
target, only 32 bits are being saved in the register cache.
Now, ideally, GDB would save all 64-bits in the regcache and
then would be able to restore those same values when it comes
time to continue the target. I've looked into doing this, but
it's not easy and I don't see many benefits to doing so. One
benefit, however, would be that EAX would appear as a negative
value for doing syscall restarts.
At the moment, GDB is setting the high 32 bits of RAX (and other
registers too) to 0. So, when GDB restores EAX just prior to
a syscall restart, the high 32 bits of RAX are zeroed, thus making
it look like a positive value. For this particular purpose, we
need to sign extend EAX so that RAX will appear as a negative
value when EAX is set to -ERESTARTSYS. This in turn will cause
the signal handling code in the kernel to recognize -ERESTARTSYS
which will in turn cause the syscall to be restarted.
This commit is based on work by Jan Kratochvil from 2009:
https://sourceware.org/ml/gdb-patches/2009-11/msg00592.html
Jan's patch had the sign extension code in amd64-nat.c. Several
other native targets make use of this code, so it seemed better
to move the sign extension code to a linux specific file. I
also added similar code to gdbserver.
Another approach is to fix the problem in the kernel. Hui Zhu
tried to get a fix into the kernel back in 2014, but it was not
accepted. Discussion regarding this approach may be found here:
https://lore.kernel.org/patchwork/patch/457841/
Even if a fix were to be put into the kernel, we'd still need
some kind of fix in GDB in order to support older kernels.
Finally, I'll note that Fedora has been carrying a similar patch for
at least nine years. Other distributions, including RHEL and CentOS
have picked up this change and have been using it too.
gdb/ChangeLog:
* amd64-linux-nat.c (amd64_linux_collect_native_gregset): New
function.
(fill_gregset): Call amd64_linux_collect_native_gregset instead
of amd64_collect_native_gregset.
(amd64_linux_nat_target::store_registers): Likewise.
gdb/gdbserver/ChangeLog:
* linux-x86-low.c (x86_fill_gregset): Sign extend EAX value
when using a 64-bit gdbserver.
commit e7f0831be837c00511573e4466a57cc0b8b097d4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Apr 11 00:00:28 2019 +0000
Automatic date update in version.in
commit c1202057eb9161a86af27d867703235fee7b7555
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 10 15:49:36 2019 +0100
Pull in patch for libiberty that fixes a stack exhaustion bug when demangling a pathalogically constructed mangled name.
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 e9ad22ee5f0a40dfa1182ee68e3349dd72a42afe
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 10 15:37:20 2019 -0600
Introduce a separate debug objfile iterator
This introduces a new iterator and range adapter for iteration over
the separate debug files of a given objfile. As in the current
approach, the requested objfile is returned first, followed by the
separate debug objfiles.
gdb/ChangeLog
2019-04-10 Tom Tromey <tom@tromey.com>
* symtab.c (lookup_global_symbol_from_objfile)
(lookup_symbol_in_objfile_from_linkage_name): Use the iterator.
* objfiles.h (class separate_debug_iterator): New.
(class separate_debug_range): New.
(struct objfile) <separate_debug_objfiles>: New method.
(objfile_separate_debug_iterate): Don't declare.
* objfiles.c (separate_debug_iterator::operator++): Rename from
objfile_separate_debug_iterate.
(objfile_relocate, objfile_rebase, objfile_has_symbols): Use the
iterator.
* minsyms.c (lookup_minimal_symbol_by_pc_section): Use the
iterator.
commit ee3711344b6e0cffeb237fa6889aab04853f9004
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 10 15:01:26 2019 -0600
Fix a couple of comments
While working on objfiles I noticed a typo in one comment, and another
comment that, as far as I can tell, has been obsolete for a very long
time.
gdb/ChangeLog
2019-04-10 Tom Tromey <tom@tromey.com>
* symfile.c (reread_symbols): Remove old comment.
* objfiles.c (free_all_objfiles): Fix a typo.
commit bf227d6105cb3908cde816429c84569da12e829c
Author: Tom Tromey <tom@tromey.com>
Date: Sat Jan 19 21:30:36 2019 -0700
Remove some uses of "object_files"
The "object_files" macro is sometimes used when iterating over
objfiles. This patch removes a few such uses in favor of the new
range adapter.
gdb/ChangeLog
2019-04-10 Tom Tromey <tom@tromey.com>
* ia64-tdep.c (ia64_get_dyn_info_list): Use foreach.
* minsyms.c (lookup_minimal_symbol): Use foreach.
(lookup_minimal_symbol_text, lookup_minimal_symbol_by_pc_name)
(lookup_minimal_symbol_solib_trampoline): Likewise.
* symfile.c (reread_symbols): Use foreach.
commit b05971a652c35ed72d3c95290e18d8f6e4ef6c46
Author: Michael Forney <mforney@mforney.org>
Date: Wed Apr 10 18:17:37 2019 +0930
PR24427, bfd/doc/chew.c reads uninitialized memory and subtracts from function pointer
PR 24427
* doc/chew.c (free_words): Correctly free "push_text" strings.
commit a5def729be2596496aec225e843903b25c672e01
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date: Wed Apr 10 09:48:43 2019 +0200
Disable R_X86_64_PLT32 generation as branch marker on Solaris/x86
The fix H.J. implemented for PR gas/22791 in the thread starting at
[PATCH] x86-64: Treat PC32 relocation with branch as PLT32
https://sourceware.org/ml/binutils/2018-02/msg00065.html
is causing problems on Solaris/x86. The native linker is strongly
preferred there, and there's no intention of implementing the linker
optimization he plans there. Besides, the kernel runtime linker,
otherwise has no need to deal with that reloc at all, and instead of
adding (possibly even more) workarounds with no benefit, it seems
appropriate to disable the R_X86_64_PLT32 generation as branch marker on
Solaris/x86 in the first place.
The patch itself is trivial, the only complication is adapting the
testsuite. Since I've found no way to have conditional sections in the
.d files, I've instead used the solution already found elsewhere of
having separate .d files for the affected tests in an i386/solaris
subdirectory and skipping the original ones.
Tested on amd64-pc-solaris2.11 and x86_64-pc-linux-gnu without
regressions.
* config/tc-i386.c (need_plt32_p) [TE_SOLARIS]: Return FALSE.
* testsuite/gas/i386/solaris/solaris.exp: New driver.
* testsuite/gas/i386/solaris/reloc64.d,
testsuite/gas/i386/solaris/x86-64-jump.d,
testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d,
testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d,
testsuite/gas/i386/solaris/x86-64-nop-3.d,
testsuite/gas/i386/solaris/x86-64-nop-4.d,
testsuite/gas/i386/solaris/x86-64-nop-5.d,
testsuite/gas/i386/solaris/x86-64-relax-2.d,
testsuite/gas/i386/solaris/x86-64-relax-3.d: New tests.
* testsuite/gas/i386/reloc64.d,
testsuite/gas/i386/x86-64-jump.d,
testsuite/gas/i386/x86-64-mpx-branch-1.d,
testsuite/gas/i386/x86-64-mpx-branch-2.d,
testsuite/gas/i386/x86-64-nop-3.d,
testsuite/gas/i386/x86-64-nop-4.d,
testsuite/gas/i386/x86-64-nop-5.d,
testsuite/gas/i386/x86-64-relax-2.d,
testsuite/gas/i386/x86-64-relax-3.d: Skip on *-*-solaris*.
commit e6aded7c34054a2eea55ec56ca3b997ddd0197cf
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 10 15:30:37 2019 +0930
Re: XFAIL PR ld/20995 tests for lynxos and nto targets
* testsuite/ld-elf/shared.exp: Don't xfail PR ld/20995 for
powerpc-nto.
commit 53b81c6de19a1f89e3c797631e72d05ba41444dc
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 10 11:58:15 2019 +0930
cskyelf.em branch stub handling
This fixes the csky-elf ld-elf/pr21884 and ld-unique/pr21529 failures,
by disabling branch stubs for binary (and other non-csky) output.
The csky-linux target gets branch stubs off by default because
presumably there are reasons why branch stubs were disabled, but
rather than killing the support completely it can be enabled by
--branch-stub.
* emultempl/cskyelf.em (csk_elf_before_parse): New function,
setting use_branch_stub false for linux.
(csky_elf_create_output_section_statements): Do emit this
function and all others in the file for linux, plus the branch
option control. Disable branch stubs when non-ELF.
commit c55b17b8098abde4ae7dfe0ec1f3b22a7fb0a34d
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 10 11:35:48 2019 +0930
Fix some ld dependencies
In looking at the csky-elf vs. csky-linux differences, the first thing
I compared was csky_elf.sh and cskyelf_linux.sh. Those files are
mostly the same but besides the real differences, annoyingly have some
lines ordered differently. It's better in such cases to have one file
source the other, making differences plain. This patch does that for
csky and microblaze, removes an unused variable defined in a few
places, and fixes ld makefile dependencies.
* Makefile.am (eskyelf.c, eskyelf_linux.c): Depend on cskyelf.em.
(ecskyelf_linux.c): Depend on cskyelf.sh.
(eelf32microblazeel.c): Depend on elf32microblaze.sh.
* Makefile.in: Regenerate.
* emulparams/cskyelf.sh: Comment regarding cskelf_linux.sh.
(PAGE_SIZE): Don't define.
* emulparams/cskyelf_linux.sh: Source sckyelf.sh, leaving just
the differing variable defs/undefs.
* emulparams/elf32mcore.sh (PAGE_SIZE): Don't define.
* emulparams/elf32microblaze.sh: Comment re. elf32microblazeel.sh.
(OUTPUT_FORMAT): Use BIG_OUTPUT_FORMAT.
(PAGE_SIZE): Don't define.
* emulparams/elf32microblazeel.sh: Source elf32microblaze.sh,
leaving just the differing OUTPUT_FORMAT.
commit 6feda62721cd6e288f79b0ee5f1489fee8e570ab
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 10 11:57:00 2019 +0930
Regen BLD-POTFILES.in
* po/BLD-POTFILES.in: Regenerate.
commit 12400dcc0f3a4be8d1d165dc2b3a9f0bb9b579f0
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 8 16:57:51 2019 +0930
te-cloudabi.h
This patch is aimed a fixing large numbers of x86_64-cloudabi failures
caused by gas selecting the wrong target name.
* config/te-cloudabi.h: New file.
* config/tc-aarch64.c (aarch64_after_parse_args): Use TE_CLOUDABI
rather than TARGET_OS to select cloudabi.
* config/tc-i386.h (ELF_TARGET_FORMAT64): Define for TE_CLOUDABI.
* configure.tgt (*-*-cloudabi*): Set em=cloudabi.
commit 789ce185ac3353ed5bc21dd8ea70a8094e4876d5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Apr 10 00:00:40 2019 +0000
Automatic date update in version.in
commit 8dc433a0fb04f8fa37530d0788053dd9bea5c37d
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Apr 9 13:19:28 2019 -0600
Fix Rust lexer buglet
PR rust/24414 points out that the Rust lexer uses strtoul when lexing
an integer, and that this can give the wrong results in some
situations.
This patch changes it to use strtoulst, like most of the rest of gdb.
It also adds a self test.
Tested on x86-64 Fedora 29 using an i686 build.
gdb/ChangeLog
2019-04-09 Ivan Begert <ivanbegert@gmail.com>
Tom Tromey <tromey@adacore.com>
PR rust/24414:
* rust-exp.y (rust_parser::lex_number): Use strtoulst.
(rust_lex_int_test): Change "value" to be LONGEST.
(rust_lex_tests): Add test for long integer literal.
commit b0319eaaf9d1f4e730c532058f2fff0b4e5ce682
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Apr 4 16:57:11 2019 -0600
Use find_thread_in_random in select_event_lwp
I noticed that find_thread_in_random duplicates the code in
find_thread_in_random, so this patch changes the latter to use the
former.
There are two other spots in gdb that do this, but to unify all of
them would require switching some code from using the "iterate over"
idiom to using iterators.
Another possible improvement is that find_thread_in_random could be
made single-pass using reservoir sampling.
Tested by the buildbot.
gdb/gdbserver/ChangeLog
2019-04-09 Tom Tromey <tromey@adacore.com>
* linux-low.c (select_event_lwp): Use find_thread_in_random.
commit 9ab8741a48294e19d514721c710c81bba46db7f2
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Apr 4 17:03:27 2019 -0600
Consistently use bool for fake_pid_p
I noticed a few spots where fake_pid_p is handled as an int, whereas
the field in struct inferior has type bool. This patch changes the
remaining places to use bool as well.
Tested by the buildbot.
gdb/ChangeLog
2019-04-09 Tom Tromey <tromey@adacore.com>
* remote.c (remote_target::remote_add_inferior): Change fake_pid_p
to bool.
(extended_remote_target::attach): Update.
(remote_target::remote_notice_new_inferior): Update.
(remote_target::add_current_inferior_and_thread): Update.
* inferior.c (exit_inferior_1): Use "false".
* corelow.c (add_to_thread_list): Make fake_pid_p bool.
commit 9ca1957fcb3c6904d9e5fb0a0e78d4b98f76b1b6
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Tue Apr 9 12:35:29 2019 -0400
Fix typo in latest ChangeLog entry
commit e242fd1249ae85a97f08f95d5c61f4cbe3b906e0
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Tue Apr 9 12:32:26 2019 -0400
Use -qualified flag when setting temporary breakpoint in start command
When using the "start" command, GDB puts a temporary breakpoint on the
"main" symbol (we literally invoke the tbreak command). However, since
it does wild matching by default, it also puts a breakpoint on any C++
method or "main" function in a namespace. For example, when debugging
GDB, it creates a total of 24 locations:
(gdb) start
Temporary breakpoint 1 at 0x198c1e9: main. (24 locations)
as there are a bunch of methods called main in the selftests, such as
selftests::string_view::capacity_1::main()
If such method was called in the constructor of a global object, or a
function marked with the attribute "constructor", then we would stop at
the wrong place. Also, this causes a few extra symtabs (those that
contain the "wrong" mains) to be expanded for nothing.
The dummiest, most straightforward solution is to add -qualified when
invoking tbreak. With this patch, "start" creates a single-location
breakpoint, as expected.
I copied the start.exp test to start-cpp.exp and made it use a C++ test
file, which contains two main functions. The new test verifies that the
output of "start" is the output we get when we set a single-location
breakpoint.
gdb/ChangeLog:
* infcmd.c (run_command_1): Pass -qualified to tbreak when usind
the "start" command.
gdb/testsuite/ChangeLog:
* gdb.base/start-cpp.exp: New file.
* gdb.base/start-cpp.cc: New file.
commit 7e96e219a4fc703282ea5b0cc8845a96c01ca030
Author: Robert Suchanek <robert.suchanek@mips.com>
Date: Tue Apr 9 17:30:26 2019 +0800
[MIPS] Add RDHWR with the SEL field for MIPS R6.
In Release 6 of the MIPS architecture [1], instruction RDHWR supports
a 3rd operand to serve as the 3-bit select field for the hardware
register.
[1] "MIPS Architecture for Programmers Volume II-A: The MIPS32
Instruction Set Manual", Imagination Technologies Ltd., Document
Number: MD00086, Revision 6.06, December 15, 2016, Section 3.2
"Alphabetical List of Instructions", pp. 332-334
opcodes/
* mips-opc.c (mips_builtin_opcodes): Add RDHWR rt rd sel.
gas/
* testsuite/gas/mips/mips.exp: Run hwr-names test.
* testsuite/gas/mips/hwr-names.s: Add test cases for RDHWR with
the SEL field.
* testsuite/gas/mips/mipsr6@hwr-names.d: New file.
commit 2b0c8b019996b23fb4717687f5e7ac8c5620c089
Author: Kevin Buettner <kevinb@redhat.com>
Date: Wed Mar 20 20:38:33 2019 -0700
Rename python function thread_from_thread_handle to thread_from_handle
This renaming was done to stay consistent with the naming of the new
gdb.InferiorThread.handle method. I had initially named it "thread_handle"
but Tom Tromey suggested just "handle".
The old name (thread_from_thread_handle) still works, but is marked as
deprecated in comments in the code as well as in the documentation.
I have some code which uses these functions. I very much like the
brevity of the new names.
gdb/doc/ChangeLog:
* python.texi (Inferiors In Python): Rename
Inferior.thread_from_thread_handle to Inferior.thread_from_handle.
Add note about the former being deprecated.
gdb/ChangeLog:
* python/py-inferior.c (infpy_thread_from_thread_handle):
Adjust comments to reflect renaming of thread_from_thread_handle
to thread_from_handle. Adjust keywords. Fix type error message.
(inferior_object_methods): Add thread_from_handle. Retain
thread_from_thread_handle, but mark it as deprecated.
testsuite/ChangeLog:
* gdb.python/py-thrhandle.exp: Adjust tests to call
thread_from_handle instead of thread_from_thread_handle.
commit c369f8f0face23a06e0cf114bf70a024ba9b4959
Author: Kevin Buettner <kevinb@redhat.com>
Date: Sat Sep 15 21:53:38 2018 -0700
Documentation for python method InferiorThread.handle
gdb/doc/ChangeLog:
* python.texi (Threads In Python): Add description for method
InferiorThread.handle.
commit 947210e5690c61b395ccd887bc58bcb45ccd357b
Author: Kevin Buettner <kevinb@redhat.com>
Date: Sat Sep 15 21:15:49 2018 -0700
Tests for gdb.InferiorThread.handle
gdb/testsuite/ChangeLog:
* gdb.python/py-thrhandle.exp: Add tests for
gdb.InferiorThread.handle.
commit 50a82723c446c556287dcabe22183bc5cedab566
Author: Kevin Buettner <kevinb@redhat.com>
Date: Wed Feb 27 15:06:28 2019 -0700
Support buffer objects as handles in Inferior.thread_from_thread_handle()
InferiorThread.handle() returns a python bytes object. We'd like to
be able to pass the output of this function, a thread handle, to
Inferior.thread_from_thread_handle(). Up to now,
thread_from_thread_handle() expects to receive a gdb.Value input.
This commit adds support to also allow a python buffer object to be
passed as the handle.
infpy_thread_from_thread_handle() calls find_thread_by_handle() which
has the obvious functionality. It used to pass the thread handle via
a struct value pointer. I've revised this interface to instead pass a
gdb::array_view<const gdb_byte> object. (Thanks to Tom Tromey for
suggesting this data structure over an earlier version which passed a
gdb_byte pointer and length.)
gdb/ChangeLog:
* gdbthread.h (find_thread_by_handle): Revise declaration.
* thread.c (find_thread_by_handle): Likewise. Adjust
implementation too.
* python/py-inferior.c (infpy_thread_from_thread_handle): Add
support for buffer objects as handles.
commit cf63b0162b6cbf74bdb056609d1ad777c6d48954
Author: Kevin Buettner <kevinb@redhat.com>
Date: Wed Feb 27 14:59:02 2019 -0700
Add python method InferiorThread.handle
gdb/ChangeLog:
* python/py-infthread.c (thpy_thread_handle): New function.
(thread_object_methods): Register thpy_thread_handle.
commit 3d6c62048d8408fbfb6c66830e0c650e36259637
Author: Kevin Buettner <kevinb@redhat.com>
Date: Thu Feb 7 19:16:04 2019 -0700
Introduce target_ops method thread_info_to_thread_handle
This patch adds a thread_info_to_thread_handle method to the target_ops
struct. It also implements this functionality for remote targets and
linux native threads.
gdb/ChangeLog:
* gdbthread.h (thread_to_thread_handle): Declare.
* thread.c (gdbtypes.h): Include.
(thread_to_thread_handle): New function.
* target.h (struct target_ops): Add thread_info_to_thread_handle.
(target_thread_info_to_thread_handle): Declare.
* target.c (target_thread_info_to_thread_handle): New function.
* target-debug.h (target_debug_print_gdb_byte_vector): Define.
* target-delegates.c: Regenerate.
* linux-thread-db.c (class thread_db_target): Add method
thread_info_to_thread_handle.
(thread_db_target::thread_info_to_thread_handle): Define.
* remote.c (class remote_target): Add new method
thread_info_to_thread_handle.
(remote_target::thread_info_to_thread_handle): Define.
commit 462cac5884ed4c38e6180b2e2769aaa5225e695b
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Apr 8 17:04:01 2019 -0700
x86: Define GNU_PROPERTY_X86_ISA_1_AVX512_BF16
Update assembler and readelf to support
#define GNU_PROPERTY_X86_ISA_1_AVX512_BF16 (1U << 24)
for AVX512_BF16.
binutils/
* readelf.c (decode_x86_isa): Handle
GNU_PROPERTY_X86_ISA_1_AVX512_BF16.
* testsuite/binutils-all/i386/pr21231b.d: Updated.
* testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
gas/
* config/tc-i386.c (output_insn): Support
GNU_PROPERTY_X86_ISA_1_AVX512_BF16.
* testsuite/gas/i386/property-2.s: Add AVX512_BF16 test.
* testsuite/gas/i386/property-2.d: Updated.
* testsuite/gas/i386/x86-64-property-2.d: Likewise.
include/
* elf/common.h (GNU_PROPERTY_X86_ISA_1_AVX512_BF16): New.
commit 8c402d4151a18c735d1d23ddbe56957d65322064
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Apr 9 00:00:26 2019 +0000
Automatic date update in version.in
commit c93c0e7f3f21f809d9390e2e7096f7e2cb8334e2
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Apr 8 13:54:20 2019 -0700
XFAIL PR ld/20995 tests for lynxos and nto targets
lynxos and nto targets don't support RELRO.
* testsuite/ld-elf/shared.exp: XFAIL PR ld/20995 tests for
lynxos and nto targets.
commit 56be6ea89cdf94078d5dff3734b8c1970dbf52fa
Author: Pedro Alves <palves@redhat.com>
Date: Mon Apr 8 13:03:54 2019 +0100
Some gdb_exception{,error,quit} tweaks
- Explicitly include <string> for std::string.
- Use std::make_shared to construct gdb_exception::message instead of
operator new, avoiding one heap allocation (2 instead of 3). Add
'const char *fmt, va_list ap' parameters to
gdb_exception{,error,quit}'s ctors, and do the std::make_shared in
the gdb_exception ctor.
- gdb_exception_error's constructor does not need to have an 'enum
return_reason' parameter, since it is always RETURN_ERROR, by
definition.
- Similarly, gdb_exception_quit's contructor does not need to have
'enum return_reason'/'enum errors' parameters.
- In the gdb_exception_{quit,_error} ctors that take a gdb_exception
as argument, assert that they're being passed a gdb_exception object
of the right 'reason'.
gdb/ChangeLog:
2019-04-08 Pedro Alves <palves@redhat.com>
* common/common-exceptions.c (throw_exception): Don't create
named object to throw; throw directly.
(throw_it): Likewise. Don't initialize gdb_exception::message
here, with new; pass FMT and AP to the ctor instead.
* common/common-exceptions.h: Include <string>.
(gdb_exception::gdb_exception(enum return_reason, enum errors,
const char *, va_list)): New ctor. Use std::make_shared.
(gdb_exception_error::gdb_exception_error(enum return_reason, enum
errors)): Delete.
(gdb_exception_error::gdb_exception_error(enum errors, const char
*, va_list)): New.
(gdb_exception_error::gdb_exception_error(const gdb_exception &)):
Add assertion.
(gdb_exception_quit::gdb_exception_quit(enum return_reason, enum
errors)): Delete.
(gdb_exception_quit::gdb_exception_quit(const char *, va_list)): New.
(gdb_exception_quit::gdb_exception_quit(const gdb_exception &)):
Add assertion.
commit 3ae61bb67d62eb53d110835b8b7c3a289e6bce45
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Apr 8 11:58:51 2019 -0700
x86: Remove i386-*-kaos* and i386-*-chaos targets
Remove i386-*-kaos* and i386-*-chaos targets since they are no longer
supported by config.sub:
$ .../config.sub i386-kaos
Invalid configuration `i386-kaos': system `kaos' not recognized
$ .../config.sub i386-chaos
Invalid configuration `i386-chaos': system `chaos' not recognized
$
bfd/
* config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
gas/
* configure.tgt: Remove i386-*-kaos* and i386-*-chaos targets.
* testsuite/gas/i386/i386.exp: Remove *-*-caos* and "*-*-kaos*
check.
ld/
* Makefile.am (ALL_EMULATION_SOURCES): Remove eelf_i386_chaos.c.
(eelf_i386_chaos.c): Removed.
* Makefile.in: Regenerated.
* configure.tgt: Remove i[3-7]86-*-kaos*.
* emulparams/elf_i386_chaos.sh: Removed.
commit 82b535931242b017a0929460e38c430178b0d72e
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Apr 8 11:34:32 2019 -0700
Count i386-moss as ELF
* testsuite/binutils-all/nm.exp: Count i386-moss as ELF.
commit da9b5f7be7cb44e832972252dbaf53d242b0e099
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Apr 8 11:27:57 2019 -0700
Use elf-x86.em for i386-moss and i386-beos
* emulparams/elf_i386_be.sh (EXTRA_EM_FILE): New.
* emulparams/i386moss.sh (EXTRA_EM_FILE): Likewise.
commit 6f2791d5de45a9490ba6844617feac038c8da8bd
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Apr 8 11:06:04 2019 -0700
x86: Consolidate AVX512 BF16 entries in i386-opc.tbl
1. Use single entry for vcvtne2ps2bf16 and vdpbf16ps with Disp8ShiftVL.
2. Use 5 entries, instead of 8, for vcvtneps2bf16.
* i386-opc.tbl: Consolidate AVX512 BF16 entries.
* i386-init.h: Regenerated.
commit eedc3f4f0a02c9774277bd1a34aab6ebdc32f797
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 28 10:45:45 2019 -0700
Replace throw_exception with throw in some cases
This replaces throw_exception with "throw;" when possible. This was
written by script. The rule that is followed is that uses of the
form:
catch (... &name)
{
...
throw_exception (name);
}
... can be rewritten. This should always be safe, because exceptions
are caught by const reference, and therefore can't be modified in the
body of the catch.
gdb/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* valops.c (value_rtti_indirect_type): Replace throw_exception
with throw.
* tracefile-tfile.c (tfile_target_open): Replace throw_exception
with throw.
* thread.c (thr_try_catch_cmd): Replace throw_exception with
throw.
* target.c (target_translate_tls_address): Replace throw_exception
with throw.
* stack.c (frame_apply_command_count): Replace throw_exception
with throw.
* solib-spu.c (append_ocl_sos): Replace throw_exception with
throw.
* s390-tdep.c (s390_frame_unwind_cache): Replace throw_exception
with throw.
* rs6000-tdep.c (rs6000_frame_cache)
(rs6000_epilogue_frame_cache): Replace throw_exception with throw.
* remote.c: Replace throw_exception with throw.
* record-full.c (record_full_message, record_full_wait_1)
(record_full_restore): Replace throw_exception with throw.
* record-btrace.c:
(get_thread_current_frame_id, record_btrace_start_replaying)
(cmd_record_btrace_bts_start, cmd_record_btrace_pt_start)
(cmd_record_btrace_start): Replace throw_exception with throw.
* parse.c (parse_exp_in_context_1): Replace throw_exception with
throw.
* linux-nat.c (detach_one_lwp, linux_resume_one_lwp)
(resume_stopped_resumed_lwps): Replace throw_exception with throw.
* linespec.c:
(find_linespec_symbols): Replace throw_exception with throw.
* infrun.c (displaced_step_prepare, resume): Replace
throw_exception with throw.
* infcmd.c (post_create_inferior): Replace throw_exception with
throw.
* inf-loop.c (inferior_event_handler): Replace throw_exception
with throw.
* i386-tdep.c (i386_frame_cache, i386_epilogue_frame_cache)
(i386_sigtramp_frame_cache): Replace throw_exception with throw.
* frame.c (frame_unwind_pc, get_prev_frame_if_no_cycle)
(get_prev_frame_always, get_frame_pc_if_available)
(get_frame_address_in_block_if_available, get_frame_language):
Replace throw_exception with throw.
* frame-unwind.c (frame_unwind_try_unwinder): Replace
throw_exception with throw.
* eval.c (fetch_subexp_value, evaluate_var_value)
(evaluate_funcall, evaluate_subexp_standard): Replace
throw_exception with throw.
* dwarf2loc.c (call_site_find_chain)
(dwarf2_evaluate_loc_desc_full, dwarf2_locexpr_baton_eval):
Replace throw_exception with throw.
* dwarf2-frame.c (dwarf2_frame_cache): Replace throw_exception
with throw.
* darwin-nat.c (darwin_attach_pid): Replace throw_exception with
throw.
* cp-abi.c (baseclass_offset): Replace throw_exception with throw.
* completer.c (complete_line_internal): Replace throw_exception
with throw.
* compile/compile-object-run.c (compile_object_run): Replace
throw_exception with throw.
* cli/cli-script.c (process_next_line): Replace throw_exception
with throw.
* btrace.c (btrace_compute_ftrace_pt, btrace_compute_ftrace)
(btrace_enable, btrace_maint_update_pt_packets): Replace
throw_exception with throw.
* breakpoint.c (create_breakpoint, save_breakpoints): Replace
throw_exception with throw.
* break-catch-throw.c (re_set_exception_catchpoint): Replace
throw_exception with throw.
* amd64-tdep.c (amd64_frame_cache, amd64_sigtramp_frame_cache)
(amd64_epilogue_frame_cache): Replace throw_exception with throw.
* aarch64-tdep.c (aarch64_make_prologue_cache)
(aarch64_make_stub_cache): Replace throw_exception with throw.
gdb/gdbserver/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* linux-low.c (linux_detach_one_lwp): Replace throw_exception with
throw.
(linux_resume_one_lwp): Likewise.
commit 26003a205e207db7985c32ec1964a04652b68413
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 28 10:56:58 2019 -0700
Make exception throwing a bit more efficient
This makes exception throwing a bit more efficient, by removing some
copies.
gdb/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* common/common-exceptions.c (throw_exception): Rename from
throw_exception_cxx. Remove old copy. Make argument const.
(throw_it): Create and throw exception objects directly.
* common/common-exceptions.h (throw_exception): Make argument
const.
(struct gdb_exception_error): Add constructor.
(struct gdb_exception_quit): Add constructor.
commit d272eb370a4c086a1d0f86a7a94e89328ec8d97e
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 28 10:29:42 2019 -0700
Remove some now-dead exception code
After the rewriting to use try/catch, some of the exception code is
now unused. This patch removes that code.
gdb/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* common/common-exceptions.h (exception_rethrow): Don't declare.
(TRY_SJLJ): Update comment.
(TRY, CATCH, END_CATCH): Remove.
* common/common-exceptions.c (exception_rethrow): Remove.
commit 230d2906b9d1d009b22fd526181bf43e1084ed59
Author: Tom Tromey <tom@tromey.com>
Date: Wed Apr 3 15:59:07 2019 -0600
Rename gdb exception types
This renames the gdb exception types. The old types were only needed
due to the macros in common-exception.h that are now gone.
The intermediate layer of gdb_exception_RETURN_MASK_ALL did not seem
needed, so this patch removes it entirely.
gdb/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* common/common-exceptions.h (gdb_exception_RETURN_MASK_ALL):
Remove.
(gdb_exception_error): Rename from
gdb_exception_RETURN_MASK_ERROR.
(gdb_exception_quit): Rename from gdb_exception_RETURN_MASK_QUIT.
(gdb_quit_bad_alloc): Update.
* aarch64-tdep.c: Update.
* ada-lang.c: Update.
* ada-typeprint.c: Update.
* ada-valprint.c: Update.
* amd64-tdep.c: Update.
* arch-utils.c: Update.
* break-catch-throw.c: Update.
* breakpoint.c: Update.
* btrace.c: Update.
* c-varobj.c: Update.
* cli/cli-cmds.c: Update.
* cli/cli-interp.c: Update.
* cli/cli-script.c: Update.
* common/common-exceptions.c: Update.
* common/new-op.c: Update.
* common/selftest.c: Update.
* compile/compile-c-symbols.c: Update.
* compile/compile-cplus-symbols.c: Update.
* compile/compile-object-load.c: Update.
* compile/compile-object-run.c: Update.
* completer.c: Update.
* corelow.c: Update.
* cp-abi.c: Update.
* cp-support.c: Update.
* cp-valprint.c: Update.
* darwin-nat.c: Update.
* disasm-selftests.c: Update.
* dtrace-probe.c: Update.
* dwarf-index-cache.c: Update.
* dwarf-index-write.c: Update.
* dwarf2-frame-tailcall.c: Update.
* dwarf2-frame.c: Update.
* dwarf2loc.c: Update.
* dwarf2read.c: Update.
* eval.c: Update.
* event-loop.c: Update.
* event-top.c: Update.
* exec.c: Update.
* f-valprint.c: Update.
* fbsd-tdep.c: Update.
* frame-unwind.c: Update.
* frame.c: Update.
* gdbtypes.c: Update.
* gnu-v3-abi.c: Update.
* guile/guile-internal.h: Update.
* guile/scm-block.c: Update.
* guile/scm-breakpoint.c: Update.
* guile/scm-cmd.c: Update.
* guile/scm-disasm.c: Update.
* guile/scm-frame.c: Update.
* guile/scm-lazy-string.c: Update.
* guile/scm-math.c: Update.
* guile/scm-param.c: Update.
* guile/scm-ports.c: Update.
* guile/scm-pretty-print.c: Update.
* guile/scm-symbol.c: Update.
* guile/scm-symtab.c: Update.
* guile/scm-type.c: Update.
* guile/scm-value.c: Update.
* i386-linux-tdep.c: Update.
* i386-tdep.c: Update.
* inf-loop.c: Update.
* infcall.c: Update.
* infcmd.c: Update.
* infrun.c: Update.
* jit.c: Update.
* language.c: Update.
* linespec.c: Update.
* linux-fork.c: Update.
* linux-nat.c: Update.
* linux-tdep.c: Update.
* linux-thread-db.c: Update.
* main.c: Update.
* mi/mi-cmd-break.c: Update.
* mi/mi-cmd-stack.c: Update.
* mi/mi-interp.c: Update.
* mi/mi-main.c: Update.
* objc-lang.c: Update.
* p-valprint.c: Update.
* parse.c: Update.
* ppc-linux-tdep.c: Update.
* printcmd.c: Update.
* python/py-arch.c: Update.
* python/py-breakpoint.c: Update.
* python/py-cmd.c: Update.
* python/py-finishbreakpoint.c: Update.
* python/py-frame.c: Update.
* python/py-framefilter.c: Update.
* python/py-gdb-readline.c: Update.
* python/py-inferior.c: Update.
* python/py-infthread.c: Update.
* python/py-lazy-string.c: Update.
* python/py-linetable.c: Update.
* python/py-objfile.c: Update.
* python/py-param.c: Update.
* python/py-prettyprint.c: Update.
* python/py-progspace.c: Update.
* python/py-record-btrace.c: Update.
* python/py-record.c: Update.
* python/py-symbol.c: Update.
* python/py-type.c: Update.
* python/py-unwind.c: Update.
* python/py-utils.c: Update.
* python/py-value.c: Update.
* python/python.c: Update.
* record-btrace.c: Update.
* record-full.c: Update.
* remote-fileio.c: Update.
* remote.c: Update.
* riscv-tdep.c: Update.
* rs6000-aix-tdep.c: Update.
* rs6000-tdep.c: Update.
* rust-exp.y: Update.
* rust-lang.c: Update.
* s390-tdep.c: Update.
* selftest-arch.c: Update.
* solib-dsbt.c: Update.
* solib-frv.c: Update.
* solib-spu.c: Update.
* solib-svr4.c: Update.
* solib.c: Update.
* sparc64-linux-tdep.c: Update.
* stack.c: Update.
* symfile-mem.c: Update.
* symmisc.c: Update.
* target.c: Update.
* thread.c: Update.
* top.c: Update.
* tracefile-tfile.c: Update.
* tui/tui.c: Update.
* typeprint.c: Update.
* unittests/cli-utils-selftests.c: Update.
* unittests/parse-connection-spec-selftests.c: Update.
* valops.c: Update.
* valprint.c: Update.
* value.c: Update.
* varobj.c: Update.
* windows-nat.c: Update.
* x86-linux-nat.c: Update.
* xml-support.c: Update.
gdb/gdbserver/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* gdbreplay.c: Update.
* linux-low.c: Update.
* server.c: Update.
commit a70b814420059e1f2de2130d532ddd7b2b2500fc
Author: Tom Tromey <tom@tromey.com>
Date: Wed Apr 3 16:02:42 2019 -0600
Rewrite TRY/CATCH
This rewrites gdb's TRY/CATCH to plain C++ try/catch. The patch was
largely written by script, though one change (to a comment in
common-exceptions.h) was reverted by hand.
gdb/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* xml-support.c: Use C++ exception handling.
* x86-linux-nat.c: Use C++ exception handling.
* windows-nat.c: Use C++ exception handling.
* varobj.c: Use C++ exception handling.
* value.c: Use C++ exception handling.
* valprint.c: Use C++ exception handling.
* valops.c: Use C++ exception handling.
* unittests/parse-connection-spec-selftests.c: Use C++ exception
handling.
* unittests/cli-utils-selftests.c: Use C++ exception handling.
* typeprint.c: Use C++ exception handling.
* tui/tui.c: Use C++ exception handling.
* tracefile-tfile.c: Use C++ exception handling.
* top.c: Use C++ exception handling.
* thread.c: Use C++ exception handling.
* target.c: Use C++ exception handling.
* symmisc.c: Use C++ exception handling.
* symfile-mem.c: Use C++ exception handling.
* stack.c: Use C++ exception handling.
* sparc64-linux-tdep.c: Use C++ exception handling.
* solib.c: Use C++ exception handling.
* solib-svr4.c: Use C++ exception handling.
* solib-spu.c: Use C++ exception handling.
* solib-frv.c: Use C++ exception handling.
* solib-dsbt.c: Use C++ exception handling.
* selftest-arch.c: Use C++ exception handling.
* s390-tdep.c: Use C++ exception handling.
* rust-lang.c: Use C++ exception handling.
* rust-exp.y: Use C++ exception handling.
* rs6000-tdep.c: Use C++ exception handling.
* rs6000-aix-tdep.c: Use C++ exception handling.
* riscv-tdep.c: Use C++ exception handling.
* remote.c: Use C++ exception handling.
* remote-fileio.c: Use C++ exception handling.
* record-full.c: Use C++ exception handling.
* record-btrace.c: Use C++ exception handling.
* python/python.c: Use C++ exception handling.
* python/py-value.c: Use C++ exception handling.
* python/py-utils.c: Use C++ exception handling.
* python/py-unwind.c: Use C++ exception handling.
* python/py-type.c: Use C++ exception handling.
* python/py-symbol.c: Use C++ exception handling.
* python/py-record.c: Use C++ exception handling.
* python/py-record-btrace.c: Use C++ exception handling.
* python/py-progspace.c: Use C++ exception handling.
* python/py-prettyprint.c: Use C++ exception handling.
* python/py-param.c: Use C++ exception handling.
* python/py-objfile.c: Use C++ exception handling.
* python/py-linetable.c: Use C++ exception handling.
* python/py-lazy-string.c: Use C++ exception handling.
* python/py-infthread.c: Use C++ exception handling.
* python/py-inferior.c: Use C++ exception handling.
* python/py-gdb-readline.c: Use C++ exception handling.
* python/py-framefilter.c: Use C++ exception handling.
* python/py-frame.c: Use C++ exception handling.
* python/py-finishbreakpoint.c: Use C++ exception handling.
* python/py-cmd.c: Use C++ exception handling.
* python/py-breakpoint.c: Use C++ exception handling.
* python/py-arch.c: Use C++ exception handling.
* printcmd.c: Use C++ exception handling.
* ppc-linux-tdep.c: Use C++ exception handling.
* parse.c: Use C++ exception handling.
* p-valprint.c: Use C++ exception handling.
* objc-lang.c: Use C++ exception handling.
* mi/mi-main.c: Use C++ exception handling.
* mi/mi-interp.c: Use C++ exception handling.
* mi/mi-cmd-stack.c: Use C++ exception handling.
* mi/mi-cmd-break.c: Use C++ exception handling.
* main.c: Use C++ exception handling.
* linux-thread-db.c: Use C++ exception handling.
* linux-tdep.c: Use C++ exception handling.
* linux-nat.c: Use C++ exception handling.
* linux-fork.c: Use C++ exception handling.
* linespec.c: Use C++ exception handling.
* language.c: Use C++ exception handling.
* jit.c: Use C++ exception handling.
* infrun.c: Use C++ exception handling.
* infcmd.c: Use C++ exception handling.
* infcall.c: Use C++ exception handling.
* inf-loop.c: Use C++ exception handling.
* i386-tdep.c: Use C++ exception handling.
* i386-linux-tdep.c: Use C++ exception handling.
* guile/scm-value.c: Use C++ exception handling.
* guile/scm-type.c: Use C++ exception handling.
* guile/scm-symtab.c: Use C++ exception handling.
* guile/scm-symbol.c: Use C++ exception handling.
* guile/scm-pretty-print.c: Use C++ exception handling.
* guile/scm-ports.c: Use C++ exception handling.
* guile/scm-param.c: Use C++ exception handling.
* guile/scm-math.c: Use C++ exception handling.
* guile/scm-lazy-string.c: Use C++ exception handling.
* guile/scm-frame.c: Use C++ exception handling.
* guile/scm-disasm.c: Use C++ exception handling.
* guile/scm-cmd.c: Use C++ exception handling.
* guile/scm-breakpoint.c: Use C++ exception handling.
* guile/scm-block.c: Use C++ exception handling.
* guile/guile-internal.h: Use C++ exception handling.
* gnu-v3-abi.c: Use C++ exception handling.
* gdbtypes.c: Use C++ exception handling.
* frame.c: Use C++ exception handling.
* frame-unwind.c: Use C++ exception handling.
* fbsd-tdep.c: Use C++ exception handling.
* f-valprint.c: Use C++ exception handling.
* exec.c: Use C++ exception handling.
* event-top.c: Use C++ exception handling.
* event-loop.c: Use C++ exception handling.
* eval.c: Use C++ exception handling.
* dwarf2read.c: Use C++ exception handling.
* dwarf2loc.c: Use C++ exception handling.
* dwarf2-frame.c: Use C++ exception handling.
* dwarf2-frame-tailcall.c: Use C++ exception handling.
* dwarf-index-write.c: Use C++ exception handling.
* dwarf-index-cache.c: Use C++ exception handling.
* dtrace-probe.c: Use C++ exception handling.
* disasm-selftests.c: Use C++ exception handling.
* darwin-nat.c: Use C++ exception handling.
* cp-valprint.c: Use C++ exception handling.
* cp-support.c: Use C++ exception handling.
* cp-abi.c: Use C++ exception handling.
* corelow.c: Use C++ exception handling.
* completer.c: Use C++ exception handling.
* compile/compile-object-run.c: Use C++ exception handling.
* compile/compile-object-load.c: Use C++ exception handling.
* compile/compile-cplus-symbols.c: Use C++ exception handling.
* compile/compile-c-symbols.c: Use C++ exception handling.
* common/selftest.c: Use C++ exception handling.
* common/new-op.c: Use C++ exception handling.
* cli/cli-script.c: Use C++ exception handling.
* cli/cli-interp.c: Use C++ exception handling.
* cli/cli-cmds.c: Use C++ exception handling.
* c-varobj.c: Use C++ exception handling.
* btrace.c: Use C++ exception handling.
* breakpoint.c: Use C++ exception handling.
* break-catch-throw.c: Use C++ exception handling.
* arch-utils.c: Use C++ exception handling.
* amd64-tdep.c: Use C++ exception handling.
* ada-valprint.c: Use C++ exception handling.
* ada-typeprint.c: Use C++ exception handling.
* ada-lang.c: Use C++ exception handling.
* aarch64-tdep.c: Use C++ exception handling.
gdb/gdbserver/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* server.c: Use C++ exception handling.
* linux-low.c: Use C++ exception handling.
* gdbreplay.c: Use C++ exception handling.
commit 3d6e9d2336c9ffcedb10f89631981a23dd518e8e
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 28 10:11:10 2019 -0700
Make exceptions use std::string and be self-managing
This changes the exception's "message" member to be a shared_ptr
wrapping a std::string. This allows removing the stack of exception
messages, because now exceptions will self-destruct when needed. This
also adds a noexcept copy constructor and operator= to gdb_exception,
plus a "what" method.
gdb/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* xml-support.c (gdb_xml_parser::parse): Update.
* x86-linux-nat.c (x86_linux_nat_target::enable_btrace): Update.
* value.c (show_convenience): Update.
* unittests/cli-utils-selftests.c (test_number_or_range_parser)
(test_parse_flags_qcs): Update.
* thread.c (thr_try_catch_cmd): Update.
* target.c (target_translate_tls_address): Update.
* stack.c (print_frame_arg, read_frame_local, read_frame_arg)
(info_frame_command_core, frame_apply_command_count): Update.
* rust-exp.y (rust_lex_exception_test): Update.
* riscv-tdep.c (riscv_print_one_register_info): Update.
* remote.c (remote_target::enable_btrace): Update.
* record-btrace.c (record_btrace_enable_warn): Update.
* python/py-utils.c (gdbpy_convert_exception): Update.
* printcmd.c (do_one_display, print_variable_and_value): Update.
* mi/mi-main.c (mi_print_exception): Update.
* mi/mi-interp.c (mi_cmd_interpreter_exec): Use SCOPE_EXIT.
* mi/mi-cmd-stack.c (list_arg_or_local): Update.
* linux-nat.c (linux_nat_target::attach): Update.
* linux-fork.c (class scoped_switch_fork_info): Update.
* infrun.c (displaced_step_prepare): Update.
* infcall.c (call_function_by_hand_dummy): Update.
* guile/scm-exception.c (gdbscm_scm_from_gdb_exception): Update.
* gnu-v3-abi.c (print_one_vtable): Update.
* frame.c (get_prev_frame_always): Update.
* f-valprint.c (info_common_command_for_block): Update.
* exec.c (try_open_exec_file): Update.
* exceptions.c (print_exception, exception_print)
(exception_fprintf, exception_print_same): Update.
* dwarf2-frame.c (dwarf2_build_frame_info): Update.
* dwarf-index-cache.c (index_cache::store)
(index_cache::lookup_gdb_index): Update.
* darwin-nat.c (maybe_cache_shell): Update.
* cp-valprint.c (cp_print_value_fields): Update.
* compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol)
(gcc_cplus_symbol_address): Update.
* compile/compile-c-symbols.c (gcc_convert_symbol)
(gcc_symbol_address, generate_c_for_for_one_variable): Update.
* common/selftest.c: Update.
* common/common-exceptions.h (struct gdb_exception) <message>: Now
a std::string.
(exception_try_scope_entry, exception_try_scope_exit): Don't
declare.
(struct exception_try_scope): Remove.
(TRY): Don't use exception_try_scope.
(struct gdb_exception): Add constructor, operator=.
<what>: New method.
(struct gdb_exception_RETURN_MASK_ALL)
(struct gdb_exception_RETURN_MASK_ERROR)
(struct gdb_exception_RETURN_MASK_QUIT): Add constructor.
(struct gdb_quit_bad_alloc): Update.
* common/common-exceptions.c (exception_none): Change
initializer.
(struct catcher) <state, exception>: Initialize inline.
<prev>: Remove member.
(current_catcher): Remove.
(catchers): New global.
(exceptions_state_mc_init): Simplify.
(catcher_pop): Remove.
(exceptions_state_mc, exceptions_state_mc_catch): Update.
(try_scope_depth, exception_try_scope_entry)
(exception_try_scope_exit): Remove.
(throw_exception_sjlj): Update.
(exception_messages, exception_messages_size): Remove.
(throw_it): Simplify.
(gdb_exception_sliced_copy): Remove.
(throw_exception_cxx): Update.
* cli/cli-script.c (script_from_file): Update.
* breakpoint.c (insert_bp_location, update_breakpoint_locations):
Update.
* ada-valprint.c (ada_val_print): Update.
* ada-lang.c (ada_to_fixed_type_1, ada_exception_name_addr)
(create_excep_cond_exprs): Update.
gdb/gdbserver/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* server.c (handle_btrace_general_set, handle_qxfer_btrace)
(handle_qxfer_btrace_conf, detach_or_kill_for_exit_cleanup)
(captured_main, main): Update.
* gdbreplay.c (main): Update.
commit c5c10118216867e133c132b4f46e19fb6aa9258a
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jan 24 17:31:21 2019 -0700
Simplify exception handling
Now that cleanups have been removed, TRY/CATCH can't be SJLJ-based any
more. This patch simplifies the exception handling code, by removing
the non-working variants.
Note that the "pure" C++ exception handling code is removed as well; I
think the route forward must be to change exceptions to be
self-destructing, so that try_scope_depth can simply be removed.
Some longjmp-based code remains, as it is needed to throw an exception
through readline.
gdb/ChangeLog
2019-04-08 Tom Tromey <tom@tromey.com>
* common/common-exceptions.h (GDB_XCPT_SJMP, GDB_XCPT_TRY)
(GDB_XCPT_RAW_TRY, GDB_XCPT): Remove.
(TRY, CATCH, END_CATCH): Remove some definitions.
* common/common-exceptions.c: Don't use GDB_XCPT.
(catcher_list_size): Remove.
(throw_exception, throw_it): Simplify.
commit d970ee2bae1925bb9265d37adef0b92e2678d666
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 8 14:07:35 2019 +0930
Fix i386-lynxos and other runtime linker fails
Segfaults due to htab->params being NULL.
* emulparams/elf64rdos.sh (EXTRA_EM_FILE): Define.
* emulparams/i386lynx.sh (EXTRA_EM_FILE): Define.
* emulparams/i386nto.sh (EXTRA_EM_FILE): Define.
commit 5f2a6b85105b51f2963aaeb1212c724cab678050
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 8 14:01:17 2019 +0930
Fix x86_64-rdos build fail
x86_64-rdos is one of the few x86_64 targets that is 64-bit only and
the x86_64 configure entries don't depend on elf-vxworks.lo. This
results in undefined references from elfxx-x86.o.
* configure.ac (elfxx_x86): Define and use.
* configure: Regenerate.
commit 5a826ffff854ddcea96dbe9d9ef1592bb3a4ed12
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Apr 8 00:00:38 2019 +0000
Automatic date update in version.in
commit 48ab418ec75e8b1cbea3e1561de6ec634dad2bf3
Author: Tom Tromey <tom@tromey.com>
Date: Sat Oct 20 12:30:00 2018 -0600
Make "all" depend on "info"
I've broken "make info" a couple of times now, because I sometimes
forget to run "make info" after modifying a Texinfo file.
I don't know why gdb's "make all" doesn't build the info pages. I
suspect this was some Cygnus-local oddity back in the day.
This patch changes doc/Makefile.in so that the info pages are built by
"make all". As a point of reference, Automake has essentially always
worked this way. According to the Automake manual (I didn't
double-check) this is required by the GNU coding standards.
The first time I sent this patch, I mentioned that I wanted to look
into some existing bugs in bugzilla about missing "makeinfo".
However, today I tried and I discovered that BFD requires makeinfo,
and builds its info file as part of "all". So, I think this change
doesn't worsen the situation for users in any way, and can simply go
in.
gdb/doc/ChangeLog
2019-04-07 Tom Tromey <tom@tromey.com>
* Makefile.in (all): Depend on "info".
commit e392bad3ec99458369723e14ded8c23b5b13073c
Author: Alan Modra <amodra@gmail.com>
Date: Sun Apr 7 20:47:06 2019 +0930
print_insn_powerpc tidy
* ppc-dis.c (print_insn_powerpc): Use a tiny state machine
op_separator to control printing of spaces, comma and parens
rather than need_comma, need_paren and spaces vars.
commit dffaa15c481cea4081732d616334e24abc557fd1
Author: Alan Modra <amodra@gmail.com>
Date: Sun Apr 7 20:42:16 2019 +0930
PR24421, Wrong brackets in opcodes/arm-dis.c
PR 24421
* arm-dis.c (print_insn_coprocessor): Correct bracket placement.
(print_insn_neon, print_insn_arm): Likewise.
commit 07ffcfecac22d21774a110db0f65f0387c8f1102
Author: Alan Modra <amodra@gmail.com>
Date: Sun Apr 7 20:41:49 2019 +0930
Merge libiberty from gcc
commit 5f60cccf9db8b5f4aa4303f8e4ccc246f723fbe5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Apr 7 00:01:01 2019 +0000
Automatic date update in version.in
commit 4de283e4b5f21207fe12f99913d1f28d4f07843c
Author: Tom Tromey <tom@tromey.com>
Date: Sat Apr 6 13:38:10 2019 -0600
Revert the header-sorting patch
Andreas Schwab and John Baldwin pointed out some bugs in the header
sorting patch; and I noticed that the output was not correct when
limited to a subset of files (a bug in my script).
So, I'm reverting the patch. I may try again after fixing the issues
pointed out.
gdb/ChangeLog
2019-04-05 Tom Tromey <tom@tromey.com>
Revert the header-sorting patch.
* ft32-tdep.c: Revert.
* frv-tdep.c: Revert.
* frv-linux-tdep.c: Revert.
* frame.c: Revert.
* frame-unwind.c: Revert.
* frame-base.c: Revert.
* fork-child.c: Revert.
* findvar.c: Revert.
* findcmd.c: Revert.
* filesystem.c: Revert.
* filename-seen-cache.h: Revert.
* filename-seen-cache.c: Revert.
* fbsd-tdep.c: Revert.
* fbsd-nat.h: Revert.
* fbsd-nat.c: Revert.
* f-valprint.c: Revert.
* f-typeprint.c: Revert.
* f-lang.c: Revert.
* extension.h: Revert.
* extension.c: Revert.
* extension-priv.h: Revert.
* expprint.c: Revert.
* exec.h: Revert.
* exec.c: Revert.
* exceptions.c: Revert.
* event-top.c: Revert.
* event-loop.c: Revert.
* eval.c: Revert.
* elfread.c: Revert.
* dwarf2read.h: Revert.
* dwarf2read.c: Revert.
* dwarf2loc.c: Revert.
* dwarf2expr.h: Revert.
* dwarf2expr.c: Revert.
* dwarf2-frame.c: Revert.
* dwarf2-frame-tailcall.c: Revert.
* dwarf-index-write.h: Revert.
* dwarf-index-write.c: Revert.
* dwarf-index-common.c: Revert.
* dwarf-index-cache.h: Revert.
* dwarf-index-cache.c: Revert.
* dummy-frame.c: Revert.
* dtrace-probe.c: Revert.
* disasm.h: Revert.
* disasm.c: Revert.
* disasm-selftests.c: Revert.
* dictionary.c: Revert.
* dicos-tdep.c: Revert.
* demangle.c: Revert.
* dcache.h: Revert.
* dcache.c: Revert.
* darwin-nat.h: Revert.
* darwin-nat.c: Revert.
* darwin-nat-info.c: Revert.
* d-valprint.c: Revert.
* d-namespace.c: Revert.
* d-lang.c: Revert.
* ctf.c: Revert.
* csky-tdep.c: Revert.
* csky-linux-tdep.c: Revert.
* cris-tdep.c: Revert.
* cris-linux-tdep.c: Revert.
* cp-valprint.c: Revert.
* cp-support.c: Revert.
* cp-namespace.c: Revert.
* cp-abi.c: Revert.
* corelow.c: Revert.
* corefile.c: Revert.
* continuations.c: Revert.
* completer.h: Revert.
* completer.c: Revert.
* complaints.c: Revert.
* coffread.c: Revert.
* coff-pe-read.c: Revert.
* cli-out.h: Revert.
* cli-out.c: Revert.
* charset.c: Revert.
* c-varobj.c: Revert.
* c-valprint.c: Revert.
* c-typeprint.c: Revert.
* c-lang.c: Revert.
* buildsym.c: Revert.
* buildsym-legacy.c: Revert.
* build-id.h: Revert.
* build-id.c: Revert.
* btrace.c: Revert.
* bsd-uthread.c: Revert.
* breakpoint.h: Revert.
* breakpoint.c: Revert.
* break-catch-throw.c: Revert.
* break-catch-syscall.c: Revert.
* break-catch-sig.c: Revert.
* blockframe.c: Revert.
* block.c: Revert.
* bfin-tdep.c: Revert.
* bfin-linux-tdep.c: Revert.
* bfd-target.c: Revert.
* bcache.c: Revert.
* ax-general.c: Revert.
* ax-gdb.h: Revert.
* ax-gdb.c: Revert.
* avr-tdep.c: Revert.
* auxv.c: Revert.
* auto-load.c: Revert.
* arm-wince-tdep.c: Revert.
* arm-tdep.c: Revert.
* arm-symbian-tdep.c: Revert.
* arm-pikeos-tdep.c: Revert.
* arm-obsd-tdep.c: Revert.
* arm-nbsd-tdep.c: Revert.
* arm-nbsd-nat.c: Revert.
* arm-linux-tdep.c: Revert.
* arm-linux-nat.c: Revert.
* arm-fbsd-tdep.c: Revert.
* arm-fbsd-nat.c: Revert.
* arm-bsd-tdep.c: Revert.
* arch-utils.c: Revert.
* arc-tdep.c: Revert.
* arc-newlib-tdep.c: Revert.
* annotate.h: Revert.
* annotate.c: Revert.
* amd64-windows-tdep.c: Revert.
* amd64-windows-nat.c: Revert.
* amd64-tdep.c: Revert.
* amd64-sol2-tdep.c: Revert.
* amd64-obsd-tdep.c: Revert.
* amd64-obsd-nat.c: Revert.
* amd64-nbsd-tdep.c: Revert.
* amd64-nbsd-nat.c: Revert.
* amd64-nat.c: Revert.
* amd64-linux-tdep.c: Revert.
* amd64-linux-nat.c: Revert.
* amd64-fbsd-tdep.c: Revert.
* amd64-fbsd-nat.c: Revert.
* amd64-dicos-tdep.c: Revert.
* amd64-darwin-tdep.c: Revert.
* amd64-bsd-nat.c: Revert.
* alpha-tdep.c: Revert.
* alpha-obsd-tdep.c: Revert.
* alpha-nbsd-tdep.c: Revert.
* alpha-mdebug-tdep.c: Revert.
* alpha-linux-tdep.c: Revert.
* alpha-linux-nat.c: Revert.
* alpha-bsd-tdep.c: Revert.
* alpha-bsd-nat.c: Revert.
* aix-thread.c: Revert.
* agent.c: Revert.
* addrmap.c: Revert.
* ada-varobj.c: Revert.
* ada-valprint.c: Revert.
* ada-typeprint.c: Revert.
* ada-tasks.c: Revert.
* ada-lang.c: Revert.
* aarch64-tdep.c: Revert.
* aarch64-ravenscar-thread.c: Revert.
* aarch64-newlib-tdep.c: Revert.
* aarch64-linux-tdep.c: Revert.
* aarch64-linux-nat.c: Revert.
* aarch64-fbsd-tdep.c: Revert.
* aarch64-fbsd-nat.c: Revert.
* aarch32-linux-nat.c: Revert.
commit 5b9c07b2782fb9368f06c2561b7329c384ec5da0
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Apr 6 07:25:10 2019 -0700
x86: Move x86-specific linker options to elf_linker_x86_params
Remove x86-specific linker options from bfd_link_info and put them in
elf_linker_x86_params. Add _bfd_elf_linker_x86_set_options to pass
x86-specific linker options from ld to bfd.
bfd/
* elf-linker-x86.h: New file.
* elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
to get x86-specific linker options.
* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
(elf_x86_64_check_relocs): Likewise.
(elf_x86_64_relocate_section): Likewise.
(elf_x86_64_link_setup_gnu_properties): Likewise.
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
(_bfd_x86_elf_link_setup_gnu_properties): Likewise.
(_bfd_elf_linker_x86_set_options): New function.
* elfxx-x86.h: Include "elf-linker-x86.h".
(elf_x86_link_hash_table): Add params.
include/
* bfdlink.h (bfd_link_info): Remove x86-specific linker options.
ld/
* Makefile.am (ELF_X86_DEPS): Add $(srcdir)/emultempl/elf-x86.em.
(eelf_i386_sol2.c): Also depend on
$(srcdir)/emultempl/solaris2-x86.em.
(eelf_x86_64_sol2.c): Likewise.
* Makefile.in: Regenerated.
* emulparams/call_nop.sh: Set x86-specific linker options via
params.
* emulparams/cet.sh: Likewise.
* emulparams/reloc_overflow.sh: Likewise.
* emulparams/elf32_x86_64.sh (EXTRA_EM_FILE): New. Set to
"elf-x86".
* emulparams/elf_i386.sh: Likewise.
* emulparams/elf_i386_be.sh: Likewise.
* emulparams/elf_i386_chaos.sh: Likewise.
* emulparams/elf_i386_ldso.sh: Likewise.
* emulparams/elf_i386_vxworks.sh: Likewise.
* emulparams/elf_iamcu.sh: Likewise.
* emulparams/elf_k1om.sh: Likewise.
* emulparams/elf_l1om.sh: Likewise.
* emulparams/elf_x86_64.sh: Likewise.
* emulparams/elf_i386_sol2.sh (EXTRA_EM_FILE): Changed to
"solaris2-x86".
* emulparams/elf_x86_64_sol2.sh: Likewise.
* emultempl/elf-x86.em: New file.
* emultempl/solaris2-x86.em: Likewise.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Don't
set link_info.call_nop_byte.
commit d55e5aa6b29906346c51ad00e6a9b112590aa294
Author: Tom Tromey <tom@tromey.com>
Date: Tue Apr 2 20:04:24 2019 -0600
Sort includes for files gdb/[a-f]*.[chyl].
This patch sorts the include files for the files [a-f]*.[chyl].
The patch was written by a script.
Tested by the buildbot.
I will follow up with patches to sort the remaining files, by sorting
a subset, testing them, and then checking them in.
gdb/ChangeLog
2019-04-05 Tom Tromey <tom@tromey.com>
* ft32-tdep.c: Sort headers.
* frv-tdep.c: Sort headers.
* frv-linux-tdep.c: Sort headers.
* frame.c: Sort headers.
* frame-unwind.c: Sort headers.
* frame-base.c: Sort headers.
* fork-child.c: Sort headers.
* findvar.c: Sort headers.
* findcmd.c: Sort headers.
* filesystem.c: Sort headers.
* filename-seen-cache.h: Sort headers.
* filename-seen-cache.c: Sort headers.
* fbsd-tdep.c: Sort headers.
* fbsd-nat.h: Sort headers.
* fbsd-nat.c: Sort headers.
* f-valprint.c: Sort headers.
* f-typeprint.c: Sort headers.
* f-lang.c: Sort headers.
* extension.h: Sort headers.
* extension.c: Sort headers.
* extension-priv.h: Sort headers.
* expprint.c: Sort headers.
* exec.h: Sort headers.
* exec.c: Sort headers.
* exceptions.c: Sort headers.
* event-top.c: Sort headers.
* event-loop.c: Sort headers.
* eval.c: Sort headers.
* elfread.c: Sort headers.
* dwarf2read.h: Sort headers.
* dwarf2read.c: Sort headers.
* dwarf2loc.c: Sort headers.
* dwarf2expr.h: Sort headers.
* dwarf2expr.c: Sort headers.
* dwarf2-frame.c: Sort headers.
* dwarf2-frame-tailcall.c: Sort headers.
* dwarf-index-write.h: Sort headers.
* dwarf-index-write.c: Sort headers.
* dwarf-index-common.c: Sort headers.
* dwarf-index-cache.h: Sort headers.
* dwarf-index-cache.c: Sort headers.
* dummy-frame.c: Sort headers.
* dtrace-probe.c: Sort headers.
* disasm.h: Sort headers.
* disasm.c: Sort headers.
* disasm-selftests.c: Sort headers.
* dictionary.c: Sort headers.
* dicos-tdep.c: Sort headers.
* demangle.c: Sort headers.
* dcache.h: Sort headers.
* dcache.c: Sort headers.
* darwin-nat.h: Sort headers.
* darwin-nat.c: Sort headers.
* darwin-nat-info.c: Sort headers.
* d-valprint.c: Sort headers.
* d-namespace.c: Sort headers.
* d-lang.c: Sort headers.
* ctf.c: Sort headers.
* csky-tdep.c: Sort headers.
* csky-linux-tdep.c: Sort headers.
* cris-tdep.c: Sort headers.
* cris-linux-tdep.c: Sort headers.
* cp-valprint.c: Sort headers.
* cp-support.c: Sort headers.
* cp-namespace.c: Sort headers.
* cp-abi.c: Sort headers.
* corelow.c: Sort headers.
* corefile.c: Sort headers.
* continuations.c: Sort headers.
* completer.h: Sort headers.
* completer.c: Sort headers.
* complaints.c: Sort headers.
* coffread.c: Sort headers.
* coff-pe-read.c: Sort headers.
* cli-out.h: Sort headers.
* cli-out.c: Sort headers.
* charset.c: Sort headers.
* c-varobj.c: Sort headers.
* c-valprint.c: Sort headers.
* c-typeprint.c: Sort headers.
* c-lang.c: Sort headers.
* buildsym.c: Sort headers.
* buildsym-legacy.c: Sort headers.
* build-id.h: Sort headers.
* build-id.c: Sort headers.
* btrace.c: Sort headers.
* bsd-uthread.c: Sort headers.
* breakpoint.h: Sort headers.
* breakpoint.c: Sort headers.
* break-catch-throw.c: Sort headers.
* break-catch-syscall.c: Sort headers.
* break-catch-sig.c: Sort headers.
* blockframe.c: Sort headers.
* block.c: Sort headers.
* bfin-tdep.c: Sort headers.
* bfin-linux-tdep.c: Sort headers.
* bfd-target.c: Sort headers.
* bcache.c: Sort headers.
* ax-general.c: Sort headers.
* ax-gdb.h: Sort headers.
* ax-gdb.c: Sort headers.
* avr-tdep.c: Sort headers.
* auxv.c: Sort headers.
* auto-load.c: Sort headers.
* arm-wince-tdep.c: Sort headers.
* arm-tdep.c: Sort headers.
* arm-symbian-tdep.c: Sort headers.
* arm-pikeos-tdep.c: Sort headers.
* arm-obsd-tdep.c: Sort headers.
* arm-nbsd-tdep.c: Sort headers.
* arm-nbsd-nat.c: Sort headers.
* arm-linux-tdep.c: Sort headers.
* arm-linux-nat.c: Sort headers.
* arm-fbsd-tdep.c: Sort headers.
* arm-fbsd-nat.c: Sort headers.
* arm-bsd-tdep.c: Sort headers.
* arch-utils.c: Sort headers.
* arc-tdep.c: Sort headers.
* arc-newlib-tdep.c: Sort headers.
* annotate.h: Sort headers.
* annotate.c: Sort headers.
* amd64-windows-tdep.c: Sort headers.
* amd64-windows-nat.c: Sort headers.
* amd64-tdep.c: Sort headers.
* amd64-sol2-tdep.c: Sort headers.
* amd64-obsd-tdep.c: Sort headers.
* amd64-obsd-nat.c: Sort headers.
* amd64-nbsd-tdep.c: Sort headers.
* amd64-nbsd-nat.c: Sort headers.
* amd64-nat.c: Sort headers.
* amd64-linux-tdep.c: Sort headers.
* amd64-linux-nat.c: Sort headers.
* amd64-fbsd-tdep.c: Sort headers.
* amd64-fbsd-nat.c: Sort headers.
* amd64-dicos-tdep.c: Sort headers.
* amd64-darwin-tdep.c: Sort headers.
* amd64-bsd-nat.c: Sort headers.
* alpha-tdep.c: Sort headers.
* alpha-obsd-tdep.c: Sort headers.
* alpha-nbsd-tdep.c: Sort headers.
* alpha-mdebug-tdep.c: Sort headers.
* alpha-linux-tdep.c: Sort headers.
* alpha-linux-nat.c: Sort headers.
* alpha-bsd-tdep.c: Sort headers.
* alpha-bsd-nat.c: Sort headers.
* aix-thread.c: Sort headers.
* agent.c: Sort headers.
* addrmap.c: Sort headers.
* ada-varobj.c: Sort headers.
* ada-valprint.c: Sort headers.
* ada-typeprint.c: Sort headers.
* ada-tasks.c: Sort headers.
* ada-lang.c: Sort headers.
* aarch64-tdep.c: Sort headers.
* aarch64-ravenscar-thread.c: Sort headers.
* aarch64-newlib-tdep.c: Sort headers.
* aarch64-linux-tdep.c: Sort headers.
* aarch64-linux-nat.c: Sort headers.
* aarch64-fbsd-tdep.c: Sort headers.
* aarch64-fbsd-nat.c: Sort headers.
* aarch32-linux-nat.c: Sort headers.
commit d128f9b8d41a1e0c38b52d0e752e65f6e5943927
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Apr 6 00:00:13 2019 +0000
Automatic date update in version.in
commit 4ef40579f9d4d89e59f6cc0923130e48e4309bbf
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Apr 5 12:41:58 2019 -0700
x86: Add assembler -mx86-used-note=yes test
Check assembler -mx86-used-note=yes option and readelf -n output.
* testsuite/gas/i386/i386.exp: Run -mx86-used-note=yes tests.
* testsuite/gas/i386/property-2.d: New file.
* testsuite/gas/i386/property-2.s: Likewise.
* testsuite/gas/i386/x86-64-property-2.d: Likewise.
commit d6aab7a11b8bd85de43f9fe6b1cea95b504e73ad
Author: Xuepeng Guo <xuepeng.guo@intel.com>
Date: Fri Apr 5 11:03:01 2019 -0700
x86: Support Intel AVX512 BF16
Add assembler and disassembler support Intel AVX512 BF16:
https://software.intel.com/en-us/download/intel-architecture-instruction-set-extensions-programming-reference
gas/
2019-04-05 Xuepeng Guo <xuepeng.guo@intel.com>
* config/tc-i386.c (cpu_arch): Add .avx512_bf16.
(cpu_noarch): Add noavx512_bf16.
* doc/c-i386.texi: Document avx512_bf16.
* testsuite/gas/i386/avx512_bf16.d: New file.
* testsuite/gas/i386/avx512_bf16.s: Likewise.
* testsuite/gas/i386/avx512_bf16_vl-inval.l: Likewise.
* testsuite/gas/i386/avx512_bf16_vl-inval.s: Likewise.
* testsuite/gas/i386/avx512_bf16_vl.d: Likewise.
* testsuite/gas/i386/avx512_bf16_vl.s: Likewise.
* testsuite/gas/i386/x86-64-avx512_bf16.d: Likewise.
* testsuite/gas/i386/x86-64-avx512_bf16.s: Likewise.
* testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.l: Likesie.
* testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.s: Likewise.
* testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Likewise.
* testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Likewise.
* testsuite/gas/i386/i386.exp: Add BF16 related tests.
opcodes/
2019-04-05 Xuepeng Guo <xuepeng.guo@intel.com>
* i386-dis-evex.h (evex_table): Updated to support BF16
instructions.
* i386-dis.c (enum): Add EVEX_W_0F3852_P_1, EVEX_W_0F3872_P_1
and EVEX_W_0F3872_P_3.
* i386-gen.c (cpu_flag_init): Add CPU_AVX512_BF16_FLAGS.
(cpu_flags): Add bitfield for CpuAVX512_BF16.
* i386-opc.h (enum): Add CpuAVX512_BF16.
(i386_cpu_flags): Add bitfield for cpuavx512_bf16.
* i386-opc.tbl: Add AVX512 BF16 instructions.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
commit 0570503dd31bc20294e228339fcbdd39b19608cc
Author: Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
Date: Fri Apr 5 14:19:08 2019 -0300
Use linux_get_auxv to get AT_PHDR in the PPC stub
This patch fixes a build error due to a call to ppc_get_auxv that was
left over after linux_get_hwcap and linux_get_hwcap2 were introduced
in:
974c89e0882ddb03e294eca76a9e3d3bef90eacf gdbserver: Add
linux_get_hwcap
Because the missing call fetched AT_PHDR and not AT_HWCAP,
linux_get_auxv is now visible.
This use also required ppc_get_auxv to return a status variable
indicating that the AT_PHDR entry was not found separately from the
actual value of of the auxv entry. Therefore, the new linux_get_auxv
function is changed to return a status variable and write the entry
value to a pointer passed as an argument.
Note that linux_get_hwcap and linux_get_hwcap2 still use the return
value as both an indicator of that the entry wasn't found and as the
actual value of the entry.
gdb/gdbserver/ChangeLog:
2019-04-05 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
* linux-low.c (linux_get_auxv): Remove static. Return auxv entry
value in argument pointer, return 1 if the entry is found and 0
otherwise. Move comment.
(linux_get_hwcap, linux_get_hwcap2): Use modified linux_get_auxv.
* linux-low.h (linux_get_auxv): Declare.
* linux-ppc-low.c (is_elfv2_inferior): Use linux_get_auxv.
commit 227a9e65b91958cb414ade82c614717579d8849e
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Apr 4 16:48:28 2019 -0600
Use upper-case for metasyntactic in gdbserver help
I noticed that "gdbserver --help" contains a few metasyntactic
variables that aren't in upper-case. This patch fixes them to conform
to the GNU standard.
gdb/gdbserver/ChangeLog
2019-04-05 Tom Tromey <tromey@adacore.com>
* server.c (gdbserver_usage): Use upper-case for metasyntactic
variables.
commit 699bd4cfa8895d0767d491a3e44ac09d3f4d1801
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 31 17:20:24 2019 -0600
Move innermost_block_tracker global to parse_state
This changes the parsing API so that callers that are interested in
tracking the innermost block must instantiate an
innermost_block_tracker and pass it in. Then, a pointer to this
object is stored in the parser_state.
2019-04-04 Tom Tromey <tom@tromey.com>
* varobj.c (varobj_create): Update.
* rust-exp.y (struct rust_parser) <update_innermost_block,
lookup_symbol>: New methods.
(rust_parser::update_innermost_block, rust_parser::lookup_symbol):
Rename.
(rust_parser::rust_lookup_type)
(rust_parser::convert_ast_to_expression, rust_lex_tests): Update.
* printcmd.c (display_command, do_one_display): Update.
* parser-defs.h (struct parser_state) <parser_state>: Add
"tracker" parameter.
(block_tracker): New member.
(class innermost_block_tracker) <innermost_block_tracker>: Add
"types" parameter.
<reset>: Remove method.
(innermost_block): Don't declare.
(null_post_parser): Update.
* parse.c (innermost_block): Remove global.
(write_dollar_variable): Update.
(parse_exp_1, parse_exp_in_context): Add "tracker" parameter.
Remove "tracker_types" parameter.
(parse_expression): Add "tracker" parameter.
(parse_expression_for_completion): Update.
(null_post_parser): Add "tracker" parameter.
* p-exp.y: Update rules.
* m2-exp.y: Update rules.
* language.h (struct language_defn) <la_post_parser>: Add
"tracker" parameter.
* go-exp.y: Update rules.
* f-exp.y: Update rules.
* expression.h (parse_expression, parse_exp_1): Add "tracker"
parameter.
* d-exp.y: Update rules.
* c-exp.y: Update rules.
* breakpoint.c (set_breakpoint_condition): Create an
innermost_block_tracker.
(watch_command_1): Likewise.
* ada-lang.c (resolve): Add "tracker" parameter.
(resolve_subexp): Likewise.
* ada-exp.y (write_var_from_sym): Update.
commit dac43e327d002107f6bc9481749de039f410df73
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 31 13:43:54 2019 -0600
Move type stack handling to a new class
This introduces a new "type_stack" class, and moves all the parser
type stack handling to this class. Parsers that wish to use this
facility must now instantiate this class somehow. I chose this
approach because a minority of the existing parsers require this.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* type-stack.h: New file.
* type-stack.c: New file.
* parser-defs.h (enum type_pieces, union type_stack_elt): Move to
type-stack.h.
(insert_into_type_stack, insert_type, push_type, push_type_int)
(insert_type_address_space, pop_type, pop_type_int)
(pop_typelist, pop_type_stack, append_type_stack)
(push_type_stack, get_type_stack, push_typelist)
(follow_type_instance_flags, follow_types): Don't declare.
* parse.c (type_stack): Remove global.
(parse_exp_in_context): Update.
(insert_into_type_stack, insert_type, push_type, push_type_int)
(insert_type_address_space, pop_type, pop_type_int)
(pop_typelist, pop_type_stack, append_type_stack)
(push_type_stack, get_type_stack, push_typelist)
(follow_type_instance_flags, follow_types): Remove (moved to
type-stack.c).
* f-exp.y (type_stack): New global.
Update rules.
(push_kind_type, f_parse): Update.
* d-exp.y (type_stack): New global.
Update rules.
(d_parse): Update.
* c-exp.y (struct c_parse_state) <type_stack>: New member.
Update rules.
* Makefile.in (COMMON_SFILES): Add type-stack.c.
(HFILES_NO_SRCDIR): Add type-stack.h.
commit 2a61252965c91540133bece7deb92eb22e3cf929
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 22:50:14 2019 -0600
Move completion parsing to parser_state
This moves the globals and functions related to parsing for completion
to parser_state. A new structure is introduced in order to return
completion results from the parse back to
parse_expression_for_completion.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* rust-exp.y (rust_parser::lex_identifier, rustyylex)
(rust_parser::convert_ast_to_expression, rust_parse)
(rust_lex_test_completion, rust_lex_tests): Update.
* parser-defs.h (struct expr_completion_state): New.
(struct parser_state) <parser_state>: Add completion parameter.
<mark_struct_expression, mark_completion_tag>: New methods.
<parse_completion, m_completion_state>: New members.
(prefixify_expression, null_post_parser): Update.
(mark_struct_expression, mark_completion_tag): Don't declare.
* parse.c (parse_completion, expout_last_struct)
(expout_tag_completion_type, expout_completion_name): Remove
globals.
(parser_state::mark_struct_expression)
(parser_state::mark_completion_tag): Now methods.
(prefixify_expression): Add last_struct parameter.
(prefixify_subexp): Likewise.
(parse_exp_1): Update.
(parse_exp_in_context): Add cstate parameter. Update.
(parse_expression_for_completion): Create an
expr_completion_state.
(null_post_parser): Add "completion" parameter.
* p-exp.y: Update rules.
(yylex): Update.
* language.h (struct language_defn) <la_post_parser>: Add
"completing" parameter.
* go-exp.y: Update rules.
(lex_one_token): Update.
* expression.h (parse_completion): Don't declare.
* d-exp.y: Update rules.
(lex_one_token): Update rules.
* c-exp.y: Update rules.
(lex_one_token): Update.
* ada-lang.c (resolve): Add "parse_completion" parameter.
(resolve_subexp): Likewise.
(ada_resolve_function): Likewise.
commit 43476f0b1b628352ad8e3064e50128cb3461d3d0
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 21:38:40 2019 -0600
Move arglist_len et al to parser_state
This moves arglist_len, start_arglist, and end_arglist to
parser_state.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* parser-defs.h (struct parser_state) <start_arglist,
end_arglist>: New methods.
<arglist_len, m_funcall_chain>: New members.
(arglist_len, start_arglist, end_arglist): Don't declare.
* parse.c (arglist_len, funcall_chain): Remove global.
(start_arglist, end_arglist): Remove functions.
(parse_exp_in_context): Update.
* p-exp.y: Update rules.
* m2-exp.y: Update rules.
* go-exp.y: Update rules.
* f-exp.y: Update rules.
* d-exp.y: Update rules.
* c-exp.y: Update rules.
commit 5776fca307b8af3d852525b77e9b917a9aa97370
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 21:30:56 2019 -0600
Move lexptr and prev_lexptr to parser_state
This removes the lexptr and prev_lexptr globals, in favor of members
of parser_state. prev_lexptr could be isolated to each parser, but
since every parser uses it, that did not seem necessary.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* rust-exp.y (struct rust_parser) <lex_hex, lex_escape,
lex_operator, push_back>: New methods.
Update all rules.
(rust_parser::lex_hex, lex_escape): Rename and update.
(rust_parser::lex_string, rust_parser::lex_identifier): Update.
(rust_parser::lex_operator): Rename and update.
(rust_parser::lex_number, rustyylex, rustyyerror)
(rust_lex_test_init, rust_lex_test_sequence)
(rust_lex_test_push_back, rust_lex_tests): Update.
* parser-defs.h (struct parser_state) <parser_state>: Add "input"
parameter.
<lexptr, prev_lexptr>: New members.
(lexptr, prev_lexptr): Don't declare.
* parse.c (lexptr, prev_lexptr): Remove globals.
(parse_exp_in_context): Update.
* p-exp.y (yylex, yyerror): Update.
* m2-exp.y (parse_number, yylex, yyerror): Update.
* go-exp.y (lex_one_token, yyerror): Update.
* f-exp.y (match_string_literal, yylex, yyerror): Update.
* d-exp.y (lex_one_token, yyerror): Update.
* c-exp.y (scan_macro_expansion, finished_macro_expansion)
(lex_one_token, yyerror): Update.
* ada-lex.l (YY_INPUT): Update.
(rewind_to_char): Update.
* ada-exp.y (yyerror): Update.
commit 8621b685bfdcb8773b8177fb2b89e45499902868
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 18:07:00 2019 -0600
Move comma_terminates global to parser_state
This moves the comma_terminates global to parser_state.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* rust-exp.y (rustyylex, rust_lex_tests): Update.
* parser-defs.h (struct parser_state) <parser_state>: Add new
parameter.
<comma_terminates>: New member.
(comma_terminates): Don't declare global.
* parse.c (comma_terminates): Remove global.
(parse_exp_in_context): Update.
* p-exp.y (yylex): Update.
* m2-exp.y (yylex): Update.
* go-exp.y (lex_one_token): Update.
* f-exp.y (yylex): Update.
* d-exp.y (lex_one_token): Update.
* c-exp.y (lex_one_token): Update.
* ada-lex.l: Update.
commit 28aaf3fdf9562c018dcf6ab4d0a4c644fff8d696
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 11:33:10 2019 -0600
Remove paren_depth global
This removes the "paren_depth" global. In most cases, it is made into
a static global in a given parser. I consider this a slight
improvement, because it makes it clear that the variable isn't used
for communication between different modules of gdb. The one exception
is the Rust parser, which already incorporates all local state into a
transient object; in this case the parser depth is now a member.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* rust-exp.y (struct rust_parser) <paren_depth>: New member.
(rustyylex, rust_lex_test_init, rust_lex_test_one)
(rust_lex_test_sequence, rust_lex_test_push_back): Update.
* parser-defs.h (paren_depth): Don't declare.
* parse.c (paren_depth): Remove global.
(parse_exp_in_context): Update.
* p-exp.y (paren_depth): New global.
(pascal_parse): Initialize it.
* m2-exp.y (paren_depth): New global.
(m2_parse): Initialize it.
* go-exp.y (paren_depth): New global.
(go_parse): Initialize it.
* f-exp.y (paren_depth): New global.
(f_parse): Initialize it.
* d-exp.y (paren_depth): New global.
(d_parse): Initialize it.
* c-exp.y (paren_depth): New global.
(c_parse): Initialize it.
* ada-lex.l (paren_depth): New global.
(lexer_init): Initialize it.
commit 1e58a4a4db997cf09315c22f3da725d1da7f9ee7
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 11:20:05 2019 -0600
Move expression_context_* globals to parser_state
This moves the expression_context_block and expression_context_pc
globals to be members of parser_state and updates the parsers.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* rust-exp.y (rust_parser::crate_name, rust_parser::super_name)
(rust_parser::convert_ast_to_type)
(rust_parser::convert_ast_to_expression, rust_lex_tests): Update.
* parser-defs.h (struct parser_state) <parser_state>: Add
parameters. Initialize new members.
<expression_context_block, expression_context_pc>: New members.
* parse.c (expression_context_block, expression_context_pc):
Remove globals.
(parse_exp_in_context): Update.
* p-exp.y: Update all rules.
(yylex): Update.
* m2-exp.y: Update all rules.
(yylex): Update.
* go-exp.y (yylex): Update.
* f-exp.y (yylex): Update.
* d-exp.y: Update all rules.
(yylex): Update.
* c-exp.y: Update all rules.
(lex_one_token, classify_name, yylex, c_parse): Update.
* ada-exp.y (write_var_or_type, write_name_assoc): Update.
commit 37eedb39824dc26c82a92b5515a352d7de0c9b5b
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 10:28:42 2019 -0600
Make base class for parser_state
This makes a new base class, expr_builder, for parser_state. This
separates the state needed to construct an expression from the state
needed by the parsers.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* gdbarch.h, gdbarch.c: Rebuild.
* gdbarch.sh (dtrace_parse_probe_argument): Change type.
* stap-probe.h:
(struct stap_parse_info): Replace "parser_state" with
"expr_builder".
* parser-defs.h (struct expr_builder): Rename from "parser_state".
(parser_state): New class.
* parse.c (expr_builder): Rename.
(expr_builder::release): Rename.
(write_exp_elt, write_exp_elt_opcode, write_exp_elt_sym)
(write_exp_elt_msym, write_exp_elt_block, write_exp_elt_objfile)
(write_exp_elt_longcst, write_exp_elt_floatcst)
(write_exp_elt_type, write_exp_elt_intern, write_exp_string)
(write_exp_string_vector, write_exp_bitstring)
(write_exp_msymbol, mark_struct_expression)
(write_dollar_variable)
(insert_type_address_space, increase_expout_size): Replace
"parser_state" with "expr_builder".
* dtrace-probe.c: Replace "parser_state" with "expr_builder".
* amd64-linux-tdep.c (amd64_dtrace_parse_probe_argument): Replace
"parser_state" with "expr_builder".
commit 73923d7eedc7ab52144308ef7e9c12cbe4341bca
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 09:01:18 2019 -0600
Turn parse_language into a method
This changes parse_language into a method of parser_state. This patch
was written by a script.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* rust-exp.y: Replace "parse_language" with method call.
* p-exp.y:
(yylex): Replace "parse_language" with method call.
* m2-exp.y:
(yylex): Replace "parse_language" with method call.
* go-exp.y (classify_name): Replace "parse_language" with method
call.
* f-exp.y (yylex): Replace "parse_language" with method call.
* d-exp.y (lex_one_token): Replace "parse_language" with method
call.
* c-exp.y:
(lex_one_token, classify_name, yylex): Replace "parse_language"
with method call.
* ada-exp.y (find_primitive_type, type_char)
(type_system_address): Replace "parse_language" with method call.
commit fa9f5be6830e9245ee1ad1eab9725cc039d45d07
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 08:56:33 2019 -0600
Turn parse_gdbarch into a method
This changes parse_gdbarch into a method of parser_state. This patch
was written by a script.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* rust-exp.y: Replace "parse_gdbarch" with method call.
* parse.c (write_dollar_variable, insert_type_address_space):
Replace "parse_gdbarch" with method call.
* p-exp.y (parse_type, yylex): Replace "parse_gdbarch" with method
call.
* objc-lang.c (end_msglist): Replace "parse_gdbarch" with method
call.
* m2-exp.y (parse_type, parse_m2_type, yylex): Replace
"parse_gdbarch" with method call.
* go-exp.y (parse_type, classify_name): Replace "parse_gdbarch"
with method call.
* f-exp.y (parse_type, parse_f_type, yylex): Replace
"parse_gdbarch" with method call.
* d-exp.y (parse_type, parse_d_type, lex_one_token): Replace
"parse_gdbarch" with method call.
* c-exp.y (parse_type, parse_number, classify_name): Replace
"parse_gdbarch" with method call.
* ada-lex.l: Replace "parse_gdbarch" with method call.
* ada-exp.y (parse_type, find_primitive_type, type_char)
(type_system_address): Replace "parse_gdbarch" with method call.
commit 1201a264c8fd227737342345ab54e938295188b6
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 08:40:32 2019 -0600
Remove parser_state "initial_size" parameter
All the real (not test) uses of parser_state pass 10 as the
"initial_size" parameter, and it seems to me that there's no real
reason to require callers to set this. This patch removes this
parameter.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* dtrace-probe.c (dtrace_probe::build_arg_exprs): Update.
* stap-probe.c (stap_parse_argument): Update.
* stap-probe.h (struct stap_parse_info) <stap_parse_info>: Remove
initial_size parameter.
* rust-exp.y (rust_lex_tests): Update.
* parse.c (parser_state): Update.
(parse_exp_in_context): Update.
* parser-defs.h (struct parser_state) <parser_state>: Remove
"initial_size" parameter.
commit e3980ce2a9bf19ade17fdd9817765f2d1e17a0d8
Author: Tom Tromey <tom@tromey.com>
Date: Sun Mar 24 08:25:58 2019 -0600
Make increase_expout_size static
increase_expout_size is only called from parse.c, and probably only
should be. This makes it "static". Tested by rebuilding.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* parser-defs.h (increase_expout_size): Don't declare.
* parse.c (increase_expout_size): Now static.
commit bec858ea4d0cef2d8be47b96669b803f73902014
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 4 12:02:31 2019 +1030
PowerPC conditional branch test
Adds a new test checking conditional branch BO values.
* testsuite/gas/ppc/bc.s,
* testsuite/gas/ppc/bcat.d,
* testsuite/gas/ppc/bcaterr.d,
* testsuite/gas/ppc/bcaterr.l,
* testsuite/gas/ppc/bcy.d,
* testsuite/gas/ppc/bcyerr.d,
* testsuite/gas/ppc/bcyerr.l: New tests.
* testsuite/gas/ppc/ppc.exp: Run them.
commit 66e85460855837af3a3b0224f7846c436cc7d1e0
Author: Alan Modra <amodra@gmail.com>
Date: Thu Apr 4 18:19:03 2019 +1030
PowerPC bc extended branch mnemonics and "y" hints
This patch fixes a problem with disassembly of branch instructions
for processors complying with PowerPC ISA versions prior to version
2.0, ie. those that use "y" bit branch taken hints. Many of the
extended bcctr and bclr mnemonics that should have disassembled with a
"-" suffix, ie. not taken, did not display the "-" due to the ordering
in powerpc_opcodes. I believe it's been that way from the original
85dcf36d72b commit of ppc-opc.c.
I've also added a BH field (optional) to a few opcodes. This gives
better disassembly in raw mode, showing the branch taken hint in the
mnemonic as is done for bc. It would be reasonable to add a BH
field to all bcctr, bclr, and bctar extended mnemonics but that runs
into a small difficulty: Currently we print all or none of the
optional operands. That means for example that "bgectr cr2" would
display as "bgectr cr2,0" if a BH field is added to bgectr.
* ppc-opc.c (XLBH_MASK): Subtract off BH field from BB_MASK.
(powerpc_opcodes): Reorder bcctr and bclr extended mnemonics
to favour printing of "-" branch hint when using the "y" bit.
Allow BH field on bc{ctr,lr,tar}{,l}{-,+}.
commit c2b1c2754526acff8aae2fe8f5a56c2dd11d0b7f
Author: Alan Modra <amodra@gmail.com>
Date: Fri Apr 5 09:20:16 2019 +1030
PowerPC disassembler: Don't emit trailing spaces
When an instruction has operands, the PowerPC disassembler prints
spaces after the opcode so as to line up operands. If the operands
are all optional and all default value, then no operands are printed,
leaving trailing spaces. This patch fixes that.
opcodes/
* ppc-dis.c (print_insn_powerpc): Delay printing spaces after
opcode until first operand is output.
gas/
* testsuite/gas/ppc/476.d: Remove trailing spaces.
* testsuite/gas/ppc/a2.d: Likewise.
* testsuite/gas/ppc/booke.d: Likewise.
* testsuite/gas/ppc/booke_xcoff.d: Likewise.
* testsuite/gas/ppc/e500.d: Likewise.
* testsuite/gas/ppc/e500mc.d: Likewise.
* testsuite/gas/ppc/e6500.d: Likewise.
* testsuite/gas/ppc/htm.d: Likewise.
* testsuite/gas/ppc/power6.d: Likewise.
* testsuite/gas/ppc/power8.d: Likewise.
* testsuite/gas/ppc/power9.d: Likewise.
* testsuite/gas/ppc/vle.d: Likewise.
ld/
* testsuite/ld-powerpc/tlsexe32.d: Remove trailing spaces.
* testsuite/ld-powerpc/tlsopt5.d: Likewise.
* testsuite/ld-powerpc/tlsopt5_32.d: Likewise.
commit 82477cd28aac011c884d75a429d47a0523cbac26
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Apr 5 00:00:21 2019 +0000
Automatic date update in version.in
commit aae9718e4d4e8d01dcee22684e82b000203d3e52
Author: Peter Bergner <bergner@vnet.ibm.com>
Date: Thu Apr 4 09:00:29 2019 -0500
Add extended mnemonics for bctar. Fix setting of 'at' branch hints.
opcodes/
PR gas/24349
* ppc-opc.c (valid_bo_pre_v2): Add comments.
(valid_bo_post_v2): Add support for 'at' branch hints.
(insert_bo): Only error on branch on ctr.
(get_bo_hint_mask): New function.
(insert_boe): Add new 'branch_taken' formal argument. Add support
for inserting 'at' branch hints.
(extract_boe): Add new 'branch_taken' formal argument. Add support
for extracting 'at' branch hints.
(insert_bom, extract_bom, insert_bop, extract_bop): New functions.
(BOE): Delete operand.
(BOM, BOP): New operands.
(RM): Update value.
(XLYLK, XLYLK_MASK, XLYBB_MASK): Delete.
(powerpc_opcodes) <bc-, bcl-, bca-, bcla-, bclr-, bclrl-, bcctr-,
bcctrl-, bctar-, bctarl->: Replace BOE with BOM.
(powerpc_opcodes) <bc+, bcl+, bca+, bcla+, bclr+, bclrl+, bcctr+,
bcctrl+, bctar+, bctarl+>: Replace BOE with BOP.
<bdnztar, bdnztarl, bdztar, bdztarl, btar, btarl, bdnztar-, bdnztarl-,
bdnztar+, bdnztarl+, bdztar-, bdztarl-, bdztar+, bdztarl+, bgetar,
bnltar, bgetarl, bnltarl, bletar, bngtar, bletarl, bngtarl, bnetar,
bnetarl, bnstar, bnutar, bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-,
bnltarl-, bletar-, bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-,
bnstar-, bnutar-, bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+,
bnltarl+, bletar+, bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+,
bnstar+, bnutar+, bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl,
beqtar, beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-,
bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-,
buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+,
bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar,
bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar,
bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+,
bttarl+>: New extended mnemonics.
gas/
PR gas/24349
* testsuite/gas/ppc/power8.s: (bdnztar, bdnztarl, bdztar, bdztarl,
btar, btarl, bdnztar-, bdnztarl-, bdnztar+, bdnztarl+, bdztar-,
bdztarl-, bdztar+, bdztarl+, bgetar, bnltar, bgetarl, bnltarl,
bletar, bngtar, bletarl, bngtarl, bnetar, bnetarl, bnstar, bnutar,
bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-, bnltarl-, bletar-,
bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-, bnstar-, bnutar-,
bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+, bnltarl+, bletar+,
bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+, bnstar+, bnutar+,
bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl, beqtar,
beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-,
bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-,
buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+,
bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar,
bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar,
bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+,
bttarl+): Add tests of extended mnemonics.
* testsuite/gas/ppc/power8.d: Likewise. Update previous bctar tests
to expect new extended mnemonics.
* testsuite/gas/ppc/a2.s: <bc, bc-, bc+, bcl, bcl-, bcl+>: Update test
to not use illegal BO value. Use a more convenient BI value.
* testsuite/gas/ppc/a2.d: Update tests for new expect output.
commit e9f8e3f109d57c119eaaa1e56378926f7f20863f
Author: Thomas Schwinge <thomas@codesourcery.com>
Date: Thu Apr 4 11:20:09 2019 +0200
[GDB, Hurd] Fix build; 'target_waitstatus_to_string' call
Recent commit c29705b71a8ec966478c0dc4712194a95291c6de removed an incomplete
local implementation in favor of 'target_waitstatus_to_string' (thanks!), but
introduced a small typing error:
In file included from [...]/gdb/gnu-nat.c:24:0:
[...]/gdb/gnu-nat.c: In member function 'virtual ptid_t gnu_nat_target::wait(ptid_t, target_waitstatus*, int)':
[...]/gdb/gnu-nat.c:1652:43: error: cannot convert 'target_waitstatus**' to 'const target_waitstatus*' for argument '1' to 'std::__cxx11::string target_waitstatus_to_string(const target_waitstatus*)'
target_waitstatus_to_string (&status).c_str ());
^
[...]/gdb/gnu-nat.h:119:32: note: in definition of macro 'debug'
__FILE__ , __LINE__ , ##args); } while (0)
^~~~
[...]/gdb/gnu-nat.c:1650:3: note: in expansion of macro 'inf_debug'
inf_debug (inf, "returning ptid = %s, %s",
^~~~~~~~~
gdb/
* gnu-nat.c (gnu_nat_target::wait): Fix
target_waitstatus_to_string call.
commit e691a46f7db8db7c126f06551e3cec47f875f512
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Apr 4 00:00:15 2019 +0000
Automatic date update in version.in
commit 403b0b61f6d4358aee8493cb1d11814e368942c9
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Tue Apr 2 14:32:42 2019 -0700
gas: use literals/const16 for xtensa loop relaxation
Loop opcode relaxation that uses addi/addmi doesn't work well with other
relaxations that may cause code movement. Instead of encoding fixed loop
end offset in the relaxed sequence use l32r or a pair of const16 to load
loop end address. This way the address of the loop end gets a relocation
record and it gets updated appropriately.
gas/
2019-04-03 Max Filippov <jcmvbkbc@gmail.com>
* config/tc-xtensa.c (convert_frag_immed): Drop
convert_frag_immed_finish_loop invocation.
(convert_frag_immed_finish_loop): Drop declaration and
definition.
* config/xtensa-relax.c (widen_spec_list): Replace loop
widening that uses addi/addmi with widening that uses l32r
and const16.
commit 1c6aafe894645ca1da5c0dd0661bca19caf37ad0
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 3 11:21:36 2019 +1030
PR24411, Division is not accepted in MEMORY length expression
Let's hope no one has section names starting with '/' in scripts. If
they do, this change to fix parsing of '/' in expressiongs will break
their project.
PR 24411
ldlex.l (SYMBOLNAMECHAR1): Don't match '/'.
(<EXPRESSION>"/DISCARD/"): New.
commit 092da96ac4fc1bfa4c794320f538edb4e8d4fcfd
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 3 11:28:17 2019 +1030
ldlex.l tidy
Underscore was specified twice in all these patterns, and backslash
twice in some. Flex warned about the $SYSROOT rule, which is covered
by earlier rules: "ldlex.l:386: warning, rule cannot be matched".
* ldlex.l: Formatting.
(CMDFILENAMECHAR, CMDFILENAMECHAR1): Delete.
(FILENAMECHAR1, SYMBOLNAMECHAR1, FILENAMECHAR, WILDCHAR),
(NOCFILENAMECHAR): Remove duplicate chars. Reorder.
(SYMBOLCHARN): Likewise. Rename to SYMBOLNAMECHAR.
(<INPUTLIST>"$SYSROOT"..): Delete rule.
commit 4b24dd1acad5c133d12aab6a575c83269336e47f
Author: Alan Modra <amodra@gmail.com>
Date: Tue Apr 2 16:38:20 2019 +1030
BFD whitespace fixes
* coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
* elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
* elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
* elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
* elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
* pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
commit 49149495dabc2ef54b7cd38a9346a8696b205da7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Apr 3 00:00:14 2019 +0000
Automatic date update in version.in
commit 87f98bacb76001157d5a26555a41738ac3841a56
Author: Jim Wilson <jimw@sifive.com>
Date: Tue Apr 2 13:30:07 2019 -0700
RISC-V: Don't check ABI flags if no code section.
This fixes a glib build failure reported in PR 24389. Using ld -b binary
creates an object file with no elf header flags set which has the wrong ABI
info for riscv64-linux. But the file also has no code sections, so I added
code borrowed from the arm port that only checks the ELF header ABI flags if
there is a code section.
bfd/
PR 24389
* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
ELF header flags to after check for ELF object file. Loop through
sections looking for code sections, if none, then skip ABI checks.
commit 4c7c79dd9858438a25fcc37ba419baa00d31978d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Apr 2 00:00:43 2019 +0000
Automatic date update in version.in
commit d7df654955c2423190b05b2507caf624ce3d65bc
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Feb 14 15:49:39 2019 +0000
gdb/fortran: Handle internal function calls
If an convenience function is defined in python (or guile), then
currently this will not work in Fortran, instead the user is given
this message:
(gdb) set language fortran
(gdb) p $myfunc (3)
Cannot perform substring on this type
Compare this to C:
(gdb) set language c
(gdb) p $myfunc (3)
$1 = 1
After this patch we see the same behaviour in both C and Fortran.
I've extended the test to check that all languages can call the
convenience functions - only Fortran was broken.
When calling convenience functions in Fortran we don't need to perform
the same value preparation (passing by pointer) that we would for
calling a native function - passing the real value is fine.
gdb/ChangeLog:
* eval.c (evaluate_subexp_standard): Handle internal functions
during Fortran function call handling.
gdb/testsuite/ChangeLog:
* gdb.python/py-function.exp: Check calling helper function from
all languages.
* lib/gdb.exp (gdb_supported_languages): New proc.
commit 8bdc16587e26100282094c8eaa8e83180ba57afd
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 14 13:58:58 2019 +0000
gdb: Add $_cimag and $_creal internal functions
Add two new internal functions $_cimag and $_creal that extract the
imaginary and real parts of a complex value.
These internal functions can take a complex value of any type 'float
complex', 'double complex', or 'long double complex' and return a
suitable floating point value 'float', 'double', or 'long double'.
So we can now do this:
(gdb) p z1
$1 = 1.5 + 4.5 * I
(gdb) p $_cimag (z1)
$4 = 4.5
(gdb) p $_creal (z1)
$4 = 1.5
The components of a complex value are not strictly named types in
DWARF, as the complex type is itself the base type. However, once we
are able to extract the components it makes sense to be able to ask
what the type of these components is and get a sensible answer back,
rather than the error we would currently get. Currently GDB says:
(gdb) ptype z1
type = complex double
(gdb) p $_cimag (z1)
$4 = 4.5
(gdb) ptype $
type = <invalid type code 9>
With the changes in dwarf2read.c, GDB now says:
(gdb) ptype z1
type = complex double
(gdb) p $_cimag (z1)
$4 = 4.5
(gdb) ptype $
type = double
Which seems to make more sense.
gdb/ChangeLog:
* NEWS: Mention new internal functions.
* dwarf2read.c (dwarf2_init_complex_target_type): New function.
(read_base_type): Use dwarf2_init_complex_target_type.
* value.c (creal_internal_fn): New function.
(cimag_internal_fn): New function.
(_initialize_values): Register new internal functions.
gdb/doc/ChangeLog:
* gdb.texinfo (Convenience Funs): Document '$_creal' and
'$_cimag'.
gdb/testsuite/ChangeLog:
* gdb.base/complex-parts.c: New file.
* gdb.base/complex-parts.exp: New file.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 71 +
MAINTAINERS | 4 +-
Makefile.def | 14 +
Makefile.in | 1481 +-
bfd/ChangeLog | 600 +
bfd/Makefile.am | 4 +
bfd/Makefile.in | 6 +
bfd/aout-tic30.c | 98 +-
bfd/archures.c | 5 +
bfd/bfd-in.h | 15 +-
bfd/bfd-in2.h | 69 +-
bfd/coff-i386.c | 2 +-
bfd/coff-x86_64.c | 6 +-
bfd/coffcode.h | 5 +
bfd/coffgen.c | 2 +-
bfd/cofflink.c | 2 +-
bfd/config.bfd | 23 +-
bfd/configure | 29 +-
bfd/configure.ac | 29 +-
bfd/cpu-arm.c | 1 +
bfd/cpu-bpf.c | 41 +
bfd/doc/chew.c | 4 +-
bfd/dwarf2.c | 10 +-
bfd/elf-linker-x86.h | 60 +
bfd/elf-m10200.c | 2 +-
bfd/elf-m10300.c | 4 +-
bfd/elf.c | 297 +-
bfd/elf32-arm.c | 273 +-
bfd/elf32-avr.c | 20 +-
bfd/elf32-bfin.c | 26 +-
bfd/elf32-cris.c | 4 +-
bfd/elf32-csky.c | 12 +-
bfd/elf32-d10v.c | 4 +-
bfd/elf32-dlx.c | 4 +-
bfd/elf32-fr30.c | 4 +-
bfd/elf32-frv.c | 4 +-
bfd/elf32-hppa.c | 4 +-
bfd/elf32-i386.c | 8 +-
bfd/elf32-iq2000.c | 4 +-
bfd/elf32-lm32.c | 3 +-
bfd/elf32-m32r.c | 10 +-
bfd/elf32-m68hc1x.c | 4 +-
bfd/elf32-m68k.c | 45 +-
bfd/elf32-mcore.c | 4 +-
bfd/elf32-metag.c | 4 +-
bfd/elf32-microblaze.c | 13 +-
bfd/elf32-or1k.c | 4 +-
bfd/elf32-pj.c | 1 +
bfd/elf32-ppc.c | 26 +-
bfd/elf32-pru.c | 2 +-
bfd/elf32-rx.c | 5 +-
bfd/elf32-s12z.c | 1 -
bfd/elf32-s390.c | 4 +-
bfd/elf32-sh.c | 4 +-
bfd/elf32-v850.c | 4 +-
bfd/elf32-vax.c | 4 +-
bfd/elf32-xgate.c | 2 +-
bfd/elf32-xstormy16.c | 4 +-
bfd/elf32-xtensa.c | 4 +-
bfd/elf64-alpha.c | 2 +-
bfd/elf64-bpf.c | 463 +
bfd/elf64-hppa.c | 22 +-
bfd/elf64-mmix.c | 4 +-
bfd/elf64-ppc.c | 1156 +-
bfd/elf64-s390.c | 4 +-
bfd/elf64-sparc.c | 12 +-
bfd/elf64-x86-64.c | 41 +-
bfd/elflink.c | 19 +-
bfd/elfnn-aarch64.c | 248 +-
bfd/elfnn-ia64.c | 2 +-
bfd/elfnn-riscv.c | 36 +-
bfd/elfxx-aarch64.c | 10 +-
bfd/elfxx-mips.c | 164 +-
bfd/elfxx-mips.h | 2 +
bfd/elfxx-riscv.c | 6 +-
bfd/elfxx-sparc.c | 10 +-
bfd/elfxx-x86.c | 101 +-
bfd/elfxx-x86.h | 5 +
bfd/libbfd.h | 37 +-
bfd/linker.c | 15 +-
bfd/mach-o.c | 12 +-
bfd/pe-x86_64.c | 6 +-
bfd/pei-x86_64.c | 6 +-
bfd/plugin.c | 26 +-
bfd/po/SRC-POTFILES.in | 2 +
bfd/po/fr.po | 6 +-
bfd/reloc.c | 95 +-
bfd/som.c | 30 +-
bfd/syms.c | 17 +-
bfd/targets.c | 7 +
bfd/verilog.c | 80 +-
bfd/version.h | 2 +-
bfd/vms-alpha.c | 5 +-
bfd/xcofflink.c | 12 +-
binutils/ChangeLog | 294 +
binutils/MAINTAINERS | 2 +
binutils/Makefile.am | 10 +-
binutils/Makefile.in | 9 +-
binutils/NEWS | 11 +-
binutils/README-how-to-make-a-release | 4 +-
binutils/arsup.c | 11 +-
binutils/doc/binutils.texi | 31 +-
binutils/doc/ctf.options.texi | 14 +
binutils/dwarf.c | 10 +-
binutils/nm.c | 95 +-
binutils/objcopy.c | 29 +-
binutils/objdump.c | 195 +-
binutils/po/ca.po | 8187 +-
binutils/readelf.c | 360 +-
binutils/strings.c | 4 +-
.../binutils-all/aarch64/sve-dwarf-registers.d | 25 +
.../binutils-all/aarch64/sve-dwarf-registers.s | 6 +
binutils/testsuite/binutils-all/compress.exp | 2 +-
binutils/testsuite/binutils-all/copy-2.d | 2 +-
binutils/testsuite/binutils-all/copy-3.d | 2 +-
binutils/testsuite/binutils-all/i386/pr21231b.d | 2 +-
binutils/testsuite/binutils-all/nm.exp | 22 +-
binutils/testsuite/binutils-all/objcopy.exp | 44 +
binutils/testsuite/binutils-all/objdump.exp | 62 +-
binutils/testsuite/binutils-all/readelf.ss-mips | 8 +-
binutils/testsuite/binutils-all/readelf.ss-tmips | 8 +-
binutils/testsuite/binutils-all/verilog-1.hex | 5 +
binutils/testsuite/binutils-all/verilog-2.hex | 5 +
binutils/testsuite/binutils-all/verilog-4.hex | 6 +
binutils/testsuite/binutils-all/verilog-8.hex | 5 +
binutils/testsuite/binutils-all/verilogtest.s | 12 +
binutils/testsuite/binutils-all/x86-64/pr21231b.d | 2 +-
binutils/testsuite/lib/binutils-common.exp | 12 +-
binutils/wrstabs.c | 22 +-
config.guess | 198 +-
config.sub | 29 +-
configure | 10 +-
configure.ac | 12 +-
cpu/ChangeLog | 61 +
cpu/bpf.cpu | 647 +
cpu/bpf.opc | 191 +
cpu/or1k.cpu | 21 +-
cpu/or1k.opc | 92 +
cpu/or1kcommon.cpu | 113 +-
cpu/or1korbis.cpu | 3 +-
cpu/or1korfpx.cpu | 214 +-
elfcpp/ChangeLog | 16 +
elfcpp/arm.h | 8 +-
gas/ChangeLog | 2190 +-
gas/Makefile.am | 2 +
gas/Makefile.in | 5 +
gas/NEWS | 3 +
gas/as.h | 4 +
gas/config/atof-ieee.c | 2 -
gas/config/tc-aarch64.c | 146 +-
gas/config/tc-aarch64.h | 6 +
gas/config/tc-arc.c | 5 +-
gas/config/tc-arm.c | 6357 +-
gas/config/tc-arm.h | 16 +-
gas/config/tc-avr.c | 4 +-
gas/config/tc-bpf.c | 354 +
gas/config/tc-bpf.h | 51 +
gas/config/tc-cris.c | 26 +-
gas/config/tc-csky.c | 2 +
gas/config/tc-dlx.c | 14 +-
gas/config/tc-dlx.h | 6 +
gas/config/tc-epiphany.c | 5 +-
gas/config/tc-epiphany.h | 1 -
gas/config/tc-i386-intel.c | 6 +
gas/config/tc-i386.c | 42 +-
gas/config/tc-i386.h | 2 +
gas/config/tc-ia64.c | 2 -
gas/config/tc-ip2k.c | 2 +
gas/config/tc-ip2k.h | 1 -
gas/config/tc-m32c.c | 21 +-
gas/config/tc-m32c.h | 7 +-
gas/config/tc-m32r.c | 3 -
gas/config/tc-metag.c | 3 -
gas/config/tc-microblaze.c | 5 +-
gas/config/tc-mips.c | 146 +-
gas/config/tc-msp430.c | 89 +-
gas/config/tc-mt.c | 2 +
gas/config/tc-mt.h | 1 -
gas/config/tc-nds32.c | 3 -
gas/config/tc-ns32k.c | 4 +-
gas/config/tc-ns32k.h | 18 +-
gas/config/tc-or1k.c | 3 -
gas/config/tc-ppc.c | 560 +-
gas/config/tc-ppc.h | 24 +-
gas/config/tc-riscv.c | 9 +-
gas/config/tc-rl78.c | 3 +-
gas/config/tc-rx.c | 22 +-
gas/config/tc-rx.h | 11 +-
gas/config/tc-s12z.c | 516 +-
gas/config/tc-s12z.h | 3 -
gas/config/tc-score.c | 7 +-
gas/config/tc-score7.c | 7 +-
gas/config/tc-sh.c | 30 +-
gas/config/tc-tic4x.c | 6 +-
gas/config/tc-tic54x.c | 65 +-
gas/config/tc-tic54x.h | 9 +-
gas/config/tc-tilegx.c | 3 -
gas/config/tc-tilepro.c | 3 -
gas/config/tc-visium.c | 3 -
gas/config/tc-xtensa.c | 269 +-
gas/config/te-cloudabi.h | 22 +
gas/config/xtensa-relax.c | 77 +-
gas/configure | 10 +
gas/configure.ac | 6 +
gas/configure.tgt | 5 +-
gas/doc/Makefile.am | 1 +
gas/doc/Makefile.in | 1 +
gas/doc/all.texi | 1 +
gas/doc/as.texi | 36 +-
gas/doc/c-aarch64.texi | 18 +
gas/doc/c-arm.texi | 20 +-
gas/doc/c-bfin.texi | 2 +-
gas/doc/c-bpf.texi | 364 +
gas/doc/c-i386.texi | 9 +-
gas/doc/c-mips.texi | 1 +
gas/doc/c-s12z.texi | 159 +-
gas/dw2gencfi.c | 54 +-
gas/dwarf2dbg.c | 73 +-
gas/ehopt.c | 2 +-
gas/expr.c | 32 +-
gas/expr.h | 2 +
gas/frags.c | 59 +-
gas/frags.h | 4 +-
gas/listing.c | 8 +-
gas/macro.c | 2 +-
gas/messages.c | 18 +-
gas/po/POTFILES.in | 2 +
gas/read.c | 3 +-
gas/symbols.c | 80 +-
gas/testsuite/gas/aarch64/armv8_5-a-memtag.d | 52 +-
gas/testsuite/gas/aarch64/armv8_5-a-memtag.s | 12 +-
gas/testsuite/gas/aarch64/illegal-memtag.l | 16 +-
gas/testsuite/gas/aarch64/illegal-memtag.s | 18 +-
gas/testsuite/gas/aarch64/illegal-sve2-aes.d | 20 +
gas/testsuite/gas/aarch64/illegal-sve2-bitperm.d | 19 +
gas/testsuite/gas/aarch64/illegal-sve2-sha3.d | 6 +
gas/testsuite/gas/aarch64/illegal-sve2-sm4.d | 8 +
gas/testsuite/gas/aarch64/illegal-sve2-sve1ext.d | 4 +
gas/testsuite/gas/aarch64/illegal-sve2-sve1ext.l | 128 +
gas/testsuite/gas/aarch64/illegal-sve2.d | 4 +
gas/testsuite/gas/aarch64/illegal-sve2.l | 3322 +
gas/testsuite/gas/aarch64/illegal-sve2.s | 2062 +
gas/testsuite/gas/aarch64/sve1-extended-sve2.s | 137 +
gas/testsuite/gas/aarch64/sve2.d | 1301 +
gas/testsuite/gas/aarch64/sve2.s | 1595 +
gas/testsuite/gas/aarch64/symbol-variant_pcs-1.d | 10 +
gas/testsuite/gas/aarch64/symbol-variant_pcs-1.s | 8 +
gas/testsuite/gas/aarch64/symbol-variant_pcs-2.d | 9 +
gas/testsuite/gas/aarch64/symbol-variant_pcs-2.s | 4 +
gas/testsuite/gas/aarch64/symbol-variant_pcs-3.d | 12 +
gas/testsuite/gas/aarch64/symbol-variant_pcs-3.s | 20 +
gas/testsuite/gas/aarch64/tme-invalid.d | 4 +
gas/testsuite/gas/aarch64/tme-invalid.l | 26 +
gas/testsuite/gas/aarch64/tme-invalid.s | 28 +
gas/testsuite/gas/aarch64/tme.d | 22 +
gas/testsuite/gas/aarch64/tme.s | 14 +
gas/testsuite/gas/all/align.d | 2 +-
gas/testsuite/gas/all/gas.exp | 13 +-
gas/testsuite/gas/all/incbin.d | 1 -
gas/testsuite/gas/all/org-1.l | 2 +-
gas/testsuite/gas/all/org-1.s | 2 +
gas/testsuite/gas/all/weakref1.d | 1 +
gas/testsuite/gas/all/weakref1u.d | 2 +-
gas/testsuite/gas/arm/archv8m_1m-cmse-main-bad.d | 4 +
gas/testsuite/gas/arm/archv8m_1m-cmse-main-bad.l | 16 +
gas/testsuite/gas/arm/archv8m_1m-cmse-main-bad.s | 23 +
gas/testsuite/gas/arm/archv8m_1m-cmse-main.d | 57 +
gas/testsuite/gas/arm/archv8m_1m-cmse-main.s | 54 +
gas/testsuite/gas/arm/armv8.1-m.main-fp-dp.d | 203 +
gas/testsuite/gas/arm/armv8.1-m.main-fp.d | 270 +
gas/testsuite/gas/arm/armv8.1-m.main-hp.d | 75 +
gas/testsuite/gas/arm/armv8_1-m-bf-bad.d | 4 +
gas/testsuite/gas/arm/armv8_1-m-bf-bad.l | 9 +
gas/testsuite/gas/arm/armv8_1-m-bf-bad.s | 14 +
gas/testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d | 4 +
gas/testsuite/gas/arm/armv8_1-m-bf-exchange-bad.l | 7 +
gas/testsuite/gas/arm/armv8_1-m-bf-exchange-bad.s | 12 +
gas/testsuite/gas/arm/armv8_1-m-bf-exchange.d | 14 +
gas/testsuite/gas/arm/armv8_1-m-bf-exchange.s | 12 +
gas/testsuite/gas/arm/armv8_1-m-bf-rel.d | 10 +
gas/testsuite/gas/arm/armv8_1-m-bf-rel.s | 5 +
gas/testsuite/gas/arm/armv8_1-m-bf-rela.d | 12 +
gas/testsuite/gas/arm/armv8_1-m-bf.d | 13 +
gas/testsuite/gas/arm/armv8_1-m-bf.s | 12 +
gas/testsuite/gas/arm/armv8_1-m-bfcsel.d | 12 +
gas/testsuite/gas/arm/armv8_1-m-bfcsel.s | 12 +
gas/testsuite/gas/arm/armv8_1-m-bfl-bad.d | 4 +
gas/testsuite/gas/arm/armv8_1-m-bfl-bad.l | 9 +
gas/testsuite/gas/arm/armv8_1-m-bfl-bad.s | 14 +
gas/testsuite/gas/arm/armv8_1-m-bfl-rel.d | 10 +
gas/testsuite/gas/arm/armv8_1-m-bfl-rel.s | 5 +
gas/testsuite/gas/arm/armv8_1-m-bfl-rela.d | 12 +
gas/testsuite/gas/arm/armv8_1-m-bfl.d | 13 +
gas/testsuite/gas/arm/armv8_1-m-bfl.s | 12 +
gas/testsuite/gas/arm/armv8_1-m-cond-bad.d | 4 +
gas/testsuite/gas/arm/armv8_1-m-cond-bad.l | 8 +
gas/testsuite/gas/arm/armv8_1-m-cond-bad.s | 15 +
gas/testsuite/gas/arm/armv8_1-m-cond.d | 21 +
gas/testsuite/gas/arm/armv8_1-m-cond.s | 17 +
gas/testsuite/gas/arm/armv8_1-m-loloop-bad.d | 4 +
gas/testsuite/gas/arm/armv8_1-m-loloop-bad.l | 7 +
gas/testsuite/gas/arm/armv8_1-m-loloop-bad.s | 12 +
gas/testsuite/gas/arm/armv8_1-m-loloop.d | 17 +
gas/testsuite/gas/arm/armv8_1-m-loloop.s | 14 +
gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad1.d | 4 +
gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad1.l | 9 +
gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad2.d | 4 +
gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad2.l | 5 +
gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad3.d | 4 +
gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad3.l | 11 +
gas/testsuite/gas/arm/armv8_1-m-spec-reg.d | 20 +
gas/testsuite/gas/arm/armv8_1-m-spec-reg.s | 15 +
gas/testsuite/gas/arm/armv8_3-a-fp-bad.l | 4 +-
gas/testsuite/gas/arm/armv8_3-a-simd-bad.l | 16 +-
gas/testsuite/gas/arm/attr-march-armv8_1-m.main.d | 13 +
gas/testsuite/gas/arm/dotprod-illegal.l | 10 +-
gas/testsuite/gas/arm/load-pseudo.s | 3 +
gas/testsuite/gas/arm/m0-load-pseudo.d | 12 +
gas/testsuite/gas/arm/m23-load-pseudo.d | 12 +
gas/testsuite/gas/arm/m33-load-pseudo.d | 11 +
gas/testsuite/gas/arm/mve-shift-bad.d | 4 +
gas/testsuite/gas/arm/mve-shift-bad.l | 12 +
gas/testsuite/gas/arm/mve-shift-bad.s | 15 +
gas/testsuite/gas/arm/mve-shift.d | 27 +
gas/testsuite/gas/arm/mve-shift.s | 21 +
gas/testsuite/gas/arm/mve-tailpredloop-bad.d | 5 +
gas/testsuite/gas/arm/mve-tailpredloop-bad.l | 26 +
gas/testsuite/gas/arm/mve-tailpredloop-bad.s | 36 +
gas/testsuite/gas/arm/mve-tailpredloop.d | 95 +
gas/testsuite/gas/arm/mve-tailpredloop.s | 23 +
gas/testsuite/gas/arm/mve-vabav-bad.d | 6 +
gas/testsuite/gas/arm/mve-vabav-bad.l | 18 +
gas/testsuite/gas/arm/mve-vabav-bad.s | 26 +
gas/testsuite/gas/arm/mve-vabav.d | 1365 +
gas/testsuite/gas/arm/mve-vabav.s | 29 +
gas/testsuite/gas/arm/mve-vabd.d | 1018 +
gas/testsuite/gas/arm/mve-vabd.s | 32 +
gas/testsuite/gas/arm/mve-vabsneg-bad-1.d | 6 +
gas/testsuite/gas/arm/mve-vabsneg-bad-1.l | 33 +
gas/testsuite/gas/arm/mve-vabsneg-bad-1.s | 37 +
gas/testsuite/gas/arm/mve-vabsneg-bad-2.d | 6 +
gas/testsuite/gas/arm/mve-vabsneg-bad-2.l | 29 +
gas/testsuite/gas/arm/mve-vabsneg-bad-2.s | 32 +
gas/testsuite/gas/arm/mve-vabsneg.d | 271 +
gas/testsuite/gas/arm/mve-vabsneg.s | 36 +
gas/testsuite/gas/arm/mve-vadc-bad.d | 5 +
gas/testsuite/gas/arm/mve-vadc-bad.l | 31 +
gas/testsuite/gas/arm/mve-vadc-bad.s | 36 +
gas/testsuite/gas/arm/mve-vadc.d | 262 +
gas/testsuite/gas/arm/mve-vadc.s | 17 +
gas/testsuite/gas/arm/mve-vaddlv-bad.d | 5 +
gas/testsuite/gas/arm/mve-vaddlv-bad.l | 42 +
gas/testsuite/gas/arm/mve-vaddlv-bad.s | 47 +
gas/testsuite/gas/arm/mve-vaddlv.d | 852 +
gas/testsuite/gas/arm/mve-vaddlv.s | 19 +
gas/testsuite/gas/arm/mve-vaddsub.d | 3535 +
gas/testsuite/gas/arm/mve-vaddsub.s | 77 +
gas/testsuite/gas/arm/mve-vaddsubabd-bad-1.d | 5 +
gas/testsuite/gas/arm/mve-vaddsubabd-bad-1.l | 55 +
gas/testsuite/gas/arm/mve-vaddsubabd-bad-1.s | 39 +
gas/testsuite/gas/arm/mve-vaddsubabd-bad-2.d | 6 +
gas/testsuite/gas/arm/mve-vaddsubabd-bad-2.l | 46 +
gas/testsuite/gas/arm/mve-vaddsubabd-bad-2.s | 32 +
gas/testsuite/gas/arm/mve-vaddv-bad.d | 5 +
gas/testsuite/gas/arm/mve-vaddv-bad.l | 32 +
gas/testsuite/gas/arm/mve-vaddv-bad.s | 37 +
gas/testsuite/gas/arm/mve-vaddv.d | 432 +
gas/testsuite/gas/arm/mve-vaddv.s | 15 +
gas/testsuite/gas/arm/mve-vand-bad.d | 5 +
gas/testsuite/gas/arm/mve-vand-bad.l | 27 +
gas/testsuite/gas/arm/mve-vand-bad.s | 38 +
gas/testsuite/gas/arm/mve-vand.d | 1432 +
gas/testsuite/gas/arm/mve-vand.s | 28 +
gas/testsuite/gas/arm/mve-vbic-bad.d | 5 +
gas/testsuite/gas/arm/mve-vbic-bad.l | 28 +
gas/testsuite/gas/arm/mve-vbic-bad.s | 38 +
gas/testsuite/gas/arm/mve-vbic.d | 1020 +
gas/testsuite/gas/arm/mve-vbic.s | 26 +
gas/testsuite/gas/arm/mve-vbrsr-bad.d | 5 +
gas/testsuite/gas/arm/mve-vbrsr-bad.l | 14 +
gas/testsuite/gas/arm/mve-vbrsr-bad.s | 20 +
gas/testsuite/gas/arm/mve-vbrsr.d | 612 +
gas/testsuite/gas/arm/mve-vbrsr.s | 16 +
gas/testsuite/gas/arm/mve-vcadd-bad-1.d | 5 +
gas/testsuite/gas/arm/mve-vcadd-bad-1.l | 17 +
gas/testsuite/gas/arm/mve-vcadd-bad-1.s | 23 +
gas/testsuite/gas/arm/mve-vcadd-bad-2.d | 5 +
gas/testsuite/gas/arm/mve-vcadd-bad-2.l | 17 +
gas/testsuite/gas/arm/mve-vcadd-bad-2.s | 22 +
gas/testsuite/gas/arm/mve-vcadd.d | 1407 +
gas/testsuite/gas/arm/mve-vcadd.s | 80 +
gas/testsuite/gas/arm/mve-vcls-bad.d | 5 +
gas/testsuite/gas/arm/mve-vcls-bad.l | 17 +
gas/testsuite/gas/arm/mve-vcls-bad.s | 24 +
gas/testsuite/gas/arm/mve-vcls.d | 87 +
gas/testsuite/gas/arm/mve-vcls.s | 15 +
gas/testsuite/gas/arm/mve-vclz-bad.d | 5 +
gas/testsuite/gas/arm/mve-vclz-bad.l | 14 +
gas/testsuite/gas/arm/mve-vclz-bad.s | 20 +
gas/testsuite/gas/arm/mve-vclz.d | 87 +
gas/testsuite/gas/arm/mve-vclz.s | 14 +
gas/testsuite/gas/arm/mve-vcmla-bad-1.d | 5 +
gas/testsuite/gas/arm/mve-vcmla-bad-1.l | 3 +
gas/testsuite/gas/arm/mve-vcmla-bad-1.s | 4 +
gas/testsuite/gas/arm/mve-vcmla-bad-2.d | 5 +
gas/testsuite/gas/arm/mve-vcmla-bad-2.l | 17 +
gas/testsuite/gas/arm/mve-vcmla-bad-2.s | 23 +
gas/testsuite/gas/arm/mve-vcmla.d | 652 +
gas/testsuite/gas/arm/mve-vcmla.s | 57 +
gas/testsuite/gas/arm/mve-vcmp-bad-1.d | 5 +
gas/testsuite/gas/arm/mve-vcmp-bad-1.l | 31 +
gas/testsuite/gas/arm/mve-vcmp-bad-1.s | 47 +
gas/testsuite/gas/arm/mve-vcmp-bad-2.d | 5 +
gas/testsuite/gas/arm/mve-vcmp-bad-2.l | 25 +
gas/testsuite/gas/arm/mve-vcmp-bad-2.s | 41 +
gas/testsuite/gas/arm/mve-vcmp.d | 1745 +
gas/testsuite/gas/arm/mve-vcmp.s | 59 +
gas/testsuite/gas/arm/mve-vcmul-bad-1.d | 5 +
gas/testsuite/gas/arm/mve-vcmul-bad-1.l | 4 +
gas/testsuite/gas/arm/mve-vcmul-bad-1.s | 5 +
gas/testsuite/gas/arm/mve-vcmul-bad-2.d | 5 +
gas/testsuite/gas/arm/mve-vcmul-bad-2.l | 17 +
gas/testsuite/gas/arm/mve-vcmul-bad-2.s | 23 +
gas/testsuite/gas/arm/mve-vcmul.d | 652 +
gas/testsuite/gas/arm/mve-vcmul.s | 56 +
gas/testsuite/gas/arm/mve-vcvt-1.d | 1317 +
gas/testsuite/gas/arm/mve-vcvt-1.s | 33 +
gas/testsuite/gas/arm/mve-vcvt-2.d | 217 +
gas/testsuite/gas/arm/mve-vcvt-2.s | 22 +
gas/testsuite/gas/arm/mve-vcvt-3.d | 112 +
gas/testsuite/gas/arm/mve-vcvt-3.s | 17 +
gas/testsuite/gas/arm/mve-vcvt-4.d | 432 +
gas/testsuite/gas/arm/mve-vcvt-4.s | 42 +
gas/testsuite/gas/arm/mve-vcvt-bad-1.d | 6 +
gas/testsuite/gas/arm/mve-vcvt-bad-1.l | 75 +
gas/testsuite/gas/arm/mve-vcvt-bad-1.s | 40 +
gas/testsuite/gas/arm/mve-vcvt-bad-2.d | 5 +
gas/testsuite/gas/arm/mve-vcvt-bad-2.l | 58 +
gas/testsuite/gas/arm/mve-vcvt-bad-2.s | 24 +
gas/testsuite/gas/arm/mve-vcvt-bad-3.d | 5 +
gas/testsuite/gas/arm/mve-vcvt-bad-3.l | 39 +
gas/testsuite/gas/arm/mve-vcvt-bad-3.s | 34 +
gas/testsuite/gas/arm/mve-vcvt-bad-4.d | 5 +
gas/testsuite/gas/arm/mve-vcvt-bad-4.l | 133 +
gas/testsuite/gas/arm/mve-vcvt-bad-4.s | 62 +
gas/testsuite/gas/arm/mve-vcvt-bad.d | 6 +
gas/testsuite/gas/arm/mve-vcvt-bad.l | 77 +
gas/testsuite/gas/arm/mve-vcvt-bad.s | 94 +
gas/testsuite/gas/arm/mve-vddup-bad.d | 6 +
gas/testsuite/gas/arm/mve-vddup-bad.l | 33 +
gas/testsuite/gas/arm/mve-vddup-bad.s | 43 +
gas/testsuite/gas/arm/mve-vddup.d | 5903 +
gas/testsuite/gas/arm/mve-vddup.s | 34 +
gas/testsuite/gas/arm/mve-vdup-bad.d | 5 +
gas/testsuite/gas/arm/mve-vdup-bad.l | 16 +
gas/testsuite/gas/arm/mve-vdup-bad.s | 23 +
gas/testsuite/gas/arm/mve-vdup.d | 162 +
gas/testsuite/gas/arm/mve-vdup.s | 14 +
gas/testsuite/gas/arm/mve-veor-bad.d | 5 +
gas/testsuite/gas/arm/mve-veor-bad.l | 12 +
gas/testsuite/gas/arm/mve-veor-bad.s | 18 +
gas/testsuite/gas/arm/mve-veor.d | 1012 +
gas/testsuite/gas/arm/mve-veor.s | 17 +
gas/testsuite/gas/arm/mve-vfma-vfms-bad.d | 5 +
gas/testsuite/gas/arm/mve-vfma-vfms-bad.l | 35 +
gas/testsuite/gas/arm/mve-vfma-vfms-bad.s | 49 +
gas/testsuite/gas/arm/mve-vfma-vfms.d | 915 +
gas/testsuite/gas/arm/mve-vfma-vfms.s | 25 +
gas/testsuite/gas/arm/mve-vfmas-bad.d | 5 +
gas/testsuite/gas/arm/mve-vfmas-bad.l | 16 +
gas/testsuite/gas/arm/mve-vfmas-bad.s | 22 +
gas/testsuite/gas/arm/mve-vfmas.d | 412 +
gas/testsuite/gas/arm/mve-vfmas.s | 16 +
gas/testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.d | 5 +
gas/testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.l | 71 +
gas/testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.s | 69 +
gas/testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.d | 4665 +
gas/testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.s | 26 +
gas/testsuite/gas/arm/mve-vhcadd-bad.d | 5 +
gas/testsuite/gas/arm/mve-vhcadd-bad.l | 17 +
gas/testsuite/gas/arm/mve-vhcadd-bad.s | 23 +
gas/testsuite/gas/arm/mve-vhcadd.d | 710 +
gas/testsuite/gas/arm/mve-vhcadd.s | 57 +
gas/testsuite/gas/arm/mve-vidup-bad.d | 5 +
gas/testsuite/gas/arm/mve-vidup-bad.l | 34 +
gas/testsuite/gas/arm/mve-vidup-bad.s | 43 +
gas/testsuite/gas/arm/mve-vldr-bad-1.d | 5 +
gas/testsuite/gas/arm/mve-vldr-bad-1.l | 98 +
gas/testsuite/gas/arm/mve-vldr-bad-1.s | 107 +
gas/testsuite/gas/arm/mve-vldr-bad-2.d | 5 +
gas/testsuite/gas/arm/mve-vldr-bad-2.l | 41 +
gas/testsuite/gas/arm/mve-vldr-bad-2.s | 44 +
gas/testsuite/gas/arm/mve-vldr-bad-3.d | 5 +
gas/testsuite/gas/arm/mve-vldr-bad-3.l | 135 +
gas/testsuite/gas/arm/mve-vldr-bad-3.s | 138 +
gas/testsuite/gas/arm/mve-vmax-vmin-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmax-vmin-bad.l | 27 +
gas/testsuite/gas/arm/mve-vmax-vmin-bad.s | 31 +
gas/testsuite/gas/arm/mve-vmax-vmin.d | 1512 +
gas/testsuite/gas/arm/mve-vmax-vmin.s | 17 +
gas/testsuite/gas/arm/mve-vmaxa-vmina-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmaxa-vmina-bad.l | 29 +
gas/testsuite/gas/arm/mve-vmaxa-vmina-bad.s | 33 +
gas/testsuite/gas/arm/mve-vmaxa-vmina.d | 162 +
gas/testsuite/gas/arm/mve-vmaxa-vmina.s | 16 +
gas/testsuite/gas/arm/mve-vmaxnm-vminnm-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmaxnm-vminnm-bad.l | 27 +
gas/testsuite/gas/arm/mve-vmaxnm-vminnm-bad.s | 31 +
gas/testsuite/gas/arm/mve-vmaxnm-vminnm.d | 617 +
gas/testsuite/gas/arm/mve-vmaxnm-vminnm.s | 24 +
gas/testsuite/gas/arm/mve-vmaxnma-vminnma-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmaxnma-vminnma-bad.l | 27 +
gas/testsuite/gas/arm/mve-vmaxnma-vminnma-bad.s | 31 +
gas/testsuite/gas/arm/mve-vmaxnma-vminnma.s | 15 +
gas/testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.l | 57 +
gas/testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.s | 57 +
gas/testsuite/gas/arm/mve-vmaxnmv-vminnmv.d | 377 +
gas/testsuite/gas/arm/mve-vmaxnmv-vminnmv.s | 22 +
gas/testsuite/gas/arm/mve-vmaxv-vminv-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmaxv-vminv-bad.l | 57 +
gas/testsuite/gas/arm/mve-vmaxv-vminv-bad.s | 57 +
gas/testsuite/gas/arm/mve-vmaxv-vminv.d | 737 +
gas/testsuite/gas/arm/mve-vmaxv-vminv.s | 30 +
gas/testsuite/gas/arm/mve-vmla-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmla-bad.l | 17 +
gas/testsuite/gas/arm/mve-vmla-bad.s | 23 +
gas/testsuite/gas/arm/mve-vmla.d | 1360 +
gas/testsuite/gas/arm/mve-vmla.s | 14 +
gas/testsuite/gas/arm/mve-vmladav-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmladav-bad.l | 55 +
gas/testsuite/gas/arm/mve-vmladav-bad.s | 55 +
gas/testsuite/gas/arm/mve-vmladav.d | 3167 +
gas/testsuite/gas/arm/mve-vmladav.s | 34 +
gas/testsuite/gas/arm/mve-vmlaldav-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmlaldav-bad.l | 62 +
gas/testsuite/gas/arm/mve-vmlaldav-bad.s | 58 +
gas/testsuite/gas/arm/mve-vmlaldav.d |12617 ++
gas/testsuite/gas/arm/mve-vmlaldav.s | 32 +
gas/testsuite/gas/arm/mve-vmlalv-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmlalv-bad.l | 33 +
gas/testsuite/gas/arm/mve-vmlalv-bad.s | 35 +
gas/testsuite/gas/arm/mve-vmlalv.d |16812 +++
gas/testsuite/gas/arm/mve-vmlalv.s | 23 +
gas/testsuite/gas/arm/mve-vmlas-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmlas-bad.l | 16 +
gas/testsuite/gas/arm/mve-vmlas-bad.s | 22 +
gas/testsuite/gas/arm/mve-vmlas.d | 1360 +
gas/testsuite/gas/arm/mve-vmlas.s | 14 +
gas/testsuite/gas/arm/mve-vmlav-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmlav-bad.l | 29 +
gas/testsuite/gas/arm/mve-vmlav-bad.s | 33 +
gas/testsuite/gas/arm/mve-vmlav.d | 2112 +
gas/testsuite/gas/arm/mve-vmlav.s | 22 +
gas/testsuite/gas/arm/mve-vmlsdav-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmlsdav-bad.l | 47 +
gas/testsuite/gas/arm/mve-vmlsdav-bad.s | 47 +
gas/testsuite/gas/arm/mve-vmlsdav.d | 2117 +
gas/testsuite/gas/arm/mve-vmlsdav.s | 25 +
gas/testsuite/gas/arm/mve-vmlsldav-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmlsldav-bad.l | 63 +
gas/testsuite/gas/arm/mve-vmlsldav-bad.s | 60 +
gas/testsuite/gas/arm/mve-vmlsldav.d | 8412 ++
gas/testsuite/gas/arm/mve-vmlsldav.s | 23 +
gas/testsuite/gas/arm/mve-vmov-1.d | 4156 +
gas/testsuite/gas/arm/mve-vmov-1.s | 132 +
gas/testsuite/gas/arm/mve-vmov-2.d | 4307 +
gas/testsuite/gas/arm/mve-vmov-2.s | 147 +
gas/testsuite/gas/arm/mve-vmov-bad-1.d | 5 +
gas/testsuite/gas/arm/mve-vmov-bad-1.l | 24 +
gas/testsuite/gas/arm/mve-vmov-bad-1.s | 29 +
gas/testsuite/gas/arm/mve-vmov-bad-2.d | 5 +
gas/testsuite/gas/arm/mve-vmov-bad-2.l | 10 +
gas/testsuite/gas/arm/mve-vmov-bad-2.s | 11 +
gas/testsuite/gas/arm/mve-vmul-bad-1.d | 5 +
gas/testsuite/gas/arm/mve-vmul-bad-1.l | 31 +
gas/testsuite/gas/arm/mve-vmul-bad-1.s | 35 +
gas/testsuite/gas/arm/mve-vmul-bad-2.d | 5 +
gas/testsuite/gas/arm/mve-vmul-bad-2.l | 47 +
gas/testsuite/gas/arm/mve-vmul-bad-2.s | 41 +
gas/testsuite/gas/arm/mve-vmul.d | 1760 +
gas/testsuite/gas/arm/mve-vmul.s | 18 +
gas/testsuite/gas/arm/mve-vmulh-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmulh-bad.l | 29 +
gas/testsuite/gas/arm/mve-vmulh-bad.s | 33 +
gas/testsuite/gas/arm/mve-vmulh.d | 1512 +
gas/testsuite/gas/arm/mve-vmulh.s | 17 +
gas/testsuite/gas/arm/mve-vmullbt-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmullbt-bad.l | 33 +
gas/testsuite/gas/arm/mve-vmullbt-bad.s | 40 +
gas/testsuite/gas/arm/mve-vmullbt.d | 1847 +
gas/testsuite/gas/arm/mve-vmullbt.s | 89 +
gas/testsuite/gas/arm/mve-vmvn-bad.d | 5 +
gas/testsuite/gas/arm/mve-vmvn-bad.l | 20 +
gas/testsuite/gas/arm/mve-vmvn-bad.s | 21 +
gas/testsuite/gas/arm/mve-vmvn.d | 92 +
gas/testsuite/gas/arm/mve-vmvn.s | 23 +
gas/testsuite/gas/arm/mve-vorn-bad.d | 5 +
gas/testsuite/gas/arm/mve-vorn-bad.l | 27 +
gas/testsuite/gas/arm/mve-vorn-bad.s | 38 +
gas/testsuite/gas/arm/mve-vorn.d | 1021 +
gas/testsuite/gas/arm/mve-vorn.s | 26 +
gas/testsuite/gas/arm/mve-vorr-bad.d | 5 +
gas/testsuite/gas/arm/mve-vorr-bad.l | 27 +
gas/testsuite/gas/arm/mve-vorr-bad.s | 38 +
gas/testsuite/gas/arm/mve-vorr.d | 1020 +
gas/testsuite/gas/arm/mve-vorr.s | 25 +
gas/testsuite/gas/arm/mve-vpnot-bad.d | 5 +
gas/testsuite/gas/arm/mve-vpnot-bad.l | 12 +
gas/testsuite/gas/arm/mve-vpnot-bad.s | 18 +
gas/testsuite/gas/arm/mve-vpnot.d | 11 +
gas/testsuite/gas/arm/mve-vpnot.s | 6 +
gas/testsuite/gas/arm/mve-vpsel-bad.d | 5 +
gas/testsuite/gas/arm/mve-vpsel-bad.l | 12 +
gas/testsuite/gas/arm/mve-vpsel-bad.s | 19 +
gas/testsuite/gas/arm/mve-vpsel.d | 885 +
gas/testsuite/gas/arm/mve-vpsel.s | 15 +
gas/testsuite/gas/arm/mve-vpst-bad.d | 6 +
gas/testsuite/gas/arm/mve-vpst-bad.l | 19 +
gas/testsuite/gas/arm/mve-vpst-bad.s | 68 +
gas/testsuite/gas/arm/mve-vpt-bad-1.d | 5 +
gas/testsuite/gas/arm/mve-vpt-bad-1.l | 23 +
gas/testsuite/gas/arm/mve-vpt-bad-1.s | 30 +
gas/testsuite/gas/arm/mve-vpt-bad-2.d | 5 +
gas/testsuite/gas/arm/mve-vpt-bad-2.l | 21 +
gas/testsuite/gas/arm/mve-vpt-bad-2.s | 27 +
gas/testsuite/gas/arm/mve-vpt.d |138311 ++++++++++++++++++++
gas/testsuite/gas/arm/mve-vpt.s | 117 +
gas/testsuite/gas/arm/mve-vqabsneg-bad.d | 5 +
gas/testsuite/gas/arm/mve-vqabsneg-bad.l | 27 +
gas/testsuite/gas/arm/mve-vqabsneg-bad.s | 29 +
gas/testsuite/gas/arm/mve-vqabsneg.s | 19 +
gas/testsuite/gas/arm/mve-vqaddsub-bad.d | 5 +
gas/testsuite/gas/arm/mve-vqaddsub-bad.l | 57 +
gas/testsuite/gas/arm/mve-vqaddsub-bad.s | 57 +
gas/testsuite/gas/arm/mve-vqaddsub.d | 4217 +
gas/testsuite/gas/arm/mve-vqaddsub.s | 26 +
gas/testsuite/gas/arm/mve-vqdmladh-bad.d | 5 +
gas/testsuite/gas/arm/mve-vqdmladh-bad.l | 61 +
gas/testsuite/gas/arm/mve-vqdmladh-bad.s | 61 +
gas/testsuite/gas/arm/mve-vqdmladh.d | 1401 +
gas/testsuite/gas/arm/mve-vqdmladh.s | 75 +
gas/testsuite/gas/arm/mve-vqdmlah.d | 2712 +
gas/testsuite/gas/arm/mve-vqdmlah.s | 18 +
gas/testsuite/gas/arm/mve-vqdmlash.d | 2712 +
gas/testsuite/gas/arm/mve-vqdmlash.s | 18 +
gas/testsuite/gas/arm/mve-vqdmlsdh-bad.d | 5 +
gas/testsuite/gas/arm/mve-vqdmlsdh-bad.l | 61 +
gas/testsuite/gas/arm/mve-vqdmlsdh-bad.s | 61 +
gas/testsuite/gas/arm/mve-vqdmlsdh.d | 1401 +
gas/testsuite/gas/arm/mve-vqdmlsdh.s | 73 +
gas/testsuite/gas/arm/mve-vqdmulh-bad.d | 5 +
gas/testsuite/gas/arm/mve-vqdmulh-bad.l | 57 +
gas/testsuite/gas/arm/mve-vqdmulh-bad.s | 57 +
gas/testsuite/gas/arm/mve-vqdmulh.d | 2117 +
gas/testsuite/gas/arm/mve-vqdmulh.s | 26 +
gas/testsuite/gas/arm/mve-vqdmull-bad.d | 5 +
gas/testsuite/gas/arm/mve-vqdmull-bad.l | 61 +
gas/testsuite/gas/arm/mve-vqdmull-bad.s | 55 +
gas/testsuite/gas/arm/mve-vqdmull.d | 787 +
gas/testsuite/gas/arm/mve-vqdmull.s | 56 +
gas/testsuite/gas/arm/mve-vqmovn-bad.d | 5 +
gas/testsuite/gas/arm/mve-vqmovn-bad.l | 61 +
gas/testsuite/gas/arm/mve-vqmovn-bad.s | 61 +
gas/testsuite/gas/arm/mve-vqmovn.d | 325 +
gas/testsuite/gas/arm/mve-vqmovn.s | 37 +
gas/testsuite/gas/arm/mve-vqrshl-bad.d | 5 +
gas/testsuite/gas/arm/mve-vqrshl-bad.l | 32 +
gas/testsuite/gas/arm/mve-vqrshl-bad.s | 36 +
gas/testsuite/gas/arm/mve-vqrshl.d | 1032 +
gas/testsuite/gas/arm/mve-vqrshl.s | 19 +
gas/testsuite/gas/arm/mve-vqrshrn-bad.d | 5 +
gas/testsuite/gas/arm/mve-vqrshrn-bad.l | 71 +
gas/testsuite/gas/arm/mve-vqrshrn-bad.s | 71 +
gas/testsuite/gas/arm/mve-vqrshrn.d | 2117 +
gas/testsuite/gas/arm/mve-vqrshrn.s | 38 +
gas/testsuite/gas/arm/mve-vqshl-bad.d | 5 +
gas/testsuite/gas/arm/mve-vqshl-bad.l | 45 +
gas/testsuite/gas/arm/mve-vqshl-bad.s | 48 +
gas/testsuite/gas/arm/mve-vqshl.d | 3212 +
gas/testsuite/gas/arm/mve-vqshl.s | 45 +
gas/testsuite/gas/arm/mve-vrev-bad.d | 5 +
gas/testsuite/gas/arm/mve-vrev-bad.l | 38 +
gas/testsuite/gas/arm/mve-vrev-bad.s | 40 +
gas/testsuite/gas/arm/mve-vrev.d | 150 +
gas/testsuite/gas/arm/mve-vrev.s | 46 +
gas/testsuite/gas/arm/mve-vrint-bad.d | 5 +
gas/testsuite/gas/arm/mve-vrint-bad.l | 80 +
gas/testsuite/gas/arm/mve-vrint-bad.s | 25 +
gas/testsuite/gas/arm/mve-vrint.d | 322 +
gas/testsuite/gas/arm/mve-vrint.s | 26 +
gas/testsuite/gas/arm/mve-vrmlaldavh-bad.d | 5 +
gas/testsuite/gas/arm/mve-vrmlaldavh-bad.l | 171 +
gas/testsuite/gas/arm/mve-vrmlaldavh-bad.s | 159 +
gas/testsuite/gas/arm/mve-vrmlaldavh.d |14732 +++
gas/testsuite/gas/arm/mve-vrmlaldavh.s | 57 +
gas/testsuite/gas/arm/mve-vrshl-bad.d | 5 +
gas/testsuite/gas/arm/mve-vrshl-bad.l | 29 +
gas/testsuite/gas/arm/mve-vrshl-bad.s | 33 +
gas/testsuite/gas/arm/mve-vrshl.d | 1032 +
gas/testsuite/gas/arm/mve-vrshl.s | 19 +
gas/testsuite/gas/arm/mve-vsbc-bad.d | 5 +
gas/testsuite/gas/arm/mve-vsbc-bad.l | 25 +
gas/testsuite/gas/arm/mve-vsbc-bad.s | 29 +
gas/testsuite/gas/arm/mve-vsbc.d | 262 +
gas/testsuite/gas/arm/mve-vsbc.s | 16 +
gas/testsuite/gas/arm/mve-vshl-bad.d | 5 +
gas/testsuite/gas/arm/mve-vshl-bad.l | 44 +
gas/testsuite/gas/arm/mve-vshl-bad.s | 46 +
gas/testsuite/gas/arm/mve-vshl.d | 1735 +
gas/testsuite/gas/arm/mve-vshl.s | 37 +
gas/testsuite/gas/arm/mve-vshlc-bad.d | 5 +
gas/testsuite/gas/arm/mve-vshlc-bad.l | 16 +
gas/testsuite/gas/arm/mve-vshlc-bad.s | 22 +
gas/testsuite/gas/arm/mve-vshlc.d | 415 +
gas/testsuite/gas/arm/mve-vshlc.s | 12 +
gas/testsuite/gas/arm/mve-vshll-bad.d | 5 +
gas/testsuite/gas/arm/mve-vshll-bad.l | 35 +
gas/testsuite/gas/arm/mve-vshll-bad.s | 39 +
gas/testsuite/gas/arm/mve-vshll.d | 1512 +
gas/testsuite/gas/arm/mve-vshll.s | 24 +
gas/testsuite/gas/arm/mve-vshr-bad.d | 5 +
gas/testsuite/gas/arm/mve-vshr-bad.l | 33 +
gas/testsuite/gas/arm/mve-vshr-bad.s | 37 +
gas/testsuite/gas/arm/mve-vshr.d | 2812 +
gas/testsuite/gas/arm/mve-vshr.s | 31 +
gas/testsuite/gas/arm/mve-vshrn-bad.d | 5 +
gas/testsuite/gas/arm/mve-vshrn-bad.l | 57 +
gas/testsuite/gas/arm/mve-vshrn-bad.s | 57 +
gas/testsuite/gas/arm/mve-vshrn.d | 1417 +
gas/testsuite/gas/arm/mve-vshrn.s | 29 +
gas/testsuite/gas/arm/mve-vsli-bad.d | 5 +
gas/testsuite/gas/arm/mve-vsli-bad.l | 16 +
gas/testsuite/gas/arm/mve-vsli-bad.s | 22 +
gas/testsuite/gas/arm/mve-vsli.d | 760 +
gas/testsuite/gas/arm/mve-vsli.s | 19 +
gas/testsuite/gas/arm/mve-vsri-bad.d | 5 +
gas/testsuite/gas/arm/mve-vsri-bad.l | 19 +
gas/testsuite/gas/arm/mve-vsri-bad.s | 26 +
gas/testsuite/gas/arm/mve-vsri.d | 710 +
gas/testsuite/gas/arm/mve-vsri.s | 18 +
gas/testsuite/gas/arm/mve-vstld-bad.d | 5 +
gas/testsuite/gas/arm/mve-vstld-bad.l | 249 +
gas/testsuite/gas/arm/mve-vstld-bad.s | 234 +
gas/testsuite/gas/arm/mve-vstld.d | 3883 +
gas/testsuite/gas/arm/mve-vstld.s | 52 +
gas/testsuite/gas/arm/mve-vstr-bad-1.d | 5 +
gas/testsuite/gas/arm/mve-vstr-bad-1.l | 105 +
gas/testsuite/gas/arm/mve-vstr-bad-1.s | 124 +
gas/testsuite/gas/arm/mve-vstr-bad-2.d | 5 +
gas/testsuite/gas/arm/mve-vstr-bad-2.l | 38 +
gas/testsuite/gas/arm/mve-vstr-bad-2.s | 43 +
gas/testsuite/gas/arm/mve-vstr-bad-3.d | 5 +
gas/testsuite/gas/arm/mve-vstr-bad-3.l | 138 +
gas/testsuite/gas/arm/mve-vstr-bad-3.s | 140 +
gas/testsuite/gas/arm/mve-vstrldr-1.d | 7563 ++
gas/testsuite/gas/arm/mve-vstrldr-1.s | 118 +
gas/testsuite/gas/arm/mve-vstrldr-2.d |16405 +++
gas/testsuite/gas/arm/mve-vstrldr-2.s | 103 +
gas/testsuite/gas/arm/mve-vstrldr-3.d |82635 ++++++++++++
gas/testsuite/gas/arm/mve-vstrldr-3.s | 119 +
gas/testsuite/gas/arm/neon-ldst-es-bad.l | 16 +-
gas/testsuite/gas/arm/vfp1xD.d | 8 +-
gas/testsuite/gas/arm/vfp1xD_t2.d | 4 +-
gas/testsuite/gas/bpf/alu-be.d | 59 +
gas/testsuite/gas/bpf/alu.d | 58 +
gas/testsuite/gas/bpf/alu.s | 51 +
gas/testsuite/gas/bpf/alu32-be.d | 65 +
gas/testsuite/gas/bpf/alu32.d | 64 +
gas/testsuite/gas/bpf/alu32.s | 57 +
gas/testsuite/gas/bpf/atomic-be.d | 12 +
gas/testsuite/gas/bpf/atomic.d | 11 +
gas/testsuite/gas/bpf/atomic.s | 5 +
gas/testsuite/gas/bpf/bpf.exp | 38 +
gas/testsuite/gas/bpf/call-be.d | 19 +
gas/testsuite/gas/bpf/call.d | 18 +
gas/testsuite/gas/bpf/call.s | 11 +
gas/testsuite/gas/bpf/exit-be.d | 11 +
gas/testsuite/gas/bpf/exit.d | 10 +
gas/testsuite/gas/bpf/exit.s | 2 +
gas/testsuite/gas/bpf/jump-be.d | 32 +
gas/testsuite/gas/bpf/jump.d | 31 +
gas/testsuite/gas/bpf/jump.s | 25 +
gas/testsuite/gas/bpf/lddw-be.d | 18 +
gas/testsuite/gas/bpf/lddw.d | 17 +
gas/testsuite/gas/bpf/lddw.s | 6 +
gas/testsuite/gas/bpf/mem-be.d | 30 +
gas/testsuite/gas/bpf/mem.d | 29 +
gas/testsuite/gas/bpf/mem.s | 24 +
gas/testsuite/gas/elf/dwarf2-1.d | 8 +-
gas/testsuite/gas/elf/dwarf2-1.s | 4 +-
gas/testsuite/gas/elf/dwarf2-10.d | 3 +-
gas/testsuite/gas/elf/dwarf2-10.s | 10 +-
gas/testsuite/gas/elf/dwarf2-11.d | 13 +-
gas/testsuite/gas/elf/dwarf2-11.s | 6 +-
gas/testsuite/gas/elf/dwarf2-12.d | 16 +-
gas/testsuite/gas/elf/dwarf2-12.s | 4 +-
gas/testsuite/gas/elf/dwarf2-13.d | 15 +-
gas/testsuite/gas/elf/dwarf2-13.s | 8 +-
gas/testsuite/gas/elf/dwarf2-14.d | 15 +-
gas/testsuite/gas/elf/dwarf2-14.s | 6 +-
gas/testsuite/gas/elf/dwarf2-15.d | 15 +-
gas/testsuite/gas/elf/dwarf2-15.s | 6 +-
gas/testsuite/gas/elf/dwarf2-16.d | 15 +-
gas/testsuite/gas/elf/dwarf2-16.s | 8 +-
gas/testsuite/gas/elf/dwarf2-17.d | 15 +-
gas/testsuite/gas/elf/dwarf2-17.s | 8 +-
gas/testsuite/gas/elf/dwarf2-18.d | 16 +-
gas/testsuite/gas/elf/dwarf2-18.s | 6 +-
gas/testsuite/gas/elf/dwarf2-19.d | 21 +
gas/testsuite/gas/elf/dwarf2-19.s | 41 +
gas/testsuite/gas/elf/dwarf2-2.d | 8 +-
gas/testsuite/gas/elf/dwarf2-2.s | 4 +-
gas/testsuite/gas/elf/dwarf2-5.d | 55 +-
gas/testsuite/gas/elf/dwarf2-5.s | 14 +-
gas/testsuite/gas/elf/dwarf2-7.d | 15 +-
gas/testsuite/gas/elf/dwarf2-7.s | 4 +-
gas/testsuite/gas/elf/dwarf2-8.d | 2 -
gas/testsuite/gas/elf/dwarf2-8.s | 2 +-
gas/testsuite/gas/elf/dwarf2-9.d | 2 -
gas/testsuite/gas/elf/dwarf2-9.s | 2 +-
gas/testsuite/gas/elf/elf.exp | 84 +-
gas/testsuite/gas/elf/section2.e-miwmmxt | 10 -
gas/testsuite/gas/i386/avx512_bf16.d | 42 +
gas/testsuite/gas/i386/avx512_bf16.s | 37 +
gas/testsuite/gas/i386/avx512_bf16_vl-inval.l | 7 +
gas/testsuite/gas/i386/avx512_bf16_vl-inval.s | 13 +
gas/testsuite/gas/i386/avx512_bf16_vl.d | 70 +
gas/testsuite/gas/i386/avx512_bf16_vl.s | 65 +
gas/testsuite/gas/i386/disassem.d | 10 +
gas/testsuite/gas/i386/disassem.s | 6 +
gas/testsuite/gas/i386/enqcmd-intel.d | 20 +
gas/testsuite/gas/i386/enqcmd-inval.l | 10 +
gas/testsuite/gas/i386/enqcmd-inval.s | 15 +
gas/testsuite/gas/i386/enqcmd.d | 20 +
gas/testsuite/gas/i386/enqcmd.s | 15 +
gas/testsuite/gas/i386/i386.exp | 24 +-
gas/testsuite/gas/i386/inval-avx512f.l | 5 +
gas/testsuite/gas/i386/inval-avx512f.s | 3 +
gas/testsuite/gas/i386/inval-avx512vl.l | 12 +
gas/testsuite/gas/i386/inval-avx512vl.s | 6 +
gas/testsuite/gas/i386/jump16.d | 7 +
gas/testsuite/gas/i386/jump16.e | 3 +
gas/testsuite/gas/i386/jump16.s | 22 +
gas/testsuite/gas/i386/property-2.d | 9 +
gas/testsuite/gas/i386/property-2.s | 32 +
gas/testsuite/gas/i386/reloc64.d | 1 +
gas/testsuite/gas/i386/solaris/reloc64.d | 99 +
gas/testsuite/gas/i386/solaris/solaris.exp | 48 +
gas/testsuite/gas/i386/solaris/x86-64-jump.d | 44 +
.../gas/i386/solaris/x86-64-mpx-branch-1.d | 29 +
.../gas/i386/solaris/x86-64-mpx-branch-2.d | 29 +
gas/testsuite/gas/i386/solaris/x86-64-nop-3.d | 21 +
gas/testsuite/gas/i386/solaris/x86-64-nop-4.d | 24 +
gas/testsuite/gas/i386/solaris/x86-64-nop-5.d | 27 +
gas/testsuite/gas/i386/solaris/x86-64-relax-2.d | 34 +
gas/testsuite/gas/i386/solaris/x86-64-relax-3.d | 33 +
gas/testsuite/gas/i386/vp2intersect-intel.d | 48 +
gas/testsuite/gas/i386/vp2intersect-inval-bcast.l | 13 +
gas/testsuite/gas/i386/vp2intersect-inval-bcast.s | 19 +
gas/testsuite/gas/i386/vp2intersect.d | 48 +
gas/testsuite/gas/i386/vp2intersect.s | 51 +
gas/testsuite/gas/i386/x86-64-avx512_bf16.d | 42 +
gas/testsuite/gas/i386/x86-64-avx512_bf16.s | 37 +
.../gas/i386/x86-64-avx512_bf16_vl-inval.l | 7 +
.../gas/i386/x86-64-avx512_bf16_vl-inval.s | 13 +
gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.d | 70 +
gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.s | 65 +
gas/testsuite/gas/i386/x86-64-disassem.d | 9 +
gas/testsuite/gas/i386/x86-64-disassem.s | 6 +
gas/testsuite/gas/i386/x86-64-enqcmd-intel.d | 20 +
gas/testsuite/gas/i386/x86-64-enqcmd-inval.l | 9 +
gas/testsuite/gas/i386/x86-64-enqcmd-inval.s | 15 +
gas/testsuite/gas/i386/x86-64-enqcmd.d | 20 +
gas/testsuite/gas/i386/x86-64-enqcmd.s | 15 +
gas/testsuite/gas/i386/x86-64-inval-avx512f.l | 6 +
gas/testsuite/gas/i386/x86-64-inval-avx512f.s | 4 +
gas/testsuite/gas/i386/x86-64-inval-avx512vl.l | 12 +
gas/testsuite/gas/i386/x86-64-inval-avx512vl.s | 6 +
gas/testsuite/gas/i386/x86-64-jump.d | 1 +
gas/testsuite/gas/i386/x86-64-mpx-branch-1.d | 1 +
gas/testsuite/gas/i386/x86-64-mpx-branch-2.d | 1 +
gas/testsuite/gas/i386/x86-64-nop-3.d | 1 +
gas/testsuite/gas/i386/x86-64-nop-4.d | 1 +
gas/testsuite/gas/i386/x86-64-nop-5.d | 1 +
gas/testsuite/gas/i386/x86-64-property-2.d | 10 +
gas/testsuite/gas/i386/x86-64-relax-2.d | 1 +
gas/testsuite/gas/i386/x86-64-relax-3.d | 1 +
gas/testsuite/gas/i386/x86-64-vp2intersect-intel.d | 48 +
.../gas/i386/x86-64-vp2intersect-inval-bcast.l | 13 +
.../gas/i386/x86-64-vp2intersect-inval-bcast.s | 19 +
gas/testsuite/gas/i386/x86-64-vp2intersect.d | 48 +
gas/testsuite/gas/i386/x86-64-vp2intersect.s | 51 +
gas/testsuite/gas/macros/semi.d | 1 -
gas/testsuite/gas/mips/add.s | 2 -
gas/testsuite/gas/mips/ase-errors-1.l | 4 +
gas/testsuite/gas/mips/ase-errors-1.s | 12 +
gas/testsuite/gas/mips/daddi.s | 3 +-
gas/testsuite/gas/mips/elf_mach_i6400.d | 23 +
gas/testsuite/gas/mips/elf_mach_i6500.d | 25 +
gas/testsuite/gas/mips/elf_mach_p6600.d | 23 +
gas/testsuite/gas/mips/eva.s | 13 +
gas/testsuite/gas/mips/hwr-names.s | 11 +
gas/testsuite/gas/mips/llpscp-32.d | 44 +
gas/testsuite/gas/mips/llpscp-32.s | 23 +
gas/testsuite/gas/mips/llpscp-64.d | 43 +
gas/testsuite/gas/mips/llpscp-64.s | 23 +
gas/testsuite/gas/mips/mips.exp | 17 +-
gas/testsuite/gas/mips/mipsr6@add.d | 15 +-
gas/testsuite/gas/mips/mipsr6@dadd.d | 21 +
gas/testsuite/gas/mips/mipsr6@eva.d | 32 +
gas/testsuite/gas/mips/mipsr6@hwr-names.d | 51 +
gas/testsuite/gas/mips/pr14798-irix.d | 6 +
gas/testsuite/gas/mips/pr14798.d | 5 +
gas/testsuite/gas/mips/pr14798.s | 4 +
gas/testsuite/gas/mips/r6-64-n32.d | 2 +
gas/testsuite/gas/mips/r6-64-n64.d | 2 +
gas/testsuite/gas/mips/r6-64.s | 4 +-
gas/testsuite/gas/mips/r6-branch-constraints.l | 25 -
gas/testsuite/gas/mips/r6-branch-constraints.s | 25 -
gas/testsuite/gas/mips/r6-n32.d | 3 +
gas/testsuite/gas/mips/r6-n64.d | 2 +
gas/testsuite/gas/mips/r6-reg-constraints.l | 26 +
gas/testsuite/gas/mips/r6-reg-constraints.s | 26 +
gas/testsuite/gas/mips/r6.d | 2 +
gas/testsuite/gas/mips/r6.s | 3 +
gas/testsuite/gas/mmix/basep-7.d | 8 +-
gas/testsuite/gas/msp430/either-data-bss-sym.d | 9 +
gas/testsuite/gas/msp430/either-data-bss-sym.s | 24 +
gas/testsuite/gas/msp430/fini-array.d | 7 +
gas/testsuite/gas/msp430/fini-array.s | 22 +
gas/testsuite/gas/msp430/init-array.d | 7 +
gas/testsuite/gas/msp430/init-array.s | 22 +
gas/testsuite/gas/msp430/low-data-bss-sym.d | 7 +
gas/testsuite/gas/msp430/low-data-bss-sym.s | 24 +
gas/testsuite/gas/msp430/msp430.exp | 12 +-
gas/testsuite/gas/msp430/nop-unknown-intr-430.d | 14 +
gas/testsuite/gas/msp430/nop-unknown-intr-430.l | 3 +
.../gas/msp430/nop-unknown-intr-430x-ignore.d | 13 +
gas/testsuite/gas/msp430/nop-unknown-intr-430x.d | 14 +
gas/testsuite/gas/msp430/nop-unknown-intr-430x.l | 5 +
gas/testsuite/gas/msp430/nop-unknown-intr.s | 16 +
gas/testsuite/gas/msp430/preinit-array.d | 7 +
gas/testsuite/gas/msp430/preinit-array.s | 22 +
gas/testsuite/gas/ppc/476.d | 34 +-
gas/testsuite/gas/ppc/a2.d | 61 +-
gas/testsuite/gas/ppc/a2.s | 12 +-
gas/testsuite/gas/ppc/bc.s | 154 +
gas/testsuite/gas/ppc/bcat.d | 68 +
gas/testsuite/gas/ppc/bcaterr.d | 3 +
gas/testsuite/gas/ppc/bcaterr.l | 71 +
gas/testsuite/gas/ppc/bcy.d | 49 +
gas/testsuite/gas/ppc/bcyerr.d | 3 +
gas/testsuite/gas/ppc/bcyerr.l | 58 +
gas/testsuite/gas/ppc/booke.d | 8 +-
gas/testsuite/gas/ppc/booke_xcoff.d | 2 +-
gas/testsuite/gas/ppc/e500.d | 2 +-
gas/testsuite/gas/ppc/e500mc.d | 4 +-
gas/testsuite/gas/ppc/e6500.d | 4 +-
gas/testsuite/gas/ppc/htm.d | 6 +-
gas/testsuite/gas/ppc/power4.d | 2 +-
gas/testsuite/gas/ppc/power6.d | 8 +-
gas/testsuite/gas/ppc/power8.d | 136 +-
gas/testsuite/gas/ppc/power8.s | 118 +
gas/testsuite/gas/ppc/power9.d | 6 +-
gas/testsuite/gas/ppc/power9.s | 2 -
gas/testsuite/gas/ppc/ppc.exp | 18 +
gas/testsuite/gas/ppc/prefix-align.d | 30 +
gas/testsuite/gas/ppc/prefix-align.s | 21 +
gas/testsuite/gas/ppc/prefix-pcrel.d | 235 +
gas/testsuite/gas/ppc/prefix-pcrel.s | 121 +
gas/testsuite/gas/ppc/prefix-reloc.d | 35 +
gas/testsuite/gas/ppc/prefix-reloc.s | 13 +
gas/testsuite/gas/ppc/vle.d | 4 +-
gas/testsuite/gas/riscv/auipc-parsing.l | 2 +
gas/testsuite/gas/riscv/auipc-parsing.s | 3 +
gas/testsuite/gas/s12z/bit-manip-invalid.d | 6 +-
gas/testsuite/gas/s12z/bit-manip-invalid.s | 4 +
gas/testsuite/gas/s12z/dollar-hex.d | 16 +
gas/testsuite/gas/s12z/dollar-hex.s | 4 +
gas/testsuite/gas/s12z/reg-prefix.d | 17 +
gas/testsuite/gas/s12z/reg-prefix.s | 6 +
gas/testsuite/gas/s12z/s12z.exp | 6 +
gas/testsuite/gas/s12z/truncated.d | 17 +
gas/testsuite/gas/s12z/truncated.s | 3 +
gas/testsuite/gas/xtensa/all.exp | 99 +-
gas/testsuite/gas/xtensa/auto-litpools-first1.d | 6 +-
gas/testsuite/gas/xtensa/auto-litpools-first2.d | 10 +-
gas/testsuite/gas/xtensa/auto-litpools.d | 6 +-
gas/testsuite/gas/xtensa/entry_align.d | 3 +
gas/testsuite/gas/xtensa/entry_align.l | 2 +
gas/testsuite/gas/xtensa/entry_misalign.d | 7 +
gas/testsuite/gas/xtensa/entry_misalign2.d | 7 +
gas/testsuite/gas/xtensa/j_too_far.d | 3 +
gas/testsuite/gas/xtensa/j_too_far.l | 2 +
gas/testsuite/gas/xtensa/loop-relax-2.d | 7 +
gas/testsuite/gas/xtensa/loop-relax.d | 14 +
gas/testsuite/gas/xtensa/loop-relax.s | 58 +
gas/testsuite/gas/xtensa/loop_align.d | 7 +
gas/testsuite/gas/xtensa/loop_misalign.d | 7 +
.../gas/xtensa/text-section-literals-1a.d | 18 +
gas/testsuite/gas/xtensa/text-section-literals-2.d | 9 +
gas/testsuite/gas/xtensa/text-section-literals-2.s | 3 +
.../gas/xtensa/text-section-literals-2a.d | 10 +
gas/testsuite/gas/xtensa/text-section-literals-3.d | 11 +
gas/testsuite/gas/xtensa/text-section-literals-3.s | 3 +
gas/testsuite/gas/xtensa/text-section-literals-4.d | 9 +
gas/testsuite/gas/xtensa/text-section-literals-4.s | 3 +
.../gas/xtensa/text-section-literals-4a.d | 10 +
gas/testsuite/gas/xtensa/trampoline-2.d | 4 +
gas/testsuite/gas/xtensa/trampoline-2.l | 1 -
gas/testsuite/gas/xtensa/xtensa-err.exp | 8 +-
gas/write.c | 40 +-
gas/write.h | 53 +-
gdb/ChangeLog | 3860 +-
gdb/MAINTAINERS | 2 +
gdb/Makefile.in | 41 +-
gdb/NEWS | 199 +
gdb/aarch64-linux-nat.c | 36 +
gdb/aarch64-tdep.c | 221 +-
gdb/ada-exp.y | 49 +-
gdb/ada-lang.c | 568 +-
gdb/ada-lang.h | 9 +-
gdb/ada-lex.l | 36 +-
gdb/ada-tasks.c | 61 +-
gdb/ada-typeprint.c | 5 +-
gdb/ada-valprint.c | 63 +-
gdb/alloc.c | 111 +
gdb/amd64-linux-nat.c | 69 +-
gdb/amd64-linux-tdep.c | 32 +-
gdb/amd64-tdep.c | 67 +-
gdb/annotate.c | 61 +-
gdb/annotate.h | 10 +-
gdb/arc-tdep.c | 26 +-
gdb/arch-utils.c | 5 +-
gdb/arm-linux-nat.c | 2 +-
gdb/arm-tdep.c | 68 +-
gdb/auto-load.c | 60 +-
gdb/auxv.c | 35 +-
gdb/ax-gdb.c | 4 +-
gdb/break-catch-syscall.c | 25 +-
gdb/break-catch-throw.c | 59 +-
gdb/breakpoint.c | 181 +-
gdb/breakpoint.h | 25 +
gdb/btrace.c | 51 +-
gdb/c-exp.y | 524 +-
gdb/c-lang.c | 79 +-
gdb/c-lang.h | 5 +
gdb/c-varobj.c | 20 +-
gdb/cli/cli-cmds.c | 167 +-
gdb/cli/cli-decode.c | 95 +-
gdb/cli/cli-decode.h | 6 +-
gdb/cli/cli-dump.c | 2 +-
gdb/cli/cli-interp.c | 64 +-
gdb/cli/cli-interp.h | 16 +-
gdb/cli/cli-logging.c | 47 +-
gdb/cli/cli-option.c | 724 +
gdb/cli/cli-option.h | 335 +
gdb/cli/cli-script.c | 15 +-
gdb/cli/cli-setshow.c | 306 +-
gdb/cli/cli-setshow.h | 27 +
gdb/cli/cli-style.c | 117 +-
gdb/cli/cli-style.h | 21 +-
gdb/cli/cli-utils.c | 124 +-
gdb/cli/cli-utils.h | 62 +-
gdb/coffread.c | 53 +-
gdb/command.h | 57 +-
gdb/common/common-defs.h | 16 +-
gdb/common/common-exceptions.c | 209 +-
gdb/common/common-exceptions.h | 213 +-
gdb/common/common-utils.c | 72 -
gdb/common/filestuff.c | 2 +-
gdb/common/gdb_tilde_expand.c | 2 +-
gdb/common/gdb_unique_ptr.h | 15 +
gdb/common/netstuff.c | 4 -
gdb/common/new-op.c | 7 +-
gdb/common/pathstuff.c | 10 +-
gdb/common/queue.h | 298 -
gdb/common/scoped_mmap.c | 2 +-
gdb/common/scoped_mmap.h | 2 -
gdb/common/selftest.c | 7 +-
gdb/common/tdesc.c | 1 +
gdb/common/tdesc.h | 1 +
gdb/compile/compile-c-symbols.c | 21 +-
gdb/compile/compile-cplus-symbols.c | 14 +-
gdb/compile/compile-cplus-types.c | 4 +-
gdb/compile/compile-object-load.c | 5 +-
gdb/compile/compile-object-run.c | 7 +-
gdb/compile/compile.c | 215 +-
gdb/completer.c | 167 +-
gdb/completer.h | 28 +-
gdb/configure | 166 +-
gdb/configure.ac | 55 +-
gdb/contrib/cc-with-tweaks.sh | 43 +-
gdb/contrib/gdb-add-index.sh | 138 +-
gdb/corelow.c | 16 +-
gdb/cp-abi.c | 15 +-
gdb/cp-support.c | 33 +-
gdb/cp-valprint.c | 159 +-
gdb/d-exp.y | 140 +-
gdb/d-lang.c | 3 +-
gdb/darwin-nat.c | 26 +-
gdb/dbxread.c | 10 +
gdb/dcache.h | 9 +
gdb/defs.h | 12 -
gdb/dictionary.c | 2 +-
gdb/disasm-selftests.c | 5 +-
gdb/disasm.c | 6 +-
gdb/doc/ChangeLog | 159 +
gdb/doc/Makefile.in | 2 +-
gdb/doc/annotate.texinfo | 7 +
gdb/doc/gdb.texinfo | 890 +-
gdb/doc/guile.texi | 3 +
gdb/doc/python.texi | 36 +-
gdb/dtrace-probe.c | 45 +-
gdb/dwarf-index-cache.c | 47 +-
gdb/dwarf-index-write.c | 285 +-
gdb/dwarf-index-write.h | 13 +-
gdb/dwarf2-frame-tailcall.c | 5 +-
gdb/dwarf2-frame.c | 50 +-
gdb/dwarf2expr.c | 1 +
gdb/dwarf2expr.h | 5 +-
gdb/dwarf2loc.c | 35 +-
gdb/dwarf2read.c | 415 +-
gdb/dwarf2read.h | 44 +-
gdb/elfread.c | 62 +-
gdb/eval.c | 45 +-
gdb/event-loop.c | 6 +-
gdb/event-top.c | 47 +-
gdb/exceptions.c | 20 +-
gdb/exceptions.h | 10 +-
gdb/exec.c | 26 +-
gdb/expprint.c | 1 -
gdb/expression.h | 13 +-
gdb/f-exp.y | 135 +-
gdb/f-lang.c | 333 +-
gdb/f-typeprint.c | 143 +-
gdb/f-valprint.c | 10 +-
gdb/fbsd-tdep.c | 48 +-
gdb/features/aarch64-fpu.c | 5 +
gdb/features/aarch64-fpu.xml | 2 +
gdb/features/aarch64-sve.c | 5 +
gdb/fortran-operator.def | 27 +
gdb/frame-unwind.c | 7 +-
gdb/frame.c | 130 +-
gdb/frame.h | 55 +-
gdb/gdb_bfd.c | 2 +-
gdb/gdbarch.c | 4 +-
gdb/gdbarch.h | 6 +-
gdb/gdbarch.sh | 4 +-
gdb/gdbcmd.h | 9 +-
gdb/gdbserver/ChangeLog | 156 +-
gdb/gdbserver/Makefile.in | 16 +-
gdb/gdbserver/ax.c | 4 +
gdb/gdbserver/configure | 7 +-
gdb/gdbserver/configure.ac | 2 +-
gdb/gdbserver/debug.c | 54 +-
gdb/gdbserver/debug.h | 19 +-
gdb/gdbserver/gdbreplay.c | 32 +-
gdb/gdbserver/hostio.c | 2 -
gdb/gdbserver/linux-low.c | 85 +-
gdb/gdbserver/linux-low.h | 8 +
gdb/gdbserver/linux-ppc-low.c | 7 +-
gdb/gdbserver/linux-s390-low.c | 2 +-
gdb/gdbserver/linux-x86-low.c | 17 +-
gdb/gdbserver/notif.c | 37 +-
gdb/gdbserver/notif.h | 17 +-
gdb/gdbserver/remote-utils.c | 13 +-
gdb/gdbserver/server.c | 178 +-
gdb/gdbserver/thread-db.c | 4 +-
gdb/gdbserver/tracepoint.c | 4 +-
gdb/gdbthread.h | 7 +-
gdb/gdbtypes.c | 35 +-
gdb/gdbtypes.h | 25 +-
gdb/gnu-nat.c | 10 +-
gdb/gnu-v3-abi.c | 7 +-
gdb/gnulib/Makefile.in | 245 -
gdb/gnulib/aclocal.m4 | 1411 -
gdb/gnulib/configure |28595 ----
gdb/gnulib/configure.ac | 64 -
gdb/gnulib/update-gnulib.sh | 195 -
gdb/go-exp.y | 137 +-
gdb/go-lang.c | 13 +-
gdb/guile/guile-internal.h | 43 +-
gdb/guile/guile.c | 4 +-
gdb/guile/scm-block.c | 9 +-
gdb/guile/scm-breakpoint.c | 73 +-
gdb/guile/scm-cmd.c | 9 +-
gdb/guile/scm-disasm.c | 9 +-
gdb/guile/scm-exception.c | 8 +-
gdb/guile/scm-frame.c | 168 +-
gdb/guile/scm-lazy-string.c | 7 +-
gdb/guile/scm-math.c | 7 +-
gdb/guile/scm-param.c | 18 +-
gdb/guile/scm-ports.c | 9 +-
gdb/guile/scm-pretty-print.c | 24 +-
gdb/guile/scm-safe-call.c | 2 +-
gdb/guile/scm-symbol.c | 45 +-
gdb/guile/scm-symtab.c | 9 +-
gdb/guile/scm-type.c | 102 +-
gdb/guile/scm-value.c | 128 +-
gdb/hppa-tdep.c | 17 +-
gdb/i386-linux-tdep.c | 5 +-
gdb/i386-tdep.c | 87 +-
gdb/ia64-tdep.c | 3 +-
gdb/inf-loop.c | 7 +-
gdb/infcall.c | 41 +-
gdb/infcmd.c | 58 +-
gdb/inferior.c | 6 +-
gdb/inferior.h | 13 +-
gdb/inflow.c | 86 +-
gdb/inflow.h | 31 +
gdb/infrun.c | 154 +-
gdb/interps.c | 13 +-
gdb/interps.h | 10 +-
gdb/iq2000-tdep.c | 22 -
gdb/jit.c | 5 +-
gdb/language.c | 33 +-
gdb/language.h | 23 +-
gdb/linespec.c | 50 +-
gdb/linux-fork.c | 8 +-
gdb/linux-nat.c | 37 +-
gdb/linux-tdep.c | 117 +-
gdb/linux-thread-db.c | 116 +-
gdb/lm32-tdep.c | 23 -
gdb/location.h | 2 +-
gdb/m2-exp.y | 122 +-
gdb/m2-lang.c | 24 +-
gdb/m32c-tdep.c | 36 +-
gdb/m32r-tdep.c | 37 -
gdb/m68hc11-tdep.c | 24 -
gdb/main.c | 19 +-
gdb/main.h | 3 +
gdb/maint-test-options.c | 461 +
gdb/maint-test-settings.c | 257 +
gdb/maint.c | 49 +-
gdb/maint.h | 7 +-
gdb/mdebugread.c | 52 +-
gdb/mep-tdep.c | 29 -
gdb/mi/mi-cmd-break.c | 5 +-
gdb/mi/mi-cmd-catch.c | 71 +
gdb/mi/mi-cmd-stack.c | 37 +-
gdb/mi/mi-cmds.c | 7 +
gdb/mi/mi-cmds.h | 4 +
gdb/mi/mi-common.h | 14 +-
gdb/mi/mi-interp.c | 56 +-
gdb/mi/mi-main.c | 69 +-
gdb/mi/mi-main.h | 8 -
gdb/mi/mi-out.c | 4 +-
gdb/minsyms.c | 31 +-
gdb/mips-tdep.c | 4 -
gdb/mipsread.c | 2 +-
gdb/mn10300-tdep.c | 32 +-
gdb/moxie-tdep.c | 33 -
gdb/msp430-tdep.c | 32 -
gdb/nat/aarch64-sve-linux-ptrace.c | 92 +-
gdb/nat/aarch64-sve-linux-ptrace.h | 12 +-
gdb/nat/fork-inferior.c | 2 +-
gdb/nat/linux-waitpid.c | 34 +-
gdb/nds32-tdep.c | 77 +-
gdb/nios2-tdep.c | 20 -
gdb/nto-tdep.c | 37 +-
gdb/nto-tdep.h | 4 +-
gdb/objc-lang.c | 26 +-
gdb/objfiles.c | 152 +-
gdb/objfiles.h | 70 +-
gdb/opencl-lang.c | 3 +-
gdb/or1k-tdep.c | 9 -
gdb/p-exp.y | 183 +-
gdb/p-lang.c | 13 +-
gdb/p-valprint.c | 5 +-
gdb/parse.c | 596 +-
gdb/parser-defs.h | 308 +-
gdb/ppc-linux-nat.c | 58 +-
gdb/ppc-linux-tdep.c | 5 +-
gdb/printcmd.c | 135 +-
gdb/probe.c | 28 +-
gdb/probe.h | 2 +-
gdb/process-stratum-target.h | 2 +-
gdb/psympriv.h | 18 +-
gdb/psymtab.c | 78 +-
gdb/python/lib/gdb/command/prompt.py | 4 +-
gdb/python/py-arch.c | 5 +-
gdb/python/py-breakpoint.c | 66 +-
gdb/python/py-cmd.c | 5 +-
gdb/python/py-finishbreakpoint.c | 30 +-
gdb/python/py-frame.c | 90 +-
gdb/python/py-framefilter.c | 13 +-
gdb/python/py-gdb-readline.c | 5 +-
gdb/python/py-inferior.c | 70 +-
gdb/python/py-infthread.c | 38 +-
gdb/python/py-lazy-string.c | 5 +-
gdb/python/py-linetable.c | 5 +-
gdb/python/py-objfile.c | 10 +-
gdb/python/py-param.c | 5 +-
gdb/python/py-prettyprint.c | 25 +-
gdb/python/py-progspace.c | 10 +-
gdb/python/py-record-btrace.c | 20 +-
gdb/python/py-record.c | 10 +-
gdb/python/py-symbol.c | 25 +-
gdb/python/py-type.c | 104 +-
gdb/python/py-unwind.c | 20 +-
gdb/python/py-utils.c | 9 +-
gdb/python/py-value.c | 170 +-
gdb/python/python-internal.h | 2 +-
gdb/python/python.c | 40 +-
gdb/record-btrace.c | 61 +-
gdb/record-full.c | 26 +-
gdb/record.c | 12 +-
gdb/regcache.c | 7 -
gdb/registry.h | 68 +-
gdb/remote-fileio.c | 5 +-
gdb/remote-notif.c | 27 +-
gdb/remote-notif.h | 30 +-
gdb/remote.c | 121 +-
gdb/reverse.c | 4 +-
gdb/riscv-tdep.c | 261 +-
gdb/rl78-tdep.c | 9 -
gdb/rs6000-aix-tdep.c | 5 +-
gdb/rs6000-tdep.c | 32 +-
gdb/rust-exp.y | 343 +-
gdb/rust-lang.c | 36 +-
gdb/rx-tdep.c | 38 +-
gdb/s12z-tdep.c | 258 +-
gdb/s390-tdep.c | 7 +-
gdb/score-tdep.c | 23 -
gdb/selftest-arch.c | 5 +-
gdb/ser-tcp.c | 6 +-
gdb/ser-unix.c | 4 +
gdb/sh-tdep.c | 25 -
gdb/solib-dsbt.c | 5 +-
gdb/solib-frv.c | 5 +-
gdb/solib-spu.c | 7 +-
gdb/solib-svr4.c | 222 +-
gdb/solib.c | 22 +-
gdb/source-cache.c | 27 +-
gdb/source.c | 95 +-
gdb/source.h | 22 +-
gdb/sparc-tdep.c | 9 -
gdb/sparc64-linux-tdep.c | 5 +-
gdb/spu-tdep.c | 10 +-
gdb/stabsread.c | 17 +-
gdb/stack.c | 777 +-
gdb/stack.h | 5 +
gdb/stap-probe.c | 196 +-
gdb/stap-probe.h | 7 +-
gdb/std-operator.def | 3 +-
gdb/symfile-debug.c | 106 +-
gdb/symfile-mem.c | 5 +-
gdb/symfile.c | 44 +-
gdb/symfile.h | 3 +-
gdb/symmisc.c | 5 +-
gdb/symtab.c | 142 +-
gdb/target-dcache.c | 34 +-
gdb/target-debug.h | 2 +
gdb/target-delegates.c | 40 +-
gdb/target-descriptions.c | 5 +
gdb/target.c | 23 +-
gdb/target.h | 13 +-
gdb/target/waitstatus.c | 3 +-
gdb/testsuite/ChangeLog | 761 +-
gdb/testsuite/Makefile.in | 9 +-
gdb/testsuite/README | 78 +-
gdb/testsuite/boards/cc-with-debug-names.exp | 26 +
gdb/testsuite/boards/cc-with-dwz-m.exp | 28 +
gdb/testsuite/boards/cc-with-dwz.exp | 28 +
gdb/testsuite/boards/cc-with-gdb-index.exp | 26 +
gdb/testsuite/boards/cc-with-tweaks.exp | 9 +
gdb/testsuite/boards/dwarf4-gdb-index.exp | 22 +-
gdb/testsuite/boards/fission.exp | 8 +-
gdb/testsuite/boards/local-board.exp | 2 +-
gdb/testsuite/boards/readnow.exp | 27 +
gdb/testsuite/gdb.ada/catch_ex_std.exp | 103 +
gdb/testsuite/gdb.ada/catch_ex_std/foo.adb | 25 +
.../gdb.ada/catch_ex_std/some_package.adb | 21 +
.../gdb.ada/catch_ex_std/some_package.ads | 19 +
gdb/testsuite/gdb.ada/char_enum.exp | 3 +-
gdb/testsuite/gdb.ada/char_enum/foo.adb | 1 +
gdb/testsuite/gdb.ada/char_enum/pck.ads | 1 +
gdb/testsuite/gdb.ada/complete.exp | 5 +-
gdb/testsuite/gdb.ada/formatted_ref.exp | 18 +-
gdb/testsuite/gdb.ada/frame_arg_lang.exp | 73 +
gdb/testsuite/gdb.ada/frame_arg_lang/bla.adb | 22 +
gdb/testsuite/gdb.ada/frame_arg_lang/foo.c | 22 +
gdb/testsuite/gdb.ada/frame_arg_lang/pck.adb | 24 +
gdb/testsuite/gdb.ada/frame_arg_lang/pck.ads | 18 +
gdb/testsuite/gdb.ada/info_exc.exp | 4 +
gdb/testsuite/gdb.ada/length_cond.exp | 44 +
gdb/testsuite/gdb.ada/length_cond/length_cond.adb | 37 +
gdb/testsuite/gdb.ada/length_cond/pck.adb | 21 +
gdb/testsuite/gdb.ada/length_cond/pck.ads | 18 +
gdb/testsuite/gdb.ada/packed_array_assign.exp | 8 +
.../gdb.ada/packed_array_assign/aggregates.ads | 7 +
gdb/testsuite/gdb.ada/ptype_union.c | 41 +
gdb/testsuite/gdb.ada/ptype_union.exp | 34 +
gdb/testsuite/gdb.ada/set_wstr.exp | 5 +
gdb/testsuite/gdb.ada/vla.exp | 38 +
gdb/testsuite/gdb.ada/vla/vla.adb | 62 +
gdb/testsuite/gdb.arch/aarch64-pauth.c | 36 +
gdb/testsuite/gdb.arch/aarch64-pauth.exp | 43 +
.../gdb.arch/amd64-entry-value-paramref.S | 26 +-
gdb/testsuite/gdb.arch/amd64-eval.cc | 138 +
gdb/testsuite/gdb.arch/amd64-eval.exp | 45 +
gdb/testsuite/gdb.arch/amd64-tailcall-self.S | 24 +-
gdb/testsuite/gdb.arch/riscv-unwind-long-insn-6.s | 45 +
gdb/testsuite/gdb.arch/riscv-unwind-long-insn-8.s | 45 +
gdb/testsuite/gdb.arch/riscv-unwind-long-insn.c | 25 +
gdb/testsuite/gdb.arch/riscv-unwind-long-insn.exp | 61 +
gdb/testsuite/gdb.base/align.exp | 30 +-
gdb/testsuite/gdb.base/annota1.exp | 16 +-
gdb/testsuite/gdb.base/annotate-symlink.exp | 51 +
gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp | 7 +
gdb/testsuite/gdb.base/callexit.exp | 7 +
gdb/testsuite/gdb.base/completion.exp | 2 +-
gdb/testsuite/gdb.base/complex-parts.c | 50 +
gdb/testsuite/gdb.base/complex-parts.exp | 62 +
.../gdb.base/coredump-filter-build-id.exp | 69 +
gdb/testsuite/gdb.base/debug-expr.exp | 7 +
gdb/testsuite/gdb.base/default.exp | 4 +
gdb/testsuite/gdb.base/finish.exp | 16 +
gdb/testsuite/gdb.base/foll-fork.exp | 7 +
gdb/testsuite/gdb.base/foll-vfork.exp | 7 +
.../gdb.base/fork-print-inferior-events.exp | 7 +
gdb/testsuite/gdb.base/gdb-sigterm.exp | 7 +
gdb/testsuite/gdb.base/gdbinit-history.exp | 6 +
gdb/testsuite/gdb.base/help.exp | 7 +-
gdb/testsuite/gdb.base/index-cache.exp | 50 +-
gdb/testsuite/gdb.base/info-shared.exp | 26 +
gdb/testsuite/gdb.base/list0.h | 4 +-
gdb/testsuite/gdb.base/maint.exp | 7 +-
gdb/testsuite/gdb.base/max-depth.c | 232 +
gdb/testsuite/gdb.base/max-depth.exp | 168 +
gdb/testsuite/gdb.base/options.c | 33 +
gdb/testsuite/gdb.base/options.exp | 923 +
gdb/testsuite/gdb.base/osabi.exp | 7 +
gdb/testsuite/gdb.base/ptype-offsets.cc | 2 +-
gdb/testsuite/gdb.base/ptype-offsets.exp | 501 +-
gdb/testsuite/gdb.base/settings.c | 23 +
gdb/testsuite/gdb.base/settings.exp | 556 +
gdb/testsuite/gdb.base/shell.exp | 90 +-
.../gdb.base/solib-probes-nosharedlibrary.c | 22 +
.../gdb.base/solib-probes-nosharedlibrary.exp | 51 +
gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp | 7 +
gdb/testsuite/gdb.base/start-cpp.cc | 33 +
gdb/testsuite/gdb.base/start-cpp.exp | 37 +
gdb/testsuite/gdb.base/style-logging.exp | 71 +
gdb/testsuite/gdb.base/style.exp | 46 +-
gdb/testsuite/gdb.base/symfile-warn.c | 18 +
gdb/testsuite/gdb.base/symfile-warn.exp | 30 +
gdb/testsuite/gdb.base/ui-redirect.exp | 68 +-
gdb/testsuite/gdb.base/watch_thread_num.c | 25 +-
gdb/testsuite/gdb.btrace/reconnect.exp | 2 +-
.../gdb.compile/compile-cplus-array-decay.exp | 2 +-
gdb/testsuite/gdb.compile/compile.exp | 15 +-
gdb/testsuite/gdb.cp/annota2.exp | 3 +
gdb/testsuite/gdb.cp/annota3.exp | 2 +-
gdb/testsuite/gdb.cp/constexpr-field.cc | 37 +
gdb/testsuite/gdb.cp/constexpr-field.exp | 36 +
gdb/testsuite/gdb.cp/many-args.cc | 76 +
gdb/testsuite/gdb.cp/many-args.exp | 40 +
gdb/testsuite/gdb.cp/meth-typedefs.cc | 13 +
gdb/testsuite/gdb.cp/meth-typedefs.exp | 8 +-
gdb/testsuite/gdb.cp/subtypes.exp | 3 +-
gdb/testsuite/gdb.cp/temargs.cc | 23 +
gdb/testsuite/gdb.cp/temargs.exp | 3 +-
gdb/testsuite/gdb.dlang/watch-loc.c | 5 +-
.../gdb.dwarf2/dw2-case-insensitive-debug.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ranges-main.c | 19 +
gdb/testsuite/gdb.dwarf2/dw2-ranges-psym.c | 46 +
gdb/testsuite/gdb.dwarf2/dw2-ranges-psym.exp | 138 +
gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S | 2 +-
gdb/testsuite/gdb.dwarf2/gdb-add-index.exp | 74 +
gdb/testsuite/gdb.dwarf2/gdb-index.exp | 15 +
gdb/testsuite/gdb.dwarf2/nonvar-access.exp | 8 +-
gdb/testsuite/gdb.fortran/block-data.exp | 63 +
gdb/testsuite/gdb.fortran/block-data.f | 56 +
gdb/testsuite/gdb.fortran/complex.exp | 39 +-
gdb/testsuite/gdb.fortran/complex.f | 24 -
gdb/testsuite/gdb.fortran/complex.f90 | 44 +
gdb/testsuite/gdb.fortran/exprs.exp | 2 +-
gdb/testsuite/gdb.fortran/intrinsics.exp | 35 +
gdb/testsuite/gdb.fortran/max-depth.exp | 41 +
gdb/testsuite/gdb.fortran/max-depth.f90 | 42 +
gdb/testsuite/gdb.fortran/pointers.f90 | 80 +
gdb/testsuite/gdb.fortran/print_type.exp | 114 +
gdb/testsuite/gdb.fortran/printing-types.exp | 1 +
gdb/testsuite/gdb.fortran/printing-types.f90 | 2 +
gdb/testsuite/gdb.fortran/ptr-indentation.exp | 2 +-
gdb/testsuite/gdb.fortran/ptype-on-functions.exp | 45 +
gdb/testsuite/gdb.fortran/ptype-on-functions.f90 | 89 +
gdb/testsuite/gdb.fortran/type-kinds.exp | 6 -
gdb/testsuite/gdb.fortran/vla-datatypes.exp | 10 +-
gdb/testsuite/gdb.fortran/vla-ptr-info.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-ptype.exp | 20 +-
gdb/testsuite/gdb.fortran/vla-sizeof.exp | 23 +-
gdb/testsuite/gdb.fortran/vla-type.exp | 27 +-
gdb/testsuite/gdb.fortran/vla-value.exp | 14 +-
gdb/testsuite/gdb.gdb/unittest.exp | 7 +
gdb/testsuite/gdb.go/max-depth.exp | 40 +
gdb/testsuite/gdb.go/max-depth.go | 41 +
gdb/testsuite/gdb.guile/scm-cmd.exp | 4 +-
gdb/testsuite/gdb.guile/scm-frame-args.exp | 4 +-
gdb/testsuite/gdb.mi/mi-break.exp | 9 +-
gdb/testsuite/gdb.mi/mi-catch-cpp-exceptions.cc | 73 +
gdb/testsuite/gdb.mi/mi-catch-cpp-exceptions.exp | 200 +
gdb/testsuite/gdb.mi/mi-complete.cc | 40 +
gdb/testsuite/gdb.mi/mi-complete.exp | 72 +
gdb/testsuite/gdb.mi/mi-vla-fortran.exp | 12 +-
gdb/testsuite/gdb.mi/mi-watch.exp | 9 +-
gdb/testsuite/gdb.mi/new-ui-mi-sync.exp | 6 +
.../gdb.mi/user-selected-context-sync.exp | 6 +
gdb/testsuite/gdb.modula2/max-depth.c | 45 +
gdb/testsuite/gdb.modula2/max-depth.exp | 37 +
gdb/testsuite/gdb.multi/remove-inferiors.exp | 5 +-
gdb/testsuite/gdb.multi/tids.exp | 16 +-
gdb/testsuite/gdb.python/py-cmd.exp | 2 +-
gdb/testsuite/gdb.python/py-format-string.exp | 21 +
gdb/testsuite/gdb.python/py-frame-args.exp | 4 +-
gdb/testsuite/gdb.python/py-function.exp | 8 +-
.../gdb.python/py-mi-var-info-path-expression.exp | 3 +
gdb/testsuite/gdb.python/py-nested-maps.c | 130 +
gdb/testsuite/gdb.python/py-nested-maps.exp | 238 +
gdb/testsuite/gdb.python/py-nested-maps.py | 135 +
gdb/testsuite/gdb.python/py-thrhandle.exp | 68 +-
gdb/testsuite/gdb.python/py-type.exp | 4 +
gdb/testsuite/gdb.python/py-value.exp | 13 +
gdb/testsuite/gdb.python/python.exp | 5 +-
gdb/testsuite/gdb.rust/simple.exp | 3 +
gdb/testsuite/gdb.rust/simple.rs | 8 +
gdb/testsuite/gdb.server/sysroot.c | 25 +
gdb/testsuite/gdb.server/sysroot.exp | 77 +
gdb/testsuite/gdb.threads/check-libthread-db.exp | 7 +
.../signal-while-stepping-over-bp-other-thread.exp | 6 +
gdb/testsuite/gdb.threads/stepi-random-signal.exp | 7 +
.../gdb.threads/vfork-follow-child-exec.c | 66 +
.../gdb.threads/vfork-follow-child-exec.exp | 64 +
.../gdb.threads/vfork-follow-child-exit.c | 52 +
.../gdb.threads/vfork-follow-child-exit.exp | 60 +
gdb/testsuite/gdb.trace/backtrace.exp | 2 +-
gdb/testsuite/gdb.trace/circ.exp | 2 +-
gdb/testsuite/gdb.trace/collection.exp | 2 +-
gdb/testsuite/gdb.trace/ftrace.exp | 2 +-
gdb/testsuite/gdb.trace/mi-trace-unavailable.exp | 2 +-
gdb/testsuite/gdb.trace/mi-traceframe-changed.exp | 2 +-
gdb/testsuite/gdb.trace/qtro.exp | 2 +-
gdb/testsuite/gdb.trace/read-memory.exp | 2 +-
gdb/testsuite/gdb.trace/report.exp | 2 +-
gdb/testsuite/gdb.trace/tfile.exp | 2 +-
gdb/testsuite/gdb.trace/tfind.exp | 2 +-
gdb/testsuite/gdb.trace/tracecmd.exp | 2 +-
gdb/testsuite/gdb.trace/tspeed.exp | 5 +
gdb/testsuite/gdb.trace/unavailable.exp | 2 +-
gdb/testsuite/lib/ada.exp | 27 +
gdb/testsuite/lib/completion-support.exp | 66 +-
gdb/testsuite/lib/dwarf.exp | 12 +-
gdb/testsuite/lib/future.exp | 10 +
gdb/testsuite/lib/gdb-utils.exp | 20 +
gdb/testsuite/lib/gdb.exp | 358 +-
gdb/testsuite/lib/gdbserver-support.exp | 106 +-
gdb/testsuite/lib/mi-support.exp | 11 +-
gdb/testsuite/lib/opencl.exp | 2 +-
gdb/thread.c | 310 +-
gdb/tic6x-tdep.c | 22 -
gdb/tid-parse.c | 16 +-
gdb/tid-parse.h | 3 +
gdb/tilegx-tdep.c | 26 -
gdb/top.c | 156 +-
gdb/top.h | 1 -
gdb/tracefile-tfile.c | 7 +-
gdb/tracepoint.c | 6 +-
gdb/trad-frame.c | 21 +-
gdb/trad-frame.h | 3 +
gdb/tui/tui-data.c | 61 +-
gdb/tui/tui-interp.c | 1 +
gdb/tui/tui-io.c | 2 +-
gdb/tui/tui-layout.c | 4 +-
gdb/tui/tui-regs.c | 15 +-
gdb/tui/tui-source.c | 4 +-
gdb/tui/tui-stack.c | 7 +-
gdb/tui/tui-win.c | 76 +-
gdb/tui/tui-windata.c | 5 +-
gdb/tui/tui-wingeneral.c | 20 +-
gdb/tui/tui-winsource.c | 7 +-
gdb/tui/tui.c | 5 +-
gdb/type-stack.c | 209 +
gdb/type-stack.h | 203 +
gdb/typeprint.c | 41 +-
gdb/ui-file.c | 114 +-
gdb/ui-file.h | 59 +-
gdb/ui-out.h | 7 +-
gdb/ui-style.h | 4 +-
gdb/unittests/cli-utils-selftests.c | 141 +-
gdb/unittests/parse-connection-spec-selftests.c | 9 +-
gdb/user-regs.c | 2 +-
gdb/utils.c | 106 +-
gdb/utils.h | 10 +-
gdb/v850-tdep.c | 25 -
gdb/valarith.c | 5 -
gdb/valops.c | 25 +-
gdb/valprint.c | 323 +-
gdb/valprint.h | 35 +-
gdb/value.c | 80 +-
gdb/value.h | 4 +
gdb/varobj.c | 39 +-
gdb/vax-tdep.c | 7 -
gdb/warning.m4 | 5 +-
gdb/windows-nat.c | 20 +-
gdb/x86-linux-nat.c | 7 +-
gdb/xcoffread.c | 68 +-
gdb/xml-support.c | 23 +-
gdb/xstormy16-tdep.c | 23 -
gnulib/ChangeLog | 6 +
gnulib/Makefile.in | 245 +
gnulib/README | 6 +
{gdb/gnulib => gnulib}/aclocal-m4-deps.mk | 0
gnulib/aclocal.m4 | 1851 +
{gdb/gnulib => gnulib}/config.in | 0
gnulib/configure |28939 ++++
gnulib/configure.ac | 66 +
{gdb/gnulib => gnulib}/import/Makefile.am | 0
{gdb/gnulib => gnulib}/import/Makefile.in | 0
{gdb/gnulib => gnulib}/import/alloca.c | 0
{gdb/gnulib => gnulib}/import/alloca.in.h | 0
{gdb/gnulib => gnulib}/import/arpa_inet.in.h | 0
{gdb/gnulib => gnulib}/import/assure.h | 0
{gdb/gnulib => gnulib}/import/at-func.c | 0
{gdb/gnulib => gnulib}/import/basename-lgpl.c | 0
{gdb/gnulib => gnulib}/import/canonicalize-lgpl.c | 0
{gdb/gnulib => gnulib}/import/chdir-long.c | 0
{gdb/gnulib => gnulib}/import/chdir-long.h | 0
{gdb/gnulib => gnulib}/import/cloexec.c | 0
{gdb/gnulib => gnulib}/import/cloexec.h | 0
{gdb/gnulib => gnulib}/import/close.c | 0
{gdb/gnulib => gnulib}/import/closedir.c | 0
{gdb/gnulib => gnulib}/import/config.charset | 0
{gdb/gnulib => gnulib}/import/dirent-private.h | 0
{gdb/gnulib => gnulib}/import/dirent.in.h | 0
{gdb/gnulib => gnulib}/import/dirfd.c | 0
{gdb/gnulib => gnulib}/import/dirname-lgpl.c | 0
{gdb/gnulib => gnulib}/import/dirname.h | 0
{gdb/gnulib => gnulib}/import/dosname.h | 0
{gdb/gnulib => gnulib}/import/dup-safer.c | 0
{gdb/gnulib => gnulib}/import/dup.c | 0
{gdb/gnulib => gnulib}/import/dup2.c | 0
{gdb/gnulib => gnulib}/import/errno.in.h | 0
{gdb/gnulib => gnulib}/import/error.c | 0
{gdb/gnulib => gnulib}/import/error.h | 0
{gdb/gnulib => gnulib}/import/exitfail.c | 0
{gdb/gnulib => gnulib}/import/exitfail.h | 0
.../import/extra/snippet/_Noreturn.h | 0
.../import/extra/snippet/arg-nonnull.h | 0
.../import/extra/snippet/c++defs.h | 0
.../import/extra/snippet/warn-on-use.h | 0
.../import/extra/update-copyright | 0
{gdb/gnulib => gnulib}/import/fchdir.c | 0
{gdb/gnulib => gnulib}/import/fcntl.c | 0
{gdb/gnulib => gnulib}/import/fcntl.in.h | 0
{gdb/gnulib => gnulib}/import/fd-hook.c | 0
{gdb/gnulib => gnulib}/import/fd-hook.h | 0
{gdb/gnulib => gnulib}/import/fd-safer.c | 0
{gdb/gnulib => gnulib}/import/fdopendir.c | 0
{gdb/gnulib => gnulib}/import/filename.h | 0
{gdb/gnulib => gnulib}/import/filenamecat-lgpl.c | 0
{gdb/gnulib => gnulib}/import/filenamecat.h | 0
{gdb/gnulib => gnulib}/import/flexmember.h | 0
{gdb/gnulib => gnulib}/import/float+.h | 0
{gdb/gnulib => gnulib}/import/float.c | 0
{gdb/gnulib => gnulib}/import/float.in.h | 0
{gdb/gnulib => gnulib}/import/fnmatch.c | 0
{gdb/gnulib => gnulib}/import/fnmatch.in.h | 0
{gdb/gnulib => gnulib}/import/fnmatch_loop.c | 0
{gdb/gnulib => gnulib}/import/fpucw.h | 0
{gdb/gnulib => gnulib}/import/frexp.c | 0
{gdb/gnulib => gnulib}/import/frexpl.c | 0
{gdb/gnulib => gnulib}/import/fstat.c | 0
{gdb/gnulib => gnulib}/import/fstatat.c | 0
{gdb/gnulib => gnulib}/import/getcwd-lgpl.c | 0
{gdb/gnulib => gnulib}/import/getcwd.c | 0
{gdb/gnulib => gnulib}/import/getdtablesize.c | 0
{gdb/gnulib => gnulib}/import/getlogin_r.c | 0
{gdb/gnulib => gnulib}/import/getprogname.c | 0
{gdb/gnulib => gnulib}/import/getprogname.h | 0
{gdb/gnulib => gnulib}/import/gettext.h | 0
{gdb/gnulib => gnulib}/import/gettimeofday.c | 0
{gdb/gnulib => gnulib}/import/glob-libc.h | 0
{gdb/gnulib => gnulib}/import/glob.c | 0
{gdb/gnulib => gnulib}/import/glob.in.h | 0
{gdb/gnulib => gnulib}/import/hard-locale.c | 0
{gdb/gnulib => gnulib}/import/hard-locale.h | 0
{gdb/gnulib => gnulib}/import/inet_ntop.c | 0
{gdb/gnulib => gnulib}/import/intprops.h | 0
{gdb/gnulib => gnulib}/import/inttypes.in.h | 0
{gdb/gnulib => gnulib}/import/isnan.c | 0
{gdb/gnulib => gnulib}/import/isnand-nolibm.h | 0
{gdb/gnulib => gnulib}/import/isnand.c | 0
{gdb/gnulib => gnulib}/import/isnanl-nolibm.h | 0
{gdb/gnulib => gnulib}/import/isnanl.c | 0
{gdb/gnulib => gnulib}/import/itold.c | 0
{gdb/gnulib => gnulib}/import/limits.in.h | 0
{gdb/gnulib => gnulib}/import/localcharset.c | 0
{gdb/gnulib => gnulib}/import/localcharset.h | 0
{gdb/gnulib => gnulib}/import/lstat.c | 0
{gdb/gnulib => gnulib}/import/m4/00gnulib.m4 | 0
.../gnulib => gnulib}/import/m4/absolute-header.m4 | 0
{gdb/gnulib => gnulib}/import/m4/alloca.m4 | 0
{gdb/gnulib => gnulib}/import/m4/arpa_inet_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/canonicalize.m4 | 0
{gdb/gnulib => gnulib}/import/m4/chdir-long.m4 | 0
{gdb/gnulib => gnulib}/import/m4/close.m4 | 0
{gdb/gnulib => gnulib}/import/m4/closedir.m4 | 0
{gdb/gnulib => gnulib}/import/m4/codeset.m4 | 0
{gdb/gnulib => gnulib}/import/m4/configmake.m4 | 0
{gdb/gnulib => gnulib}/import/m4/d-ino.m4 | 0
{gdb/gnulib => gnulib}/import/m4/d-type.m4 | 0
{gdb/gnulib => gnulib}/import/m4/dirent_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/dirfd.m4 | 0
{gdb/gnulib => gnulib}/import/m4/dirname.m4 | 0
.../import/m4/double-slash-root.m4 | 0
{gdb/gnulib => gnulib}/import/m4/dup.m4 | 0
{gdb/gnulib => gnulib}/import/m4/dup2.m4 | 0
{gdb/gnulib => gnulib}/import/m4/eealloc.m4 | 0
{gdb/gnulib => gnulib}/import/m4/environ.m4 | 0
{gdb/gnulib => gnulib}/import/m4/errno_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/error.m4 | 0
{gdb/gnulib => gnulib}/import/m4/exponentd.m4 | 0
{gdb/gnulib => gnulib}/import/m4/exponentl.m4 | 0
{gdb/gnulib => gnulib}/import/m4/extensions.m4 | 0
{gdb/gnulib => gnulib}/import/m4/extern-inline.m4 | 0
{gdb/gnulib => gnulib}/import/m4/fchdir.m4 | 0
{gdb/gnulib => gnulib}/import/m4/fcntl-o.m4 | 0
{gdb/gnulib => gnulib}/import/m4/fcntl.m4 | 0
{gdb/gnulib => gnulib}/import/m4/fcntl_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/fdopendir.m4 | 0
{gdb/gnulib => gnulib}/import/m4/filenamecat.m4 | 0
{gdb/gnulib => gnulib}/import/m4/flexmember.m4 | 0
{gdb/gnulib => gnulib}/import/m4/float_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/fnmatch.m4 | 0
{gdb/gnulib => gnulib}/import/m4/fpieee.m4 | 0
{gdb/gnulib => gnulib}/import/m4/frexp.m4 | 0
{gdb/gnulib => gnulib}/import/m4/frexpl.m4 | 0
{gdb/gnulib => gnulib}/import/m4/fstat.m4 | 0
{gdb/gnulib => gnulib}/import/m4/fstatat.m4 | 0
.../import/m4/getcwd-abort-bug.m4 | 0
.../gnulib => gnulib}/import/m4/getcwd-path-max.m4 | 0
{gdb/gnulib => gnulib}/import/m4/getcwd.m4 | 0
{gdb/gnulib => gnulib}/import/m4/getdtablesize.m4 | 0
{gdb/gnulib => gnulib}/import/m4/getlogin_r.m4 | 0
{gdb/gnulib => gnulib}/import/m4/getprogname.m4 | 0
{gdb/gnulib => gnulib}/import/m4/gettimeofday.m4 | 0
{gdb/gnulib => gnulib}/import/m4/glibc21.m4 | 0
{gdb/gnulib => gnulib}/import/m4/glob.m4 | 0
{gdb/gnulib => gnulib}/import/m4/gnulib-cache.m4 | 0
{gdb/gnulib => gnulib}/import/m4/gnulib-common.m4 | 0
{gdb/gnulib => gnulib}/import/m4/gnulib-comp.m4 | 0
{gdb/gnulib => gnulib}/import/m4/gnulib-tool.m4 | 0
{gdb/gnulib => gnulib}/import/m4/hard-locale.m4 | 0
{gdb/gnulib => gnulib}/import/m4/include_next.m4 | 0
{gdb/gnulib => gnulib}/import/m4/inet_ntop.m4 | 0
{gdb/gnulib => gnulib}/import/m4/inttypes-pri.m4 | 0
{gdb/gnulib => gnulib}/import/m4/inttypes.m4 | 0
{gdb/gnulib => gnulib}/import/m4/isnand.m4 | 0
{gdb/gnulib => gnulib}/import/m4/isnanl.m4 | 0
{gdb/gnulib => gnulib}/import/m4/largefile.m4 | 0
{gdb/gnulib => gnulib}/import/m4/limits-h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/localcharset.m4 | 0
{gdb/gnulib => gnulib}/import/m4/locale-fr.m4 | 0
{gdb/gnulib => gnulib}/import/m4/locale-ja.m4 | 0
{gdb/gnulib => gnulib}/import/m4/locale-zh.m4 | 0
{gdb/gnulib => gnulib}/import/m4/longlong.m4 | 0
{gdb/gnulib => gnulib}/import/m4/lstat.m4 | 0
{gdb/gnulib => gnulib}/import/m4/malloc.m4 | 0
{gdb/gnulib => gnulib}/import/m4/malloca.m4 | 0
{gdb/gnulib => gnulib}/import/m4/math_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/mbrtowc.m4 | 0
{gdb/gnulib => gnulib}/import/m4/mbsinit.m4 | 0
{gdb/gnulib => gnulib}/import/m4/mbsrtowcs.m4 | 0
{gdb/gnulib => gnulib}/import/m4/mbstate_t.m4 | 0
{gdb/gnulib => gnulib}/import/m4/memchr.m4 | 0
{gdb/gnulib => gnulib}/import/m4/memmem.m4 | 0
{gdb/gnulib => gnulib}/import/m4/mempcpy.m4 | 0
{gdb/gnulib => gnulib}/import/m4/memrchr.m4 | 0
{gdb/gnulib => gnulib}/import/m4/mkdir.m4 | 0
{gdb/gnulib => gnulib}/import/m4/mkdtemp.m4 | 0
{gdb/gnulib => gnulib}/import/m4/mkostemp.m4 | 0
{gdb/gnulib => gnulib}/import/m4/mmap-anon.m4 | 0
{gdb/gnulib => gnulib}/import/m4/mode_t.m4 | 0
{gdb/gnulib => gnulib}/import/m4/msvc-inval.m4 | 0
{gdb/gnulib => gnulib}/import/m4/msvc-nothrow.m4 | 0
{gdb/gnulib => gnulib}/import/m4/multiarch.m4 | 0
{gdb/gnulib => gnulib}/import/m4/netinet_in_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/nocrash.m4 | 0
{gdb/gnulib => gnulib}/import/m4/off_t.m4 | 0
{gdb/gnulib => gnulib}/import/m4/onceonly.m4 | 0
{gdb/gnulib => gnulib}/import/m4/open.m4 | 0
{gdb/gnulib => gnulib}/import/m4/openat.m4 | 0
{gdb/gnulib => gnulib}/import/m4/opendir.m4 | 0
{gdb/gnulib => gnulib}/import/m4/pathmax.m4 | 0
{gdb/gnulib => gnulib}/import/m4/rawmemchr.m4 | 0
{gdb/gnulib => gnulib}/import/m4/readdir.m4 | 0
{gdb/gnulib => gnulib}/import/m4/readlink.m4 | 0
{gdb/gnulib => gnulib}/import/m4/realloc.m4 | 0
{gdb/gnulib => gnulib}/import/m4/rename.m4 | 0
{gdb/gnulib => gnulib}/import/m4/rewinddir.m4 | 0
{gdb/gnulib => gnulib}/import/m4/rmdir.m4 | 0
{gdb/gnulib => gnulib}/import/m4/save-cwd.m4 | 0
{gdb/gnulib => gnulib}/import/m4/secure_getenv.m4 | 0
{gdb/gnulib => gnulib}/import/m4/setenv.m4 | 0
{gdb/gnulib => gnulib}/import/m4/signal_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/socklen.m4 | 0
{gdb/gnulib => gnulib}/import/m4/sockpfaf.m4 | 0
{gdb/gnulib => gnulib}/import/m4/ssize_t.m4 | 0
{gdb/gnulib => gnulib}/import/m4/stat.m4 | 0
{gdb/gnulib => gnulib}/import/m4/stdalign.m4 | 0
{gdb/gnulib => gnulib}/import/m4/stdbool.m4 | 0
{gdb/gnulib => gnulib}/import/m4/stddef_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/stdint.m4 | 0
{gdb/gnulib => gnulib}/import/m4/stdio_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/stdlib_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/strchrnul.m4 | 0
{gdb/gnulib => gnulib}/import/m4/strdup.m4 | 0
{gdb/gnulib => gnulib}/import/m4/strerror.m4 | 0
{gdb/gnulib => gnulib}/import/m4/string_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/strstr.m4 | 0
{gdb/gnulib => gnulib}/import/m4/strtok_r.m4 | 0
{gdb/gnulib => gnulib}/import/m4/sys_socket_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/sys_stat_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/sys_time_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/sys_types_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/sys_uio_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/tempname.m4 | 0
{gdb/gnulib => gnulib}/import/m4/time_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/unistd-safer.m4 | 0
{gdb/gnulib => gnulib}/import/m4/unistd_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/warn-on-use.m4 | 0
{gdb/gnulib => gnulib}/import/m4/wchar_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/wchar_t.m4 | 0
{gdb/gnulib => gnulib}/import/m4/wctype_h.m4 | 0
{gdb/gnulib => gnulib}/import/m4/wint_t.m4 | 0
{gdb/gnulib => gnulib}/import/malloc.c | 0
{gdb/gnulib => gnulib}/import/malloca.c | 0
{gdb/gnulib => gnulib}/import/malloca.h | 0
{gdb/gnulib => gnulib}/import/malloca.valgrind | 0
{gdb/gnulib => gnulib}/import/math.c | 0
{gdb/gnulib => gnulib}/import/math.in.h | 0
{gdb/gnulib => gnulib}/import/mbrtowc.c | 0
{gdb/gnulib => gnulib}/import/mbsinit.c | 0
{gdb/gnulib => gnulib}/import/mbsrtowcs-impl.h | 0
{gdb/gnulib => gnulib}/import/mbsrtowcs-state.c | 0
{gdb/gnulib => gnulib}/import/mbsrtowcs.c | 0
{gdb/gnulib => gnulib}/import/memchr.c | 0
{gdb/gnulib => gnulib}/import/memchr.valgrind | 0
{gdb/gnulib => gnulib}/import/memmem.c | 0
{gdb/gnulib => gnulib}/import/mempcpy.c | 0
{gdb/gnulib => gnulib}/import/memrchr.c | 0
{gdb/gnulib => gnulib}/import/mkdir.c | 0
{gdb/gnulib => gnulib}/import/mkdtemp.c | 0
{gdb/gnulib => gnulib}/import/mkostemp.c | 0
{gdb/gnulib => gnulib}/import/msvc-inval.c | 0
{gdb/gnulib => gnulib}/import/msvc-inval.h | 0
{gdb/gnulib => gnulib}/import/msvc-nothrow.c | 0
{gdb/gnulib => gnulib}/import/msvc-nothrow.h | 0
{gdb/gnulib => gnulib}/import/netinet_in.in.h | 0
{gdb/gnulib => gnulib}/import/open.c | 0
{gdb/gnulib => gnulib}/import/openat-die.c | 0
{gdb/gnulib => gnulib}/import/openat-priv.h | 0
{gdb/gnulib => gnulib}/import/openat-proc.c | 0
{gdb/gnulib => gnulib}/import/openat.c | 0
{gdb/gnulib => gnulib}/import/openat.h | 0
{gdb/gnulib => gnulib}/import/opendir.c | 0
{gdb/gnulib => gnulib}/import/pathmax.h | 0
{gdb/gnulib => gnulib}/import/pipe-safer.c | 0
{gdb/gnulib => gnulib}/import/rawmemchr.c | 0
{gdb/gnulib => gnulib}/import/rawmemchr.valgrind | 0
{gdb/gnulib => gnulib}/import/readdir.c | 0
{gdb/gnulib => gnulib}/import/readlink.c | 0
{gdb/gnulib => gnulib}/import/realloc.c | 0
{gdb/gnulib => gnulib}/import/ref-add.sin | 0
{gdb/gnulib => gnulib}/import/ref-del.sin | 0
{gdb/gnulib => gnulib}/import/rename.c | 0
{gdb/gnulib => gnulib}/import/rewinddir.c | 0
{gdb/gnulib => gnulib}/import/rmdir.c | 0
{gdb/gnulib => gnulib}/import/same-inode.h | 0
{gdb/gnulib => gnulib}/import/save-cwd.c | 0
{gdb/gnulib => gnulib}/import/save-cwd.h | 0
{gdb/gnulib => gnulib}/import/secure_getenv.c | 0
{gdb/gnulib => gnulib}/import/setenv.c | 0
{gdb/gnulib => gnulib}/import/signal.in.h | 0
{gdb/gnulib => gnulib}/import/stat.c | 0
{gdb/gnulib => gnulib}/import/stdalign.in.h | 0
{gdb/gnulib => gnulib}/import/stdbool.in.h | 0
{gdb/gnulib => gnulib}/import/stddef.in.h | 0
{gdb/gnulib => gnulib}/import/stdint.in.h | 0
{gdb/gnulib => gnulib}/import/stdio.in.h | 0
{gdb/gnulib => gnulib}/import/stdlib.in.h | 0
{gdb/gnulib => gnulib}/import/str-two-way.h | 0
{gdb/gnulib => gnulib}/import/strchrnul.c | 0
{gdb/gnulib => gnulib}/import/strchrnul.valgrind | 0
{gdb/gnulib => gnulib}/import/strdup.c | 0
{gdb/gnulib => gnulib}/import/streq.h | 0
{gdb/gnulib => gnulib}/import/strerror-override.c | 0
{gdb/gnulib => gnulib}/import/strerror-override.h | 0
{gdb/gnulib => gnulib}/import/strerror.c | 0
{gdb/gnulib => gnulib}/import/string.in.h | 0
{gdb/gnulib => gnulib}/import/stripslash.c | 0
{gdb/gnulib => gnulib}/import/strnlen1.c | 0
{gdb/gnulib => gnulib}/import/strnlen1.h | 0
{gdb/gnulib => gnulib}/import/strstr.c | 0
{gdb/gnulib => gnulib}/import/strtok_r.c | 0
{gdb/gnulib => gnulib}/import/sys_socket.c | 0
{gdb/gnulib => gnulib}/import/sys_socket.in.h | 0
{gdb/gnulib => gnulib}/import/sys_stat.in.h | 0
{gdb/gnulib => gnulib}/import/sys_time.in.h | 0
{gdb/gnulib => gnulib}/import/sys_types.in.h | 0
{gdb/gnulib => gnulib}/import/sys_uio.in.h | 0
{gdb/gnulib => gnulib}/import/tempname.c | 0
{gdb/gnulib => gnulib}/import/tempname.h | 0
{gdb/gnulib => gnulib}/import/time.in.h | 0
{gdb/gnulib => gnulib}/import/unistd--.h | 0
{gdb/gnulib => gnulib}/import/unistd-safer.h | 0
{gdb/gnulib => gnulib}/import/unistd.c | 0
{gdb/gnulib => gnulib}/import/unistd.in.h | 0
{gdb/gnulib => gnulib}/import/unsetenv.c | 0
{gdb/gnulib => gnulib}/import/verify.h | 0
{gdb/gnulib => gnulib}/import/wchar.in.h | 0
{gdb/gnulib => gnulib}/import/wctype-h.c | 0
{gdb/gnulib => gnulib}/import/wctype.in.h | 0
...23558-Use-system-s-getcwd-when-cross-comp.patch | 0
...ostemps-Fix-compilation-error-in-C-mode-o.patch | 0
gnulib/update-gnulib.sh | 195 +
gold/ChangeLog | 27 +
gold/errors.h | 1 +
gold/gc.h | 3 +-
gold/icf.cc | 270 +-
gold/icf.h | 30 +
gold/options.h | 2 +-
gold/testsuite/Makefile.am | 10 +
gold/testsuite/Makefile.in | 19 +-
gold/testsuite/icf_test_pr21066.cc | 67 +
gold/testsuite/icf_test_pr21066.sh | 48 +
gprof/ChangeLog | 17 +
gprof/corefile.c | 2 +
gprof/gprof.c | 6 +-
gprof/gprof.texi | 2 +-
gprof/po/de.po | 170 +-
include/ChangeLog | 331 +
include/bfdlink.h | 21 -
include/ctf-api.h | 385 +
include/ctf.h | 564 +
include/dis-asm.h | 2 +
include/elf/aarch64.h | 9 +
include/elf/arm.h | 7 +-
include/elf/bpf.h | 45 +
include/elf/common.h | 1 +
include/elf/ppc64.h | 24 +
include/longlong.h | 6 +-
include/opcode/aarch64.h | 23 +
include/opcode/arm.h | 8 +
include/opcode/mips.h | 13 +-
include/opcode/ppc.h | 18 +
ld/ChangeLog | 849 +
ld/Makefile.am | 1569 +-
ld/Makefile.in | 1569 +-
ld/NEWS | 12 +-
ld/configure | 70 +-
ld/configure.ac | 20 +-
ld/configure.tgt | 2 +-
ld/emulparams/aarch64cloudabib.sh | 2 +-
ld/emulparams/aarch64elf32b.sh | 2 +-
ld/emulparams/aarch64elfb.sh | 2 +-
ld/emulparams/aarch64fbsdb.sh | 2 +-
ld/emulparams/aarch64linux32b.sh | 2 +-
ld/emulparams/aarch64linuxb.sh | 2 +-
ld/emulparams/arcelf.sh | 2 +-
ld/emulparams/arcelf_prof.sh | 2 +-
ld/emulparams/arclinux.sh | 2 +-
ld/emulparams/arclinux_nps.sh | 4 +-
ld/emulparams/arclinux_prof.sh | 2 +-
ld/emulparams/arcv2elf.sh | 2 +-
ld/emulparams/arcv2elfx.sh | 2 +-
ld/emulparams/armelf_fbsd.sh | 4 +-
ld/emulparams/armelf_linux_eabi.sh | 2 +-
ld/emulparams/armelf_linux_fdpiceabi.sh | 2 +-
ld/emulparams/armelf_nacl.sh | 4 +-
ld/emulparams/armelf_nbsd.sh | 2 +-
ld/emulparams/armelf_vxworks.sh | 4 +-
ld/emulparams/armelfb.sh | 2 +-
ld/emulparams/armelfb_fbsd.sh | 2 +-
ld/emulparams/armelfb_fuchsia.sh | 2 +-
ld/emulparams/armelfb_linux.sh | 2 +-
ld/emulparams/armelfb_linux_eabi.sh | 2 +-
ld/emulparams/armelfb_linux_fdpiceabi.sh | 2 +-
ld/emulparams/armelfb_nacl.sh | 2 +-
ld/emulparams/armelfb_nbsd.sh | 2 +-
ld/emulparams/armsymbian.sh | 2 +-
ld/emulparams/call_nop.sh | 16 +-
ld/emulparams/cet.sh | 25 +-
ld/emulparams/cskyelf.sh | 3 +-
ld/emulparams/cskyelf_linux.sh | 35 +-
ld/emulparams/elf32_sparc_sol2.sh | 4 +-
ld/emulparams/elf32_sparc_vxworks.sh | 4 +-
ld/emulparams/elf32_tic6x_be.sh | 2 +-
ld/emulparams/elf32_tic6x_elf_be.sh | 2 +-
ld/emulparams/elf32_tic6x_elf_le.sh | 2 +-
ld/emulparams/elf32_tic6x_linux_be.sh | 2 +-
ld/emulparams/elf32_tic6x_linux_le.sh | 2 +-
ld/emulparams/elf32_x86_64.sh | 13 +-
ld/emulparams/elf32_x86_64_nacl.sh | 4 +-
ld/emulparams/elf32b4300.sh | 2 +-
ld/emulparams/elf32bfinfd.sh | 2 +-
ld/emulparams/elf32bmipn32.sh | 2 +-
ld/emulparams/elf32bsmip.sh | 2 +-
ld/emulparams/elf32btsmip.sh | 2 +-
ld/emulparams/elf32btsmip_fbsd.sh | 4 +-
ld/emulparams/elf32btsmipn32.sh | 2 +-
ld/emulparams/elf32btsmipn32_fbsd.sh | 4 +-
ld/emulparams/elf32ebmip.sh | 2 +-
ld/emulparams/elf32ebmipvxworks.sh | 4 +-
ld/emulparams/elf32elmip.sh | 2 +-
ld/emulparams/elf32elmipvxworks.sh | 4 +-
ld/emulparams/elf32frvfd.sh | 2 +-
ld/emulparams/elf32l4300.sh | 2 +-
ld/emulparams/elf32lm32fd.sh | 2 +-
ld/emulparams/elf32lmip.sh | 2 +-
ld/emulparams/elf32lppc.sh | 2 +-
ld/emulparams/elf32lppclinux.sh | 2 +-
ld/emulparams/elf32lppcnto.sh | 2 +-
ld/emulparams/elf32lppcsim.sh | 2 +-
ld/emulparams/elf32lr5900.sh | 2 +-
ld/emulparams/elf32lr5900n32.sh | 2 +-
ld/emulparams/elf32lriscv.sh | 2 +-
ld/emulparams/elf32lriscv_ilp32.sh | 2 +-
ld/emulparams/elf32lriscv_ilp32f.sh | 2 +-
ld/emulparams/elf32lsmip.sh | 2 +-
ld/emulparams/elf32ltsmip.sh | 2 +-
ld/emulparams/elf32ltsmip_fbsd.sh | 4 +-
ld/emulparams/elf32ltsmipn32.sh | 2 +-
ld/emulparams/elf32ltsmipn32_fbsd.sh | 4 +-
ld/emulparams/elf32mcore.sh | 1 -
ld/emulparams/elf32microblaze.sh | 5 +-
ld/emulparams/elf32microblazeel.sh | 25 +-
ld/emulparams/elf32or1k_linux.sh | 2 +-
ld/emulparams/elf32ppc.sh | 4 +-
ld/emulparams/elf32ppc_fbsd.sh | 4 +-
ld/emulparams/elf32ppccommon.sh | 2 +-
ld/emulparams/elf32ppclinux.sh | 2 +-
ld/emulparams/elf32ppcnto.sh | 2 +-
ld/emulparams/elf32ppcsim.sh | 2 +-
ld/emulparams/elf32ppcvxworks.sh | 6 +-
ld/emulparams/elf32ppcwindiss.sh | 2 +-
ld/emulparams/elf32tilegx_be.sh | 2 +-
ld/emulparams/elf64_ia64_fbsd.sh | 4 +-
ld/emulparams/elf64_sparc_fbsd.sh | 4 +-
ld/emulparams/elf64_sparc_sol2.sh | 4 +-
ld/emulparams/elf64alpha_fbsd.sh | 4 +-
ld/emulparams/elf64alpha_nbsd.sh | 2 +-
ld/emulparams/elf64bmip-defs.sh | 2 +-
ld/emulparams/elf64bmip.sh | 2 +-
ld/emulparams/elf64bpf.sh | 10 +
ld/emulparams/elf64btsmip.sh | 2 +-
ld/emulparams/elf64btsmip_fbsd.sh | 4 +-
ld/emulparams/elf64lppc.sh | 2 +-
ld/emulparams/elf64lriscv-defs.sh | 2 +-
ld/emulparams/elf64lriscv.sh | 2 +-
ld/emulparams/elf64lriscv_lp64.sh | 2 +-
ld/emulparams/elf64lriscv_lp64f.sh | 2 +-
ld/emulparams/elf64ltsmip.sh | 2 +-
ld/emulparams/elf64ltsmip_fbsd.sh | 4 +-
ld/emulparams/elf64ppc.sh | 4 +-
ld/emulparams/elf64ppc_fbsd.sh | 4 +-
ld/emulparams/elf64rdos.sh | 3 +-
ld/emulparams/elf64tilegx_be.sh | 2 +-
ld/emulparams/elf_i386.sh | 11 +-
ld/emulparams/elf_i386_be.sh | 8 +-
ld/emulparams/elf_i386_chaos.sh | 14 -
ld/emulparams/elf_i386_fbsd.sh | 4 +-
ld/emulparams/elf_i386_ldso.sh | 9 +-
ld/emulparams/elf_i386_nacl.sh | 4 +-
ld/emulparams/elf_i386_sol2.sh | 6 +-
ld/emulparams/elf_i386_vxworks.sh | 9 +-
ld/emulparams/elf_iamcu.sh | 9 +-
ld/emulparams/elf_k1om.sh | 9 +-
ld/emulparams/elf_k1om_fbsd.sh | 4 +-
ld/emulparams/elf_l1om.sh | 9 +-
ld/emulparams/elf_l1om_fbsd.sh | 4 +-
ld/emulparams/elf_x86_64.sh | 15 +-
ld/emulparams/elf_x86_64_cloudabi.sh | 2 +-
ld/emulparams/elf_x86_64_fbsd.sh | 4 +-
ld/emulparams/elf_x86_64_nacl.sh | 4 +-
ld/emulparams/elf_x86_64_sol2.sh | 6 +-
ld/emulparams/h8300helf.sh | 2 +-
ld/emulparams/h8300helf_linux.sh | 2 +-
ld/emulparams/h8300hnelf.sh | 2 +-
ld/emulparams/h8300self.sh | 2 +-
ld/emulparams/h8300self_linux.sh | 2 +-
ld/emulparams/h8300snelf.sh | 2 +-
ld/emulparams/h8300sxelf.sh | 2 +-
ld/emulparams/h8300sxelf_linux.sh | 2 +-
ld/emulparams/h8300sxnelf.sh | 2 +-
ld/emulparams/hppanbsd.sh | 2 +-
ld/emulparams/hppaobsd.sh | 2 +-
ld/emulparams/i386lynx.sh | 1 +
ld/emulparams/i386moss.sh | 1 +
ld/emulparams/i386nto.sh | 1 +
ld/emulparams/m32rlelf.sh | 2 +-
ld/emulparams/m32rlelf_linux.sh | 2 +-
ld/emulparams/m68kelfnbsd.sh | 2 +-
ld/emulparams/m9s12zelf.sh | 3 +-
ld/emulparams/mn10300.sh | 2 +-
ld/emulparams/msp430X.sh | 2 +-
ld/emulparams/nds32belf.sh | 2 +-
ld/emulparams/nds32belf16m.sh | 2 +-
ld/emulparams/nds32belf_linux.sh | 2 +-
ld/emulparams/pjlelf.sh | 2 +-
ld/emulparams/ppclynx.sh | 2 +-
ld/emulparams/reloc_overflow.sh | 2 +-
ld/emulparams/score7_elf.sh | 2 +-
ld/emulparams/shelf_fd.sh | 2 +-
ld/emulparams/shelf_linux.sh | 2 +-
ld/emulparams/shelf_nbsd.sh | 2 +-
ld/emulparams/shelf_uclinux.sh | 2 +-
ld/emulparams/shelf_vxworks.sh | 2 +-
ld/emulparams/shl.sh | 2 +-
ld/emulparams/shlelf.sh | 2 +-
ld/emulparams/shlelf_fd.sh | 2 +-
ld/emulparams/shlelf_nbsd.sh | 2 +-
ld/emulparams/shlelf_vxworks.sh | 2 +-
ld/emultempl/aarch64elf.em | 58 +-
ld/emultempl/cskyelf.em | 31 +-
ld/emultempl/elf-x86.em | 57 +
ld/emultempl/elf32.em | 1 -
ld/emultempl/genelf.em | 4 +-
ld/emultempl/mipself.em | 26 +-
ld/emultempl/msp430.em | 110 +-
ld/emultempl/pe.em | 3 +-
ld/emultempl/pep.em | 3 +-
ld/emultempl/solaris2-x86.em | 23 +
ld/genscrba.sh | 2 +-
ld/genscripts.sh | 212 +-
ld/ld.h | 3 +
ld/ld.texi | 79 +-
ld/ldbuildid.c | 2 +-
ld/ldfile.c | 54 +-
ld/ldfile.h | 2 +
ld/ldlang.c | 25 +-
ld/ldlex.h | 2 +
ld/ldlex.l | 37 +-
ld/ldmain.c | 3 +-
ld/lexsup.c | 16 +-
ld/plugin.c | 77 +-
ld/po/BLD-POTFILES.in | 2 +-
ld/po/ru.po | 8064 +-
ld/scripttempl/elf.sc | 17 +-
ld/scripttempl/pru.sc | 4 +-
ld/testsuite/config/default.exp | 47 +-
ld/testsuite/ld-aarch64/aarch64-elf.exp | 15 +
ld/testsuite/ld-aarch64/bti-pac-plt-1.d | 6 +-
ld/testsuite/ld-aarch64/bti-pac-plt-2.d | 4 +-
ld/testsuite/ld-aarch64/bti-plt-1.d | 5 +-
ld/testsuite/ld-aarch64/bti-plt-2.d | 4 +-
ld/testsuite/ld-aarch64/bti-plt-3.d | 7 +-
ld/testsuite/ld-aarch64/bti-plt-4.d | 4 +-
ld/testsuite/ld-aarch64/bti-plt-5.d | 6 +-
ld/testsuite/ld-aarch64/bti-plt-6.d | 4 +-
ld/testsuite/ld-aarch64/bti-plt-7.d | 6 +-
ld/testsuite/ld-aarch64/bti-warn.d | 6 +-
ld/testsuite/ld-aarch64/emit-relocs-22.d | 15 +
ld/testsuite/ld-aarch64/emit-relocs-22.s | 3 +
ld/testsuite/ld-aarch64/emit-relocs-23.d | 15 +
ld/testsuite/ld-aarch64/emit-relocs-23.s | 3 +
ld/testsuite/ld-aarch64/erratum843419-adr.d | 15 +
ld/testsuite/ld-aarch64/erratum843419-adrp.d | 22 +
ld/testsuite/ld-aarch64/erratum843419-far-adr.d | 5 +
ld/testsuite/ld-aarch64/erratum843419-far-full.d | 22 +
ld/testsuite/ld-aarch64/erratum843419-far.s | 9 +
ld/testsuite/ld-aarch64/erratum843419-full.d | 20 +
ld/testsuite/ld-aarch64/erratum843419-near.s | 9 +
ld/testsuite/ld-aarch64/erratum843419-no-args.d | 20 +
ld/testsuite/ld-aarch64/pac-plt-1.d | 5 +-
ld/testsuite/ld-aarch64/pac-plt-2.d | 8 +-
ld/testsuite/ld-aarch64/property-bti-pac4-a.d | 11 +
ld/testsuite/ld-aarch64/property-bti-pac4-b.d | 11 +
ld/testsuite/ld-aarch64/property-bti-pac4.s | 21 +
ld/testsuite/ld-aarch64/tls-relax-gdesc-le-now.d | 19 +
ld/testsuite/ld-aarch64/variant_pcs-1.s | 59 +
ld/testsuite/ld-aarch64/variant_pcs-2.s | 47 +
ld/testsuite/ld-aarch64/variant_pcs-now.d | 67 +
ld/testsuite/ld-aarch64/variant_pcs-r.d | 60 +
ld/testsuite/ld-aarch64/variant_pcs-shared.d | 67 +
ld/testsuite/ld-aarch64/variant_pcs.ld | 23 +
ld/testsuite/ld-alpha/tlsbin.rd | 2 +-
ld/testsuite/ld-alpha/tlsbinr.rd | 2 +-
ld/testsuite/ld-alpha/tlspic.rd | 4 +-
ld/testsuite/ld-arm/arm-elf.exp | 19 +
ld/testsuite/ld-arm/attr-merge-13.attr | 6 +
ld/testsuite/ld-arm/attr-merge-13a.s | 5 +
ld/testsuite/ld-arm/attr-merge-13b.s | 5 +
ld/testsuite/ld-arm/bf.d | 14 +
ld/testsuite/ld-arm/bf.s | 19 +
ld/testsuite/ld-arm/bfcsel.d | 18 +
ld/testsuite/ld-arm/bfcsel.s | 25 +
ld/testsuite/ld-arm/bfl.d | 14 +
ld/testsuite/ld-arm/bfl.s | 19 +
ld/testsuite/ld-arm/bfs-0.s | 12 +
ld/testsuite/ld-arm/bfs-1.s | 9 +
ld/testsuite/ld-arm/branch-futures.d | 17 +
ld/testsuite/ld-auto-import/auto-import.exp | 2 +-
ld/testsuite/ld-avr/relax-insn-at-range-boundary.d | 17 +
ld/testsuite/ld-avr/relax-insn-at-range-boundary.s | 11 +
ld/testsuite/ld-avr/wraparound-range-boundary.d | 17 +
ld/testsuite/ld-avr/wraparound-range-boundary.s | 6 +
ld/testsuite/ld-bpf/bar.s | 5 +
ld/testsuite/ld-bpf/baz.s | 5 +
ld/testsuite/ld-bpf/bpf.exp | 29 +
ld/testsuite/ld-bpf/call-1.d | 23 +
ld/testsuite/ld-bpf/foo.s | 5 +
ld/testsuite/ld-bpf/jump-1.d | 23 +
ld/testsuite/ld-cygwin/exe-export.exp | 2 +-
ld/testsuite/ld-discard/extern.d | 2 +-
ld/testsuite/ld-discard/start.d | 2 +-
ld/testsuite/ld-discard/static.d | 2 +-
ld/testsuite/ld-elf/attributes.d | 2 +-
ld/testsuite/ld-elf/audit.exp | 2 +-
ld/testsuite/ld-elf/compress.exp | 2 +-
ld/testsuite/ld-elf/compressed1d.d | 5 +-
ld/testsuite/ld-elf/dwarf.exp | 2 +-
ld/testsuite/ld-elf/elf.exp | 64 +-
ld/testsuite/ld-elf/group1.d | 2 +-
ld/testsuite/ld-elf/group3b.d | 2 +-
ld/testsuite/ld-elf/group8a.d | 3 +-
ld/testsuite/ld-elf/group8b.d | 3 +-
ld/testsuite/ld-elf/group9a.d | 3 +-
ld/testsuite/ld-elf/group9b.d | 3 +-
ld/testsuite/ld-elf/indirect.exp | 2 +-
ld/testsuite/ld-elf/init-fini-arrays.s | 17 +-
ld/testsuite/ld-elf/linkonce2.d | 2 +-
ld/testsuite/ld-elf/linux-x86.exp | 2 +-
ld/testsuite/ld-elf/merge.d | 2 +-
ld/testsuite/ld-elf/merge2.d | 2 +-
ld/testsuite/ld-elf/merge3.d | 2 +-
ld/testsuite/ld-elf/orphan-10.d | 3 +-
ld/testsuite/ld-elf/orphan-9.d | 3 +-
ld/testsuite/ld-elf/orphan-region.d | 4 +-
ld/testsuite/ld-elf/orphan.d | 3 +-
ld/testsuite/ld-elf/orphan3.d | 4 +-
ld/testsuite/ld-elf/pr12851.d | 3 +-
ld/testsuite/ld-elf/pr12975.d | 2 +-
ld/testsuite/ld-elf/pr13177.d | 2 +-
ld/testsuite/ld-elf/pr13195.d | 2 +-
ld/testsuite/ld-elf/pr14156a.d | 10 +-
ld/testsuite/ld-elf/pr14156b.d | 10 +-
ld/testsuite/ld-elf/pr17550c.d | 2 +-
ld/testsuite/ld-elf/pr17550d.d | 2 +-
ld/testsuite/ld-elf/pr17615.d | 2 +-
ld/testsuite/ld-elf/pr20528a.d | 3 +-
ld/testsuite/ld-elf/pr20528b.d | 3 +-
ld/testsuite/ld-elf/pr21562a.d | 2 +-
ld/testsuite/ld-elf/pr21562b.d | 2 +-
ld/testsuite/ld-elf/pr21562c.d | 2 +-
ld/testsuite/ld-elf/pr21562d.d | 2 +-
ld/testsuite/ld-elf/pr21562i.d | 2 +-
ld/testsuite/ld-elf/pr21562j.d | 2 +-
ld/testsuite/ld-elf/pr21562k.d | 2 +-
ld/testsuite/ld-elf/pr21562l.d | 2 +-
ld/testsuite/ld-elf/pr21562m.d | 2 +-
ld/testsuite/ld-elf/pr21562n.d | 2 +-
ld/testsuite/ld-elf/pr22677.d | 3 +-
ld/testsuite/ld-elf/pr22836-1a.d | 2 +-
ld/testsuite/ld-elf/pr22836-1b.d | 2 +-
ld/testsuite/ld-elf/pr23658-1a.d | 4 +-
ld/testsuite/ld-elf/pr23658-1b.d | 3 +-
ld/testsuite/ld-elf/pr24511.d | 18 +
ld/testsuite/ld-elf/pr349.d | 3 +-
ld/testsuite/ld-elf/sec64k.exp | 10 +-
ld/testsuite/ld-elf/shared.exp | 12 +-
ld/testsuite/ld-elf/tls.exp | 2 +-
ld/testsuite/ld-elf/ver_def.vd | 2 +-
ld/testsuite/ld-elf/warn1.d | 4 +-
ld/testsuite/ld-elf/warn2.d | 5 +-
ld/testsuite/ld-elf/warn3.d | 2 +-
ld/testsuite/ld-elf/wrap.exp | 2 +-
ld/testsuite/ld-elfcomm/elfcomm.exp | 2 +-
ld/testsuite/ld-elfvers/vers.exp | 2 +-
ld/testsuite/ld-elfvsb/elfvsb.exp | 2 +-
ld/testsuite/ld-elfweak/elfweak.exp | 2 +-
ld/testsuite/ld-gc/gc.exp | 16 +-
ld/testsuite/ld-gc/skip-map-discarded.d | 3 +
ld/testsuite/ld-gc/skip-map-discarded.map | 5 +
ld/testsuite/ld-gc/skip-map-discarded.s | 6 +
ld/testsuite/ld-i386/i386.exp | 19 +-
ld/testsuite/ld-i386/no-plt.exp | 2 +-
ld/testsuite/ld-i386/pr18801.d | 3 -
ld/testsuite/ld-i386/pr18801a.d | 4 +
ld/testsuite/ld-i386/pr18801b.d | 4 +
ld/testsuite/ld-i386/property-x86-cet1.d | 11 +
ld/testsuite/ld-i386/property-x86-cet2a.d | 15 +
ld/testsuite/ld-i386/property-x86-cet2b.d | 7 +
ld/testsuite/ld-i386/property-x86-cet3a.d | 4 +
ld/testsuite/ld-i386/property-x86-cet3b.d | 4 +
ld/testsuite/ld-i386/property-x86-cet4a.d | 4 +
ld/testsuite/ld-i386/property-x86-cet4b.d | 4 +
ld/testsuite/ld-i386/property-x86-cet5a.d | 10 +
ld/testsuite/ld-i386/property-x86-cet5b.d | 11 +
ld/testsuite/ld-i386/property-x86-cet6.d | 5 +
ld/testsuite/ld-i386/tls.exp | 2 +-
ld/testsuite/ld-ifunc/ifunc.exp | 18 +-
ld/testsuite/ld-mips-elf/mips-elf-flags.exp | 3 +-
ld/testsuite/ld-mips-elf/mips-elf.exp | 22 +
ld/testsuite/ld-mips-elf/pic-and-nonpic-1-r6.dd | 50 +
ld/testsuite/ld-mips-elf/pic-and-nonpic-1-r6.nd | 9 +
ld/testsuite/ld-mips-elf/pic-and-nonpic-1a-r6.s | 28 +
ld/testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.dd | 36 +
ld/testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.gd | 21 +
ld/testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.s | 26 +
ld/testsuite/ld-mips-elf/pic-reloc-5.d | 10 +
ld/testsuite/ld-mips-elf/pic-reloc-5.s | 22 +
ld/testsuite/ld-mips-elf/pic-reloc-6.d | 11 +
ld/testsuite/ld-mips-elf/pic-reloc-6.s | 22 +
ld/testsuite/ld-mips-elf/pic-reloc-7.d | 8 +
ld/testsuite/ld-mips-elf/pic-reloc-7.s | 10 +
ld/testsuite/ld-mips-elf/pic-reloc-tls.ld | 7 +
ld/testsuite/ld-mips-elf/reloc-6a.s | 4 +-
ld/testsuite/ld-mips-elf/reloc-6b.s | 4 +-
ld/testsuite/ld-mips-elf/reloc-pcrel-r6.d | 18 +
ld/testsuite/ld-mips-elf/reloc-pcrel-r6.ld | 9 +
ld/testsuite/ld-mips-elf/reloc-pcrel-r6.s | 27 +
ld/testsuite/ld-mips-elf/undefweak-overflow.d | 16 +-
ld/testsuite/ld-mips-elf/undefweak-overflow.s | 2 -
ld/testsuite/ld-mn10300/mn10300.exp | 2 +-
ld/testsuite/ld-msp430-elf/msp430-elf.exp | 52 +-
ld/testsuite/ld-msp430-elf/valid-map-foo.s | 26 +
ld/testsuite/ld-msp430-elf/valid-map.d | 6 +
ld/testsuite/ld-msp430-elf/valid-map.map | 6 +
ld/testsuite/ld-msp430-elf/valid-map.s | 60 +
ld/testsuite/ld-msp430-elf/warn-no-lower-code.r | 1 +
ld/testsuite/ld-msp430-elf/warn-no-lower-data.r | 3 +
ld/testsuite/ld-msp430-elf/warn-no-lower.r | 4 +
ld/testsuite/ld-msp430-elf/warn-no-lower.s | 44 +
ld/testsuite/ld-pe/pe-compile.exp | 2 +-
ld/testsuite/ld-pe/pe-run.exp | 2 +-
ld/testsuite/ld-pe/pe-run2.exp | 2 +-
ld/testsuite/ld-pie/pie.exp | 2 +-
ld/testsuite/ld-plugin/lto.exp | 26 +-
ld/testsuite/ld-plugin/plugin.exp | 2 +-
ld/testsuite/ld-plugin/pr24406-1.c | 17 +
ld/testsuite/ld-plugin/pr24406-2a.c | 17 +
ld/testsuite/ld-plugin/pr24406-2b.c | 4 +
ld/testsuite/ld-plugin/pr24486a.c | 8 +
ld/testsuite/ld-plugin/pr24486b.c | 8 +
ld/testsuite/ld-plugin/pr24486c.c | 1 +
ld/testsuite/ld-powerpc/elfv2exe.d | 2 +-
ld/testsuite/ld-powerpc/elfv2so.d | 12 +-
ld/testsuite/ld-powerpc/notoc2.d | 29 +
ld/testsuite/ld-powerpc/notoc2.s | 13 +
ld/testsuite/ld-powerpc/pcrelopt.d | 89 +
ld/testsuite/ld-powerpc/pcrelopt.s | 119 +
ld/testsuite/ld-powerpc/pcrelopt.sec | 6 +
ld/testsuite/ld-powerpc/powerpc.exp | 6 +
ld/testsuite/ld-powerpc/tlsexe32.d | 2 +-
ld/testsuite/ld-powerpc/tlsopt5.d | 2 +-
ld/testsuite/ld-powerpc/tlsopt5_32.d | 2 +-
ld/testsuite/ld-powerpc/tocopt.d | 14 +-
ld/testsuite/ld-powerpc/tocopt.s | 3 +-
ld/testsuite/ld-powerpc/tocopt5.d | 11 +-
ld/testsuite/ld-powerpc/tocopt5.s | 1 -
ld/testsuite/ld-powerpc/tocopt7.d | 2 +-
ld/testsuite/ld-powerpc/tocopt7.s | 1 -
ld/testsuite/ld-powerpc/tocopt8.d | 24 +-
ld/testsuite/ld-powerpc/tocopt8.s | 1 -
ld/testsuite/ld-scripts/align.exp | 2 +-
ld/testsuite/ld-scripts/crossref.exp | 2 +-
ld/testsuite/ld-scripts/fill.d | 3 +-
ld/testsuite/ld-scripts/fill16.d | 3 +-
ld/testsuite/ld-scripts/pr18963.t | 3 +
ld/testsuite/ld-scripts/pr20302.d | 6 +-
ld/testsuite/ld-scripts/sane1.t | 1 +
ld/testsuite/ld-scripts/section-match-1.d | 2 +-
ld/testsuite/ld-sh/sh.exp | 2 +-
ld/testsuite/ld-shared/shared.exp | 2 +-
ld/testsuite/ld-size/size.exp | 2 +-
ld/testsuite/ld-srec/srec.exp | 2 +-
ld/testsuite/ld-undefined/require-defined.exp | 2 +-
ld/testsuite/ld-undefined/undefined.exp | 2 +-
ld/testsuite/ld-undefined/weak-undef.exp | 1 -
ld/testsuite/ld-unique/unique.exp | 2 +-
ld/testsuite/ld-x86-64/mpx.exp | 2 +-
ld/testsuite/ld-x86-64/no-plt.exp | 2 +-
ld/testsuite/ld-x86-64/pie2.d | 2 +-
ld/testsuite/ld-x86-64/pr18801.d | 3 -
ld/testsuite/ld-x86-64/pr18801a.d | 4 +
ld/testsuite/ld-x86-64/pr18801b.d | 4 +
ld/testsuite/ld-x86-64/pr19719.d | 2 +-
ld/testsuite/ld-x86-64/pr19807-2a.d | 2 +-
ld/testsuite/ld-x86-64/pr19969.d | 2 +-
ld/testsuite/ld-x86-64/pr21997-1a.err | 2 +-
ld/testsuite/ld-x86-64/pr21997-1b.err | 2 +-
ld/testsuite/ld-x86-64/pr22001-1a.err | 2 +-
ld/testsuite/ld-x86-64/pr22001-1b.err | 2 +-
ld/testsuite/ld-x86-64/pr22791-1.err | 2 +-
ld/testsuite/ld-x86-64/pr24458.s | 5 +
ld/testsuite/ld-x86-64/pr24458a-x32.d | 10 +
ld/testsuite/ld-x86-64/pr24458a.d | 10 +
ld/testsuite/ld-x86-64/pr24458b-x32.d | 10 +
ld/testsuite/ld-x86-64/pr24458b.d | 10 +
ld/testsuite/ld-x86-64/pr24458c-x32.d | 10 +
ld/testsuite/ld-x86-64/pr24458c.d | 10 +
ld/testsuite/ld-x86-64/property-x86-cet.s | 27 +
ld/testsuite/ld-x86-64/property-x86-cet1-x32.d | 11 +
ld/testsuite/ld-x86-64/property-x86-cet1.d | 11 +
ld/testsuite/ld-x86-64/property-x86-cet2a-x32.d | 15 +
ld/testsuite/ld-x86-64/property-x86-cet2a.d | 15 +
ld/testsuite/ld-x86-64/property-x86-cet2b-x32.d | 7 +
ld/testsuite/ld-x86-64/property-x86-cet2b.d | 7 +
ld/testsuite/ld-x86-64/property-x86-cet3a-x32.d | 4 +
ld/testsuite/ld-x86-64/property-x86-cet3a.d | 4 +
ld/testsuite/ld-x86-64/property-x86-cet3b-x32.d | 4 +
ld/testsuite/ld-x86-64/property-x86-cet3b.d | 4 +
ld/testsuite/ld-x86-64/property-x86-cet4a-x32.d | 4 +
ld/testsuite/ld-x86-64/property-x86-cet4a.d | 4 +
ld/testsuite/ld-x86-64/property-x86-cet4b-x32.d | 4 +
ld/testsuite/ld-x86-64/property-x86-cet4b.d | 4 +
ld/testsuite/ld-x86-64/property-x86-cet5a-x32.d | 10 +
ld/testsuite/ld-x86-64/property-x86-cet5a.d | 10 +
ld/testsuite/ld-x86-64/property-x86-cet5b-x32.d | 11 +
ld/testsuite/ld-x86-64/property-x86-cet5b.d | 11 +
ld/testsuite/ld-x86-64/property-x86-cet6-x32.d | 5 +
ld/testsuite/ld-x86-64/property-x86-cet6.d | 5 +
ld/testsuite/ld-x86-64/tls.exp | 2 +-
ld/testsuite/ld-x86-64/x86-64.exp | 31 +-
ld/testsuite/lib/ld-lib.exp | 99 +-
libctf/ChangeLog | 246 +
libctf/Makefile.am | 40 +
libctf/Makefile.in | 784 +
libctf/aclocal.m4 | 1234 +
libctf/config.h.in | 146 +
libctf/configure | 7968 ++
libctf/configure.ac | 154 +
libctf/ctf-archive.c | 754 +
libctf/ctf-create.c | 2041 +
libctf/ctf-decl.c | 195 +
libctf/ctf-decls.h | 75 +
libctf/ctf-dump.c | 597 +
libctf/ctf-endian.h | 37 +
libctf/ctf-error.c | 93 +
libctf/ctf-hash.c | 277 +
libctf/ctf-impl.h | 386 +
libctf/ctf-labels.c | 138 +
libctf/ctf-lookup.c | 427 +
libctf/ctf-open-bfd.c | 349 +
libctf/ctf-open.c | 1692 +
libctf/ctf-qsort_r.c | 259 +
libctf/ctf-subr.c | 259 +
libctf/ctf-types.c | 1023 +
libctf/ctf-util.c | 176 +
libctf/elf.h | 61 +
libctf/swap.h | 66 +
libiberty/ChangeLog | 32 +
libiberty/cp-demangle.c | 70 +-
libiberty/cp-demangle.h | 2 +-
libiberty/floatformat.c | 2 +-
libiberty/functions.texi | 57 +-
libiberty/hashtab.c | 2 +-
libiberty/simple-object.c | 6 +-
libiberty/strerror.c | 2 +-
opcodes/ChangeLog | 878 +
opcodes/Makefile.am | 17 +
opcodes/Makefile.in | 23 +
opcodes/aarch64-asm-2.c | 808 +-
opcodes/aarch64-asm.c | 31 +-
opcodes/aarch64-dis-2.c | 7365 +-
opcodes/aarch64-dis.c | 55 +
opcodes/aarch64-opc-2.c | 42 +-
opcodes/aarch64-opc.c | 58 +-
opcodes/aarch64-opc.h | 6 +
opcodes/aarch64-tbl.h | 517 +-
opcodes/arm-dis.c | 6330 +-
opcodes/bpf-asm.c | 590 +
opcodes/bpf-desc.c | 1638 +
opcodes/bpf-desc.h | 266 +
opcodes/bpf-dis.c | 624 +
opcodes/bpf-ibld.c | 956 +
opcodes/bpf-opc.c | 1495 +
opcodes/bpf-opc.h | 151 +
opcodes/configure | 19 +-
opcodes/configure.ac | 1 +
opcodes/disassemble.c | 35 +
opcodes/disassemble.h | 1 +
opcodes/i386-dis-evex.h | 214 +-
opcodes/i386-dis.c | 64 +-
opcodes/i386-gen.c | 17 +-
opcodes/i386-init.h | 410 +-
opcodes/i386-opc.h | 9 +
opcodes/i386-opc.tbl | 31 +
opcodes/i386-tbl.h | 8118 +-
opcodes/ia64-opc.c | 5 +-
opcodes/mips-dis.c | 10 +-
opcodes/mips-opc.c | 24 +-
opcodes/or1k-asm.c | 72 +-
opcodes/or1k-desc.c | 309 +-
opcodes/or1k-desc.h | 341 +-
opcodes/or1k-dis.c | 43 +-
opcodes/or1k-ibld.c | 234 +-
opcodes/or1k-opc.c | 319 +-
opcodes/or1k-opc.h | 39 +-
opcodes/or1k-opinst.c | 100 +-
opcodes/po/POTFILES.in | 7 +
opcodes/po/fr.po | 1571 +-
opcodes/ppc-dis.c | 174 +-
opcodes/ppc-opc.c | 785 +-
opcodes/s12z-dis.c | 2 +-
opcodes/s12z-opc.c | 58 +-
opcodes/s12z-opc.h | 13 +-
readline/support/config.guess | 1281 +-
readline/support/config.sub | 2445 +-
sim/ChangeLog | 10 +
sim/common/ChangeLog | 20 +
sim/common/cgen-accfp.c | 49 +
sim/common/cgen-fpu.h | 2 +
sim/common/cgen-ops.h | 10 +-
sim/or1k/arch.c | 2 +-
sim/or1k/arch.h | 2 +-
sim/or1k/cpu.c | 78 +-
sim/or1k/cpu.h | 174 +-
sim/or1k/cpuall.h | 2 +-
sim/or1k/decode.c | 568 +-
sim/or1k/decode.h | 21 +-
sim/or1k/model.c | 1036 +-
sim/or1k/sem-switch.c | 602 +-
sim/or1k/sem.c | 672 +-
sim/testsuite/sim/or1k/ChangeLog | 13 +
sim/testsuite/sim/or1k/adrp.S | 73 +
sim/testsuite/sim/or1k/fpu-unordered.S | 97 +
sim/testsuite/sim/or1k/fpu64a32-unordered.S | 100 +
sim/testsuite/sim/or1k/fpu64a32.S | 172 +
src-release.sh | 4 +-
2535 files changed, 569015 insertions(+), 61742 deletions(-)
create mode 100644 bfd/cpu-bpf.c
create mode 100644 bfd/elf-linker-x86.h
create mode 100644 bfd/elf64-bpf.c
create mode 100644 binutils/doc/ctf.options.texi
create mode 100644 binutils/testsuite/binutils-all/aarch64/sve-dwarf-registers.d
create mode 100644 binutils/testsuite/binutils-all/aarch64/sve-dwarf-registers.s
create mode 100644 binutils/testsuite/binutils-all/verilog-1.hex
create mode 100644 binutils/testsuite/binutils-all/verilog-2.hex
create mode 100644 binutils/testsuite/binutils-all/verilog-4.hex
create mode 100644 binutils/testsuite/binutils-all/verilog-8.hex
create mode 100644 binutils/testsuite/binutils-all/verilogtest.s
create mode 100644 cpu/bpf.cpu
create mode 100644 cpu/bpf.opc
create mode 100644 gas/config/tc-bpf.c
create mode 100644 gas/config/tc-bpf.h
create mode 100644 gas/config/te-cloudabi.h
create mode 100644 gas/doc/c-bpf.texi
create mode 100644 gas/testsuite/gas/aarch64/illegal-sve2-aes.d
create mode 100644 gas/testsuite/gas/aarch64/illegal-sve2-bitperm.d
create mode 100644 gas/testsuite/gas/aarch64/illegal-sve2-sha3.d
create mode 100644 gas/testsuite/gas/aarch64/illegal-sve2-sm4.d
create mode 100644 gas/testsuite/gas/aarch64/illegal-sve2-sve1ext.d
create mode 100644 gas/testsuite/gas/aarch64/illegal-sve2-sve1ext.l
create mode 100644 gas/testsuite/gas/aarch64/illegal-sve2.d
create mode 100644 gas/testsuite/gas/aarch64/illegal-sve2.l
create mode 100644 gas/testsuite/gas/aarch64/illegal-sve2.s
create mode 100644 gas/testsuite/gas/aarch64/sve1-extended-sve2.s
create mode 100644 gas/testsuite/gas/aarch64/sve2.d
create mode 100644 gas/testsuite/gas/aarch64/sve2.s
create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-1.d
create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-1.s
create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-2.d
create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-2.s
create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-3.d
create mode 100644 gas/testsuite/gas/aarch64/symbol-variant_pcs-3.s
create mode 100644 gas/testsuite/gas/aarch64/tme-invalid.d
create mode 100644 gas/testsuite/gas/aarch64/tme-invalid.l
create mode 100644 gas/testsuite/gas/aarch64/tme-invalid.s
create mode 100644 gas/testsuite/gas/aarch64/tme.d
create mode 100644 gas/testsuite/gas/aarch64/tme.s
create mode 100644 gas/testsuite/gas/arm/archv8m_1m-cmse-main-bad.d
create mode 100644 gas/testsuite/gas/arm/archv8m_1m-cmse-main-bad.l
create mode 100644 gas/testsuite/gas/arm/archv8m_1m-cmse-main-bad.s
create mode 100644 gas/testsuite/gas/arm/archv8m_1m-cmse-main.d
create mode 100644 gas/testsuite/gas/arm/archv8m_1m-cmse-main.s
create mode 100644 gas/testsuite/gas/arm/armv8.1-m.main-fp-dp.d
create mode 100644 gas/testsuite/gas/arm/armv8.1-m.main-fp.d
create mode 100644 gas/testsuite/gas/arm/armv8.1-m.main-hp.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-bad.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-bad.l
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-bad.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-exchange-bad.l
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-exchange-bad.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-exchange.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-exchange.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-rel.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-rel.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf-rela.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bf.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bfcsel.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bfcsel.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bfl-bad.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bfl-bad.l
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bfl-bad.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bfl-rel.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bfl-rel.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bfl-rela.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bfl.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-bfl.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-cond-bad.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-cond-bad.l
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-cond-bad.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-cond.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-cond.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-loloop-bad.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-loloop-bad.l
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-loloop-bad.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-loloop.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-loloop.s
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad1.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad1.l
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad2.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad2.l
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad3.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-spec-reg-bad3.l
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-spec-reg.d
create mode 100644 gas/testsuite/gas/arm/armv8_1-m-spec-reg.s
create mode 100644 gas/testsuite/gas/arm/attr-march-armv8_1-m.main.d
create mode 100644 gas/testsuite/gas/arm/load-pseudo.s
create mode 100644 gas/testsuite/gas/arm/m0-load-pseudo.d
create mode 100644 gas/testsuite/gas/arm/m23-load-pseudo.d
create mode 100644 gas/testsuite/gas/arm/m33-load-pseudo.d
create mode 100644 gas/testsuite/gas/arm/mve-shift-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-shift-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-shift-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-shift.d
create mode 100644 gas/testsuite/gas/arm/mve-shift.s
create mode 100644 gas/testsuite/gas/arm/mve-tailpredloop-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-tailpredloop-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-tailpredloop-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-tailpredloop.d
create mode 100644 gas/testsuite/gas/arm/mve-tailpredloop.s
create mode 100644 gas/testsuite/gas/arm/mve-vabav-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vabav-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vabav-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vabav.d
create mode 100644 gas/testsuite/gas/arm/mve-vabav.s
create mode 100644 gas/testsuite/gas/arm/mve-vabd.d
create mode 100644 gas/testsuite/gas/arm/mve-vabd.s
create mode 100644 gas/testsuite/gas/arm/mve-vabsneg-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vabsneg-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vabsneg-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vabsneg-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vabsneg-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vabsneg-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vabsneg.d
create mode 100644 gas/testsuite/gas/arm/mve-vabsneg.s
create mode 100644 gas/testsuite/gas/arm/mve-vadc-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vadc-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vadc-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vadc.d
create mode 100644 gas/testsuite/gas/arm/mve-vadc.s
create mode 100644 gas/testsuite/gas/arm/mve-vaddlv-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vaddlv-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vaddlv-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vaddlv.d
create mode 100644 gas/testsuite/gas/arm/mve-vaddlv.s
create mode 100644 gas/testsuite/gas/arm/mve-vaddsub.d
create mode 100644 gas/testsuite/gas/arm/mve-vaddsub.s
create mode 100644 gas/testsuite/gas/arm/mve-vaddsubabd-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vaddsubabd-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vaddsubabd-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vaddsubabd-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vaddsubabd-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vaddsubabd-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vaddv-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vaddv-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vaddv-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vaddv.d
create mode 100644 gas/testsuite/gas/arm/mve-vaddv.s
create mode 100644 gas/testsuite/gas/arm/mve-vand-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vand-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vand-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vand.d
create mode 100644 gas/testsuite/gas/arm/mve-vand.s
create mode 100644 gas/testsuite/gas/arm/mve-vbic-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vbic-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vbic-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vbic.d
create mode 100644 gas/testsuite/gas/arm/mve-vbic.s
create mode 100644 gas/testsuite/gas/arm/mve-vbrsr-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vbrsr-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vbrsr-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vbrsr.d
create mode 100644 gas/testsuite/gas/arm/mve-vbrsr.s
create mode 100644 gas/testsuite/gas/arm/mve-vcadd-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vcadd-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vcadd-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vcadd-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vcadd-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vcadd-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vcadd.d
create mode 100644 gas/testsuite/gas/arm/mve-vcadd.s
create mode 100644 gas/testsuite/gas/arm/mve-vcls-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vcls-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vcls-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vcls.d
create mode 100644 gas/testsuite/gas/arm/mve-vcls.s
create mode 100644 gas/testsuite/gas/arm/mve-vclz-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vclz-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vclz-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vclz.d
create mode 100644 gas/testsuite/gas/arm/mve-vclz.s
create mode 100644 gas/testsuite/gas/arm/mve-vcmla-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vcmla-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vcmla-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vcmla-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vcmla-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vcmla-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vcmla.d
create mode 100644 gas/testsuite/gas/arm/mve-vcmla.s
create mode 100644 gas/testsuite/gas/arm/mve-vcmp-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vcmp-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vcmp-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vcmp-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vcmp-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vcmp-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vcmp.d
create mode 100644 gas/testsuite/gas/arm/mve-vcmp.s
create mode 100644 gas/testsuite/gas/arm/mve-vcmul-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vcmul-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vcmul-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vcmul-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vcmul-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vcmul-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vcmul.d
create mode 100644 gas/testsuite/gas/arm/mve-vcmul.s
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-3.d
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-3.s
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-4.d
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-4.s
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-3.d
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-3.l
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-3.s
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-4.d
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-4.l
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad-4.s
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vcvt-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vddup-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vddup-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vddup-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vddup.d
create mode 100644 gas/testsuite/gas/arm/mve-vddup.s
create mode 100644 gas/testsuite/gas/arm/mve-vdup-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vdup-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vdup-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vdup.d
create mode 100644 gas/testsuite/gas/arm/mve-vdup.s
create mode 100644 gas/testsuite/gas/arm/mve-veor-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-veor-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-veor-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-veor.d
create mode 100644 gas/testsuite/gas/arm/mve-veor.s
create mode 100644 gas/testsuite/gas/arm/mve-vfma-vfms-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vfma-vfms-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vfma-vfms-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vfma-vfms.d
create mode 100644 gas/testsuite/gas/arm/mve-vfma-vfms.s
create mode 100644 gas/testsuite/gas/arm/mve-vfmas-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vfmas-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vfmas-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vfmas.d
create mode 100644 gas/testsuite/gas/arm/mve-vfmas.s
create mode 100644 gas/testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.d
create mode 100644 gas/testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.s
create mode 100644 gas/testsuite/gas/arm/mve-vhcadd-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vhcadd-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vhcadd-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vhcadd.d
create mode 100644 gas/testsuite/gas/arm/mve-vhcadd.s
create mode 100644 gas/testsuite/gas/arm/mve-vidup-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vidup-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vidup-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vldr-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vldr-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vldr-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vldr-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vldr-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vldr-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vldr-bad-3.d
create mode 100644 gas/testsuite/gas/arm/mve-vldr-bad-3.l
create mode 100644 gas/testsuite/gas/arm/mve-vldr-bad-3.s
create mode 100644 gas/testsuite/gas/arm/mve-vmax-vmin-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmax-vmin-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmax-vmin-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmax-vmin.d
create mode 100644 gas/testsuite/gas/arm/mve-vmax-vmin.s
create mode 100644 gas/testsuite/gas/arm/mve-vmaxa-vmina-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmaxa-vmina-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmaxa-vmina-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmaxa-vmina.d
create mode 100644 gas/testsuite/gas/arm/mve-vmaxa-vmina.s
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnm-vminnm-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnm-vminnm-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnm-vminnm-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnm-vminnm.d
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnm-vminnm.s
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnma-vminnma-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnma-vminnma-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnma-vminnma-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnma-vminnma.s
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnmv-vminnmv.d
create mode 100644 gas/testsuite/gas/arm/mve-vmaxnmv-vminnmv.s
create mode 100644 gas/testsuite/gas/arm/mve-vmaxv-vminv-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmaxv-vminv-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmaxv-vminv-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmaxv-vminv.d
create mode 100644 gas/testsuite/gas/arm/mve-vmaxv-vminv.s
create mode 100644 gas/testsuite/gas/arm/mve-vmla-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmla-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmla-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmla.d
create mode 100644 gas/testsuite/gas/arm/mve-vmla.s
create mode 100644 gas/testsuite/gas/arm/mve-vmladav-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmladav-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmladav-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmladav.d
create mode 100644 gas/testsuite/gas/arm/mve-vmladav.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlaldav-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlaldav-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmlaldav-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlaldav.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlaldav.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlalv-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlalv-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmlalv-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlalv.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlalv.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlas-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlas-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmlas-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlas.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlas.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlav-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlav-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmlav-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlav.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlav.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlsdav-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlsdav-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmlsdav-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlsdav.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlsdav.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlsldav-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlsldav-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmlsldav-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmlsldav.d
create mode 100644 gas/testsuite/gas/arm/mve-vmlsldav.s
create mode 100644 gas/testsuite/gas/arm/mve-vmov-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vmov-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vmov-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vmov-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vmov-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vmov-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vmov-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vmov-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vmov-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vmov-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vmul-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vmul-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vmul-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vmul-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vmul-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vmul-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vmul.d
create mode 100644 gas/testsuite/gas/arm/mve-vmul.s
create mode 100644 gas/testsuite/gas/arm/mve-vmulh-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmulh-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmulh-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmulh.d
create mode 100644 gas/testsuite/gas/arm/mve-vmulh.s
create mode 100644 gas/testsuite/gas/arm/mve-vmullbt-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmullbt-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmullbt-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmullbt.d
create mode 100644 gas/testsuite/gas/arm/mve-vmullbt.s
create mode 100644 gas/testsuite/gas/arm/mve-vmvn-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vmvn-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vmvn-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vmvn.d
create mode 100644 gas/testsuite/gas/arm/mve-vmvn.s
create mode 100644 gas/testsuite/gas/arm/mve-vorn-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vorn-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vorn-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vorn.d
create mode 100644 gas/testsuite/gas/arm/mve-vorn.s
create mode 100644 gas/testsuite/gas/arm/mve-vorr-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vorr-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vorr-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vorr.d
create mode 100644 gas/testsuite/gas/arm/mve-vorr.s
create mode 100644 gas/testsuite/gas/arm/mve-vpnot-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vpnot-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vpnot-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vpnot.d
create mode 100644 gas/testsuite/gas/arm/mve-vpnot.s
create mode 100644 gas/testsuite/gas/arm/mve-vpsel-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vpsel-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vpsel-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vpsel.d
create mode 100644 gas/testsuite/gas/arm/mve-vpsel.s
create mode 100644 gas/testsuite/gas/arm/mve-vpst-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vpst-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vpst-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vpt-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vpt-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vpt-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vpt-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vpt-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vpt-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vpt.d
create mode 100644 gas/testsuite/gas/arm/mve-vpt.s
create mode 100644 gas/testsuite/gas/arm/mve-vqabsneg-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vqabsneg-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vqabsneg-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vqabsneg.s
create mode 100644 gas/testsuite/gas/arm/mve-vqaddsub-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vqaddsub-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vqaddsub-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vqaddsub.d
create mode 100644 gas/testsuite/gas/arm/mve-vqaddsub.s
create mode 100644 gas/testsuite/gas/arm/mve-vqdmladh-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vqdmladh-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vqdmladh-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vqdmladh.d
create mode 100644 gas/testsuite/gas/arm/mve-vqdmladh.s
create mode 100644 gas/testsuite/gas/arm/mve-vqdmlah.d
create mode 100644 gas/testsuite/gas/arm/mve-vqdmlah.s
create mode 100644 gas/testsuite/gas/arm/mve-vqdmlash.d
create mode 100644 gas/testsuite/gas/arm/mve-vqdmlash.s
create mode 100644 gas/testsuite/gas/arm/mve-vqdmlsdh-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vqdmlsdh-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vqdmlsdh-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vqdmlsdh.d
create mode 100644 gas/testsuite/gas/arm/mve-vqdmlsdh.s
create mode 100644 gas/testsuite/gas/arm/mve-vqdmulh-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vqdmulh-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vqdmulh-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vqdmulh.d
create mode 100644 gas/testsuite/gas/arm/mve-vqdmulh.s
create mode 100644 gas/testsuite/gas/arm/mve-vqdmull-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vqdmull-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vqdmull-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vqdmull.d
create mode 100644 gas/testsuite/gas/arm/mve-vqdmull.s
create mode 100644 gas/testsuite/gas/arm/mve-vqmovn-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vqmovn-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vqmovn-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vqmovn.d
create mode 100644 gas/testsuite/gas/arm/mve-vqmovn.s
create mode 100644 gas/testsuite/gas/arm/mve-vqrshl-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vqrshl-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vqrshl-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vqrshl.d
create mode 100644 gas/testsuite/gas/arm/mve-vqrshl.s
create mode 100644 gas/testsuite/gas/arm/mve-vqrshrn-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vqrshrn-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vqrshrn-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vqrshrn.d
create mode 100644 gas/testsuite/gas/arm/mve-vqrshrn.s
create mode 100644 gas/testsuite/gas/arm/mve-vqshl-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vqshl-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vqshl-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vqshl.d
create mode 100644 gas/testsuite/gas/arm/mve-vqshl.s
create mode 100644 gas/testsuite/gas/arm/mve-vrev-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vrev-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vrev-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vrev.d
create mode 100644 gas/testsuite/gas/arm/mve-vrev.s
create mode 100644 gas/testsuite/gas/arm/mve-vrint-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vrint-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vrint-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vrint.d
create mode 100644 gas/testsuite/gas/arm/mve-vrint.s
create mode 100644 gas/testsuite/gas/arm/mve-vrmlaldavh-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vrmlaldavh-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vrmlaldavh-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vrmlaldavh.d
create mode 100644 gas/testsuite/gas/arm/mve-vrmlaldavh.s
create mode 100644 gas/testsuite/gas/arm/mve-vrshl-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vrshl-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vrshl-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vrshl.d
create mode 100644 gas/testsuite/gas/arm/mve-vrshl.s
create mode 100644 gas/testsuite/gas/arm/mve-vsbc-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vsbc-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vsbc-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vsbc.d
create mode 100644 gas/testsuite/gas/arm/mve-vsbc.s
create mode 100644 gas/testsuite/gas/arm/mve-vshl-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vshl-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vshl-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vshl.d
create mode 100644 gas/testsuite/gas/arm/mve-vshl.s
create mode 100644 gas/testsuite/gas/arm/mve-vshlc-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vshlc-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vshlc-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vshlc.d
create mode 100644 gas/testsuite/gas/arm/mve-vshlc.s
create mode 100644 gas/testsuite/gas/arm/mve-vshll-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vshll-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vshll-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vshll.d
create mode 100644 gas/testsuite/gas/arm/mve-vshll.s
create mode 100644 gas/testsuite/gas/arm/mve-vshr-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vshr-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vshr-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vshr.d
create mode 100644 gas/testsuite/gas/arm/mve-vshr.s
create mode 100644 gas/testsuite/gas/arm/mve-vshrn-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vshrn-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vshrn-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vshrn.d
create mode 100644 gas/testsuite/gas/arm/mve-vshrn.s
create mode 100644 gas/testsuite/gas/arm/mve-vsli-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vsli-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vsli-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vsli.d
create mode 100644 gas/testsuite/gas/arm/mve-vsli.s
create mode 100644 gas/testsuite/gas/arm/mve-vsri-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vsri-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vsri-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vsri.d
create mode 100644 gas/testsuite/gas/arm/mve-vsri.s
create mode 100644 gas/testsuite/gas/arm/mve-vstld-bad.d
create mode 100644 gas/testsuite/gas/arm/mve-vstld-bad.l
create mode 100644 gas/testsuite/gas/arm/mve-vstld-bad.s
create mode 100644 gas/testsuite/gas/arm/mve-vstld.d
create mode 100644 gas/testsuite/gas/arm/mve-vstld.s
create mode 100644 gas/testsuite/gas/arm/mve-vstr-bad-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vstr-bad-1.l
create mode 100644 gas/testsuite/gas/arm/mve-vstr-bad-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vstr-bad-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vstr-bad-2.l
create mode 100644 gas/testsuite/gas/arm/mve-vstr-bad-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vstr-bad-3.d
create mode 100644 gas/testsuite/gas/arm/mve-vstr-bad-3.l
create mode 100644 gas/testsuite/gas/arm/mve-vstr-bad-3.s
create mode 100644 gas/testsuite/gas/arm/mve-vstrldr-1.d
create mode 100644 gas/testsuite/gas/arm/mve-vstrldr-1.s
create mode 100644 gas/testsuite/gas/arm/mve-vstrldr-2.d
create mode 100644 gas/testsuite/gas/arm/mve-vstrldr-2.s
create mode 100644 gas/testsuite/gas/arm/mve-vstrldr-3.d
create mode 100644 gas/testsuite/gas/arm/mve-vstrldr-3.s
create mode 100644 gas/testsuite/gas/bpf/alu-be.d
create mode 100644 gas/testsuite/gas/bpf/alu.d
create mode 100644 gas/testsuite/gas/bpf/alu.s
create mode 100644 gas/testsuite/gas/bpf/alu32-be.d
create mode 100644 gas/testsuite/gas/bpf/alu32.d
create mode 100644 gas/testsuite/gas/bpf/alu32.s
create mode 100644 gas/testsuite/gas/bpf/atomic-be.d
create mode 100644 gas/testsuite/gas/bpf/atomic.d
create mode 100644 gas/testsuite/gas/bpf/atomic.s
create mode 100644 gas/testsuite/gas/bpf/bpf.exp
create mode 100644 gas/testsuite/gas/bpf/call-be.d
create mode 100644 gas/testsuite/gas/bpf/call.d
create mode 100644 gas/testsuite/gas/bpf/call.s
create mode 100644 gas/testsuite/gas/bpf/exit-be.d
create mode 100644 gas/testsuite/gas/bpf/exit.d
create mode 100644 gas/testsuite/gas/bpf/exit.s
create mode 100644 gas/testsuite/gas/bpf/jump-be.d
create mode 100644 gas/testsuite/gas/bpf/jump.d
create mode 100644 gas/testsuite/gas/bpf/jump.s
create mode 100644 gas/testsuite/gas/bpf/lddw-be.d
create mode 100644 gas/testsuite/gas/bpf/lddw.d
create mode 100644 gas/testsuite/gas/bpf/lddw.s
create mode 100644 gas/testsuite/gas/bpf/mem-be.d
create mode 100644 gas/testsuite/gas/bpf/mem.d
create mode 100644 gas/testsuite/gas/bpf/mem.s
create mode 100644 gas/testsuite/gas/elf/dwarf2-19.d
create mode 100644 gas/testsuite/gas/elf/dwarf2-19.s
delete mode 100644 gas/testsuite/gas/elf/section2.e-miwmmxt
create mode 100644 gas/testsuite/gas/i386/avx512_bf16.d
create mode 100644 gas/testsuite/gas/i386/avx512_bf16.s
create mode 100644 gas/testsuite/gas/i386/avx512_bf16_vl-inval.l
create mode 100644 gas/testsuite/gas/i386/avx512_bf16_vl-inval.s
create mode 100644 gas/testsuite/gas/i386/avx512_bf16_vl.d
create mode 100644 gas/testsuite/gas/i386/avx512_bf16_vl.s
create mode 100644 gas/testsuite/gas/i386/enqcmd-intel.d
create mode 100644 gas/testsuite/gas/i386/enqcmd-inval.l
create mode 100644 gas/testsuite/gas/i386/enqcmd-inval.s
create mode 100644 gas/testsuite/gas/i386/enqcmd.d
create mode 100644 gas/testsuite/gas/i386/enqcmd.s
create mode 100644 gas/testsuite/gas/i386/inval-avx512vl.l
create mode 100644 gas/testsuite/gas/i386/inval-avx512vl.s
create mode 100644 gas/testsuite/gas/i386/jump16.e
create mode 100644 gas/testsuite/gas/i386/property-2.d
create mode 100644 gas/testsuite/gas/i386/property-2.s
create mode 100644 gas/testsuite/gas/i386/solaris/reloc64.d
create mode 100644 gas/testsuite/gas/i386/solaris/solaris.exp
create mode 100644 gas/testsuite/gas/i386/solaris/x86-64-jump.d
create mode 100644 gas/testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d
create mode 100644 gas/testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d
create mode 100644 gas/testsuite/gas/i386/solaris/x86-64-nop-3.d
create mode 100644 gas/testsuite/gas/i386/solaris/x86-64-nop-4.d
create mode 100644 gas/testsuite/gas/i386/solaris/x86-64-nop-5.d
create mode 100644 gas/testsuite/gas/i386/solaris/x86-64-relax-2.d
create mode 100644 gas/testsuite/gas/i386/solaris/x86-64-relax-3.d
create mode 100644 gas/testsuite/gas/i386/vp2intersect-intel.d
create mode 100644 gas/testsuite/gas/i386/vp2intersect-inval-bcast.l
create mode 100644 gas/testsuite/gas/i386/vp2intersect-inval-bcast.s
create mode 100644 gas/testsuite/gas/i386/vp2intersect.d
create mode 100644 gas/testsuite/gas/i386/vp2intersect.s
create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_bf16.d
create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_bf16.s
create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.l
create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.s
create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.d
create mode 100644 gas/testsuite/gas/i386/x86-64-avx512_bf16_vl.s
create mode 100644 gas/testsuite/gas/i386/x86-64-enqcmd-intel.d
create mode 100644 gas/testsuite/gas/i386/x86-64-enqcmd-inval.l
create mode 100644 gas/testsuite/gas/i386/x86-64-enqcmd-inval.s
create mode 100644 gas/testsuite/gas/i386/x86-64-enqcmd.d
create mode 100644 gas/testsuite/gas/i386/x86-64-enqcmd.s
create mode 100644 gas/testsuite/gas/i386/x86-64-inval-avx512vl.l
create mode 100644 gas/testsuite/gas/i386/x86-64-inval-avx512vl.s
create mode 100644 gas/testsuite/gas/i386/x86-64-property-2.d
create mode 100644 gas/testsuite/gas/i386/x86-64-vp2intersect-intel.d
create mode 100644 gas/testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.l
create mode 100644 gas/testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.s
create mode 100644 gas/testsuite/gas/i386/x86-64-vp2intersect.d
create mode 100644 gas/testsuite/gas/i386/x86-64-vp2intersect.s
create mode 100644 gas/testsuite/gas/mips/elf_mach_i6400.d
create mode 100644 gas/testsuite/gas/mips/elf_mach_i6500.d
create mode 100644 gas/testsuite/gas/mips/elf_mach_p6600.d
create mode 100644 gas/testsuite/gas/mips/llpscp-32.d
create mode 100644 gas/testsuite/gas/mips/llpscp-32.s
create mode 100644 gas/testsuite/gas/mips/llpscp-64.d
create mode 100644 gas/testsuite/gas/mips/llpscp-64.s
create mode 100644 gas/testsuite/gas/mips/mipsr6@dadd.d
create mode 100644 gas/testsuite/gas/mips/mipsr6@hwr-names.d
create mode 100644 gas/testsuite/gas/mips/pr14798-irix.d
create mode 100644 gas/testsuite/gas/mips/pr14798.d
create mode 100644 gas/testsuite/gas/mips/pr14798.s
delete mode 100644 gas/testsuite/gas/mips/r6-branch-constraints.l
delete mode 100644 gas/testsuite/gas/mips/r6-branch-constraints.s
create mode 100644 gas/testsuite/gas/mips/r6-reg-constraints.l
create mode 100644 gas/testsuite/gas/mips/r6-reg-constraints.s
create mode 100644 gas/testsuite/gas/msp430/either-data-bss-sym.d
create mode 100644 gas/testsuite/gas/msp430/either-data-bss-sym.s
create mode 100644 gas/testsuite/gas/msp430/fini-array.d
create mode 100644 gas/testsuite/gas/msp430/fini-array.s
create mode 100644 gas/testsuite/gas/msp430/init-array.d
create mode 100644 gas/testsuite/gas/msp430/init-array.s
create mode 100644 gas/testsuite/gas/msp430/low-data-bss-sym.d
create mode 100644 gas/testsuite/gas/msp430/low-data-bss-sym.s
create mode 100644 gas/testsuite/gas/msp430/nop-unknown-intr-430.d
create mode 100644 gas/testsuite/gas/msp430/nop-unknown-intr-430.l
create mode 100644 gas/testsuite/gas/msp430/nop-unknown-intr-430x-ignore.d
create mode 100644 gas/testsuite/gas/msp430/nop-unknown-intr-430x.d
create mode 100644 gas/testsuite/gas/msp430/nop-unknown-intr-430x.l
create mode 100644 gas/testsuite/gas/msp430/nop-unknown-intr.s
create mode 100644 gas/testsuite/gas/msp430/preinit-array.d
create mode 100644 gas/testsuite/gas/msp430/preinit-array.s
create mode 100644 gas/testsuite/gas/ppc/bc.s
create mode 100644 gas/testsuite/gas/ppc/bcat.d
create mode 100644 gas/testsuite/gas/ppc/bcaterr.d
create mode 100644 gas/testsuite/gas/ppc/bcaterr.l
create mode 100644 gas/testsuite/gas/ppc/bcy.d
create mode 100644 gas/testsuite/gas/ppc/bcyerr.d
create mode 100644 gas/testsuite/gas/ppc/bcyerr.l
create mode 100644 gas/testsuite/gas/ppc/prefix-align.d
create mode 100644 gas/testsuite/gas/ppc/prefix-align.s
create mode 100644 gas/testsuite/gas/ppc/prefix-pcrel.d
create mode 100644 gas/testsuite/gas/ppc/prefix-pcrel.s
create mode 100644 gas/testsuite/gas/ppc/prefix-reloc.d
create mode 100644 gas/testsuite/gas/ppc/prefix-reloc.s
create mode 100644 gas/testsuite/gas/s12z/dollar-hex.d
create mode 100644 gas/testsuite/gas/s12z/dollar-hex.s
create mode 100644 gas/testsuite/gas/s12z/reg-prefix.d
create mode 100644 gas/testsuite/gas/s12z/reg-prefix.s
create mode 100644 gas/testsuite/gas/s12z/truncated.d
create mode 100644 gas/testsuite/gas/s12z/truncated.s
create mode 100644 gas/testsuite/gas/xtensa/entry_align.d
create mode 100644 gas/testsuite/gas/xtensa/entry_align.l
create mode 100644 gas/testsuite/gas/xtensa/entry_misalign.d
create mode 100644 gas/testsuite/gas/xtensa/entry_misalign2.d
create mode 100644 gas/testsuite/gas/xtensa/j_too_far.d
create mode 100644 gas/testsuite/gas/xtensa/j_too_far.l
create mode 100644 gas/testsuite/gas/xtensa/loop-relax-2.d
create mode 100644 gas/testsuite/gas/xtensa/loop-relax.d
create mode 100644 gas/testsuite/gas/xtensa/loop-relax.s
create mode 100644 gas/testsuite/gas/xtensa/loop_align.d
create mode 100644 gas/testsuite/gas/xtensa/loop_misalign.d
create mode 100644 gas/testsuite/gas/xtensa/text-section-literals-1a.d
create mode 100644 gas/testsuite/gas/xtensa/text-section-literals-2.d
create mode 100644 gas/testsuite/gas/xtensa/text-section-literals-2.s
create mode 100644 gas/testsuite/gas/xtensa/text-section-literals-2a.d
create mode 100644 gas/testsuite/gas/xtensa/text-section-literals-3.d
create mode 100644 gas/testsuite/gas/xtensa/text-section-literals-3.s
create mode 100644 gas/testsuite/gas/xtensa/text-section-literals-4.d
create mode 100644 gas/testsuite/gas/xtensa/text-section-literals-4.s
create mode 100644 gas/testsuite/gas/xtensa/text-section-literals-4a.d
create mode 100644 gas/testsuite/gas/xtensa/trampoline-2.d
delete mode 100644 gas/testsuite/gas/xtensa/trampoline-2.l
create mode 100644 gdb/alloc.c
create mode 100644 gdb/cli/cli-option.c
create mode 100644 gdb/cli/cli-option.h
delete mode 100644 gdb/common/queue.h
create mode 100644 gdb/fortran-operator.def
delete mode 100644 gdb/gnulib/Makefile.in
delete mode 100644 gdb/gnulib/aclocal.m4
delete mode 100644 gdb/gnulib/configure
delete mode 100644 gdb/gnulib/configure.ac
delete mode 100755 gdb/gnulib/update-gnulib.sh
create mode 100644 gdb/maint-test-options.c
create mode 100644 gdb/maint-test-settings.c
create mode 100644 gdb/testsuite/boards/cc-with-debug-names.exp
create mode 100644 gdb/testsuite/boards/cc-with-dwz-m.exp
create mode 100644 gdb/testsuite/boards/cc-with-dwz.exp
create mode 100644 gdb/testsuite/boards/cc-with-gdb-index.exp
create mode 100644 gdb/testsuite/boards/readnow.exp
create mode 100644 gdb/testsuite/gdb.ada/catch_ex_std.exp
create mode 100644 gdb/testsuite/gdb.ada/catch_ex_std/foo.adb
create mode 100644 gdb/testsuite/gdb.ada/catch_ex_std/some_package.adb
create mode 100644 gdb/testsuite/gdb.ada/catch_ex_std/some_package.ads
create mode 100644 gdb/testsuite/gdb.ada/frame_arg_lang.exp
create mode 100644 gdb/testsuite/gdb.ada/frame_arg_lang/bla.adb
create mode 100644 gdb/testsuite/gdb.ada/frame_arg_lang/foo.c
create mode 100644 gdb/testsuite/gdb.ada/frame_arg_lang/pck.adb
create mode 100644 gdb/testsuite/gdb.ada/frame_arg_lang/pck.ads
create mode 100644 gdb/testsuite/gdb.ada/length_cond.exp
create mode 100644 gdb/testsuite/gdb.ada/length_cond/length_cond.adb
create mode 100644 gdb/testsuite/gdb.ada/length_cond/pck.adb
create mode 100644 gdb/testsuite/gdb.ada/length_cond/pck.ads
create mode 100644 gdb/testsuite/gdb.ada/ptype_union.c
create mode 100644 gdb/testsuite/gdb.ada/ptype_union.exp
create mode 100644 gdb/testsuite/gdb.ada/vla.exp
create mode 100644 gdb/testsuite/gdb.ada/vla/vla.adb
create mode 100644 gdb/testsuite/gdb.arch/aarch64-pauth.c
create mode 100644 gdb/testsuite/gdb.arch/aarch64-pauth.exp
create mode 100644 gdb/testsuite/gdb.arch/amd64-eval.cc
create mode 100644 gdb/testsuite/gdb.arch/amd64-eval.exp
create mode 100644 gdb/testsuite/gdb.arch/riscv-unwind-long-insn-6.s
create mode 100644 gdb/testsuite/gdb.arch/riscv-unwind-long-insn-8.s
create mode 100644 gdb/testsuite/gdb.arch/riscv-unwind-long-insn.c
create mode 100644 gdb/testsuite/gdb.arch/riscv-unwind-long-insn.exp
create mode 100644 gdb/testsuite/gdb.base/annotate-symlink.exp
create mode 100644 gdb/testsuite/gdb.base/complex-parts.c
create mode 100644 gdb/testsuite/gdb.base/complex-parts.exp
create mode 100644 gdb/testsuite/gdb.base/coredump-filter-build-id.exp
create mode 100644 gdb/testsuite/gdb.base/max-depth.c
create mode 100644 gdb/testsuite/gdb.base/max-depth.exp
create mode 100644 gdb/testsuite/gdb.base/options.c
create mode 100644 gdb/testsuite/gdb.base/options.exp
create mode 100644 gdb/testsuite/gdb.base/settings.c
create mode 100644 gdb/testsuite/gdb.base/settings.exp
create mode 100644 gdb/testsuite/gdb.base/solib-probes-nosharedlibrary.c
create mode 100644 gdb/testsuite/gdb.base/solib-probes-nosharedlibrary.exp
create mode 100644 gdb/testsuite/gdb.base/start-cpp.cc
create mode 100644 gdb/testsuite/gdb.base/start-cpp.exp
create mode 100644 gdb/testsuite/gdb.base/style-logging.exp
create mode 100644 gdb/testsuite/gdb.base/symfile-warn.c
create mode 100644 gdb/testsuite/gdb.base/symfile-warn.exp
create mode 100644 gdb/testsuite/gdb.cp/constexpr-field.cc
create mode 100644 gdb/testsuite/gdb.cp/constexpr-field.exp
create mode 100644 gdb/testsuite/gdb.cp/many-args.cc
create mode 100644 gdb/testsuite/gdb.cp/many-args.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-ranges-main.c
create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-ranges-psym.c
create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-ranges-psym.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/gdb-add-index.exp
create mode 100644 gdb/testsuite/gdb.fortran/block-data.exp
create mode 100644 gdb/testsuite/gdb.fortran/block-data.f
delete mode 100644 gdb/testsuite/gdb.fortran/complex.f
create mode 100644 gdb/testsuite/gdb.fortran/complex.f90
create mode 100644 gdb/testsuite/gdb.fortran/max-depth.exp
create mode 100644 gdb/testsuite/gdb.fortran/max-depth.f90
create mode 100644 gdb/testsuite/gdb.fortran/pointers.f90
create mode 100755 gdb/testsuite/gdb.fortran/print_type.exp
create mode 100644 gdb/testsuite/gdb.fortran/ptype-on-functions.exp
create mode 100644 gdb/testsuite/gdb.fortran/ptype-on-functions.f90
create mode 100644 gdb/testsuite/gdb.go/max-depth.exp
create mode 100644 gdb/testsuite/gdb.go/max-depth.go
create mode 100644 gdb/testsuite/gdb.mi/mi-catch-cpp-exceptions.cc
create mode 100644 gdb/testsuite/gdb.mi/mi-catch-cpp-exceptions.exp
create mode 100644 gdb/testsuite/gdb.mi/mi-complete.cc
create mode 100644 gdb/testsuite/gdb.mi/mi-complete.exp
create mode 100644 gdb/testsuite/gdb.modula2/max-depth.c
create mode 100644 gdb/testsuite/gdb.modula2/max-depth.exp
create mode 100644 gdb/testsuite/gdb.python/py-nested-maps.c
create mode 100644 gdb/testsuite/gdb.python/py-nested-maps.exp
create mode 100644 gdb/testsuite/gdb.python/py-nested-maps.py
create mode 100644 gdb/testsuite/gdb.server/sysroot.c
create mode 100644 gdb/testsuite/gdb.server/sysroot.exp
create mode 100644 gdb/testsuite/gdb.threads/vfork-follow-child-exec.c
create mode 100644 gdb/testsuite/gdb.threads/vfork-follow-child-exec.exp
create mode 100644 gdb/testsuite/gdb.threads/vfork-follow-child-exit.c
create mode 100644 gdb/testsuite/gdb.threads/vfork-follow-child-exit.exp
create mode 100644 gdb/type-stack.c
create mode 100644 gdb/type-stack.h
create mode 100644 gnulib/ChangeLog
create mode 100644 gnulib/Makefile.in
create mode 100644 gnulib/README
rename {gdb/gnulib => gnulib}/aclocal-m4-deps.mk (100%)
create mode 100644 gnulib/aclocal.m4
rename {gdb/gnulib => gnulib}/config.in (100%)
create mode 100644 gnulib/configure
create mode 100644 gnulib/configure.ac
rename {gdb/gnulib => gnulib}/import/Makefile.am (100%)
rename {gdb/gnulib => gnulib}/import/Makefile.in (100%)
rename {gdb/gnulib => gnulib}/import/alloca.c (100%)
rename {gdb/gnulib => gnulib}/import/alloca.in.h (100%)
rename {gdb/gnulib => gnulib}/import/arpa_inet.in.h (100%)
rename {gdb/gnulib => gnulib}/import/assure.h (100%)
rename {gdb/gnulib => gnulib}/import/at-func.c (100%)
rename {gdb/gnulib => gnulib}/import/basename-lgpl.c (100%)
rename {gdb/gnulib => gnulib}/import/canonicalize-lgpl.c (100%)
rename {gdb/gnulib => gnulib}/import/chdir-long.c (100%)
rename {gdb/gnulib => gnulib}/import/chdir-long.h (100%)
rename {gdb/gnulib => gnulib}/import/cloexec.c (100%)
rename {gdb/gnulib => gnulib}/import/cloexec.h (100%)
rename {gdb/gnulib => gnulib}/import/close.c (100%)
rename {gdb/gnulib => gnulib}/import/closedir.c (100%)
rename {gdb/gnulib => gnulib}/import/config.charset (100%)
rename {gdb/gnulib => gnulib}/import/dirent-private.h (100%)
rename {gdb/gnulib => gnulib}/import/dirent.in.h (100%)
rename {gdb/gnulib => gnulib}/import/dirfd.c (100%)
rename {gdb/gnulib => gnulib}/import/dirname-lgpl.c (100%)
rename {gdb/gnulib => gnulib}/import/dirname.h (100%)
rename {gdb/gnulib => gnulib}/import/dosname.h (100%)
rename {gdb/gnulib => gnulib}/import/dup-safer.c (100%)
rename {gdb/gnulib => gnulib}/import/dup.c (100%)
rename {gdb/gnulib => gnulib}/import/dup2.c (100%)
rename {gdb/gnulib => gnulib}/import/errno.in.h (100%)
rename {gdb/gnulib => gnulib}/import/error.c (100%)
rename {gdb/gnulib => gnulib}/import/error.h (100%)
rename {gdb/gnulib => gnulib}/import/exitfail.c (100%)
rename {gdb/gnulib => gnulib}/import/exitfail.h (100%)
rename {gdb/gnulib => gnulib}/import/extra/snippet/_Noreturn.h (100%)
rename {gdb/gnulib => gnulib}/import/extra/snippet/arg-nonnull.h (100%)
rename {gdb/gnulib => gnulib}/import/extra/snippet/c++defs.h (100%)
rename {gdb/gnulib => gnulib}/import/extra/snippet/warn-on-use.h (100%)
rename {gdb/gnulib => gnulib}/import/extra/update-copyright (100%)
rename {gdb/gnulib => gnulib}/import/fchdir.c (100%)
rename {gdb/gnulib => gnulib}/import/fcntl.c (100%)
rename {gdb/gnulib => gnulib}/import/fcntl.in.h (100%)
rename {gdb/gnulib => gnulib}/import/fd-hook.c (100%)
rename {gdb/gnulib => gnulib}/import/fd-hook.h (100%)
rename {gdb/gnulib => gnulib}/import/fd-safer.c (100%)
rename {gdb/gnulib => gnulib}/import/fdopendir.c (100%)
rename {gdb/gnulib => gnulib}/import/filename.h (100%)
rename {gdb/gnulib => gnulib}/import/filenamecat-lgpl.c (100%)
rename {gdb/gnulib => gnulib}/import/filenamecat.h (100%)
rename {gdb/gnulib => gnulib}/import/flexmember.h (100%)
rename {gdb/gnulib => gnulib}/import/float+.h (100%)
rename {gdb/gnulib => gnulib}/import/float.c (100%)
rename {gdb/gnulib => gnulib}/import/float.in.h (100%)
rename {gdb/gnulib => gnulib}/import/fnmatch.c (100%)
rename {gdb/gnulib => gnulib}/import/fnmatch.in.h (100%)
rename {gdb/gnulib => gnulib}/import/fnmatch_loop.c (100%)
rename {gdb/gnulib => gnulib}/import/fpucw.h (100%)
rename {gdb/gnulib => gnulib}/import/frexp.c (100%)
rename {gdb/gnulib => gnulib}/import/frexpl.c (100%)
rename {gdb/gnulib => gnulib}/import/fstat.c (100%)
rename {gdb/gnulib => gnulib}/import/fstatat.c (100%)
rename {gdb/gnulib => gnulib}/import/getcwd-lgpl.c (100%)
rename {gdb/gnulib => gnulib}/import/getcwd.c (100%)
rename {gdb/gnulib => gnulib}/import/getdtablesize.c (100%)
rename {gdb/gnulib => gnulib}/import/getlogin_r.c (100%)
rename {gdb/gnulib => gnulib}/import/getprogname.c (100%)
rename {gdb/gnulib => gnulib}/import/getprogname.h (100%)
rename {gdb/gnulib => gnulib}/import/gettext.h (100%)
rename {gdb/gnulib => gnulib}/import/gettimeofday.c (100%)
rename {gdb/gnulib => gnulib}/import/glob-libc.h (100%)
rename {gdb/gnulib => gnulib}/import/glob.c (100%)
rename {gdb/gnulib => gnulib}/import/glob.in.h (100%)
rename {gdb/gnulib => gnulib}/import/hard-locale.c (100%)
rename {gdb/gnulib => gnulib}/import/hard-locale.h (100%)
rename {gdb/gnulib => gnulib}/import/inet_ntop.c (100%)
rename {gdb/gnulib => gnulib}/import/intprops.h (100%)
rename {gdb/gnulib => gnulib}/import/inttypes.in.h (100%)
rename {gdb/gnulib => gnulib}/import/isnan.c (100%)
rename {gdb/gnulib => gnulib}/import/isnand-nolibm.h (100%)
rename {gdb/gnulib => gnulib}/import/isnand.c (100%)
rename {gdb/gnulib => gnulib}/import/isnanl-nolibm.h (100%)
rename {gdb/gnulib => gnulib}/import/isnanl.c (100%)
rename {gdb/gnulib => gnulib}/import/itold.c (100%)
rename {gdb/gnulib => gnulib}/import/limits.in.h (100%)
rename {gdb/gnulib => gnulib}/import/localcharset.c (100%)
rename {gdb/gnulib => gnulib}/import/localcharset.h (100%)
rename {gdb/gnulib => gnulib}/import/lstat.c (100%)
rename {gdb/gnulib => gnulib}/import/m4/00gnulib.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/absolute-header.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/alloca.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/arpa_inet_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/canonicalize.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/chdir-long.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/close.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/closedir.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/codeset.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/configmake.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/d-ino.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/d-type.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/dirent_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/dirfd.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/dirname.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/double-slash-root.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/dup.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/dup2.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/eealloc.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/environ.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/errno_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/error.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/exponentd.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/exponentl.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/extensions.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/extern-inline.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/fchdir.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/fcntl-o.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/fcntl.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/fcntl_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/fdopendir.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/filenamecat.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/flexmember.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/float_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/fnmatch.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/fpieee.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/frexp.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/frexpl.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/fstat.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/fstatat.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/getcwd-abort-bug.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/getcwd-path-max.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/getcwd.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/getdtablesize.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/getlogin_r.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/getprogname.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/gettimeofday.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/glibc21.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/glob.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/gnulib-cache.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/gnulib-common.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/gnulib-comp.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/gnulib-tool.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/hard-locale.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/include_next.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/inet_ntop.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/inttypes-pri.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/inttypes.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/isnand.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/isnanl.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/largefile.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/limits-h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/localcharset.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/locale-fr.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/locale-ja.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/locale-zh.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/longlong.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/lstat.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/malloc.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/malloca.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/math_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/mbrtowc.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/mbsinit.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/mbsrtowcs.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/mbstate_t.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/memchr.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/memmem.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/mempcpy.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/memrchr.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/mkdir.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/mkdtemp.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/mkostemp.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/mmap-anon.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/mode_t.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/msvc-inval.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/msvc-nothrow.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/multiarch.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/netinet_in_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/nocrash.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/off_t.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/onceonly.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/open.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/openat.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/opendir.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/pathmax.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/rawmemchr.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/readdir.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/readlink.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/realloc.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/rename.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/rewinddir.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/rmdir.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/save-cwd.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/secure_getenv.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/setenv.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/signal_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/socklen.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/sockpfaf.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/ssize_t.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/stat.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/stdalign.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/stdbool.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/stddef_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/stdint.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/stdio_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/stdlib_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/strchrnul.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/strdup.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/strerror.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/string_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/strstr.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/strtok_r.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/sys_socket_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/sys_stat_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/sys_time_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/sys_types_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/sys_uio_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/tempname.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/time_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/unistd-safer.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/unistd_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/warn-on-use.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/wchar_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/wchar_t.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/wctype_h.m4 (100%)
rename {gdb/gnulib => gnulib}/import/m4/wint_t.m4 (100%)
rename {gdb/gnulib => gnulib}/import/malloc.c (100%)
rename {gdb/gnulib => gnulib}/import/malloca.c (100%)
rename {gdb/gnulib => gnulib}/import/malloca.h (100%)
rename {gdb/gnulib => gnulib}/import/malloca.valgrind (100%)
rename {gdb/gnulib => gnulib}/import/math.c (100%)
rename {gdb/gnulib => gnulib}/import/math.in.h (100%)
rename {gdb/gnulib => gnulib}/import/mbrtowc.c (100%)
rename {gdb/gnulib => gnulib}/import/mbsinit.c (100%)
rename {gdb/gnulib => gnulib}/import/mbsrtowcs-impl.h (100%)
rename {gdb/gnulib => gnulib}/import/mbsrtowcs-state.c (100%)
rename {gdb/gnulib => gnulib}/import/mbsrtowcs.c (100%)
rename {gdb/gnulib => gnulib}/import/memchr.c (100%)
rename {gdb/gnulib => gnulib}/import/memchr.valgrind (100%)
rename {gdb/gnulib => gnulib}/import/memmem.c (100%)
rename {gdb/gnulib => gnulib}/import/mempcpy.c (100%)
rename {gdb/gnulib => gnulib}/import/memrchr.c (100%)
rename {gdb/gnulib => gnulib}/import/mkdir.c (100%)
rename {gdb/gnulib => gnulib}/import/mkdtemp.c (100%)
rename {gdb/gnulib => gnulib}/import/mkostemp.c (100%)
rename {gdb/gnulib => gnulib}/import/msvc-inval.c (100%)
rename {gdb/gnulib => gnulib}/import/msvc-inval.h (100%)
rename {gdb/gnulib => gnulib}/import/msvc-nothrow.c (100%)
rename {gdb/gnulib => gnulib}/import/msvc-nothrow.h (100%)
rename {gdb/gnulib => gnulib}/import/netinet_in.in.h (100%)
rename {gdb/gnulib => gnulib}/import/open.c (100%)
rename {gdb/gnulib => gnulib}/import/openat-die.c (100%)
rename {gdb/gnulib => gnulib}/import/openat-priv.h (100%)
rename {gdb/gnulib => gnulib}/import/openat-proc.c (100%)
rename {gdb/gnulib => gnulib}/import/openat.c (100%)
rename {gdb/gnulib => gnulib}/import/openat.h (100%)
rename {gdb/gnulib => gnulib}/import/opendir.c (100%)
rename {gdb/gnulib => gnulib}/import/pathmax.h (100%)
rename {gdb/gnulib => gnulib}/import/pipe-safer.c (100%)
rename {gdb/gnulib => gnulib}/import/rawmemchr.c (100%)
rename {gdb/gnulib => gnulib}/import/rawmemchr.valgrind (100%)
rename {gdb/gnulib => gnulib}/import/readdir.c (100%)
rename {gdb/gnulib => gnulib}/import/readlink.c (100%)
rename {gdb/gnulib => gnulib}/import/realloc.c (100%)
rename {gdb/gnulib => gnulib}/import/ref-add.sin (100%)
rename {gdb/gnulib => gnulib}/import/ref-del.sin (100%)
rename {gdb/gnulib => gnulib}/import/rename.c (100%)
rename {gdb/gnulib => gnulib}/import/rewinddir.c (100%)
rename {gdb/gnulib => gnulib}/import/rmdir.c (100%)
rename {gdb/gnulib => gnulib}/import/same-inode.h (100%)
rename {gdb/gnulib => gnulib}/import/save-cwd.c (100%)
rename {gdb/gnulib => gnulib}/import/save-cwd.h (100%)
rename {gdb/gnulib => gnulib}/import/secure_getenv.c (100%)
rename {gdb/gnulib => gnulib}/import/setenv.c (100%)
rename {gdb/gnulib => gnulib}/import/signal.in.h (100%)
rename {gdb/gnulib => gnulib}/import/stat.c (100%)
rename {gdb/gnulib => gnulib}/import/stdalign.in.h (100%)
rename {gdb/gnulib => gnulib}/import/stdbool.in.h (100%)
rename {gdb/gnulib => gnulib}/import/stddef.in.h (100%)
rename {gdb/gnulib => gnulib}/import/stdint.in.h (100%)
rename {gdb/gnulib => gnulib}/import/stdio.in.h (100%)
rename {gdb/gnulib => gnulib}/import/stdlib.in.h (100%)
rename {gdb/gnulib => gnulib}/import/str-two-way.h (100%)
rename {gdb/gnulib => gnulib}/import/strchrnul.c (100%)
rename {gdb/gnulib => gnulib}/import/strchrnul.valgrind (100%)
rename {gdb/gnulib => gnulib}/import/strdup.c (100%)
rename {gdb/gnulib => gnulib}/import/streq.h (100%)
rename {gdb/gnulib => gnulib}/import/strerror-override.c (100%)
rename {gdb/gnulib => gnulib}/import/strerror-override.h (100%)
rename {gdb/gnulib => gnulib}/import/strerror.c (100%)
rename {gdb/gnulib => gnulib}/import/string.in.h (100%)
rename {gdb/gnulib => gnulib}/import/stripslash.c (100%)
rename {gdb/gnulib => gnulib}/import/strnlen1.c (100%)
rename {gdb/gnulib => gnulib}/import/strnlen1.h (100%)
rename {gdb/gnulib => gnulib}/import/strstr.c (100%)
rename {gdb/gnulib => gnulib}/import/strtok_r.c (100%)
rename {gdb/gnulib => gnulib}/import/sys_socket.c (100%)
rename {gdb/gnulib => gnulib}/import/sys_socket.in.h (100%)
rename {gdb/gnulib => gnulib}/import/sys_stat.in.h (100%)
rename {gdb/gnulib => gnulib}/import/sys_time.in.h (100%)
rename {gdb/gnulib => gnulib}/import/sys_types.in.h (100%)
rename {gdb/gnulib => gnulib}/import/sys_uio.in.h (100%)
rename {gdb/gnulib => gnulib}/import/tempname.c (100%)
rename {gdb/gnulib => gnulib}/import/tempname.h (100%)
rename {gdb/gnulib => gnulib}/import/time.in.h (100%)
rename {gdb/gnulib => gnulib}/import/unistd--.h (100%)
rename {gdb/gnulib => gnulib}/import/unistd-safer.h (100%)
rename {gdb/gnulib => gnulib}/import/unistd.c (100%)
rename {gdb/gnulib => gnulib}/import/unistd.in.h (100%)
rename {gdb/gnulib => gnulib}/import/unsetenv.c (100%)
rename {gdb/gnulib => gnulib}/import/verify.h (100%)
rename {gdb/gnulib => gnulib}/import/wchar.in.h (100%)
rename {gdb/gnulib => gnulib}/import/wctype-h.c (100%)
rename {gdb/gnulib => gnulib}/import/wctype.in.h (100%)
rename {gdb/gnulib => gnulib}/patches/0001-Fix-PR-gdb-23558-Use-system-s-getcwd-when-cross-comp.patch (100%)
rename {gdb/gnulib => gnulib}/patches/0002-mkostemp-mkostemps-Fix-compilation-error-in-C-mode-o.patch (100%)
create mode 100755 gnulib/update-gnulib.sh
create mode 100644 gold/testsuite/icf_test_pr21066.cc
create mode 100755 gold/testsuite/icf_test_pr21066.sh
create mode 100644 include/ctf-api.h
create mode 100644 include/ctf.h
create mode 100644 include/elf/bpf.h
create mode 100644 ld/emulparams/elf64bpf.sh
delete mode 100644 ld/emulparams/elf_i386_chaos.sh
create mode 100644 ld/emultempl/elf-x86.em
create mode 100644 ld/emultempl/solaris2-x86.em
create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-22.d
create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-22.s
create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-23.d
create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-23.s
create mode 100644 ld/testsuite/ld-aarch64/erratum843419-adr.d
create mode 100644 ld/testsuite/ld-aarch64/erratum843419-adrp.d
create mode 100644 ld/testsuite/ld-aarch64/erratum843419-far-adr.d
create mode 100644 ld/testsuite/ld-aarch64/erratum843419-far-full.d
create mode 100644 ld/testsuite/ld-aarch64/erratum843419-far.s
create mode 100644 ld/testsuite/ld-aarch64/erratum843419-full.d
create mode 100644 ld/testsuite/ld-aarch64/erratum843419-near.s
create mode 100644 ld/testsuite/ld-aarch64/erratum843419-no-args.d
create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac4-a.d
create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac4-b.d
create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac4.s
create mode 100644 ld/testsuite/ld-aarch64/tls-relax-gdesc-le-now.d
create mode 100644 ld/testsuite/ld-aarch64/variant_pcs-1.s
create mode 100644 ld/testsuite/ld-aarch64/variant_pcs-2.s
create mode 100644 ld/testsuite/ld-aarch64/variant_pcs-now.d
create mode 100644 ld/testsuite/ld-aarch64/variant_pcs-r.d
create mode 100644 ld/testsuite/ld-aarch64/variant_pcs-shared.d
create mode 100644 ld/testsuite/ld-aarch64/variant_pcs.ld
create mode 100644 ld/testsuite/ld-arm/attr-merge-13.attr
create mode 100644 ld/testsuite/ld-arm/attr-merge-13a.s
create mode 100644 ld/testsuite/ld-arm/attr-merge-13b.s
create mode 100644 ld/testsuite/ld-arm/bf.d
create mode 100644 ld/testsuite/ld-arm/bf.s
create mode 100644 ld/testsuite/ld-arm/bfcsel.d
create mode 100644 ld/testsuite/ld-arm/bfcsel.s
create mode 100644 ld/testsuite/ld-arm/bfl.d
create mode 100644 ld/testsuite/ld-arm/bfl.s
create mode 100644 ld/testsuite/ld-arm/bfs-0.s
create mode 100644 ld/testsuite/ld-arm/bfs-1.s
create mode 100644 ld/testsuite/ld-arm/branch-futures.d
create mode 100644 ld/testsuite/ld-avr/relax-insn-at-range-boundary.d
create mode 100644 ld/testsuite/ld-avr/relax-insn-at-range-boundary.s
create mode 100644 ld/testsuite/ld-avr/wraparound-range-boundary.d
create mode 100644 ld/testsuite/ld-avr/wraparound-range-boundary.s
create mode 100644 ld/testsuite/ld-bpf/bar.s
create mode 100644 ld/testsuite/ld-bpf/baz.s
create mode 100644 ld/testsuite/ld-bpf/bpf.exp
create mode 100644 ld/testsuite/ld-bpf/call-1.d
create mode 100644 ld/testsuite/ld-bpf/foo.s
create mode 100644 ld/testsuite/ld-bpf/jump-1.d
create mode 100644 ld/testsuite/ld-elf/pr24511.d
create mode 100644 ld/testsuite/ld-gc/skip-map-discarded.d
create mode 100644 ld/testsuite/ld-gc/skip-map-discarded.map
create mode 100644 ld/testsuite/ld-gc/skip-map-discarded.s
delete mode 100644 ld/testsuite/ld-i386/pr18801.d
create mode 100644 ld/testsuite/ld-i386/pr18801a.d
create mode 100644 ld/testsuite/ld-i386/pr18801b.d
create mode 100644 ld/testsuite/ld-i386/property-x86-cet1.d
create mode 100644 ld/testsuite/ld-i386/property-x86-cet2a.d
create mode 100644 ld/testsuite/ld-i386/property-x86-cet2b.d
create mode 100644 ld/testsuite/ld-i386/property-x86-cet3a.d
create mode 100644 ld/testsuite/ld-i386/property-x86-cet3b.d
create mode 100644 ld/testsuite/ld-i386/property-x86-cet4a.d
create mode 100644 ld/testsuite/ld-i386/property-x86-cet4b.d
create mode 100644 ld/testsuite/ld-i386/property-x86-cet5a.d
create mode 100644 ld/testsuite/ld-i386/property-x86-cet5b.d
create mode 100644 ld/testsuite/ld-i386/property-x86-cet6.d
create mode 100644 ld/testsuite/ld-mips-elf/pic-and-nonpic-1-r6.dd
create mode 100644 ld/testsuite/ld-mips-elf/pic-and-nonpic-1-r6.nd
create mode 100644 ld/testsuite/ld-mips-elf/pic-and-nonpic-1-r6.s
create mode 100644 ld/testsuite/ld-mips-elf/pic-and-nonpic-1a-r6.s
create mode 100644 ld/testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.dd
create mode 100644 ld/testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.gd
create mode 100644 ld/testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.s
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-5.d
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-5.s
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-6.d
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-6.s
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-7.d
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-7.s
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-tls.ld
create mode 100644 ld/testsuite/ld-mips-elf/reloc-pcrel-r6.d
create mode 100644 ld/testsuite/ld-mips-elf/reloc-pcrel-r6.ld
create mode 100644 ld/testsuite/ld-mips-elf/reloc-pcrel-r6.s
create mode 100644 ld/testsuite/ld-msp430-elf/valid-map-foo.s
create mode 100644 ld/testsuite/ld-msp430-elf/valid-map.d
create mode 100644 ld/testsuite/ld-msp430-elf/valid-map.map
create mode 100644 ld/testsuite/ld-msp430-elf/valid-map.s
create mode 100644 ld/testsuite/ld-msp430-elf/warn-no-lower-code.r
create mode 100644 ld/testsuite/ld-msp430-elf/warn-no-lower-data.r
create mode 100644 ld/testsuite/ld-msp430-elf/warn-no-lower.r
create mode 100644 ld/testsuite/ld-msp430-elf/warn-no-lower.s
create mode 100644 ld/testsuite/ld-plugin/pr24406-1.c
create mode 100644 ld/testsuite/ld-plugin/pr24406-2a.c
create mode 100644 ld/testsuite/ld-plugin/pr24406-2b.c
create mode 100644 ld/testsuite/ld-plugin/pr24486a.c
create mode 100644 ld/testsuite/ld-plugin/pr24486b.c
create mode 100644 ld/testsuite/ld-plugin/pr24486c.c
create mode 100644 ld/testsuite/ld-powerpc/notoc2.d
create mode 100644 ld/testsuite/ld-powerpc/notoc2.s
create mode 100644 ld/testsuite/ld-powerpc/pcrelopt.d
create mode 100644 ld/testsuite/ld-powerpc/pcrelopt.s
create mode 100644 ld/testsuite/ld-powerpc/pcrelopt.sec
delete mode 100644 ld/testsuite/ld-x86-64/pr18801.d
create mode 100644 ld/testsuite/ld-x86-64/pr18801a.d
create mode 100644 ld/testsuite/ld-x86-64/pr18801b.d
create mode 100644 ld/testsuite/ld-x86-64/pr24458.s
create mode 100644 ld/testsuite/ld-x86-64/pr24458a-x32.d
create mode 100644 ld/testsuite/ld-x86-64/pr24458a.d
create mode 100644 ld/testsuite/ld-x86-64/pr24458b-x32.d
create mode 100644 ld/testsuite/ld-x86-64/pr24458b.d
create mode 100644 ld/testsuite/ld-x86-64/pr24458c-x32.d
create mode 100644 ld/testsuite/ld-x86-64/pr24458c.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet.s
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet1-x32.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet1.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet2a-x32.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet2a.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet2b-x32.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet2b.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet3a-x32.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet3a.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet3b-x32.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet3b.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet4a-x32.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet4a.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet4b-x32.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet4b.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet5a-x32.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet5a.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet5b-x32.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet5b.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet6-x32.d
create mode 100644 ld/testsuite/ld-x86-64/property-x86-cet6.d
create mode 100644 libctf/ChangeLog
create mode 100644 libctf/Makefile.am
create mode 100644 libctf/Makefile.in
create mode 100644 libctf/aclocal.m4
create mode 100644 libctf/config.h.in
create mode 100755 libctf/configure
create mode 100644 libctf/configure.ac
create mode 100644 libctf/ctf-archive.c
create mode 100644 libctf/ctf-create.c
create mode 100644 libctf/ctf-decl.c
create mode 100644 libctf/ctf-decls.h
create mode 100644 libctf/ctf-dump.c
create mode 100644 libctf/ctf-endian.h
create mode 100644 libctf/ctf-error.c
create mode 100644 libctf/ctf-hash.c
create mode 100644 libctf/ctf-impl.h
create mode 100644 libctf/ctf-labels.c
create mode 100644 libctf/ctf-lookup.c
create mode 100644 libctf/ctf-open-bfd.c
create mode 100644 libctf/ctf-open.c
create mode 100644 libctf/ctf-qsort_r.c
create mode 100644 libctf/ctf-subr.c
create mode 100644 libctf/ctf-types.c
create mode 100644 libctf/ctf-util.c
create mode 100644 libctf/elf.h
create mode 100644 libctf/swap.h
create mode 100644 opcodes/bpf-asm.c
create mode 100644 opcodes/bpf-desc.c
create mode 100644 opcodes/bpf-desc.h
create mode 100644 opcodes/bpf-dis.c
create mode 100644 opcodes/bpf-ibld.c
create mode 100644 opcodes/bpf-opc.c
create mode 100644 opcodes/bpf-opc.h
create mode 100644 sim/testsuite/sim/or1k/adrp.S
create mode 100644 sim/testsuite/sim/or1k/fpu-unordered.S
create mode 100644 sim/testsuite/sim/or1k/fpu64a32-unordered.S
create mode 100644 sim/testsuite/sim/or1k/fpu64a32.S
First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index cd631a1..c2d0274 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,74 @@
+2019-06-14 Tom Tromey <tom@tromey.com>
+
+ * MAINTAINERS: Add gnulib.
+ * gnulib: New directory, move from gdb/gnulib.
+ * configure.ac (host_libs): Add gnulib.
+ * configure: Rebuild.
+ * Makefile.def (host_modules, dependencies): Add gnulib.
+ * Makefile.in: Rebuild.
+
+2019-06-03 Nick Clifton <nickc@redhat.com>
+
+ Revert:
+ 2019-05-29 Nick Clifton <nickc@redhat.com>
+
+ * configure.ac (noconfigdirs): Add libctf if the target does not use
+ the ELF file format.
+ * configure: Regenerate.
+
+2019-05-29 Nick Clifton <nickc@redhat.com>
+
+ * src-release.sh (do_proto_toplev): Add libctf to list of
+ directories that can be disabled.
+
+2019-05-29 Nick Clifton <nickc@redhat.com>
+
+ * configure.ac (noconfigdirs): Add libctf if the target does not use
+ the ELF file format.
+ * configure: Regenerate.
+
+2019-05-28 Nick Alcock <nick.alcock@oracle.com>
+
+ * Makefile.def (dependencies): configure-libctf depends on all-bfd
+ and all its deps.
+ * Makefile.in: Regenerated.
+
+2019-05-28 Nick Alcock <nick.alcock@oracle.com>
+
+ * MAINTAINERS: Add libctf.
+
+2019-05-28 Nick Alcock <nick.alcock@oracle.com>
+
+ * Makefile.def (host_modules): Add libctf.
+ * Makefile.def (dependencies): Likewise.
+ libctf depends on zlib, libiberty, and bfd.
+ * Makefile.in: Regenerated.
+ * configure.ac (host_libs): Add libctf.
+ * configure: Regenerated.
+
+2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * config.guess: Synchronize with config project master sources.
+ * config.sub: Likewise.
+ * readline/support/config.guess: Likewise.
+ * readline/support/config.sub: Likewise.
+
+2019-04-10 Nick Clifton <nickc@redhat.com>
+
+ * libiberty: Sync with gcc. Bring in:
+ 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.
+
2018-06-24 Nick Clifton <nickc@redhat.com>
2.32 branch created.
diff --git a/MAINTAINERS b/MAINTAINERS
index b09fbc0..4e04918 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14,7 +14,7 @@ Makefile.*; configure; configure.ac; src-release
gdb-patches@sourceware.org
bfd/; binutils/; elfcpp/; gas/; gold/; gprof/; ld/; opcodes/; cpu/;
-BFD's part of include/
+libctf/; BFD's and libctf's parts of include/
binutils: http://sourceware.org/binutils/
Patches to binutils@sourceware.org.
@@ -41,7 +41,7 @@ config.guess; config.sub; readline/support/config.{sub,guess}
depcomp; mkinstalldirs
Send bug reports and patches to bug-automake@gnu.org.
-gdb/; readline/; sim/; GDB's part of include/
+gdb/; gnulib/; readline/; sim/; GDB's part of include/
GDB: http://www.gnu.org/software/gdb/
Patches to gdb-patches@sourceware.org.
See also gdb/MAINTAINERS and sim/MAINTAINERS.
diff --git a/Makefile.def b/Makefile.def
index 75063b6..28bf61d 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -112,6 +112,7 @@ host_modules= { module= texinfo; no_install= true; };
host_modules= { module= zlib; no_install=true; no_check=true;
bootstrap=true;
extra_configure_flags='@extra_host_zlib_configure_flags@';};
+host_modules= { module= gnulib; };
host_modules= { module= gdb; };
host_modules= { module= expect; };
host_modules= { module= guile; };
@@ -128,6 +129,8 @@ host_modules= { module= lto-plugin; bootstrap=true;
extra_make_flags='@extra_linker_plugin_flags@'; };
host_modules= { module= libcc1; extra_configure_flags=--enable-shared; };
host_modules= { module= gotools; };
+host_modules= { module= libctf; no_install=true; no_check=true;
+ bootstrap=true; };
target_modules = { module= libstdc++-v3;
bootstrap=true;
@@ -388,11 +391,13 @@ dependencies = { module=all-intl; on=all-libiconv; };
dependencies = { module=configure-gdb; on=all-intl; };
dependencies = { module=configure-gdb; on=configure-sim; };
dependencies = { module=configure-gdb; on=all-bfd; };
+dependencies = { module=configure-gdb; on=all-gnulib; };
// Depend on all-libiconv so that configure checks for iconv
// functions will work.
dependencies = { module=configure-gdb; on=all-libiconv; };
dependencies = { module=all-gdb; on=all-libiberty; };
dependencies = { module=all-gdb; on=all-libiconv; };
+dependencies = { module=all-gdb; on=all-gnulib; };
dependencies = { module=all-gdb; on=all-opcodes; };
dependencies = { module=all-gdb; on=all-readline; };
dependencies = { module=all-gdb; on=all-build-bison; };
@@ -426,6 +431,7 @@ dependencies = { module=all-binutils; on=all-build-flex; };
dependencies = { module=all-binutils; on=all-build-bison; };
dependencies = { module=all-binutils; on=all-intl; };
dependencies = { module=all-binutils; on=all-gas; };
+dependencies = { module=all-binutils; on=all-libctf; };
// We put install-opcodes before install-binutils because the installed
// binutils might be on PATH, and they might need the shared opcodes
@@ -516,6 +522,14 @@ dependencies = { module=all-sim; on=configure-gdb; };
dependencies = { module=all-fastjar; on=all-zlib; };
dependencies = { module=all-fastjar; on=all-build-texinfo; };
dependencies = { module=all-fastjar; on=all-libiberty; };
+dependencies = { module=all-libctf; on=all-libiberty; hard=true; };
+dependencies = { module=all-libctf; on=all-bfd; };
+dependencies = { module=all-libctf; on=all-zlib; };
+// So that checking for ELF support in BFD from libctf configure is possible.
+dependencies = { module=configure-libctf; on=all-bfd; };
+dependencies = { module=configure-libctf; on=all-intl; };
+dependencies = { module=configure-libctf; on=all-zlib; };
+dependencies = { module=configure-libctf; on=all-libiconv; };
// Warning, these are not well tested.
dependencies = { module=all-bison; on=all-intl; };
diff --git a/Makefile.in b/Makefile.in
index 7814fe7..7a6700a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -942,6 +942,7 @@ configure-host: \
maybe-configure-sim \
maybe-configure-texinfo \
maybe-configure-zlib \
+ maybe-configure-gnulib \
maybe-configure-gdb \
maybe-configure-expect \
maybe-configure-guile \
@@ -951,7 +952,8 @@ configure-host: \
maybe-configure-gnattools \
maybe-configure-lto-plugin \
maybe-configure-libcc1 \
- maybe-configure-gotools
+ maybe-configure-gotools \
+ maybe-configure-libctf
.PHONY: configure-target
configure-target: \
maybe-configure-target-libstdc++-v3 \
@@ -1094,6 +1096,7 @@ all-host: maybe-all-texinfo
@if zlib-no-bootstrap
all-host: maybe-all-zlib
@endif zlib-no-bootstrap
+all-host: maybe-all-gnulib
all-host: maybe-all-gdb
all-host: maybe-all-expect
all-host: maybe-all-guile
@@ -1106,6 +1109,9 @@ all-host: maybe-all-lto-plugin
@endif lto-plugin-no-bootstrap
all-host: maybe-all-libcc1
all-host: maybe-all-gotools
+@if libctf-no-bootstrap
+all-host: maybe-all-libctf
+@endif libctf-no-bootstrap
.PHONY: all-target
@@ -1198,6 +1204,7 @@ info-host: maybe-info-sid
info-host: maybe-info-sim
info-host: maybe-info-texinfo
info-host: maybe-info-zlib
+info-host: maybe-info-gnulib
info-host: maybe-info-gdb
info-host: maybe-info-expect
info-host: maybe-info-guile
@@ -1208,6 +1215,7 @@ info-host: maybe-info-gnattools
info-host: maybe-info-lto-plugin
info-host: maybe-info-libcc1
info-host: maybe-info-gotools
+info-host: maybe-info-libctf
.PHONY: info-target
@@ -1283,6 +1291,7 @@ dvi-host: maybe-dvi-sid
dvi-host: maybe-dvi-sim
dvi-host: maybe-dvi-texinfo
dvi-host: maybe-dvi-zlib
+dvi-host: maybe-dvi-gnulib
dvi-host: maybe-dvi-gdb
dvi-host: maybe-dvi-expect
dvi-host: maybe-dvi-guile
@@ -1293,6 +1302,7 @@ dvi-host: maybe-dvi-gnattools
dvi-host: maybe-dvi-lto-plugin
dvi-host: maybe-dvi-libcc1
dvi-host: maybe-dvi-gotools
+dvi-host: maybe-dvi-libctf
.PHONY: dvi-target
@@ -1368,6 +1378,7 @@ pdf-host: maybe-pdf-sid
pdf-host: maybe-pdf-sim
pdf-host: maybe-pdf-texinfo
pdf-host: maybe-pdf-zlib
+pdf-host: maybe-pdf-gnulib
pdf-host: maybe-pdf-gdb
pdf-host: maybe-pdf-expect
pdf-host: maybe-pdf-guile
@@ -1378,6 +1389,7 @@ pdf-host: maybe-pdf-gnattools
pdf-host: maybe-pdf-lto-plugin
pdf-host: maybe-pdf-libcc1
pdf-host: maybe-pdf-gotools
+pdf-host: maybe-pdf-libctf
.PHONY: pdf-target
@@ -1453,6 +1465,7 @@ html-host: maybe-html-sid
html-host: maybe-html-sim
html-host: maybe-html-texinfo
html-host: maybe-html-zlib
+html-host: maybe-html-gnulib
html-host: maybe-html-gdb
html-host: maybe-html-expect
html-host: maybe-html-guile
@@ -1463,6 +1476,7 @@ html-host: maybe-html-gnattools
html-host: maybe-html-lto-plugin
html-host: maybe-html-libcc1
html-host: maybe-html-gotools
+html-host: maybe-html-libctf
.PHONY: html-target
@@ -1538,6 +1552,7 @@ TAGS-host: maybe-TAGS-sid
TAGS-host: maybe-TAGS-sim
TAGS-host: maybe-TAGS-texinfo
TAGS-host: maybe-TAGS-zlib
+TAGS-host: maybe-TAGS-gnulib
TAGS-host: maybe-TAGS-gdb
TAGS-host: maybe-TAGS-expect
TAGS-host: maybe-TAGS-guile
@@ -1548,6 +1563,7 @@ TAGS-host: maybe-TAGS-gnattools
TAGS-host: maybe-TAGS-lto-plugin
TAGS-host: maybe-TAGS-libcc1
TAGS-host: maybe-TAGS-gotools
+TAGS-host: maybe-TAGS-libctf
.PHONY: TAGS-target
@@ -1623,6 +1639,7 @@ install-info-host: maybe-install-info-sid
install-info-host: maybe-install-info-sim
install-info-host: maybe-install-info-texinfo
install-info-host: maybe-install-info-zlib
+install-info-host: maybe-install-info-gnulib
install-info-host: maybe-install-info-gdb
install-info-host: maybe-install-info-expect
install-info-host: maybe-install-info-guile
@@ -1633,6 +1650,7 @@ install-info-host: maybe-install-info-gnattools
install-info-host: maybe-install-info-lto-plugin
install-info-host: maybe-install-info-libcc1
install-info-host: maybe-install-info-gotools
+install-info-host: maybe-install-info-libctf
.PHONY: install-info-target
@@ -1708,6 +1726,7 @@ install-pdf-host: maybe-install-pdf-sid
install-pdf-host: maybe-install-pdf-sim
install-pdf-host: maybe-install-pdf-texinfo
install-pdf-host: maybe-install-pdf-zlib
+install-pdf-host: maybe-install-pdf-gnulib
install-pdf-host: maybe-install-pdf-gdb
install-pdf-host: maybe-install-pdf-expect
install-pdf-host: maybe-install-pdf-guile
@@ -1718,6 +1737,7 @@ install-pdf-host: maybe-install-pdf-gnattools
install-pdf-host: maybe-install-pdf-lto-plugin
install-pdf-host: maybe-install-pdf-libcc1
install-pdf-host: maybe-install-pdf-gotools
+install-pdf-host: maybe-install-pdf-libctf
.PHONY: install-pdf-target
@@ -1793,6 +1813,7 @@ install-html-host: maybe-install-html-sid
install-html-host: maybe-install-html-sim
install-html-host: maybe-install-html-texinfo
install-html-host: maybe-install-html-zlib
+install-html-host: maybe-install-html-gnulib
install-html-host: maybe-install-html-gdb
install-html-host: maybe-install-html-expect
install-html-host: maybe-install-html-guile
@@ -1803,6 +1824,7 @@ install-html-host: maybe-install-html-gnattools
install-html-host: maybe-install-html-lto-plugin
install-html-host: maybe-install-html-libcc1
install-html-host: maybe-install-html-gotools
+install-html-host: maybe-install-html-libctf
.PHONY: install-html-target
@@ -1878,6 +1900,7 @@ installcheck-host: maybe-installcheck-sid
installcheck-host: maybe-installcheck-sim
installcheck-host: maybe-installcheck-texinfo
installcheck-host: maybe-installcheck-zlib
+installcheck-host: maybe-installcheck-gnulib
installcheck-host: maybe-installcheck-gdb
installcheck-host: maybe-installcheck-expect
installcheck-host: maybe-installcheck-guile
@@ -1888,6 +1911,7 @@ installcheck-host: maybe-installcheck-gnattools
installcheck-host: maybe-installcheck-lto-plugin
installcheck-host: maybe-installcheck-libcc1
installcheck-host: maybe-installcheck-gotools
+installcheck-host: maybe-installcheck-libctf
.PHONY: installcheck-target
@@ -1963,6 +1987,7 @@ mostlyclean-host: maybe-mostlyclean-sid
mostlyclean-host: maybe-mostlyclean-sim
mostlyclean-host: maybe-mostlyclean-texinfo
mostlyclean-host: maybe-mostlyclean-zlib
+mostlyclean-host: maybe-mostlyclean-gnulib
mostlyclean-host: maybe-mostlyclean-gdb
mostlyclean-host: maybe-mostlyclean-expect
mostlyclean-host: maybe-mostlyclean-guile
@@ -1973,6 +1998,7 @@ mostlyclean-host: maybe-mostlyclean-gnattools
mostlyclean-host: maybe-mostlyclean-lto-plugin
mostlyclean-host: maybe-mostlyclean-libcc1
mostlyclean-host: maybe-mostlyclean-gotools
+mostlyclean-host: maybe-mostlyclean-libctf
.PHONY: mostlyclean-target
@@ -2048,6 +2074,7 @@ clean-host: maybe-clean-sid
clean-host: maybe-clean-sim
clean-host: maybe-clean-texinfo
clean-host: maybe-clean-zlib
+clean-host: maybe-clean-gnulib
clean-host: maybe-clean-gdb
clean-host: maybe-clean-expect
clean-host: maybe-clean-guile
@@ -2058,6 +2085,7 @@ clean-host: maybe-clean-gnattools
clean-host: maybe-clean-lto-plugin
clean-host: maybe-clean-libcc1
clean-host: maybe-clean-gotools
+clean-host: maybe-clean-libctf
.PHONY: clean-target
@@ -2133,6 +2161,7 @@ distclean-host: maybe-distclean-sid
distclean-host: maybe-distclean-sim
distclean-host: maybe-distclean-texinfo
distclean-host: maybe-distclean-zlib
+distclean-host: maybe-distclean-gnulib
distclean-host: maybe-distclean-gdb
distclean-host: maybe-distclean-expect
distclean-host: maybe-distclean-guile
@@ -2143,6 +2172,7 @@ distclean-host: maybe-distclean-gnattools
distclean-host: maybe-distclean-lto-plugin
distclean-host: maybe-distclean-libcc1
distclean-host: maybe-distclean-gotools
+distclean-host: maybe-distclean-libctf
.PHONY: distclean-target
@@ -2218,6 +2248,7 @@ maintainer-clean-host: maybe-maintainer-clean-sid
maintainer-clean-host: maybe-maintainer-clean-sim
maintainer-clean-host: maybe-maintainer-clean-texinfo
maintainer-clean-host: maybe-maintainer-clean-zlib
+maintainer-clean-host: maybe-maintainer-clean-gnulib
maintainer-clean-host: maybe-maintainer-clean-gdb
maintainer-clean-host: maybe-maintainer-clean-expect
maintainer-clean-host: maybe-maintainer-clean-guile
@@ -2228,6 +2259,7 @@ maintainer-clean-host: maybe-maintainer-clean-gnattools
maintainer-clean-host: maybe-maintainer-clean-lto-plugin
maintainer-clean-host: maybe-maintainer-clean-libcc1
maintainer-clean-host: maybe-maintainer-clean-gotools
+maintainer-clean-host: maybe-maintainer-clean-libctf
.PHONY: maintainer-clean-target
@@ -2359,6 +2391,7 @@ check-host: \
maybe-check-sim \
maybe-check-texinfo \
maybe-check-zlib \
+ maybe-check-gnulib \
maybe-check-gdb \
maybe-check-expect \
maybe-check-guile \
@@ -2368,7 +2401,8 @@ check-host: \
maybe-check-gnattools \
maybe-check-lto-plugin \
maybe-check-libcc1 \
- maybe-check-gotools
+ maybe-check-gotools \
+ maybe-check-libctf
.PHONY: check-target
check-target: \
@@ -2491,6 +2525,7 @@ install-host-nogcc: \
maybe-install-sim \
maybe-install-texinfo \
maybe-install-zlib \
+ maybe-install-gnulib \
maybe-install-gdb \
maybe-install-expect \
maybe-install-guile \
@@ -2500,7 +2535,8 @@ install-host-nogcc: \
maybe-install-gnattools \
maybe-install-lto-plugin \
maybe-install-libcc1 \
- maybe-install-gotools
+ maybe-install-gotools \
+ maybe-install-libctf
.PHONY: install-host
install-host: \
@@ -2540,6 +2576,7 @@ install-host: \
maybe-install-sim \
maybe-install-texinfo \
maybe-install-zlib \
+ maybe-install-gnulib \
maybe-install-gdb \
maybe-install-expect \
maybe-install-guile \
@@ -2549,7 +2586,8 @@ install-host: \
maybe-install-gnattools \
maybe-install-lto-plugin \
maybe-install-libcc1 \
- maybe-install-gotools
+ maybe-install-gotools \
+ maybe-install-libctf
.PHONY: install-target
install-target: \
@@ -2645,6 +2683,7 @@ install-strip-host: \
maybe-install-strip-sim \
maybe-install-strip-texinfo \
maybe-install-strip-zlib \
+ maybe-install-strip-gnulib \
maybe-install-strip-gdb \
maybe-install-strip-expect \
maybe-install-strip-guile \
@@ -2654,7 +2693,8 @@ install-strip-host: \
maybe-install-strip-gnattools \
maybe-install-strip-lto-plugin \
maybe-install-strip-libcc1 \
- maybe-install-strip-gotools
+ maybe-install-strip-gotools \
+ maybe-install-strip-libctf
.PHONY: install-strip-target
install-strip-target: \
@@ -28064,6 +28104,447 @@ maintainer-clean-zlib:
+.PHONY: configure-gnulib maybe-configure-gnulib
+maybe-configure-gnulib:
+@if gcc-bootstrap
+configure-gnulib: stage_current
+@endif gcc-bootstrap
+@if gnulib
+maybe-configure-gnulib: configure-gnulib
+configure-gnulib:
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gnulib/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gnulib; \
+ $(HOST_EXPORTS) \
+ echo Configuring in $(HOST_SUBDIR)/gnulib; \
+ cd "$(HOST_SUBDIR)/gnulib" || exit 1; \
+ case $(srcdir) in \
hooks/post-receive
--
Repository for Project Archer.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [SCM] scox/strace: Merge branch 'master' into scox/strace
@ 2019-04-01 15:31 scox
0 siblings, 0 replies; 3+ messages in thread
From: scox @ 2019-04-01 15:31 UTC (permalink / raw)
To: archer-commits
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1781862 bytes --]
The branch, scox/strace has been updated
via 90309e60ba3d5ddd633266743104b390270be73d (commit)
via 34ef62f46541d423b991850b2b7ba34d8749a6ba (commit)
via 52093e1b936fa4f3f8bb3868c5a44d0df25c8db4 (commit)
via 8828efdb24ef337e074183a0db3ac6399a3c09ba (commit)
via f7043f6281dd27b19393b3d18daa227acd9459c6 (commit)
via 91fc2ba707780d150309259571b12c73e92af5d0 (commit)
via 0fefd084955176d9235679cb9ec40e5794f350e9 (commit)
via ae2b14c73cd42b067e9687219155ed044210f0c1 (commit)
via 7734102d6d8b5a0ccea166f8e944f84dc896b9ae (commit)
via c6f03bce79fd93f152749e2a299a03ab78421f5f (commit)
via 188e1fa9ac09b0a764e19c1afc0fb5fcdb688e65 (commit)
via 2880242dd0b8538b68aece7d9e8b1678dcdfd0ab (commit)
via cc1defb1dcb5f1ca23a82bca233a48ab2657de6c (commit)
via 2487ef07c28b961c6e2b8c51161f88f93b181d07 (commit)
via 5f33607b284323ac71fb5b6864ce2fa671379dfc (commit)
via d3fe0d7bb8a3101df6f052aa54e4cfedcc2fee94 (commit)
via e432ccf1cb4685b990f9cf10cb84626f52239806 (commit)
via 077cad8ec1ca069d8981ecdbfa68c24b12597f67 (commit)
via 80047cfc27459d4d31fe275ddd02231d812ddb61 (commit)
via 65d2b333a830b3f36c8b7ae9d9ed6c77f8be9270 (commit)
via f489207efde922e436b1b420d4de071927e3b9d5 (commit)
via c92df149c29518f6e1d4a3174b3e29162fcd3ad6 (commit)
via cd5b60741993f9e075d3f2492e2251da5bdf260f (commit)
via bffa1015cd6cb4a2a4bd1276ed749d150684dd5c (commit)
via fc96163a3ea7761f5353591c825027090942e330 (commit)
via 69f4c9cc037f2226982a21fae63ffbc5e866fcca (commit)
via 242a115951fe55e62036bac555017eb817ca1aa6 (commit)
via 96a86c01d119372f4af5aff2501d3104e6c1a8e3 (commit)
via 072029171354eee0e2f90527196ddda5a85e98c1 (commit)
via b6061d4d383b08966d16a0b0f72c69f35fc4beb9 (commit)
via ef9866970ce6683d40465fb7c3168f87a1dcd1b7 (commit)
via 20dc7e9b059edff1d0fab3bd197c460c11cc7a06 (commit)
via 933aebfae6b1a2b83c3eb958ebf6e43fc7fdaed1 (commit)
via 4c4849b9ed8c6dd7e1f822e1e395b62059ba7680 (commit)
via 7f5331a885c2e8b8cb8be5b27dc4bcfa290ad6c0 (commit)
via 9f9aa85206ab31d2c583e7fef568700d31eb577e (commit)
via 3714a195e08a5cc7713b27def7a3c3b534da53e8 (commit)
via 18c77628b1e97e412561029ec20195c1ffa61b2d (commit)
via 53c973f200e39c4122e0db06a94e3a0079e6de80 (commit)
via d851aa7170c09fb903dd1bdafa6df526f1951863 (commit)
via 05805feba20cb8cc39c7324e0b427f2bb7cdfe44 (commit)
via 974c89e0882ddb03e294eca76a9e3d3bef90eacf (commit)
via 7ea79cb3affe1ae1d196f511ace044c015e0ccd3 (commit)
via 5fb812fc79a37b0d02f4902456c6f87ce9896a8d (commit)
via 2fe7bab775f6acbfa1255d3504cd9e53a109e132 (commit)
via 068ef30e9e053d0f95464290b0b96cea90ce0572 (commit)
via 24e31cf3aa66e20877358040ceb35b87dde66d12 (commit)
via e8fba7f6bbc06ee96e527c9ebf4128461336cd20 (commit)
via 81a24d04dfecdbdd9af143043197317dea1119c7 (commit)
via 79e7ae11c71c1682c0d4b707eadc714ec4efc929 (commit)
via d45963c2b26369e3b375cf5b3b6f52f50f767ef3 (commit)
via 0f83012ea0fb84d86d2a84a5feb51c0d63f0b7eb (commit)
via 796d6298bb11deab06814cc38cfe74a1bfc57551 (commit)
via 60df3720d77c8415158f3eaa166e0b7162f9d3b4 (commit)
via 51457761649bab6868343b3da2258d73a62901f7 (commit)
via 53b2f36bf6aa939feab6f82f05d7dad52f82660d (commit)
via 9a93502fa81734d39f213ccb33b497bc40e1423d (commit)
via 6640a367bf5427779856e7c80ae4b4bd88c19d3c (commit)
via a930ebcdf9594d6b6f91b634dceec1b2425a76a0 (commit)
via 582942f4560f1c8d2a60c2557267f9d3ad8dd6aa (commit)
via 258876ee34a4b656c754355cf175a825e0db80f3 (commit)
via 5783e150b2a9308e23262a5b62f5d51c8c932ece (commit)
via 83bfc77ff537667989bd375b991d379ee4dda350 (commit)
via 7ad417dd217849c164e3c8a250c62a98eb0b8cd4 (commit)
via b366c208ee07924cc3cafc1bd4d70548bc91075b (commit)
via 9bb9b2f9d6d5aa90f579494d8407375a87a9ad0b (commit)
via c90939d2d08caedf4f777112a1aafa0c69a9d1c1 (commit)
via 59c283728fddad638ae301cfb724d629fffc8665 (commit)
via 17e116a7d1501a46cf4e45ec181148dc6a1e3e2b (commit)
via 11e1b75f0696f6e406fe8ccc759bac2fbc8fc151 (commit)
via 34dcc7cf95f756862bdfebb753ab2de39fec4c9e (commit)
via 1ef53e6b8328acd5b7d54ee2fe288836ce12992e (commit)
via 76bed0fd9493868889929ca9dcd32350c1d864be (commit)
via ee4fbcfa26eb4a2a3666f7c1cc31447c3cffa023 (commit)
via 6dc0ebde59dfb73eae507ced718bafa54023bf33 (commit)
via 968aa7ae389d9e6cecb5fda6826bf889ed959fce (commit)
via d8a95af9dffa36a1004e4cebfe6758c735402f6e (commit)
via a9f5a5517fb7df640f0fcd4cb0f9961818b6505b (commit)
via 4e5391148d51c58785aad637f1a92d47b91b3ae6 (commit)
via f84bd4655c17b3ee59b73bd33ec91f75bd58546c (commit)
via 2d3181c7c466d247d274ca6dbed6c598ceaa6163 (commit)
via cc00a5d100973549bf5e4840937529633f4de1fa (commit)
via 980a2e42f7439015defdcedad89a13a72749bdb0 (commit)
via 86b0c8dda0b762fe3af25fb41bb04a63183d58d7 (commit)
via 7553c869a9a9af813abd8cb4d445765d1a8a1cac (commit)
via 3b6c19668236e6fd60c6299e7d016396d645fa61 (commit)
via acde6c6b431a8c38ab18a47bb56f65f515448195 (commit)
via 48869a5f9c439dc8f5cb47b8d5bada77b4c3c2cb (commit)
via 595915c1c135a77afa01d30a888a48fcc55a08ec (commit)
via e946b687baa552034ee57f3c119e56a20961452e (commit)
via 4c7d57e72e0340931ab01db2247bdce3c2fcadb7 (commit)
via cb24623460fe3e68794b79b79b0dbd5e62598d85 (commit)
via 634557801d909982b47b1723f4216ebe8bc784aa (commit)
via 392a59728b7286d5fd1a1c377de3c40334bbb36f (commit)
via 7b1d7ca194544554f7d41aea7fdf7a69c232f15d (commit)
via 89199bb5a027d21c56dafd2cd898487118949ecf (commit)
via 3a0e45b2f187dae8cba444e9b31f05cee0e2d6ae (commit)
via 4faa59bbb7ad8665b6eb7c93bdb726e412850811 (commit)
via 5371b8502ab414aea510f65ce1acb9f090bf0340 (commit)
via b17c4cd078e2d1d8951951016815e474fb133780 (commit)
via 4bd56d18cc9799f283715a96ba61fd4b958b2f71 (commit)
via 55c10aca2e93cc7a4301aa1635ef9d6d73a804b1 (commit)
via 647bb750c298bbee618aa4448a30dcf9adf23602 (commit)
via bff8c71fd8dece639e69b399883f90b3404a2a48 (commit)
via af60449c260235478f9b1f9db39a587fe4c75290 (commit)
via c6cdff46c9d35e0c811e179fc6642ed71473bc66 (commit)
via 8cd1fe1bf525b59f4d07e5790d11d49eee7e8494 (commit)
via 28a66f07f0695c740dc0e1b043cd36f90dbfb5ea (commit)
via 58785d9888c699770154ef1d42fcea7598e8d704 (commit)
via a716e60cf91254811f798d358a5b1842b4a65113 (commit)
via 97ed31ae00ea83410f9daf61ece8a606044af365 (commit)
via 7bc0961cfec1f138a3127e8f210909aa430c425f (commit)
via 99112332cda2e63d33959ac8ea2ed13524b09bd6 (commit)
via d4cbef22ba406707a4fcb30a7a57308447626f14 (commit)
via fce4c071610c0d01b70b172ee538e831023c1c2f (commit)
via f7f0a12390fc514a5b7b38d1b23397d87532ce05 (commit)
via d6dcc55d804dc23197c8cf4f193bc39838c6a052 (commit)
via 41fd2579f2ac6a5fca262317b0e52eea07fa7438 (commit)
via dd22218cf26fa5d8beade7266de391a28e63527b (commit)
via ab42892fb7d265e72a85e918d4f5c6dfeee3fcd8 (commit)
via 8d8c087f34beaa271c3f8d5597d92bce4e9c7f4a (commit)
via 798e1c302af509c31839c5c3b50c058b61206ee7 (commit)
via 6835821be8bab8702e41e6946a7d8ee9441f0eee (commit)
via fdc01131eb74cf28ae6e7eb3f55ebe0d38839d3e (commit)
via eefba3da27c23db67cc0e1707fcedd96f1c0860d (commit)
via 0de2420c4b023e644f91a409803fedfb235bfc0b (commit)
via 042d75e42c5572f333e0e06dabd3c5c4afab486c (commit)
via db92718b541158d4782dbc9f48401c20f2bbad6d (commit)
via d6797f465c3f67b41a0db38870bbd33384b6551f (commit)
via 741d7538b7540fea1086fe6ab962227d2cf7418e (commit)
via 788c80d1aff685e66b8105ddc7451cfa6a03bf1d (commit)
via 1b7a07cba0aa096c2eb66895ef339aa5143e9995 (commit)
via 3db066bcd5bac9a8d6be85ea4cfa8f52dbdcc600 (commit)
via 2219ae0b0ebe14373850b000c2abaa31dab1d741 (commit)
via 1c82ed745bec154a3cd8a8bbf36c5be5086041d5 (commit)
via 1c529385d9d7f53efa541d9701ec8c1001581e3e (commit)
via fe3fef62ad11115fc3b03c0c0dcb9c38b2f544cb (commit)
via 1ff31e135f04b2773e10d3e5072776c1072edbfb (commit)
via f55b1e3248e4950464ea120027cc6881003e0ead (commit)
via 418d4036ee37807b97b8040ebe7e2c15e9db726d (commit)
via da0d12d2bd46730ad8327b9fac1371182996017c (commit)
via 4a5ee99b2f891c7adcafd4c4d9e3c360a5c475fd (commit)
via 5c85e20d5a6cbcb58aabdac192142be38c96b069 (commit)
via d7f848c3b51f01635557ab765f2ba176618e0bf8 (commit)
via 6cc71b820cc70b63711e9d7f584550b56e172b0a (commit)
via 3fff2c370cd658877be8107bfe9dde8dd0470b46 (commit)
via be22c732bf873e0c7e8a08564c97cafdfcf153bb (commit)
via 3b336828de914a39741339b5341b88aa003d7225 (commit)
via d085f98901ccd6c9764b93d3983f3c7797addc4f (commit)
via 6f11e6824e15bd40fe1e7b245a22865c6ef8c7bd (commit)
via a0148d8416f6c692b83acc77cf838b3e7929a249 (commit)
via a068643d69ce0f25d5f7cbdaa1d0a3211d72c081 (commit)
via b4be1b0648608a2578bbed39841c8ee411773edd (commit)
via 8e5e5494f8653dd83ce1413d141e26c09dddab7b (commit)
via 1dbade7441b9f32d6ba9aa1d44da5f28c44282fa (commit)
via 37c18eedffe3926a330149ca93e7407917e2be38 (commit)
via cd702818c6cf25277253b3b5c23f17d2cf7a94df (commit)
via 44b27f959abf267fc9ec228f4131c932597b01d4 (commit)
via 204f543cae7a5dc908264b49d558191d0ceb989c (commit)
via 145c4477d239fef4e31a457ff8a1ba7153e9a448 (commit)
via 5c4e5fe61bb00395f697a928524da1e94087c677 (commit)
via 38c24f42c97af59ad83505ed735e689c63d3ca45 (commit)
via 7235427998571b6d8267e7ac72a52d7b082f4c2b (commit)
via d18d199917337537713f9fc4b7ae4d6568f740cf (commit)
via 71250b94dc669b285cddcb744a7b3d1c7e2ec94b (commit)
via 4ffd4ef39318559f8d45ce05bba4c303e522c28e (commit)
via 197df35ec4f370e9902892ff8339232869cf86ce (commit)
via 8399425f5f472ad8e630bb30ad2dbefeddbb68b7 (commit)
via b0f87ed032bb68a9965de81cbf9fd676a83b9174 (commit)
via ce25aa57a3cdd028be5868423e6e55506ccd1053 (commit)
via f5424cfa7e9337a6cb02a1f83c9feea0995c5350 (commit)
via 945f3901b5889e57edf5a2ee25acb51f0078a719 (commit)
via ef0bd2046f58fac69577892c2d3b44b20d027476 (commit)
via 36c53a0262f84ad11d738471789dadfa9c4eb320 (commit)
via 6e056c817845f3d736a1be6b68c69b439c6c6d25 (commit)
via cd250a1898bb6fdb41f4a1063dbcfac04affcd11 (commit)
via df22c1e5d53c38f38bce6072bb46de240f9e0e2b (commit)
via dd6876c91cd40cc105b1a91f418ca2c80683b314 (commit)
via 1163a4b7a38a79ebd153dc5ee76ce93877d21dbd (commit)
via 7cde5fc2ec2e32e8a81ac613d26cf86bf8623816 (commit)
via 3a3508220eecf27e1952a73cd3ea6d6314ce8e1d (commit)
via ffdd69cf7840f3b158de16819591361c8dae3a4d (commit)
via ec148c577eaa29f26a943c13b0b66ca3877bb5aa (commit)
via 3276427003bd1fc676d1cb913c4d09a9f7b1c74f (commit)
via 17547186c25aa96d078a6ff9d61a55880fa009f4 (commit)
via d3a70e03cf51c8fb6bc183eaff7559edffec2045 (commit)
via 7a6e0d89bb018cef0d8d13c497d8f340aa2a0fc8 (commit)
via 0919bfe915906382611011f123b5ae68a0bafbb2 (commit)
via 40f382e88d0391ffaa4098c92cbf339a7924a629 (commit)
via ba354106f02e25c9adc3dc1364d6a974216ec94e (commit)
via d16f1408858786204b6e7598bf8f8ed6c0a69bc5 (commit)
via 82cb27ff6b4e1ae811e72a02dddc3db4c9ff97b8 (commit)
via e7b681f1c62c2fa130adcc4a002f7185d33f7600 (commit)
via 0e290772cd9899f2b962e2b3b81a6e31745825a9 (commit)
via 568c0683da0a5d1cf5c62c9deb8abb8513875eee (commit)
via f09ce22d6a2266c3bbe5061eb61e7fad65568652 (commit)
via 595f96a94448d1327aeac8783622e390794a722c (commit)
via 2598a94b1e23c148a8f84d796e92de3a10d6e4e5 (commit)
via 7f17b20d6020f2a40369ef0568501ebcda952243 (commit)
via 2c50903575cec09d1748612fd0355b766ec04a19 (commit)
via 0dd322dc1345d1b8809f20a674c977276f0c0430 (commit)
via 41ea472809e1eaabd3858b41c9189717e9c69323 (commit)
via 793cd1d2a12e9741e01f5df702e493f5e9ba0dea (commit)
via 34910087ebf8fb3f1646d9177d7c961a1b3231da (commit)
via f1f832d6cd39e14e9f8c0ba142d2e442792119e4 (commit)
via b9f4512f250f7fa685f1f888b6fcbe2e34dc9733 (commit)
via 9293fc63040a41e0830acb61d93037b6e0f2c424 (commit)
via e3abbe7e9458be7a92c27bc4649295b935340699 (commit)
via e4adb93903d4ae0b7ab2b5004364e50627df95f7 (commit)
via 4639b61ae3bf7c959f35debcb2c6a204fa0b4f1c (commit)
via ebd2263ba9a9124d93bbc0ece63d7e0fae89b40e (commit)
via 65d8004072ccb15441c143c380949d785a8446cd (commit)
via 25629dfdb438c82f2bb711174042bb326a526aaf (commit)
via fe7266674110f34eacf2e9d2b308f76d33ce50ed (commit)
via 7584bb30cf380cff9cc3914b1b523c5a1a5b4302 (commit)
via 2c5ebf12393443eec1d666f613cbc70a6b72f49a (commit)
via a7b1986e13c60f2a10721863ef684a18daccaaf7 (commit)
via 0ccf4211fdec30fab46a5552ecfbe8e7ca98d50f (commit)
via fe7b42e5843ef82f97959e0e18122c164449a8ea (commit)
via c6321f19c5414c2a34db3cf5979834d081c32abd (commit)
via 61b30099702a76fb7e6a9c5dba7c03b95f9eb0f2 (commit)
via 6cceac94147f6026e93dcfc0a0df03555b571a12 (commit)
via 724127627fef458ed330d027cf0b3d17580af615 (commit)
via 2b6ff1c0474fca286b95be7ae9dcc5a22ff2a0b9 (commit)
via d01c5877664024043f4e5920d072c5f62fc7f89a (commit)
via 37991b4f52e7d13c586137f401ac65dec4aa732f (commit)
via 32603266e5688718faad35b7502aa0b72a42764a (commit)
via 9799571ecb648ea2e911498cfdc7fafe3237c94a (commit)
via 09e3c4ca13e39b797b91b07280ac025327a8a526 (commit)
via e2a035485a80651a5dc1711fee5a811e41ab131b (commit)
via b7e60d85da12a1819671473db8550c9f076e8f38 (commit)
via e52c971f17ac747a065388b54a909f44b5582cd9 (commit)
via 06974e6c05556edb7122f45239c95045e882dc76 (commit)
via 72f31aea9e6c158f442239abedaf351465ebcb41 (commit)
via efbecbc143f19cb308ae220fb386505f41ff4bc3 (commit)
via 0841c79a3dc1cfa382164a6bb2c1ee41af3ab0a9 (commit)
via 4a270568d93263e4970099456b4efb58466134a6 (commit)
via 067630bdb553bb889104e3b064e4551531ddcedc (commit)
via 3be47f7aa99dc90190e642a4e191c9f049e0a934 (commit)
via 4d00f5d8f6c4a1c9f334b1abb45b9ce05fb45b0a (commit)
via e454224fa82aa52a1288a3d6a2e26e8d224d732a (commit)
via 9dad4a58a1bddeb1cc2ec8b3782d7463b03b7b4b (commit)
via c8f9160408315deceee5e8776f0b1c4d9cba4398 (commit)
via dd9f2c763b325227a3721eaf4006db67b37f3b13 (commit)
via 84ec972406ec519b509f986780481899115847c2 (commit)
via 912ebfa0d748b4a762dbc4311364c38692c7f626 (commit)
via 67a3048c0fe804ab1e36d4074e7fd2dadeb8bc0b (commit)
via c3734e093aab1cea90a76b107cdda4a5870dd1b8 (commit)
via 219d6836e939d2cd1a8c5574bfa3a101daa31cbb (commit)
via aa3cfbda2f2af71044949b5692ce51cafb023d13 (commit)
via 2d0d5fc6f085dedd7988b29e58fdc4dc2081472e (commit)
via ea38e5df7707949c20a92004f0f66efb4a9ff2a5 (commit)
via 06b5b831a09417bac37b44599dc35d4b904700c5 (commit)
via ff6c8b354d853d40a4982dcf1338b9350060b75f (commit)
via 88c9190b4e3a177fafe1d7257ab7255542b62159 (commit)
via edbd9e45a906970852cee1999ab27c18c18a5ff5 (commit)
via 4933ff73fe8640f77773b13c1ba6b4cc567f8150 (commit)
via c119e04082b5b3ee907a8d02b42fae2aee0c4fbb (commit)
via 895dafa679db7af79576dcd177a6d91d65657ee8 (commit)
via 88a774b9984e42c492ddcf4e4b4b0170ac803576 (commit)
via 4e4a8b932b7ae8e239eebb597fbb6cfcb7278a64 (commit)
via 083eef1f897e2fd13e4afa7b1a52090c83476f5c (commit)
via 3cabd438f3d18e1cb7afd4d2a82449883943e62f (commit)
via 41e3300aa7d31ddb3618e160c6b7e61351ee2af5 (commit)
via 18cb7c9f3add62ff598f0551a767af8aaa04b07e (commit)
via 093f70ccd3d8366de1faae3335bbe2eebd2a75d4 (commit)
via 54c56910ee0b9280e0cb33eae00e27ca90925fc0 (commit)
via 45950eb60008c70fb79306012e76a024a8790ca3 (commit)
via 7b63ad86ab1a56812772f266b345ecaa494ece95 (commit)
via f5f20315116c43110c058ec9d787e20f901309f2 (commit)
via 67490c6bad8c8d3fcbcbd5a3012ab5d189fd3981 (commit)
via 60a88cee9274f374a394fe2e9765292b9ca3c7cf (commit)
via e3624a40aeb31065c968d0d3a1d55fdf8e8a4e3c (commit)
via a6a4b2c636b29de09dea890b448f99804ef7bc18 (commit)
via 742a7df5f4a149f0818aaccfc432c4c0c9a6e26d (commit)
via 41fa577fbc326402be49b3f03bc828e52dba8b88 (commit)
via ca5a17b09eabb24301c8591440670613385a9026 (commit)
via 24801b157631434446c2fc5a40994a5555a1db38 (commit)
via 827f438f664809b13ea59e8fabc43070dbd17645 (commit)
via 4ffd290906608e72fd98d627a24aa2c2b6ecf4ce (commit)
via b24cc4146e4de9f3b66e2e2fb8379db46eff89c9 (commit)
via b09e83c1f814a6f218519abeb94aaf45869ba03c (commit)
via 01abb042af3f118a8820517a3b45b19e65c7bbd4 (commit)
via 92137da015d301fec4b7878467d053d379a2f489 (commit)
via eed5def8d0b7b64c3592be75a9b22bb4ce1a78f4 (commit)
via 9c4c331816b14d7020a8a15eed9dac5e5babdb0e (commit)
via b8ec59a1001105a04617b1a623ceb158e6c7472d (commit)
via 799efbe8e01ab8292c01f46ac59a6fb2349d4535 (commit)
via 5cfe428cd1788be52a0af540f02b8f2705354d50 (commit)
via 43ac54fca353ea8d77d56dc5ad9e049bbb9a81fb (commit)
via 5862844d0f443b9f65e8dd0d85c43f8818d3f355 (commit)
via 8ed252144a29fb6370b828d84419d5c59d23dae2 (commit)
via 23031e319207140e76a9c18e308995fe28322b58 (commit)
via 6c28e44a359e9f6cf455ddff0009ca99406f7224 (commit)
via 2c3fc25dd18d3afb4b4cb494c4803fdfbf00ae9b (commit)
via 6ca622222193bc29a2780f6f02f0d8b96da65a4b (commit)
via f4bc7d2cde9189249d41ac9c63235c128da4d2f2 (commit)
via 9734a586671fa95a06a2e10323c14d0157805057 (commit)
via 68b867f30eeca7e9585e9ee16e824f5a18e2bc6c (commit)
via 2fbe7ad059d9ec2a8a378a5c2b973a1188677422 (commit)
via 76055cbe88cc6623f88c8ae43ed8b8ae6883df9e (commit)
via 4133e5a13f15d86bb1f834090de98cca4c34759d (commit)
via 8010f576414759bf5bdcfeaa64226bf03586b763 (commit)
via b56bf084434de08080875134e983f8b46eb2328f (commit)
via a19a650fcca359a02bfadb201c9b032ce7479525 (commit)
via f8278c3c7e0212e810fa7d65f6202b607c9cf3ca (commit)
via 480e46cfc5cf4976c1f1a00bc6254d78e9c45447 (commit)
via 7a995095f35f024517ddaa07b8a8ad04463e3ce5 (commit)
via 52d6f3ee9439bb20c45421ecfeef2a69fd0b5511 (commit)
via bf9a735e239cb7a27c81aa7c98679f7f83fa8314 (commit)
via 5561fc304ff2a93a33a42df63eaf18b92483b307 (commit)
via 9335e75a6170fbf76f60548690d5724198cf0440 (commit)
via 3d34d8de5e10623652ab9f1eda2ff3456f64d13b (commit)
via 143420fb0d5ae54323ba9953f0818c194635228d (commit)
via 8e3173c608015e84c89990b9473189bf797ae0bf (commit)
via 172fb711a2336b62cf8d58bbb4b27dc71ca8c02d (commit)
via 8791793caa9a3186d4922cc786b6344e6093be73 (commit)
via af54ade989cbbb1a43f4bc9d4d2e8e60814306f1 (commit)
via bc2a507e6e90fc5766bd68d368441f5b511c2ef1 (commit)
via fe07eca59d0544eb6c56c3559da9ceece23cae6e (commit)
via 26c897821b37af894088ec5731f93dc82e79b6d4 (commit)
via c31307f9c5022205aaf2dff591457ac8b5c1342d (commit)
via 0f58c9e88ebee636206b946b00ea52b47056b320 (commit)
via 0a0f4c0179106ee4b8e56649c549f4175ebba994 (commit)
via cd5a152cebb201e98f3dbeca510aa39e838a1f62 (commit)
via 39f0547e554df96608dd041d2a7b3c72882fd515 (commit)
via 60245a92ce2c16d0b43987c2442b1a125652b832 (commit)
via a894d76ab1afb0e16116eb16eef3f5621d62e6ab (commit)
via f616c36b79d0776e51213b177e45a0f5d386cc58 (commit)
via 4323c5ad3cbcb2a3d2178d778278109f24071b26 (commit)
via 8a6a85134d78531c6adb72a888844f7cfa3a5c56 (commit)
via e0e7d3bd218e50275b4c9c9fbf2d3123c73372a9 (commit)
via c97a773961ce40dfe021ff9133ed27f077cfd8eb (commit)
via 8a7a93c20aa7c7545ba5ad33e4a127cdf0dd3466 (commit)
via 04dcda9cb0c79b2f27a2f38aedec63da51538ad0 (commit)
via 07bc701d03167b8006835da583a03d98177cd4b6 (commit)
via c6f4a5d0ed1ff54b5d46bdbadaa4ad811de1b715 (commit)
via 9600246debb2489725a76334cc237dd289f6b5de (commit)
via bb995d00b3eef2f48d0be895c3509a7ddd8280a1 (commit)
via 24841daa74f092f7c5639ee8f1fb303c7694dee7 (commit)
via 83f43c8344d752fb8266b4c4e2f42cf4e5a2f86e (commit)
via 516dbc441811c51e29ad668f0bb187cb91d5b25e (commit)
via 38e75bf22300aad8029a9765bad2ae75e914ad56 (commit)
via 871f0fc66ad8e9b0893dc113caf678dda99a7c87 (commit)
via 7557a51431744346c5d281e1b3a55b1fb985cbad (commit)
via 2d8b68309f4a4292c27ccfd598bb01b8f6e5c4b1 (commit)
via ee2bcb0c356d86d7bd2ff525b84a7602bb2bc816 (commit)
via 5cacf1c88f8afa5a3a1fb6d88c297e19d99f21e0 (commit)
via 160eba9301df423116377113f2d4189d785c7dde (commit)
via 56b80d4c4c24c6acacad15530a3a7b483b6e0f3f (commit)
via 0c95f9ed6c0978ae421048552c15065d32c45c30 (commit)
via 3ca60c57a715bbefc091949dd2381bab1b124715 (commit)
via 171375c68e809e97b5653ef424f80d46956a50e8 (commit)
via 7fc0c668f2aceb8582d74db1ad2528e2bba8a921 (commit)
via 8d18bf796bf70d71eb23f4247e29a1fab5f3c5c7 (commit)
via c763b8943348582e651dda24f88bb9f8db24672b (commit)
via 0ef8a082c32f34827479f2df8fbd431e08acd2d8 (commit)
via eed62915fd5b733632af343fbf3d47c7364f8e36 (commit)
via e6c3b5bfb449d1a02d26f3c4bae5b732951479fc (commit)
via 34d75fb5c419a23922174c520e124523e01114c4 (commit)
via c22b42ce308eb538050b4b5789e406b63102b35a (commit)
via edd01d077c5f7a0f76ec4fb77b5b9f5b151fa50a (commit)
via 7d272a55caebfc26ab2e15d1e9439bac978b9bb7 (commit)
via 6caa91b6e58a563be7eeb2844fd2622158d78354 (commit)
via 8abac8031ed369a2734b1cdb7df28a39a54b4b49 (commit)
via 7ae39e2d406dbec568c5ffd462119037b994fdf9 (commit)
via abaeb1562648d4b58497040a20d772bd08c06d4b (commit)
via 98814c6c111a0681e691a72834c8dcc5b8d1bb3a (commit)
via 6f2117ba3892110badc65a7126b19cec211acfa2 (commit)
via 179f2db0d9c397d7dd8a59907b84208b79f7f48c (commit)
via c72e75a64030b0f6535a80481f37968ad55c333a (commit)
via 70cd633e87e683a2233e852b96e5f1ef8591d4d1 (commit)
via 040b3e95e41f7af82e95c781aadc56a16019fd68 (commit)
via a31b8bd9a054b494fd6ab18f14d84a2f0690f8a1 (commit)
via d57e4f2b86b763a79c7356198265e8bae132b01a (commit)
via 9409233b0ec8a052eacc5846ee054f224f7e7213 (commit)
via 6506371f0671dd5ca11127fee4db8d8d7fec157f (commit)
via 0c820d679358aa1ec7cd9e33c4bc23a7db964ea1 (commit)
via a008792038c2510800db466897c4bb6305d20042 (commit)
via 75ba10dc558a450c7dbcdc24f816f6709f2b29f7 (commit)
via a2cd4f14750ae27ea5c250c98965eef842ee57db (commit)
via aa9e1dc0c6b965e0db07bf7e9fa93cbf0922a743 (commit)
via 166e5d9d419fa9390edd8c0cbcc07df4666a9b75 (commit)
via 485b851b68ea035e3c49234dafcddb97c4f54a30 (commit)
via 0b790b1eeb3741217d4b7b419aca1ed77a114b6c (commit)
via dea57a626364698759d1525acf9109771d173811 (commit)
via 989f3c583d31e29029b1b7dd8ffd3afacbbb5c27 (commit)
via 6cbcc006e95110b5d9168e9835e5df36782e975b (commit)
via 7657f14df7c697792b626efbd24ac44ad5642485 (commit)
via 5b6ea500d554b173e63e1f8f0344d568ad347463 (commit)
via e397fd39c62c70900306fa206ebcae1a4853db8b (commit)
via cc12f4a8f97791cf9729ff9341f7c0fbd9d6a79e (commit)
via 5f486660101ab09d50fa3bb9a10555f12722f39f (commit)
via 91d78b8179b061cf7c9cca423e29480bc6367fc3 (commit)
via 99df80f894ebf11f2211550925acc8b06f9972f8 (commit)
via 9d70ffbc5ba41c766ce629447af8e72a5ceba229 (commit)
via abc163a4647f77bfa449e09da4a85a71e747cf4c (commit)
via b671c7fb21306ce125717a44c30a71686bd24db1 (commit)
via 8071c5ce78245eff43f9977a7c3ff8328f7486da (commit)
via 924514e11c21ac5a5805e7a14824b6f3182b2198 (commit)
via c29ee8d45ec2113821c006a18cfedb9023ef9ce1 (commit)
via 6c6ef69fb4e95d991fa5462d067d3f71a73fedce (commit)
via 2d0a338c7c321de6c63be4e7e3f06ba12b783c63 (commit)
via cabb5f067daa9227bf0323cbf64c6065d6e4796f (commit)
via b1041ae0ae8a2f1c51e75b45004686f1956078ed (commit)
via 2988d01ea5fcc474a9b714d2148bab5fcf4e4be8 (commit)
via c559d7096b4b1b9c4e8d78cfd67b1892c1836ffb (commit)
via e6e006612f79f05454e8434ffd0715a1b6b9a6e4 (commit)
via 007024cc6ae8cd1a22e328eb4150adaa4baf5731 (commit)
via 01c7ae818bd6c0b5d797091ec1664bcaed705d40 (commit)
via 8918f84c04dd63866663d399c58e638052db2ee7 (commit)
via f62318e98d84e79e457920c74515fb73bb013b23 (commit)
via cd4b78483c3b0e4bd7737b67ed5074b7c252faa4 (commit)
via efac4bfe0b2bdd21a27c94ca3464046e9c23f0e4 (commit)
via 402d2bfec425f29c5b54089d5ff98ca9a1b8ec27 (commit)
via 1ed9f74e85b7ace7debad5ade4775684a1fa99f9 (commit)
via 2636d81d80ad34653d05d0d94207d62720bfd6aa (commit)
via ac8c53cc67724f990003009fd37a3d7dc662fcb3 (commit)
via e486594504d72a3afa199392a9d95a56ef1d6293 (commit)
via e20773049fde7b9a123fda4485259fc06249b22f (commit)
via 04d7fa2132c05b962d85e2047646e15b8a490f4e (commit)
via 43c4685f146a56b721566528f60023d91949c2ac (commit)
via ea638c43121624bb4b09bb89b88314f99c85a48d (commit)
via 7115ab9c4b727a0c8fc1cdfe814b6e6032bb391d (commit)
via db22231044df03bbcb987496f3f29f0462b2e9ee (commit)
via ab759ca8db37ffd3e32df5226e0b4ea16a81c849 (commit)
via aff29d1c738c0327e7b40ba9f6885279b75e3eca (commit)
via 10a54ace4aad32c78e1be99201d0a9c6efc63450 (commit)
via a0e90a73f0dc7e44c980ef5ea512eb7a3bd0cabc (commit)
via d1ea488747b9ca046c5b68ece2de757e1f357e3a (commit)
via 617126bc8ae3c83b565aef1a454742c8a7237c14 (commit)
via 21820ebe588d89fa874cbd87c117eb9d551d870f (commit)
via ca0bc1509849a3871e99fdf48705b93f18d5fa7b (commit)
via 46cbf38dc3a7c6d0e339f95d56590711b06427a1 (commit)
via 482f3505d1b62cbcf46ffed54807fad0d91c8f09 (commit)
via 96fd92af299a3c664cb341451f4bfde056910328 (commit)
via 2c6c61c3c9f1345e5de99768c2ce823121097b62 (commit)
via f7dd2fb2e2b750f0fb9dedaf885c17bc6beef1f7 (commit)
via bd756351a6d3dcff9915c88c26dc0a5811907f90 (commit)
via 6456d318aaa7ea35511dad1f2facf0fb984972e5 (commit)
via b2abe1bd8149dd9ad64432f620c3a034bf23a5fe (commit)
via 68a091326f6ac25005c49c4cbda1855080ba1d5f (commit)
via 0e7e9601bed5600881225e22fd4306f11907858b (commit)
via 5d3db3e2970f543259103290d6890c0f1f289e13 (commit)
via 4a83b61091168f7df0f58009dda67b9e36f8a5f7 (commit)
via df0da8a2b80315485330c03c18b704b8d7b3e9c2 (commit)
via 2012bf013b2ce507b181c0d9049ad946b2a59d8a (commit)
via bd447abb2442f74c2b4886f6cdacd16fce3c9d65 (commit)
via 46e3ed7ff94dc2d65f3d937d483c459b4cee6a0a (commit)
via 1a5c25988eabb35e0e40ea484b1eea029d9b7f53 (commit)
via 31528deca52123a5a6dee19d47bee94dff041325 (commit)
via ab9268d2f88414f202651eb5ffbd61c7927fb0c3 (commit)
via bb0da2b49689f49f01be2f8c5429945f37e12404 (commit)
via 424eb552c27a1574974d9052dff4ff252a7db22d (commit)
via 4249a53cce8651061092d666e5df06492cb91cf1 (commit)
via 83924b3846361f2f76f9a6e7b5afa01c0eebbd4f (commit)
via 4e9ac437aaebb55624b54fc3d1cfb52acfe320dd (commit)
via 1688cb2916e7bc46c92dd6f5ac2ba0da6c832274 (commit)
via 4dcfcfe0638d8e946b05fe51714c7d5b85b693c1 (commit)
via 082cbd3b37bd3da897249a69970f7bf4864399f5 (commit)
via b32ba39525f1abf8b1cb22016e781c73961717ea (commit)
via 7355a3c6634aee98e5af73f5190868b29bebea32 (commit)
via 9361886ee9f13731014c3ed425f48266915b2be0 (commit)
via 0019baae6344b46160e1a013ac8a12b983960789 (commit)
via c6f14c0d2ca4d68308f967c446277789047a980a (commit)
via 91bae99160e9d81cfe340b937f9613d43dc90293 (commit)
via 1d4d86699fcc9641c1f4dfb3a44a1588353c2137 (commit)
via 8b3a46f93c2b9ee839f806713afe7f88f0482214 (commit)
via c75eca848b682c20dcd3ef850f67491295c116b1 (commit)
via 16bfc2f9705b40a11052f465b83fea2ec0904ce5 (commit)
via fc60b8c806a641cc2260c8b26f389f2abdc99dda (commit)
via 3ca4a8eca78b4d5e3fa308dbd21c67ebef09a261 (commit)
via 4f4690cd42476b0907b51a410fc026bfc94c66d2 (commit)
via 061e12709b50ac8862bbdf9c620d7c35a53f7088 (commit)
via 956cc47c5614b0d50bf538e3dcc88c81560fa64c (commit)
via b5eba2d8c050b39943918057283470959a5d18c3 (commit)
via eeb14ea976c0a07affb7dec3562184836adcfe95 (commit)
via ad0f979c9df2cc3fba1f120c5e7f39e35591ed07 (commit)
via c49829c3c331182575034911f2bb053dfbb7d8a8 (commit)
via 9065c2ceff391da9dedc70d9f6b4bbd051209aaf (commit)
via 75c1c971842f43157c173728e8465e1ce3c1b838 (commit)
via 7054e2fff6d93e4c2b3b6d0de0d8bda72d3c3d59 (commit)
via 9ee194135535acbd7b786d685666badbb59e536a (commit)
via 453f8e1e4918171bc12e4d03aab7ee8360dfcfef (commit)
via 2d151af7190b9cb7787d4c33fba9e9a4431f8a0c (commit)
via 36c25ffa1ab5d6d5ee0fa3fc32f128a58e78e7a2 (commit)
via f084d335110408aa08ea06c7cb217ae19697db3d (commit)
via f5f2b743ae8fdbfbd572756e611051ef5d1d05c1 (commit)
via 6a84624340dd19ccd927d91d79e0ece135c6d846 (commit)
via e044973b0cadb4c36c2a2c11e908d758b8cd75f9 (commit)
via 1dbc40b9d70b95717abb0db6865a12ebd7d91b06 (commit)
via eb51a3cd827a3bf02d80173592a0b5f0d88fa801 (commit)
via 67f8b42f3e65ede1915f2dc4e2ca46ddeb57c508 (commit)
via e5e2bc507d773eb48ed215eb6911c1bb7dd78b79 (commit)
via a0707f3c36cab402cd4c3235bedd2b5f7b4c6aed (commit)
via 0747795c085d3b2a35da6bb474f32c58ce1b70c8 (commit)
via 2f5c153e0ce1b0d3aa0c12724cbc8c3b11d4095f (commit)
via e10620d3b96a725c4752198cb3c7c00ea21b42b4 (commit)
via 69105ce4c42e5644ab92cb9b2765ff5ce6bf7b1b (commit)
via 20a4ca5524b9bde2f5dfb19661570c25a3b05e5d (commit)
via 550fd7bf6858cd708c54ec90412ffb653a932c3d (commit)
via 183445093ebd6be285e29f75b877e62a723918c6 (commit)
via 9ed1348c2008f54368f0fd989a0bf2de8b93329a (commit)
via 10c172ba93dde7cb7c46982ca217e646565bf938 (commit)
via 04174263401c670b5faaaec452aee2df92130ef9 (commit)
via 0c56b5cfb68cd099e00f6fdb5ad08061c7b16b79 (commit)
via adc6a863a9c6c828425d63b12d553f0e8f21e350 (commit)
via 3046d67a0e29686ec18abd719660969c97973063 (commit)
via 353229bf405113e6ba2fe21f2a691bc63aa94bd8 (commit)
via 388a192d73df7439bf375d8b8042bb53a6be9c60 (commit)
via 311dc83a411c83d61cd6cb931289761574ea3ecc (commit)
via 296bd123f76d7f8474b5a2937a49fd619748a871 (commit)
via 979a0d1304ac7d73c9887f851e811d49752923fb (commit)
via d238133d0292926b937aaa6f83bf921dd0bbb01c (commit)
via 9885e6bb5b0f6f0147f9b3a15a4bd4516faf4a26 (commit)
via 286526c1e5f6d54bf6ecc961d7c2d0a32b58fe45 (commit)
via 1db93f14fae0b3a638324e5349fe56a0e625451e (commit)
via 2cc83d1e0eeaad9927553ee157f810e43d47d24f (commit)
via 694c6bf5425024a8654a5541dec88e4dd6ddafb5 (commit)
via 4c41382ac101f10071f92074bab7c33242ef5b15 (commit)
via 89f8fb50fa16b0ef510dcd6de9088cee9820116d (commit)
via 5419bdae559360a10044983b06c11a31de8d81f4 (commit)
via e587ef421eb7e009c6a69da55c269e9df45093e4 (commit)
via 77f0e74cbe2ee7e874432776a0394a3d2a7a4342 (commit)
via 5b9b3e53a68f4568dc0b6907e34e763a6c3dd145 (commit)
via 54b65c9b51ec80ef5812dde1a508ce171eeb8ce6 (commit)
via cf08fb29f8c484a34c4babb015348b220f80a33b (commit)
via ae73e2e2435cb706b18ba05734aee4137a271b3c (commit)
via 6594e122864119d7b1434599c22b112f98e178ca (commit)
via d99386305c5420754e84b9e6073cb061922f4a27 (commit)
via 6406a2701bda7437e879bff026adc8a5a94e87ff (commit)
via a7c9855d033996252fc55349fd3e01670cdd7943 (commit)
via 71ba91e1c0732e203ba465a2196caa45aa8b2179 (commit)
via 93cc1d53f545e84c279c890c6309f3feddd39212 (commit)
via 38561778f3c6a6af98355925bcfd5d3c1e39a484 (commit)
via 37b3ab5b547de7e727c5426c6615ece0284168c7 (commit)
via 3fabc0163acbdffd9d77d7608604f737fc981399 (commit)
via 6b4d77743349028e471334da3d63df09cddfd820 (commit)
via 7af7e9b5d8f9dd8f994d59923158d24d77a54bbe (commit)
via 951d1049fab99c36b2ea827e4eaf954ee1869794 (commit)
via 2e8db3703b19c89e33b7eee633b0b0f1a79a5614 (commit)
via d65d5705cd6e972067dfa7ccf1f9e0950c1538ff (commit)
via b1afaa356621e3236ff27fec09e63fb99e9e990e (commit)
via b6fb1ee51c9a773d2d6044993af6c0fd7499638f (commit)
via be6d4f74c77c6f521afc873d226480e001cb99c2 (commit)
via d7167c671da0323daf31a8e07945c57c25f858d2 (commit)
via 73021deb50855f31bb312241899a464c62155f6a (commit)
via a6c9b4042921847ee52003811383e4b8bf5d5875 (commit)
via 375cd4233dd1576d48acf93309125183e2c9ec9e (commit)
via acef8081ec2ce5dc387ee55a04f75fb27ade94ec (commit)
via fc65c7dbe0607dfb1fc3d1019c46df73854cc896 (commit)
via 111f47f3e4b685acc2378e46d0221e562c608ffc (commit)
via 57299f4831b9afe5923c808534003af665659a31 (commit)
via 3e80dafbfee64a4a9cdec17d60a3e18cf1fef28f (commit)
via f48dfe417e2ceb2251825336fe8769897a4d4b05 (commit)
via f974f26cb16cc6fe3946f163c787a05e713fb77b (commit)
via f3be6050c8d62d59a1846dacda5f895c5b0f9dbc (commit)
via 241110d6cde08bf7367281bac67951d11639269e (commit)
via 7932255de56fb99836b2e712e7dbcfdd5e1f1309 (commit)
via 604b1bfb46e62d561698397cb5499b487eb0db34 (commit)
via f252c6d5dc49cb27838e153e863f16ea7895859e (commit)
via b669c95337903d39aa2254e8ea0405c0ac117d24 (commit)
via 7e955d83c4128ec773d84b92487ed1cdfed09938 (commit)
via 2030c079717475f5b6fad837bb81758891f3b802 (commit)
via 776489e0a79a14cb3f1138d4e4158ab9a8c7ecf3 (commit)
via 6471e7d23de333a63a119220d59b920c6aaef562 (commit)
via dee3ee22244df9c8b3220af7f4361e69adb84c97 (commit)
via baae986a40eb2ed6d612436586bfa7dd1d88702d (commit)
via e89c69419641d638a96cb7ca3c9fa4b3feac5ce0 (commit)
via b84bb29de922b727ae8c37e88c670b299a3c52d8 (commit)
via a4bf3d0720b1093dd148b7a728f92ce690a8a034 (commit)
via 7d7a7d7ccf6047cc5b480064e9eb9489542c0dd7 (commit)
via 2dc8dd17cd595bd7a1b0824c83380af52e633fc1 (commit)
via 7516c26f867b8c235f28a4d449efb9990125e0a1 (commit)
via c24bdb023c8e1fa969d6eb945059fa8ed0d490c7 (commit)
via 1fea0d5379be553f9bcee7c50fba4cff00176d1b (commit)
via e7b47f2e68c6eaff916ea4d1202a77e15730f48f (commit)
via 77fdb0e00bd47c564c4e32726fc6020d9441d4a7 (commit)
via d5dcaf1b59e77047e10a1f246095d6b21f7d9772 (commit)
via 338c923d26fa86f695fcdc4b659a5f0772768093 (commit)
via dc7e818497f0af0a3ee569f6eee0ad74e19b4bc2 (commit)
via 8d64371b6b710831ddfd6a8636097396040476ee (commit)
via bb27775165d9b992120371383012404e213b1981 (commit)
via 05be00a884850c5fe314004c9b91609f480308f6 (commit)
via 491adecac48c5960fe29582f5046c015ff92c211 (commit)
via 183561e05eb4d504f65557756e987b584b72350b (commit)
via bbd94648f2115338bd94e9800ba0e37f09d98a79 (commit)
via 8f0a21480babea5b22cba13a3bee722408ca57e3 (commit)
via 6f072a103498fa9b7795782d9fdf1ae226f5565e (commit)
via a7b8d68257c52281b08d9d858805e15667be6606 (commit)
via f466c3053db1e075a8dd2583baa729c4edbbec0f (commit)
via 5a12586d44fa8d5dfc74cbca4f2f36a273a16335 (commit)
via d63f2be21bfbedb8a83b5c5f317896bf2bb19a95 (commit)
via 55e8aae79a341ce777565dade196e47773b53274 (commit)
via 4ea904edb7b04ad526bd8a5401729a6c1f5a982f (commit)
via 8a2d34fe51edb115574056f56dcea8438acd5285 (commit)
via 1a782351162b1158484923493b567231d1aec7d2 (commit)
via f589354db4c983696fe1db791763823aec83f8fa (commit)
via d73cff189ddc3725697e614d4d247819f754f096 (commit)
via 4ce8c66d19abec8a768add7f6102e856157a3952 (commit)
via 60a90376792474224f3d22b1d9813844a3b3589a (commit)
via 6eb6fb6787430a2589e0382aa3e2e4f6f2a0a600 (commit)
via 9d7c67bfbde3b948704b46f8a6fd479e98ecf2c8 (commit)
via 7d62943cd492bb502f0d335cc695be15ae50cea3 (commit)
via c7af41ec2c79bb68d7c57907699edae5187bbfa6 (commit)
via ec0807b28ecde66dd7c2f76adf433f0024685f6d (commit)
via 7cf47dc46635d8ec14c315e1f17480b56f4808b8 (commit)
via b56f80d8b27dffd0f8c02b8b11068b71b9fec375 (commit)
via d3cb68081112a4976979df3f8eae7ca926e76519 (commit)
via 63a20375b401e24c30987367a10b47b289612e1c (commit)
via b026f59345a336cabf74719fce9f96cab7c7ab4d (commit)
via c7748ee9ceb5a394658cd07aeb0445924599e442 (commit)
via 67aa1f3c2881e607081d9e1b57be3e7544c2c45c (commit)
via 2f667667e24357ff54701f3e046820cf08d649cf (commit)
via 36cb72375cc371b786ceaec588ec26f8c55ae2ec (commit)
via da584958006fd0a3f3dccd25a0a54fa79a0976bc (commit)
via 1ef8573cc77c91feeef3edab74d383d20809eb33 (commit)
via 59aa9b0be159002e2eb971176921dc1e9c8045cf (commit)
via 12add40ee4d01fa0cb4bdb67a7d5d13d6a3b4e23 (commit)
via 8d7bcccb82d9a7efccd75d9552d007c62031e855 (commit)
via b596a3c77da2387d7e5a3855717d65ce33bdfb58 (commit)
via a9342b62885d5119593fa4330924e031e14c6406 (commit)
via 5af70966484d6b26fa7824c0cda110140cd4959b (commit)
via 5923a04c0c489054d275e3b0441626ce1ae7344a (commit)
via 6d6a12bf87bc6dd89b2533b5d0490fdcc00df9ad (commit)
via d320c2b5e181828418224521f2acd2ff48e127f4 (commit)
via 1d94a5a36a614cf7ebe259d7660f4fa725f38ee2 (commit)
via 0f14768a2a6ba894ae81010e8e70c99ecdb39a73 (commit)
via 6eee24ce30f8e95335c2ad8586f9a64398eb2cd4 (commit)
via 75aedd27e6a2c58734ab44cc7cad8491f19d059a (commit)
via 939652a515a10654b16b97e7e2ea39c013714850 (commit)
via baa62830ed84d45b414ff677b7bce900a21923ce (commit)
via 0e8f53badb3df16f4104890395d9324a5bcf568d (commit)
via 1910070b298052d7ca8e4024891465824588c1e9 (commit)
via b22a7c6ab6173fe4fa1352e14d00a234bbf50346 (commit)
via 3b9d3ac236dcc418619785e0660fc0063e6489b8 (commit)
via 8b31193aa9752ba60d63cedaba943370d76ce543 (commit)
via d5da8b3c0d99e71c27832a4e9b60c61eebf9767c (commit)
via 5accd1a07e080c386918da413e0f9e90c4cab58a (commit)
via d8aeb77f040ced7d37ab83f032b2e4ded2c81ca5 (commit)
via 592553c46959c98bf5981ad245d0fbb97f373d2a (commit)
via 5325b9bf1ee283c40f076334eb3ea66e1f0a6ade (commit)
via cac85af2467c9bac326b397b150274d95d2916a5 (commit)
via aed57c537116ae91f553ac835b3f96d1f87b3bb0 (commit)
via 99d89cdea6c296bdd94ce532350d139d3900ff78 (commit)
via 217083254a26b9e1dc42c43f573054740988c2cf (commit)
via d30e1903399c32605d38b8d75a612c0d5d3d18b5 (commit)
via a08da33eb3f69dec01810440a40c77ed56a79b69 (commit)
via 669e09f609d30e070dc26db34d938a0888a01928 (commit)
via 448b8ca86519cce1216c9db5f0236604a6a33320 (commit)
via 39f286cd585226ad98c2cd94ee0f96988b3696ce (commit)
via 041be52673949e5b6cc2b507e55a379a54ab8ee0 (commit)
via 0e2a21335b6fc4a5b6bed19d9623916c52918b72 (commit)
via 8379fac67e963e0d12649c58f79d52824a7eafdf (commit)
via c0b0b1c2b4376efe8a2bb2e65d7f1f93243cb7fa (commit)
via 28e817cc440bce73691c03e01860089a0954a837 (commit)
via d820d0c37beda1c29ff50bb1f2ebc1d23114d735 (commit)
via 1055a3b422da11b252fc83e73a5e9f465233e73d (commit)
via 3107326d3df950b0578a895bb835b2a8dfa8fab7 (commit)
via 923c6a756476f3a1f92d6625aacbbf5253b7739b (commit)
via 05497ea85a1b03cd336da4e14af5d147020a4399 (commit)
via cfeadda545c4961877969e6a66be79278696e012 (commit)
via 236f4ebe3ac7e8f94184fdcc39c70d74cc62b82a (commit)
via c8fcc36012301d7402fd990ee5d8f78dffa824f0 (commit)
via e3ecd631339aaa2a4af57f59f0694671d4ce00ab (commit)
via 583068ca1d855abd09ac979c688f48b0ddaabe0f (commit)
via ec98a4ad5bfcba33deb5cb786c023082adbbfb46 (commit)
via 62ea19c1000856c2633a952c52269fca4143931a (commit)
via a9859e01726d085db79cff88550fdb38e2434e42 (commit)
via 171b8e19575654ab32321eb99f3fd112663ae7fa (commit)
via 09134207b2ab57a66e30255d0520a36c01e78313 (commit)
via 4ae80ffc55cd44fe9a5527403f07fee70307b2d7 (commit)
via 053af8c9034f92d6e36a1180655ba22a65c56437 (commit)
via ef8df4caec24669a11680aa1a696d470fb6177ba (commit)
via 7e9ca91e006d57bd39838ca5196c1bd0db3ef170 (commit)
via b91c5d6e5a3f373e424cede99cb4e0958792414e (commit)
via 9d30e1fd7cfc742b03b7d973e511f7bfe5cfc295 (commit)
via c65bac3846567a8068fe4aa5cfa79da5b193a1af (commit)
via 02e12e3806bc60f66e3c446c4dfa9c06a400e604 (commit)
via f097f5ad808bd535236a65077f40e9d082a4ec0b (commit)
via bb86dd08b25624206c3943b56b79784928e58464 (commit)
via d2adf9f120dd9ddef67b1d94b24298dfd3410bd1 (commit)
via f87673e04f4ec54301151f74237329df14133569 (commit)
via c8c89dac38c723a2dcff9beceb9e7c09b0c5f3d4 (commit)
via 6a25bee8d049d3b51cea9e10f487fc04c792dd66 (commit)
via 59581069b4d070ab0ac61047177ee119110d678e (commit)
via 2eab46b176fa315ebc07569280f020c3348c2aa2 (commit)
via 2ee73c7abf6408c543bf297271c83dff8e87ee44 (commit)
via 48c5e7e239fba27bea134f6cd5f414300b7cd3ac (commit)
via 1b2ed39c3a7ee2870f3d16a510d31e8d5916afbc (commit)
via bdfb4455977ffdd2d3f8dc81f25f6ba1ea2a7f49 (commit)
via d9858c37914e104401071b12b060765024008fe4 (commit)
via 11fa9f134fd658075c6f74499c780df045d9e9ca (commit)
via cf0ad5bbf2d3fdb751b5f3f49e55d251d48c7416 (commit)
via 677bd4c69d0eda4f2ae635d793f23c0b1413a9e9 (commit)
via 8261e52d1b8381252ede6754ea6cd1ba18810f1d (commit)
via 986041cda76a312e4285c9ba1e51b1778fcb15ce (commit)
via 7c711119166fc1c60c756059f39c6703d57eedbf (commit)
via 1b20edf043c62759a4c78e40b03846e9bafd584c (commit)
via ea41325b7d134e91648e340d8297e8f6ee5fe26a (commit)
via 2a3c71d68d452bb6b06d199d0eb7bc0cbc2b9b25 (commit)
via 5c329e6ab4c7bba9b83155571b150756210001df (commit)
via 169bb27bce3dc43b2bb5f6abf7fc21c19de5454a (commit)
via a07c88800e88e26fc3a746739f0d2cc8abd30c5d (commit)
via 26089c494f0d6fa8d4afeab2e2e53b25d299bb9f (commit)
via 06d3e5b0046d69e3da3450d2eb07c29f0c1a189a (commit)
via 66644cd32ba63e7fda70e455766b438631ec0b61 (commit)
via 592d8c0a5d193d3aad03437942a54a667477acea (commit)
via ef1ad42b8b5f2c43d74582d2e629841c39962c18 (commit)
via 444b3faef5397eee5a06fe0e683d2ac3e6628fdc (commit)
via 69961a84c9b3744a10248fb6cbccc3c688a1e0a5 (commit)
via e8b1c9b397af0fdb3489a207a8d7d3fdcaefe7b5 (commit)
via c55d06ec95961fadd9deeffae519ff0f20f237d3 (commit)
via 3a6ae42d4e4ecfd2441cf9b978b2a54ad6767cb7 (commit)
via 61fd3e738919700c8d0fbb942519d72a767d90b1 (commit)
via d20172fc53017cef12d64b21aa2fdac72072558c (commit)
via e3319240732bc9543af8ced9d80ec89d0b629b2e (commit)
via 5d36dfb949751663bcb814b3cc780ed8f47442b4 (commit)
via 8833fbf05c5b93fb3ccf666d5a3bd0e51e75d1bd (commit)
via 4ada3dfd5c07f0f1045a721a28fc905918ffbdfd (commit)
via 502c64b9ac12cf2a35d3cb55c51e2eefd33a2494 (commit)
via 113b7b8142427cf7a9ad85fbc39e1319b52649b5 (commit)
via b18ca5148b837c878b64306be2b78b15fa730259 (commit)
via ec70d8db32462176e7da60d28b0c1978fc6b70d3 (commit)
via 5b38f9c16e5b3f5f4b5d7772bfef59b1c97e2d05 (commit)
via 827041555ac443bd57340060f3e034fd7b199dd8 (commit)
via d5c04e1bf81c06ab5c30e69eb41b5cea9136a109 (commit)
via 66d91b39089d606c9589673a7c5419cf37e7d639 (commit)
via 42a4f53d2bf8938c2aeda9f52be7a20534b214a9 (commit)
via 5bbd631dca26b37b1cc7164d4499949826b8a102 (commit)
via bba90696229e8d7d3a37f89159d91e0906357bbe (commit)
via 2139e8dc9f8f11aacb3e4b697a3d554b28d50ee6 (commit)
via 8fd04a4255376036e85c4e80d430b44ec4b06c64 (commit)
via 54025d5812ff100f5f0654eb7e1ffd50f2e37f5f (commit)
via c96e057398b599a343cdff68325251346b71594e (commit)
via 17c885c61819650bc00790988e46d3d1d8801691 (commit)
via 95bc9f0bf06637cf9c1147008ac32d6b00c42707 (commit)
via ecad3b215d34263968bb7c74701e3ca9483ac710 (commit)
via f1d3b1665f4980c893b496e85906ce43917cc515 (commit)
via 64c45143db4c550e19763edf97ca3441c78f9a05 (commit)
via f9f981e5f64c3941ccae45c7a2911898eeade5cf (commit)
via 2cd8cc0b66ca297bce4d08e4f712f86d9f1a2fb6 (commit)
via 140a4bc099820c909da0eac1df0f56ec468ad3dd (commit)
via 62f29fda90cf1d5a1899f57ef78452471c707fd6 (commit)
via 4a3045920bbe4e50a0f4920b0fdc4e88ef23015c (commit)
via 1d1d0bf76f3bc3056a1456e53c066f40ca4d0837 (commit)
via 35fb8261b95c07e548a0b03f60b6c2cebf83caf8 (commit)
via 47fd17cdc14a0d295a2cbdc02eff144e3fb4e900 (commit)
via d47032b7ca85852acb1d2bc645f477ffee4373fc (commit)
via af79b68d7f935799c956b1a40e92a167385b5380 (commit)
via 0bb296cb5f3a81b4b5e702208aad911d3b727f8b (commit)
via 80ae204359b707f2914132ed353d3cecbdb58b23 (commit)
via ef1dfa3644f02efffa11d718fe5788c05177587b (commit)
via cbe5657196d0d3acbeca39973f93f333ecedacda (commit)
via 9162a27c5f5828240b53379d735679e2a69a9f41 (commit)
via eedeedd2a50d121af466ddfa9e897212defbf079 (commit)
via 7170dadf5950e1444ab09cdfc4e07dd2698fc275 (commit)
via c5603d506350cca3b1af7ba3a97bf05adeea0508 (commit)
via 94f2c73066597f33933bef2d20bdbfbf6fcd8b69 (commit)
via 156f23669270533e1499e15e49842468800c2681 (commit)
via 0e41bebb938dbe9eae7063f5321429194bfc5ab7 (commit)
via cb87d9f1a49986b2eb92ac381444f4cc7c9d8a4f (commit)
via d1a3c973fa1c0d7eead585e82e02db11daeb36cf (commit)
via b6d3efdc59c84f418e2d7e1a1dfbc5ff33f44ae5 (commit)
via bc543c902f9891f732be68817e16ff379b69566e (commit)
via 6ef2312a177ebdfa841e82b515c144975073a501 (commit)
via ec9c2750b7bab8a55aaf7d2386e809d4e81deb03 (commit)
via 6987262214a204ea3ab857d86a1faf9f4e66f211 (commit)
via b180d0a254034c14fd540c1b57391bb413f788f7 (commit)
via c88c222e3c01e3f936455dca59f486e310d12f69 (commit)
via 47db57fd4ea9379c356c326458691f5cdc64c72b (commit)
via af9a216102c27e308e338f77b6f9ad78dd0d2c09 (commit)
via 075c55e0cc0a68eeab777027213c2f545618e844 (commit)
via 293bf1a719e88e063e75ae467c5aec101b59fbf6 (commit)
via 3cf139964eb2e2d3008174aa3d446797fce31240 (commit)
via afcfda091e15beb9580398709235c1866a4c79e1 (commit)
via 2ab54467f89763c96e2e9bda876eee1f9c8561b1 (commit)
via 84b68c77e7f1c8c883ff94aaa2fce0df2eab0877 (commit)
via 39c2d8290bfea758aaa7edb2a10faf2076b950bc (commit)
via 50794b45a2a7330fc32b118bff584a3a2e649ac5 (commit)
via 5172760036cc706596970b35f106aa5a9093b44b (commit)
via f493efef89a544ebb7f1aa0c9bbd688fc34b5cdd (commit)
via 6f0ffe50c8f395ccb45ba9e801906b49d18c1af9 (commit)
via 0f5d3f636a606e307d8d8634415cc1e313a38273 (commit)
via b6c95c0cc5bd60e2de86d611120bf6191f99860a (commit)
via 45b8ae0c3348a6e6aa64ad5d114adabdc399c5ef (commit)
via b5a1e55720f294fd0d5e1ebc21ccc01083751acd (commit)
via 56334baf0c2d95e41737d084ade2e8c35baf1c31 (commit)
via b366503e45a2b28271dd12a7ca923964154c2716 (commit)
via 03eccf7a34d121385663f1b95b757ff6aadb0ede (commit)
via dff021e14a9c72380311c15a90c1a646b179b987 (commit)
via 74e3300d8aecbc6973f61c8cbbecd7bdac4f05d0 (commit)
via ecc82c059059cfa21a8a099779253686f9637f9f (commit)
via fb44d95af64dd0609760c1400b9ce4da09296cd1 (commit)
via e08b849efa7af6cb13d7d3d02dc366b9d7f4208c (commit)
via 5ec79917fa45f4f0870d7d0a09806e31dd5d28b5 (commit)
via 6e8b1ab2fd4c692146eb14295866920f83dc5403 (commit)
via 6d78332e7748754d4a77a31e692fb8760c8c12ff (commit)
via d00a27c5addfb6b7350a39215b48f4aaffa5960c (commit)
via 50c7c5b8df15aad66a9d2f6759e85689a2a74271 (commit)
via a96bd1ccc0dca2d260e0e30de462f37066973ceb (commit)
via 3dcfdc58656caa4a38e1fde73a07a19114347226 (commit)
via e8f2b38a26591c44471e04b09b7b77990845d520 (commit)
via 76268e027479f587b46b70b69760f1b96204bc28 (commit)
via 161d081c56f12e7a00d8a07ccac445855d5d357b (commit)
via f0f13ece4ce4ae5745cbf987c187306f755736b8 (commit)
via 8bcb5208976448aab20df7dd50e9286ef1f7e22c (commit)
via b9519cfe9828b9ee5a73e74b4be83d46f33e6886 (commit)
via fc999e8020ffe8e1136da70f275bceafaa62a588 (commit)
via 7406a50077773e78282a495cb32ef5b8179f6a33 (commit)
via ebb8004a18a3808d7197762faf3c5aaeae82371f (commit)
via 2d5d5a8f0a8b5a03454bf168b7fa7024bb1ebbd8 (commit)
via a529dcc854968b7f6ad766c714650011dc361382 (commit)
via 7af5d5c4dda26ac36ee2ff42af8f39a10382cc41 (commit)
via c5ebe0ff706521b4a5fb66a5e764031825276ad5 (commit)
via b55a4797099d2b871624cb525c1ea664262dd7e0 (commit)
via 9068261f1c254a8051d1098b87ab1ff99d525b7b (commit)
via 87469ba2d2fc953796c7bb64e535d3f283756048 (commit)
via 51b4f73a37c2e7eec31e932fc3c8dae879735f63 (commit)
via 4ef5dbe493310e3632354d4937727a755c13c291 (commit)
via 3a551c7a1b80fca579461774860574eabfd7f18f (commit)
via 40b9228581bb9bfaa3a444a6a19a9b41ebc68c40 (commit)
via a65f68357f644cae11536bbb8a1699936ccf1368 (commit)
via 76d2760bc38ada83f81087f16eb151ccc0176574 (commit)
via 7ff6138b00d245b765266ccaa238e51f906f5356 (commit)
via 097b3e508759ac08115947dc89f23a97325f6281 (commit)
via 0a59decbb81676ac30deede1bb6b6e241cd75502 (commit)
via 0681fa5ee5a1059b9415c4b0408030fd25bd26dd (commit)
via c68033869a714b79f20d47ca54138c13439c05c0 (commit)
via 64fdde094a2747e9aa729dfa4f1568c3d24ab80b (commit)
via e9076973c822e6df7f84bb8bc0b69aa42dd29eb3 (commit)
via 4794efbfdc4b1497c1f47397b2a2c43382e3de78 (commit)
via b7c8601a7f2874de1bbe0dc38ef86ea053593ad8 (commit)
via 09038062534606ef9100b5474d136f7d2e543de4 (commit)
via fe554d200d1befdc3bddc9e14f8593ea3446c351 (commit)
via 66ac1ae906fc09806e827c8a06303fa7bed221eb (commit)
via c8749e5810115ad822ae22db8a8da4c92b0f285d (commit)
via b001de2320446ec803b4ee5e0b9710b025b84469 (commit)
via 6bf78e29a1dea7121f050c6ee4990298eec679dd (commit)
via 4de3d8d06673d130e256a6ad81e5df2e412934c1 (commit)
via 13dc50ee16e1ff4180da61bdbd86e4a3c304b283 (commit)
via 60f9fdc9c2f43f2d578f707ac78c18251f6d4ae9 (commit)
via 00863b8e40a0afd0daf0925acf3f7c794dfd9c73 (commit)
via 750b258ef80992e76a3b03fe57dc9517e63de7f5 (commit)
via 9f375018392171cb46dce2c929ee979c67035f26 (commit)
via 326b0c1289f97a25f3846f1d1d8d32811bbd1789 (commit)
via 550892eb5a320c5a55fb4f45750514cd16433baf (commit)
via 209d1499de79eb23191f5761166180b80feb900a (commit)
via 69799d67e8872dcd3feee81ed2ff0fc47beb52d7 (commit)
via 99e1a184a791d30c09a86d6eca4528dc146c2c79 (commit)
via 8970c0224e3c36c565672089e38de42765e87f47 (commit)
via 5136770380a3a829463d5ef29fa8339d386db51c (commit)
via e771f7a770b07c676958247464962614266da755 (commit)
via 69cb29528eaf96ed82c25283586a8cc914130439 (commit)
via ecfe6254b5e27ba5dee0841d61d565cc1fe3318e (commit)
via 9f52eab6a7a69870c7b5907a20b0305f30dbf2ae (commit)
via 7a81c1e2d44c6eb11b2ea24dc71ee959ab3a5acd (commit)
via 2578ecb1b583408c7a75716edbd203995da373c7 (commit)
via b5ac78ffc6779b5caab4d24a31a5e0b5cccf4858 (commit)
via a2419b98d90e89acbef47dbc7a9047f4580fe99d (commit)
via 73e8dc90a8a94bc52e29596b1cc176b882fbbc8e (commit)
via c0ab2ae3cc9af434ba926015d82a39cdf42c70bf (commit)
via 7ca166c9408599e64c0cd3c5d3f0d00c8fae2d9e (commit)
via 5aee1c38f938d4f7c9f8365fabf81e2d1f1ca051 (commit)
via fbcc8bafeb413a111cd3caab39b3ab57d5b8ce93 (commit)
via d9c859da9fff9de47a33f52d75a6fef2495b3fc1 (commit)
via 42e151bf4cc66b8781f2b139c6da320095f9a045 (commit)
via f50fabe4f66534c9addacddeaa439e8d164eadda (commit)
via 8bebfcda34f2ea883fa6b87e748ad8a5f72b352f (commit)
via d2ef37ebd9f771d06edf1fdea37970f60b242b2d (commit)
via 4a8110007bf58be329f108374e00ef8ddc1fe3ec (commit)
via c2f5dc30afa34696f2da0081c4ac50b958ecb0e9 (commit)
via af03af8f55f2536b6e20928e6b1fa0324a5f3d6e (commit)
via 67bb16f345cb72740ab523018709c183ff3f8c8d (commit)
via 9da0a9988db7c9db92edaa3dc98f2a0648782b71 (commit)
via bb6bf75e7a1f9aaf0283895705710f415b81b6b1 (commit)
via 23ebf37881dda7fcf9dd86125705a30b6e2084ce (commit)
via 7fb45a689543be75809a0513900d82f5bd859338 (commit)
via 884b49e3a91504b9c5528343823d67f4419b73bb (commit)
via eb7be1abbc59b49e5f60b9ad075496eb619674ae (commit)
via 2861ee4fde97d0afafc506380c5deaf71c8439ac (commit)
via 3a67e1a6b4430374f3073e51bb19347d4c421cfe (commit)
via 90af06793e9d391c0aa33994f21bba6971d084f7 (commit)
via 13f2ed32e14311bdcdb9d6efe263486d5d128cfd (commit)
via 754e31689866524049b9cfc68053ed4e1293cfac (commit)
via 9af7cc783aebb975a487747e530030b47beeca09 (commit)
via 706adc34932232926678abf9fe8bd530492d9e5a (commit)
via fde51dd189a1f8a63896bcb845ef36ea5e1917d5 (commit)
via f4238194a211a6a27598a7fdf9ad63f9b5d6fbaa (commit)
via 314a80c41d52737c9cfdc80dc2f6f56e0d5cfd96 (commit)
via b90514cfb5e1f9dcc2c0b89e22b65dd6c7879564 (commit)
via 1080bf78c05b220f5f4bbc5c50d6a0ef6490d738 (commit)
via 57b64c4103ffeadd524eb80b4a7d61be8c8ec871 (commit)
via 8acbe8ffa02f62eb9371b8626576f83fcd6989af (commit)
via b570a287cfb5715bdfcbd9e437a4f4fb9b94c9d4 (commit)
via 5f6c22aee74f17393b82934a5682d985672e011a (commit)
via 3134061ce6e33ade4cc65a36578b94983228815e (commit)
via b44ee3a8cf21294eeb079ffbada7eeb559a9c6b4 (commit)
via 4770fb94ee04ef767cb2c171a24168d2b5acca04 (commit)
via 726bd37d6c5d5013d34023044ed7cbbb01317978 (commit)
via 64d27cfc97f5b865019f0b7293ff2b9565db427c (commit)
via 0acc7632bb09cce832a1b3756d31cc3fa93a724a (commit)
via 35d1b0784a27fcd71daf1b058423010c9001f039 (commit)
via 93579f6f908fa6010b141fd5da2974d878869c80 (commit)
via 4717cec4fe4cb3a086fb13161603112e8ded787e (commit)
via f8eb6a9e8986c6428de629b5538e431e1c04caf1 (commit)
via 27c634e0ed18f769fb92d03fb75ea491fb6656ec (commit)
via 92528b6772a19dd671b52d954c14886b11fc0a8d (commit)
via 634494366c515a89c4747d8a68a8da9218bb4969 (commit)
via 65a4b373267813ae5e47ac519da2e70d9c7e09d3 (commit)
via 0ff80bf7b9901b5e3c6805b99d30fd555f512d69 (commit)
via 81fbbaf96216ed88973a069e4ed25379d7421ec8 (commit)
via 66b4deae03e7a503f8c543aa198a8c010863135a (commit)
via 20a71194793bfa791b9090db2d47a67388650d93 (commit)
via f3d11a9a96465432c01678445fc2fe84f2ef94f7 (commit)
via 3b3dac9b3fd916d73726c7e5508f057574f74d19 (commit)
via c180496d2ac268c06c13600f729d02ca4266e6ea (commit)
via 5f60af5d24d181371d67534fa273dd221df20c07 (commit)
via beab453223769279cc1cef68a1622ab8978641f7 (commit)
via ba85c15dabe144e4bcee5a1b388b32bee10729e1 (commit)
via f746c08f26dd71fdd809bad8cb92a6cbb8336ec4 (commit)
via 95b1f9ac6b7de84b09580bdf2456955bcff86da1 (commit)
via e61667ef1413b9fba1bb9dc78744329f8215de74 (commit)
via 12951a2f080abfd23d0aae0a9a5b2c322fd25c9e (commit)
via 3d5500e9580ec0f3cffeb1f1373834cbc1d2101d (commit)
via d105de22fc385da878e8db44c9503a7f30419322 (commit)
via e368bf56d38afecd1ac0e19c9e9cb54e2bb4fad2 (commit)
via ffd9e4d0225d45d1603d09e06151c388589e063f (commit)
via 8936f76804c2908e4abe911441dd03641204df9d (commit)
via 27e8f8efca2bea184e485c3c2ceaea6c42a82125 (commit)
via f68d3e00531b5eef1941a097c4882395eb2f64e5 (commit)
via 4765cd611992862c844e8f152c5dbaadaecc25ce (commit)
via b5ab31636d36e1252791cec179aa11ab9d9b87e9 (commit)
via 3c7687b9cdacc243f7e23cd9b144e72b88d58817 (commit)
via aff68bd0415c6f834cf1717865b5b44dea6b9ef5 (commit)
via a5990ada637d978c43c6ff07941c56e97a3e6965 (commit)
via 131a5a648d314cd15811158150573cb40eb3abd0 (commit)
via 9fca35fc3486283562a7fcd9eb0ff845b0152d98 (commit)
via 35ba4bc019ba75eca36363164eeaae3f011b32c9 (commit)
via 4207142d6a5d2359170c5f9a140fc1a2351fbda9 (commit)
via 6a75ea85b19306046e04a08eec344ec67ec2733d (commit)
via ed2df75c51551cf9b44f7d94179849565ab5bdda (commit)
via 24bce9bbe510c9efa36c0f85fb2f8a93ec8b623e (commit)
via 9b4e3a5e23b37b3e9ff188043630d190e9c2e55f (commit)
via 2eccb8f91fec7bb6431b55d701e5c7fd2849e3f5 (commit)
via 0a744d8f9d434e2338bfabd9eeb1b02e225eb1ab (commit)
via f63c03b470036353c8c6c657e15f5ebd62ab67dd (commit)
via b5b12e1dbe0f2739624f91621828df73ef55e900 (commit)
via bb31d44bb1a1594ebe0011d652574a6b4a852080 (commit)
via 5446094655df842abb4ababac39f34c6342e8da3 (commit)
via f5e0fe29ee3b3b9a27a68aacdb6950fa22372099 (commit)
via 06a3cd06d4d1a2efe4d6a14204e1e5653bab41db (commit)
via 5013824590f59374106007d4c9724d5767911d75 (commit)
via 6af05e645ab7fbbb4e0b663f50febf052e6d09a0 (commit)
via 8e4b63920116e5c0e5c7efbda29160356b3c868d (commit)
via 080363310650c93ad8e93018bcb6760ba5d32d1c (commit)
via c4c17fb0f5879d3f58c733a4139fa59817e8155e (commit)
via 151bb4a5059e73934f7bc61318efaaffe0c91b81 (commit)
via 79a9468c702f7087b5bbff2cfd2210a94e7c5fa4 (commit)
via 27f42a4ddb28514fde3d01083120674fc8c0c107 (commit)
via 51534d7ab8c77fdf2af52f409cc4e348e4213bb7 (commit)
via 1c97054b87495b008c6028d697deff61c9fb0b6e (commit)
via ca94519e70c39fca1d6ea93b8604349111522a8b (commit)
via b5ffee3181d157a4d964f62344ac827142e37bde (commit)
via 38139a9681a32e92f5c5b8437875d2726c009841 (commit)
via 85cca2bcbc7833b33d4b61d7b7e0e75b9afa063b (commit)
via 82ceee50146563a61ed19f4ad585d39636a6dfa8 (commit)
via 0891c3cc132495ad7b323896efae4f91eca87c6c (commit)
via 6b1747cd135ff9859fceb6043179b1ef94363996 (commit)
via e71585ffe2e1394858f0fcf809e86f1b324fe4e6 (commit)
via 1b288e9bbfc6f22277ef7f804aeca26e991ad0a8 (commit)
via d63095c426f704f75d943a7481189628403ed58f (commit)
via 1871a62daf0561da0880ba1ad39e8191bc3cf1ac (commit)
via 604c4ca9f33d13813312b2f127f6599a5c5de038 (commit)
via 20813a0b7b0ccbeaa64aa83d92cd69e16a30cceb (commit)
via fb5e1ed910730334c713c0834d3d66503511ef92 (commit)
via 43d397ca8f097e8f0ab0c245afeaa22b8da7ac52 (commit)
via 9e6a1ab6652e8461f786d5c308f632a7c0acc53f (commit)
via beddd67132d5f8240613fd89b21ae0d2a1c7bd0f (commit)
via a8462bbf0bb1c2ef55c87d32bfde6d0a962de87c (commit)
via 4399bce99b9d1b4e52c386a1953c53337d22b457 (commit)
via c3247a98cd2bf9dfcf733e6968273cce90850807 (commit)
via 2fa1b3191e449f1efca31a654920a6bd3a1f4f28 (commit)
via 970d89d8fdd84b31decaf3bd84e785aad057ea32 (commit)
via f92f9e8780f74c5084c59689f91d28b8a3471538 (commit)
via 7b5227d1323e6ee2833f9ba44dea36f3c1c49179 (commit)
via dbe4e6545ee6a02da1a081fb51becb2843353bad (commit)
via 85a2ae1134426242fe52b609c372234062e0fa58 (commit)
via 0614ef69be074fcfb2dc4e7b0e3b9c715a9b44ee (commit)
via 261f6f7962e3fab7cad813a8821f00cd0173f88f (commit)
via 73fc52c4ccecf005aac264e3faa08e815d25118a (commit)
via 994b876a510ad2ed7e0d34a4c7d08f8039cef6ef (commit)
via 39a36629f68e9796d950d9204012fe8272e2d0ef (commit)
via 32641fa9259dbe2e576add1992434f404d1d6881 (commit)
via 6769f2765db0d94eeb8437b41a925e2bd871f514 (commit)
via 4f323b727743e40ce9b0bde1e19a73b4586c2f25 (commit)
via c2a6c5da37c0135acdb859ca819870980db69b77 (commit)
via ad6d89178df984c70c39f31eca149d8e5806c848 (commit)
via b1406c0b980e3ce80abb119f918737916c43537d (commit)
via 38a72da0f1d968432ae6a2a9697ba55932dc075e (commit)
via cf84fa6bcf514157df8343d32885050bafc396f7 (commit)
via c5ac5cbb5be91d43bd31ac0068917bdb7ab9b439 (commit)
via 81c688d54fdef81c5150ba64f8efa10449093e43 (commit)
via 2a2c6f530de72ff2794fed1e41979dc3210991b9 (commit)
via f9db0c4c6c074d2df927d2650229f31eac079640 (commit)
via 92b3642af0e739e526e27d4b4a0c0505e72a8879 (commit)
via a0cd42fcd1d9a7544e93f6b1ef7f9a1fe98c8897 (commit)
via a99bc3d23c133fe80f7ccac44246a471fb075bc3 (commit)
via 8b2d40cbba8fbf98d6e031c7d8c7e2ac1baae2d9 (commit)
via ef2de9e7eb19cf6f56c8378df82cab30ff741fe0 (commit)
via 174f8ac8d49021137f98884fc22a7d233e2f89b2 (commit)
via dd9168931facd539a585b88d7b7c6c04c8c065c2 (commit)
via 0242af401093907f6f2bf49d90c1e5d1e23b4453 (commit)
via 97b3f39201efc9029a9a27d65f13674964c51503 (commit)
via 497d849d28d933016ae0ad388c86b08bb16dd504 (commit)
via 7322dd1f69b18653692e6d790376d7754b9cfd3e (commit)
via f77984e974c13d54a5c6a1e5d443c0c4564e48e8 (commit)
via 53a89d6e5861d23b2b9ad0c82247daddc117701a (commit)
via 8a758655b3ee39bed245a6ba2fc9f81f77813443 (commit)
via 3a0f69be5589d351453afebd0974992cff3ee4d1 (commit)
via 70f3d23af74dd6a1f90aec8748424cf0b5a953a5 (commit)
via 503ba600259856b41a88b56922e094ea826df270 (commit)
via e6025b546c21b280ef05201b065f07335ee10e2e (commit)
via fb3265b371a141c4ffc97dcf8cc66e090c516dc8 (commit)
via b731bc3b1bd122872a6aff68aafba1eda64a98d1 (commit)
via 193614f2b908c2b55c188cb14c3ef78993ff85b0 (commit)
via 73b605ec3f546ff5a1c343ae02e6322aaa451bcf (commit)
via d1b603a74e3a06da231727eb88947666e1885196 (commit)
via 417e50dbcfd4b8dd699f48df5ac9b9a733fd80e2 (commit)
via 0c57b50523a36c1fc9cb1c1c884c036027f5fa28 (commit)
via 00a9f4ce3d20a9f705838961b529ef1652b7a0ae (commit)
via eefce37f62d87a65f63e12e421a3f727b2685e9d (commit)
via 2179fbc36d23f29a83fb3dfcac0fc7d1fb31b8e8 (commit)
via 9c122c7f9c8260d2cceb1e8f29d69607531f43ba (commit)
via 4b905ae1b4d5f90e5737ee01ab4b7149be8c1fe5 (commit)
via 5d762de01cc537cec47d3c7bbae0424a33b33b04 (commit)
via dfbfec241aa0ec5359906dd9cdf89ff90750d7c5 (commit)
via 20b233dc4872717a845066b0362582ea4f483df7 (commit)
via d07b621f4cc585607c7eee7cc58ce54a7dde52f5 (commit)
via fda57deda7cc82d89ceee1afa966313247e60b1e (commit)
via d2eb0fb5a04e2e2ad374f56c7107f2421cdd93c9 (commit)
via dcd9adc5cbac756507eb5da65a4f9cf3edb8fc93 (commit)
via 71f5e3f7b624a725ba550a2dd18a413c88ee6497 (commit)
via 0d0b0a378eb0c6705ff05a52e7468f5df5e47bc4 (commit)
via 0f2064107ba373ddcffb30afc55ac08b40c0585e (commit)
via 73af69e74974eaa155eec89867e3ccc77ab39f6d (commit)
via 9325300dc283ece6bf6305b912f53114c0895114 (commit)
via 13daa8e4889a971309f7d46a8d49129cb26088a5 (commit)
via 0e2779e98dc1251b469db690458d14262c72e303 (commit)
via 663cc8c0fc6ed1fc64b3a3930806cdaf33cfcefe (commit)
via 9c710e1157caf7a2c3e4c816c72f88360f3e859c (commit)
via 3c6618cd22d7f188b7c1a3c87edc8ed2b93fbe41 (commit)
via 20f0d60db4fb5083779c4c9182bbc692f7d2bac5 (commit)
via d4718d5c9f9b5c41d88254429c61010c63139130 (commit)
via b5420128da08dc81d94b265e88083d172909ea25 (commit)
via cd115d615c6558175a56c3d0896b6f1c62864cd1 (commit)
via 17cf2897848e893d49b69eb65e00bbf71eb503ba (commit)
via 5acaada74578ee6a902255f0272d5f3115b76309 (commit)
via 9e49efb79c449852fdb2f727d500d7aba1e449a7 (commit)
via 76136aeda5ca3f23ba2f86fb6a6938b381d37f61 (commit)
via 07deea26b5c3dfefe50dff74925e903b826acf22 (commit)
via d3def5d73eb9d8295ca7b11d130b17a815151951 (commit)
via 0661ae2e5324719f7850e81fc1da9f6505361ae4 (commit)
via fc7b364aba41819a5d74ae0ac69f050af282d057 (commit)
via 35ee2dc2e4de8b1ae73f420d5db3375f92300b70 (commit)
via 42d4c301c45df41d1c724b7b86f8683a875c010a (commit)
via 8d3c78e473c2af54c8117808f2459a408f9f6327 (commit)
from 451fedd097d72653b034d236d5e23e0b98152845 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit 90309e60ba3d5ddd633266743104b390270be73d
Merge: 451fedd 34ef62f
Author: Stan Cox <scox@redhat.com>
Date: Mon Apr 1 11:30:02 2019 -0400
Merge branch 'master' into scox/strace
commit 34ef62f46541d423b991850b2b7ba34d8749a6ba
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Mon Apr 1 10:43:32 2019 +0100
[GAS, Arm] CLI with architecture sensitive extensions
This patch adds a new framework to add architecture sensitive extensions, like
GCC does. This patch also implements all architecture extensions currently
available in GCC.
This framework works as follows. To enable architecture sensitive extensions
for a particular architecture, that architecture must contain an ARM_ARCH_OPT2
entry in the 'arm_archs' table. All fields here are the same as previous, with
the addition of a new extra field at the end to <name> it's extension table.
This <name>, corresponds to a <name>_ext_table of type 'struct arm_ext_table'.
This struct can be filled with three types of entries:
ARM_ADD (string <ext>, arm_feature_set <enable_bits>), which means +<ext> will
enable <enable_bits>
ARM_REMOVE (string <ext>, arm_feature_set <disable_bits>), which means
+no<ext> will disable <disable_bits>
ARM_EXT (string <ext>, arm_feature_set <enable_bits>, arm_feature_set
<disable_bits>), which means +<ext> will enable <enable_bits> and +no<ext>
will disable <disable_bits> (this is to be used instead of adding an
ARM_ADD and ARM_REMOVE for the same <ext>)
This patch does not disable the use of the old extensions, even if some of them
are duplicated in the new tables. This is a "in-between-step" as we may want to
deprecate the old table of extensions in later patches. For now, GAS will first
look for the +<ext> or +no<ext> in the new table and if no entry is found it
will continue searching in the old table, following old behaviour. If only an
ARM_ADD or an ARM_REMOVE is defined for <ext> and +no<ext> or +<ext> resp. is
used then it also continues to search the old table for it.
A couple of caveats:
- This patch does not enable the use of these architecture extensions with the
'.arch_extension' directive. This is future work that I will tend to later.
- This patch does not enable the use of these architecture extensions with the
-mcpu option. This is future work that I will tend to later.
- This patch does not change the current behaviour when combining an
architecture extension and using -mfpu on the command-line. The current
behaviour of GAS is to stage the union of feature bits enabled by both -march
and -mfpu. GCC behaves differently here, so this is something we may want to
revisit on a later date.
commit 52093e1b936fa4f3f8bb3868c5a44d0df25c8db4
Author: Marco Barisione <mbarisione@undo.io>
Date: Mon Apr 1 09:59:53 2019 +0200
Add gdb.Value.format_string ()
The str () function, called on a gdb.Value instance, produces a string
representation similar to what can be achieved with the print command,
but it doesn't allow to specify additional formatting settings, for
instance disabling pretty printers.
This patch introduces a new format_string () method to gdb.Value which
allows specifying more formatting options, thus giving access to more
features provided by the internal C function common_val_print ().
gdb/ChangeLog:
2019-04-01 Marco Barisione <mbarisione@undo.io>
Add gdb.Value.format_string ().
* python/py-value.c (copy_py_bool_obj):
(valpy_format_string): Add gdb.Value.format_string ().
* NEWS: Document the addition of gdb.Value.format_string ().
gdb/doc/ChangeLog:
2019-04-01 Marco Barisione <mbarisione@undo.io>
* python.texi (Values From Inferior): Document
gdb.Value.format_string ().
gdb/testsuite/ChangeLog:
2019-04-01 Marco Barisione <mbarisione@undo.io>
Test gdb.Value.format_string ().
* gdb.python/py-format-string.exp: New test.
* gdb.python/py-format-string.c: New file.
* gdb.python/py-format-string.py: New file.
commit 8828efdb24ef337e074183a0db3ac6399a3c09ba
Author: Marco Barisione <mbarisione@undo.io>
Date: Mon Apr 1 09:43:54 2019 +0200
Add myself to gdb/MAINTAINERS
gdb/ChangeLog:
2019-04-01 Marco Barisione <mbarisione@undo.io>
* MAINTAINERS (Write After Approval): Add Marco Barisione.
commit f7043f6281dd27b19393b3d18daa227acd9459c6
Author: Alan Modra <amodra@gmail.com>
Date: Mon Apr 1 12:00:09 2019 +1030
PR24402, global buffer overflow in symtab_finalize
PR 24402
* symtab.c (symtab_finalize): Init prev_addr to one less than
first symbol address, not one more. Correct test for symbols
with leading underscores.
commit 91fc2ba707780d150309259571b12c73e92af5d0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Apr 1 00:00:44 2019 +0000
Automatic date update in version.in
commit 0fefd084955176d9235679cb9ec40e5794f350e9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Mar 31 00:01:22 2019 +0000
Automatic date update in version.in
commit ae2b14c73cd42b067e9687219155ed044210f0c1
Author: Jim Wilson <jimw@sifive.com>
Date: Sat Mar 30 10:12:12 2019 -0700
RISC-V: Relax tail/j to c.j for RV64.
2019-03-30 Andrew Waterman <andrew@sifive.com>
bfd/
* elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
rd == X_RA case.
commit 7734102d6d8b5a0ccea166f8e944f84dc896b9ae
Author: Eli Zaretskii <eliz@gnu.org>
Date: Sat Mar 30 12:58:33 2019 +0300
Introduce new convenience variables $_gdb_major and $_gdb_minor
gdb/ChangeLog:
2019-03-30 Eli Zaretskii <eliz@gnu.org>
* NEWS: Announce $_gdb_major and $_gdb_minor.
* top.c (init_gdb_version_vars): New function.
(gdb_init): Call init_gdb_version_vars.
gdb/testsuite/ChangeLog:
2019-03-30 Simon Marchi <simark@simark.ca>
* gdb.base/default.exp: Add values for $_gdb_major and
$_gdb_minor.
gdb/doc/ChangeLog:
2019-03-30 Eli Zaretskii <eliz@gnu.org>
* gdb.texinfo (Convenience Vars): Document $_gdb_major and
$_gdb_minor.
commit c6f03bce79fd93f152749e2a299a03ab78421f5f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Mar 30 00:00:40 2019 +0000
Automatic date update in version.in
commit 188e1fa9ac09b0a764e19c1afc0fb5fcdb688e65
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Mar 20 14:52:24 2019 -0600
Add usage for commands in printcmd.c
I noticed that the help for "info addr" did not include a "usage"
line; and when adding it I went through and fixed a few minor issues
in printcmd.c:
* Added usage lines to all commands
* Updated the help text for some commands
* Changed some help to use upper case metasyntactic variables
* Removed some dead code
Regression tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-03-29 Tom Tromey <tromey@adacore.com>
* printcmd.c (_initialize_printcmd): Add usage lines. Update some
help text. Remove dead code.
gdb/testsuite/ChangeLog
2019-03-29 Tom Tromey <tromey@adacore.com>
* gdb.base/help.exp: Tighten apropos regexp.
commit 2880242dd0b8538b68aece7d9e8b1678dcdfd0ab
Author: Keith Seitz <keiths@redhat.com>
Date: Fri Mar 29 10:15:38 2019 -0700
Allow really large fortran array bounds: fortran type/value printers
This is the fortran part of the patch, including tests, which
are essentially unchanged from Siddhesh's original 2012 submission:
https://sourceware.org/ml/gdb-patches/2012-08/msg00562.html
There is, however, one large departure. In the above thread,
Jan pointed out problems with GCC debuginfo for -m32 builds
(filed usptream as gcc/54934). After investigating the issue,
I am dropping the hand-tweaked assembler source file to workaround
this case.
While I would normally do something to accommodate this, in
this case, given the ubiquity of 64-bit systems today (where
the tests pass) and the apparent lack of urgency on the compiler
side (by users), I don't think the additional complexity and
maintenance costs are worth it. It will be very routinely tested
on 64-bit systems. [For example, at Red Hat, we always
test -m64 and -m32 configurations for all GDB releases.]
gdb/ChangeLog:
From Siddhesh Poyarekar:
* f-lang.h (f77_get_upperbound): Return LONGEST.
(f77_get_lowerbound): Likewise.
* f-typeprint.c (f_type_print_varspec_suffix): Expand
UPPER_BOUND and LOWER_BOUND to LONGEST. Use plongest to format
print them.
(f_type_print_base): Expand UPPER_BOUND to LONGEST. Use
plongest to format print it.
* f-valprint.c (f77_get_lowerbound): Return LONGEST.
(f77_get_upperbound): Likewise.
(f77_get_dynamic_length_of_aggregate): Expand UPPER_BOUND,
LOWER_BOUND to LONGEST.
(f77_create_arrayprint_offset_tbl): Likewise.
gdb/testsuite/ChangeLog:
* gdb.fortran/array-bounds.exp: New file.
* gdb.fortran/array-bounds.f90: New file.
commit cc1defb1dcb5f1ca23a82bca233a48ab2657de6c
Author: Keith Seitz <keiths@redhat.com>
Date: Fri Mar 29 10:15:38 2019 -0700
Allow really large fortran array bounds: TYPE_LENGTH to ULONGEST
This series is revisit of Siddhesh Poyarekar's patch from back in
2012. The last status on the patch is in the following gdb-patches
thread:
https://sourceware.org/ml/gdb-patches/2012-08/msg00562.html
It appears that Tom approved the patch, but Jan had some issues
with a compiler error that made the test fail on -m32 test runs.
He wrote up a hand-tweaked .S file to deal with it. Siddesh said
he would update tests. Then nothing.
Siddesh and Jan have both moved on since.
The patch originally required a large precursor patch to work.
I have whittled this down to/rewritten the bare minimum, and this
first patch is the result, changing the type of TYPE_LENGTH
to ULONGEST from unsigned int.
The majority of the changes involve changing printf format
strings to use %s and pulongest instead of %d.
gdb/ChangeLog:
* ada-lang.c (ada_template_to_fixed_record_type_1): Use
%s/pulongest for TYPE_LENGTH instead of %d in format
strings.
* ada-typerint.c (ada_print_type): Likewise.
* amd64-windows-tdep.c (amd64_windows_store_arg_in_reg): Likewise.
* compile/compile-c-support.c (generate_register_struct): Likewise.
* gdbtypes.c (recursive_dump_type): Likewise.
* gdbtypes.h (struct type) <length>: Change type to ULONGEST.
* m2-typeprint.c (m2_array): Use %s/pulongest for TYPE_LENGTH
instead of %d in format strings.
* riscv-tdep.c (riscv_type_alignment): Cast second argument
to std::min to ULONGEST.
* symmisc.c (print_symbol): Use %s/pulongest for TYPE_LENGTH
instead of %d in format strings.
* tracepoint.c (info_scope_command): Likewise.
* typeprint.c (print_offset_data::update)
(print_offset_data::finish): Likewise.
* xtensa-tdep.c (xtensa_store_return_value)
(xtensa_push_dummy_call): Likewise.
commit 2487ef07c28b961c6e2b8c51161f88f93b181d07
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Thu Mar 28 17:03:57 2019 -0700
bfd: xtensa: fix shrink_dynamic_reloc_sections for export-dynamic
shrink_dynamic_reloc_sections must remove PLT entry that was created for
an undefined weak symbol in the presence of --export-dynamic option when
relaxation coalesces literals pointing to that symbol. This fixes the
following assertion:
ld: BFD (GNU Binutils) 2.31.1 internal error, aborting at
elf32-xtensa.c:3292 in elf_xtensa_finish_dynamic_sections
2019-03-29 Max Filippov <jcmvbkbc@gmail.com>
bfd/
* elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
info->export_dynamic to the conditional.
ld/
* testsuite/ld-xtensa/relax-undef-weak-pie-export-dynamic.d: New
test definition.
* testsuite/ld-xtensa/xtensa.exp
(relax-undef-weak-pie-export-dynamic): Add new test.
commit 5f33607b284323ac71fb5b6864ce2fa671379dfc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Mar 29 00:00:28 2019 +0000
Automatic date update in version.in
commit d3fe0d7bb8a3101df6f052aa54e4cfedcc2fee94
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 28 22:33:29 2019 +0000
sim: fix all sim builds
This commit:
commit ef9866970ce6683d40465fb7c3168f87a1dcd1b7
Date: Thu Mar 28 06:40:30 2019 +0900
sim/common: convert sim-arange to use sim-inline
broke many simulator targets. I fixed aarch64 in a previous commit
without realising how many other target were also broken.
This commit adds the missing includes (sim-assert.h and libiberty.h),
which seem to be needed by many simulator targets, in a central
location, this should fix most builds.
sim/common/ChangeLog:
* sim-base.h: Add 'sim-assert.h' include.
* sim-basics.h: Add 'libiberty.h' include.
commit e432ccf1cb4685b990f9cf10cb84626f52239806
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Thu Mar 28 14:02:25 2019 +0000
Fix format specification in display_selector() (again)
DWORD type is not a long on 64-bit Cygwin, because that it is LP64.
Explicitly cast DWORD values to unsigned long and use an appropriate
format.
gdb/ChangeLog:
2019-03-28 Jon Turney <jon.turney@dronecode.org.uk>
* windows-nat.c (display_selector): Fixed format specifications
for 64-bit Cygwin.
commit 077cad8ec1ca069d8981ecdbfa68c24b12597f67
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Feb 9 11:50:10 2019 +0100
Fix gdb.multi/multi-term-settings.exp blocking under high load/slow gdb
Similarly to multi-arch-exec.exp, increase the alarm timer to avoid
test blocking under high load or with a slow gdb.
2019-03-28 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.multi/multi-term-settings.c (main): Increase alarm timer.
commit 80047cfc27459d4d31fe275ddd02231d812ddb61
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Feb 9 11:43:35 2019 +0100
Fix gdb.multi/multi-arch-exec.exp blocking under high load/slow gdb
When running multi-arch-exec.exp under valgrind, the test succeeds
when the machine is not loaded, but blocks when the machine is highly
loaded (e.g. when running the testsuite with valgrind with -j X
where X is one more than the nr of available cores).
The problem is that the hello program dies too early due to the alarm (30).
So, increase the alarm timer.
Note that this does not make the test take longer (it takes about
3.5 seconds on my system). As I understand, the alarm is just there
to avoid hello staying there forever in case of another problem.
2019-03-28 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.multi/hello.c (main): Increase alarm timer.
commit 65d2b333a830b3f36c8b7ae9d9ed6c77f8be9270
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Feb 5 23:47:53 2019 +0100
Fix GDB being suspended SIGTTOU when running gdb.multi/multi-arch-exec.exp
When running under valgrind, multi-arch-exec.exp blocks forever.
Some (painful) investigation shows this is due to valgrind slowing
down GDB, and GDB has to output some messages at a different time,
when GDB does not have the terminal for output.
To reproduce the problem, you need to slow down GDB.
It can be reproduced by:
cd gdb/testsuite/outputs/gdb.multi/multi-arch-exec/
../../../../gdb -ex 'set debug lin-lwp 1' -ex 'break all_started' -ex 'run' ./2-multi-arch-exec
The above stops at a breakpoint. Do continue.
GDB is then suspended because of SIGTTOU.
The stacktrace that leads to the hanging GDB is:
(top-gdb) bt
at ../../binutils-gdb/gdb/exceptions.c:130
....
Alternatively, the same happens when doing
strace -o s.out ../../../../gdb -ex 'break all_started' -ex 'run' ./2-multi-arch-exec
And of course, valgrind is also sufficiently slowing down GDB to
reproduce this :).
Fix this by calling target_terminal::ours_for_output ();
at the beginning of follow_exec.
Note that all this terminal handling is not very clear to me:
* Some code takes the terminal, and then takes care to give it back to the inferior
if the terminal was belonging to the inferior.
(e.g. annotate_breakpoints_invalid).
* some code takes the terminal, but does not give it back
(e.g. update_inserted_breakpoint_locations).
* some code takes it, and unconditionally gives it back
(e.g. handle_jit_event)
* here and there, we also find
gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
before a (sometimes optional) call to ours_for_output.
And such calls to ours_for_output is sometimes protected by:
if (target_supports_terminal_ours ())
(e.g. exceptions.c: print_flush).
but most of the code calls it without checking if the target supports it.
* some code is outputting some errors, but only takes the terminal
after. E.g. infcmd.c: prepare_one_step
gdb/ChangeLog
2019-03-28 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* infrun.c (follow_exec): Call target_terminal::ours_for_output.
commit f489207efde922e436b1b420d4de071927e3b9d5
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Thu Mar 28 09:29:22 2019 -0700
Fix stepping past unwritable kernel helper on nios2-linux-gnu.
This patch fixes a problem on nios2-linux-gnu with stepping past the
kernel helper __kuser_cmpxchg, which was exposed by the testcase
gdb.threads/watchpoint-fork.exp. The kernel maps this function into
user space on an unwritable page. In this testcase, the cmpxchg
helper is invoked indirectly from the setbuf call in the test program.
Since this target lacks hardware breakpoint/watchpoint support, GDB
tries to single-step through the program by setting software
breakpoints, and was just giving an error when it reached the function
on the unwritable page.
The solution here is to always step over the call instead of stepping
into it; cmpxchg is supposed to be an atomic operation so this
behavior seems reasonable. The hook in nios2_get_next_pc is somewhat
generic, but at present cmpxchg is the only helper provided by the
Linux kernel that is invoked by an ordinary function call. (Signal
return trampolines also go through the unwritable page but not by a
function call.)
Fixing this issue also revealed that the testcase needs a much larger
timeout factor when software single-stepping is used. That has also
been fixed in this patch.
gdb/ChangeLog
2019-03-28 Sandra Loosemore <sandra@codesourcery.com>
* nios2-tdep.h (struct gdbarch_tdep): Add is_kernel_helper.
* nios2-tdep.c (nios2_get_next_pc): Skip over kernel helpers.
* nios2-linux-tdep.c (nios2_linux_is_kernel_helper): New.
(nios2_linux_init_abi): Install it.
gdb/testsuite/ChangeLog
2019-03-28 Sandra Loosemore <sandra@codesourcery.com>
* gdb.threads/watchpoint-fork.exp (test): Use large timeout
factor when no hardware watchpoint support.
commit c92df149c29518f6e1d4a3174b3e29162fcd3ad6
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Mar 28 12:33:29 2019 +0000
Testsuite: set sysroot when using gdbserver
When testing using native-gdbserver and native-extended-gdbserver, the sysroot
is not set. This results in a warning from GDB and files are sent via the
remote protocol, which can be slow.
On Ubuntu 18.04 (unlike most distros) the debug versions of the standard
libraries are included by default in /usr/lib/debug/.
These file reads are causing a complete native-gdbserver run on the AArch64
buildbot slave to timeout after 2.5 hours. This is also causing the builds
to back up on the slave.
The solution is to ensure the sysroot is set to / for all local boards.
This drastically reduces the time of a test. For example, gdb.base/sigall.exp
drops from 23 seconds to 4 seconds.
A full native-gdbserver run on the AArch64 slave now takes 8 minutes.
gdb/testsuite/ChangeLog:
* boards/local-board.exp: set sysroot to /.
commit cd5b60741993f9e075d3f2492e2251da5bdf260f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 28 13:42:07 2019 +0000
sim: fix aarch64 sim build
This commit:
commit ef9866970ce6683d40465fb7c3168f87a1dcd1b7
Date: Thu Mar 28 06:40:30 2019 +0900
sim/common: convert sim-arange to use sim-inline
Broke the simulator build for aarch64 - some required macros are no
longer included where needed, fixed in this commit.
sim/aarch64/ChangeLog:
* cpustate.c: Add 'libiberty.h' include.
* interp.c: Add 'sim-assert.h' include.
commit bffa1015cd6cb4a2a4bd1276ed749d150684dd5c
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Mar 28 12:27:30 2019 +0000
AArch64: View the pseudo V registers as vectors
When SVE is enabled, the V registers become pseudo registers based
on the Z registers. They should look the same as they do when
there is no SVE.
The existing code viewed them as single value registers. Switch
this to a vector.
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_vnv_type): Use vector types.
commit fc96163a3ea7761f5353591c825027090942e330
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Mar 28 12:14:09 2019 +0000
AArch64: 128bit views for SVE registers
SVE can view Z registers as 128bit values using .q prefix.
Add this view to the SVE feature.
gdb/ChangeLog:
* features/aarch64-sve.c (create_feature_aarch64_sve): Add q view.
commit 69f4c9cc037f2226982a21fae63ffbc5e866fcca
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Mar 28 11:23:25 2019 +0000
gdbserver: Ensure AT_HWCAP2 is defined
When using older compilers, AT_HWCAP2 may not be be defined.
It is defined in elf/common.h, however including this in
gdbserver/linux-low.c causes conflicts.
Manually add the define if it does not exist.
gdb/gdbserver/ChangeLog:
* linux-low.c (AT_HWCAP2): Add define if not already included.
commit 242a115951fe55e62036bac555017eb817ca1aa6
Author: Alan Modra <amodra@gmail.com>
Date: Thu Mar 28 16:53:32 2019 +1030
PR24392, Clang warning Wtautological-constant-out-of-range-compare
PR 24392
* configure.ac: Invoke AC_CHECK_SIZEOF(int).
* configure: Regenerate.
* coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
workaround with SIZEOF_LONG vs. SIZEOF_INT check.
* elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
* elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
* mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
commit 96a86c01d119372f4af5aff2501d3104e6c1a8e3
Author: Alan Modra <amodra@gmail.com>
Date: Thu Mar 28 10:36:55 2019 +1030
PR24390, Don't decode mtfsb field as a cr field
"mtfsb0 4*cr7+lt" doesn't make all that much sense, but unfortunately
glibc uses just that instead of "mtfsb0 28" to clear the fpscr xe bit.
So for backwards compatibility accept cr field expressions when
assembling mtfsb operands, but disassemble to a plain number.
PR 24390
include/
* opcode/ppc.h (PPC_OPERAND_CR_REG): Comment.
opcodes/
* ppc-opc.c (BTF): Define.
(powerpc_opcodes): Use for mtfsb*.
* ppc-dis.c (print_insn_powerpc): Print fields with both
PPC_OPERAND_CR_REG and PPC_OPERAND_CR_BIT as a plain number.
gas/
* testsuite/gas/ppc/476.d: Update mtfsb*.
* testsuite/gas/ppc/a2.d: Likewise.
commit 072029171354eee0e2f90527196ddda5a85e98c1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Mar 28 00:00:42 2019 +0000
Automatic date update in version.in
commit b6061d4d383b08966d16a0b0f72c69f35fc4beb9
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Mar 28 06:40:30 2019 +0900
sim/common: Fix warnings: "warning: implicit declaration of function..."
During building of several cgen simulator's I notices the below
warnings. Adding includes fixes these.
Including config.h allows stdio.h to properly configure itself to expose
asprintf().
The other warnings for abort, free, memset, strlen are trivial.
Warnings:
../../../binutils-gdb/sim/or1k/../common/sim-watch.c: In function âsim_watchpoint_installâ:
../../../binutils-gdb/sim/or1k/../common/sim-watch.c:415:10: warning: implicit declaration of function âasprintfâ; did you mean âvasprintfâ? [-Wimplicit-function-declaration]
if (asprintf (&name, "watch-%s-%s",
^~~~~~~~
vasprintf
../../../binutils-gdb/sim/lm32/../common/hw-device.c: In function âhw_strdupâ:
../../../binutils-gdb/sim/lm32/../common/hw-device.c:59:34: warning: implicit declaration of function âstrlenâ [-Wimplicit-function-declaration]
char *dup = hw_zalloc (me, strlen (str) + 1);
^~~~~~
../../../binutils-gdb/sim/lm32/../common/hw-events.c: In function âhw_event_queue_scheduleâ:
../../../binutils-gdb/sim/lm32/../common/hw-events.c:92:3: warning: implicit declaration of function âmemsetâ [-Wimplicit-function-declaration]
memset (&dummy, 0, sizeof dummy);
^~~~~~
../../../binutils-gdb/sim/lm32/../common/hw-handles.c: In function âhw_handle_remove_ihandleâ:
../../../binutils-gdb/sim/lm32/../common/hw-handles.c:211:4: warning: implicit declaration of function âfreeâ [-Wimplicit-function-declaration]
free (delete);
^~~~
../../../binutils-gdb/sim/lm32/../common/sim-fpu.c: In function âpack_fpuâ:
../../../binutils-gdb/sim/lm32/../common/sim-fpu.c:292:7: warning: implicit declaration of function âabortâ [-Wimplicit-function-declaration]
abort ();
^~~~~
sim/common/ChangeLog:
* sim-options.c: Include "config.h".
Include <stdio.h>.
* sim-watch.c: Include "config.h".
Include <stdio.h>.
* hw-device.c: Include <string.h>.
* hw-events.c: Include <string.h>.
* hw-handles.c: Include <stdlib.h>.
* sim-fpu.c: Include <stdlib.h>.
commit ef9866970ce6683d40465fb7c3168f87a1dcd1b7
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Mar 28 06:40:30 2019 +0900
sim/common: convert sim-arange to use sim-inline
This fixes a TODO item and also fixes an error which we get when
building with no optimizations (-O0) in at least gcc 8.2.1.
Tested with sims that use cgen code lm32, or1k, cris, m32r and inlining
is working corretly.
Reference Error:
gcc -DHAVE_CONFIG_H -DWITH_DEFAULT_MODEL='"or1200"' -DWITH_ALIGNMENT=STRICT_ALIGNMENT \
-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31 -DWITH_TARGET_ADDRESS_BITSIZE=32 \
-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_BIG -DDEFAULT_INLINE=0 -DWITH_SCACHE=16384 \
-I. -I../../../binutils-gdb/sim/or1k -I../common -I../../../binutils-gdb/sim/or1k/../common \
-I../../include -I../../../binutils-gdb/sim/or1k/../../include -I../../bfd \
-I../../../binutils-gdb/sim/or1k/../../bfd -I../../opcodes -I../../../binutils-gdb/sim/or1k/../../opcodes \
-g -o run nrun.o libsim.a ../../bfd/libbfd.a ../../opcodes/libopcodes.a ../../libiberty/libiberty.a \
-ldl -lz -lm
/usr/bin/ld: libsim.a(mloop.o): in function `extract':
/home/shorne/work/openrisc/gdb-musl/sim/or1k/mloop.c:82: undefined reference to `sim_addr_range_hit_p'
/usr/bin/ld: /home/shorne/work/openrisc/gdb-musl/sim/or1k/mloop.c:83: undefined reference to `sim_addr_range_hit_p'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:305: run] Error 1
sim/common/ChangeLog:
* Make-common.in (sim-arange_h): Remove sim-arange.c
* sim-arange.c: Remove SIM_ARANGE_C.
Add ifdef for _SIM_ARANGE_C_.
Include "sim-arange.h".
Remove include for unused "sim-assert.h".
Remove DEFINE_INLINE_P. Remove DEFINE_NON_INLINE_P.
(sim_addr_range_add): Declare as INLINE_SIM_ARANGE.
(sim_addr_range_delete): Declare as INLINE_SIM_ARANGE.
(sim_addr_range_hit_p): Change from SIM_ARANGE_INLINE to
INLINE_SIM_ARANGE.
* sim-arange.h (sim_addr_range_add): Declare as
INLINE_SIM_ARANGE.
(sim_addr_range_delete): Declare as INLINE_SIM_ARANGE.
(sim_addr_range_hit_p) Declare as INLINE_SIM_ARANGE.
Remove definition of SIM_ARANGE_INLINE.
Remove [HAVE_INLINE].
Wrap include "sim-arange.c" in H_REVEALS_MODULE_P.
* sim-base.h: Include "sim-arange.h"
* sim-basics.h: Remove include of "sim-arange.h"
* sim-inline.c: Include "sim-arange.c"
* sim-inline.h: Define INLINE_SIM_ARANGE.
Define SIM_ARANGE_INLINE. Define EXTERN_SIM_ARANGE_P.
Define STATIC_INLINE_SIM_ARANGE. Define STATIC_SIM_ARANGE.
commit 20dc7e9b059edff1d0fab3bd197c460c11cc7a06
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Wed Mar 27 09:38:34 2019 -0600
Fix buffer overflow regression due to minsym malloc-ed instead of obstack-ed.
Valgrind detects the following error in a bunch of tests,
e.g. in gdb.base/foll-fork.exp.
==15155== VALGRIND_GDB_ERROR_BEGIN
==15155== Invalid read of size 8
==15155== at 0x55BE04: minimal_symbol_upper_bound(bound_minimal_symbol) (minsyms.c:1504)
==15155== by 0x3B2E9C: find_pc_partial_function(unsigned long, char const**, unsigned long*, unsigned long*, block const**) (blockframe.c:340)
==15155== by 0x3B3135: find_function_entry_range_from_pc(unsigned long, char const**, unsigned long*, unsigned long*) (blockframe.c:385)
==15155== by 0x4F5597: fill_in_stop_func(gdbarch*, execution_control_state*) [clone .part.16] (infrun.c:4124)
==15155== by 0x4FBE01: fill_in_stop_func (infrun.c:7636)
==15155== by 0x4FBE01: process_event_stop_test(execution_control_state*) (infrun.c:6279)
...
==15155== Address 0x715bec8 is 0 bytes after a block of size 2,952 alloc'd
==15155== at 0x4C2E2B3: realloc (vg_replace_malloc.c:836)
==15155== by 0x405F2C: xrealloc (common-utils.c:62)
==15155== by 0x55BA4E: xresizevec<minimal_symbol> (poison.h:170)
==15155== by 0x55BA4E: minimal_symbol_reader::install() (minsyms.c:1399)
==15155== by 0x4981C7: elf_read_minimal_symbols (elfread.c:1165)
...
This seems to be a regression created by:
commit 042d75e42c5572f333e0e06dabd3c5c4afab486c
Author: Tom Tromey <tom@tromey.com>
AuthorDate: Sat Mar 2 12:29:48 2019 -0700
Commit: Tom Tromey <tom@tromey.com>
CommitDate: Fri Mar 15 16:02:10 2019 -0600
Allocate minimal symbols with malloc
Before this commit, the array of 'struct minimal_symbol'
contained a last element that was a "null symbol". The comment in
minimal_symbol_reader::install was:
/* We also terminate the minimal symbol table with a "null symbol",
which is *not* included in the size of the table. This makes it
easier to find the end of the table when we are handed a pointer
to some symbol in the middle of it. Zero out the fields in the
"null symbol" allocated at the end of the array. Note that the
symbol count does *not* include this null symbol, which is why it
is indexed by mcount and not mcount-1. */
memset (&msymbols[mcount], 0, sizeof (struct minimal_symbol));
However, minimal_symbol_upper_bound was still based on the assumption
that the array of minsym is terminated by a minsym with a null symbol:
it is looping with:
for (i = 1; MSYMBOL_LINKAGE_NAME (msymbol + i) != NULL; i++)
Replace this NULL comparison by a logic that calculates how
many msymbol are following the msymbols from which we are starting from.
(Re-)tested on debian/amd64, natively and under valgrind.
gdb/ChangeLog
2019-03-24 Philippe Waroquiers <philippe.waroquiers@skynet.be>
Tom Tromey <tromey@adacore.com>
* minsyms.c (minimal_symbol_upper_bound): Fix buffer overflow.
commit 933aebfae6b1a2b83c3eb958ebf6e43fc7fdaed1
Author: Alan Hayward <alan.hayward@arm.com>
Date: Wed Mar 27 10:58:57 2019 +0000
Testsuite: Ensure interrupt-daemon-attach doesn't run forever
Looking at the AArch64 buildbot, I noticed about two dozen old instances of
interrupt-daemon-attach taking up a full 100% cpu each.
If the test fails then the test binary relies on an alarm to ensure it dies
after 60 seconds.
As per the Linux man page for alarm:
Alarms created by alarm() ... are not inherited by children created via fork.
Update the test to add an alarm in the child and also put a sleep in the
child loop so it does not constantly consume cpu.
Note I haven't managed to re-create why the test failed. This fix will just
stop it hanging and consuming cpu when it does.
gdb/testsuite/ChangeLog:
* gdb.base/interrupt-daemon-attach.c (main): Add alarm and sleep
in child.
commit 4c4849b9ed8c6dd7e1f822e1e395b62059ba7680
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Mar 27 00:00:26 2019 +0000
Automatic date update in version.in
commit 7f5331a885c2e8b8cb8be5b27dc4bcfa290ad6c0
Author: Joel Brobecker <brobecker@adacore.com>
Date: Tue Mar 26 17:30:21 2019 -0500
gdb-gdb.py.in: Fix error when printing range type
I noticed that trying to print the contents of a struct main_type
would fail when the type was a TYPE_CODE_RANGE:
(gdb) p *type.main_type
$1 = Python Exception <class 'gdb.error'> There is no member named low_undefined.:
And indeed, Python is right, fields "low_undefined" has been removed
from struct range_bounds back in ... 2014! It was done when we introduced
dynamic bounds handling. This patch fixes gdb-gdb.py.in according to
the new structure.
gdb/ChangeLog:
* gdb-gdb.py.in (StructMainTypePrettyPrinter.bound_img): New method.
(StructMainTypePrettyPrinter.bounds_img): Use new "bound_img"
method to compute the bounds of range types. Also print "[evaluated]"
if the bounds' values come from a dynamic evaluation.
commit 9f9aa85206ab31d2c583e7fef568700d31eb577e
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 21 16:29:14 2019 +0000
gdb: Make python display_hint None handling defined behaviour
The documentation say that the display_hint method must return a
string to serve as a display hint, and then goes on to list some
acceptable strings.
However, if we don't supply the display_hint method then we get a
default display style behaviour and there's currently no way (in the
python api) to force this default behaviour.
The guile api allows #f to be used in order to force the default
display style behaviour, and this is documented.
Currently, using None in the python api also forces the default
display behaviour.
This commit extends the documentation to make returning None from the
display_hint method an official mechanism by which the user can get
the default display style.
I've extended one of the existing tests to cover this case.
gdb/doc/ChangeLog:
* python.texi (Pretty Printing API): Document use of None for the
display_hint.
gdb/testsuite/ChangeLog:
* gdb.python/py-prettyprint.c (struct container) <is_map_p>: New
field.
(make_container): Initialise new field.
* gdb.python/py-prettyprint.exp: Add new tests.
* gdb.python/py-prettyprint.py (class ContainerPrinter)
<display_hint>: New method.
commit 3714a195e08a5cc7713b27def7a3c3b534da53e8
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Mar 23 22:49:09 2019 +0000
gdb/testsuite: Make test names unique in gdb.python/py-prettyprint.exp
This makes the test names unique in gdb.python/py-prettyprint.exp, it
also switches to use gdb_breakpoint and gdb_continue_to_breakpoint
more so that we avoid test names with the source line number in - this
is bad if the test source ever changes as the test names will then
change.
One final change is to switch from using gdb_py_test_silent_cmd to use
gdb_test_no_output, the former should be used for running python
commands and can catch any thrown exception. However, in this case
the command being run is not a python command, its just a normal GDB
CLI command that produces no output, so lets use the appropriate
wrapper function.
gdb/testsuite/ChangeLog:
* gdb.python/py-prettyprint.exp: Use gdb_breakpoint and
gdb_continue_to_breakpoint more throughout this test.
(run_lang_tests) Supply unique test names, and use
gdb_test_no_output.
commit 18c77628b1e97e412561029ec20195c1ffa61b2d
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 21 12:25:47 2019 +0000
gdb: Avoid trailing whitespace when pretty printing
While writing a new test for 'set print pretty on' I spotted that GDB
will sometimes add a trailing whitespace character when pretty
printing. This commit removes the trailing whitespace and updates the
expected results in one tests where this was an issue.
I've added an extra test for 'set print pretty on' as it doesn't seem
to have much testing.
gdb/ChangeLog:
* cp-valprint.c (cp_print_value_fields): Don't print trailing
whitespace when pretty printing is on.
gdb/testsuite/ChangeLog:
* gdb.base/finish-pretty.exp: Update expected results.
* gdb.base/pretty-print.c: New file.
* gdb.base/pretty-print.exp: New file.
commit 53c973f200e39c4122e0db06a94e3a0079e6de80
Author: Alan Hayward <alan.hayward@arm.com>
Date: Tue Mar 26 17:11:32 2019 +0000
Fix Powerpc build
gdb/ChangeLog:
* ppc-linux-nat.c: Add include.
commit d851aa7170c09fb903dd1bdafa6df526f1951863
Author: Alan Hayward <alan.hayward@arm.com>
Date: Tue Mar 26 16:44:04 2019 +0000
Add AArch64 Pointer Authentication to the NEWS file
gdb/ChangeLog:
* NEWS: Mention AArch64 Pointer Authentication.
commit 05805feba20cb8cc39c7324e0b427f2bb7cdfe44
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue Mar 26 16:46:42 2019 +0000
AArch64/Arm: Update testcases fixing endiannes and linux targets
This fixes the testcases that are failing due to my recent patch.
It turns out that the start address across baremetal and linux builds
isn't entirely predictable without a linker script. Since the address
themselves are not the important thing I am ignoring them now.
Secondly I was encoding data using .word using non 0 values, however
because .word is subjected to endiannes these non-zero values under
big-endian happen to fall into the encoding space of instructions which
changes the disassembly. Using 0 fixes this problem and the purpose of
the test still holds, though objdump will dump ... for data only sections,
which is ok as the data/insn mixed sections will test the patch.
The ARM Attributes sections is not important and is ignored.
binutils/ChangeLog:
* testsuite/binutils-all/aarch64/in-order.d: Likewise.
* testsuite/binutils-all/aarch64/out-of-order-all.d: Likewise.
* testsuite/binutils-all/aarch64/out-of-order.d: Likewise.
* testsuite/binutils-all/aarch64/out-of-order.s: Likewise.
* testsuite/binutils-all/arm/in-order-all.d: Likewise.
* 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.
* testsuite/binutils-all/arm/out-of-order.s: Likewise.
commit 974c89e0882ddb03e294eca76a9e3d3bef90eacf
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Mar 25 10:44:11 2019 +0000
gdbserver: Add linux_get_hwcap
In gdbserver, Tidy up calls to read HWCAP (and HWCAP2) by adding common
functions, removing the Arm, AArch64, PPC and S390 specific versions.
No functionality differences.
gdb/gdbserver/ChangeLog:
* linux-aarch64-low.c (aarch64_get_hwcap): Remove function.
(aarch64_arch_setup): Call linux_get_hwcap.
* linux-arm-low.c (arm_get_hwcap): Remove function.
(arm_read_description): Call linux_get_hwcap.
* linux-low.c (linux_get_auxv): New function.
(linux_get_hwcap): Likewise.
(linux_get_hwcap2): Likewise.
* linux-low.h (linux_get_hwcap): New declaration.
(linux_get_hwcap2): Likewise.
* linux-ppc-low.c (ppc_get_auxv): Remove function.
(ppc_arch_setup): Call linux_get_hwcap.
* linux-s390-low.c (s390_get_hwcap): Remove function.
(s390_arch_setup): Call linux_get_hwcap.
commit 7ea79cb3affe1ae1d196f511ace044c015e0ccd3
Author: marxin <mliska@suse.cz>
Date: Tue Mar 26 10:40:04 2019 +0100
Provide string description of definition, visibility and resolution in LTO plug-in.
ld/ChangeLog:
2019-02-26 Martin Liska <mliska@suse.cz>
* plugin.c (get_symbols): Add lto_kind_str, lto_resolution_str,
lto_visibility_str and use then to inform about plugin-symbols.
* testsuite/ld-plugin/plugin-12.d: Adjust expected pattern.
commit 5fb812fc79a37b0d02f4902456c6f87ce9896a8d
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Mar 26 12:48:13 2019 +0000
Take over Dave Brolley's maintainerships for FR30, FRV and MEP.
* MAINTAINERS: Take over Dave Brolley's maintainerships for FR30,
FRV and MEP.
commit 2fe7bab775f6acbfa1255d3504cd9e53a109e132
Author: Alan Hayward <alan.hayward@arm.com>
Date: Tue Mar 26 11:35:23 2019 +0000
Fix Arm build
Add missing include.
2019-03-26 Alan Hayward <alan.hayward@arm.com>
* arm-linux-nat.c: Add include.
commit 068ef30e9e053d0f95464290b0b96cea90ce0572
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Mon Mar 25 20:29:18 2019 -0400
Fix use-after-free in source_cache::get_source_lines
Commit ab42892fb7d2 ("Fix vertical scrolling of TUI source window")
introduced a use-after-free in source_cache::get_source_lines.
At the beginning of the method, we get the fullname of the symtab:
const char *fullname = symtab_to_fullname (s);
fullname points to the string owned by the symtab (s.fullname). When we
later do
scoped_fd desc = open_source_file (s);
s.fullname gets reallocated (even though the string contents may not
change). The fullname local variable now points to freed memory.
To avoid it, refresh the value of fullname after calling
open_source_file.
Here is the ASan report:
$ ./gdb -nx --data-directory=data-directory ./a.out
(gdb) start
Temporary breakpoint 1 at 0x1130: file test.cpp, line 12.
Starting program: /home/simark/build/binutils-gdb/gdb/a.out
Temporary breakpoint 1, main () at test.cpp:12
=================================================================
==26068==ERROR: AddressSanitizer: heap-use-after-free on address 0x6210003d4100 at pc 0x7fed89a34681 bp 0x7ffd8d185d80 sp 0x7ffd8d185528
READ of size 2 at 0x6210003d4100 thread T0
#0 0x7fed89a34680 in __interceptor_strlen /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:301
#1 0x55b6edf6c2f7 in std::char_traits<char>::length(char const*) /usr/include/c++/8.2.1/bits/char_traits.h:320
#2 0x55b6edf6c9b2 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) /usr/include/c++/8.2.1/bits/basic_string.h:516
#3 0x55b6ef09121b in source_cache::get_source_lines(symtab*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) /home/simark/src/binutils-gdb/gdb/source-cache.c:214
#4 0x55b6ef0a15cb in print_source_lines_base /home/simark/src/binutils-gdb/gdb/source.c:1340
#5 0x55b6ef0a2045 in print_source_lines(symtab*, int, int, enum_flags<print_source_lines_flag>) /home/simark/src/binutils-gdb/gdb/source.c:1415
#6 0x55b6ef112c87 in print_frame_info(frame_info*, int, print_what, int, int) /home/simark/src/binutils-gdb/gdb/stack.c:914
#7 0x55b6ef10e90d in print_stack_frame(frame_info*, int, print_what, int) /home/simark/src/binutils-gdb/gdb/stack.c:180
#8 0x55b6ee9592f8 in print_stop_location /home/simark/src/binutils-gdb/gdb/infrun.c:7853
#9 0x55b6ee95948f in print_stop_event(ui_out*) /home/simark/src/binutils-gdb/gdb/infrun.c:7870
#10 0x55b6ef34b962 in tui_on_normal_stop /home/simark/src/binutils-gdb/gdb/tui/tui-interp.c:98
#11 0x55b6ee01a14d in std::_Function_handler<void (bpstats*, int), void (*)(bpstats*, int)>::_M_invoke(std::_Any_data const&, bpstats*&&, int&&) /usr/include/c++/8.2.1/bits/std_function.h:297
#12 0x55b6ee965415 in std::function<void (bpstats*, int)>::operator()(bpstats*, int) const /usr/include/c++/8.2.1/bits/std_function.h:687
#13 0x55b6ee962f1b in gdb::observers::observable<bpstats*, int>::notify(bpstats*, int) const /home/simark/src/binutils-gdb/gdb/common/observable.h:106
#14 0x55b6ee95a6e7 in normal_stop() /home/simark/src/binutils-gdb/gdb/infrun.c:8142
#15 0x55b6ee93f236 in fetch_inferior_event(void*) /home/simark/src/binutils-gdb/gdb/infrun.c:3782
#16 0x55b6ee8f2641 in inferior_event_handler(inferior_event_type, void*) /home/simark/src/binutils-gdb/gdb/inf-loop.c:43
#17 0x55b6eea2a1f0 in handle_target_event /home/simark/src/binutils-gdb/gdb/linux-nat.c:4358
#18 0x55b6ee7045f1 in handle_file_event /home/simark/src/binutils-gdb/gdb/event-loop.c:733
#19 0x55b6ee704e89 in gdb_wait_for_event /home/simark/src/binutils-gdb/gdb/event-loop.c:859
#20 0x55b6ee7027b5 in gdb_do_one_event() /home/simark/src/binutils-gdb/gdb/event-loop.c:322
#21 0x55b6ee702907 in start_event_loop() /home/simark/src/binutils-gdb/gdb/event-loop.c:371
#22 0x55b6eeadfc16 in captured_command_loop /home/simark/src/binutils-gdb/gdb/main.c:331
#23 0x55b6eeae2ef9 in captured_main /home/simark/src/binutils-gdb/gdb/main.c:1174
#24 0x55b6eeae30c2 in gdb_main(captured_main_args*) /home/simark/src/binutils-gdb/gdb/main.c:1190
#25 0x55b6edf4fa89 in main /home/simark/src/binutils-gdb/gdb/gdb.c:32
#26 0x7fed88ad8222 in __libc_start_main (/usr/lib/libc.so.6+0x24222)
#27 0x55b6edf4f86d in _start (/home/simark/build/binutils-gdb/gdb/gdb+0x197186d)
0x6210003d4100 is located 0 bytes inside of 4096-byte region [0x6210003d4100,0x6210003d5100)
freed by thread T0 here:
#0 0x7fed89a8ac19 in __interceptor_free /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:66
#1 0x55b6edfe12df in xfree<char> /home/simark/src/binutils-gdb/gdb/common/common-utils.h:60
#2 0x55b6edfea675 in gdb::xfree_deleter<char>::operator()(char*) const /home/simark/src/binutils-gdb/gdb/common/gdb_unique_ptr.h:34
#3 0x55b6edfe532c in std::unique_ptr<char, gdb::xfree_deleter<char> >::reset(char*) /usr/include/c++/8.2.1/bits/unique_ptr.h:382
#4 0x55b6edfe7329 in std::unique_ptr<char, gdb::xfree_deleter<char> >::operator=(std::unique_ptr<char, gdb::xfree_deleter<char> >&&) /usr/include/c++/8.2.1/bits/unique_ptr.h:289
#5 0x55b6ef09ec2b in find_and_open_source(char const*, char const*, std::unique_ptr<char, gdb::xfree_deleter<char> >*) /home/simark/src/binutils-gdb/gdb/source.c:990
#6 0x55b6ef09f56a in open_source_file(symtab*) /home/simark/src/binutils-gdb/gdb/source.c:1069
#7 0x55b6ef090f78 in source_cache::get_source_lines(symtab*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) /home/simark/src/binutils-gdb/gdb/source-cache.c:205
#8 0x55b6ef0a15cb in print_source_lines_base /home/simark/src/binutils-gdb/gdb/source.c:1340
#9 0x55b6ef0a2045 in print_source_lines(symtab*, int, int, enum_flags<print_source_lines_flag>) /home/simark/src/binutils-gdb/gdb/source.c:1415
#10 0x55b6ef112c87 in print_frame_info(frame_info*, int, print_what, int, int) /home/simark/src/binutils-gdb/gdb/stack.c:914
#11 0x55b6ef10e90d in print_stack_frame(frame_info*, int, print_what, int) /home/simark/src/binutils-gdb/gdb/stack.c:180
#12 0x55b6ee9592f8 in print_stop_location /home/simark/src/binutils-gdb/gdb/infrun.c:7853
#13 0x55b6ee95948f in print_stop_event(ui_out*) /home/simark/src/binutils-gdb/gdb/infrun.c:7870
#14 0x55b6ef34b962 in tui_on_normal_stop /home/simark/src/binutils-gdb/gdb/tui/tui-interp.c:98
#15 0x55b6ee01a14d in std::_Function_handler<void (bpstats*, int), void (*)(bpstats*, int)>::_M_invoke(std::_Any_data const&, bpstats*&&, int&&) /usr/include/c++/8.2.1/bits/std_function.h:297
#16 0x55b6ee965415 in std::function<void (bpstats*, int)>::operator()(bpstats*, int) const /usr/include/c++/8.2.1/bits/std_function.h:687
#17 0x55b6ee962f1b in gdb::observers::observable<bpstats*, int>::notify(bpstats*, int) const /home/simark/src/binutils-gdb/gdb/common/observable.h:106
#18 0x55b6ee95a6e7 in normal_stop() /home/simark/src/binutils-gdb/gdb/infrun.c:8142
#19 0x55b6ee93f236 in fetch_inferior_event(void*) /home/simark/src/binutils-gdb/gdb/infrun.c:3782
#20 0x55b6ee8f2641 in inferior_event_handler(inferior_event_type, void*) /home/simark/src/binutils-gdb/gdb/inf-loop.c:43
#21 0x55b6eea2a1f0 in handle_target_event /home/simark/src/binutils-gdb/gdb/linux-nat.c:4358
#22 0x55b6ee7045f1 in handle_file_event /home/simark/src/binutils-gdb/gdb/event-loop.c:733
#23 0x55b6ee704e89 in gdb_wait_for_event /home/simark/src/binutils-gdb/gdb/event-loop.c:859
#24 0x55b6ee7027b5 in gdb_do_one_event() /home/simark/src/binutils-gdb/gdb/event-loop.c:322
#25 0x55b6ee702907 in start_event_loop() /home/simark/src/binutils-gdb/gdb/event-loop.c:371
#26 0x55b6eeadfc16 in captured_command_loop /home/simark/src/binutils-gdb/gdb/main.c:331
#27 0x55b6eeae2ef9 in captured_main /home/simark/src/binutils-gdb/gdb/main.c:1174
#28 0x55b6eeae30c2 in gdb_main(captured_main_args*) /home/simark/src/binutils-gdb/gdb/main.c:1190
#29 0x55b6edf4fa89 in main /home/simark/src/binutils-gdb/gdb/gdb.c:32
previously allocated by thread T0 here:
#0 0x7fed89a8b019 in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
#1 0x7fed88af983f in realpath@@GLIBC_2.3 (/usr/lib/libc.so.6+0x4583f)
#2 0x7fed899dbbbc in __interceptor_canonicalize_file_name /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3297
#3 0x55b6ee376a03 in gdb_realpath(char const*) /home/simark/src/binutils-gdb/gdb/common/pathstuff.c:72
#4 0x55b6ef09ec12 in find_and_open_source(char const*, char const*, std::unique_ptr<char, gdb::xfree_deleter<char> >*) /home/simark/src/binutils-gdb/gdb/source.c:990
#5 0x55b6ef09f56a in open_source_file(symtab*) /home/simark/src/binutils-gdb/gdb/source.c:1069
#6 0x55b6ef0a0f12 in print_source_lines_base /home/simark/src/binutils-gdb/gdb/source.c:1270
#7 0x55b6ef0a2045 in print_source_lines(symtab*, int, int, enum_flags<print_source_lines_flag>) /home/simark/src/binutils-gdb/gdb/source.c:1415
#8 0x55b6ef112c87 in print_frame_info(frame_info*, int, print_what, int, int) /home/simark/src/binutils-gdb/gdb/stack.c:914
#9 0x55b6ef10e90d in print_stack_frame(frame_info*, int, print_what, int) /home/simark/src/binutils-gdb/gdb/stack.c:180
#10 0x55b6ee9592f8 in print_stop_location /home/simark/src/binutils-gdb/gdb/infrun.c:7853
#11 0x55b6ee95948f in print_stop_event(ui_out*) /home/simark/src/binutils-gdb/gdb/infrun.c:7870
#12 0x55b6ef34b962 in tui_on_normal_stop /home/simark/src/binutils-gdb/gdb/tui/tui-interp.c:98
#13 0x55b6ee01a14d in std::_Function_handler<void (bpstats*, int), void (*)(bpstats*, int)>::_M_invoke(std::_Any_data const&, bpstats*&&, int&&) /usr/include/c++/8.2.1/bits/std_function.h:297
#14 0x55b6ee965415 in std::function<void (bpstats*, int)>::operator()(bpstats*, int) const /usr/include/c++/8.2.1/bits/std_function.h:687
#15 0x55b6ee962f1b in gdb::observers::observable<bpstats*, int>::notify(bpstats*, int) const /home/simark/src/binutils-gdb/gdb/common/observable.h:106
#16 0x55b6ee95a6e7 in normal_stop() /home/simark/src/binutils-gdb/gdb/infrun.c:8142
#17 0x55b6ee93f236 in fetch_inferior_event(void*) /home/simark/src/binutils-gdb/gdb/infrun.c:3782
#18 0x55b6ee8f2641 in inferior_event_handler(inferior_event_type, void*) /home/simark/src/binutils-gdb/gdb/inf-loop.c:43
#19 0x55b6eea2a1f0 in handle_target_event /home/simark/src/binutils-gdb/gdb/linux-nat.c:4358
#20 0x55b6ee7045f1 in handle_file_event /home/simark/src/binutils-gdb/gdb/event-loop.c:733
#21 0x55b6ee704e89 in gdb_wait_for_event /home/simark/src/binutils-gdb/gdb/event-loop.c:859
#22 0x55b6ee7027b5 in gdb_do_one_event() /home/simark/src/binutils-gdb/gdb/event-loop.c:322
#23 0x55b6ee702907 in start_event_loop() /home/simark/src/binutils-gdb/gdb/event-loop.c:371
#24 0x55b6eeadfc16 in captured_command_loop /home/simark/src/binutils-gdb/gdb/main.c:331
#25 0x55b6eeae2ef9 in captured_main /home/simark/src/binutils-gdb/gdb/main.c:1174
#26 0x55b6eeae30c2 in gdb_main(captured_main_args*) /home/simark/src/binutils-gdb/gdb/main.c:1190
#27 0x55b6edf4fa89 in main /home/simark/src/binutils-gdb/gdb/gdb.c:32
#28 0x7fed88ad8222 in __libc_start_main (/usr/lib/libc.so.6+0x24222)
gdb/ChangeLog:
* source-cache.c (source_cache::get_source_lines): Re-read
fullname after calling open_source_file.
commit 24e31cf3aa66e20877358040ceb35b87dde66d12
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Mar 26 00:00:40 2019 +0000
Automatic date update in version.in
commit e8fba7f6bbc06ee96e527c9ebf4128461336cd20
Author: Alan Modra <amodra@gmail.com>
Date: Tue Mar 26 08:59:11 2019 +1030
Fix relpp may be used uninitialized
* objdump.c (dump_relocs_in_section): Warning fix.
commit 81a24d04dfecdbdd9af143043197317dea1119c7
Author: John Baldwin <jhb@FreeBSD.org>
Date: Mon Mar 25 13:23:26 2019 -0700
Note support for TLS variables on FreeBSD.
gdb/ChangeLog:
* NEWS: Mention TLS support for FreeBSD.
commit 79e7ae11c71c1682c0d4b707eadc714ec4efc929
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Mar 25 13:45:57 2019 -0600
Clean up some comments in minsyms.c
Philippe pointed out that some comments in minsyms.c still referred to
obstack allocation. This patch fixes these up.
In most cases here, my view is that the comments were more misleading
than helpful. So, I've generally removed text.
gdb/ChangeLog
2019-03-25 Tom Tromey <tromey@adacore.com>
* minsyms.c (BUNCH_SIZE): Update comment.
(~minimal_symbol_reader): Remove old comment.
(compact_minimal_symbols): Update comment.
(minimal_symbol_reader::install): Remove old comment. Update
other comments.
commit d45963c2b26369e3b375cf5b3b6f52f50f767ef3
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Mar 25 17:02:28 2019 +0000
Fix s390 build
Add missing include.
2019-03-25 Alan Hayward <alan.hayward@arm.com>
* s390-linux-nat.c: Add include.
commit 0f83012ea0fb84d86d2a84a5feb51c0d63f0b7eb
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Mar 25 16:48:03 2019 +0000
Add linux_get_hwcap
Tidy up calls to read HWCAP (and HWCAP2) by adding common functions,
removing the PPC and AArch64 specific versions.
The only function difference is in aarch64_linux_core_read_description - if
the hwcap read fails it now return a valid description instead of nullptr.
gdb/ChangeLog:
2019-03-25 Alan Hayward <alan.hayward@arm.com>
* aarch64-linux-nat.c (aarch64_linux_nat_target::read_description):
Call linux_get_hwcap.
* aarch64-linux-tdep.c (aarch64_linux_core_read_description):
Likewise.
(aarch64_linux_get_hwcap): Remove function.
* aarch64-linux-tdep.h (aarch64_linux_get_hwcap): Remove
declaration.
* arm-linux-nat.c (arm_linux_nat_target::read_description):Call
linux_get_hwcap.
* arm-linux-tdep.c (arm_linux_core_read_description): Likewise.
* linux-tdep.c (linux_get_hwcap): Add function.
(linux_get_hwcap2): Likewise.
* linux-tdep.h (linux_get_hwcap): Add declaration.
(linux_get_hwcap2): Likewise.
* ppc-linux-nat.c (ppc_linux_get_hwcap): Remove function.
(ppc_linux_get_hwcap2): Likewise.
(ppc_linux_nat_target::region_ok_for_hw_watchpoint): Call
linux_get_hwcap.
(ppc_linux_nat_target::insert_watchpoint): Likewise.
(ppc_linux_nat_target::watchpoint_addr_within_range): Likewise.
(ppc_linux_nat_target::read_description): Likewise.
* ppc-linux-tdep.c (ppc_linux_core_read_description): Likewise.
* s390-linux-nat.c: Likewise.
* s390-linux-tdep.c (s390_core_read_description): Likewise.
commit 796d6298bb11deab06814cc38cfe74a1bfc57551
Author: Tamar Christina <tamar.christina@arm.com>
Date: Mon Mar 25 12:16:17 2019 +0000
Arm: Fix Arm disassembler mapping symbol search.
Similar to the AArch64 patches the Arm disassembler has the same issues with
out of order sections but also a few short comings.
For one thing there are multiple code blocks to determine mapping symbols, and
they all work slightly different, and neither fully correct. The first thing
this patch does is centralise the mapping symbols search into one function
mapping_symbol_for_insn. This function is then updated to perform a search in
a similar way as AArch64.
Their used to be a value has_mapping_symbols which was used to determine the
default disassembly for objects that have no mapping symbols. The problem with
the approach was that it was determining this value in the same loop that needed
it, which is why this field could take on the states -1, 0, 1 where -1 means
"don't know". However this means that until you actually find a mapping symbol
or reach the end of the disassembly glob, you don't know if you did the right
action or not, and if you didn't you can't correct it anymore.
This is why the two jump-reloc-veneers-* testcases end up disassembling some
insn as data when they shouldn't.
Out of order here refers to an object file where sections are not listed in a
monotonic increasing VMA order.
The ELF ABI for Arm [1] specifies the following for mapping symbols:
1) A text section must always have a corresponding mapping symbol at it's
start.
2) Data sections do not require any mapping symbols.
3) The range of a mapping symbol extends from the address it starts on up to
the next mapping symbol (exclusive) or section end (inclusive).
However there is no defined order between a symbol and it's corresponding
mapping symbol in the symbol table. This means that while in general we look
up for a corresponding mapping symbol, we have to make at least one check of
the symbol below the address being disassembled.
When disassembling different PCs within the same section, the search for mapping
symbol can be cached somewhat. We know that the mapping symbol corresponding to
the current PC is either the previous one used, or one at the same address as
the current PC.
However this optimization and mapping symbol search must stop as soon as we
reach the end or start of the section. Furthermore if we're only disassembling
a part of a section, the search is a allowed to search further than the current
chunk, but is not allowed to search past it (The mapping symbol if there, must
be at the same address, so in practice we usually stop at PC+4).
lastly, since only data sections don't require a mapping symbol the default
mapping type should be DATA and not INSN as previously defined, however if the
binary has had all its symbols stripped than this isn't very useful. To fix
this we determine the default based on the section flags. This will allow the
disassembler to be more useful on stripped binaries. If there is no section
than we assume you to be disassembling INSN.
[1] https://developer.arm.com/docs/ihi0044/latest/elf-for-the-arm-architecture-abi-2018q4-documentation#aaelf32-table4-7
binutils/ChangeLog:
* testsuite/binutils-all/arm/in-order-all.d: New test.
* testsuite/binutils-all/arm/in-order.d: New test.
* testsuite/binutils-all/arm/objdump.exp: Support .d tests.
* testsuite/binutils-all/arm/out-of-order-all.d: New test.
* testsuite/binutils-all/arm/out-of-order.T: New test.
* testsuite/binutils-all/arm/out-of-order.d: New test.
* testsuite/binutils-all/arm/out-of-order.s: New test.
ld/ChangeLog:
* testsuite/ld-arm/jump-reloc-veneers-cond-long.d: Update disassembly.
* testsuite/ld-arm/jump-reloc-veneers-long.d: Update disassembly.
opcodes/ChangeLog:
* arm-dis.c (struct arm_private_data): Remove has_mapping_symbols.
(mapping_symbol_for_insn): Implement new algorithm.
(print_insn): Remove duplicate code.
commit 60df3720d77c8415158f3eaa166e0b7162f9d3b4
Author: Tamar Christina <tamar.christina@arm.com>
Date: Mon Mar 25 12:14:37 2019 +0000
AArch64: Have -D override mapping symbol as documented.
The documentation for -D says that on Arm platforms -D should disassemble
data as instructions.
"If the target is an ARM architecture this switch also has the effect of
forcing the disassembler to decode pieces of data found in code sections
as if they were instructions. "
This makes it do as it says on the tincan so it's more consistent with
aarch32. The usecase here is for baremetal developers who have created
their instructions using .word directives instead if .insn.
Though for Linux users I do find this behavior somewhat non-optimal.
Perhaps there should be a new flag that just disassembles the values
following the actual mapping symbol?
binutils/ChangeLog:
* testsuite/binutils-all/aarch64/in-order-all.d: New test.
* testsuite/binutils-all/aarch64/out-of-order-all.d: New test.
* testsuite/binutils-all/aarch64/out-of-order.d:
opcodes/ChangeLog:
* aarch64-dis.c (print_insn_aarch64):
Implement override.
commit 51457761649bab6868343b3da2258d73a62901f7
Author: Tamar Christina <tamar.christina@arm.com>
Date: Mon Mar 25 12:12:03 2019 +0000
AArch64: Fix AArch64 disassembler mapping symbol search
My previous patch for AArch64 was not enough to catch all the cases where
disassembling an out-of-order section could go wrong. It had missed the case
DATA sections could be incorrectly disassembled as TEXT.
Out of order here refers to an object file where sections are not listed in a
monotonic increasing VMA order.
The ELF ABI for AArch64 [1] specifies the following for mapping symbols:
1) A text section must always have a corresponding mapping symbol at it's
start.
2) Data sections do not require any mapping symbols.
3) The range of a mapping symbol extends from the address it starts on up to
the next mapping symbol (exclusive) or section end (inclusive).
However there is no defined order between a symbol and it's corresponding
mapping symbol in the symbol table. This means that while in general we look
up for a corresponding mapping symbol, we have to make at least one check of
the symbol below the address being disassembled.
When disassembling different PCs within the same section, the search for mapping
symbol can be cached somewhat. We know that the mapping symbol corresponding to
the current PC is either the previous one used, or one at the same address as
the current PC.
However this optimization and mapping symbol search must stop as soon as we
reach the end or start of the section. Furthermore if we're only disassembling
a part of a section, the search is a allowed to search further than the current
chunk, but is not allowed to search past it (The mapping symbol if there, must
be at the same address, so in practice we usually stop at PC+4).
lastly, since only data sections don't require a mapping symbol the default
mapping type should be DATA and not INSN as previously defined, however if the
binary has had all its symbols stripped than this isn't very useful. To fix this
we determine the default based on the section flags. This will allow the
disassembler to be more useful on stripped binaries. If there is no section than
we assume you to be disassembling INSN.
[1] https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4#aaelf64-section4-5-4
binutils/ChangeLog:
* testsuite/binutils-all/aarch64/in-order.d: New test.
* testsuite/binutils-all/aarch64/out-of-order.d: Disassemble data as
well.
opcodes/ChangeLog:
* aarch64-dis.c (print_insn_aarch64): Update the mapping symbol search
order.
commit 53b2f36bf6aa939feab6f82f05d7dad52f82660d
Author: Tamar Christina <tamar.christina@arm.com>
Date: Mon Mar 25 12:08:53 2019 +0000
AArch64: Fix disassembler bug with out-of-order sections
The AArch64 disassembler has an optimization that it uses to reduce the amount
it has to search for mapping symbols during disassembly. This optimization
assumes that sections are listed in the section header in monotonic increasing
VMAs. However this is not a requirement for the ELF specification.
Because of this when such "out of order" sections occur the disassembler would
pick the wrong mapping symbol to disassemble the section with.
This fixes it by explicitly passing along the stop offset for the current
disassembly glob and when this changes compared to the previous one we've seen
the optimization won't be performed. In effect this restarts the search from
a well defined starting point. Usually the symbol's address.
The existing stop_vma can't be used for this as it is allowed to be unset and
setting this unconditionally would change the semantics of this field.
binutils/ChangeLog:
* objdump.c (disassemble_bytes): Pass stop_offset.
* testsuite/binutils-all/aarch64/out-of-order.T: New test.
* testsuite/binutils-all/aarch64/out-of-order.d: New test.
* testsuite/binutils-all/aarch64/out-of-order.s: New test.
include/ChangeLog:
* dis-asm.h (struct disassemble_info): Add stop_offset.
opcodes/ChangeLog:
* aarch64-dis.c (last_stop_offset): New.
(print_insn_aarch64): Use stop_offset.
commit 9a93502fa81734d39f213ccb33b497bc40e1423d
Author: Pedro Alves <palves@redhat.com>
Date: Mon Mar 25 13:26:23 2019 +0000
Fix testsuite hangs when gdb_test_multiple body errors out
This commit fixes a regression in the testsuite itself, triggered by
errors being raised from within gdb_test_multiple, originally reported
by Pedro Franco de Carvalho's at
<https://sourceware.org/ml/gdb-patches/2019-03/msg00160.html>. Parts
of the commit message are based on his report.
This started happening due to a commit that was introduced recently,
and it can cause the testsuite to hang.
The commit that triggers this is:
fe1a5cad302b5535030cdf62895e79512713d738
[gdb/testsuite] Log wait status on process no longer exists error
That commit introduces a new "eof" block in gdb_test_multiple. That
is not incorrect itself, but dejagnu's remote_expect is picking that
block as the "default" action when an error is raised from within the
commands inside a call to gdb_test_multiple:
# remote_expect works basically the same as standard expect, but it
# also takes care of getting the file descriptor from the specified
# host and also calling the timeout/eof/default section if there is an
# error on the expect call.
#
proc remote_expect { board timeout args } {
I find that "feature" surprising, and I don't really know why it
exists, but this means that the eof section that remote_expect picks
as the error block can be executed even when there was no actual eof
and the GDB process is still running, so the wait introduced in the
commit that tries to get the exit status of GDB hangs forever, while
GDB itself waits for input.
This only happens when there are internal testsuite errors (not
testcase failures). This can be reproduced easily with a testcase
such as:
gdb_start
gdb_test_multiple "show version" "show version" {
-re ".*" {
error "forced error"
}
}
I think that working around this in GDB is useful so that the
testsuite doesn't hang in these cases.
Adding an empty "default" block at the end of the expect body in
gdb_test_multiple doesn't work, because dejagnu gives preference to
"eof" blocks:
if { $x eq "eof" } {
set save_next 1
} elseif { $x eq "default" || $x eq "timeout" } {
if { $error_sect eq "" } {
set save_next 1
}
}
And we do have "eof" blocks. So we need to make sure that the last
"eof" block is safe to use as the default error block. It's also
pedantically incorrect to print
"ERROR: Process no longer exists"
which is what we'd get if the last eof block we have was selected
(more below on this).
So this commit solves this by appending an "eof" with an empty
spawn_id list, so that it won't ever match.
Now, why is the first "eof" block selected today as the error block,
instead of the last one?
The reason is that remote_expect, while parsing the body to select the
default block to execute after an error, is affected by the comments
in the body (since they are also parsed).
If this comment in gdb_test_multiple
# patterns below apply to any spawn id specified.
is changed to
# The patterns below apply to any spawn id specified.
then the second eof block is selected and there is no hang.
Any comment at that same place with an even number of tokens also
works.
This is IMO a coincidence caused by how comments work in TCL.
Comments should only appear in places where a command can appear. And
here, remote_expect is parsing a list of options, not commands, so
it's not unreasonable to not parse comments, similarly to how this:
set a_list {
an_element
# another_element
}
results in a list with three elements, not one element.
The fact that comments with an even number of tokens work is just a
coincidence of how remote_expect's little state machine is
implemented.
I thought we could solve this by stripping out comment lines in
gdb_expect, but I didn't find an easy way to do that. Particularly, a
couple naive approaches I tried run into complications. For example,
we have gdb_test calls with regular expressions that include sequences
like "\r\n#", and by the time we get to gdb_expect, the \r\n have
already been expanded to a real newline, so just splitting the whole
body at newline boundaries, looking for lines that start with #
results in incorrectly stripping out half of the gdb_text regexp. I
think it's better (at least in this commit), to move the comments out
of the list, because it's much simpler and risk free.
gdb/testsuite/ChangeLog:
2019-03-25 Pedro Alves <palves@redhat.com>
* lib/gdb.exp (gdb_test_multiple): Split appends to $code and
move comments outside list. Append '-i "" eof' section.
commit 6640a367bf5427779856e7c80ae4b4bd88c19d3c
Author: Tom Tromey <tom@tromey.com>
Date: Fri Mar 22 16:53:12 2019 -0600
Remove null_block_symbol
This removes null_block_symbol. It seemed simpler to me to change
initializations and returns to use value initialization rather than
null_block_symbol. This also fixes up a few spots where
initialization was done piecemeal.
gdb/ChangeLog
2019-03-24 Tom Tromey <tom@tromey.com>
* ada-lang.c (standard_lookup): Simplify initialization.
(ada_lookup_symbol_nonlocal): Simplify return.
* solib-spu.c (spu_lookup_lib_symbol): Simplify return.
* solib-darwin.c (darwin_lookup_lib_symbol): Simplify return.
* solib-svr4.c (elf_lookup_lib_symbol): Simplify return.
* rust-lang.c (rust_lookup_symbol_nonlocal): Simplify
initialization.
* solib.c (solib_global_lookup): Simplify.
* symtab.c (null_block_symbol): Remove.
(symbol_cache_lookup): Simplify returns.
(lookup_language_this): Simplify returns.
(lookup_symbol_aux): Simplify return.
(lookup_local_symbol): Simplify returns.
(lookup_global_symbol_from_objfile): Simplify return.
(lookup_symbol_in_objfile_symtabs)
(lookup_symbol_in_objfile_from_linkage_name): Simplify return.
(lookup_symbol_via_quick_fns, lookup_symbol_in_static_block)
(lookup_static_symbol, lookup_global_symbol): Simplify return.
* cp-namespace.c (cp_lookup_bare_symbol)
(cp_search_static_and_baseclasses, cp_lookup_symbol_via_imports)
(cp_lookup_symbol_via_all_imports, cp_lookup_nested_symbol_1)
(cp_lookup_nested_symbol): Don't use null_block_symbol.
(cp_lookup_symbol_via_imports): Simplify initialization.
(find_symbol_in_baseclass): Likewise.
* symtab.h (null_block_symbol): Remove.
* d-namespace.c (d_lookup_symbol): Don't use null_block_symbol.
(d_lookup_nested_symbol, d_lookup_symbol_imports)
(d_lookup_symbol_module): Likewise.
(find_symbol_in_baseclass): Simplify initialization.
commit a930ebcdf9594d6b6f91b634dceec1b2425a76a0
Author: Tom Tromey <tom@tromey.com>
Date: Fri Mar 22 16:06:36 2019 -0600
Don't include symtab.h from expression.h
expression.h includes symtab.h, but apparently only for the
declaration of struct block. This patch changes it to foward-declare
the structure, and remove the include.
gdb/ChangeLog
2019-03-24 Tom Tromey <tom@tromey.com>
* expression.h: Don't include symtab.h.
(struct block): Forward declare.
commit 582942f4560f1c8d2a60c2557267f9d3ad8dd6aa
Author: Tom Tromey <tom@tromey.com>
Date: Fri Mar 22 15:54:10 2019 -0600
More block constification
I noticed that there are still many places referring to non-const
blocks. This constifies all the remaining ones that I found that
could be constified.
In a few spots, this search found unused variables or fields. I
removed these. I've also removed some unnecessary casts to
"struct block *".
gdb/ChangeLog
2019-03-24 Tom Tromey <tom@tromey.com>
* c-exp.y (typebase): Remove casts.
* gdbtypes.c (lookup_unsigned_typename, )
(lookup_signed_typename): Remove cast.
* eval.c (parse_to_comma_and_eval): Remove cast.
* parse.c (write_dollar_variable): Remove cast.
* block.h (struct block) <superblock>: Now const.
* symfile-debug.c (debug_qf_map_matching_symbols): Update.
* psymtab.c (psym_map_matching_symbols): Make "block" const.
(map_block): Make "block" const.
* symfile.h (struct quick_symbol_functions)
<map_matching_symbols>: Constify block argument to "callback".
* symtab.c (basic_lookup_transparent_type_quick): Make "block"
const.
(find_pc_sect_compunit_symtab): Make "b" const.
(find_symbol_at_address): Likewise.
(search_symbols): Likewise.
* dwarf2read.c (dw2_lookup_symbol): Make "block" const.
(dw2_debug_names_lookup_symbol): Likewise.
(dw2_map_matching_symbols): Update.
* p-valprint.c (pascal_val_print): Remove "block".
* ada-lang.c (ada_add_global_exceptions): Make "b" const.
(aux_add_nonlocal_symbols): Make "block" const.
(resolve_subexp): Remove cast.
* linespec.c (iterate_over_all_matching_symtabs): Make "block"
const.
(iterate_over_file_blocks): Likewise.
* f-exp.y (%union) <bval>: Remove.
* coffread.c (patch_opaque_types): Make "b" const.
* spu-tdep.c (spu_catch_start): Make "block" const.
* c-valprint.c (print_unpacked_pointer): Remove "block".
* symmisc.c (dump_symtab_1): Make "b" const.
(block_depth): Make "block" const.
* d-exp.y (%union) <bval>: Remove.
* cp-support.h (cp_lookup_rtti_type): Update.
* cp-support.c (cp_lookup_rtti_type): Make "block" const.
* psymtab.c (psym_lookup_symbol): Make "block" const.
(maintenance_check_psymtabs): Make "b" const.
* python/py-framefilter.c (extract_sym): Make "sym_block" const.
(enumerate_locals, enumerate_args): Update.
* python/py-symtab.c (stpy_global_block): Make "block" const.
(stpy_static_block): Likewise.
* inline-frame.c (block_starting_point_at): Make "new_block"
const.
* block.c (find_block_in_blockvector): Make return type const.
(blockvector_for_pc_sect): Make "b" const.
(find_block_in_blockvector): Make "b" const.
commit 258876ee34a4b656c754355cf175a825e0db80f3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Mar 25 00:00:31 2019 +0000
Automatic date update in version.in
commit 5783e150b2a9308e23262a5b62f5d51c8c932ece
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Mar 24 11:44:00 2019 +0100
(re-)fix the regcache leaks when detaching from an executable.
Commit 799efbe8e01ab8292c01f46ac59a6fb2349d4535 was supposed to fix
the below leak. However, for this fix to work, it is critical to
save the ptid before detach.
This commit (pushed as OBVIOUS, as the change was already reviewed/approved)
saves the ptid before the detach, as in the original reviewed patch
(see https://sourceware.org/ml/gdb-patches/2019-02/msg00263.html).
Re-tested on debian/amd64, natively and under valgrind.
==7426== 1,123 (72 direct, 1,051 indirect) bytes in 1 blocks are definitely lost in loss record 2,872 of 3,020
==7426== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344)
==7426== by 0x5BD1E1: get_thread_arch_aspace_regcache(ptid_t, gdbarch*, address_space*) (regcache.c:330)
==7426== by 0x5BD39A: get_thread_regcache (regcache.c:366)
==7426== by 0x5BD39A: get_current_regcache() (regcache.c:372)
==7426== by 0x4B1EB4: get_current_frame() (frame.c:1588)
...
commit 83bfc77ff537667989bd375b991d379ee4dda350
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Mar 24 00:01:13 2019 +0000
Automatic date update in version.in
commit 7ad417dd217849c164e3c8a250c62a98eb0b8cd4
Author: Tom Tromey <tom@tromey.com>
Date: Sat Mar 23 10:11:51 2019 -0600
Have parser reset the innermost block tracker
I ran across a comment in symfile.c today:
/* Clear globals which might have pointed into a removed objfile.
FIXME: It's not clear which of these are supposed to persist
between expressions and which ought to be reset each time. */
It seems to me that this can be clarified: the parser entry points
ought to reset the innermost block tracker (and the expression context
block), and these should not be considered valid for code to use at
arbitrary times -- only immediately after an expression has been
parsed.
This patch implements this idea. This could be further improved by
removing the parser globals and changing the parser functions to
return this information, but I have not done this.
Tested by the buildbot.
gdb/ChangeLog
2019-03-23 Tom Tromey <tom@tromey.com>
* varobj.c (varobj_create): Update.
* symfile.c (clear_symtab_users): Don't reset innermost_block.
* printcmd.c (display_command, do_one_display): Don't reset
innermost_block.
* parser-defs.h (enum innermost_block_tracker_type): Move to
expression.h.
(innermost_block): Update comment.
* parse.c (parse_exp_1): Add tracker_types parameter.
(parse_exp_in_context): Rename from parse_exp_in_context_1. Add
tracker_types parameter. Reset innermost_block.
(parse_exp_in_context): Remove.
(parse_expression_for_completion): Update.
* objfiles.c (~objfile): Don't reset expression_context_block or
innermost_block.
* expression.h (enum innermost_block_tracker_type): Move from
parser-defs.h.
(parse_exp_1): Add tracker_types parameter.
* breakpoint.c (set_breakpoint_condition, watch_command_1): Don't
reset innermost_block.
commit b366c208ee07924cc3cafc1bd4d70548bc91075b
Author: Tom Tromey <tom@tromey.com>
Date: Sat Mar 23 10:50:27 2019 -0600
Include bcache.h from objfiles.h
objfiles.h needs "struct bcache" to be complete, so it should include
bcache.h. This patch implements this.
Tested by rebuilding.
gdb/ChangeLog
2019-03-23 Tom Tromey <tom@tromey.com>
* objfiles.h: Include bcache.h.
commit 9bb9b2f9d6d5aa90f579494d8407375a87a9ad0b
Author: Tom Tromey <tom@tromey.com>
Date: Sat Mar 23 09:43:49 2019 -0600
Use scoped_restore_current_language in two places
I found a couple of spots that manually saved and restored the current
language. This patch changes them to use
scoped_restore_current_language.
Tested by the buildbot.
gdb/ChangeLog
2019-03-23 Tom Tromey <tom@tromey.com>
* linespec.c (get_current_search_block): Use
scoped_restore_current_language.
* symmisc.c (dump_symtab): Use scoped_restore_current_language.
commit c90939d2d08caedf4f777112a1aafa0c69a9d1c1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Mar 23 00:00:38 2019 +0000
Automatic date update in version.in
commit 59c283728fddad638ae301cfb724d629fffc8665
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Mar 22 10:43:17 2019 +0000
AArch64: Read pauth section from core files
gdb/ChangeLog:
* aarch64-linux-tdep.c
(aarch64_linux_iterate_over_regset_sections): Check for pauth
section.
* aarch64-linux-tdep.h (AARCH64_LINUX_SIZEOF_PAUTH): New define.
commit 17e116a7d1501a46cf4e45ec181148dc6a1e3e2b
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Mar 22 10:41:15 2019 +0000
AArch64: Prologue scan unwinder support for signed return addresses
Pauth address signing is enabled at binary compile time. When enabled the
return addresses for functions may be mangled. This patch adds functionality
to restore the original address for use in the prologue scan unwinder.
In the prologue analyzer, check for PACIASP/PACIBSP (enable address mangling)
and AUTIASP/AUTIBSP (disable address mangling).
When unwinding the PC from the prologue, unmask the register if required.
Add a test case to the prologue tests.
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_analyze_prologue): Check for pauth
instructions.
(aarch64_analyze_prologue_test): Add PACIASP test.
(aarch64_prologue_prev_register): Unmask PC value.
commit 11e1b75f0696f6e406fe8ccc759bac2fbc8fc151
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Mar 22 10:39:11 2019 +0000
AArch64: DWARF unwinder support for signed return addresses
Pauth address signing is enabled at binary compile time. When enabled the
return addresses for functions may be mangled. This patch adds functionality
to restore the original address for use in the DWARF unwinder.
DW_CFA_AARCH64_negate_ra_state in a binary indicates the toggling of address
signing between enabled and disabled. Ensure the state is stored in the DWARF
register ra_state.
Ensure the pauth DWARF registers are initialised.
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_frame_unmask_address): New function.
(aarch64_dwarf2_prev_register): Unmask PC value.
(aarch64_dwarf2_frame_init_reg): Init pauth registers.
(aarch64_execute_dwarf_cfa_vendor_op): Check for
DW_CFA_AARCH64_negate_ra_state.
(aarch64_gdbarch_init): Add aarch64_execute_dwarf_cfa_vendor_op.
commit 34dcc7cf95f756862bdfebb753ab2de39fec4c9e
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Mar 22 10:37:46 2019 +0000
AArch64: Add pauth DWARF registers
Map the pauth registers to DWARF.
Add a new pseudo register ra_state and also map this to DWARF. This register
is hidden from the user - prevent it from being read or written to. It will
be used for the unmangling of addresses.
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Check for pauth
registers.
(aarch64_pseudo_register_name): Likewise.
(aarch64_pseudo_register_type): Likewise.
(aarch64_pseudo_register_reggroup_p): Likewise.
(aarch64_gdbarch_init): Add pauth registers.
* aarch64-tdep.h (AARCH64_DWARF_PAUTH_RA_STATE): New define.
(AARCH64_DWARF_PAUTH_DMASK): Likewise.
(AARCH64_DWARF_PAUTH_CMASK): Likewise.
(struct gdbarch_tdep): Add regnum for ra_state.
commit 1ef53e6b8328acd5b7d54ee2fe288836ce12992e
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Mar 22 10:34:09 2019 +0000
AArch64: gdbserver: read pauth registers
Add the pauth registers to the regset lists.
Add a new regset type OPTIONAL_REGS which allows for the regset read to fail.
Once the read fails, it will not be checked again. This allows targets with
optional features to keep a single static regset_info structure.
gdb/ChangeLog:
* arch/aarch64.h (AARCH64_PAUTH_REGS_SIZE): New define.
gdb/gdbserver/ChangeLog:
* linux-aarch64-low.c (aarch64_store_pauthregset): New function.
* linux-low.c (regsets_store_inferior_registers): Allow optional reads
to fail.
* linux-low.h (enum regset_type): Add OPTIONAL_REGS.
commit 76bed0fd9493868889929ca9dcd32350c1d864be
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Mar 22 10:31:02 2019 +0000
AArch64: Read pauth registers
Initialise the pauth registers when creating a target description, and store
the regnum of the first pauth register.
Use ptrace to read the registers in the pauth feature.
Do not allow the registers to be written.
gdb/ChangeLog:
* aarch64-linux-nat.c (fetch_pauth_masks_from_thread): New
function.
(aarch64_linux_nat_target::fetch_registers): Read pauth registers.
* aarch64-tdep.c (aarch64_cannot_store_register): New function.
(aarch64_gdbarch_init): Add puth registers.
* aarch64-tdep.h (struct gdbarch_tdep): Add pauth features.
* arch/aarch64.h (AARCH64_PAUTH_DMASK_REGNUM): New define.
(AARCH64_PAUTH_CMASK_REGNUM): Likewise.
commit ee4fbcfa26eb4a2a3666f7c1cc31447c3cffa023
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Mar 22 10:00:28 2019 +0000
AArch64: Use HWCAP to detect pauth feature
Add aarch64_get_hwcap functions for reading the HWCAP.
From this extract the PACA value and use this to enable pauth.
gdb/ChangeLog:
* aarch64-linux-nat.c
(aarch64_linux_nat_target::read_description): Read PACA hwcap.
* aarch64-linux-tdep.c
(aarch64_linux_core_read_description): Likewise.
(aarch64_linux_get_hwcap): New function.
* aarch64-linux-tdep.h (AARCH64_HWCAP_PACA): New define.
(aarch64_linux_get_hwcap): New declaration.
gdb/gdbserver/ChangeLog:
* linux-aarch64-low.c (AARCH64_HWCAP_PACA): New define.
(aarch64_get_hwcap): New function.
(aarch64_arch_setup): Read APIA hwcap.
commit 6dc0ebde59dfb73eae507ced718bafa54023bf33
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Mar 22 09:58:42 2019 +0000
AArch64: Add pointer authentication feature
Pointer Authentication is a new feature in AArch64 v8.3-a. When enabled in
the compiler, function return addresses will be mangled by the kernel.
Add register description xml and wire up to aarch64_linux_read_description.
This description includes the two pauth user registers.
Nothing yet uses the feature - that is added in later patches.
gdb/ChangeLog:
* aarch64-linux-nat.c
(aarch64_linux_nat_target::read_description): Add pauth param.
* aarch64-linux-tdep.c
(aarch64_linux_core_read_description): Likewise.
* aarch64-tdep.c (struct target_desc): Add in pauth.
(aarch64_read_description): Add pauth param.
(aarch64_gdbarch_init): Likewise.
* aarch64-tdep.h (aarch64_read_description): Likewise.
* arch/aarch64.c (aarch64_create_target_description): Likewise.
* arch/aarch64.h (aarch64_create_target_description): Likewise.
* features/Makefile: Add new files.
* features/aarch64-pauth.c: New file.
* features/aarch64-pauth.xml: New file.
gdb/doc/ChangeLog:
* gdb.texinfo: Describe pauth feature.
gdb/gdbserver/ChangeLog:
* linux-aarch64-ipa.c (get_ipa_tdesc): Add pauth param.
(initialize_low_tracepoint): Likewise.
* linux-aarch64-low.c (aarch64_arch_setup): Likewise.
* linux-aarch64-tdesc-selftest.c (aarch64_tdesc_test): Likewise.
* linux-aarch64-tdesc.c (struct target_desc): Likewise.
(aarch64_linux_read_description): Likewise.
* linux-aarch64-tdesc.h (aarch64_linux_read_description): Likewise.
commit 968aa7ae389d9e6cecb5fda6826bf889ed959fce
Author: Alan Hayward <alan.hayward@arm.com>
Date: Wed Feb 13 12:28:38 2019 +0000
Testsuite: Ensure pie is disabled on some tests
Recent versions of Ubuntu and Debian default GCC to enable pie.
In dump.exp, pie will causes addresses to be out of range for IHEX.
In break-interp.exp, pie is explicitly set for some tests and assumed
to be disabled for the remainder.
Ensure pie is disabled for these tests when required.
In addition, add a pie option to gdb_compile to match the nopie option
and simplify use.
gdb/testsuite/ChangeLog:
* README: Add pie options.
* gdb.base/break-interp.exp: Ensure pie is disabled.
* gdb.base/dump.exp: Likewise.
* lib/gdb.exp (gdb_compile): Add pie option.
commit d8a95af9dffa36a1004e4cebfe6758c735402f6e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Mar 22 00:00:37 2019 +0000
Automatic date update in version.in
commit a9f5a5517fb7df640f0fcd4cb0f9961818b6505b
Author: Jim Wilson <jimw@sifive.com>
Date: Thu Mar 21 15:08:48 2019 -0700
RISC-V: Fix linker crash in section symbol check.
sym is only set for local symbols. h is only set for global symbols. Gas
won't let me create a global section symbol, but bfd appears to have some
support for that, and I can't rule out that other assemblers might do this.
So we need to support both, and verify sym and h are non-NULL before using.
bfd/
PR 24365
* elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
verify sym non-NULL before using. Add identical check using h.
commit 4e5391148d51c58785aad637f1a92d47b91b3ae6
Author: Sudakshina Das <sudi.das@arm.com>
Date: Thu Mar 21 16:20:21 2019 +0000
[BFD, AArch64, x86] Improve warning for --force-bti
The AArch64 linker option to turn on BTI (--force-bti) warns in case there are
input objects which have a missing GNU NOTE section for BTI. This patch is trying
to improve the warnings that come out.
In order to do so, I propose adding a new argument to elf_merge_gnu_properties
and the backend function merge_gnu_properties. This new argument makes sure
that we now pass both the objects along with the properties to which they
belong to. The x86 backend function has also been updated to match this
change.
*** bfd/ChangeLog ***
2019-03-21 Sudakshina Das <sudi.das@arm.com>
* elf-bfd.h (struct elf_backend_data): Add argument to
merge_gnu_properties.
* elf-properties.c (elf_merge_gnu_properties): Add argument to
itself and while calling bed->merge_gnu_properties.
(elf_merge_gnu_property_list): Update the calls for
elf_merge_gnu_properties.
* elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
of --force-bti warning and add argument.
* elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
warning.
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
* elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
declaration.
*** ld/ChangeLog ***
2019-03-21 Sudakshina Das <sudi.das@arm.com>
* testsuite/ld-aarch64/aarch64-elf.exp: Add new test.
* testsuite/ld-aarch64/bti-plt-1.s: Add .ifdef for PAC note section.
* testsuite/ld-aarch64/bti-plt-6.d: Update warning.
* testsuite/ld-aarch64/bti-plt-7.d: Likewise.
* testsuite/ld-aarch64/bti-warn.d: New test.
commit f84bd4655c17b3ee59b73bd33ec91f75bd58546c
Author: Alan Modra <amodra@gmail.com>
Date: Thu Mar 21 16:01:08 2019 +1030
Adjust pr14156 test for m68hc1*
The test section alignment is unnecessarily high, overflowing the
m68hc11 page used by .init code.
* testsuite/ld-elf/fini2.s: Reduce alignment.
* testsuite/ld-elf/fini3.s: Likewise.
* testsuite/ld-elf/finin.s: Likewise.
* testsuite/ld-elf/init2.s: Likewise.
* testsuite/ld-elf/init3.s: Likewise.
* testsuite/ld-elf/initn.s: Likewise.
* testsuite/ld-elf/pr14156a.d: Don't xfail m68hc1*-* or xgate-*.
* testsuite/ld-elf/pr14156b.d: Don't xfail xgate-*.
commit 2d3181c7c466d247d274ca6dbed6c598ceaa6163
Author: Alan Modra <amodra@gmail.com>
Date: Thu Mar 21 14:58:35 2019 +1030
Add SORT_NONE to .init and .fini in scripts
The special case for .init and .fini in update_wild_statements is
ineffective for .init or .fini wildcards inside other output sections.
The special case needs to be on the wildcard, not the output section.
This patch is belt and braces, both fixing update_wild_statements and
the scripts.
* scripttempl/alpha.sc, * scripttempl/armbpabi.sc,
* scripttempl/crisaout.sc, * scripttempl/elf32cr16.sc,
* scripttempl/elf32crx.sc, * scripttempl/elf32xc16x.sc,
* scripttempl/elf32xc16xl.sc, * scripttempl/elf32xc16xs.sc,
* scripttempl/elf64hppa.sc, * scripttempl/elf_chaos.sc,
* scripttempl/elfarc.sc, * scripttempl/elfarcv2.sc,
* scripttempl/elfd30v.sc, * scripttempl/elfm68hc11.sc,
* scripttempl/elfm68hc12.sc, * scripttempl/elfm9s12z.sc,
* scripttempl/elfmicroblaze.sc, * scripttempl/elfxgate.sc,
* scripttempl/elfxtensa.sc, * scripttempl/epiphany_4x4.sc,
* scripttempl/ft32.sc, * scripttempl/i386beos.sc,
* scripttempl/iq2000.sc, * scripttempl/mcorepe.sc,
* scripttempl/mep.sc, * scripttempl/mips.sc, * scripttempl/moxie.sc,
* scripttempl/pe.sc, * scripttempl/pep.sc, * scripttempl/ppcpe.sc,
* scripttempl/tic4xcoff.sc, * scripttempl/tic80coff.sc,
* scripttempl/v850.sc, * scripttempl/v850_rh850.sc,
* scripttempl/visium.sc, * scripttempl/xstormy16.sc: Add KEEP and
SORT_NONE to .init and .fini wildcards.
* scripttempl/elf32xc16x.sc,
* scripttempl/elf32xc16xl.sc,
* scripttempl/elf32xc16xs.sc: Add .fini wildcard.
* scripttempl/elf_chaos.sc: Add .init output section.
* scripttempl/elfd30v.sc: Remove duplicate .init.
* scripttempl/elfm68hc11.sc, * scripttempl/elfm68hc12.sc,
* scripttempl/elfm9s12z.sc, * scripttempl/elfxgate.sc: Remove
duplicate .init, and add .fini wildcard.
* scripttempl/ppcpe.sc (INIT, FINI): Delete.
* ldlang.c (update_wild_statements): Special case .init and
.fini in the wildcard, not the output section.
commit cc00a5d100973549bf5e4840937529633f4de1fa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Mar 21 00:00:28 2019 +0000
Automatic date update in version.in
commit 980a2e42f7439015defdcedad89a13a72749bdb0
Author: Alan Modra <amodra@gmail.com>
Date: Thu Mar 21 08:39:18 2019 +1030
lm32-linux ld testsuite fails
A number of the fails are due to ld supporting the creation of shared
libraries but not allowing linking against them without using an
option like -Bdynamic.
FAIL: Symbol export class test (final shared object)
FAIL: PROVIDE_HIDDEN test 4
FAIL: PROVIDE_HIDDEN test 6
FAIL: PROVIDE_HIDDEN test 10
FAIL: PROVIDE_HIDDEN test 12
FAIL: Build pr22471b.so
FAIL: Build pr22649-2b.so
FAIL: Build pr22649-2d.so
FAIL: PR ld/20828 dynamic symbols with section GC (plain)
FAIL: PR ld/20828 dynamic symbols with section GC (version script)
FAIL: PR ld/20828 dynamic symbols with section GC (versioned)
FAIL: PR ld/21233 dynamic symbols with section GC (--undefined)
FAIL: PR ld/21233 dynamic symbols with section GC (--require-defined)
FAIL: PR ld/21233 dynamic symbols with section GC (EXTERN)
FAIL: Build pr22150
FAIL: PR ld/14170
FAIL: Link using broken linker script
FAIL: pr17068 link --as-needed lib in group
FAIL: ld-gc/pr20022
* emulparams/elf32lm32fd.sh (DYNAMIC_LINK): Undef.
commit 86b0c8dda0b762fe3af25fb41bb04a63183d58d7
Author: Alan Modra <amodra@gmail.com>
Date: Wed Mar 20 18:35:16 2019 +1030
Remove strip_underscore from struct emulation
This field is unused. I would have liked to also remove
leading_underscore and fake_label_name but in an i386-elf/coff/aout
multi-obj setup those fields are used to select a different
fake_label_name for aout.
* emul.h (struct emulation): Delete strip_underscore.
* emul-target.h (emul_strip_underscore): Don't define.
(emul_struct_name): Update initialization.
commit 7553c869a9a9af813abd8cb4d445765d1a8a1cac
Author: Alan Modra <amodra@gmail.com>
Date: Wed Mar 20 09:20:55 2019 +1030
Teach a few targets to resolve BFD_RELOC_8
and tidy "forward" test. I've removed some checks in d30v
md_apply_fix that have no business being there. Any symbol problems
will be caught later in tc_gen_reloc, and overflow checking is done in
gas/write.c.
* config/tc-d10v.c (md_apply_fix): Apply BFD_RELOC_8.
* config/tc-pdp11.c (md_apply_fix): Likewise.
* config/tc-d30v.c (md_apply_fix): Don't emit errors for BFD_RELOC_8,
BFD_RELOC_16, and BFD_RELOC_64.
* testsuite/gas/all/gas.exp: Move target exclusions for forward
test, but not cr16, to..
* testsuite/gas/all/forward.d: ..here, with explanation. Remove
d10v, d30v, and pdp11 xfails.
commit 3b6c19668236e6fd60c6299e7d016396d645fa61
Author: Alan Modra <amodra@gmail.com>
Date: Tue Mar 19 15:41:58 2019 +1030
Fix some dlx fails
Generic linker ELF targets using CREATE_OBJECT_SYMBOLS in their
scripts run into a problem. The file symbols are created by
_bfd_generic_link_output_symbols in each object file, in the section
corresponding to the CREATE_OBJECT_SYMBOLS section, typically .text.
If it so happens that the output .text section is stripped due to
being empty, then elf.c:assign_section_numbers won't assign an ELF
section number and swap_out_syms will report "unable to find
equivalent output section" for the object symbols. Fix this by
always keeping an output section with CREATE_OBJECT_SYMBOLS.
* ldlang.c (lang_size_sections_1): Set SEC_KEEP on
create_object_symbols_section.
* testsuite/ld-elf/pr22319.d: Don't xfail dlx.
commit acde6c6b431a8c38ab18a47bb56f65f515448195
Author: Sudakshina Das <sudi.das@arm.com>
Date: Wed Mar 20 18:00:07 2019 +0000
[BFD, AArch64] Define elf_backend_fixup_gnu_properties in AArch64
This patch add support for elf_backend_fixup_gnu_properties for GNU
property support for AArch64. The new AArch64 specific definition
_bfd_aarch64_elf_link_fixup_gnu_properties goes through the property
list to find AArch64 type properties and removes the properties that
are marked as "property_remove".
*** bfd/ChangeLog ***
2019-03-20 Sudakshina Das <sudi.das@arm.com>
* elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
* elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
(elf_backend_fixup_gnu_properties): Define for AArch64.
commit 48869a5f9c439dc8f5cb47b8d5bada77b4c3c2cb
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Mar 20 08:12:38 2019 -0600
Use @defvar to document gdb.pretty_printers
While referencing the manual, I noticed that gdb.pretty_printers
wasn't documented using @defvar. This made it more difficult to find
in the info pages. This patch adds the @defvar and also an
introductory paragraph in that node.
gdb/doc/ChangeLog
2019-03-20 Tom Tromey <tromey@adacore.com>
* python.texi (Selecting Pretty-Printers): Use @defvar for
gdb.pretty_printers.
commit 595915c1c135a77afa01d30a888a48fcc55a08ec
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Mar 20 07:57:09 2019 -0600
Merge handle_inferior_event and handle_inferior_event_1
I noticed that handle_inferior_event is just a small wrapper that
frees the value chain. This patch replaces it with a
scoped_value_mark, reducing the number of lines of code here.
Regression tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-03-20 Tom Tromey <tromey@adacore.com>
* infrun.c (handle_inferior_event): Rename from
handle_inferior_event_1. Create a scoped_value_mark.
(handle_inferior_event): Remove.
commit e946b687baa552034ee57f3c119e56a20961452e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Mar 20 00:00:30 2019 +0000
Automatic date update in version.in
commit 4c7d57e72e0340931ab01db2247bdce3c2fcadb7
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Mar 12 12:56:01 2019 -0600
Don't show "display"s twice in MI
If you run "gdb -i=mi2" and set a "display", then when "next"ing the
displays will be shown twice:
~"1: x = 23\n"
~"7\t printf(\"%d\\n\", x);\n"
~"1: x = 23\n"
*stopped,reason="end-stepping-range",frame={addr="0x0000000000400565",func="main",args=[],file="q.c",fullname="/tmp/q.c",line="7"},thread-id="1",stopped-threads="all",core="1"
The immediate cause of this is this code in mi_on_normal_stop_1:
print_stop_event (mi_uiout);
console_interp = interp_lookup (current_ui, INTERP_CONSOLE);
if (should_print_stop_to_console (console_interp, tp))
print_stop_event (mi->cli_uiout);
... which obviously prints the stop twice.
However, I think the first call to print_stop_event is intended just
to emit the MI *stopped notification, which explains why the source
line does not show up two times.
This patch fixes the bug by changing print_stop_event to only call
do_displays for non-MI-like ui-outs.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-03-19 Tom Tromey <tromey@adacore.com>
* mi/mi-interp.c (mi_on_normal_stop_1): Only show displays once.
* infrun.h (print_stop_event): Add "displays" parameter.
* infrun.c (print_stop_event): Add "displays" parameter.
gdb/testsuite/ChangeLog
2019-03-19 Tom Tromey <tromey@adacore.com>
* gdb.mi/mi2-cli-display.c: New file.
* gdb.mi/mi2-cli-display.exp: New file.
commit cb24623460fe3e68794b79b79b0dbd5e62598d85
Author: Pedro Alves <palves@redhat.com>
Date: Tue Mar 19 18:08:27 2019 +0000
Add comments describing tui_ui_out and its fields, cleanup a bit
This commit add comments describing tui_ui_out and its fields, and
cleans up the code a little bit.
Also switch to using in-class initialization so that the initial
values can be seen alongside the comments.
I see no reason for initializing m_line as -1 instead of 0, since all
the checks in the .c file are of the form "> 0". AFAICS there's no
practical difference between -1 and 0. So it seems simpler to
initialize it as 0.
There's a bit of redundancy in tui_ui_out::do_field_string, which is
fixed by this commit.
gdb/ChangeLog:
2019-03-19 Pedro Alves <palves@redhat.com>
* tui/tui-out.c (tui_ui_out::do_field_string): Simplify.
(tui_ui_out::do_text): Add comments. Reset M_LINE to 0 instead of
to -1. Fix TABs vs spaces.
(tui_ui_out::tui_ui_out): Don't initialize fields here.
* tui/tui-out.h (tui_ui_out) Add intro comments.
<m_line, m_start_of_line>: In-class initialize, and add describing
comment.
commit 634557801d909982b47b1723f4216ebe8bc784aa
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Mar 19 13:39:30 2019 +0000
Prevent an illegal memory access by objdump when parsing a corrupt file on a 32-bit host.
PR 24360
* objdump.c (load_specific_debug_section): Check that the amount
of memory to be allocated matches the size of the section.
commit 392a59728b7286d5fd1a1c377de3c40334bbb36f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Mar 19 21:12:47 2019 +0800
x86: Correct EVEX vector load/store optimization
Update EVEX vector load/store optimization:
1. There is no need to check AVX since AVX2 is required for AVX512F.
2. We need to check both operands for ZMM register since AT&T syntax
may not set zmmword on the first operand.
3. Update Opcode_SIMD_IntD check and set.
4. Since the VEX prefix has 2 or 3 bytes, the EVEX prefix has 4 bytes,
EVEX Disp8 has 1 byte and VEX Disp32 has 4 bytes, we choose EVEX Disp8
over VEX Disp32.
* config/tc-i386.c (optimize_encoding): Don't check AVX for
EVEX vector load/store optimization. Check both operands for
ZMM register. Update EVEX vector load/store opcode check.
Choose EVEX Disp8 over VEX Disp32.
* testsuite/gas/i386/optimize-1.d: Updated.
* testsuite/gas/i386/optimize-1a.d: Likewise.
* testsuite/gas/i386/optimize-2.d: Likewise.
* testsuite/gas/i386/optimize-4.d: Likewise.
* testsuite/gas/i386/optimize-5.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-2a.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-2b.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-5.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-6.d: Likewise.
* testsuite/gas/i386/optimize-1.s: Add ZMM register load
test.
* testsuite/gas/i386/x86-64-optimize-2.s: Likewise.
commit 7b1d7ca194544554f7d41aea7fdf7a69c232f15d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Mar 19 21:10:21 2019 +0800
x86: Correct EVEX to 128-bit EVEX optimization
Since not all AVX512F processors support AVX512VL, we can optimize
512-bit EVEX to 128-bit EVEX encoding for upper 16 vector registers
only when AVX512VL is enabled explicitly at command-line or via
".arch .avx512vl" directive.
PR gas/24352
* config/tc-i386.c (optimize_encoding): Check only
cpu_arch_flags.bitfield.cpuavx512vl.
* testsuite/gas/i386/i386.exp: Run x86-64-optimize-2b.
* testsuite/gas/i386/x86-64-optimize-2.d: Revert the last
change.
* testsuite/gas/i386/x86-64-optimize-2b.d: New file.
* testsuite/gas/i386/x86-64-optimize-2b.s: Likewise.
commit 89199bb5a027d21c56dafd2cd898487118949ecf
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Mar 19 21:08:15 2019 +0800
ix86: Disable AVX512F when disabling AVX2
Since AVX2 is required for AVX512F, we should disable AVX512F when AVX2
is disabled.
gas/
PR gas/24359
* testsuite/gas/i386/i386.exp: Change optimize-6a, optimize-7,
x86-64-optimize-7a and x86-64-optimize-8 tests to run_list_test.
Remove optimize-6c and x86-64-optimize-7c tests.
* testsuite/gas/i386/noavx-3.l: Updated.
* testsuite/gas/i386/noavx-4.d: Likewise.
* testsuite/gas/i386/noavx-5.d: Likewise.
* testsuite/gas/i386/noavx-3.s: Add AVX512F tests.
* testsuite/gas/i386/noavx-4.s: Remove AVX512F tests.
* testsuite/gas/i386/nosse-5.s: Likewise.
* testsuite/gas/i386/optimize-6a.d: Removed.
* testsuite/gas/i386/optimize-6c.d: Likewise.
* testsuite/gas/i386/optimize-7.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-7a.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-7c.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-8.d: Likewise.
* testsuite/gas/i386/optimize-6a.l: New file.
* testsuite/gas/i386/optimize-6a.s: Likewise.
* testsuite/gas/i386/optimize-7.l: Likewise.
* testsuite/gas/i386/x86-64-optimize-7a.l: Likewise.
* testsuite/gas/i386/x86-64-optimize-7a.s: Likewise.
* testsuite/gas/i386/x86-64-optimize-8.l: Likewise.
opcodes/
PR gas/24359
* i386-gen.c (cpu_flag_init): Add CPU_ANY_AVX512F_FLAGS to
CPU_ANY_AVX2_FLAGS.
* i386-init.h: Regenerated.
commit 3a0e45b2f187dae8cba444e9b31f05cee0e2d6ae
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Mar 18 16:13:12 2019 +0000
Fix Arm build error
The following commit broke the build for Arm:
d3a70e03cf51c8fb6bc183eaff7559edffec2045
Change iterate_over_lwps to take a gdb::function_view
Correct the changes made to arm_linux_insert_hw_breakpoint1 and make
similar changes to arm_linux_remove_hw_breakpoint1.
2019-03-18 Alan Hayward <alan.hayward@arm.com>
* arm-linux-nat.c (arm_linux_insert_hw_breakpoint1): Fix
variable names.
(arm_linux_remove_hw_breakpoint1): Use a gdb::function_view.
commit 4faa59bbb7ad8665b6eb7c93bdb726e412850811
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Mar 19 00:00:21 2019 +0000
Automatic date update in version.in
commit 5371b8502ab414aea510f65ce1acb9f090bf0340
Author: Pedro Alves <palves@redhat.com>
Date: Mon Mar 18 18:32:42 2019 +0000
Fix first time you type UP or DOWN in TUI's command window
The first time you type UP or DOWN arrow in the command window, GDB
should scroll the source window, but instead it displays the line
number and the file name in the command window(?).
What happens there is that the first time we call
tui_ui_out::do_field_int, it doesn't initialize m_line, because
m_start_of_line is -1, as set by the constructor; and then the
following call to tui_ui_out::do_field_string falls back to
cli_ui_out::do_field_string because m_line is zero.
The problem is caused by a typo in the C++ification of tui_ui_out,
commit 112e8700a6f, where m_line and m_start_of_line's initial values
were swapped from what they used to be:
-struct ui_out *
-tui_out_new (struct ui_file *stream)
+tui_ui_out::tui_ui_out (ui_file *stream)
+: cli_ui_out (stream, 0),
+ m_line (0),
+ m_start_of_line (-1)
{
-
- /* Initialize our fields. */
- data->line = -1;
- data->start_of_line = 0;
This commit fixes it.
gdb/ChangeLog:
2019-03-18 Pedro Alves <palves@redhat.com>
Eli Zaretskii <eliz@gnu.org>
* tui/tui-out.c (tui_ui_out::tui_ui_out): Fix initialization of
m_line and m_start_of_line.
commit b17c4cd078e2d1d8951951016815e474fb133780
Author: Eli Zaretskii <eliz@gnu.org>
Date: Mon Mar 18 20:04:40 2019 +0200
Fix gdb/TUI behavior in response to [Enter] keypress
gdb/ChangeLog:
2019-03-18 Eli Zaretskii <eliz@gnu.org>
* tui/tui-io.c (gdb_wgetch): Don't echo CR.
(tui_getc): When gdb_wgetch returns a CR, behave the same as when
it returns a newline. This fixes a regression in TUI mode, whereby
the next line is output on the same screen line as the user input.
commit 4bd56d18cc9799f283715a96ba61fd4b958b2f71
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Mar 18 09:32:09 2019 -0600
Fix regression caused by minimal symbol changes
The earlier patch to change minimal symbol allocations to use xmalloc
erroneously left a call to obstack_blank in
minimal_symbol_reader::install. Because obstack_blank does not finish
the object allocation on an obstack, this in turn could cause invalid
memory reads in some situations.
This patch fixes the problem by removing the call. Tested on x86-64
Fedora 29; also verified with valgrind.
gdb/ChangeLog
2019-03-18 Tom Tromey <tromey@adacore.com>
* minsyms.c (minimal_symbol_reader::install): Remove call to
obstack_blank.
commit 55c10aca2e93cc7a4301aa1635ef9d6d73a804b1
Author: Pedro Alves <palves@redhat.com>
Date: Mon Mar 18 14:26:00 2019 +0000
Improve/fix the TUI's current source line highlight
With styling enabled, I think the way we display the TUI's
highlighted/current line is very ugly and distracting. The problem in
my view is that we reverse foreground/background in colored text as
well, leading to rainbow of background colors.
This patch changes that to something that I find much more sensible --
only reverse the default foreground/background colors, leave styled
text colors alone. If the foreground color is not the default
(because the text was styled), leave the foreground color as is. If
e.g., the terminal is fg=BLACK, and bg=WHITE, and the style wants to
print text in RED, reverse the background color (print in BLACK), but
still print the text in RED.
Note: The new ui_file_style::set_fg method isn't called set_foreground
instead, because set_foreground is a macro in /usr/lib/term.h (ncurses).
gdb/ChangeLog:
2019-03-18 Pedro Alves <palves@redhat.com>
* tui/tui-io.c (reverse_mode_p, reverse_save_bg, reverse_save_fg):
New globals.
(apply_style): New, factored out from ...
(apply_ansi_escape): ... this. Handle reverse video mode.
(tui_set_reverse_mode): New function.
* tui/tui-io.h (tui_set_reverse_mode): New declaration.
* tui/tui-winsource.c (tui_show_source_line): Use
tui_set_reverse_mode instead of setting A_STANDOUT.
* ui-style.h (struct ui_file_style) <set_reverse, set_fg, set_bg>:
New setter methods.
commit 647bb750c298bbee618aa4448a30dcf9adf23602
Author: Hannes Domani <ssbssa@yahoo.de>
Date: Mon Mar 18 14:25:59 2019 +0000
Fix scrolling right in the TUI
This commit fixes two issues in scrolling right in the TUI:
#1 - Scrolling right with the arrow keys, the first keypress doesn't
do anything. The problem is that copy_source_line() checks if
(column < first_col), and because of the ++column directly before, it
basically starts with 1 instead of 0.
#2 - Scrolling right handles TABS and escaped characters as single
characters, which just looks weird. The problem is that there's a
spot that misses handling TABS.
gdb/ChangeLog:
2019-03-18 Hannes Domani <ssbssa@yahoo.de>
* tui/tui-source.c (copy_source_line): Fix handling of 'column'.
Handle tabs.
commit bff8c71fd8dece639e69b399883f90b3404a2a48
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Mar 13 08:40:25 2019 -0600
Fix Ada "ptype" bug with array types
Using ptype on an array type in Ada can sometimes show an incorrect
high bound. This happens because ada_evaluate_subexp will create an
array with an incorrect upper bound in the EVAL_AVOID_SIDE_EFFECTS
case.
This patch fixes the problem by arranging to always create such an
array with valid bounds.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-03-18 Tom Tromey <tromey@adacore.com>
* ada-lang.c (empty_array): Add "high" parameter.
(ada_evaluate_subexp): Update.
gdb/testsuite/ChangeLog
2019-03-18 Joel Brobecker <brobecker@adacore.com>
Tom Tromey <tromey@adacore.com>
* gdb.ada/ptype_array/pck.adb: New file.
* gdb.ada/ptype_array/pck.ads: New file.
* gdb.ada/ptype_array/foo.adb: New file.
* gdb.ada/ptype_array.exp: New file.
commit af60449c260235478f9b1f9db39a587fe4c75290
Author: Alan Modra <amodra@gmail.com>
Date: Mon Mar 18 22:34:36 2019 +1030
Use temp_ilp and restore_ilp in more places
* as.c (macro_expr): Use temp_ilp and restore_ilp.
* macro.c (buffer_and_nest): Likewise.
* read.c (temp_ilp): Remove FIXME.
commit c6cdff46c9d35e0c811e179fc6642ed71473bc66
Author: Alan Modra <amodra@gmail.com>
Date: Mon Mar 18 22:16:24 2019 +1030
Fix MRI mode testsuite failures
These fails were introduced by git commit 2469b3c584 with the
inroduction of "input_from_string":
m68k-linux FAIL: MRI structured for
m68k-linux FAIL: MRI structured if
m68k-linux FAIL: MRI structured repeat
m68k-linux FAIL: MRI structured while
Since the m68k parser called expression() without setting
input_from_string, get_symbol_name rejected FAKE_LABEL_CHAR in names.
* config/m68k-parse.y (yylex): Use temp_ilp and restore_ilp.
commit 8cd1fe1bf525b59f4d07e5790d11d49eee7e8494
Author: Alan Modra <amodra@gmail.com>
Date: Mon Mar 18 21:38:36 2019 +1030
PR24355, segmentation fault in function called from ppc_finish_symbols
This one looks to be a bug going back to 2009, git commit e054468f6c
"STT_GNU_IFUNC support for PowerPC". That bug was carried over with
git commit 49c09209d0 "Rearrange PLT reloc output on powerpc".
If the refcount for an ifunc local sym plt entry was zero,
ppc_elf_size_dynamic_sections would correctly set plt.offset to -1 but
leave glink_offset uninitialized. That leads to occasional segfaults
(which can be made solid with MALLOC_PERTURB_=1 when using glibc).
So, guard the write_glink_stub call with plt.offset != -1. Also,
remove the totally ineffective attempt at writing multiple-use glink
stubs only once.
PR 24355
* elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
for local iplt syms with ent->plt.offset == -1. Remove ineffective
attempt at writing glink stubs only once.
commit 28a66f07f0695c740dc0e1b043cd36f90dbfb5ea
Author: Alan Modra <amodra@gmail.com>
Date: Mon Mar 18 11:11:39 2019 +1030
csky ld testsuite fixes
* testsuite/ld-elf/merge.d: Remove csky from xfails, add moxie.
* testsuite/ld-elf/pr21884.d: Remove csky from xfails.
* testsuite/ld-elf/shared.exp: Add csky to list not xfailing pr22374.
* testsuite/ld-unique/pr21529.d: Remove csky from xfails
commit 58785d9888c699770154ef1d42fcea7598e8d704
Author: Sergei Trofimovich <siarheit@google.com>
Date: Sun Mar 17 22:27:31 2019 +0000
gdb: unconditionally define _initialize_string_view_selftests
The build failure was noticed by Helmut Jarausch in
https://bugs.gentoo.org/680232:
$ ./configure CXXFLAGS='-std=c++17 -Os'
...
CXXLD gdb
ld: init.o: in function `initialize_all_files()':
init.c:(.text+0x113): undefined reference to `_initialize_string_view_selftests()'
It happens because '_initialize_string_view_selftests()' is
conditionally defined based on C++ default.
The change defines '_initialize_string_view_selftests()'
unconditionally and leaves implementation a no-op on c++17
compilers.
gdb/ChangeLog:
2019-03-17 Sergei Trofimovich <siarheit@google.com>
* unittests/string_view-selftests.c: Define
_initialize_string_view_selftests unconditionally.
commit a716e60cf91254811f798d358a5b1842b4a65113
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Mar 18 09:19:45 2019 +0800
x86: Pass -O0 to assembler for some tests
* testsuite/gas/i386/att-regs.d: Pass -O0 to assembler.
* testsuite/gas/i386/avx512bw-intel.d: Likewise.
* testsuite/gas/i386/avx512bw.d: Likewise.
* testsuite/gas/i386/avx512f-intel.d: Likewise.
* testsuite/gas/i386/avx512f.d: Likewise.
* testsuite/gas/i386/disp32.d: Likewise.
* testsuite/gas/i386/intel-regs.d: Likewise.
* testsuite/gas/i386/pseudos.d: Likewise.
* testsuite/gas/i386/x86-64-disp32.d: Likewise.
* testsuite/gas/i386/x86-64-pseudos.d: Likewise.
commit 97ed31ae00ea83410f9daf61ece8a606044af365
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Mar 18 08:56:10 2019 +0800
x86: Optimize EVEX vector load/store instructions
When there is no write mask, we can encode lower 16 128-bit/256-bit
EVEX vector register load and store instructions as VEX vector register
load and store instructions with -O1.
gas/
PR gas/24348
* config/tc-i386.c (optimize_encoding): Encode 128-bit and
256-bit EVEX vector register load/store instructions as VEX
vector register load/store instructions for -O1.
* doc/c-i386.texi: Update -O1 documentation.
* testsuite/gas/i386/i386.exp: Run PR gas/24348 tests.
* testsuite/gas/i386/optimize-1.s: Add tests for EVEX vector
load/store instructions.
* testsuite/gas/i386/optimize-2.s: Likewise.
* testsuite/gas/i386/optimize-3.s: Likewise.
* testsuite/gas/i386/optimize-5.s: Likewise.
* testsuite/gas/i386/x86-64-optimize-2.s: Likewise.
* testsuite/gas/i386/x86-64-optimize-3.s: Likewise.
* testsuite/gas/i386/x86-64-optimize-4.s: Likewise.
* testsuite/gas/i386/x86-64-optimize-5.s: Likewise.
* testsuite/gas/i386/x86-64-optimize-6.s: Likewise.
* testsuite/gas/i386/optimize-1.d: Updated.
* testsuite/gas/i386/optimize-2.d: Likewise.
* testsuite/gas/i386/optimize-3.d: Likewise.
* testsuite/gas/i386/optimize-4.d: Likewise.
* testsuite/gas/i386/optimize-5.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-4.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-5.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-6.d: Likewise.
* testsuite/gas/i386/optimize-7.d: New file.
* testsuite/gas/i386/optimize-7.s: Likewise.
* testsuite/gas/i386/x86-64-optimize-8.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-8.s: Likewise.
opcodes/
PR gas/24348
* i386-opc.tbl: Add Optimize to vmovdqa32, vmovdqa64, vmovdqu8,
vmovdqu16, vmovdqu32 and vmovdqu64.
* i386-tbl.h: Regenerated.
commit 7bc0961cfec1f138a3127e8f210909aa430c425f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Mar 18 00:00:40 2019 +0000
Automatic date update in version.in
commit 99112332cda2e63d33959ac8ea2ed13524b09bd6
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Mar 18 03:50:45 2019 +0800
x86: Encode 256-bit/512-bit VEX/EVEX insns with 128-bit VEX
Since all AVX512 processors support AVX, we can encode 256-bit/512-bit
VEX/EVEX vector register clearing instructions with 128-bit VEX vector
register clearing instructions at -O1.
* config/tc-i386.c (optimize_encoding): Encode 256-bit/512-bit
VEX/EVEX vector register clearing instructions with 128-bit VEX
vector register clearing instructions at -O1.
* doc/c-i386.texi: Update -O1 and -O2 documentation.
* testsuite/gas/i386/i386.exp: Run optimize-1a and
x86-64-optimize-2a.
* testsuite/gas/i386/optimize-1a.d: New file.
* testsuite/gas/i386/x86-64-optimize-2a.d: Likewise.
commit d4cbef22ba406707a4fcb30a7a57308447626f14
Author: ÐÐ»Ð°Ð´Ð¸Ð¼Ð¸Ñ ÐаÑÑÑÑнов <vilgeforce@gmail.com>
Date: Sun Mar 17 12:51:01 2019 +0300
Remove unused variable from windows_make_so
There is unused variable text_vma in function windows_make_so. This
leads to build error on Windows using Cygwin.
gdb/ChangeLog:
2019-03-17 Vladimir Martyanov <vilgeforce@gmail.com>
PR gdb/24350
* windows-nat.c (windows_make_so): Remove unused text_vma variable.
commit fce4c071610c0d01b70b172ee538e831023c1c2f
Author: ÐÐ»Ð°Ð´Ð¸Ð¼Ð¸Ñ ÐаÑÑÑÑнов <vilgeforce@gmail.com>
Date: Sun Mar 17 12:48:24 2019 +0300
Fix wrong format specification in display_selector()
There are a wrong format strings in function display_selector() in
file windows-nat.c. This leads to build error using Cygwin on Windows.
LDT_ENTRY.HighWord is a DWORD, which is unsigned long int, so the
format specification should be for long int, not simply int.
gdb/ChangeLog:
2019-03-17 Vladimir Martyanov <vilgeforce@gmail.com>
PR gdb/24351
* windows-nat.c (display_selector): Format specifications fixed
commit f7f0a12390fc514a5b7b38d1b23397d87532ce05
Author: Eli Zaretskii <eliz@gnu.org>
Date: Sun Mar 17 18:00:34 2019 +0200
Fix redisplay of the current line in GDB TUI mode
Without this change, when the current line is longer than the source
window width, redisplaying that line overwrites the window frame and
also portions of the next line.
gdb/ChangeLog:
2019-03-17 Eli Zaretskii <eliz@gnu.org>
* tui/tui-winsource.c (tui_set_is_exec_point_at): Call
tui_refill_source_window instead of tui_refresh_win, to update the
current execution line. This fixes redisplay of the current line
when stepping through very long lines with "next" or "step".
commit d6dcc55d804dc23197c8cf4f193bc39838c6a052
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Mar 17 00:01:10 2019 +0000
Automatic date update in version.in
commit 41fd2579f2ac6a5fca262317b0e52eea07fa7438
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Mar 17 07:39:18 2019 +0800
x86: Set optimize to INT_MAX for -Os
Set optimize to INT_MAX, instead of -1, for -Os so that -Os will include
-O2 optimization.
PR gas/24353
* config/tc-i386.c (md_parse_option): Set optimize to INT_MAX
for -Os.
* testsuite/gas/i386/optimize-2.s: Add a test.
* testsuite/gas/i386/x86-64-optimize-3.s: Likewise.
* testsuite/gas/i386/optimize-2.d: Updated.
* testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
commit dd22218cf26fa5d8beade7266de391a28e63527b
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Mar 17 07:25:08 2019 +0800
x86: Correctly optimize EVEX to 128-bit VEX/EVEX
We can optimize 512-bit EVEX to 128-bit EVEX encoding for upper 16
vector registers only when AVX512VL is enabled. We can't optimize
EVEX to 128-bit VEX encoding when AVX isn't enabled.
PR gas/24352
* config/tc-i386.c (optimize_encoding): Encode 512-bit EVEX
with 128-bit VEX encoding only when AVX is enabled and with
128-bit EVEX encoding only when AVX512VL is enabled.
* testsuite/gas/i386/i386.exp: Run PR gas/24352 tests.
* testsuite/gas/i386/optimize-6.s: New file.
* testsuite/gas/i386/optimize-6a.d: Likewise.
* testsuite/gas/i386/optimize-6b.d: Likewise.
* testsuite/gas/i386/optimize-6c.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-7.s: Likewise.
* testsuite/gas/i386/x86-64-optimize-7a.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-7b.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-7c.d: Likewise.
* testsuite/gas/i386/x86-64-optimize-2.d: Updated.
commit ab42892fb7d265e72a85e918d4f5c6dfeee3fcd8
Author: Eli Zaretskii <eliz@gnu.org>
Date: Sat Mar 16 19:53:46 2019 +0200
Fix vertical scrolling of TUI source window
gdb/ChangeLog:
2019-03-16 Eli Zaretskii <eliz@gnu.org>
* source-cache.c (source_cache::get_source_lines): Call
find_source_lines to initialize s->nlines. This fixes vertical
scrolling of TUI source window when the DOWN arrow is pressed.
commit 8d8c087f34beaa271c3f8d5597d92bce4e9c7f4a
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Mar 16 16:56:44 2019 +0100
OBVIOUS: fix several occurrences of 'This options has' to 'This option has'
commit 798e1c302af509c31839c5c3b50c058b61206ee7
Author: Eli Zaretskii <eliz@gnu.org>
Date: Sat Mar 16 14:13:43 2019 +0200
Revert "Use wclrtoeol in tui_show_source_line"
gdb/ChangeLog:
2019-03-16 Eli Zaretskii <eliz@gnu.org>
* tui/tui-winsource.c (tui_show_source_line): Revert "Use
wclrtoeol in tui_show_source_line". This reverts changes made in
commit 4a3045920bbe4e50a0f4920b0fdc4e88ef23015c.
commit 6835821be8bab8702e41e6946a7d8ee9441f0eee
Author: Alan Modra <amodra@gmail.com>
Date: Sat Mar 16 09:34:47 2019 +1030
PR24337, segfault in _bfd_elf_rela_local_sym, again
Reverts commit 1ff31e135f, fixing the problem more generally. There
are likely other place that will segfault on a NULL section.
PR 24337
* elf.c (_bfd_elf_rela_local_sym): Revert last change.
(_bfd_elf_rel_local_sym): Likewise.
* elflink.c (elf_link_input_bfd): Use bfd_und_section for
section of symbols with unrecognized shndx.
commit fdc01131eb74cf28ae6e7eb3f55ebe0d38839d3e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Mar 16 00:00:26 2019 +0000
Automatic date update in version.in
commit eefba3da27c23db67cc0e1707fcedd96f1c0860d
Author: Tom Tromey <tom@tromey.com>
Date: Sat Mar 2 13:07:47 2019 -0700
Change minimal_symbol inheritance
This changes struct minimal_symbol to inherit from general_symbol_info
and updates various macros to cope.
Because MSYMBOL_SET_LANGUAGE and MSYMBOL_SET_NAMES were only used from
a single spot, this patch removes them in favor of simply inlining
their definitions. I consider this to be somewhat cleaner, not least
because the "phony polymorphism" provided by such macros is not useful
in practice.
gdb/ChangeLog
2019-03-15 Tom Tromey <tom@tromey.com>
* symtab.h (struct minimal_symbol): Derive from
general_symbol_info.
(MSYMBOL_VALUE, MSYMBOL_VALUE_RAW_ADDRESS)
(MSYMBOL_VALUE_ADDRESS, MSYMBOL_VALUE_BYTES)
(MSYMBOL_BLOCK_VALUE, MSYMBOL_VALUE_CHAIN, MSYMBOL_LANGUAGE)
(MSYMBOL_SECTION, MSYMBOL_OBJ_SECTION, MSYMBOL_NATURAL_NAME)
(MSYMBOL_LINKAGE_NAME, MSYMBOL_DEMANGLED_NAME)
(MSYMBOL_SEARCH_NAME): Update.
(MSYMBOL_SET_LANGUAGE, MSYMBOL_SET_NAMES): Remove.
* solib.c (gdb_bfd_lookup_symbol_from_symtab): Don't use memset.
* minsyms.c (minimal_symbol_reader::record_full): Update.
commit 0de2420c4b023e644f91a409803fedfb235bfc0b
Author: Tom Tromey <tom@tromey.com>
Date: Sat Mar 2 12:31:04 2019 -0700
Use memcpy in minimal_symbol_reader::install
minimal_symbol_reader::install copies minsyms from the msym_bunch
objects into the allocated memory. It seemed better to me to do this
via memcpy, as that is frequently optimized in libc.
gdb/ChangeLog
2019-03-15 Tom Tromey <tom@tromey.com>
* minsyms.c (minimal_symbol_reader::install): Use memcpy.
commit 042d75e42c5572f333e0e06dabd3c5c4afab486c
Author: Tom Tromey <tom@tromey.com>
Date: Sat Mar 2 12:29:48 2019 -0700
Allocate minimal symbols with malloc
Currently, minimal symbols are allocated on the per-BFD obstack.
However, it is also possible for multiple symbol readers to create
minimal symbols for a given objfile. In this case, the minimal
symbols will be reallocated on the obstack, leading to some waste of
storage.
This is a memory leak, but I think it won't be caught by tools like
valgrind, because valgrind doesn't know about obstacks.
This patch fixes the problem by using malloc to allocate the storage
for minimal symbols.
gdb/ChangeLog
2019-03-15 Tom Tromey <tom@tromey.com>
* objfiles.h (struct objfile_per_bfd_storage) <msymbols>: Now a
unique_xmalloc_ptr.
(objfile::msymbols_range::begin, objfile::msymbols_range::end):
Update.
* minsyms.c (lookup_minimal_symbol_by_pc_section)
(build_minimal_symbol_hash_tables)
(minimal_symbol_reader::install): Update.
commit db92718b541158d4782dbc9f48401c20f2bbad6d
Author: Tom Tromey <tom@tromey.com>
Date: Sat Mar 2 12:18:05 2019 -0700
Use htab_up for demangled hash
This changes objfile_per_bfd_storage::demangled_names_hash to be an
htab_up. This lets us remove some manual management code from the
objfile_per_bfd_storage destructor.
gdb/ChangeLog
2019-03-15 Tom Tromey <tom@tromey.com>
* symtab.c (create_demangled_names_hash): Update.
(symbol_set_names): Update.
* objfiles.h (struct objfile_per_bfd_storage)
<demangled_names_hash>: Now an htab_up.
* objfiles.c (objfile_per_bfd_storage): Simplify.
commit d6797f465c3f67b41a0db38870bbd33384b6551f
Author: Tom Tromey <tom@tromey.com>
Date: Sat Mar 2 12:11:26 2019 -0700
Simplify per-BFD storage management
There's no reason that the objfile_per_bfd_storage must be allocated
via bfd_alloc. This patch changes objfile_per_bfd_storage to be
managed more simply, via ordinary new and delete; and moves some code
into its (new) destructor.
While doing this I also noticed an extra initialization of
language_of_main, and removed it.
gdb/ChangeLog
2019-03-15 Tom Tromey <tom@tromey.com>
* objfiles.h (struct objfile_per_bfd_storage): Declare
destructor.
* objfiles.c (objfile_per_bfd_storage::~objfile_per_bfd_storage):
New.
(get_objfile_bfd_data): Use new. Don't initialize
language_of_main.
(free_objfile_per_bfd_storage): Remove.
(objfile_bfd_data_free, objfile::~objfile): Use delete.
commit 741d7538b7540fea1086fe6ab962227d2cf7418e
Author: Tom Tromey <tom@tromey.com>
Date: Sat Mar 2 12:05:57 2019 -0700
Remove minsym termination
I was curious what used the terminating "null" minimal symbol; and
after looking I could not find anything. This patch removes
terminate_minimal_symbol_table and the extra minimal symbol that is
allocated for it.
gdb/ChangeLog
2019-03-15 Tom Tromey <tom@tromey.com>
* symfile.c (reread_symbols): Update.
* objfiles.c (objfile::objfile): Update.
* minsyms.h (terminate_minimal_symbol_table): Don't declare.
* minsyms.c (lookup_minimal_symbol_by_pc_section): Update
comment.
(minimal_symbol_reader::install): Update.
(terminate_minimal_symbol_table): Remove.
* jit.c (jit_object_close_impl): Update.
commit 788c80d1aff685e66b8105ddc7451cfa6a03bf1d
Author: Tom Tromey <tom@tromey.com>
Date: Fri Mar 1 19:56:45 2019 -0700
Remove some unneeded initializations in minimal_symbol_reader
minimal_symbol_reader::record_full does not need to initialize any
minsym fields to 0, because that was already done implicitly via the
use of XCNEW when allocating the msym_bunch.
gdb/ChangeLog
2019-03-15 Tom Tromey <tom@tromey.com>
* minsyms.c (minimal_symbol_reader::record_full): Remove some
initializations.
commit 1b7a07cba0aa096c2eb66895ef339aa5143e9995
Author: Tom Tromey <tom@tromey.com>
Date: Fri Mar 1 19:55:46 2019 -0700
Use bitset for demangled_hash_languages
I noticed that objfile_per_bfd_storage::demangled_hash_languages is a
std::vector, which seemed quite large for something that,
fundamentally, can be represented as a bitset. This patch
reimplements it as a std::bitset.
gdb/ChangeLog
2019-03-15 Tom Tromey <tom@tromey.com>
* objfiles.h (struct objfile_per_bfd_storage)
<demangled_hash_languages>: Now a bitset.
* minsyms.c (add_minsym_to_demangled_hash_table): Update.
(lookup_minimal_symbol): Update.
commit 3db066bcd5bac9a8d6be85ea4cfa8f52dbdcc600
Author: Tom Tromey <tom@tromey.com>
Date: Fri Mar 1 17:37:30 2019 -0700
Slightly simplify minsym creation
Only one caller of minimal_symbol_reader::record_with_info was using
the return value, so this patch simplifies this code by having it
return void and changing that caller to use record_full instead.
gdb/ChangeLog
2019-03-15 Tom Tromey <tom@tromey.com>
* minsyms.h (class minimal_symbol_reader) <record_with_info>:
Don't return the symbol.
* coffread.c (record_minimal_symbol): Use record_full.
commit 2219ae0b0ebe14373850b000c2abaa31dab1d741
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Mar 15 22:19:01 2019 +0800
COFF: Check for symbols defined in discarded section
For LTO, a symbol may defined in discarded section. We should mark it
as undefined so that LTO plugin will make IR definition available.
PR ld/24267
* coffgen.c (_bfd_coff_section_already_linked): Skip discarded
section.
* cofflink.c (coff_link_add_symbols): Check for symbols defined
in discarded section.
commit 1c82ed745bec154a3cd8a8bbf36c5be5086041d5
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Mar 15 12:08:56 2019 +0000
Update the documentation describing where the linker will attempt to locate plugins.
PR 24262
* ld.texi (-plugin): Correct the path used to locate linker
plugins.
commit 1c529385d9d7f53efa541d9701ec8c1001581e3e
Author: Li Hao <li.hao296@zte.com.cn>
Date: Fri Mar 15 11:58:05 2019 +0000
Fix a potential illegal memory access whilt parsing an x86 insn.
PR 24308
* config/tc-i386.c (parse_insn): Check mnemp before using it to
determine if a suffix can be trimmed.
commit fe3fef62ad11115fc3b03c0c0dcb9c38b2f544cb
Author: Alan Modra <amodra@gmail.com>
Date: Fri Mar 15 16:49:59 2019 +1030
PR24339, segfault on NULL symbol section
PR 24339
* elflink.c (elf_link_add_object_symbols): Bail out on a local
symbol after globals if elf_bad_symtab is not set.
commit 1ff31e135f04b2773e10d3e5072776c1072edbfb
Author: Alan Modra <amodra@gmail.com>
Date: Fri Mar 15 16:49:42 2019 +1030
PR24337, segfault in _bfd_elf_rela_local_sym
PR 24337
* elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
(_bfd_elf_rel_local_sym): Likewise.
commit f55b1e3248e4950464ea120027cc6881003e0ead
Author: Alan Modra <amodra@gmail.com>
Date: Fri Mar 15 15:49:27 2019 +1030
PR24336, buffer overflow in swap_reloca_in
PR 24336
* elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
object files with sh_size not a multiple of sh_entsize.
commit 418d4036ee37807b97b8040ebe7e2c15e9db726d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Mar 15 15:46:12 2019 +0800
x86-64: Check for corrupt input with bad relocation
PR ld/24338
* elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
input with bad relocation.
commit da0d12d2bd46730ad8327b9fac1371182996017c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Mar 15 14:43:36 2019 +0800
Re-indent elf_x86_64_relocate_section
* elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
commit 4a5ee99b2f891c7adcafd4c4d9e3c360a5c475fd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Mar 15 00:00:25 2019 +0000
Automatic date update in version.in
commit 5c85e20d5a6cbcb58aabdac192142be38c96b069
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Thu Mar 14 15:04:10 2019 -0400
Fix gdb.texinfo build
Commit b4be1b064860 ("Fix MI output for multi-location breakpoints")
broke the build of gdb.texinfo. The problem is simply the use of "@end
@table", which should be "@end table".
The error was:
/home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27870: warning: @table should not appear in @end
/home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27870: table requires an argument: the formatter for @item
/home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27870: no matching `@end table'
/home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27870: bad argument to @end: @table
/home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27867: warning: @table has text but no @item
/home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27879: @node seen before @end table
gdb/doc/ChangeLog:
* gdb.texinfo (GDB/MI Development and Front Ends): Fix closing
of table, "@end @table" -> "@end table".
commit d7f848c3b51f01635557ab765f2ba176618e0bf8
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Mar 14 17:21:41 2019 +0000
Fix a buffer overrun error when attempting to parse corrupt DWARF information.
PR 24334
* dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
(save_section_vma): Initialise field to the number of entries in
the sec_vma table.
(section_vma_same): Check that the number of entries in the
sec_vma table matches the number of sections in the bfd.
commit 6cc71b820cc70b63711e9d7f584550b56e172b0a
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Mar 14 16:03:07 2019 +0000
Fix an illegal memory access when parsing a corrupt ELF file.
PR 24333
* elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
section owner pointer when adding the default symbol.
commit 3fff2c370cd658877be8107bfe9dde8dd0470b46
Author: Eli Zaretskii <eliz@gnu.org>
Date: Thu Mar 14 17:31:38 2019 +0200
Fix colors in TUI mode in MS-Windows build with ncurses
The MS-Windows port of ncurses fails to switch to a color pair if
one or both of the colors are the implicit default colors. This
change records the default colors when TUI is initialized, and
then specifies them explicitly when a color pair uses the default
colors. This allows color styling in TUI mode on MS-Windows.
gdb/ChangeLog:
2019-03-14 Eli Zaretskii <eliz@gnu.org>
* tui/tui-io.c [__MINGW32__]: Include windows.h. Declare
ncurses_norm_attr.
(tui_initialize_io) [__MINGW32__]: Record the default terminal
colors in ncurses_norm_attr.
(apply_ansi_escape) [__MINGW32__]: If a color in a color pair is
"none", replace it with the default color recorded in
ncurses_norm_attr.
commit be22c732bf873e0c7e8a08564c97cafdfcf153bb
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Mar 14 14:45:32 2019 +0000
Fix illegal memory access parsing a corrupt ELF file.
PR 24332
* elflink.c (elf_link_add_object_symbols): Add new local variable
extversym_end. Initialise it to point to the end of the version
symbol table, if present. Check it when initialising and updating
the ever pointer.
commit 3b336828de914a39741339b5341b88aa003d7225
Author: Tom Tromey <tromey@adacore.com>
Date: Fri Mar 8 13:59:27 2019 -0700
Avoid a crash in source_cache::extract_lines
If the first requested line is larger than the number of lines in the
source buffer, source_cache::extract_lines could crash, because it
would try to pass string::npos" to string::substr.
This patch avoids the crash by checking for this case.
This version of the patch changes get_source_lines to return
std::string.
gdb/ChangeLog
2019-03-14 Tom Tromey <tromey@adacore.com>
* source-cache.h (class source_cache) <get_source_lines>: Return
std::string.
* source-cache.c (source_cache::extract_lines): Handle case where
first_pos==npos. Return std::string.
(source_cache::get_source_lines): Update.
commit d085f98901ccd6c9764b93d3983f3c7797addc4f
Author: Tom Tromey <tromey@adacore.com>
Date: Fri Mar 8 13:54:07 2019 -0700
Add the "set style source" command
This adds "set style source" (and "show style source") commands. This
gives the user control over whether source code is highlighted.
gdb/ChangeLog
2019-03-14 Tom Tromey <tromey@adacore.com>
* NEWS: Add item for "style sources" commands.
* source-cache.c (source_cache::get_source_lines): Check
source_styling.
* cli/cli-style.c (source_styling): New global.
(_initialize_cli_style): Add "style sources" commands.
(show_style_sources): New function.
* cli/cli-style.h (source_styling): Declare.
gdb/doc/ChangeLog
2019-03-14 Tom Tromey <tromey@adacore.com>
* gdb.texinfo (Output Styling): Document "set style source" and
"show style source".
gdb/testsuite/ChangeLog
2019-03-14 Tom Tromey <tromey@adacore.com>
* gdb.base/style.exp: Add "set style sources" test.
commit 6f11e6824e15bd40fe1e7b245a22865c6ef8c7bd
Author: Tom Tromey <tromey@adacore.com>
Date: Fri Mar 8 13:41:55 2019 -0700
Make TUI react to "set style enabled"
When the user toggles "set style enabled", the TUI should react by
redrawing the source window, if necessary. This patch implements this
behavior.
No test because the TUI is generally not tested.
This version of the patch incorporates Pedro's patch to provide a
clean way to force the TUI to update the source window's contents.
gdb/ChangeLog
2019-03-14 Pedro Alves <palves@redhat.com>
Tom Tromey <tromey@adacore.com>
* tui/tui-winsource.h (tui_refill_source_window): Declare.
* tui/tui-winsource.c (tui_refill_source_window): New function,
from...
(tui_horizontal_source_scroll): ... here. Move some logic.
* cli/cli-style.c (set_style_enabled): Notify new observable.
* tui/tui-hooks.c (tui_redisplay_source): New function.
(tui_attach_detach_observers): Attach or detach
tui_redisplay_source.
* observable.h (source_styling_changed): New observable.
* observable.c: Define source_styling_changed observable.
commit a0148d8416f6c692b83acc77cf838b3e7929a249
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Mar 14 00:00:23 2019 +0000
Automatic date update in version.in
commit a068643d69ce0f25d5f7cbdaa1d0a3211d72c081
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Feb 28 09:09:55 2019 -0700
Change pid_to_str to return std::string
Currently the target pid_to_str method returns a const char *, so many
implementations have a static buffer that they update. This patch
changes these methods to return a std::string instead. I think this
is cleaner and avoids possible gotchas when calling pid_to_str on
different ptids in a single statement. (Though no such calls exist
currently.)
This also updates various helper functions, and the gdbarch pid_to_str
methods.
I also made a best effort to fix all the callers, but I can't build
some of the *-nat.c files.
Tested by the buildbot.
gdb/ChangeLog
2019-03-13 Tom Tromey <tromey@adacore.com>
* i386-gnu-nat.c (i386_gnu_nat_target::fetch_registers)
(i386_gnu_nat_target::store_registers): Update.
* target-debug.h (target_debug_print_std_string): New macro.
* x86-linux-nat.c (x86_linux_nat_target::enable_btrace): Update.
* windows-tdep.c (display_one_tib): Update.
* tui/tui-stack.c (tui_make_status_line): Update.
* top.c (print_inferior_quit_action): Update.
* thread.c (thr_try_catch_cmd): Update.
(add_thread_with_info): Update.
(thread_target_id_str): Update.
(thr_try_catch_cmd): Update.
(thread_command): Update.
(thread_find_command): Update.
* record-btrace.c (record_btrace_target::info_record)
(record_btrace_resume_thread, record_btrace_target::resume)
(record_btrace_cancel_resume, record_btrace_step_thread)
(record_btrace_target::wait, record_btrace_target::wait)
(record_btrace_target::wait, record_btrace_target::stop): Update.
* progspace.c (print_program_space): Update.
* process-stratum-target.c
(process_stratum_target::thread_address_space): Update.
* linux-fork.c (linux_fork_mourn_inferior)
(detach_checkpoint_command, info_checkpoints_command)
(linux_fork_context): Update.
(linux_fork_detach): Update.
(class scoped_switch_fork_info): Update.
(delete_checkpoint_command): Update.
* infrun.c (follow_fork_inferior): Update.
(follow_fork_inferior): Update.
(proceed_after_vfork_done): Update.
(handle_vfork_child_exec_or_exit): Update.
(follow_exec): Update.
(displaced_step_prepare_throw): Update.
(displaced_step_restore): Update.
(start_step_over): Update.
(resume_1): Update.
(clear_proceed_status_thread): Update.
(proceed): Update.
(print_target_wait_results): Update.
(do_target_wait): Update.
(context_switch): Update.
(stop_all_threads): Update.
(restart_threads): Update.
(finish_step_over): Update.
(handle_signal_stop): Update.
(switch_back_to_stepped_thread): Update.
(keep_going_pass_signal): Update.
(print_exited_reason): Update.
(normal_stop): Update.
* inferior.c (inferior_pid_to_str): Change return type.
(print_selected_inferior): Update.
(add_inferior): Update.
(detach_inferior): Update.
* dummy-frame.c (fprint_dummy_frames): Update.
* dcache.c (dcache_info_1): Update.
* btrace.c (btrace_enable, btrace_disable, btrace_teardown)
(btrace_fetch, btrace_clear): Update.
* linux-tdep.c (linux_core_pid_to_str): Change return type.
* i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Change return
type.
* fbsd-tdep.c (fbsd_core_pid_to_str): Change return type.
* sol2-tdep.h (sol2_core_pid_to_str): Change return type.
* sol2-tdep.c (sol2_core_pid_to_str): Change return type.
* gdbarch.c, gdbarch.h: Rebuild.
* gdbarch.sh (core_pid_to_str): Change return type.
* windows-nat.c (struct windows_nat_target) <pid_to_str>: Change
return type.
(windows_nat_target::pid_to_str): Change return type.
(windows_delete_thread): Update.
(windows_nat_target::attach): Update.
(windows_nat_target::files_info): Update.
* target-delegates.c: Rebuild.
* sol-thread.c (class sol_thread_target) <pid_to_str>: Change
return type.
(sol_thread_target::pid_to_str): Change return type.
* remote.c (class remote_target) <pid_to_str>: Change return
type.
(remote_target::pid_to_str): Change return type.
(extended_remote_target::attach, remote_target::remote_stop_ns)
(remote_target::remote_notif_remove_queued_reply)
(remote_target::push_stop_reply, remote_target::disable_btrace):
Update.
(extended_remote_target::attach): Update.
* remote-sim.c (struct gdbsim_target) <pid_to_str>: Change return
type.
(gdbsim_target::pid_to_str): Change return type.
* ravenscar-thread.c (struct ravenscar_thread_target)
<pid_to_str>: Change return type.
(ravenscar_thread_target::pid_to_str): Change return type.
* procfs.c (class procfs_target) <pid_to_str>: Change return
type.
(procfs_target::pid_to_str): Change return type.
(procfs_target::attach): Update.
(procfs_target::detach): Update.
(procfs_target::fetch_registers): Update.
(procfs_target::store_registers): Update.
(procfs_target::wait): Update.
(procfs_target::files_info): Update.
* obsd-nat.c (obsd_nat_target::pid_to_str): Change return type.
* nto-procfs.c (struct nto_procfs_target) <pid_to_str>: Change
return type.
(nto_procfs_target::pid_to_str): Change return type.
(nto_procfs_target::files_info, nto_procfs_target::attach): Update.
* linux-thread-db.c (class thread_db_target) <pid_to_str>: Change
return type.
* linux-nat.c (linux_nat_target::pid_to_str): Change return type.
(exit_lwp): Update.
(attach_proc_task_lwp_callback, get_detach_signal)
(detach_one_lwp, resume_lwp, linux_nat_target::resume)
(linux_nat_target::resume, wait_lwp, stop_callback)
(maybe_clear_ignore_sigint, stop_wait_callback, status_callback)
(save_stop_reason, select_event_lwp, linux_nat_filter_event)
(linux_nat_wait_1, resume_stopped_resumed_lwps)
(linux_nat_target::wait, linux_nat_stop_lwp): Update.
* inf-ptrace.c (inf_ptrace_target::pid_to_str): Change return
type.
(inf_ptrace_target::attach): Update.
(inf_ptrace_target::files_info): Update.
* go32-nat.c (struct go32_nat_target) <pid_to_str>: Change return
type.
(go32_nat_target::pid_to_str): Change return type.
* gnu-nat.c (gnu_nat_target::pid_to_str): Change return type.
(gnu_nat_target::wait): Update.
(gnu_nat_target::wait): Update.
(gnu_nat_target::resume): Update.
* fbsd-nat.c (fbsd_nat_target::pid_to_str): Change return type.
(fbsd_nat_target::wait): Update.
* darwin-nat.c (darwin_nat_target::pid_to_str): Change return
type.
(darwin_nat_target::attach): Update.
* corelow.c (class core_target) <pid_to_str>: Change return type.
(core_target::pid_to_str): Change return type.
* target.c (normal_pid_to_str): Change return type.
(default_pid_to_str): Likewise.
(target_pid_to_str): Change return type.
(target_translate_tls_address): Update.
(target_announce_detach): Update.
* bsd-uthread.c (struct bsd_uthread_target) <pid_to_str>: Change
return type.
(bsd_uthread_target::pid_to_str): Change return type.
* bsd-kvm.c (class bsd_kvm_target) <pid_to_str>: Change return
type.
(bsd_kvm_target::pid_to_str): Change return type.
* aix-thread.c (class aix_thread_target) <pid_to_str>: Change
return type.
(aix_thread_target::pid_to_str): Change return type.
* target.h (struct target_ops) <pid_to_str>: Change return type.
(target_pid_to_str, normal_pid_to_str): Likewise.
* obsd-nat.h (class obsd_nat_target) <pid_to_str>: Change return
type.
* linux-nat.h (class linux_nat_target) <pid_to_str>: Change return
type.
* inf-ptrace.h (struct inf_ptrace_target) <pid_to_str>: Change
return type.
* gnu-nat.h (struct gnu_nat_target) <pid_to_str>: Change return
type.
* fbsd-nat.h (class fbsd_nat_target) <pid_to_str>: Change return
type.
* darwin-nat.h (class darwin_nat_target) <pid_to_str>: Change
return type.
commit b4be1b0648608a2578bbed39841c8ee411773edd
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Mar 13 15:13:03 2019 -0400
Fix MI output for multi-location breakpoints
New in v2:
- Addressed comments about doc, updated the MI version table
- New doc for the Breakpoint information format
- New -fix-multi-location-breakpoint-output command, with associated
doc, test and NEWS updated accordingly
- Fixed the output, the locations list is now actually in the tuple
representing the breakpoint.
Various MI commands or events related to breakpoints output invalid MI
records when printing information about a multi-location breakpoint.
For example:
-break-insert allo
^done,bkpt={...,addr="<MULTIPLE>",...},{number="1.1",...},{number="1.2",...}
The problem is that according to the syntax [1], the top-level elements
are of type "result" and should be of the form "variable=value".
This patch changes the output to wrap the locations in a list:
^done,bkpt={...,addr="<MULTIPLE>",locations=[{number="1.1",...},{number="1.2",...}]}
The events =breakpoint-created, =breakpoint-modified, as well as the
-break-info command also suffer from this (and maybe others I didn't
find).
Since this is a breaking change for MI, we have to deal somehow with
backwards compatibility. The approach taken by this patch is to bump
the MI version, use the new syntax in MI3 while retaining the old syntax
in MI2. Frontends are expected to use a precise MI version (-i=mi2), so
if they do that they should be unaffected.
The patch also adds the command -fix-multi-location-breakpoint-output,
which front ends can use to enable this behavior with MI <= 2.
[1] https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI-Output-Syntax.html#GDB_002fMI-Output-Syntax
gdb/ChangeLog:
* NEWS: Mention that the new default MI version is 3. Mention
changes to the output of commands and events that deal with
multi-location breakpoints.
* breakpoint.c: Include "mi/mi-out.h".
(print_one_breakpoint): Change output syntax if using MI version
>= 3.
* mi/mi-main.h (mi_cmd_fix_multi_location_breakpoint_output):
New.
(mi_multi_location_breakpoint_output_fixed): New.
* mi/mi-main.c (fix_multi_location_breakpoint_output): New.
(mi_cmd_fix_multi_location_breakpoint_output): New.
(mi_multi_location_breakpoint_output_fixed): New.
* mi/mi-cmds.c (mi_cmds): Register command
-fix-multi-location-breakpoint-output.
* mi/mi-out.c (mi_out_new): Instantiate version 3 when using
interpreter "mi".
gdb/testsuite/ChangeLog:
* mi-breakpoint-location-ena-dis.exp: Rename to ...
* mi-breakpoint-multiple-locations.exp: ... this.
(make_breakpoints_pattern): New proc.
(do_test): Add mi_version parameter, test -break-insert,
-break-info and =breakpoint-created.
gdb/doc/ChangeLog:
* gdb.texinfo (Mode Options): Mention mi3.
(Interpreters): Likewise.
(GDB/MI Development and Front Ends): Add entry for MI 3 in
version table. Document -fix-multi-location-breakpoint-output.
(GDB/MI Breakpoint Information): Document format of breakpoint
location output.
commit 8e5e5494f8653dd83ce1413d141e26c09dddab7b
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Wed Mar 13 13:25:43 2019 -0400
Factor out mi_ui_out instantiation logic
When re-reviewing this [1] I noticed that there were two spots encoding
the logic of instantiating an mi_ui_out object based on the interpreter
name ("mi", "mi1", "mi2" or "mi3"):
- mi_interp::init
- mi_load_progress
Both encode the logic to choose what the default version is when the
interpreter name is "mi". I had forgotten the one in mi_load_progress.
Therefore, I propose extracting that logic to a single function. I
started to add a new overload of mi_out_new, then realized the current
mi_out_new wasn't very useful, being just a thing wrapper around "new
mi_ui_out". So I ended up with just an mi_out_new function taking the
interp name as parameter.
I ran the gdb.mi tests, and verified manually the behavior (including
the load command).
[1] https://sourceware.org/ml/gdb-patches/2019-01/msg00427.html
gdb/ChangeLog:
* mi/mi-out.h (mi_out_new): Change parameter to const char *.
* mi/mi-out.c (mi_out_new): Change parameter to const char *,
instantiate mi_ui_out based on interpreter name.
* mi/mi-interp.c (mi_interp::init): Use the new mi_out_new.
* mi/mi-main.c (mi_load_progress): Likewise.
commit 1dbade7441b9f32d6ba9aa1d44da5f28c44282fa
Author: Sudakshina Das <sudi.das@arm.com>
Date: Wed Mar 13 11:09:10 2019 +0000
[BFD, LD, AArch64, 3/3] Add --pac-plt to enable PLTs protected with PAC.
This is part of the patch series to add support for BTI and
PAC in AArch64 linker.
1) This patch adds new definitions of PAC enabled PLTs
and both BTI and PAC enabled PLTs.
2) It also defines the new dynamic tag DT_AARCH64_PAC_PLT
for the PAC enabled PLTs.
3) This patch adds a new ld command line option: --pac-plt.
In the presence of this option, the linker uses the PAC
enabled PLTs and marks with DT_AARCH64_PAC_PLT.
4) In case both BTI and PAC are enabled the linker should
pick PLTs enabled with both and also use dynamic tags for both.
All these are made according to the new AArch64 ELF ABI
https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4
*** bfd/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
* elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
(PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
(setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
(elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
and PLT_PAC_PLT.
(elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
(get_plt_type): Add case for DT_AARCH64_PAC_PLT.
(elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
*** binutils/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
* readelf.c (get_aarch64_dynamic_type): Add case for
DT_AARCH64_PAC_PLT.
(dynamic_section_aarch64_val): Likewise.
*** include/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
* elf/aarch64.h (DT_AARCH64_PAC_PLT): New.
*** ld/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
* NEWS: Document --pac-plt.
* emultempl/aarch64elf.em (OPTION_PAC_PLT): New.
(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add pac-plt.
(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_PAC_PLT.
* testsuite/ld-aarch64/aarch64-elf.exp: Add the following tests.
* testsuite/ld-aarch64/bti-pac-plt-1.d: New test.
* testsuite/ld-aarch64/bti-pac-plt-2.d: New test.
* testsuite/ld-aarch64/pac-plt-1.d: New test.
* testsuite/ld-aarch64/pac-plt-2.d: New test.
* testsuite/ld-aarch64/bti-plt-1.s: Add .ifndef directive.
commit 37c18eedffe3926a330149ca93e7407917e2be38
Author: Sudakshina Das <sudi.das@arm.com>
Date: Wed Mar 13 10:54:30 2019 +0000
[BFD, LD, AArch64, 2/3] Add --force-bti to enable BTI and to select BTI enabled PLTs
This is part of the patch series to add support for BTI and
PAC in AArch64 linker.
1) This patch adds a new ld command line option: --force-bti.
In the presence of this option, the linker enables BTI with the
GNU_PROPERTY_AARCH64_FEATURE_1_BTI feature. This gives out warning
in case of missing gnu notes for BTI in inputs.
2) It also defines a new set of BTI enabled PLTs. These are used either
when all the inputs are marked with GNU_PROPERTY_AARCH64_FEATURE_1_BTI
or when the new --force-bti option is used. This required adding new
fields in elf_aarch64_link_hash_table so that we could make the PLT
related information more generic.
3) It also defines a dynamic tag DT_AARCH64_BTI_PLT. The linker uses
this whenever it picks BTI enabled PLTs.
All these are made according to the new AArch64 ELF ABI
https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4
*** bfd/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
(aarch64_bti_pac_info): New.
(bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
(bfd_elf32_aarch64_set_options): Likewise.
* bfd-in2.h: Regenerate
* elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
(PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
(elfNN_aarch64_small_plt0_bti_entry): New.
(elfNN_aarch64_small_plt_bti_entry): New.
(elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
(elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
(elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
tlsdesc_plt_entry_size fields.
(elfNN_aarch64_link_hash_table_create): Initialise the new fields.
(setup_plt_values): New helper function.
(bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
bti enable type.
(elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
fixed macros.
(elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
(elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
to plt stubs instead of fixed ones and update filling them according
to the need for bti.
(elfNN_aarch64_init_small_plt0_entry): Likewise.
(elfNN_aarch64_finish_dynamic_sections): Likewise.
(get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
(elfNN_aarch64_plt_sym_val): Update size accordingly.
(elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
is set.
(bfd_elfNN_get_synthetic_symtab): Define.
(elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
and mising BTI NOTE SECTION.
*** binutils/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* readelf.c (get_aarch64_dynamic_type): New.
(get_dynamic_type): Use above for EM_AARCH64.
(dynamic_section_aarch64_val): New.
(process_dynamic_section): Use above for EM_AARCH64.
*** include/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* elf/aarch64.h (DT_AARCH64_BTI_PLT): New.
*** ld/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* NEWS: Document --force-bti.
* emultempl/aarch64elf.em (plt_type, bti_type, OPTION_FORCE_BTI): New.
(PARSE_AND_LIST_SHORTOPTS, PARSE_AND_LIST_OPTIONS): Add force-bti.
(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_FORCE_BTI.
* testsuite/ld-aarch64/aarch64-elf.exp: Add all the tests below.
* testsuite/ld-aarch64/bti-plt-1.d: New test.
* testsuite/ld-aarch64/bti-plt-1.s: New test.
* testsuite/ld-aarch64/bti-plt-2.s: New test.
* testsuite/ld-aarch64/bti-plt-2.d: New test.
* testsuite/ld-aarch64/bti-plt-3.d: New test.
* testsuite/ld-aarch64/bti-plt-4.d: New test.
* testsuite/ld-aarch64/bti-plt-5.d: New test.
* testsuite/ld-aarch64/bti-plt-6.d: New test.
* testsuite/ld-aarch64/bti-plt-7.d: New test.
* testsuite/ld-aarch64/bti-plt-so.s: New test.
* testsuite/ld-aarch64/bti-plt.ld: New test.
commit cd702818c6cf25277253b3b5c23f17d2cf7a94df
Author: Sudakshina Das <sudi.das@arm.com>
Date: Wed Mar 13 10:42:27 2019 +0000
[BFD, LD, AArch64, 1/3] Add support for GNU PROPERTIES in AArch64 for BTI and PAC
This is part of the patch series to add support for BTI and
PAC in AArch64 linker.
This patch implements the following:
1) This extends in the gnu property support in the linker for
AArch64 by defining backend hooks for elf_backend_setup_gnu_properties,
elf_backend_merge_gnu_properties and elf_backend_parse_gnu_properties.
2) It defines AArch64 specific GNU property
GNU_PROPERTY_AARCH64_FEATURE_1_AND and 2 bit for BTI and PAC in it.
3) It also adds support in readelf.c to read and print these new
GNU properties in AArch64.
All these are made according to the new AArch64 ELF ABI
https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4
*** bfd/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
linker created inputs from merge.
* elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
(elfNN_aarch64_link_setup_gnu_properties): New.
(elfNN_aarch64_merge_gnu_properties): New.
(elf_backend_setup_gnu_properties): Define for AArch64.
(elf_backend_merge_gnu_properties): Likewise.
* elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
(_bfd_aarch64_elf_parse_gnu_properties): Define.
(_bfd_aarch64_elf_merge_gnu_properties): Define.
* elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
(_bfd_aarch64_elf_parse_gnu_properties): Declare.
(_bfd_aarch64_elf_merge_gnu_properties): Declare.
(elf_backend_parse_gnu_properties): Define for AArch64.
*** binutils/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
* readelf.c (decode_aarch64_feature_1_and): New.
(print_gnu_property_note): Add case for AArch64 gnu notes.
*** include/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
* elf/common.h (GNU_PROPERTY_AARCH64_FEATURE_1_AND): New.
(GNU_PROPERTY_AARCH64_FEATURE_1_BTI): New.
(GNU_PROPERTY_AARCH64_FEATURE_1_PAC): New.
*** ld/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
* NEWS: Document GNU_PROPERTY_AARCH64_FEATURE_1_BTI and
GNU_PROPERTY_AARCH64_FEATURE_1_PAC.
* testsuite/ld-aarch64/aarch64-elf.exp: Add run commands for new tests.
* testsuite/ld-aarch64/property-bti-pac1.d: New test.
* testsuite/ld-aarch64/property-bti-pac1.s: New test.
* testsuite/ld-aarch64/property-bti-pac2.d: New test.
* testsuite/ld-aarch64/property-bti-pac2.s: New test.
* testsuite/ld-aarch64/property-bti-pac3.d: New test.
commit 44b27f959abf267fc9ec228f4131c932597b01d4
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Mar 13 14:38:15 2019 +0800
x86: Properly set IBT and SHSTK properties for -z ibt/shstk
There should be no AND properties if some input doesn't have them. We
should set IBT and SHSTK properties for -z ibt and -z shstk if needed.
bfd/
PR ld/24322
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
ld/
PR ld/24322
* testsuite/ld-i386/i386.exp: Run PR ld/24322 tests.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/pr24322a.d: New file.
* testsuite/ld-i386/pr24322b.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/pr24322a.s: Likewise.
* testsuite/ld-x86-64/pr24322b.s: Likewise.
* testsuite/ld-x86-64/pr24322c.s: Likewise.
commit 204f543cae7a5dc908264b49d558191d0ceb989c
Author: Christian Eggers <ceggers@gmx.de>
Date: Sun Mar 10 19:21:58 2019 +0100
dwarf2: Align relocation within .debug_line section
All relocations specify a byte address. As dwarf debug information is
organized in octets, some relocations may not be aligned. While it
might be possible to define special relocations that operate at an
octet offset from their address, it's easier to ensure the relocations
are aligned by padding with "nop" statements.
In most dwarf sections this requirement is already fulfilled, only
relocations for symbol address within the .debug_line section can be
misaligned.
* dwarf2dbg.c (out_set_addr): Align relocation within .debug_line.
commit 145c4477d239fef4e31a457ff8a1ba7153e9a448
Author: Christian Eggers <ceggers@gmx.de>
Date: Sun Mar 10 19:21:57 2019 +0100
dwarf2: Pad size of .debug_line section.
As all dwarf debug information is organized in octets, the size of all
dwarf sections must be aligned to OCTETS_PER_BYTE. Most DWARF sections
meet this requirement, only the .debug_line section can reach an
arbitrary octet size.
In order to align the size to a multiple of OCTETS_PER_BYTE, the section
is padded with "nop" statements at the end.
* dwarf2dbg.c (out_debug_line): Pad size of .debug_line section.
commit 5c4e5fe61bb00395f697a928524da1e94087c677
Author: Christian Eggers <ceggers@gmx.de>
Date: Sun Mar 10 19:21:56 2019 +0100
dwarf2: Use octets for .debug_string offsets
Like other dwarf2 offsets, also the string offsets in the .debug_info
section which points into the .debug_str section must be expressed in
octets instead of bytes.
* dwarf2dbg.c (out_debug_str): Use octets for .debug_string pointers.
commit 38c24f42c97af59ad83505ed735e689c63d3ca45
Author: Christian Eggers <ceggers@gmx.de>
Date: Sun Mar 10 19:21:55 2019 +0100
dwarf2: Use octets for .debug_line prologue
Like the u32 size field at the beginning of the section, also the
prologue size must be expressed in octets.
* dwarf2dbg.c (out_debug_line): Use octets for .debug_line prologue.
commit 7235427998571b6d8267e7ac72a52d7b082f4c2b
Author: Christian Eggers <ceggers@gmx.de>
Date: Sun Mar 10 19:21:54 2019 +0100
dwarf2: Use octets for dwarf2 headers
The content of the dwarf2 sections .debug_line, .debug_aranges and
.debug_info starts with an u32 containing the the size of the remaining
data. According to the dwarf2 specification this value must be expressed
in octets instead of bytes.
* dwarf2dbg.c (out_debug_line): Use octets for dwarf2 headers.
(out_debug_aranges, out_debug_info): Likewise.
commit d18d199917337537713f9fc4b7ae4d6568f740cf
Author: Christian Eggers <ceggers@gmx.de>
Date: Sun Mar 10 19:21:53 2019 +0100
Symbols with octets value
Up to now, all symbol values are in units of bytes, where a "byte" can
consist of one or more octets (e.g. 8 bit or 16 bit).
Allow to specfiy that the "unit" of a newly created symbol is octets
(exactly 8 bit), instead of bytes.
* symbols.h (symbol_temp_new_now_octets): Declare.
(symbol_set_value_now_octets, symbol_octets_p): Declare.
* symbols.c (struct symbol_flags): New member sy_octets.
(symbol_temp_new_now_octets): New function.
(resolve_symbol_value): Return octets instead of bytes if
sy_octets is set.
(symbol_set_value_now_octets): New function.
(symbol_octets_p): New function.
commit 71250b94dc669b285cddcb744a7b3d1c7e2ec94b
Author: Christian Eggers <ceggers@gmx.de>
Date: Sun Mar 10 19:21:52 2019 +0100
dwarf2: Fix calculation of line info offset
The units of the value returned by "frag_now_fix()" and "size" do not
match. "frag_now_fix()" returns bytes (can be 8, 16 or 32 bit), while
"size" is octets (exactly 8 bit).
* dwarf2dbg.c (dwarf2_emit_insn): Fix calculation of line info offset.
commit 4ffd4ef39318559f8d45ce05bba4c303e522c28e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Mar 13 00:00:16 2019 +0000
Automatic date update in version.in
commit 197df35ec4f370e9902892ff8339232869cf86ce
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:56:53 2019 -0700
The NEWS file had two "New targets" sections for 8.3.
gdb/ChangeLog:
* NEWS: Combine separate "New targets" sections for 8.3.
commit 8399425f5f472ad8e630bb30ad2dbefeddbb68b7
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Support TLS variables on FreeBSD/powerpc.
Derive the pointer to the DTV array from the %r2 register on 32-bit
powerpc and %r13 on 64-bit powerpc.
gdb/ChangeLog:
* ppc-fbsd-tdep.c (ppcfbsd_get_thread_local_address): New.
(ppcfbsd_init_abi): Install gdbarch
"fetch_tls_load_module_address" and "get_thread_local_address"
methods.
commit b0f87ed032bb68a9965de81cbf9fd676a83b9174
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Support TLS variables on FreeBSD/riscv.
Derive the pointer to the DTV array from the tp register.
gdb/ChangeLog:
* riscv-fbsd-tdep.c (riscv_fbsd_get_thread_local_address): New.
(riscv_fbsd_init_abi): Install gdbarch
"fetch_tls_load_module_address" and "get_thread_local_address"
methods.
commit ce25aa57a3cdd028be5868423e6e55506ccd1053
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Support TLS variables on FreeBSD/i386.
Derive the pointer to the DTV array from the gs_base register. As
with FreeBSD/amd64, gs_base is currently only available via the native
target.
gdb/ChangeLog:
* i386-fbsd-tdep.c (i386fbsd_get_thread_local_address): New.
(i386fbsd_init_abi): Install gdbarch
"fetch_tls_load_module_address" and "get_thread_local_address"
methods.
commit f5424cfa7e9337a6cb02a1f83c9feea0995c5350
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Support TLS variables on FreeBSD/amd64.
Use the fs_base register to fetch the address of a thread's tcb and
calculate the address of the DTV array. This value is then passed to
fbsd_get_thread_local_address to compute the final variable address.
Note that fs_base is currently only available via the native target as
core dumps on FreeBSD do not store the value of fs_base.
gdb/ChangeLog:
* amd64-fbsd-tdep.c (amd64fbsd_get_thread_local_address): New.
(amd64fbsd_init_abi): Install gdbarch
"fetch_tls_load_module_address" and "get_thread_local_address"
methods.
commit 945f3901b5889e57edf5a2ee25acb51f0078a719
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Add a helper function to resolve TLS variable addresses for FreeBSD.
The fbsd_get_thread_local_address function accepts the base address of
a thread's DTV array and the base address of an object file's link map
and uses this to compute a TLS variable's address. FreeBSD
architectures use an architecture-specific method to determine the
address of the DTV array pointer and call this helper function to
perform the rest of the address calculation.
* fbsd-tdep.c (fbsd_pspace_data_handle): New variable.
(struct fbsd_pspace_data): New type.
(get_fbsd_pspace_data, fbsd_pspace_data_cleanup)
(fbsd_read_integer_by_name, fbsd_fetch_rtld_offsets)
(fbsd_get_tls_index, fbsd_get_thread_local_address): New function.
(_initialize_fbsd_tdep): Initialize 'fbsd_pspace_data_handle'.
* fbsd-tdep.c (fbsd_get_thread_local_address): New prototype.
commit ef0bd2046f58fac69577892c2d3b44b20d027476
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Add a more general version of lookup_struct_elt_type.
lookup_struct_elt is a new function which returns a tuple of
information about a component of a structure or union. The returned
tuple contains a pointer to the struct field object for the component
as well as a bit offset of that field within the structure. If the
field names a field in an anonymous substructure, the offset is the
"global" offset relative to the original structure type. If noerr is
set, then the returned tuple will set the field pointer to NULL to
indicate a missing component rather than throwing an error.
lookup_struct_elt_type is now reimplemented in terms of this new
function. It simply returns the type of the returned field.
gdb/ChangeLog:
* gdbtypes.c (lookup_struct_elt): New function.
(lookup_struct_elt_type): Reimplement via lookup_struct_elt.
* gdbtypes.h (struct struct_elt): New type.
(lookup_struct_elt): New prototype.
commit 36c53a0262f84ad11d738471789dadfa9c4eb320
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Remove code disabled since at least 1999 from lookup_struct_elt_type.
Update the comment above the function to reflect the code removal and
document the existing behavior.
gdb/ChangeLog:
* gdbtypes.c (lookup_struct_elt_type): Update comment and
remove disabled code block.
commit 6e056c817845f3d736a1be6b68c69b439c6c6d25
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Add a new gdbarch method to resolve the address of TLS variables.
Permit TLS variable addresses to be resolved purely by an ABI rather
than requiring a target method. This doesn't try the target method if
the ABI function is present (even if the ABI function fails) to
simplify error handling.
gdb/ChangeLog:
* gdbarch.sh (get_thread_local_address): New method.
* gdbarch.h, gdbarch.c: Regenerate.
* target.c (target_translate_tls_address): Use
gdbarch_get_thread_local_address if present instead of
target::get_thread_local_address.
commit cd250a1898bb6fdb41f4a1063dbcfac04affcd11
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Update comment for target::get_thread_local_address.
There isn't an 'objfile' parameter, instead 'load_module_addr' is used
to indicate the executable or shared library. Also, the function
throws errors rather than returning error values.
gdb/ChangeLog:
* target.h (target::get_thread_local_address): Update comment.
commit df22c1e5d53c38f38bce6072bb46de240f9e0e2b
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Handle an edge case for minisym TLS variable lookups.
If a TLS variable is provided by a minisym from a separate debug file,
the separate debug file is passed to
gdbarch_fetch_tls_load_module_address. However, the object files
stored in the shared object list are the original object files, not
the separate debug object files. In this case,
svr4_fetch_objfile_link_map was failing to find the link map entry
since the debug object file is not in its internal list, only the
original object file.
gdb/ChangeLog:
* solib-svr4.c (svr4_fetch_objfile_link_map): Look for
objfile->separate_debug_objfile_backlink if not NULL.
commit dd6876c91cd40cc105b1a91f418ca2c80683b314
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Support fs_base and gs_base on FreeBSD/i386.
The i386 BSD native target uses the same ptrace operations
(PT_[GS]ET[FG]SBASE) as the amd64 BSD native target to fetch and store
the registers.
The amd64 BSD native now uses 'tdep->fsbase_regnum' instead of
hardcoding AMD64_FSBASE_REGNUM and AMD64_GSBASE_REGNUM to support
32-bit targets. In addition, the store operations explicitly zero the
new register value before fetching it from the register cache to
ensure 32-bit values are zero-extended.
gdb/ChangeLog:
* amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
tdep->fsbase_regnum instead of constants for fs_base and gs_base.
(amd64bsd_store_inferior_registers): Likewise.
* amd64-fbsd-nat.c (amd64_fbsd_nat_target::read_description):
Enable segment base registers.
* i386-bsd-nat.c (i386bsd_fetch_inferior_registers): Use
PT_GETFSBASE and PT_GETGSBASE.
(i386bsd_store_inferior_registers): Use PT_SETFSBASE and
PT_SETGSBASE.
* i386-fbsd-nat.c (i386_fbsd_nat_target::read_description): Enable
segment base registers.
* i386-fbsd-tdep.c (i386fbsd_core_read_description): Likewise.
commit 1163a4b7a38a79ebd153dc5ee76ce93877d21dbd
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Mar 12 13:39:02 2019 -0700
Support the fs_base and gs_base registers on i386.
As on amd64, these registers hold the base address of the fs and gs
segments, respectively. For i386 these two registers are 32 bits.
gdb/ChangeLog:
* amd64-fbsd-nat.c (amd64_fbsd_nat_target::read_description):
Update calls to i386_target_description to add 'segments'
parameter.
* amd64-tdep.c (amd64_init_abi): Set tdep->fsbase_regnum. Don't
add segment base registers.
* arch/i386.c (i386_create_target_description): Add 'segments'
parameter to enable segment base registers.
* arch/i386.h (i386_create_target_description): Likewise.
* features/i386/32bit-segments.xml: New file.
* features/i386/32bit-segments.c: Generate.
* i386-fbsd-nat.c (i386_fbsd_nat_target::read_description): Update
call to i386_target_description to add 'segments' parameter.
* i386-fbsd-tdep.c (i386fbsd_core_read_description): Likewise.
* i386-go32-tdep.c (i386_go32_init_abi): Likewise.
* i386-linux-tdep.c (i386_linux_read_description): Likewise.
* i386-tdep.c (i386_validate_tdesc_p): Add segment base registers
if feature is present.
(i386_gdbarch_init): Pass I386_NUM_REGS to set_gdbarch_num_regs.
Add 'segments' parameter to call to i386_target_description.
(i386_target_description): Add 'segments' parameter to enable
segment base registers.
(_initialize_i386_tdep) [GDB_SELF_TEST]: Add 'segments' parameter
to call to i386_target_description.
* i386-tdep.h (struct gdbarch_tdep): Add 'fsbase_regnum'.
(enum i386_regnum): Add I386_FSBASE_REGNUM and I386_GSBASE_REGNUM.
Define I386_NUM_REGS.
(i386_target_description): Add 'segments' parameter to enable
segment base registers.
gdb/gdbserver/ChangeLog:
* linux-x86-tdesc.c (i386_linux_read_description): Update call to
i386_create_target_description for 'segments' parameter.
* lynx-i386-low.c (lynx_i386_arch_setup): Likewise.
* nto-x86-low.c (nto_x86_arch_setup): Likewise.
* win32-i386-low.c (i386_arch_setup): Likewise.
commit 7cde5fc2ec2e32e8a81ac613d26cf86bf8623816
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 7 13:20:37 2019 +0000
gdb/testsuite: Prepare for DejaGnu 1.6.2
Changes in DejaGnu 1.6.2 mean that our testsuite will no longer run.
This is because of some confusion over how the gdb.exp file is
handled.
The gdb.exp file is really the tool init file, which is loaded from
within the DejaGnu core, and it should not be loaded directly from any
other file in the testsuite.
DejaGnu tries to prevent the same library being loaded twice by
remembering the names of library files as they are loaded. Until
recently loading the tool init file in DejaGnu was very similar to
loading a library file, as a result, loading the gdb.exp tool init
file simply recorded 'gdb.exp' as having been loaded, future attempts
to load 'gdb.exp' as a library would then be ignored (as the file was
marked as already loaded).
DejaGnu has now changed so that it supports having both a tool init
file and a library with the same name, something that was not possible
before. What this means however is that when the core loads the
'gdb.exp' tool init file it no longer marks the library 'gdb.exp' as
having been loaded. When we then execute 'load_lib gdb.exp' we then
try to reload the 'gdb.exp' file.
Unfortunately our gdb.exp file can only be loaded once. It use of
'rename cd builtin_cd' means that a second attempt to load this file
will fail.
This was discussed on the DejaGnu list here:
http://lists.gnu.org/archive/html/dejagnu/2019-03/msg00000.html
and the suggested advice is that, unless we have some real requirement
to load the tool init file twice, we should remove calls to 'load_lib
gdb.exp' and rely on DejaGnu to load the file for us, which is what
this patch does.
I've tested with native X86-64/GNU Linux and see no regressions.
gdb/testsuite/ChangeLog:
* config/default.exp: Remove 'load_lib gdb.exp'.
* config/monitor.exp: Likewise.
* config/sid.exp: Likewise.
* config/sim.exp: Likewise.
* config/slite.exp: Likewise.
* config/unix.exp: Likewise.
* gdb.base/default.exp: Remove unhelpful comment.
commit 3a3508220eecf27e1952a73cd3ea6d6314ce8e1d
Author: Eli Zaretskii <eliz@gnu.org>
Date: Tue Mar 12 19:47:23 2019 +0200
Fix MinGW build with source-highlight
gdb/ChangeLog
2019-03-12 Eli Zaretskii <eliz@gnu.org>
PR/24325
* source-cache.c: #undef open and close, to avoid unresolved
externals during linking.
commit ffdd69cf7840f3b158de16819591361c8dae3a4d
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Mar 12 11:03:03 2019 -0600
Make remote.c ptid constants "const"
This changes magic_null_ptid, not_sent_ptid, and any_thread_ptid to be
"const". This is a minor improvement that makes it so these can't be
accidentally modified.
Tested by rebuilding. I'm checking this in.
gdb/ChangeLog
2019-03-12 Tom Tromey <tromey@adacore.com>
* remote.c (magic_null_ptid, not_sent_ptid, any_thread_ptid): Now
const. Add initializers.
(_initialize_remote): Don't initialize ptid globals.
commit ec148c577eaa29f26a943c13b0b66ca3877bb5aa
Author: Pedro Alves <palves@redhat.com>
Date: Tue Mar 12 16:56:02 2019 +0000
Fix test-cp-name-parser build, parser_fprintf undefined
$ make test-cp-name-parser
...
test-cp-name-parser.o: In function `yy_symbol_print(_IO_FILE*, int, YYSTYPE const*, cpname_state*)':
build/gdb/cp-name-parser.c.tmp:1335: undefined reference to `parser_fprintf(_IO_FILE*, char const*, ...)'
build/gdb/cp-name-parser.c.tmp:1339: undefined reference to `parser_fprintf(_IO_FILE*, char const*, ...)'
test-cp-name-parser.o: In function `yy_stack_print(short*, short*)':
build/gdb/cp-name-parser.c.tmp:1350: undefined reference to `parser_fprintf(_IO_FILE*, char const*, ...)'
build/gdb/cp-name-parser.c.tmp:1354: undefined reference to `parser_fprintf(_IO_FILE*, char const*, ...)'
build/gdb/cp-name-parser.c.tmp:1356: undefined reference to `parser_fprintf(_IO_FILE*, char const*, ...)'
build/gdb/cp-name-parser.c.tmp:1376: more undefined references to `parser_fprintf(_IO_FILE*, char const*, ...)' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:1833: test-cp-name-parser] Error 1
gdb/ChangeLog:
2019-03-12 Pedro Alves <palves@redhat.com>
* yy-remap.h [TEST_CPNAMES] (YYFPRINTF): Don't define.
commit 3276427003bd1fc676d1cb913c4d09a9f7b1c74f
Author: Pedro Alves <palves@redhat.com>
Date: Tue Mar 12 16:56:02 2019 +0000
Fix test-cp-name-parser build, unused variable
$ make test-cp-name-parser
...
CXX test-cp-name-parser.o
src/gdb/cp-name-parser.y: In function âint gdb::main(int, char**)â:
src/gdb/cp-name-parser.y:2137:6: error: unused variable âlenâ [-Werror=unused-variable]
int len;
^~~
cc1plus: all warnings being treated as errors
gdb/ChangeLog:
2019-03-12 Pedro Alves <palves@redhat.com>
* cp-name-parser.y (main): Remove unused 'len' variable.
commit 17547186c25aa96d078a6ff9d61a55880fa009f4
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Mar 4 12:05:47 2019 -0700
Make null_ptid and minus_one_ptid "const"
This makes null_ptid and minus_one_ptid "const". I think this is an
improvement because it means they can't be accidentally modified.
2019-03-12 Tom Tromey <tromey@adacore.com>
* common/ptid.c (null_ptid, minus_one_ptid): Now const.
* common/ptid.h (null_ptid, minus_one_ptid): Now const.
commit d3a70e03cf51c8fb6bc183eaff7559edffec2045
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Mar 4 12:05:03 2019 -0700
Change iterate_over_lwps to take a gdb::function_view
This changes iterate_over_lwps to use a gdb::function_view. This was
needed in order to make null_ptid and minus_one_ptid 'const'.
gdb/ChangeLog
2019-03-12 Tom Tromey <tromey@adacore.com>
* linux-nat.c (iterate_over_lwps): Update.
(stop_callback): Remove parameter.
(stop_wait_callback, detach_callback, resume_set_callback)
(select_singlestep_lwp_callback, set_ignore_sigint)
(status_callback, resumed_callback, resume_clear_callback)
(kill_callback, kill_wait_callback, linux_nat_stop_lwp): Remove
data parameter.
(linux_nat_target::detach, linux_nat_target::resume)
(linux_stop_and_wait_all_lwps, select_event_lwp)
(linux_nat_filter_event, linux_nat_wait_1)
(linux_nat_target::kill, linux_nat_target::stop)
(linux_nat_target::stop): Update.
(linux_nat_resume_callback): Change type.
(resume_stopped_resumed_lwps, count_events_callback)
(select_event_lwp_callback): Likewise.
(linux_stop_lwp, linux_nat_stop_lwp): Update.
* arm-linux-nat.c (struct update_registers_data): Remove.
(update_registers_callback): Change type.
(arm_linux_insert_hw_breakpoint1): Update.
* nat/x86-linux-dregs.c (update_debug_registers_callback): Remove
parameter.
(x86_linux_dr_set_addr): Update.
(x86_linux_dr_set_control): Update.
* nat/linux-nat.h (iterate_over_lwps_ftype): Remove parameter.
(iterate_over_lwps): Use gdb::function_view.
* nat/aarch64-linux-hw-point.c (struct
aarch64_dr_update_callback_param): Remove.
(debug_reg_change_callback): Change type.
(aarch64_notify_debug_reg_change): Update.
* s390-linux-nat.c (s390_refresh_per_info): Update.
gdb/gdbserver/ChangeLog
2019-03-12 Tom Tromey <tromey@adacore.com>
* linux-low.c (iterate_over_lwps): Update.
commit 7a6e0d89bb018cef0d8d13c497d8f340aa2a0fc8
Author: Alan Modra <amodra@gmail.com>
Date: Tue Mar 12 16:19:25 2019 +1030
Don't use bfd_get_file_size in objdump
Compressed debug sections can have uncompressed sizes that exceed the
original file size, so we can't use bfd_get_file_size. objdump also
used bfd_get_file_size to limit reloc section size, but I believe the
underlying bug causing the PR22508 out of bounds buffer access was
that we had an integer overflow when calculating the reloc buffer
size. I've fixed that instead in most of the backends, som and
vms-alpha being the exceptions. SOM and vmd-alpha have rather more
serious bugs in their slurp_relocs routines that would need fixing
first if we want to fuss about making them safe against fuzzed object
files.
The patch also fixes a number of other potential overflows by using
the bfd_alloc2/malloc2/zalloc2 memory allocation functions.
bfd/
* coffcode.h (buy_and_read): Delete unnecessary forward decl. Add
nmemb parameter. Use bfd_alloc2.
(coff_slurp_line_table): Use bfd_alloc2. Update buy_and_read calls.
Delete assertion.
(coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
(coff_slurp_reloc_table): Use bfd_alloc2. Update buy_and_read calls.
* coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
doesn't overflow.
* elf.c (bfd_section_from_shdr): Use bfd_zalloc2. Style fix.
(assign_section_numbers): Style fix.
(swap_out_syms): Use bfd_malloc2.
(_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
overflow.
(_bfd_elf_make_empty_symbol): Style fix.
(elfobj_grok_stapsdt_note_1): Formatting.
* elfcode.h (elf_object_p): Use bfd_alloc2.
(elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
(elf_slurp_symbol_table): Use bfd_zalloc2.
(elf_slurp_reloc_table): Use bfd_alloc2.
(_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
* elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
size calculation doesn't overflow.
(elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
* mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
* pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
binutils/
* objdump.c (load_specific_debug_section): Don't compare section
size against file size.
(dump_relocs_in_section): Don't compare reloc size against file size.
Print "failed to read relocs" on bfd_get_reloc_upper_bound error.
commit 0919bfe915906382611011f123b5ae68a0bafbb2
Author: Andreas Krebbel <krebbel@linux.ibm.com>
Date: Tue Mar 12 14:23:10 2019 +0100
Add missing changelogs for previous commits.
commit 40f382e88d0391ffaa4098c92cbf339a7924a629
Author: Andreas Krebbel <krebbel@linux.ibm.com>
Date: Tue Mar 12 14:09:55 2019 +0100
S/390: arch13: Adjust to recent changes
opcodes/ChangeLog:
2019-03-12 Andreas Krebbel <krebbel@linux.ibm.com>
* s390-opc.txt: Rename selhhhr to selfhr. Remove optional operand
from vstrszb, vstrszh, and vstrszf.
gas/ChangeLog:
2019-03-12 Andreas Krebbel <krebbel@linux.ibm.com>
* testsuite/gas/s390/zarch-arch13.s: Adjust testcase to optable changes.
* testsuite/gas/s390/zarch-arch13.d: Likewise.
commit ba354106f02e25c9adc3dc1364d6a974216ec94e
Author: Andreas Krebbel <krebbel@linux.ibm.com>
Date: Tue Mar 12 14:09:55 2019 +0100
S/390: arch13: Add instruction descriptions
opcodes/ChangeLog:
2019-03-12 Andreas Krebbel <krebbel@linux.ibm.com>
* s390-opc.txt: Add instruction descriptions.
commit d16f1408858786204b6e7598bf8f8ed6c0a69bc5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Mar 12 00:00:20 2019 +0000
Automatic date update in version.in
commit 82cb27ff6b4e1ae811e72a02dddc3db4c9ff97b8
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Mar 11 10:22:17 2019 -0600
Remove redundant assignment from dwarf2_find_containing_comp_unit
dwarf2_find_containing_comp_unit has two assignments to "this_cu" in
quick succession, both of which are just:
this_cu = dwarf2_per_objfile->all_comp_units[low];
... with no intervening assignments.
This patch removes the second assignment. I'm checking this in as
obvious. Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-03-11 Tom Tromey <tromey@adacore.com>
* dwarf2read.c (dwarf2_find_containing_comp_unit): Remove
redundant assignment to "this_cu".
commit e7b681f1c62c2fa130adcc4a002f7185d33f7600
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Mar 11 00:00:22 2019 +0000
Automatic date update in version.in
commit 0e290772cd9899f2b962e2b3b81a6e31745825a9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Mar 10 00:01:08 2019 +0000
Automatic date update in version.in
commit 568c0683da0a5d1cf5c62c9deb8abb8513875eee
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:12 2019 -0500
Remove unnecessary cases from rank_one_type's switch
We return INCOMPATIBLE_TYPE_BADNESS for all these type codes, so we might as
well just let them go to the default case.
Incidentally, this patch also makes this false positive error go away when
compiling with gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0, default compiler on
Ubuntu 18.04.
CXX gdbtypes.o
/home/smarchi/src/binutils-gdb/gdb/gdbtypes.c: In function ârank rank_one_type(type*, type*, value*)â:
/home/smarchi/src/binutils-gdb/gdb/gdbtypes.c:4259:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
gdb/ChangeLog:
* gdbtypes.c (rank_one_type): Remove unnecessary cases from switch.
commit f09ce22d6a2266c3bbe5061eb61e7fad65568652
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:11 2019 -0500
Split rank_one_type_parm_set from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_set): New function extracted
from...
(rank_one_type): ... this.
commit 595f96a94448d1327aeac8783622e390794a722c
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:11 2019 -0500
Split rank_one_type_parm_struct from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_struct): New function extracted
from...
(rank_one_type): ... this.
commit 2598a94b1e23c148a8f84d796e92de3a10d6e4e5
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:11 2019 -0500
Split rank_one_type_parm_complex from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_complex): New function extracted
from...
(rank_one_type): ... this.
commit 7f17b20d6020f2a40369ef0568501ebcda952243
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:10 2019 -0500
Split rank_one_type_parm_float from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_float): New function extracted
from...
(rank_one_type): ... this.
commit 2c50903575cec09d1748612fd0355b766ec04a19
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:10 2019 -0500
Split rank_one_type_parm_bool from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_bool): New function extracted
from...
(rank_one_type): ... this.
commit 0dd322dc1345d1b8809f20a674c977276f0c0430
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:09 2019 -0500
Split rank_one_type_parm_range from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_range): New function extracted
from...
(rank_one_type): ... this.
commit 41ea472809e1eaabd3858b41c9189717e9c69323
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:09 2019 -0500
Split rank_one_type_parm_char from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_char): New function extracted
from...
(rank_one_type): ... this.
commit 793cd1d2a12e9741e01f5df702e493f5e9ba0dea
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:09 2019 -0500
Split rank_one_type_parm_enum from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_enum): New function extracted
from...
(rank_one_type): ... this.
commit 34910087ebf8fb3f1646d9177d7c961a1b3231da
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:08 2019 -0500
Split rank_one_type_parm_int from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_int): New function extracted
from...
(rank_one_type): ... this.
commit f1f832d6cd39e14e9f8c0ba142d2e442792119e4
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:08 2019 -0500
Split rank_one_type_parm_func from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_func): New function extracted
from...
(rank_one_type): ... this.
commit b9f4512f250f7fa685f1f888b6fcbe2e34dc9733
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:08 2019 -0500
Split rank_one_type_parm_array from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_array): New function extracted
from...
(rank_one_type): ... this.
commit 9293fc63040a41e0830acb61d93037b6e0f2c424
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Mar 8 10:15:07 2019 -0500
Split rank_one_type_parm_ptr from rank_one_type
gdb/ChangeLog:
* gdbtypes.c (rank_one_type_parm_ptr): New function extracted
from...
(rank_one_type): ... this.
commit e3abbe7e9458be7a92c27bc4649295b935340699
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Mar 9 12:25:11 2019 +0100
Ensure 'help set/show print inferior-events' shows the example events.
Without this patch, the help stops after 'e.g.' :
(gdb) apropos \(inferior\|thread\) event
set print inferior-events -- Set printing of inferior events (e.g.
set print thread-events -- Set printing of thread events (such as thread start and exit)
show print inferior-events -- Show printing of inferior events (e.g.
show print thread-events -- Show printing of thread events (such as thread start and exit)
Using the same notation as for the thread evenets (i.e. 'such as') gives:
(gdb) apropos \(inferior\|thread\) event
set print inferior-events -- Set printing of inferior events (such as inferior start and exit)
set print thread-events -- Set printing of thread events (such as thread start and exit)
show print inferior-events -- Show printing of inferior events (such as inferior start and exit)
show print thread-events -- Show printing of thread events (such as thread start and exit)
commit e4adb93903d4ae0b7ab2b5004364e50627df95f7
Author: Eli Zaretskii <eliz@gnu.org>
Date: Sat Mar 9 08:44:56 2019 +0200
Support styling on native MS-Windows console
gdb/ChangeLog:
2019-03-08 Eli Zaretskii <eliz@gnu.org>
PR/24315
* utils.c (can_emit_style_escape) [_WIN32]: Don't disable styling
on MS-Windows if $TERM is not defined.
* cli/cli-style.c: Set cli_styling to 1 in the MinGW build.
* posix-hdep.c (gdb_console_fputs):
* mingw-hdep.c (rgb_to_16colors, gdb_console_fputs): New
functions.
* ui-file.h (gdb_console_fputs): Add prototype.
* ui-file.c (stdio_file::puts): Call gdb_console_fputs, and fall
back to fputs only if the former returns zero.
commit 4639b61ae3bf7c959f35debcb2c6a204fa0b4f1c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Mar 9 00:00:30 2019 +0000
Automatic date update in version.in
commit ebd2263ba9a9124d93bbc0ece63d7e0fae89b40e
Author: Alan Modra <amodra@gmail.com>
Date: Fri Mar 8 22:41:55 2019 +1030
PR24311, FAIL: S-records with constructors
Not padding string merge section output to its alignment can cause
failures of the S-record tests when input string merge sections are
padded, since the ELF linker output for the single string section
would shrink compared to the SREC linker output. That might result in
following sections having different addresses.
On the other hand, padding string merge section output when input
string merge sections are *not* padded can also cause failures, in
this case due to the ELF linker output for the string section being
larger (due to padding) than the SREC linker output.
It would be better to write a more robust test, but it is also nice
to leave input unchanged when no string merges occur.
PR 24311
* merge.c (merge_strings): Return secinfo. Don't pad section
to alignment here.
(_bfd_merge_sections): Pad section to alignment here, if input
sections contributing to merged output all pad to alignment.
Formatting.
commit 65d8004072ccb15441c143c380949d785a8446cd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Mar 8 00:00:42 2019 +0000
Automatic date update in version.in
commit 25629dfdb438c82f2bb711174042bb326a526aaf
Author: Tom Tromey <tom@tromey.com>
Date: Thu Mar 7 04:20:19 2019 -0700
C++-ify bcache
This somewhat C++-ifies bcache. It replaces bcache_xmalloc and
bcache_xfree with constructors; changes some functions into methods;
and changes various structures to include a bcache directly (as
opposed to a pointer to a bcache).
Tested by the buildbot.
gdb/ChangeLog
2019-03-07 Tom Tromey <tom@tromey.com>
* symmisc.c (print_symbol_bcache_statistics): Update.
(print_objfile_statistics): Update.
* symfile.c (allocate_symtab): Update.
* stabsread.c: Don't include bcache.h.
* psymtab.h (struct psymbol_bcache): Don't declare.
(class psymtab_storage) <psymbol_cache>: Now a bcache.
(psymbol_bcache_init, psymbol_bcache_free)
(psymbol_bcache_get_bcache): Don't declare.
* psymtab.c (struct psymbol_bcache): Remove.
(psymtab_storage::psymtab_storage): Update.
(psymtab_storage::~psymtab_storage): Update.
(psymbol_bcache_init, psymbol_bcache_free)
(psymbol_bcache_get_bcache, psymbol_bcache_full): Remove.
(add_psymbol_to_bcache): Update.
(allocate_psymtab): Update.
* objfiles.h (struct objfile_per_bfd_storage) <filename_cache,
macro_cache>: No longer pointers.
* objfiles.c (get_objfile_bfd_data): Don't call bcache_xmalloc.
(free_objfile_per_bfd_storage): Don't call bcache_xfree.
* macrotab.c (macro_bcache): Update.
* macroexp.c: Don't include bcache.h.
* gdbtypes.c (check_types_worklist): Update.
(types_deeply_equal): Remove TRY/CATCH. Update.
* elfread.c (elf_symtab_read): Update.
* dwarf2read.c: Don't include bcache.h.
* buildsym.c (buildsym_compunit::get_macro_table): Update.
* bcache.h (bcache, bcache_full, bcache_xffree, bcache_xmalloc)
(print_bcache_statistics, bcache_memory_used): Don't declare.
(struct bcache): Move from bcache.c. Add constructor, destructor,
methods. Rename all data members.
* bcache.c (struct bcache): Move to bcache.h.
(bcache::expand_hash_table): Rename from expand_hash_table.
(bcache): Remove.
(bcache::insert): Rename from bcache_full.
(bcache::compare): Rename from bcache_compare.
(bcache_xmalloc): Remove.
(bcache::~bcache): Rename from bcache_xfree.
(bcache::print_statistics): Rename from print_bcache_statistics.
(bcache::memory_used): Rename from bcache_memory_used.
commit fe7266674110f34eacf2e9d2b308f76d33ce50ed
Author: Pedro Alves <palves@redhat.com>
Date: Thu Mar 7 16:35:06 2019 +0000
Fix normal_stop latent bug
TARGET_WAITKIND_NO_RESUMED doesn't have an associated event thread, so
we shouldn't be referring to inferior_thread() assuming it points to
one.
This was caught on the multi-target branch, where we always switch to
no-thread-selected whenever we start handling an event, exactly to
catch places that incorrectly use "inferior_ptid/inferior_thread()"
without switching to the right event thread / target.
Here, on the branch, we assert in inferior_thread() because
TARGET_WAITKIND_NO_RESUMED doesn't have an associated event thread, so
inferior_ptid is still null_ptid.
gdb/ChangeLog:
2019-03-07 Pedro Alves <palves@redhat.com>
* infrun.c (normal_stop): Also check for
TARGET_WAITKIND_NO_RESUMED before referring to inferior_thread().
commit 7584bb30cf380cff9cc3914b1b523c5a1a5b4302
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Mar 7 14:53:37 2019 +0000
gdb: Move value_from_host_double into value.c and make more use of it
The function value_from_host_double can be moved from f-lang.c into
value.c as a generally useful function, and then used more widely.
Tested on X86-64/GNU Linux with no regressions.
gdb/ChangeLog:
* f-lang.c (value_from_host_double): Moved to...
* value.c (value_from_host_double): ...here.
* value.h (value_from_host_double): Declare.
* guile/scm-math.c (vlscm_convert_typed_number): Use
value_from_host_double.
(vlscm_convert_number): Likewise.
* guile/scm-value.c (gdbscm_value_to_real): Likewise.
* python/py-value.c (convert_value_from_python): Likewise.
commit 2c5ebf12393443eec1d666f613cbc70a6b72f49a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Mar 7 00:00:23 2019 +0000
Automatic date update in version.in
commit a7b1986e13c60f2a10721863ef684a18daccaaf7
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 28 10:51:01 2019 -0700
Use SCOPE_EXIT in write_gcore_file
This replaces a TRY/CATCH in write_gcore_file with a use of SCOPE_EXIT
instead. I find that this is simpler to understand.
2019-03-06 Tom Tromey <tom@tromey.com>
* gcore.c (write_gcore_file): Use SCOPE_EXIT.
commit 0ccf4211fdec30fab46a5552ecfbe8e7ca98d50f
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jan 24 09:58:29 2019 -0700
Remove free_current_contents
free_current_contents is no longer used, so this patch removes it.
2019-03-06 Tom Tromey <tom@tromey.com>
* utils.h (free_current_contents): Don't declare.
* utils.c (free_current_contents): Remove.
commit fe7b42e5843ef82f97959e0e18122c164449a8ea
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jan 24 09:56:49 2019 -0700
Remove basic cleanup code
This removes the basic cleanup code: make_cleanups, do_cleanups,
discard_cleanups, and friends. This code is no longer needed, as
nothing in gdb makes an ordinary cleanup. Final cleanups are still
needed.
2019-03-06 Tom Tromey <tom@tromey.com>
* top.c (quit_force): Update.
* main.c (captured_command_loop): Update.
* common/new-op.c (operator new): Update.
* common/common-exceptions.c (struct catcher)
<save_cleanup_chain>: Remove member.
(exceptions_state_mc_init): Update.
(exception_try_scope_entry): Return nullptr.
(exception_try_scope_exit, exception_rethrow)
(throw_exception_sjlj, throw_exception_cxx): Update.
* common/cleanups.h (make_cleanup, make_cleanup_dtor)
(all_cleanups, do_cleanups, discard_cleanups)
(discard_final_cleanups, save_cleanups, save_final_cleanups)
(restore_cleanups, restore_final_cleanups): Don't declare.
(do_final_cleanups): Remove parameter.
* common/cleanups.c (cleanup_chain, make_cleanup)
(make_cleanup_dtor, all_cleanups, do_cleanups)
(discard_my_cleanups, discard_cleanups)
(discard_final_cleanups, save_my_cleanups, save_cleanups)
(save_final_cleanups, restore_my_cleanups, restore_cleanups)
(null_cleanup): Remove.
(do_final_cleanups): Remove parameter.
commit c6321f19c5414c2a34db3cf5979834d081c32abd
Author: Tom Tromey <tom@tromey.com>
Date: Thu Feb 14 16:10:01 2019 -0700
Use unique_xmalloc_ptr in remote.c
This removes a cleanup from remote.c, replacing it with
unique_xmalloc_ptr.
2019-03-06 Tom Tromey <tom@tromey.com>
* remote.c (remote_target::remote_parse_stop_reply): Use
unique_xmalloc_ptr.
commit 61b30099702a76fb7e6a9c5dba7c03b95f9eb0f2
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jan 24 09:51:19 2019 -0700
Remove last cleanups from stabsread.c
This removes the last cleanups from stabsread.c. Similar code in
dwarf2read.c was C++-ified, but considering that stabs are deprecated,
it seemed simpler to just change these allocations to use an obstack
and leave the data structures in place.
This patch renames field_info to stabs_field_info -- adding a
constructor here provoked a bug due to the resulting ODR violation.
2019-03-06 Tom Tromey <tom@tromey.com>
* stabsread.c (struct stabs_field_info): Rename from field_info.
<list, fnlist>: Add initializers.
<obstack>: New member.
(read_member_functions, read_struct_fields, read_baseclasses):
Allocate on obstack. Don't use cleanups.
(read_one_struct_field, read_member_functions, read_struct_fields)
(read_baseclasses, read_tilde_fields, attach_fn_fields_to_type)
(attach_fields_to_type, read_cpp_abbrev, read_member_functions)
(read_struct_type): Update.
commit 6cceac94147f6026e93dcfc0a0df03555b571a12
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jan 24 06:43:45 2019 -0700
Remove last cleanup from linux-namespaces.c
This removes the last cleanup from linux-namespaces.c, replacing it
with a use of SCOPE_EXIT.
2019-03-06 Tom Tromey <tom@tromey.com>
* nat/linux-namespaces.c (linux_mntns_access_fs): Use SCOPE_EXIT.
* common/filestuff.h (make_cleanup_close): Don't declare.
* common/filestuff.c (do_close_cleanup, make_cleanup_close):
Remove.
commit 724127627fef458ed330d027cf0b3d17580af615
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jan 24 06:38:59 2019 -0700
Remove last cleanup solib-aix.c
This removes the last cleanup solib-aix.c, replacing it with a use of
make_scope_exit.
2019-03-06 Tom Tromey <tom@tromey.com>
* solib-aix.c: Use make_scope_exit.
commit 2b6ff1c0474fca286b95be7ae9dcc5a22ff2a0b9
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jan 24 06:41:12 2019 -0700
Remove last cleanups from solib-svr4.c
This removes the last cleanups from solib-svr4.c, replacing them with
uses of make_scope_exit.
2019-03-06 Tom Tromey <tom@tromey.com>
* solib-svr4.c (svr4_parse_libraries, svr4_current_sos_direct):
Use make_scope_exit.
commit d01c5877664024043f4e5920d072c5f62fc7f89a
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 22:23:15 2019 -0700
Remove cleanup from solib-svr4.c
This removes a cleanup from solib-svr4.c, replacing it with
make_scope_exit.
2019-03-06 Tom Tromey <tom@tromey.com>
* solib-svr4.c (disable_probes_interface): Remove parameter.
(svr4_handle_solib_event): Use make_scope_exit.
commit 37991b4f52e7d13c586137f401ac65dec4aa732f
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 22:20:04 2019 -0700
Remove last cleanup from gdbserver
This removes the last cleanup from gdbserver, replacing it with
SCOPE_EXIT. This could perhaps be done in a different way, but this
approach was direct and obviously correct.
2019-03-06 Tom Tromey <tom@tromey.com>
* server.c (detach_or_kill_for_exit_cleanup): Remove parameter.
(captured_main): Use SCOPE_EXIT.
commit 32603266e5688718faad35b7502aa0b72a42764a
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 22:16:53 2019 -0700
C++ify remote notification code
This C++ifies the remote notification code -- replacing function
pointers with virtual methods and using unique_ptr. This allows for
the removal of some cleanups.
2019-03-06 Tom Tromey <tom@tromey.com>
* remote.c (struct stop_reply_deleter): Remove.
(stop_reply_up): Update.
(struct stop_reply): Derive from notif_event. Don't typedef.
<regcache>: Now a std::vector.
(stop_reply_xfree): Remove.
(stop_reply::~stop_reply): Rename from stop_reply_dtr.
(remote_notif_stop_alloc_reply): Return a unique_ptr. Use new.
(remote_target::discard_pending_stop_replies): Use delete.
(remote_target::remote_parse_stop_reply): Update.
(remote_target::process_stop_reply): Update.
* remote-notif.h (struct notif_event): Add virtual destructor.
Remove "dtr" member.
(struct notif_client) <alloc_event>: Return a unique_ptr.
(notif_event_xfree): Don't declare.
(notif_event_up): New typedef.
* remote-notif.c (remote_notif_ack, remote_notif_parse): Update.
(notif_event_xfree, do_notif_event_xfree): Remove.
(remote_notif_state_xfree): Update.
commit 9799571ecb648ea2e911498cfdc7fafe3237c94a
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 16:28:28 2019 -0700
Change displaced_step_clear_cleanup to a forward_scope_exit
This changes displaced_step_clear_cleanup to be a forward_scope_exit
and updates the callers.
gdb/ChangeLog
2019-03-06 Tom Tromey <tom@tromey.com>
* infrun.c (displaced_step_clear_cleanup): Now a
forward_scope_exit type.
(displaced_step_prepare_throw): Update.
(displaced_step_fixup): Update.
commit 09e3c4ca13e39b797b91b07280ac025327a8a526
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 15:11:42 2019 -0700
Update two cleanup comments
This updates another couple of comments to remove mentions of
cleanups.
gdb/ChangeLog
2019-03-06 Tom Tromey <tom@tromey.com>
* inferior.h (class inferior): Update comment.
* gdbthread.h (class thread_info): Update comment.
commit e2a035485a80651a5dc1711fee5a811e41ab131b
Author: Tom Tromey <tom@tromey.com>
Date: Sun Aug 19 11:50:44 2018 -0600
Remove cleanups from coffread.c
This removes the remaining cleanups from coffread.c.
Tested by the buildbot and also some manual testing.
This version includes the fix provided by Joel.
gdb/ChangeLog
2019-03-06 Joel Brobecker <brobecker@adacore.com>
Tom Tromey <tom@tromey.com>
* stabsread.h (struct stab_section_list): Remove.
(coffstab_build_psymtabs): Update.
* dbxread.c (symbuf_sections): Now a std::vector.
(sect_idx): New global.
(fill_symbuf): Update.
(coffstab_build_psymtabs): Change type of stabsects parameter.
Update.
* coffread.c (struct coff_symfile_info) <stabsects>: Now a
std::vector.
(linetab, linetab_offset, linetab_size, stringtab): Move earlier.
(coff_locate_sections): Update.
(coff_symfile_read): Remove cleanups. Update.
(init_stringtab): Add storage parameter.
(free_stringtab, free_stringtab_cleanup): Remove.
(init_lineno): Add storage parameter.
(free_linetab, free_linetab_cleanup): Remove.
commit b7e60d85da12a1819671473db8550c9f076e8f38
Author: Pedro Alves <palves@redhat.com>
Date: Wed Mar 6 18:29:19 2019 +0000
Eliminate fork_info::clobber_regs
All fork_save_infrun_state callers pass '1' as CLOBBER_REGS nowadays.
The larger hunk in fork_save_infrun_state is just a reindentation.
gdb/ChangeLog:
2019-03-06 Pedro Alves <palves@redhat.com>
* linux-fork.c (fork_info::clobber_regs): Delete.
(fork_load_infrun_state): Remove reference to 'clobber_regs'.
(fork_save_infrun_state): Remove 'clobber_regs' parameter. Update
comment. Adjust.
(scoped_switch_fork_info::scoped_switch_fork_info)
(checkpoint_command, linux_fork_context): Adjust
fork_save_infrun_state calls.
commit e52c971f17ac747a065388b54a909f44b5582cd9
Author: Pedro Alves <palves@redhat.com>
Date: Wed Mar 6 18:29:19 2019 +0000
linux-fork.c: rewrite inf_has_multiple_threads
There's no need to iterate over all threads of all inferiors here.
gdb/ChangeLog:
2019-03-06 Pedro Alves <palves@redhat.com>
* linux-fork.c (inf_has_multiple_thread_cb): Delete.
(inf_has_multiple_threads): Return 'bool' and rewrite using
inferior_info::threads().
commit 06974e6c05556edb7122f45239c95045e882dc76
Author: Pedro Alves <palves@redhat.com>
Date: Wed Mar 6 18:29:18 2019 +0000
C++ify fork_info, use std::list
- Convert new_fork and free_fork to fork_info ctor/dtor.
- Use std::list.
gdb/ChangeLog:
2019-03-06 Pedro Alves <palves@redhat.com>
* linux-fork.c: Include <list>.
(fork_list): Now a std::list instance.
(fork_info): Add ctor, dtor, and in-class initialize all fields.
(forks_exist_p, find_last_fork): Adjust.
(new_fork): Delete.
(one_fork_p): New.
(add_fork): Adjust.
(free_fork): Delete, folded into fork_info::~fork_info().
(delete_fork, find_fork_ptid, find_fork_id, find_fork_pid):
Adjust.
(init_fork_list): Delete.
(linux_fork_killall, linux_fork_mourn_inferior)
(linux_fork_detach, info_checkpoints_command): Adjust.
(_initialize_linux_fork): No longer call init_fork_list.
commit 72f31aea9e6c158f442239abedaf351465ebcb41
Author: Pedro Alves <palves@redhat.com>
Date: Wed Mar 6 18:29:17 2019 +0000
Make "checkpoint" not rely on inferior_ptid
Don't rely on "inferior_ptid" deep within add_fork. In the
multi-target branch, I'm forcing inferior_ptid to null_ptid early in
infrun event handling to make sure we don't inadvertently rely on the
current thread/target when we shouldn't, and that caught some bad or
unnecessary assumptions throughout.
gdb/ChangeLog:
2019-03-06 Pedro Alves <palves@redhat.com>
* linux-fork.c (new_fork): New, split out of ...
(add_fork): ... this. Return void. Move "first fork" special
case from here, to ...
(checkpoint_command): ... here.
* linux-linux.h (add_fork): Return void.
commit efbecbc143f19cb308ae220fb386505f41ff4bc3
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Jan 21 15:10:55 2019 +0000
gdb/fortran: Handle older TYPE*SIZE typenames
This patch adds support for the older TYPE*SIZE typenames that are
still around in older code.
For implementation this currently reuses the kind mechanism, as under
gFortran the kind number is equivalent to the size, however, this is
not necessarily true for all compilers. If the rules for other
compilers are better understood then this code might need to be
improved slightly to allow for a distinction between size and kind,
however, adding this extra complexity now seems pointless.
gdb/ChangeLog:
* f-exp.y (direct_abs_decl): Handle TYPE*SIZE type names.
gdb/testsuite/ChangeLog:
* gdb.fortran/type-kinds.exp: Extend to cover TYPE*SIZE cases.
commit 0841c79a3dc1cfa382164a6bb2c1ee41af3ab0a9
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Jan 18 14:44:48 2019 +0000
gdb/fortran: Add support for the ABS intrinsic function
Adds support for the abs intrinsic function, this requires adding a
new pattern to the Fortran parser. Currently only float and integer
argument types are supported to ABS, complex is still not supported,
this can be added later if needed.
gdb/ChangeLog:
* f-exp.y: New token, UNOP_INTRINSIC.
(exp): New pattern using UNOP_INTRINSIC token.
(f77_keywords): Add 'abs' keyword.
* f-lang.c: Add 'target-float.h' and 'math.h' includes.
(value_from_host_double): New function.
(evaluate_subexp_f): Support UNOP_ABS.
gdb/testsuite/ChangeLog:
* gdb.fortran/intrinsics.exp: Extend to cover ABS.
commit 4a270568d93263e4970099456b4efb58466134a6
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Jan 18 11:24:24 2019 +0000
gdb/fortran: Use TYPE_CODE_CHAR for character types
Switch to using TYPE_CODE_CHAR for character types. This appears to
have little impact on the test results as gFortran uses the
DW_TAG_string_type to represent all character variables (as far as I
can see). The only place this has an impact is when the user casts a
variable to a character type, in which case GDB does now use the CHAR
type, and prints the variable as both a value and a character, for
example, before:
(gdb) p ((character) 97)
$1 = 97
and after:
(gdb) p ((character) 97)
$1 = 97 'a'
gdb/ChangeLog:
* f-lang.c (build_fortran_types): Use TYPE_CODE_CHAR for character
types.
gdb/testsuite/ChangeLog:
* gdb.fortran/type-kinds.exp: Update expected results.
commit 067630bdb553bb889104e3b064e4551531ddcedc
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 17 16:31:56 2019 +0000
gdb/fortran: Add builtin 8-byte integer type with (kind=8) support
Add a new builtin type, an 8-byte integer, and allow GDB to parse
'integer (kind=8)', returning the new 8-byte integer.
gdb/ChangeLog:
* f-exp.y (convert_to_kind_type): Handle integer (kind=8).
* f-lang.c (build_fortran_types): Setup builtin_integer_s8.
* f-lang.h (struct builtin_f_type): Add builtin_integer_s8 field.
gdb/testsuite/ChangeLog:
* gdb.fortran/type-kinds.exp: Test new integer type kind.
commit 3be47f7aa99dc90190e642a4e191c9f049e0a934
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 17 16:30:35 2019 +0000
gdb/fortran: Expand the set of types that support (kind=N)
Expand the number of types that can be adjusted with a (kind=N) type
extension.
gdb/ChangeLog:
* f-exp.y (convert_to_kind_type): Handle more type kinds.
gdb/testsuite/ChangeLog:
* gdb.fortran/type-kinds.exp (test_cast_1_to_type_kind): New
function.
(test_basic_parsing_of_type_kinds): Expand types tested.
(test_parsing_invalid_type_kinds): New function.
commit 4d00f5d8f6c4a1c9f334b1abb45b9ce05fb45b0a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Jan 16 16:42:10 2019 +0000
gdb/fortran: Add Fortran 'kind' intrinsic and keyword
The 'kind' keyword has two uses in Fortran, it is the name of a
builtin intrinsic function, and it is also a keyword used to create a
type of a specific kind.
This commit adds support for using kind as an intrinsic function, and
also adds some initial support for using kind to create types of a
specific kind.
This commit only allows the creation of the type 'character(kind=1)',
however, it will be easy enough to extend this in future to support
more type kinds.
The kind of any expression can be queried using the kind intrinsic
function. At the moment the kind returned corresponds to the size of
the type, this matches how gfortran handles kinds. However, the
correspondence between kind and type size depends on the compiler
and/or the specific target, so this might not be correct for
everyone. If we want to support different compilers/targets in future
the code to compute the kind from a type will need to be updated.
gdb/ChangeLog:
* expprint.c (dump_subexp_body_standard): Support UNOP_KIND.
* f-exp.y: Define 'KIND' token.
(exp): New pattern for KIND expressions.
(ptype): Handle types with a kind extension.
(direct_abs_decl): Extend to spot kind extensions.
(f77_keywords): Add 'kind' to the list.
(push_kind_type): New function.
(convert_to_kind_type): New function.
* f-lang.c (evaluate_subexp_f): Support UNOP_KIND.
* parse.c (operator_length_standard): Likewise.
* parser-defs.h (enum type_pieces): Add tp_kind.
* std-operator.def: Add UNOP_KIND.
gdb/testsuite/ChangeLog:
* gdb.fortran/intrinsics.exp: New file.
* gdb.fortran/intrinsics.f90: New file.
* gdb.fortran/type-kinds.exp: New file.
commit e454224fa82aa52a1288a3d6a2e26e8d224d732a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 17 14:42:15 2019 +0000
gdb/fortran: Enable debugging of the Fortran parser
This commit allows 'set debug parser on' to work for the Fortran
parser.
gdb/ChangeLog:
* f-exp.y (f_parse): Set yydebug.
commit 9dad4a58a1bddeb1cc2ec8b3782d7463b03b7b4b
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Jan 16 16:16:59 2019 +0000
gdb/fortran: Add new function to evaluate Fortran expressions
This is an initial restructure, it adds a new function in which
Fortran specific expressions can be evaluated. No Fortran specific
expressions are added with this commit though, so for now, the new
function just forwards all expressions to the default expression
handler, as such, there should be no user visible changes after this
commit. However, the new function will be useful in later commits.
gdb/ChangeLog:
* f-lang.c (evaluate_subexp_f): New function.
(exp_descriptor_f): New global.
(f_language_defn): Use exp_descriptor_f instead of
exp_descriptor_standard.
commit c8f9160408315deceee5e8776f0b1c4d9cba4398
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Jan 16 15:30:54 2019 +0000
gdb/fortran: Simplify handling of Fortran dot operations and keywords
Use strncasecmp to compare Fortran dot operations (like .AND.) and for
the keywords list. This allows for some duplication to be removed
from the token arrays. I've also performed whitespace cleanup around
the code I've changed.
I have added some tests to ensure that upper and lowercase dot
operations are correctly tested. The keywords list remains always
lowercase for now.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* f-exp.y (struct token): Add comments.
(dot_ops): Remove uppercase versions and the end marker.
(f77_keywords): Likewise.
(yylex): Use ARRAY_SIZE to iterate over dot_ops, assert all
entries in the dot_ops array are case insensitive, and use
strncasecmp to compare strings. Also some whitespace cleanup in
this area. Similar for the f77_keywords array, except entries in
this list might be case sensitive.
gdb/testsuite/ChangeLog:
* gdb.fortran/dot-ops.exp: New file.
commit dd9f2c763b325227a3721eaf4006db67b37f3b13
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Jan 16 13:36:46 2019 +0000
gdb/fortran: Cleanup code for parsing logical constants
This patch cleans up the code used for parsing the Fortran logical
constants '.TRUE.' and '.FALSE.'. Instead of listing both upper and
lowercase versions of these strings we now use strncasecmp.
I've also switched to use ARRAY_SIZE for the array iteration, and I've
cleaned up whitespace in the vicinity of the code I've changed.
Finally, I've added a test to ensure that both the upper and lower
case versions of the logical constants are understood by GDB,
something that was missing previously.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* f-exp.y (struct f77_boolean_val): Add comments.
(boolean_values): Remove uppercase versions, and end marker.
(yylex): Use ARRAY_SIZE for iterating over boolean_values array,
and use strncasecmp to achieve case insensitivity. Additionally,
perform whitespace cleanup around this code.
gdb/testsuite/ChangeLog:
* gdb.fortran/types.exp (test_logical_literal_types_accepted):
Check upper and lower case logical literals.
commit 84ec972406ec519b509f986780481899115847c2
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Jan 16 13:20:28 2019 +0000
gdb/fortran: Remove some duplicate tests
Make the test names unique in gdb.fortran/types.exp by removing a few
duplicate tests.
gdb/testsuite/ChangeLog:
* gdb.fortran/types.exp (test_float_literal_types_accepted):
Remove duplicate tests.
commit 912ebfa0d748b4a762dbc4311364c38692c7f626
Author: Nick Bowler <nbowler@draconx.ca>
Date: Wed Mar 6 15:20:29 2019 +0000
Allow the use of the ORIGIN and LENGTH attributes in expressions inside MEMORY regions.
PR 24289
* ldexp.c (fold_name): Allow lookups of the LENGTH and ORIGIN
attributes during the first phase.
commit 67a3048c0fe804ab1e36d4074e7fd2dadeb8bc0b
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Mar 6 07:55:42 2019 -0700
Fix remote-sim.c build after warn-unused-result change
John Darrington pointed out that commit 18cb7c9f3 ("Introduce
ATTRIBUTE_UNUSED_RESULT and use it") broke the build:
/home/john/binutils-gdb/gdb/remote-sim.c: In function 'void gdbsim_target_open(const char*, int)':
/home/john/binutils-gdb/gdb/remote-sim.c:765:18: error: ignoring return value of 'char** gdb_argv::release()', declared with attribute warn_unused_result [-Werror=unused-result]
This patch fixes the problem by arranging to use the result of the
release method.
Tested by rebuilding with a simulator enabled.
gdb/ChangeLog
2019-03-06 Tom Tromey <tromey@adacore.com>
* remote-sim.c (gdbsim_target_open): Use result of
gdb_argv::release.
commit c3734e093aab1cea90a76b107cdda4a5870dd1b8
Author: Alan Hayward <alan.hayward@arm.com>
Date: Wed Mar 6 09:52:08 2019 +0000
Testsuite: Ensure changing directory does not break the log file
get_compiler_info switches to a new log file before checking the compiler
to ensure the checks are not logged. Afterwards it restores back to using
the original log file. However, the logfile uses a relative path name -
if the current test has changed the current directory then all further
output for the test will be lost. This can confuse the code that collates
the main gdb.log file at the end of a FORCE_PARALLEL run.
fullpath-expand.exp calls gdb_compile after changing the current directory.
The "Ensure stack protection is off for GCC" patch added a call to
get_compiler_info from inside of gdb_compile, causing log file collection
to break for FORCE_PARALLEL runs.
The ideal solution would be to ensure the log file is always created using
an absolute path name. However, this is set at multiple points in
Makefile.in and in some instances just relies on dejagnu common code to set
the log file directory to "."
The simpler and safer solution is to override the builtin cd function. The
new function checks the current log file and if the path is relative, then
it resets the logging using an absolute path. Finally it calls the builtin
cd. This ensures get_compiler_info (and any other code) can correctly
backup and restore the current log file.
gdb/testsuite/ChangeLog:
* lib/gdb.exp (builtin_cd): rename of cd.
(cd): Override builtin.
commit 219d6836e939d2cd1a8c5574bfa3a101daa31cbb
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Mar 6 09:43:15 2019 +0000
Fix a segmentation fault triggered by disassembling an EFi file with source included.
* dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
table pointer.
* coffgen.c (coff_find_nearest_line_with_names): Do not call
_bfd_dwarf2_find_symbol_bias if there is no symbol table available.
https://bugzilla.redhat.com/show_bug.cgi?id=1685727
commit aa3cfbda2f2af71044949b5692ce51cafb023d13
Author: Richard Bunt <richard.bunt@arm.com>
Date: Wed Mar 6 08:23:00 2019 +0000
Fortran function calls with arguments
Prior to this patch, calling functions on the inferior with arguments and
then using these arguments within a function resulted in an invalid
memory access. This is because Fortran arguments are typically passed as
pointers to values.
It is possible to call Fortran functions, but memory must be allocated in
the inferior, so a pointer can be passed to the function, and the
language must be set to C to enable C-style casting. This is cumbersome
and not a pleasant debug experience.
This patch implements the GNU Fortran argument passing conventions with
caveats. Firstly, it does not handle the VALUE attribute as there is
insufficient DWARF information to determine when this is the case.
Secondly, functions with optional parameters can only be called with all
parameters present. Both these cases are marked as KFAILS in the test.
Since the GNU Fortran argument passing convention has been implemented,
there is no guarantee that this patch will work correctly, in all cases,
with other compilers.
Despite these limitations, this patch improves the ease with which
functions can be called in many cases, without taking away the existing
approach of calling with the language set to C.
Regression tested on x86_64, aarch64 and POWER9 with GCC 7.3.0.
Regression tested with Ada on x86_64.
Regression tested with native-extended-gdbserver target board.
gdb/ChangeLog:
* eval.c (evaluate_subexp_standard): Call Fortran argument
wrapping logic.
* f-lang.c (struct value): A value which can be passed into a
Fortran function call.
(fortran_argument_convert): Wrap Fortran arguments in a pointer
where appropriate.
(struct type): Value ready for a Fortran function call.
(fortran_preserve_arg_pointer): Undo check_typedef, the pointer
is needed.
* f-lang.h (fortran_argument_convert): Declaration.
(fortran_preserve_arg_pointer): Declaration.
* infcall.c (value_arg_coerce): Call Fortran argument logic.
gdb/testsuite/ChangeLog:
* gdb.fortran/function-calls.exp: New file.
* gdb.fortran/function-calls.f90: New test.
commit 2d0d5fc6f085dedd7988b29e58fdc4dc2081472e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Mar 6 00:00:46 2019 +0000
Automatic date update in version.in
commit ea38e5df7707949c20a92004f0f66efb4a9ff2a5
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Mar 5 14:58:24 2019 -0700
Remove some Python 3 #ifs
A recent patch from Kevin Buettner taught me that the PyBytes API is
available on Python 2. This patch removes a couple of related #ifs in
the Python code.
Tested on x86-64 Fedora 29, using both Python 3.7 and Python 2.7.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* python/py-prettyprint.c (print_string_repr): Remove #if.
* python/py-utils.c (unicode_to_encoded_string): Remove #if.
commit 06b5b831a09417bac37b44599dc35d4b904700c5
Author: Tom Tromey <tromey@adacore.com>
Date: Mon Mar 4 13:37:59 2019 -0700
Change the_dummy_target to be a global
While debugging gdb, I printed the target stack and got:
(top-gdb) p g_target_stack
$10 = {
m_top = thread_stratum,
m_stack = {0x142b0b0, 0x13da600 <exec_ops>, 0x1c70690, 0x13d63b0 <ravenscar_ops>, 0x0, 0x0, 0x0}
}
(This is clearly from before the change to make ravenscar
multi-target-capable.)
Here, 0x142b0b0 is the singleton dummy target. It seems to me that
since this is always a singleton, it would be a bit nicer if it were a
global, so that it would be noted in the above.
This patch implements this idea, and now I get:
(top-gdb) p g_target_stack
$2 = {
m_top = dummy_stratum,
m_stack = {0x1f1b040 <the_dummy_target>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
}
I did not do the same for the debug target. It didn't seem as useful
to me.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* target.c (the_dummy_target): Move later. Change type to
"dummy_target".
(initialize_targets): Don't initialize the_dummy_target.
commit ff6c8b354d853d40a4982dcf1338b9350060b75f
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Tue Mar 5 14:00:42 2019 -0500
Small fix to gdb.Value constructor doc
The synopsis of the two-parameters form of the gdb.Value constructor is
currently shown as
Value.__init__ (val, [, type ])
in the documentation.
First, there is an extra comma, which I think we can remove in any
case.
Then, since the type parameter is not optional, I would not put in
between square brackets. Those usually indicate that something is
optional.
With this patch, it appears as:
Value.__init__ (val, type)
gdb/doc/ChangeLog:
* python.texi (Values From Inferior): Change synopsys of the
second form of Value.__init__.
commit 88c9190b4e3a177fafe1d7257ab7255542b62159
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Mar 5 17:32:35 2019 +0000
Fix a spelling mistake: "complaint" instead of "compliant".
PR 24295
* doc/binutils.texi (ar cmdline): Fix spelling mistake.
commit edbd9e45a906970852cee1999ab27c18c18a5ff5
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Mar 5 09:03:55 2019 -0700
Remove gdb_bfd_fdopenr
I noticed that gdb_bfd_fdopenr is no longer used, so this patch
removes it. Tested by rebuilding and by grep.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* gdb_bfd.c (gdb_bfd_fdopenr): Remove.
* gdb_bfd.h (gdb_bfd_fdopenr): Don't declare.
commit 4933ff73fe8640f77773b13c1ba6b4cc567f8150
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Mar 5 16:04:18 2019 +0000
Updated Swedish translation for the binutils sub-directory.
commit c119e04082b5b3ee907a8d02b42fae2aee0c4fbb
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 19 13:36:17 2019 -0700
Remove excess calls to gdb_flush
A customer noticed some mildly odd MI output, where CLI output was
split into multiple MI strings at unusual boundaries, like this:
~"$1 = (b => true"
~", p => 0x407260"
This is technically correct according to the MI spec, but still
unusual, in that there's no particular reason for the string to be
split where it is.
I tracked this down to a call to gdb_flush in generic_val_print.
Then, I went through all calls to gdb_flush and removed the ones I
thought were superfluous. In particular:
* Any call in the value-printing code;
* Likewise the type-printing code (just a single call); and
* Any call that immediately followed a printf that obviously
ended with a newline, my belief being that gdb's standard output
streams are line buffered (by inheriting the behavior from stdio)
Regression tested on x86-64 Fedora 29.
I didn't add a new test case. I tend to think we don't necessarily
want to specify this behavior in the tests. Let me know what you
think of this.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* windows-nat.c (windows_nat_target::attach)
(windows_nat_target::detach): Don't call gdb_flush.
* valprint.c (generic_val_print, val_print, val_print_string):
Don't call gdb_flush.
* utils.c (defaulted_query): Don't call gdb_flush.
* typeprint.c (print_type_scalar): Don't call gdb_flush.
* target.c (target_announce_detach): Don't call gdb_flush.
* sparc64-tdep.c (adi_print_versions): Don't call gdb_flush.
* remote.c (extended_remote_target::attach): Don't call
gdb_flush.
* procfs.c (procfs_target::detach): Don't call gdb_flush.
* printcmd.c (do_examine): Don't call gdb_flush.
(info_display_command): Don't call gdb_flush.
* p-valprint.c (pascal_val_print): Don't call gdb_flush.
* nto-procfs.c (nto_procfs_target::attach): Don't call gdb_flush.
* memattr.c (info_mem_command): Don't call gdb_flush.
* mdebugread.c (mdebug_build_psymtabs): Don't call gdb_flush.
* m2-valprint.c (m2_val_print): Don't call gdb_flush.
* infrun.c (follow_exec, handle_command): Don't call gdb_flush.
* inf-ptrace.c (inf_ptrace_target::attach): Don't call gdb_flush.
* hppa-tdep.c (unwind_command): Don't call gdb_flush.
* gnu-nat.c (gnu_nat_target::attach): Don't call gdb_flush.
(gnu_nat_target::detach): Don't call gdb_flush.
* f-valprint.c (f_val_print): Don't call gdb_flush.
* darwin-nat.c (darwin_nat_target::attach): Don't call gdb_flush.
* cli/cli-script.c (read_command_lines): Don't call gdb_flush.
* cli/cli-cmds.c (shell_escape, print_disassembly): Don't call
gdb_flush.
* c-valprint.c (c_val_print): Don't call gdb_flush.
* ada-valprint.c (ada_print_scalar): Don't call gdb_flush.
commit 895dafa679db7af79576dcd177a6d91d65657ee8
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 26 14:59:47 2019 -0700
Add ATTRIBUTE_UNUSED_RESULT to ref_ptr::release
This applies ATTRIBUTE_UNUSED_RESULT to ref_ptr::release and updates a
few spots to comply. I believe one use in install_default_visualizer
was in error, fixed by this patch.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* varobj.c (update_dynamic_varobj_children): Update.
(install_default_visualizer): Use reset, not release.
* value.c (set_internalvar): Update.
* dwarf2loc.c (value_of_dwarf_reg_entry): Update.
* common/gdb_ref_ptr.h (class ref_ptr) <release>: Add
ATTRIBUTE_UNUSED_RESULT.
commit 88a774b9984e42c492ddcf4e4b4b0170ac803576
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 26 14:52:47 2019 -0700
Add ATTRIBUTE_UNUSED_RESULT to scoped_remote_fd::release
This applies ATTRIBUTE_UNUSED_RESULT to scoped_remote_fd::release.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* remote.c (class scoped_remote_fd) <release>: Add
ATTRIBUTE_UNUSED_RESULT.
commit 4e4a8b932b7ae8e239eebb597fbb6cfcb7278a64
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 26 14:52:05 2019 -0700
Add ATTRIBUTE_UNUSED_RESULT to macro_buffer
This applies ATTRIBUTE_UNUSED_RESULT to macro_buffer::release.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* macroexp.c (struct macro_buffer) <release>: Add
ATTRIBUTE_UNUSED_RESULT.
commit 083eef1f897e2fd13e4afa7b1a52090c83476f5c
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 26 14:46:40 2019 -0700
Add ATTRIBUTE_UNUSED_RESULT to scoped_mmap
This applies ATTRIBUTE_UNUSED_RESULT to scoped_mmap::release and fixes
a couple of spots to comply.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* nat/linux-btrace.c (linux_enable_bts, linux_enable_pt): Update.
* common/scoped_mmap.h (class scoped_mmap) <release>: Add
ATTRIBUTE_UNUSED_RESULT.
commit 3cabd438f3d18e1cb7afd4d2a82449883943e62f
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 26 14:44:29 2019 -0700
Add ATTRIBUTE_UNUSED_RESULT to scoped_fd
This applies ATTRIBUTE_UNUSED_RESULT to scoped_fd::release.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* common/scoped_fd.h (class scoped_fd) <release>: Add
ATTRIBUTE_UNUSED_RESULT.
commit 41e3300aa7d31ddb3618e160c6b7e61351ee2af5
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 26 14:39:55 2019 -0700
Add ATTRIBUTE_UNUSED_RESULT to parser_state
This applies ATTRIBUTE_UNUSED_RESULT to parser_state::release.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* parser-defs.h (struct parser_state) <release>: Add
ATTRIBUTE_UNUSED_RESULT.
commit 18cb7c9f3add62ff598f0551a767af8aaa04b07e
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 26 14:39:01 2019 -0700
Introduce ATTRIBUTE_UNUSED_RESULT and use it
This introduces the new ATTRIBUTE_UNUSED_RESULT define, and applies it
to gdb_argv::release.
gdb/ChangeLog
2019-03-05 Tom Tromey <tromey@adacore.com>
* utils.h (class gdb_argv) <release>: Add
ATTRIBUTE_UNUSED_RESULT.
* common/common-defs.h (ATTRIBUTE_UNUSED_RESULT): Define.
commit 093f70ccd3d8366de1faae3335bbe2eebd2a75d4
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Tue Mar 5 10:09:50 2019 +0000
Allow multiple tests to be run on systems with older versions of TCL installed.
PR 24287
* testsuite/lib/binutils-common.exp (run_dump_test): Replace a use
of "lmap" with a "foreach" loop.
commit 54c56910ee0b9280e0cb33eae00e27ca90925fc0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Mar 5 00:00:26 2019 +0000
Automatic date update in version.in
commit 45950eb60008c70fb79306012e76a024a8790ca3
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Mon Mar 4 12:44:20 2019 -0500
Use '$enable_unittest' instead of '$development' on gdbserver/configure.srv (for 'aarch64*-*-linux*' case)
On commit 8ecfd7bd4acd69213c06fac6de9af38299123547 ("Add parameter to
allow enabling/disabling selftests via configure") it seems that I
forgot to use the proper '$enable_unittest' variable when checking to
see whether to add selftest-related objects to 'srv_regobj'. This
causes a build failure on Aarch64 when 'development=false' (which is
the case for the 8.3 branch) and 'enable_unittest=true'.
This patch fixes the problem by using '$enable_unittest' instead of
'$development' when performing the check. As a reminder, it's
important to notice that '$enable_unittest's default value (i.e., when
the option '--enable-unit-tests' is not passed to configure) is the
same as '$development', so this patch doesn't affect the current
build.
I'd like to install this patch both on master and on the 8.3 branch.
OK?
gdb/gdbserver/ChangeLog:
2019-03-04 Sergio Durigan Junior <sergiodj@redhat.com>
* configure.srv: Use '$enable_unittest' instead of '$development'
when checking whether to fill 'srv_regobj' on 'aarch64*-*-linux*'
case.
commit 7b63ad86ab1a56812772f266b345ecaa494ece95
Author: Richard Bunt <richard.bunt@arm.com>
Date: Mon Mar 4 15:08:51 2019 +0000
gdbserver short-circuit-argument-list failures
This patch fixes test case failures observed when running
short-circuit-argument-list.exp with gdb server boards. Thanks to Sergio
Durigan Junior for pointing this out.
Assertions failed with the native{,-extended}-gdbserver boards as the
standard output from the test program appears in a different location
than observed on non-gdbserver boards. This standard output was used to
determine whether a function, which had been logically short-circuited,
was called or not. Since the location of the standard out cannot be
relied upon to verify this, a new mechanism was needed.
The test program now records function calls in variables named the same
as the function with a "_called" suffix. These variables can then be
queried from the test case to verify the occurrence of a call.
A method to reset the call counts has been included in the test case, so
that any future assertions added to this test can ensure a fresh set of
initial values before proceeding. Not resetting values between groups of
assertions creates a dependency between them, which increases the
likelihood that a single failure causes subsequent assertions to fail.
Regression tested on x86_64, aarch64 and ppc64le.
Regression tested with Ada on x86_64.
Regression tested with the native{,-extended}-gdbserver boards on x86_64.
commit f5f20315116c43110c058ec9d787e20f901309f2
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Mar 4 13:11:08 2019 +0000
Stop objcopy from attempting to copy thin archives.
PR 24281
* objcopy.c (copy_archive): Do not copy thin archives.
commit 67490c6bad8c8d3fcbcbd5a3012ab5d189fd3981
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Mar 4 00:00:30 2019 +0000
Automatic date update in version.in
commit 60a88cee9274f374a394fe2e9765292b9ca3c7cf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Mar 3 00:00:38 2019 +0000
Automatic date update in version.in
commit e3624a40aeb31065c968d0d3a1d55fdf8e8a4e3c
Author: Eli Zaretskii <eliz@gnu.org>
Date: Sat Mar 2 21:42:54 2019 +0200
Fix documentation of styles.
gdb/doc/ChangeLog:
2019-03-02 Eli Zaretskii <eliz@gnu.org>
* gdb.texinfo (Output Styling): Fix typos. Document the default
foreground colors of the available styles.
commit a6a4b2c636b29de09dea890b448f99804ef7bc18
Author: Eli Zaretskii <eliz@gnu.org>
Date: Sat Mar 2 15:22:11 2019 +0200
Avoid compilation warnings on MinGW.
gdb/ChangeLog:
2019-03-02 Eli Zaretskii <eliz@gnu.org>
* xml-syscall.c (xml_list_syscalls_by_group): Drop 'struct' from
for-loop range, to avoid compiler warnings.
* tui/tui.c (tui_enable) [__MINGW32__]: Don't declare 'cap', to
avoid compiler warnings about unused variables.
commit 742a7df5f4a149f0818aaccfc432c4c0c9a6e26d
Author: Eli Zaretskii <eliz@gnu.org>
Date: Sat Mar 2 15:18:32 2019 +0200
GDB no longer supports Windows before XP.
gdb/ChangeLog:
2019-03-02 Eli Zaretskii <eliz@gnu.org>
* NEWS: Mention end of support for native debugging on MS-Windows
before XP.
commit 41fa577fbc326402be49b3f03bc828e52dba8b88
Author: Eli Zaretskii <eliz@gnu.org>
Date: Sat Mar 2 15:13:54 2019 +0200
Fix GDB compilation on MinGW (PR gdb/24292)
gdb/ChangeLog:
2019-03-02 Eli Zaretskii <eliz@gnu.org>
PR gdb/24292
* common/netstuff.c:
* gdbserver/gdbreplay.c
* gdbserver/remote-utils.c:
* ser-tcp.c:
* unittests/parse-connection-spec-selftests.c [USE_WIN32API]:
Include ws2tcpip.h instead of wsiapi.h and winsock2.h. Redefine
_WIN32_WINNT to 0x0501 if defined to a smaller value, as
'getaddrinfo' and 'freeaddrinfo' were not available before
Windows XP, and mingw.org's MinGW headers by default define
_WIN32_WINNT to 0x500.
commit ca5a17b09eabb24301c8591440670613385a9026
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Mar 2 00:00:57 2019 +0000
Automatic date update in version.in
commit 24801b157631434446c2fc5a40994a5555a1db38
Author: Andreas Krebbel <krebbel@linux.ibm.com>
Date: Fri Mar 1 15:23:42 2019 +0100
Revert "Add support to GNU ld to separate got related plt entries"
bfd/ChangeLog:
2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
PR 20113
* elf32-s390.c (allocate_dynrelocs): Update comment.
ld/ChangeLog:
2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
PR 20113
* emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define.
* emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define.
* testsuite/ld-s390/gotreloc_31-1.dd: Update expected output.
* testsuite/ld-s390/tlsbin.dd: Likewise.
* testsuite/ld-s390/tlsbin.rd: Likewise.
* testsuite/ld-s390/tlsbin.sd: Likewise.
* testsuite/ld-s390/tlsbin_64.dd: Likewise.
* testsuite/ld-s390/tlsbin_64.rd: Likewise.
* testsuite/ld-s390/tlsbin_64.sd: Likewise.
* testsuite/ld-s390/tlspic.dd: Likewise.
* testsuite/ld-s390/tlspic.rd: Likewise.
* testsuite/ld-s390/tlspic.sd: Likewise.
* testsuite/ld-s390/tlspic_64.dd: Likewise.
* testsuite/ld-s390/tlspic_64.rd: Likewise.
* testsuite/ld-s390/tlspic_64.sd: Likewise.
* testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets.
commit 827f438f664809b13ea59e8fabc43070dbd17645
Author: Gary Benson <gbenson@redhat.com>
Date: Fri Mar 1 13:50:27 2019 +0000
Fix coff_start_symtab resource leak found by Coverity
This commit fixes a resource leak found by Coverity, where
coff_start_symtab performs an xstrdup that is now performed
within start_symtab by buildsym_compunit::buildsym_compunit.
gdb/ChangeLog:
* coffread.c (coff_start_symtab): Remove unnecessary xstrdup.
commit 4ffd290906608e72fd98d627a24aa2c2b6ecf4ce
Author: Tamar Christina <tamar.christina@arm.com>
Date: Fri Mar 1 11:37:51 2019 +0000
Binutils: Always skip only 1 byte for CIE version 1's return address register.
According to the specification for the CIE entries, when the CIE version is 1 then
the return address register field is always 1 byte. Readelf does this correctly in
read_cie in dwarf.c but ld does this incorrectly and always tries to read a
skip_leb128. If the value here has the top bit set then ld will incorrectly read
at least another byte, causing either an assert failure or an incorrect address to
be used in eh_frame.
I'm not sure how to generate a generic test for this as I'd need to write assembly,
and it's a bit hard to trigger. Essentially the relocated value needs to start with
something that & 0x70 != 0x10 while trying to write a personality.
bfd/ChangeLog:
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
commit b24cc4146e4de9f3b66e2e2fb8379db46eff89c9
Author: Alan Modra <amodra@gmail.com>
Date: Fri Mar 1 09:28:47 2019 +1030
PR24272, out-of-bounds read in pex64_xdata_print_uwd_codes
The fix here is to use an unsigned comparison for
if (a->NumberOfRvaAndSizes > IMAGE_NUMBEROF_DIRECTORY_ENTRIES)
include/
PR 24272
* coff/internal.h (struct internal_extra_pe_aouthdr): Change type
of SizeOfCode, SizeOfInitializedData, and SizeOfUninitializedData
to bfd_vma. Change type of SectionAlignment, FileAlignment,
Reserved1, SizeOfImage, SizeOfHeaders, CheckSum, LoaderFlags,
and NumberOfRvaAndSizes to uint32_t.
bfd/
PR 24272
* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Use unsigned index.
(_bfd_XX_print_private_bfd_data_common): Adjust for type changes.
commit b09e83c1f814a6f218519abeb94aaf45869ba03c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Mar 1 00:00:52 2019 +0000
Automatic date update in version.in
commit 01abb042af3f118a8820517a3b45b19e65c7bbd4
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Feb 28 17:19:46 2019 +0000
Testsuite: Catch gdbserver socket listen errors
When launching gdbserver, the testsuite checks for binding failure but
does not check for failure to listen to socket error (which can happen
due to another gdbserver binding to the socket at the same time).
When this error occurs, the test will ignore the error and connect GDB
to the failed port. This may succeed and GDB will now be connected to
the gdbserver from another test. This eventually causes both tests to
fail.
When running the tests suite with native-gdbserver across many cores,
this issue may happen once or twice, each causing random failures for
two .exp testscripts.
Example gdb.log output for the failure:
The testsuite sucessfully notices a failure to connect to port 2348.
It launches again with port 2349, which also fails. The testsuite
ignores this error and uses gdb to connect to the port - which succeeds.
spawn /work/build/gdb/testsuite/../gdbserver/gdbserver --once localhost:2348 /work/build/gdb/testsuite/outputs/gdb.ada/arrayidx/p^M
Can't bind address: Address already in use.^M
Exiting^M
Port 2348 is already in use.
spawn /work/build/gdb/testsuite/../gdbserver/gdbserver --once localhost:2349 /work/build/gdb/testsuite/outputs/gdb.ada/arrayidx/p^M
Can't listen on socket: Address already in use.^M
Exiting^M
target remote localhost:2349^M
Remote debugging using localhost:2349^M
Reading /lib/ld-linux-aarch64.so.1 from remote target...^M
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.^M
Reading /lib/ld-linux-aarch64.so.1 from remote target...^M
Reading symbols from target:/lib/ld-linux-aarch64.so.1...^M
Reading /lib/ld-2.23.so from remote target...^M
Reading /lib/.debug/ld-2.23.so from remote target...^M
Reading /work/build/install/lib/debug//lib/ld-2.23.so from remote target...^M
Reading /work/build/install/lib/debug/lib//ld-2.23.so from remote target...^M
Reading target:/work/build/install/lib/debug/lib//ld-2.23.so from remote target...^M
(No debugging symbols found in target:/lib/ld-linux-aarch64.so.1)^M
0x0000ffffbf6d2cc0 in ?? () from target:/lib/ld-linux-aarch64.so.1^M
(gdb) continue^M
Continuing.^M
Reading /lib/aarch64-linux-gnu/libc.so.6 from remote target...^M
Reading /lib/aarch64-linux-gnu/libc-2.23.so from remote target...^M
Reading /lib/aarch64-linux-gnu/.debug/libc-2.23.so from remote target...^M
Reading /work/build/install/lib/debug//lib/aarch64-linux-gnu/libc-2.23.so from remote target...^M
Reading /work/build/install/lib/debug/lib/aarch64-linux-gnu//libc-2.23.so from remote target...^M
Reading target:/work/build/install/lib/debug/lib/aarch64-linux-gnu//libc-2.23.so from remote target...^M
[Inferior 1 (process 35351) exited normally]^M
(gdb) FAIL: gdb.ada/arrayidx.exp: can't run to main
Meanwhile, at the same time, in another test, gdbserver successfully
connects to port 2349. GDB then tries to connect to the port, but it
times out because the GDB in the test above has already connected to it.
spawn /work/build/gdb/testsuite/../gdbserver/gdbserver --once localhost:2348 /work/build/gdb/testsuite/outputs/gdb.ada/rdv_wait/foo^M
Can't bind address: Address already in use.^M
Exiting^M
Port 2348 is already in use.
spawn /work/build/gdb/testsuite/../gdbserver/gdbserver --once localhost:2349 /work/build/gdb/testsuite/outputs/gdb.ada/rdv_wait/foo^M
Process /work/build/gdb/testsuite/outputs/gdb.ada/rdv_wait/foo created; pid = 65162^M
Listening on port 2349^M
Remote debugging from host 127.0.0.1, port 45154^M
target remote localhost:2349^M
localhost:2349: Connection timed out.^M
(gdb) ^CQuit^M
(gdb) task 2^M
Cannot inspect Ada tasks when program is not running^M
gdb/testsuite/ChangeLog:
* lib/gdbserver-support.exp (gdbserver_start): Check for listen
failure.
commit 92137da015d301fec4b7878467d053d379a2f489
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date: Thu Feb 28 16:09:05 2019 +0100
Can't interrupt process without controlling terminal on Solaris (PR gdb/8527)
If gdb attaches to a process that either has no controlling terminal,
or the controlling terminal differs from the one gdb is running under,
break/^C doesn't interrupt the debugged process on Solaris.
Fixed as follows, analogous to what all all other targets do. Patch from
the PR, recently re-submitted by Brian Vandenberg.
Tested on amd64-pc-solaris2.11, sparcv9-sun-solaris2.11, and
x86_64-pc-linux-gnu.
2019-02-28 Brian Vandenberg <phantall@gmail.com>
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
gdb:
PR gdb/8527
* procfs.c (proc_wait_for_stop): Wrap write of PCWSTOP in
set_sigint_trap, clear_sigint_trap.
gdb/testsuite:
PR gdb/8527
* gdb.base/interrupt-daemon-attach.c,
gdb.base/interrupt-daemon-attach.exp: New test.
commit eed5def8d0b7b64c3592be75a9b22bb4ce1a78f4
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Feb 28 14:30:20 2019 +0000
Prevent a buffer overrun error when attempting to parse a corrupt ELF file.
PR 24273
* elf.c (bfd_elf_string_from_elf_section): Check for a string
section that is not NUL terminated.
commit 9c4c331816b14d7020a8a15eed9dac5e5babdb0e
Author: Joel Brobecker <brobecker@adacore.com>
Date: Thu Feb 28 11:20:29 2019 +0400
(gdb/sim) Move Mike Frysinger to past maintainers section
sim/ChangeLog:
* MAINTAINERS: Move Mike Frysinger to past maintainers' section.
commit b8ec59a1001105a04617b1a623ceb158e6c7472d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Feb 28 00:00:50 2019 +0000
Automatic date update in version.in
commit 799efbe8e01ab8292c01f46ac59a6fb2349d4535
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Feb 16 14:11:38 2019 +0100
Fix regcache leak, and avoid possible regcache access after detach.
Valgrind reports leaks like the below in various tests,
e.g. gdb.threads/attach-slow-waitpid.exp, gdb.ada/task_switch_in_core.exp, ...
Fix the leak by clearing the regcache when detaching from an inferior.
Note that these leaks are 'created' when GDB exits,
when the regcache::current_regcache is destroyed : the elements
of the forward_list are pointers, and the 'pointed to' memory is not
deleted by the forward_list destructor.
Nevertheless, fixing this leak is good as it makes a bunch of
tests 'leak clean'.
Also, it seems strange to keep a register cache for a process from
which GDB detached : it is not clear if this cache is still valid
after detach. And effectively, when clearing only the regcache,
(and not the frame cache), then the frame cache was still 'pointing'
at this regcache and was used when switching to the child process
in the test gdb.threads/watchpoint-fork.exp, which seems strange.
So, we solve the leak and avoid possible accesses to the regcache
and frame cache of the detached inferior, by clearing both the
regcache and the frame cache.
Tested on debian/amd64, natively, under Valgrind,
and with make check RUNTESTFLAGS="--target_board=native-gdbserver".
==27679== VALGRIND_GDB_ERROR_BEGIN
==27679== 1,123 (72 direct, 1,051 indirect) bytes in 1 blocks are definitely lost in loss record 2,942 of 3,400
==27679== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344)
==27679== by 0x5CDF71: get_thread_arch_aspace_regcache(ptid_t, gdbarch*, address_space*) (regcache.c:330)
==27679== by 0x5CE12A: get_thread_regcache (regcache.c:366)
==27679== by 0x5CE12A: get_current_regcache() (regcache.c:372)
==27679== by 0x4FF63D: post_create_inferior(target_ops*, int) (infcmd.c:452)
==27679== by 0x43AF62: core_target_open(char const*, int) (corelow.c:458)
==27679== by 0x408B68: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1892)
...
gdb/ChangeLog
2019-02-27 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* target.c (target_detach): Clear the regcache and the
frame cache.
commit 5cfe428cd1788be52a0af540f02b8f2705354d50
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Feb 27 11:53:16 2019 -0800
x86-64: Skip protected check on symbol defined by linker
Skip symbol defined by linker when checking copy reloc on protected
symbol.
bfd/
PR ld/24276
* elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
by linker when checking copy reloc on protected symbol.
ld/
PR ld/24276
* testsuite/ld-i386/i386.exp: Run PR ld/24276 test.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/pr24276.dso: New file.
* testsuite/ld-i386/pr24276.warn: Likewise.
* testsuite/ld-x86-64/pr24276.dso: Likewise.
* testsuite/ld-x86-64/pr24276.warn: Likewise.
commit 43ac54fca353ea8d77d56dc5ad9e049bbb9a81fb
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Feb 20 14:29:23 2019 -0700
Handle \r\n in gdbreplay
I tried gdbreplay yesterday, but the remotelogfile I received was made
on Windows, so the lines were terminated with \r\n rather than plain
\n.
This patch changes gdbreplay to allow \r\n line termination when
reading the log file.
gdb/gdbserver/ChangeLog
2019-02-27 Tom Tromey <tromey@adacore.com>
* gdbreplay.c (logchar): Handle \r\n.
commit 5862844d0f443b9f65e8dd0d85c43f8818d3f355
Author: Pedro Alves <palves@redhat.com>
Date: Wed Feb 27 18:48:37 2019 +0000
Test "set width/height -1"
As a follow up to the previous commit, add a test for "set
width/height -1", to make sure we don't overflow in readline with
negative values either.
gdb/testsuite/ChangeLog:
2019-02-27 Pedro Alves <palves@redhat.com>
* gdb.base/page.exp: Add tests for "set width/height -1".
commit 8ed252144a29fb6370b828d84419d5c59d23dae2
Author: Pedro Alves <palves@redhat.com>
Date: Wed Feb 27 18:48:36 2019 +0000
Make 'show width/height' display "unlimited" when capped for readline
When we cap the height/width sizes before passing to readline, tweak
the corresponding command variable to show "unlimited":
(gdb) set height 0x8000
(gdb) show height
Number of lines gdb thinks are in a page is unlimited.
Instead of the current output:
(gdb) set height 0x8000
(gdb) show height
Number of lines gdb thinks are in a page is 32768.
gdb/ChangeLog:
2019-02-27 Pedro Alves <palves@redhat.com>
* utils.c (set_screen_size): When we cap the height/width sizes,
tweak the corresponding command variable to show "unlimited":
gdb/testsuite/ChangeLog:
2019-02-27 Pedro Alves <palves@redhat.com>
* gdb.base/page.exp: Add tests for "set/show width/height" with
"infinite" values.
commit 23031e319207140e76a9c18e308995fe28322b58
Author: Saagar Jha <saagar@saagarjha.com>
Date: Wed Feb 27 18:48:35 2019 +0000
Prevent overflow in rl_set_screen_size
GDB calls rl_set_screen_size in readline with the current screen size,
measured in rows and columns. To represent "infinite" sizes, GDB
passes in INT_MAX; however, since rl_set_screen_size internally
multiplies the number of rows and columns, this causes a signed
integer overflow. To prevent this we can instead pass in the
approximate square root of INT_MAX (which is still reasonably large),
so that even when the number of rows and columns is "infinite" we
don't overflow.
gdb/ChangeLog:
2019-02-27 Saagar Jha <saagar@saagarjha.com>
Pedro Alves <palves@redhat.com>
* utils.c (set_screen_size): Reduce "infinite" rows and columns
before calling rl_set_screen_size.
commit 6c28e44a359e9f6cf455ddff0009ca99406f7224
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 26 11:58:47 2019 -0700
Remove Python 2.4 and 2.5 support
This removes all the remainings spots I could find that work around
issues in Python 2.4 and 2.5.
I don't have a good way to test that Python 2.6 still works.
Tested by the buildbot.
gdb/ChangeLog
2019-02-27 Tom Tromey <tromey@adacore.com>
* config.in, configure: Rebuild.
* configure.ac (HAVE_LIBPYTHON2_4, HAVE_LIBPYTHON2_5): Never
define.
* python/py-value.c: Remove Python 2.4 workaround.
* python/py-utils.c (gdb_pymodule_addobject): Remove Python 2.4
workaround.
* python/py-type.c (convert_field, gdbpy_initialize_types): Remove
Python 2.4 workaround.
* python/python-internal.h: Remove Python 2.4 comment.
(Py_ssize_t): Don't define.
(PyVarObject_HEAD_INIT, Py_TYPE): Don't define.
(gdb_Py_DECREF): Remove Python 2.4 workaround.
(gdb_PyObject_GetAttrString, PyObject_GetAttrString): Remove.
(gdb_PyObject_HasAttrString, PyObject_HasAttrString): Remove.
* python/python.c (do_start_initialization): Remove Python 2.4
workaround.
* python/py-prettyprint.c (class dummy_python_frame): Remove.
(print_children): Remove Python 2.4 workaround.
* python/py-inferior.c (buffer_procs): Remove Python 2.4
workaround.
(CHARBUFFERPROC_NAME): Remove.
* python/py-breakpoint.c (gdbpy_initialize_breakpoints): Remove
Python 2.4 workaround.
gdb/testsuite/ChangeLog
2019-02-27 Tom Tromey <tromey@adacore.com>
* lib/gdb.exp (skip_python_tests_prompt): Don't check for Python
2.4.
* gdb.python/py-finish-breakpoint.exp: Remove Python 2.4
workaround.
gdb/ChangeLog
2019-02-27 Tom Tromey <tromey@adacore.com>
* config.in, configure: Rebuild.
* configure.ac (HAVE_LIBPYTHON2_4, HAVE_LIBPYTHON2_5): Never
define.
* python/py-value.c: Remove Python 2.4 workaround.
* python/py-utils.c (gdb_pymodule_addobject): Remove Python 2.4
workaround.
* python/py-type.c (convert_field, gdbpy_initialize_types): Remove
Python 2.4 workaround.
* python/python-internal.h: Remove Python 2.4 comment.
(Py_ssize_t): Don't define.
(PyVarObject_HEAD_INIT, Py_TYPE): Don't define.
(gdb_Py_DECREF): Remove Python 2.4 workaround.
(gdb_PyObject_GetAttrString, PyObject_GetAttrString): Remove.
(gdb_PyObject_HasAttrString, PyObject_HasAttrString): Remove.
* python/python.c (do_start_initialization): Remove Python 2.4
workaround.
* python/py-prettyprint.c (class dummy_python_frame): Remove.
(print_children): Remove Python 2.4 workaround.
* python/py-inferior.c (buffer_procs): Remove Python 2.4
workaround.
(CHARBUFFERPROC_NAME): Remove.
* python/py-breakpoint.c (gdbpy_initialize_breakpoints): Remove
Python 2.4 workaround.
commit 2c3fc25dd18d3afb4b4cb494c4803fdfbf00ae9b
Author: Kevin Buettner <kevinb@redhat.com>
Date: Thu Feb 21 17:22:13 2019 -0700
Document fact that mininum Python version is now 2.6
gdb/ChangeLog:
* NEWS: Note minimum Python version.
gdb/doc/ChangeLog:
* gdb.texinfo (Configure Options): Document minimum python
version.
commit 6ca622222193bc29a2780f6f02f0d8b96da65a4b
Author: Kevin Buettner <kevinb@redhat.com>
Date: Tue Feb 19 13:18:17 2019 -0700
Use Python 2.[67] / 3.X / PEP 3118 buffer protocol
This patch removes the non-IS_PY3K code in infpy_write_memory()
and infpy_search_memory(). In both cases, the remaining code
from these ifdefs is related to use of the PEP 3118 buffer protocol.
(Deleted code is either due to simplification or related to use of the
old buffer protocol.) PEP 3118 is sometimes referred to as the "new"
buffer protocol, though it's not that new anymore.
The link below describes new features in Python 2.6. In particular,
it says that the buffer protocol described by PEP 3118 is in Python
2.6. It also says (at the top of the page) that Python 2.6 was
released on Oct 1, 2008.
https://docs.python.org/3/whatsnew/2.6.html#pep-3118-revised-buffer-protocol
The last security release for the Python 2.6 series was 2.6.9. It was
released on Oct 29, 2013. According to this document...
https://www.python.org/download/releases/2.6.9/
...support for the 2.6 series has ended:
With the 2.6.9 release, and five years after its first release,
the Python 2.6 series is now officially retired. All official
maintenance for Python 2.6, including security patches, has ended.
For ongoing maintenance releases, please see the Python 2.7
series.
As noted earlier, Python 2.6, Python 2.7, and Python 3.X all have
support for the PEP 3118 buffer protocol. Python releases prior
to 2.6 use an older buffer protocol. Since Python 2.6 has been
retired for a good while now, it seems reasonable to me to remove
code using the older buffer protocol from GDB.
I have also simplified some of the code via use of the Py_buffer
unique_ptr specialization which I introduced in the two argument
gdb.Value constructor patch series. Therefore, there is a dependency
on patch #1 from that series.
I have tested against both Python 2.7.15 and 3.7.2. I see no
regressions among the non-racy tests. I've also verified that
PyBuffer_Release is being called when the affected functions exit
while running the tests in gdb.python/py-inferior.exp by hand. I've
also tried running valgrind on GDB while running this test, but I'm
puzzled by the results that I'm seeing - I'm seeing no additional
leaks when I comment out the Py_buffer_up lines that I introduced.
That said, I'm not seeing any leaks that obviously originate from
either infpy_write_memory() or infpy_search_memory().
gdb/ChangeLog:
* python/py-inferior.c (infpy_write_memory): Remove non-IS_PY3K
code from these functions. Remove corresponding ifdefs. Use
Py_buffer_up instead of explicit calls to PyBuffer_Release.
Remove gotos and target of gotos.
(infpy_search_memory): Likewise.
commit f4bc7d2cde9189249d41ac9c63235c128da4d2f2
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Dec 27 11:56:03 2018 +0000
gdb/hppa: Use default gdbarch method default_dummy_id.
Make use of the default gdbarch method for gdbarch_dummy_id.
I have not tested this change but, by inspecting the code, I believe
the default method is equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/hppa-tdep.c (hppa_dummy_id): Delete.
(hppa_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 9734a586671fa95a06a2e10323c14d0157805057
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Dec 27 11:52:53 2018 +0000
gdb/h8300: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/h8300-tdep.c (h8300_unwind_pc): Delete.
(h8300_unwind_sp): Delete.
(h8300_dummy_id): Delete.
(h8300_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 68b867f30eeca7e9585e9ee16e824f5a18e2bc6c
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Dec 19 22:34:19 2018 +0000
gdb/ft32: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/ft32-tdep.c (ft32_dummy_id): Delete.
(ft32_unwind_pc): Delete.
(ft32_unwind_sp): Delete.
(ft32_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 2fbe7ad059d9ec2a8a378a5c2b973a1188677422
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Dec 19 22:31:50 2018 +0000
gdb/frv: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/frv-tdep.c (frv_dummy_id): Delete.
(frv_unwind_pc): Delete.
(frv_unwind_sp): Delete.
(frv_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 76055cbe88cc6623f88c8ae43ed8b8ae6883df9e
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Dec 19 22:24:22 2018 +0000
gdb/riscv: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
This change has been tested with no regressions.
gdb/ChangeLog:
* gdb/riscv-tdep.c (riscv_dummy_id): Delete.
(riscv_unwind_pc): Delete.
(riscv_unwind_sp): Delete.
(riscv_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 4133e5a13f15d86bb1f834090de98cca4c34759d
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Dec 19 22:18:28 2018 +0000
gdb/csky: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/csky-tdep.c (csky_dummy_id): Delete.
(csky_unwind_pc): Delete.
(csky_unwind_sp): Delete.
(csky_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 8010f576414759bf5bdcfeaa64226bf03586b763
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Sep 9 17:17:05 2018 +0100
gdb/cris: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/cris-tdep.c (cris_dummy_id): Delete.
(cris_unwind_pc): Delete.
(cris_unwind_sp): Delete.
(cris_gdbarch_init): Don't register deleted functions with
gdbarch.
commit b56bf084434de08080875134e983f8b46eb2328f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Sep 9 17:14:20 2018 +0100
gdb/bfin: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
and gdbarch_unwind_pc.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/bfin-tdep.c (bfin_dummy_id): Delete.
(bfin_unwind_pc): Delete.
(bfin_gdbarch_init): Don't register deleted functions with gdbarch.
commit a19a650fcca359a02bfadb201c9b032ce7479525
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Sep 9 17:10:21 2018 +0100
gdb/arm: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/arm-tdep.c (arm_dummy_id): Delete.
(arm_unwind_pc): Delete.
(arm_unwind_sp): Delete.
(arm_gdbarch_init): Don't register deleted functions with gdbarch.
commit f8278c3c7e0212e810fa7d65f6202b607c9cf3ca
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Sep 9 17:07:16 2018 +0100
gdb/arc: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted. The
only difference is that the old ARC specific methods had additional
debugging, however, this was discussed on the mailing list[1] and it
was agreed these methods could be removed.
[1] https://sourceware.org/ml/gdb-patches/2018-12/msg00386.html
gdb/ChangeLog:
* gdb/arc-tdep.c (arc_dummy_id): Delete.
(arc_unwind_pc): Delete.
(arc_unwind_sp): Delete.
(arc_gdbarch_init): Don't register deleted functions with gdbarch.
commit 480e46cfc5cf4976c1f1a00bc6254d78e9c45447
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Sep 9 16:48:59 2018 +0100
gdb/alpha: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id, and
gdbarch_unwind_pc.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/alpha-tdep.c (alpha_dummy_id): Delete.
(alpha_unwind_pc): Delete.
(alpha_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 7a995095f35f024517ddaa07b8a8ad04463e3ce5
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Sep 9 15:52:28 2018 +0100
gdb/aarch64: Use default gdbarch methods where possible
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.
I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.
gdb/ChangeLog:
* gdb/aarch64-tdep.c (aarch64_dummy_id): Delete.
(aarch64_unwind_pc): Delete.
(aarch64_unwind_sp): Delete.
(aarch64_gdbarch_init): Don't register deleted functions with
gdbarch.
commit 52d6f3ee9439bb20c45421ecfeef2a69fd0b5511
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Wed Feb 27 13:15:10 2019 +0000
Testsuite: Allow multiple lines of "as" in testsuite.
Committed on behalf of Matthew Malcomson.
This allows checking the command line parsing more easily than before by
allowing many command line invokations from the same .d file.
Each line is used as a set of flags, and the tests are ran against the output
of the assembler with each set.
Each line of assembler is treated as another set of tests (as if the test file
were copied to another with a different #as: line).
This patch includes some example uses where multiple testcases can be merged
into one file using this new functionality.
binutils/ChangeLog:
* testsuite/lib/binutils-common.exp: Allow multiple "as" lines.
gas/ChangeLog:
* testsuite/gas/aarch64/dotproduct.d: Use multiple "as" lines.
* testsuite/gas/aarch64/dotproduct_armv8_4.d: Remove.
* testsuite/gas/aarch64/dotproduct_armv8_4.s: Remove.
* testsuite/gas/aarch64/illegal-dotproduct.d: Use multiple "as"
lines.
* testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: Remove.
* testsuite/gas/aarch64/ldst-rcpc.d: Use multiple "as" lines.
commit bf9a735e239cb7a27c81aa7c98679f7f83fa8314
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Feb 22 22:04:53 2019 +0000
gdb: Handle alignment for C++ structures with static members
In 'type_align' when computing the alignment of a structure we should
not consider the alignment of static structure members, these are
usually stored outside of the structure and therefore don't have any
impact on the structures alignment requirements.
I've extended the existing alignment calculating test to compile in
both C and C++ now so that we can create structures with static
members.
gdb/ChangeLog:
* gdbtypes.c (type_align): Don't consider static members when
computing structure alignment.
gdb/testsuite/ChangeLog:
* gdb.base/align.exp: Extend to compile in both C and C++, and add
tests for structs with static members.
commit 5561fc304ff2a93a33a42df63eaf18b92483b307
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Feb 22 20:49:04 2019 +0000
gdb: Restructure type_align and gdbarch_type_align
This commit restructures the relationship between the type_align
function and the gdbarch_type_align method.
The problem being addressed with this commit is this; previously the
type_align function was structured so that for "basic" types (int,
float, etc) the gdbarch_type_align hook was called, which for
"compound" types (arrays, structs, etc) the common type_align code has
a fixed method for how to extract a "basic" type and would then call
itself on that "basic" type.
The problem is that if an architecture wants to modify the alignment
rules for a "compound" type then this is not currently possible.
In the revised structure, all types pass through the
gdbarch_type_align method. If this method returns 0 then this
indicates that the architecture has no special rules for this type,
and GDB should apply the default rules for alignment. However, the
architecture is free to provide an alignment for any type, both
"basic" and "compound".
After this commit the default alignment rules now all live in the
type_align function, the default_type_align only ever returns 0,
meaning apply the default rules.
I've updated the 3 targets (arc, i386, and nios2) that already
override the gdbarch_type_align method to fit the new scheme.
Tested on X86-64/GNU Linux with no regressions.
gdb/ChangeLog:
* arc-tdep.c (arc_type_align): Provide alignment for basic types,
return 0 for other types.
* arch-utils.c (default_type_align): Always return 0.
* gdbarch.h: Regenerate.
* gdbarch.sh (type_align): Extend comment.
* gdbtypes.c (type_align): Add additional comments, always call
gdbarch_type_align before applying the default rules.
* i386-tdep.c (i386_type_align): Return 0 as the default rule,
generic code will then apply a suitable default.
* nios2-tdep.c (nios2_type_align): Provide alignment for basic
types, return 0 for other types.
commit 9335e75a6170fbf76f60548690d5724198cf0440
Author: Joel Brobecker <brobecker@adacore.com>
Date: Wed Feb 27 08:59:50 2019 +0400
Update NEWS post GDB 8.3 branch creation.
gdb/ChangeLog:
* NEWS: Create a new section for the next release branch.
Rename the section of the current branch, now that it has
been cut.
commit 3d34d8de5e10623652ab9f1eda2ff3456f64d13b
Author: Joel Brobecker <brobecker@adacore.com>
Date: Wed Feb 27 08:53:14 2019 +0400
Bump version to 8.3.50.DATE-git.
Now that the GDB 8.3 branch has been created, we can
bump the version number.
gdb/ChangeLog:
GDB 8.3 branch created (143420fb0d5ae54323ba9953f0818c194635228d):
* version.in: Bump version to 8.3.50.DATE-git.
commit 143420fb0d5ae54323ba9953f0818c194635228d
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Tue Feb 26 23:45:50 2019 -0500
Fix build errors in aix-thread.c
This patch fixes a few instances of unused variable and shadowed local
variable errors.
gdb/ChangeLog:
* aix-thread.c (ptid_cmp): Remove unused variable.
(get_signaled_thread): Likewise.
(store_regs_user_thread): Likewise.
(store_regs_kernel_thread): Likewise.
(fetch_regs_kernel_thread): Remove shadowed variable.
commit 8e3173c608015e84c89990b9473189bf797ae0bf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Feb 27 00:00:37 2019 +0000
Automatic date update in version.in
commit 172fb711a2336b62cf8d58bbb4b27dc71ca8c02d
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Feb 23 22:07:47 2019 +0200
gdb/riscv: Use legacy register numbers in default target description
When the target description support was added to RISC-V, the register
numbers assigned to the fflags, frm, and fcsr control registers in the
default target descriptions didn't match the register numbers used by
GDB before the target description support was added.
What this means is that if a tools exists in the wild that is using
hard-coded register number, setup to match GDB's old numbering, then
this will have been broken (for fflags, frm, and fcsr) by the move to
target descriptions. QEMU is such a tool.
There are a couple of solutions that could be used to work around this
issue:
- The user can create their own xml description file with the
register numbers setup to match their old tool, then load this by
telling GDB 'set tdesc filename FILENAME'.
- Update their old tool to use the newer default numbering scheme, or
better yet add proper target description support to their tool.
- We could have RISC-V GDB change to maintain the old defaults.
This patch changes GDB back to using the old numbering scheme.
This change is only visible to remote targets that don't supply their
own xml description file and instead rely on GDB's default numbering.
Note that even though 32bit-cpu.xml and 64bit-cpu.xml have changed,
the corresponding .c file has not, this is because the numbering added
to the registers in the xml files is number 0, this doesn't result in
any new C code being generated .
gdb/ChangeLog:
* features/riscv/32bit-cpu.xml: Add register numbers.
* features/riscv/32bit-fpu.c: Regenerate.
* features/riscv/32bit-fpu.xml: Add register numbers.
* features/riscv/64bit-cpu.xml: Add register numbers.
* features/riscv/64bit-fpu.c: Regenerate.
* features/riscv/64bit-fpu.xml: Add register numbers.
commit 8791793caa9a3186d4922cc786b6344e6093be73
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 26 12:12:30 2019 -0700
Fix new py-value.exp test case
The new test case in py-value.exp fails -- the code was changed to
throw ValueError, but the test still checks for TypeError. This patch
fixes the problem.
I'm checking this in. Tested on x86-64 Fedora 29.
gdb/testsuite/ChangeLog
2019-02-26 Tom Tromey <tromey@adacore.com>
* gdb.python/py-value.exp (test_value_from_buffer): Check for
ValueError, not TypeError.
commit af54ade989cbbb1a43f4bc9d4d2e8e60814306f1
Author: Kevin Buettner <kevinb@redhat.com>
Date: Sat Feb 16 18:31:51 2019 -0700
Document two argument form of gdb.Value constructor
gdb/ChangeLog:
* NEWS: Mention two argument form of gdb.Value constructor.
gdb/doc/ChangeLog:
* python.texi (Values From Inferior): Document second form
of Value.__init__.
commit bc2a507e6e90fc5766bd68d368441f5b511c2ef1
Author: Kevin Buettner <kevinb@redhat.com>
Date: Sat Feb 16 18:07:51 2019 -0700
Add tests for gdb.Value(bufobj, type) constructor
gdb/testsuite/ChangeLog:
* gdb.python/py-value.exp (test_value_from_buffer): New proc with
call from main program.
commit fe07eca59d0544eb6c56c3559da9ceece23cae6e
Author: Kevin Buettner <kevinb@redhat.com>
Date: Sat Feb 16 17:46:33 2019 -0700
Define gdb.Value(bufobj, type) constructor
Provided a buffer BUFOBJ and a type TYPE, construct a gdb.Value object
with type TYPE, where the value's contents are taken from BUFOBJ.
E.g...
(gdb) python import struct
(gdb) python unsigned_int_type=gdb.lookup_type('unsigned int')
(gdb) python b=struct.pack('=I',0xdeadbeef)
(gdb) python v=gdb.Value(b, unsigned_int_type) ; print("%#x" % v)
0xdeadbeef
This two argument form of the gdb.Value constructor may also be used
to obtain gdb values from selected portions of buffers read with
Inferior.read_memory(). The test case (which is in a separate patch)
demonstrates this use case.
gdb/ChangeLog:
* python/py-value.c (convert_buffer_and_type_to_value): New
function.
(valpy_new): Parse arguments via gdb_PyArg_ParseTupleAndKeywords.
Add support for handling an optional second argument. Call
convert_buffer_and_type_to_value as appropriate.
commit 26c897821b37af894088ec5731f93dc82e79b6d4
Author: Kevin Buettner <kevinb@redhat.com>
Date: Sat Feb 16 17:33:47 2019 -0700
Define unique_ptr specialization for Py_buffer.
This patch causes PyBuffer_Release() to be called when the associated
buffer goes out of scope. I've been using it as follows:
...
Py_buffer_up buffer_up;
Py_buffer py_buf;
if (PyObject_CheckBuffer (obj)
&& PyObject_GetBuffer (obj, &py_buf, PyBUF_SIMPLE) == 0)
{
/* Got a buffer, py_buf, out of obj. Cause it to released
when it goes out of scope. */
buffer_up.reset (&py_buf);
}
...
This snippet of code was taken directly from an upcoming patch to
python-value.c.
gdb/ChangeLog:
* python/python-internal.h (Py_buffer_deleter): New struct.
(Py_buffer_up): New typedef.
commit c31307f9c5022205aaf2dff591457ac8b5c1342d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Feb 26 00:00:25 2019 +0000
Automatic date update in version.in
commit 0f58c9e88ebee636206b946b00ea52b47056b320
Author: John Baldwin <jhb@FreeBSD.org>
Date: Mon Feb 25 14:25:01 2019 -0800
Fix BFD leak in dwarf2_get_dwz_file.
Previously if build_id_verify failed, dwz_bfd was cleared to NULL via
release(), but the BFD object was not destroyed. Use reset() with
nullptr instead to delete the BFD.
gdb/ChangeLog:
* dwarf2read.c (dwarf2_get_dwz_file): Reset dwz_bfd to nullptr
instead of releasing ownership.
commit 0a0f4c0179106ee4b8e56649c549f4175ebba994
Author: Jordan Rupprecht <rupprecht@google.com>
Date: Mon Feb 25 12:21:01 2019 -0800
Fix crash when loading dwp files
When loading dwp files, we create an array of ELF sections indexed by the ELF
section index in the dwp file. The size of this array is calculated by
section_count, as returned by bfd_count_sections, plus 1 (to account for the
null section at index 0). However, when loading the bfd file, strtab/symtab
sections are not added to the list, nor do they increment section_count, so
section_count is actually smaller than the number of ELF sections.
This happens to work when using GNU dwp, which lays out .debug section first,
with sections like .shstrtab coming at the end. Other tools, like llvm-dwp, put
.strtab first, and gdb crashes when loading those dwp files.
For instance, with the current state of gdb, loading a file like this:
$ readelf -SW <file.dwp>
[ 0] <empty>
[ 1] .debug_foo PROGBITS ...
[ 2] .strtab STRTAB ...
... results in section_count = 2 (.debug is the only thing placed into
bfd->sections, so section_count + 1 == 2), and sectp->this_idx = 1 when mapping
over .debug_foo in dwarf2_locate_common_dwp_sections, which passes the
assertion that 1 < 2.
However, using a dwp file produced by llvm-dwp:
$ readelf -SW <file.dwp>
[ 0] <empty>
[ 1] .strtab STRTAB ...
[ 2] .debug_foo PROGBITS ...
... results in section_count = 2 (.debug is the only thing placed into
bfd->sections, so section_count + 1 == 2), and sectp->this_idx = 2 when mapping
over .debug_foo in dwarf2_locate_common_dwp_sections, which fails the assertion
that 2 < 2.
The assertion hit is:
gdb/dwarf2read.c:13009: internal-error: void dwarf2_locate_common_dwp_sections(bfd*, asection*, void*): Assertion `elf_section_nr < dwp_file->num_sections' failed.
This patch changes the calculation of section_count to use elf_numsections,
which should return the actual number of ELF sections.
commit cd5a152cebb201e98f3dbeca510aa39e838a1f62
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Feb 21 10:40:49 2019 -0700
Fix BFD leak in solib-darwin.c
commit 192b62ce0b4bb5c61188f570e127a26d2c32f716 ("Use class to manage
BFD reference counts") changed darwin_get_dyld_bfd to use:
+ dyld_bfd.release ();
rather than
- do_cleanups (cleanup);
However, using release here leaks the BFD. Instead, simply assigning
"sub" to "dyld_bfd" achieves what was meant.
gdb/ChangeLog
2019-02-25 Tom Tromey <tromey@adacore.com>
* solib-darwin.c (darwin_get_dyld_bfd): Don't release dyld_bfd.
commit 39f0547e554df96608dd041d2a7b3c72882fd515
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Feb 25 12:15:41 2019 +0000
Extend objdump's --dwarf=follow-links option so that separate debug info files will also be affected by other dump function, and symbol tables from separate debug info files will be used when disassembling the main file.
* objdump.c (sym_ok): New function.
(find_symbol_for_address): Use new function.
(disassemble_section): Compare sections by name, not pointer.
(dump_dwarf): Move code to initialise byte_get pointer and iterate
over separate debug files from here to ...
(dump_bfd): ... here. Add parameter indicating that a separate
debug info file is being dumped. For main file, pull in the
symbol tables from all separate debug info files.
(display_object): Update call to dump_bfd.
* doc/binutils.texi: Document extened behaviour of the
--dwarf=follow-links option.
* NEWS: Mention this new feature.
* testsuite/binutils-all/objdump.WK2: Update expected output.
* testsuite/binutils-all/objdump.exp (test_follow_debuglink): Add
options and dump file parameters.
Add extra test.
* testsuite/binutils-all/objdump.WK3: New file.
* testsuite/binutils-all/readelf.exp: Change expected output for
readelf -wKis test.
* testsuite/binutils-all/readelf.wKis: New file.
commit 60245a92ce2c16d0b43987c2442b1a125652b832
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Feb 25 00:00:31 2019 +0000
Automatic date update in version.in
commit a894d76ab1afb0e16116eb16eef3f5621d62e6ab
Author: Alan Modra <amodra@gmail.com>
Date: Sun Feb 24 18:01:08 2019 +1030
Re: PowerPC __tls_get_addr arg parsing
Fixes non-ELF powerpc build failure:
tc-ppc.c:3009:1: error: âparse_tls_argâ defined but not used
* config/tc-ppc.c (parse_tls_arg): Wrap in #ifdef OBJ_ELF.
commit f616c36b79d0776e51213b177e45a0f5d386cc58
Author: Alan Modra <amodra@gmail.com>
Date: Sun Feb 24 16:44:48 2019 +1030
PR24144, pdp11-ld overwriting section data with zeros
bfd/
PR 24144
* pdp11.c (set_section_contents): Revert 2015-02-24 change.
gas/
PR 24144
* config/obj-aout.c (obj_aout_frob_file_before_fix): Write to end
of section to ensure file contents cover aligned section size.
commit 4323c5ad3cbcb2a3d2178d778278109f24071b26
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Feb 24 00:01:17 2019 +0000
Automatic date update in version.in
commit 8a6a85134d78531c6adb72a888844f7cfa3a5c56
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Sat Feb 23 10:05:19 2019 -0500
Use '--readnever' when invoking GDB from gcore.in
Back when I proposed the '--readnever' feature, I somehow forgot or
decided not to include the bits related to gcore.in in the original
patch. This patch finally updates the gcore script to invoke GDB
using '--readnever'.
We've been carrying this patch on Fedora GDB for quite some time, and
as expected the corefiles generated by gcore on Fedora don't have
problems, which I think is the best indicator that the it's safe to
generate corefiles using '--readnever'.
gdb/ChangeLog:
2019-02-23 Sergio Durigan Junior <sergiodj@redhat.com>
* gcore.in: Add '--readnever' option when invoking GDB.
commit e0e7d3bd218e50275b4c9c9fbf2d3123c73372a9
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sat Feb 23 16:23:22 2019 +0400
Update copyright year range in gdb.ada/mi_ref_changeable testcase
This patch fixes the copyright year range which escaped
the 2019 update, because the patch was submitted in 2018, but
only really pushed in 2019.
Pushed: https://www.sourceware.org/ml/gdb-patches/2019-02/msg00109.html
Submitted: https://www.sourceware.org/ml/gdb-patches/2018-12/msg00444.html
We normally are pretty good at remembering those little things,
but this one fell through the cracks. This commit fixes this,
by re-running the copyright.py script and checking in the changes
made by that script.
gdb/testsuite/ChangeLog:
* gdb.ada/mi_ref_changeable.exp: Update copyright year range.
* gdb.ada/mi_ref_changeable/foo_rb20_056.adb: Likewise.
* gdb.ada/mi_ref_changeable/pck.adb: Likewise.
* gdb.ada/mi_ref_changeable/pck.ads: Likewise.
* gdb.dwarf2/inlined_subroutine-inheritance.exp: Likewise.
commit c97a773961ce40dfe021ff9133ed27f077cfd8eb
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sat Feb 23 16:14:23 2019 +0400
Update copyright year range in gdb.texinfo and refcard.tex
I missed those files which need to be updated manually when I did
the copyright year range update. The copyright.py script reminds
us of that fact with the following message at the end...
REMINDER: Multiple copyright headers must be updated by hand:
gdb/doc/gdb.texinfo
gdb/doc/refcard.tex
gdb/gdbarch.sh
... and somehow I missed this. This commit makes the change for
gdb.texinfo and refcard.tex. gdbarch.sh is being updated separately
by Andrew Burgess.
gdb/doc/ChangeLog:
* gdb.texinfo: Update copyright year ranges.
* refcard.tex: Likewise.
commit 8a7a93c20aa7c7545ba5ad33e4a127cdf0dd3466
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Feb 23 00:00:56 2019 +0000
Automatic date update in version.in
commit 04dcda9cb0c79b2f27a2f38aedec63da51538ad0
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Fri Feb 22 15:53:52 2019 -0500
Update my email address
Since this is my last day at Ericsson, I am changing my email for my
personal one in the MAINTAINERS file.
commit 07bc701d03167b8006835da583a03d98177cd4b6
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Fri Feb 22 15:09:23 2019 -0500
Look for build-id-based separate debug files under the sysroot
When looking for a separate debug file that matches a given build-id,
GDB only looks in the host's debug dir (typically /usr/lib/debug). This
patch makes it look in the sysroot as well. This is to match the
behavior of GDB when using debuglink-based separate debug files,
introduced in :
402d2bfec42 ("Look for separate debug files in debug directories under a sysroot.")
In the following example, my sysroot is "/tmp/sysroot" and I am trying
to load symbols for
/tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so. This is
the current behavior:
(gdb) file /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so
Reading symbols from /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so...
Looking for separate debug info (build-id) for /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so
Trying /usr/lib/debug/.build-id/f3/d6594d2600e985812cd4ba2ad083ac2aceae22.debug... no, unable to compute real path
<snip>
(No debugging symbols found in /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so)
With this patch:
(gdb) file /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so
Reading symbols from /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so...
Looking for separate debug info (build-id) for /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so
Trying /usr/lib/debug/.build-id/f3/d6594d2600e985812cd4ba2ad083ac2aceae22.debug... no, unable to compute real path
Trying /tmp/sysroot/usr/lib/debug/.build-id/f3/d6594d2600e985812cd4ba2ad083ac2aceae22.debug... yes!
Reading symbols from /tmp/sysroot/usr/lib/debug/.build-id/f3/d6594d2600e985812cd4ba2ad083ac2aceae22.debug...
In the original code, there is a suspicious "abfd.release ()" in
build_id_to_debug_bfd, that I don't understand. If a file with the
right name exists but its build-id note doesn't match, we release (leak)
our reference, meaning the file will stay open? I removed it in the new
code, so that the reference is dropped if we end up not using that file.
I tested briefly by corrupting a separate debug file to trigger this
code, nothing exploded.
gdb/ChangeLog:
* build-id.c (build_id_to_debug_bfd_1): New function.
(build_id_to_debug_bfd): Look for separate debug file in
sysroot.
commit c6f4a5d0ed1ff54b5d46bdbadaa4ad811de1b715
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Feb 22 20:12:21 2019 +0000
gdb: Update copyright year range generated by gdbarch.sh
The copyright year that gdbarch.sh places into the generated files
gdbarch.{c,h} wasn't updated at the start of the year. After this
commit the gdbarch.{c,h} files regenerate as the currently are in the
tree.
gdb/ChangeLog:
* gdbarch.sh: Update the copyright year range that is placed into
generated files.
commit 9600246debb2489725a76334cc237dd289f6b5de
Author: Keith Seitz <keiths@redhat.com>
Date: Fri Feb 22 12:05:37 2019 -0800
Add missing ChangeLog entries for commit bb995d00b3eef2f48d0be895c3509a7ddd8280a1
commit bb995d00b3eef2f48d0be895c3509a7ddd8280a1
Author: Keith Seitz <keiths@redhat.com>
Date: Fri Feb 22 09:39:35 2019 -0800
Fix symtab/23853: symlinked default symtab
This patch attempts to fix a bug dealing with setting breakpoints
in default symtabs that are symlinks. For example:
(gdb) list
11 GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http://www.gnu.org/licenses/>. */
15
16 static int
17 foo (void)
18 {
19 return 0; /* break here */
20 }
(gdb)
21
22 int
23 main (void)
24 {
25 return foo ();
26 }
(gdb) b 19
No line 19 in the current file.
Make breakpoint pending on future shared library load? (y or [n])
The problem here is that when create_sals_line_offset sets the default
symtab, it immediately calls symtab_to_fullname, passing that fullname
to collect_symtabs_from_filename to find all matching symtabs. This
fails because we end up looking for a symtab with the name of the
actual file on disk (which is different in this case because of the
symlink) instead of the one stored in the debug info.
Since we already have the lookup name of the default symtab, use it
instead of the fullname. [This fullname thing was originally added
in 2007 in a series dealing with *displaying* absolute file names.
Clearly, this instance has nothing to do with the display of file names.]
gdb/ChangeLog
PR symtab/23853
* linespec.c (create_sals_line_offset): Search for the default
symtab's filename instead of its fullname.
gdb/testsuite/ChangeLog
PR symtab/23853
* gdb.base/symlink-sourcefile.c: New file.
* gdb.base/symlink-sourcefile.exp: New file.
commit 24841daa74f092f7c5639ee8f1fb303c7694dee7
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Feb 22 10:36:24 2019 +0000
Extend readelf and objdump so that they will display and follow multiple links to separate debug information files.
PR 23843
* dwarf.h (struct separate_info): New structure for containing
information on separate debug info files.
* dwarf.c (struct dwo_info): New structure for containing dwo
links.
(first_dwo_info): Chain of dwo_info structures.
(first_separate_file): Chain of separate_info structures.
(separate_debug_file, separate_debug_filename): Delete.
(fetch_alt_indirect_string): Scan all separate debug info files
for the requested string.
(add_dwo_info): New function.
(add_dwo_name): New function.
(add_dwo_dir): New function.
(add_dwo_id: New function.
(free_dwo_info): New function.
(read_and_display_attr_value): Store DWO data using the new
functions.
(load_debug_section_with_follow): If necessary, scan the list of
separate debug info files for the requested section.
(add_separate_debug_file): New function.
(load_separate_debug_info): Call add_separate_debug_file to store
the information on the newly loaded file.
(load_dwo_file): Likewise.
(load_separate_debif_file): Rename to load_separate_debug_files.
Change return type to boolean. If following links then attempt to
load all separate debug info files, not just the first one.
(free_debug_memory): Release memory in dwo_info and separate_info
chains.
* objdump.c (dump_dwarf): Iterate over all loaded debg info files.
* readelf.c (process_object): Likewise.
* doc/debug.options.texi: Update descriptions of links and
follow-links options.
* testsuite/binutils-all/objdump.WK2: Update expected output.
* testsuite/binutils-all/readelf.k2: Likewise.
* NEWS: Announce the new feature.
commit 83f43c8344d752fb8266b4c4e2f42cf4e5a2f86e
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Fri Feb 22 09:59:05 2019 +0000
[arm][gas] Add support for Neoverse N1
This adds support for the Neoverse N1 CPU [1] to gas.
This was previously enabled under the Ares codename, which remains as
a valid option for -mcpu for compatibility reasons.
make check-gas passes on arm-none-eabi.
[1] https://community.arm.com/processors/b/blog/posts/arm-neoverse-n1-platform-accelerating-the-transformation-to-a-scalable-cloud-to-edge-infrastructure
2019-02-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/tc-arm.c (arm_cpus): Add neoverse-n1.
* doc/c-arm.texi (-mcpu): Document neoverse-n1 value.
commit 516dbc441811c51e29ad668f0bb187cb91d5b25e
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Fri Feb 22 09:57:45 2019 +0000
[AArch64][gas] Add support for Neoverse E1
This adds support for the Neoverse E1 CPU [1] to gas.
make check-gas passes on aarch64-none-elf.
[1] https://community.arm.com/processors/b/blog/posts/arm-neoverse-e1-platform-empowering-the-infrastructure-to-meet-next-generation-throughput-demands
2019-02-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/tc-aarch64.c (aarch64_cpus): Add neoverse-e1.
* doc/c-aarch64.texi (-mcpu): Document neoverse-e1 value.
commit 38e75bf22300aad8029a9765bad2ae75e914ad56
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Fri Feb 22 09:56:50 2019 +0000
[AArch64][gas] Add support for Neoverse N1
This adds support for the Neoverse N1 [1] CPU to gas.
This was previously enabled under the Ares codename, which remains as
a valid option for -mcpu for compatibility reasons.
make check-gas passes on aarch64-none-elf.
[1] https://community.arm.com/processors/b/blog/posts/arm-neoverse-n1-platform-accelerating-the-transformation-to-a-scalable-cloud-to-edge-infrastructure
2019-02-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/tc-aarch64.c (aarch64_cpus): Add neoverse-n1.
* doc/c-aarch64.texi (-mcpu): Document neoverse-n1 value.
commit 871f0fc66ad8e9b0893dc113caf678dda99a7c87
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Feb 22 00:00:37 2019 +0000
Automatic date update in version.in
commit 7557a51431744346c5d281e1b3a55b1fb985cbad
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Feb 21 18:20:21 2019 +0000
Document style behavior in batch mode.
Style is disabled when running in batch mode.
gdb/ChangeLog:
* NEWS: Update style defaults.
gdb/doc/ChangeLog:
* gdb.texinfo: Update style defaults.
commit 2d8b68309f4a4292c27ccfd598bb01b8f6e5c4b1
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Feb 21 07:26:52 2019 -0700
Fix typo in "show remotelogfile" docs
I noticed a trailing "." in the @item for "show remotelogfile".
This removes it. Committing as obvious.
gdb/doc/ChangeLog
2019-02-21 Tom Tromey <tromey@adacore.com>
* gdb.texinfo (Remote Configuration): Remove trailing "." from
@item.
commit ee2bcb0c356d86d7bd2ff525b84a7602bb2bc816
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Feb 21 13:17:32 2019 +0000
Disable styling when running in batch mode
The GCC Guality testsuite within GCC compiles C/C++ files in GCC at
various optimization levels then debugs them in GDB, checking that
program values can be read. This is done within the dejagnu framework.
The new style options in GDB have broken many of the tests due to the
testsuite being unable to process the new control characters. The fix
in Guality is to either to improve the string matching or to disable
styling on the cli or init file (after checking gdb is recent enough
to support styling).
This fix will also need making an any other testsuites in the wild
that use GDB.
An alternative would be to automatically disable styling when using GDB
in batch mode. The reasoning here is that batch mode is only used when
automating GDB and any output will be processed later either with text
processing tools or viewed in text editors, many of these will not
correctly handle the control characters by default. This ensures GDB
continues to work as expected. Anyone who explicitly wants styling in
batch mode can enable it either in the init file or adding to the batch
file - but that would not be the standard use case.
Patch simply disables style after reading the batch command flag, before
reading in the init file or batch file.
gdb/ChangeLog:
* main.c (captured_main_1): Disable styling in batch mode.
commit 5cacf1c88f8afa5a3a1fb6d88c297e19d99f21e0
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Feb 21 10:54:12 2019 +0000
Fix illegal memory accesses by readelf when parsing corrupt IA64 unwind information.
PR 24247
* unwind-ia64.c: Include sysdep.h.
(unw_decode_x1): Check current pointer against end pointer before
accessing memory.
(unw_decode_x2): Likewise.
(unw_decode_x3): Likewise.
(unw_decode_x4): Likewise.
(unw_decode_r2): Likewise.
(unw_decode_p2_p5): Likewise.
(unw_decode_p7_p10): Likewise.
(unw_decode): Likewise.
commit 160eba9301df423116377113f2d4189d785c7dde
Author: Alan Modra <amodra@gmail.com>
Date: Thu Feb 21 17:41:47 2019 +1030
PowerPC __tls_get_addr arg parsing
The syntax we ended up with for -m32 -fPIC calls to __tls_get_addr is
rather weird.
bl __tls_get_addr+0x8000(gd0@tlsgd)@plt
This came about by accident, probably due to requiring the arg reloc
before the call reloc.
Of course the @plt really belongs with __tls_get_addr since it affects
the call rather than the call arg, and it isn't a great deal of
trouble to ensure the relocs are emitted in the correct order. This
patch supports a newer syntax, like so:
bl __tls_get_addr+0x8000@plt(gd0@tlsgd)
gas/
* config/tc-ppc.c (parse_tls_arg): New function, extracted..
(md_assembler): ..from here. Call it after parsing other
suffix modifiers too.
ld/
* testsuite/ld-powerpc/tls32.s: Test new @plt syntax.
commit 56b80d4c4c24c6acacad15530a3a7b483b6e0f3f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Feb 21 00:00:40 2019 +0000
Automatic date update in version.in
commit 0c95f9ed6c0978ae421048552c15065d32c45c30
Author: Tom Tromey <tom@tromey.com>
Date: Fri Feb 8 01:19:36 2019 -0700
Fix typos in symtab_symbol_info
symtab_symbol_info has a couple of messages that say "regulation
expression". I think "regular expression" was meant, so this patch
changes it.
gdb/ChangeLog
2019-02-20 Tom Tromey <tom@tromey.com>
* symtab.c (symtab_symbol_info): Fix typos.
gdb/testsuite/ChangeLog
2019-02-20 Tom Tromey <tom@tromey.com>
* gdb.base/info_qt.exp: Update.
commit 3ca60c57a715bbefc091949dd2381bab1b124715
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Feb 20 17:51:21 2019 +0000
Fix potential illegal memory access by readelf when parsing a binary containing corrupt system tap notes.
PR 24246
* readelf.c (print_stapsdt_note): Harden against corrupt notes.
commit 171375c68e809e97b5653ef424f80d46956a50e8
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Feb 20 17:25:33 2019 +0000
Fix potential illegal memory access by readelf when parsing corrupt IA64 unwind information.
PR 24244
* unwind-ia64.c (unw_decode_uleb128): Add end parameter, use it to
prevent walking off the end of the buffer.
(unw_decode_x1): Add end paramter, pass it to unw_decode_uleb128.
(unw_decode_x2): Likewise.
(unw_decode_x3): Likewise.
(unw_decode_x4): Likewise.
(unw_decode_r2): Pass the end parameter to unw_decode_uleb128.
(unw_decode_r3): Likewise.
(unw_decode_p7_p10): Likewise.
(unw_decode_b2): Likewise.
(unw_decode_b3_x4): Likewise.
commit 7fc0c668f2aceb8582d74db1ad2528e2bba8a921
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Feb 20 17:03:47 2019 +0000
Fix a illegal memory access fault when parsing a corrupt MIPS option section using readelf.
PR 24243
* readelf.c (process_mips_specific): Check for an options section
that is too small to even contain a single option.
commit 8d18bf796bf70d71eb23f4247e29a1fab5f3c5c7
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Feb 20 15:35:06 2019 +0000
Harden readelf's IA64 note display function so that it can handle corrupt notes.
PR 24242
* readelf.c (print_ia64_vms_note): Harden against corrupt notes.
commit c763b8943348582e651dda24f88bb9f8db24672b
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Feb 14 07:58:58 2019 -0700
Use upper case for metasyntactic variables in "help find"
While answering a user's question on irc, I realized that the
metasyntactic variables in "help find" are not in upper case. As you
know this is one of my pet quests, so here is a patch to fix this.
Tested on x86-64 Fedora 29.
gdb/ChangeLog
2019-02-20 Tom Tromey <tromey@adacore.com>
* findcmd.c (_initialize_mem_search): Use upper case for
metasyntactic variables.
commit 0ef8a082c32f34827479f2df8fbd431e08acd2d8
Author: Alan Hayward <alan.hayward@arm.com>
Date: Wed Feb 20 11:56:23 2019 +0000
AArch64: Add default reggroups
AArch64 does not define any reggroups. This causes "maintenance print
reggroups" to dump the default set (which is ok).
However, if a new group is added via an xml file, then this now becomes
the only group.
Fixes gdb.xml/tdesc-regs.exp on AArch64.
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_add_reggroups): New function
(aarch64_gdbarch_init): Call aarch64_add_reggroups.
commit eed62915fd5b733632af343fbf3d47c7364f8e36
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Fri Feb 15 16:43:23 2019 -0800
bfd: xtensa: fix callx relaxation
Big section alignment requirements between source and destination of a
long call can result in making call range bigger than what's reachable
by the call opcode. Add biggest section alignment of sections between
the call site and call destination to the call distance when making
long call relaxation decision.
2019-02-20 Eric Tsai <erictsai@cadence.com>
bfd/
* elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
sections between the call site and call destination and adjust
call distance by the largest alignment.
ld/
* testsuite/ld-xtensa/call_overflow.d: New test definition.
* testsuite/ld-xtensa/call_overflow1.s: New test source.
* testsuite/ld-xtensa/call_overflow2.s: New test source.
* testsuite/ld-xtensa/call_overflow3.s: New test source.
* testsuite/ld-xtensa/xtensa.exp: Add call_overflow test.
commit e6c3b5bfb449d1a02d26f3c4bae5b732951479fc
Author: Alan Hayward <alan.hayward@arm.com>
Date: Wed Feb 20 10:39:28 2019 +0000
AArch64: Add pauth core file section
Used for the AArch64 pointer authentication code mask registers in Arm v8.3-a.
NT_ARM_PAC_MASK matches the value in Linux include/uapi/linux/elf.h
include/ChangeLog:
* elf/common.h (NT_ARM_PAC_MASK): Add define.
bfd/ChangeLog:
* elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
* elf.c (elfcore_grok_aarch_pauth): New function.
(elfcore_grok_note): Check for NT_ARM_PAC_MASK.
(elfcore_write_aarch_pauth): New function.
(elfcore_write_register_note): Check for AArch64 pauth section.
commit 34d75fb5c419a23922174c520e124523e01114c4
Author: Alan Modra <amodra@gmail.com>
Date: Wed Feb 20 18:54:41 2019 +1030
Check asprintf return value
git a31b8bd9a05 introduced a warning (depending on your system
headers).
PR 24225
* elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
return value.
commit c22b42ce308eb538050b4b5789e406b63102b35a
Author: Alan Modra <amodra@gmail.com>
Date: Wed Feb 20 18:22:50 2019 +1030
Unsigned integer overflows in readelf checks
PR 24132
PR 24138
* readelf.c (get_data): Avoid possibility of overflow when
checking for a read that may extend past end of file.
(process_program_headers): Likewise.
commit edd01d077c5f7a0f76ec4fb77b5b9f5b151fa50a
Author: Michael Roitzsch <reactorcontrol@icloud.com>
Date: Wed Feb 20 14:47:40 2019 +1030
Use or1k-darwin host SHARED_LIBADD for *-darwin.
* configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
Darwin hosts, not just or1k.
* configure: Regenerate.
commit 7d272a55caebfc26ab2e15d1e9439bac978b9bb7
Author: Alan Modra <amodra@gmail.com>
Date: Wed Feb 20 12:06:31 2019 +1030
PR24233, Out of memory
PR 24233
* objdump.c (dump_bfd_private_header): Print warning if
bfd_print_private_bfd_data returns false.
commit 6caa91b6e58a563be7eeb2844fd2622158d78354
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Tue Feb 19 21:10:18 2019 -0500
Fix error message and use-after-free on errors in nested sourced files
Errors that happen in nested sourced files (when a sourced file sources
another file) lead to a wrong error message, or use-after-free.
For example, if I put this in "a.gdb":
command_that_doesnt_exist
and this in "b.gdb":
source a.gdb
and try to "source b.gdb" in GDB, the result may look like this:
(gdb) source b.gdb
b.gdb:1: Error in sourced command file:
_that_doesnt_exist:1: Error in sourced command file:
Undefined command: "command_that_doesnt_exist". Try "help".
Notice the wrong file name where "a.gdb" should be. The exact result
may differ, depending on the feelings of the memory allocator.
What happens is:
- The "source a.gdb" command is saved by command_line_append_input_line
in command_line_input's static buffer.
- Since we are sourcing a file, the script_from_file function stores the
script name (a.gdb) in the source_file_name global. However, it doesn't
do a copy, it just saves a pointer to command_line_input's static buffer.
- The "command_that_doesnt_exist" command is saved by
command_line_append_input_line in command_line_input's static buffer.
Depending on what xrealloc does, source_file_name may now point to
freed memory, or at the minimum the data it was pointing to was
overwritten.
- When the error is handled in script_from_file, we dererence
source_file_name to print the name of the file in which the error
occured.
To fix it, I made source_file_name an std::string, so that keeps a copy of
the file name instead of pointing to a buffer with a too small
lifetime.
With this patch, the expected filename is printed, and no use-after-free
occurs:
(gdb) source b.gdb
b.gdb:1: Error in sourced command file:
a.gdb:1: Error in sourced command file:
Undefined command: "command_that_doesnt_exist". Try "help".
I passed explicit template parameters to make_scoped_restore
(<std::string, const std::string &>), so that the second parameter is
passed by reference and avoid a copy.
It was not as obvious as I first thought to change gdb.base/source.exp
to test this, because source commands inside sourced files are
interpreted relative to GDB's current working directory, not the
directory of the currently sourced file. As a workaround, I moved the
snippet that tests errors after the snippet that adds the source
directory to the search path. This way, the "source source-error-1.gdb"
line in source-error.exp manages to find the file.
For reference, here is what ASAN reports when use-after-free occurs:
(gdb) source b.gdb
=================================================================
==18498==ERROR: AddressSanitizer: heap-use-after-free on address 0x60c000019847 at pc 0x7f1d3645de8e bp 0x7ffdcb892e50 sp 0x7ffdcb8925c8
READ of size 6 at 0x60c000019847 thread T0
#0 0x7f1d3645de8d in printf_common /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors_format.inc:546
#1 0x7f1d36477175 in __interceptor_vasprintf /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1525
#2 0x5632eaffa277 in xstrvprintf(char const*, __va_list_tag*) /home/simark/src/binutils-gdb/gdb/common/common-utils.c:122
#3 0x5632eaff96d1 in throw_it /home/simark/src/binutils-gdb/gdb/common/common-exceptions.c:351
#4 0x5632eaff98df in throw_verror(errors, char const*, __va_list_tag*) /home/simark/src/binutils-gdb/gdb/common/common-exceptions.c:379
#5 0x5632eaff9a2a in throw_error(errors, char const*, ...) /home/simark/src/binutils-gdb/gdb/common/common-exceptions.c:394
#6 0x5632eafca21a in script_from_file(_IO_FILE*, char const*) /home/simark/src/binutils-gdb/gdb/cli/cli-script.c:1553
#7 0x5632eaf8a500 in source_script_from_stream /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:569
#8 0x5632eaf8a735 in source_script_with_search /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:605
#9 0x5632eaf8ab20 in source_command /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:664
#10 0x5632eafa8b4a in do_const_cfunc /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:106
#11 0x5632eafb0687 in cmd_func(cmd_list_element*, char const*, int) /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:1892
#12 0x5632ebf3dd87 in execute_command(char const*, int) /home/simark/src/binutils-gdb/gdb/top.c:630
#13 0x5632eb3b25d3 in command_handler(char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:583
#14 0x5632ebf3cf09 in read_command_file(_IO_FILE*) /home/simark/src/binutils-gdb/gdb/top.c:425
#15 0x5632eafca054 in script_from_file(_IO_FILE*, char const*) /home/simark/src/binutils-gdb/gdb/cli/cli-script.c:1547
#16 0x5632eaf8a500 in source_script_from_stream /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:569
#17 0x5632eaf8a735 in source_script_with_search /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:605
#18 0x5632eaf8ab20 in source_command /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:664
#19 0x5632eafa8b4a in do_const_cfunc /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:106
#20 0x5632eafb0687 in cmd_func(cmd_list_element*, char const*, int) /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:1892
#21 0x5632ebf3dd87 in execute_command(char const*, int) /home/simark/src/binutils-gdb/gdb/top.c:630
#22 0x5632eb3b25d3 in command_handler(char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:583
#23 0x5632eb3b2f87 in command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char> >&&) /home/simark/src/binutils-gdb/gdb/event-top.c:770
#24 0x5632eb3b0fe1 in gdb_rl_callback_handler /home/simark/src/binutils-gdb/gdb/event-top.c:213
#25 0x5632ec1c8729 in rl_callback_read_char /home/simark/src/binutils-gdb/readline/callback.c:220
#26 0x5632eb3b0b8f in gdb_rl_callback_read_char_wrapper_noexcept /home/simark/src/binutils-gdb/gdb/event-top.c:175
#27 0x5632eb3b0da1 in gdb_rl_callback_read_char_wrapper /home/simark/src/binutils-gdb/gdb/event-top.c:192
#28 0x5632eb3b2186 in stdin_event_handler(int, void*) /home/simark/src/binutils-gdb/gdb/event-top.c:511
#29 0x5632eb3aa6a9 in handle_file_event /home/simark/src/binutils-gdb/gdb/event-loop.c:733
#30 0x5632eb3aaf41 in gdb_wait_for_event /home/simark/src/binutils-gdb/gdb/event-loop.c:859
#31 0x5632eb3a88ea in gdb_do_one_event() /home/simark/src/binutils-gdb/gdb/event-loop.c:347
#32 0x5632eb3a89bf in start_event_loop() /home/simark/src/binutils-gdb/gdb/event-loop.c:371
#33 0x5632eb76fbfc in captured_command_loop /home/simark/src/binutils-gdb/gdb/main.c:330
#34 0x5632eb772ea8 in captured_main /home/simark/src/binutils-gdb/gdb/main.c:1176
#35 0x5632eb773071 in gdb_main(captured_main_args*) /home/simark/src/binutils-gdb/gdb/main.c:1192
#36 0x5632eabfe7f9 in main /home/simark/src/binutils-gdb/gdb/gdb.c:32
#37 0x7f1d3554f222 in __libc_start_main (/usr/lib/libc.so.6+0x24222)
#38 0x5632eabfe5dd in _start (/home/simark/build/binutils-gdb/gdb/gdb+0x195d5dd)
0x60c000019847 is located 7 bytes inside of 128-byte region [0x60c000019840,0x60c0000198c0)
freed by thread T0 here:
#0 0x7f1d36502491 in __interceptor_realloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:105
#1 0x5632eaff9f47 in xrealloc /home/simark/src/binutils-gdb/gdb/common/common-utils.c:62
#2 0x5632eaff6b44 in buffer_grow(buffer*, char const*, unsigned long) /home/simark/src/binutils-gdb/gdb/common/buffer.c:40
#3 0x5632eb3b271d in command_line_append_input_line /home/simark/src/binutils-gdb/gdb/event-top.c:614
#4 0x5632eb3b28c6 in handle_line_of_input(buffer*, char const*, int, char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:654
#5 0x5632ebf402a6 in command_line_input(char const*, char const*) /home/simark/src/binutils-gdb/gdb/top.c:1252
#6 0x5632ebf3cee9 in read_command_file(_IO_FILE*) /home/simark/src/binutils-gdb/gdb/top.c:422
#7 0x5632eafca054 in script_from_file(_IO_FILE*, char const*) /home/simark/src/binutils-gdb/gdb/cli/cli-script.c:1547
#8 0x5632eaf8a500 in source_script_from_stream /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:569
#9 0x5632eaf8a735 in source_script_with_search /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:605
#10 0x5632eaf8ab20 in source_command /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:664
#11 0x5632eafa8b4a in do_const_cfunc /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:106
#12 0x5632eafb0687 in cmd_func(cmd_list_element*, char const*, int) /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:1892
#13 0x5632ebf3dd87 in execute_command(char const*, int) /home/simark/src/binutils-gdb/gdb/top.c:630
#14 0x5632eb3b25d3 in command_handler(char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:583
#15 0x5632ebf3cf09 in read_command_file(_IO_FILE*) /home/simark/src/binutils-gdb/gdb/top.c:425
#16 0x5632eafca054 in script_from_file(_IO_FILE*, char const*) /home/simark/src/binutils-gdb/gdb/cli/cli-script.c:1547
#17 0x5632eaf8a500 in source_script_from_stream /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:569
#18 0x5632eaf8a735 in source_script_with_search /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:605
#19 0x5632eaf8ab20 in source_command /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:664
#20 0x5632eafa8b4a in do_const_cfunc /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:106
#21 0x5632eafb0687 in cmd_func(cmd_list_element*, char const*, int) /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:1892
#22 0x5632ebf3dd87 in execute_command(char const*, int) /home/simark/src/binutils-gdb/gdb/top.c:630
#23 0x5632eb3b25d3 in command_handler(char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:583
#24 0x5632eb3b2f87 in command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char> >&&) /home/simark/src/binutils-gdb/gdb/event-top.c:770
#25 0x5632eb3b0fe1 in gdb_rl_callback_handler /home/simark/src/binutils-gdb/gdb/event-top.c:213
#26 0x5632ec1c8729 in rl_callback_read_char /home/simark/src/binutils-gdb/readline/callback.c:220
#27 0x5632eb3b0b8f in gdb_rl_callback_read_char_wrapper_noexcept /home/simark/src/binutils-gdb/gdb/event-top.c:175
#28 0x5632eb3b0da1 in gdb_rl_callback_read_char_wrapper /home/simark/src/binutils-gdb/gdb/event-top.c:192
#29 0x5632eb3b2186 in stdin_event_handler(int, void*) /home/simark/src/binutils-gdb/gdb/event-top.c:511
previously allocated by thread T0 here:
#0 0x7f1d36502491 in __interceptor_realloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:105
#1 0x5632eaff9f47 in xrealloc /home/simark/src/binutils-gdb/gdb/common/common-utils.c:62
#2 0x5632eaff6b44 in buffer_grow(buffer*, char const*, unsigned long) /home/simark/src/binutils-gdb/gdb/common/buffer.c:40
#3 0x5632eb3b271d in command_line_append_input_line /home/simark/src/binutils-gdb/gdb/event-top.c:614
#4 0x5632eb3b28c6 in handle_line_of_input(buffer*, char const*, int, char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:654
#5 0x5632ebf402a6 in command_line_input(char const*, char const*) /home/simark/src/binutils-gdb/gdb/top.c:1252
#6 0x5632ebf3cee9 in read_command_file(_IO_FILE*) /home/simark/src/binutils-gdb/gdb/top.c:422
#7 0x5632eafca054 in script_from_file(_IO_FILE*, char const*) /home/simark/src/binutils-gdb/gdb/cli/cli-script.c:1547
#8 0x5632eaf8a500 in source_script_from_stream /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:569
#9 0x5632eaf8a735 in source_script_with_search /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:605
#10 0x5632eaf8ab20 in source_command /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:664
#11 0x5632eafa8b4a in do_const_cfunc /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:106
#12 0x5632eafb0687 in cmd_func(cmd_list_element*, char const*, int) /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:1892
#13 0x5632ebf3dd87 in execute_command(char const*, int) /home/simark/src/binutils-gdb/gdb/top.c:630
#14 0x5632eb3b25d3 in command_handler(char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:583
#15 0x5632eb3b2f87 in command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char> >&&) /home/simark/src/binutils-gdb/gdb/event-top.c:770
#16 0x5632eb3b0fe1 in gdb_rl_callback_handler /home/simark/src/binutils-gdb/gdb/event-top.c:213
#17 0x5632ec1c8729 in rl_callback_read_char /home/simark/src/binutils-gdb/readline/callback.c:220
#18 0x5632eb3b0b8f in gdb_rl_callback_read_char_wrapper_noexcept /home/simark/src/binutils-gdb/gdb/event-top.c:175
#19 0x5632eb3b0da1 in gdb_rl_callback_read_char_wrapper /home/simark/src/binutils-gdb/gdb/event-top.c:192
#20 0x5632eb3b2186 in stdin_event_handler(int, void*) /home/simark/src/binutils-gdb/gdb/event-top.c:511
#21 0x5632eb3aa6a9 in handle_file_event /home/simark/src/binutils-gdb/gdb/event-loop.c:733
#22 0x5632eb3aaf41 in gdb_wait_for_event /home/simark/src/binutils-gdb/gdb/event-loop.c:859
#23 0x5632eb3a88ea in gdb_do_one_event() /home/simark/src/binutils-gdb/gdb/event-loop.c:347
#24 0x5632eb3a89bf in start_event_loop() /home/simark/src/binutils-gdb/gdb/event-loop.c:371
#25 0x5632eb76fbfc in captured_command_loop /home/simark/src/binutils-gdb/gdb/main.c:330
#26 0x5632eb772ea8 in captured_main /home/simark/src/binutils-gdb/gdb/main.c:1176
#27 0x5632eb773071 in gdb_main(captured_main_args*) /home/simark/src/binutils-gdb/gdb/main.c:1192
#28 0x5632eabfe7f9 in main /home/simark/src/binutils-gdb/gdb/gdb.c:32
#29 0x7f1d3554f222 in __libc_start_main (/usr/lib/libc.so.6+0x24222)
SUMMARY: AddressSanitizer: heap-use-after-free /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors_format.inc:546 in printf_common
gdb/ChangeLog:
* top.h (source_file_name): Change to std::string.
* top.c (source_file_name): Likewise.
(command_line_input): Adjust.
* cli/cli-script.c (script_from_file): Adjust.
gdb/testsuite/ChangeLog:
* gdb.base/source.exp: Move "error in sourced script" code to
the end.
* gdb.base/source-error.gdb: Move contents to
source-error-1.gdb. Add new code to source source-error-1.gdb.
* gdb.base/source-error-1.gdb: New file, from previous
source-error.gdb.
commit 8abac8031ed369a2734b1cdb7df28a39a54b4b49
Author: Alan Modra <amodra@gmail.com>
Date: Wed Feb 20 08:21:24 2019 +1030
PR24236, Heap buffer overflow in _bfd_archive_64_bit_slurp_armap
PR 24236
* archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
sentinel NUL to string buffer nearer to loop where it is used.
Don't go past sentinel when scanning strings, and don't write
NUL again.
* archive.c (do_slurp_coff_armap): Simplify string handling to
archive64.c style.
commit 7ae39e2d406dbec568c5ffd462119037b994fdf9
Author: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
Date: Tue Feb 19 16:12:44 2019 -0800
Check whether symbols with MOVW_.ABS relocations require PLT entries (aarch64).
2019-02-19 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
gold/
PR gold/23870
* aarch64.cc (Target_aarch64::Scan::global): Check if a symbol with
R_AARCH64_MOVW_.ABS_* relocations requires a PLT entry.
* testsuite/Makefile.am: Add aarch64_pr23870 test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/aarch64_pr23870_bar.c: New file.
* testsuite/aarch64_pr23870_foo.c: New file.
* testsuite/aarch64_pr23870_main.S: New file.
commit abaeb1562648d4b58497040a20d772bd08c06d4b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Feb 20 00:00:41 2019 +0000
Automatic date update in version.in
commit 98814c6c111a0681e691a72834c8dcc5b8d1bb3a
Author: Tom Tromey <tromey@adacore.com>
Date: Fri Feb 15 14:05:38 2019 -0700
Minor Ada task cleanups
While working on the Ada task code, I noticed a few things that could
be cleaned up:
* task_list_valid_p was not set in all cases in ada_build_task_list.
This causes many needless re-fetches of the task list.
* task_list_valid_p can be bool, and various functions can also return
bool.
* Nothing checks the return value of read_known_tasks, so it can be
changed to return void.
* The call to ada_build_task_list in
ravenscar_thread_target::update_thread_list is redundant, because
this is the first thing done by iterate_over_live_ada_tasks.
Tested using the internal AdaCore test suite against a ravenscar
target.
gdb/ChangeLog
2019-02-19 Tom Tromey <tromey@adacore.com>
* ravenscar-thread.c
(ravenscar_thread_target::update_thread_list): Don't call
ada_build_task_list.
* ada-lang.h (ada_build_task_list): Don't declare.
* ada-tasks.c (struct ada_tasks_inferior_data)
<task_list_valid_p>: Now bool.
(read_known_tasks, ada_task_list_changed)
(ada_tasks_invalidate_inferior_data): Update.
(read_known_tasks_array): Return bool.
(read_known_tasks_list): Likewise.
(read_known_tasks): Return void.
(ada_build_task_list): Now static.
commit 6f2117ba3892110badc65a7126b19cec211acfa2
Author: Paul Hua <paul.hua.gm@gmail.com>
Date: Tue Feb 19 17:57:16 2019 +0000
Fix a potential deadlock in some older Loongson 3A1000 MIPS processors.
* NEWS: Mention -m[no-]fix-loongson3-llsc.
* configure.ac: Add --enable-mips-fix-loongson3-llsc.
Define DEFAULT_MIPS_FIX_LOONGSON3_LLSC.
* config.in: Regenerated.
* configure: Likewise.
* config/tc-mips.c (sync_insn, mips_fix_loongson3_llsc):
New variables.
(options): New OPTION_FIX_LOONGSON3_LLSC,
OPTION_NO_FIX_LOONGSON3_LLSC.
(md_longopts): Add -m[no-]fix-loongson3-llsc.
(md_begin): Initialize sync insn.
(fix_loongson3_llsc): New.
(append_insn): Call fix_loongson3_llsc.
(md_parse_option): Handle OPTION_FIX_LOONGSON3_LLSC,
OPTION_NO_FIX_LOONGSON3_LLSC.
(md_show_usage): Display -m[no-]fix-loongson3-llsc.
* doc/c-mips.texi: Document -m[no-]fix-loongson3-llsc,
--enable-mips-fix-loongson3-llsc=[yes|no].
commit 179f2db0d9c397d7dd8a59907b84208b79f7f48c
Author: Alan Modra <amodra@gmail.com>
Date: Tue Feb 19 22:48:44 2019 +1030
PR24235, Read memory violation in pei-x86_64.c
PR 24235
* pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
attempting to prevent read past end of section.
commit c72e75a64030b0f6535a80481f37968ad55c333a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Feb 19 00:00:40 2019 +0000
Automatic date update in version.in
commit 70cd633e87e683a2233e852b96e5f1ef8591d4d1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Feb 18 18:10:09 2019 +0000
gdb: Allow gdbarch to override alignment for method and member pointers
The code in type_align (gdbtypes.c) currently hard-codes the rules for
aligning method and member pointers. It would seem better to forward
these types through the gdbarch hook, so that an architecture could
override the alignment of these types if needed.
Only 3 architectures currently override the gdbarch alignment hook,
these are arc, i386, and nio2.
For arc and nios the alignment rules are that alignment is the minimum
of 4-bytes and the type length. As pointers are 4-bytes on these
targets, then (assuming method and members pointers are also 4-bytes)
there should be no change to the alignment after this patch.
For i386 the gdbarch alignment hook overrides for some INT and FLOAT
types only. For method and member pointers we align on the type size
still, so there should be no change to the alignment after this patch.
I tested this on x86-64 GNU Linux with no regressions.
gdb/ChangeLog:
* gdbtypes.c (type_align): Allow alignment of TYPE_CODE_METHODPTR
and TYPE_CODE_MEMBERPTR to be overridden by the gdbarch.
commit 040b3e95e41f7af82e95c781aadc56a16019fd68
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Feb 17 17:58:17 2019 +0100
Fix leaks of 'per program space' and 'per inferior' ada task data.
Valgrind reports leaks such as the below.
Fix these leaks by changing ada_tasks_pspace_data_handle
and ada_tasks_inferior_data_handle to use the 'with_cleanup' register variant.
Tested on debian/amd64 natively and under Valgrind.
==26346== 56 bytes in 1 blocks are definitely lost in loss record 631 of 3,249
==26346== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344)
==26346== by 0x38F911: get_ada_tasks_inferior_data(inferior*) (ada-tasks.c:281)
==26346== by 0x38FA3F: ada_tasks_invalidate_inferior_data (ada-tasks.c:1362)
==26346== by 0x38FA3F: ada_tasks_new_objfile_observer(objfile*) (ada-tasks.c:1411)
==26346== by 0x60CBC5: operator() (functional:2127)
==26346== by 0x60CBC5: notify (observable.h:106)
==26346== by 0x60CBC5: clear_symtab_users(enum_flags<symfile_add_flag>) (symfile.c:2903)
...
==26346== 104 bytes in 1 blocks are definitely lost in loss record 984 of 3,249
==26346== at 0x4C2E0BC: calloc (vg_replace_malloc.c:762)
==26346== by 0x4056F0: xcalloc (common-utils.c:84)
==26346== by 0x38F8AE: xcnew<ada_tasks_pspace_data> (poison.h:122)
==26346== by 0x38F8AE: get_ada_tasks_pspace_data(program_space*) (ada-tasks.c:253)
==26346== by 0x38FA77: ada_tasks_invalidate_pspace_data (ada-tasks.c:1354)
==26346== by 0x38FA77: ada_tasks_new_objfile_observer(objfile*) (ada-tasks.c:1394)
==26346== by 0x60CBC5: operator() (functional:2127)
==26346== by 0x60CBC5: notify (observable.h:106)
...
gdb/ChangeLog
2019-02-18 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* ada-task.c (_initialize_tasks): Use 'with_cleanup' register
variant for ada_tasks_pspace_data_handle and
ada_tasks_inferior_data_handle.
(ada_tasks_pspace_data_cleanup): New function.
(ada_tasks_inferior_data_cleanup): New function.
commit a31b8bd9a054b494fd6ab18f14d84a2f0690f8a1
Author: Alan Modra <amodra@gmail.com>
Date: Mon Feb 18 11:57:22 2019 +1030
PR24225, nios2 buffer overflow
PR 24225
* elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
PRIx64 to generate warning messages. Print local sym names too.
commit d57e4f2b86b763a79c7356198265e8bae132b01a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Feb 18 00:00:44 2019 +0000
Automatic date update in version.in
commit 9409233b0ec8a052eacc5846ee054f224f7e7213
Author: Tom Tromey <tom@tromey.com>
Date: Fri Feb 8 01:40:39 2019 -0700
Change macro_source_fullname to return a std::string
While working on the previous patch, I noticed that if
macro_source_fullname returned a std::string, then the callers would
be simplified. This patch implements this idea.
gdb/ChangeLog
2019-02-17 Tom Tromey <tom@tromey.com>
* macrotab.h (macro_source_fullname): Return a std::string.
* macrotab.c (macro_include, check_for_redefinition)
(macro_undef, macro_lookup_definition, foreach_macro)
(foreach_macro_in_scope): Update.
(macro_source_fullname): Return a std::string.
* macrocmd.c (show_pp_source_pos): Update.
commit 6506371f0671dd5ca11127fee4db8d8d7fec157f
Author: Tom Tromey <tom@tromey.com>
Date: Fri Feb 8 01:28:53 2019 -0700
Add styling to macro commands
This adds filename styling to "info macro".
gdb/ChangeLog
2019-02-17 Tom Tromey <tom@tromey.com>
* macrocmd.c (show_pp_source_pos): Style the file names.
gdb/testsuite/ChangeLog
2019-02-17 Tom Tromey <tom@tromey.com>
* gdb.base/style.exp: Use -g3 to compile when possible. Add test
for macro styling.
* gdb.base/style.c (SOME_MACRO): New macro.
commit 0c820d679358aa1ec7cd9e33c4bc23a7db964ea1
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 28 13:21:35 2019 -0700
Fix some valgrind errors in the TUI
The styling series introduced some new errors in the TUI -- the series
changed how source lines are allocated, without updating
tui_set_source_content_nil.
There are several failures but a typical one looks like:
==6274== Use of uninitialised value of size 8
==6274== at 0x4E4A095: wclrtoeol (in /usr/lib64/libncursesw.so.6.1)
==6274== by 0x4E47617: waddch (in /usr/lib64/libncursesw.so.6.1)
==6274== by 0x8325CB: tui_puts_internal(_win_st*, char const*, int*) (tui-io.c:393)
==6274== by 0x82E89D: tui_file::puts(char const*) (tui-file.c:39)
==6274== by 0x84BF5F: vfprintf_unfiltered(ui_file*, char const*, __va_list_tag*) (utils.c:2026)
This patch rewrites tui_set_source_content_nil, fixing the bug.
This was also reported as PR tui/24197.
Verified by running valgrind before and after on x86-64 Fedora 29.
gdb/ChangeLog
2019-02-17 Tom Tromey <tom@tromey.com>
PR tui/24197:
* tui/tui-source.c (tui_set_source_content_nil): Rewrite.
commit a008792038c2510800db466897c4bb6305d20042
Author: Tom Tromey <tom@tromey.com>
Date: Thu Feb 7 06:23:40 2019 -0700
Fix pager bugs with style output
I believe this fixes all the pager output problems with styling that
Philippe pointed out, plus at least one more. The patch is somewhat
hard to reason about, so you may wish to give it a try. Even writing
the tests was hard.
This removes the style caching, because it was difficult to keep the
style cache correct in all cases. Since this would cause more style
escapes to be emitted, instead it changes fputs_styled to try to avoid
unnecessary changes.
Another bug was that the wrap buffer was not flushed in the case where
wrap_column==0. In the old (pre-patch series) code, characters were
directly emitted in this case; so flushing the wrap buffer here
restores this behavior.
On error the wrap buffer must be emptied. Otherwise, interrupting
output can leave characters in the buffer that will be emitted later.
As discussed on gdb-patches, this fixes the ada-lang.c problem where
filtered and unfiltered printing were mixed. Now user_select_syms
uses filtered printing, which is what its callees were already doing.
Finally, it was possible for source line highlighting to be garbled
(and invalid escape sequences emitted) if the pager was invoked at the
wrong spot. To fix this, the patch arranges for source line escapes
to always be emitted as a unit.
gdb/ChangeLog
2019-02-17 Tom Tromey <tom@tromey.com>
* ada-lang.c (user_select_syms): Use filtered printing.
* utils.c (wrap_style): New global.
(desired_style): Remove.
(emit_style_escape): Add stream parameter.
(set_output_style, reset_terminal_style, prompt_for_continue):
Update.
(flush_wrap_buffer): Only flush gdb_stdout.
(wrap_here): Set wrap_style.
(fputs_maybe_filtered): Clear the wrap buffer on exception. Don't
treat escape sequences as a character. Change when wrap buffer is
flushed.
(fputs_styled): Do not set the output style when the default is
requested.
* ui-style.h (struct ui_file_style) <is_default>: New method.
* source.c (print_source_lines_base): Emit escape sequences in one
piece.
gdb/testsuite/ChangeLog
2019-02-17 Tom Tromey <tom@tromey.com>
* gdb.base/style.exp: Add line-wrapping tests.
* gdb.base/page.exp: Add test for quitting during pagination.
commit 75ba10dc558a450c7dbcdc24f816f6709f2b29f7
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sun Feb 17 10:04:57 2019 -0500
type_align: handle range types the same as ints and enums
This commit enhances type_align to handle TYPE_CODE_RANGE types
the same as integers and enums, rather than returning zero,
which means for this function that it could not determine its
alignment.
gdb/ChangeLog:
* gdbtypes.c (type_align): Handle TYPE_CODE_RANGE the same as
integers and enumeration types.
Tested on x86_64-linux. Also tested on a variety of platforms
(with CPUs being ARM, AArch64, Leon3 (SPARC-like), PowerPC,
PowerPC64, RV64, Visium, x86, x86_64).
commit a2cd4f14750ae27ea5c250c98965eef842ee57db
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sun Feb 17 08:32:45 2019 -0500
(Ada) fix GDB crash printing packed array
Trying to print a packed array sometimes leads to a crash (see
attached testcase for an example of when this happens):
| (gdb) p bad
| [1] 65571 segmentation fault gdb -q foo
Variable "bad" is declared in the debug information as an array where
the array's type name has an XPnnn suffix:
| .uleb128 0xc # (DIE (0x566) DW_TAG_typedef)
| .long .LASF200 # DW_AT_name: "pck__t___XP1"
| [loc info attributes snipped]
| .long 0x550 # DW_AT_type
| .byte 0x1 # DW_AT_alignment
The signals to GDB that the debugging information follows a GNAT encoding
used for packed arrays, and an in order to decode it, we need to find
the type whose name is the same minus the "___XPnnn" suffix: "pck__t".
For that, we make a call to ada-lang.c::standard_lookup, which is
a simple function which essentially does:
| /* Return the result of a standard (literal, C-like) lookup of NAME in
| given DOMAIN, visible from lexical block BLOCK. */
|
| [...]
| sym = lookup_symbol_in_language (name, block, domain, language_c, 0);
Unfortunately for us, while the intent of this call was to perform
an exact-match lookup, in our case, it returns ... type pck__t___XP1
instead! In other words, it finds itself back. The reason why it finds
this type is a confluence of two factors:
(1) Forcing the lookup into language_c currently does not affect
how symbol matching is done anymore, because we look at the symbol's
language to determine which kind of matching should be done;
(2) The lookup searches the local context (via block) first, beforei
doing a more general lookup. And looking at the debug info for
the main subprogram, we see that type "pck__t" is not declared
there, only in the debug info for pck.ads. In other words,
there is no way that we accidently find "pck__t" by random chance.
I believe Pedro added a new function called ada_lookup_encoded_symbol
for that specific purpose, so I started by replacing the lookup
by language above by this. Unfortunately, still no joy.
This was because, even though ada_lookup_encoded_symbol puts angle-
brackets around the search name to signal that we want a verbatim
search, we end up losing that information in the function called
to compare a symbol with the search name:
| static bool
| do_full_match (const char *symbol_search_name,
| const lookup_name_info &lookup_name,
| completion_match_result *comp_match_res)
| {
| return full_match (symbol_search_name, ada_lookup_name (lookup_name));
^^^^^^^^^^^^^^^
|
<=> lookup_name.m_ada.m_encoded_name
(no angle brackets)
The way I fixed this was by introducing a new function called
do_exact_match, and then adjust ada_get_symbol_name_matcher to
return that function when seeing that we have a verbatim non-wild-match
search.
As it happens, this fixes an incorrect test in gdb.ada/homony.exp,
where we were inserting a breakpoint on a symbol using the angle-brackets
notation, and got 2 locations for that breakpoint...
(gdb) b <homonym__get_value>
Breakpoint 1 at 0x4029fc: <homonym__get_value>. (2 locations)
... each location being in a different function:
(gdb) info break
Num Type Disp Enb Address What
1 breakpoint keep y <MULTIPLE>
1.1 y 0x00000000004029fc in homonym.get_value
at /[...]/homonym.adb:32
1.2 y 0x0000000000402a3a in homonym.get_value
at /[...]/homonym.adb:50
(gdb) x /i 0x00000000004029fc
0x4029fc <homonym__get_value+8>: movl $0x1d,-0x4(%rbp)
(gdb) x /i 0x0000000000402a3a
0x402a3a <homonym__get_value__2+8>: movl $0x11,-0x4(%rbp)
Since we used angle-brackets, we shouldn't be matching the second one,
something this patch fixes.
gdb/ChangeLog:
* ada-lang.c (standard_lookup): Use ada_lookup_encoded_symbol
instead of lookup_symbol_in_language
(do_exact_match): New function.
(ada_get_symbol_name_matcher): Return do_exact_match when
doing a verbatim match.
gdb/testsuite/ChangeLog:
* gdb.ada/big_packed_array: New testcase.
* gdb.ada/homonym.exp: Fix incorrect expected output for
"break <homonym__get_value>" test.
Tested on x86_64-linux.
commit aa9e1dc0c6b965e0db07bf7e9fa93cbf0922a743
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Feb 17 00:01:01 2019 +0000
Automatic date update in version.in
commit 166e5d9d419fa9390edd8c0cbcc07df4666a9b75
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Feb 16 00:01:06 2019 +0000
Automatic date update in version.in
commit 485b851b68ea035e3c49234dafcddb97c4f54a30
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Feb 6 15:14:40 2019 +0100
Special-case wildcard requests in ravenscar-thread.c
ravenscar-thread.c intercepts resume and wait target requests and
replaces the requested ptid with the ptid of the underlying CPU.
However, this is incorrect when a request is made with a wildcard
ptid.
This patch adds a special case to ravenscar-thread.c for
minus_one_ptid. I don't believe a special case for process wildcards
is necessary, so I have not added that.
Joel's description explains the bug well:
At the user level, we noticed the issue because we had a test were
we insert a breakpoint one some code which is only run from, say,
CPU #2, whereas we unfortunately resumed the execution after having
stopped somewhere in CPU #1. As a result, we sent an order to resume
CPU #1, which starves CPU #2 forever, because the code in CPU #1
waits for some of the Ada tasks allocated to CPU #2 (and we never
reach our breakpoint either).
gdb/ChangeLog
2019-02-15 Tom Tromey <tromey@adacore.com>
* ravenscar-thread.c (ravenscar_thread_target::resume)
(ravenscar_thread_target::wait): Special case wildcard requests.
commit 0b790b1eeb3741217d4b7b419aca1ed77a114b6c
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Feb 6 03:06:49 2019 -0700
Make the ravenscar thread target multi-target-ready
This changes ravenscar-thread.c to make it ready for multi-target.
This is done by moving globals into the target, and then arranging to
allocate the target with "new" and delete the target in its "close"
method.
gdb/ChangeLog
2019-02-15 Tom Tromey <tromey@adacore.com>
* ravenscar-thread.c (base_ptid): Remove.
(struct ravenscar_thread_target) <close>: New method.
<m_base_ptid>: New member.
<update_inferior_ptid, active_task, task_is_currently_active,
runtime_initialized>: Declare methods.
<ravenscar_thread_target>: Add constructor.
(ravenscar_thread_target::task_is_currently_active)
(ravenscar_thread_target::update_inferior_ptid)
(ravenscar_runtime_initialized): Rename. Now methods.
(ravenscar_thread_target::resume, ravenscar_thread_target::wait)
(ravenscar_thread_target::update_thread_list): Update.
(ravenscar_thread_target::active_task): Now method.
(ravenscar_thread_target::store_registers)
(ravenscar_thread_target::prepare_to_store)
(ravenscar_thread_target::prepare_to_store)
(ravenscar_thread_target::mourn_inferior): Update.
(ravenscar_inferior_created): Use "new" to create target.
(ravenscar_thread_target::get_ada_task_ptid): Update.
(_initialize_ravenscar): Don't initialize base_ptid.
(ravenscar_ops): Remove global.
commit dea57a626364698759d1525acf9109771d173811
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Feb 6 02:54:17 2019 -0700
Add push_target overload
This adds a push_target overload that takes a "target_ops_up &&".
This removes some calls to release a target_ops_up, and makes the
intent here clearer.
gdb/ChangeLog
2019-02-15 Tom Tromey <tromey@adacore.com>
* target.h (push_target): Declare new overload.
* target.c (push_target): New overload, taking an rvalue reference.
* remote.c (remote_target::open_1): Use push_target overload.
* corelow.c (core_target_open): Use push_target overload.
commit 989f3c583d31e29029b1b7dd8ffd3afacbbb5c27
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 5 04:11:19 2019 -0700
Minor C++-ification in ravenscar-thread.c
This changes some functions in ravenscar-thread.c to return "bool"
rather than int, where appropriate, and also changes "(void)" to "()".
gdb/ChangeLog
2019-02-15 Tom Tromey <tromey@adacore.com>
* ravenscar-thread.c (is_ravenscar_task)
(ravenscar_task_is_currently_active): Return bool.
(ravenscar_update_inferior_ptid, get_running_thread_msymbol)
(_initialize_ravenscar): Remove "(void)".
(has_ravenscar_runtime, ravenscar_runtime_initialized): Likewise.
Return bool.
commit 6cbcc006e95110b5d9168e9835e5df36782e975b
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 5 04:08:48 2019 -0700
Fix formatting in ravenscar-thread.c
This fixes some incorrect formatting in ravenscar-thread.c.
gdb/ChangeLog
2019-02-15 Tom Tromey <tromey@adacore.com>
* ravenscar-thread.c (ravenscar_runtime_initializer)
(has_ravenscar_runtime, get_running_thread_id)
(ravenscar_thread_target::resume): Fix indentation.
commit 7657f14df7c697792b626efbd24ac44ad5642485
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 5 03:08:02 2019 -0700
C++-ify ravenscar_arch_ops
This turns ravenscar_arch_ops into an abstract base class and updates
all the places where it is used. This is an improvement because it
avoids any possibility of forgetting to set one of the function
pointers. It also makes clear that these functions aren't intended to
be changed dynamically.
This version of the patch removes the prepare_to_store method, as it
is unused, and it is easy enough to add if it is ever needed.
gdb/ChangeLog
2019-02-15 Tom Tromey <tromey@adacore.com>
* sparc-ravenscar-thread.c (struct sparc_ravenscar_ops): Derive
from ravenscar_arch_ops.
(sparc_ravenscar_ops::fetch_registers)
(sparc_ravenscar_ops::store_registers): Now methods.
(sparc_ravenscar_prepare_to_store): Remove.
(sparc_ravenscar_ops): Redefine.
* ravenscar-thread.h (struct ravenscar_arch_ops): Add virtual
methods and destructor. Remove members.
* ravenscar-thread.c (ravenscar_thread_target::fetch_registers)
(ravenscar_thread_target::store_registers)
(ravenscar_thread_target::prepare_to_store): Update.
* ppc-ravenscar-thread.c (ppc_ravenscar_generic_prepare_to_store):
Remove.
(struct ppc_ravenscar_powerpc_ops): Derive from
ravenscar_arch_ops.
(ppc_ravenscar_powerpc_ops::fetch_registers)
(ppc_ravenscar_powerpc_ops::store_registers): Now methods.
(ppc_ravenscar_powerpc_ops): Redefine.
(struct ppc_ravenscar_e500_ops): Derive from ravenscar_arch_ops.
(ppc_ravenscar_e500_ops::fetch_registers)
(ppc_ravenscar_e500_ops::store_registers): Now methods.
(ppc_ravenscar_e500_ops): Redefine.
* aarch64-ravenscar-thread.c
(aarch64_ravenscar_generic_prepare_to_store): Remove.
(struct aarch64_ravenscar_ops): Derive from ravenscar_arch_ops.
(aarch64_ravenscar_fetch_registers)
(aarch64_ravenscar_store_registers): Now methods.
(aarch64_ravenscar_ops): Redefine.
commit 5b6ea500d554b173e63e1f8f0344d568ad347463
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 5 02:57:21 2019 -0700
Exception safety in ravenscar-thread.c
This changes some code in ravenscar-thread.c to use scoped_restore. I
am not sure if it matters in practice, but this makes these methods
exception-safe in case the methods lower in the target stack can
throw.
gdb/ChangeLog
2019-02-15 Tom Tromey <tromey@adacore.com>
* ravenscar-thread.c (ravenscar_thread_target::stopped_by_sw_breakpoint)
(ravenscar_thread_target::stopped_by_hw_breakpoint)
(ravenscar_thread_target::stopped_by_watchpoint)
(ravenscar_thread_target::stopped_data_address)
(ravenscar_thread_target::core_of_thread): Use scoped_restore.
commit e397fd39c62c70900306fa206ebcae1a4853db8b
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 5 02:53:43 2019 -0700
Fix some typos in ravenscar-thread.c
This fixes some typos I noticed in ravenscar-thread.c.
gdb/ChangeLog
2019-02-15 Tom Tromey <tromey@adacore.com>
* ravenscar-thread.c: Fix some typos.
commit cc12f4a8f97791cf9729ff9341f7c0fbd9d6a79e
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Feb 13 05:42:18 2019 -0700
Fix memory leak in create_ada_exception_catchpoint
Phillipe noticed that create_ada_exception_catchpoint was not freeing
the "addr_string" memory:
==14141== 114 bytes in 4 blocks are definitely lost in loss record 1,054 of 3,424
==14141== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==14141== by 0x405107: xmalloc (common-utils.c:44)
==14141== by 0x7563F9: xstrdup (xstrdup.c:34)
==14141== by 0x381B21: ada_exception_sal (ada-lang.c:13217)
==14141== by 0x381B21: create_ada_exception_catchpoint(gdbarch*, ada_exception_catchpoint_kind, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int, int) (ada-lang.c:13251)
==14141== by 0x3820A8: catch_ada_exception_command(char const*, int, cmd_list_element*) (ada-lang.c:13285)
==14141== by 0x3F4828: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1892)
This patch fixes the problem by changing ada_exception_sal to return a
std::string via its out parameter.
gdb/ChangeLog
2019-02-15 Philippe Waroquiers <philippe.waroquiers@skynet.be>
Tom Tromey <tromey@adacore.com>
* ada-lang.c (ada_exception_sal): Change addr_string to a
std::string.
(create_ada_exception_catchpoint): Update.
commit 5f486660101ab09d50fa3bb9a10555f12722f39f
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 12 14:28:07 2019 -0700
C++-ify bp_location
Philippe noticed a memory leak coming from ada_catchpoint_location --
it was not freeing the "function_name" member from its base class:
==14141== 114 bytes in 4 blocks are definitely lost in loss record 1,055 of 3,424
==14141== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==14141== by 0x405107: xmalloc (common-utils.c:44)
==14141== by 0x7563F9: xstrdup (xstrdup.c:34)
==14141== by 0x3B82B3: set_breakpoint_location_function(bp_location*, int) (breakpoint.c:7156)
==14141== by 0x3C112B: add_location_to_breakpoint(breakpoint*, symtab_and_line const*) (breakpoint.c:8609)
==14141== by 0x3C127A: init_raw_breakpoint(breakpoint*, gdbarch*, symtab_and_line, bptype, breakpoint_ops const*) (breakpoint.c:7187)
==14141== by 0x3C1B52: init_ada_exception_breakpoint(breakpoint*, gdbarch*, symtab_and_line, char const*, breakpoint_ops const*, int, int, int) (breakpoint.c:11262)
==14141== by 0x381C2E: create_ada_exception_catchpoint(gdbarch*, ada_exception_catchpoint_kind, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int, int) (ada-lang.c:13255)
This patch fixes the problem by further C++-ifying bp_location. In
particular, bp_location_ops is now removed, and the "dtor" function
pointer is replaced with an ordinary destructor.
gdb/ChangeLog
2019-02-15 Philippe Waroquiers <philippe.waroquiers@skynet.be>
Tom Tromey <tromey@adacore.com>
* breakpoint.c (~bp_location): Rename from bp_location_dtor.
(bp_location_ops): Remove.
(base_breakpoint_allocate_location): Update.
(free_bp_location): Update.
* ada-lang.c (class ada_catchpoint_location)
<ada_catchpoint_location>: Remove ops parameter.
(ada_catchpoint_location_dtor): Remove.
(ada_catchpoint_location_ops): Remove.
(allocate_location_exception): Update.
* breakpoint.h (struct bp_location_ops): Remove.
(class bp_location) <bp_location>: Remove bp_location_ops
parameter.
<~bp_location>: Add destructor.
<ops>: Remove.
commit 91d78b8179b061cf7c9cca423e29480bc6367fc3
Author: Saagar Jha <saagar@saagarjha.com>
Date: Fri Feb 15 12:50:52 2019 +0000
Use the correct name for various MACH-O based operating systems in comments.
include * mach-o/loader.h: Use new OS names in comments.
commit 99df80f894ebf11f2211550925acc8b06f9972f8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Feb 15 00:01:15 2019 +0000
Automatic date update in version.in
commit 9d70ffbc5ba41c766ce629447af8e72a5ceba229
Author: Weimin Pan <weimin.pan@oracle.com>
Date: Thu Feb 14 22:20:36 2019 +0000
Updating test case
gdb.arch/aarch64-dbreg-contents.exp:
* Replaced "run" with "runto_main + continue".
* Replaced "gdb_compile + clean_restart" with "prepare_for_testing".
* Added comment for case "exited with code 01".
gdb.arch/aarch64-dbreg-contents.c:
* Removed SET_WATCHPOINT marco.
* Removed redundent cleanup ().
* Cleaned up comment.
commit abc163a4647f77bfa449e09da4a85a71e747cf4c
Author: Thomas Schwinge <thomas@codesourcery.com>
Date: Fri Jun 29 21:05:29 2018 +0200
[ld, hurd] Remove 'ld-elf/elf.exp' XFAILs
... as a follow-up to commit d98164028637041c5de99af0d057bde3f168a8a8 "Run more
ld tests when not native", which replaced by a proper solution the following
mess before present in 'ld/configure.host':
-*-*-gnu*)
- # When creating static executables, we ought to use crt0.o instead of crt1.o,
- # <http://www.gnu.org/software/hurd/open_issues/binutils.html#static>,
- # but the testing infrastructure is not prepared for that. This is not
- # relevant for most tests, and the few remaining ones have been XFAILed.
- HOSTING_CRT0='[...]'
- HOSTING_LIBS='[...]'
ld/
* testsuite/ld-elf/elf.exp: Remove Hurd XFAILs.
commit b671c7fb21306ce125717a44c30a71686bd24db1
Author: Thomas Schwinge <thomas@codesourcery.com>
Date: Fri Feb 17 16:45:01 2017 +0000
[gdb, hurd] Avoid using 'PATH_MAX' in 'gdb/remote.c'
..., which is not defined in GNU/Hurd systems, and so commit
94585166dfea8232c248044f9f4b1c217dc4ac2e "Extended-remote follow-exec" caused:
[...]/gdb/remote.c: In member function 'void remote_target::remote_parse_stop_reply(const char*, stop_reply*)':
[...]/gdb/remote.c:7343:22: error: 'PATH_MAX' was not declared in this scope
char pathname[PATH_MAX];
^~~~~~~~
gdb/
* remote.c (remote_target::remote_parse_stop_reply): Avoid using
'PATH_MAX'.
commit 8071c5ce78245eff43f9977a7c3ff8328f7486da
Author: David Michael <fedora.dm0@gmail.com>
Date: Mon Jun 5 17:35:11 2017 -0700
[gdb, hurd] Adjust to Hurd "proc" interface changes
Hurd's commit baf7e5c8ce176aead15c2559952d8bdf0da41ffd "hurd: Use polymorphic
port types to return some rights" causes in the GDB build:
/usr/bin/ld: process_reply_S.o: in function `_Xproc_pid2proc_reply':
[...]/gdb/process_reply_S.c:754: undefined reference to `S_proc_pid2proc_reply'
/usr/bin/ld: [...]/gdb/process_reply_S.c:730: undefined reference to `S_proc_pid2proc_reply'
/usr/bin/ld: process_reply_S.o: in function `_Xproc_task2proc_reply':
[...]/gdb/process_reply_S.c:589: undefined reference to `S_proc_task2proc_reply'
/usr/bin/ld: [...]/gdb/process_reply_S.c:565: undefined reference to `S_proc_task2proc_reply'
/usr/bin/ld: process_reply_S.o: in function `_Xproc_getmsgport_reply':
[...]/gdb/process_reply_S.c:204: undefined reference to `S_proc_getmsgport_reply'
/usr/bin/ld: [...]/gdb/process_reply_S.c:180: undefined reference to `S_proc_getmsgport_reply'
collect2: error: ld returned 1 exit status
gdb/
* gnu-nat.c (S_proc_getmsgport_reply, S_proc_task2proc_reply)
(S_proc_pid2proc_reply): Adjust to Hurd "proc" interface changes.
commit 924514e11c21ac5a5805e7a14824b6f3182b2198
Author: Thomas Schwinge <thomas@codesourcery.com>
Date: Thu Feb 14 10:22:28 2019 +0100
[gdb, hurd] Address "ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]" diagnostics
... that appeared with 9bf2a700667c53003ece783c05e8b355801105f2
"-Wwrite-strings: Remove -Wno-write-strings".
gdb/
* gnu-nat.c (gnu_write_inferior, parse_int_arg, _parse_bool_arg)
(check_empty): Use "const char *".
commit c29ee8d45ec2113821c006a18cfedb9023ef9ce1
Author: Thomas Schwinge <thomas@codesourcery.com>
Date: Tue Jul 24 18:04:18 2018 +0200
[gdb, hurd] Repair build after "Use thread_info and inferior pointers more throughout"
..., that is commit 00431a78b28f913a9d5c912c49680e39cfd20847 causing:
[...]/gdb/gnu-nat.c: In member function 'virtual void gnu_nat_target::detach(inferior*, int)':
[...]/gdb/gnu-nat.c:2284:23: error: invalid conversion from 'int' to 'inferior*' [-fpermissive]
detach_inferior (pid);
^
In file included from [...]/gdb/gnu-nat.c:61:0:
[...]/gdb/inferior.h:523:13: note: initializing argument 1 of 'void detach_inferior(inferior*)'
extern void detach_inferior (inferior *inf);
^~~~~~~~~~~~~~~
Fixed by inlining the removed code.
gdb/
* gnu-nat.c (gnu_nat_target::detach): Instead of
'detach_inferior (pid)' call
'detach_inferior (find_inferior_pid (pid))'.
commit 6c6ef69fb4e95d991fa5462d067d3f71a73fedce
Author: Thomas Schwinge <thomas@codesourcery.com>
Date: Wed Jul 4 13:27:09 2018 +0200
[gdb, hurd] Repair build after "Share fork_inferior et al with gdbserver" changes
..., that is commit 2090129c36c7e582943b7d300968d19b46160d84 causing:
[...]/gdb/gnu-nat.c: In function 'void gnu_ptrace_me()':
[...]/gdb/gnu-nat.c:2133:5: error: 'trace_start_error_with_name' was not declared in this scope
trace_start_error_with_name ("ptrace");
^~~~~~~~~~~~~~~~~~~~~~~~~~~
[...]/gdb/gnu-nat.c:2133:5: note: suggested alternative: 'throw_perror_with_name'
trace_start_error_with_name ("ptrace");
^~~~~~~~~~~~~~~~~~~~~~~~~~~
throw_perror_with_name
[...]/gdb/gnu-nat.c: In function 'void gnu_create_inferior(target_ops*, const char*, const string&, char**, int)':
[...]/gdb/gnu-nat.c:2147:9: error: 'fork_inferior' was not declared in this scope
pid = fork_inferior (exec_file, allargs, env, gnu_ptrace_me,
^~~~~~~~~~~~~
[...]/gdb/gnu-nat.c:2147:9: note: suggested alternative: 'exit_inferior'
pid = fork_inferior (exec_file, allargs, env, gnu_ptrace_me,
^~~~~~~~~~~~~
exit_inferior
[...]/gdb/gnu-nat.c:2174:30: error: 'START_INFERIOR_TRAPS_EXPECTED' was not declared in this scope
gdb_startup_inferior (pid, START_INFERIOR_TRAPS_EXPECTED);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: gnu-nat.o: in function `gnu_ptrace_me()':
[...]/gdb/gnu-nat.c:2134: undefined reference to `trace_start_error_with_name(char const*)'
/usr/bin/ld: gnu-nat.o: in function `gnu_create_inferior(target_ops*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char**, int)':
[...]/gdb/gnu-nat.c:2148: undefined reference to `fork_inferior(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char**, void (*)(), void (*)(int), void (*)(), char const*, void (*)(char const*, char* const*, char* const*))'
/usr/bin/ld: fork-child.o: in function `gdb_startup_inferior(int, int)':
[...]/gdb/fork-child.c:136: undefined reference to `startup_inferior(int, int, target_waitstatus*, ptid_t*)'
collect2: error: ld returned 1 exit status
gdb/
* configure.nat [gdb_host == i386gnu] (NATDEPFILES): Add
'nat/fork-inferior.o'.
* gnu-nat.c: #include "nat/fork-inferior.h".
commit 2d0a338c7c321de6c63be4e7e3f06ba12b783c63
Author: Thomas Schwinge <thomas@codesourcery.com>
Date: Fri Jul 20 02:03:25 2018 +0200
[gdb, hurd] Repair build after "Convert struct target_ops to C++" changes
..., that is commit f6ac5f3d63e03a81c4ff3749aba234961cc9090e causing:
In file included from [...]/gdb/gnu-nat.c:24:0:
[...]/gdb/gnu-nat.h:123:1: error: expected class-name before '{' token
{
^
[...]/gdb/gnu-nat.h:128:16: error: 'inferior' has not been declared
void detach (inferior *, int) override;
^~~~~~~~
[...]/gdb/gnu-nat.h:132:8: error: use of enum 'target_xfer_status' without previous declaration
enum target_xfer_status xfer_partial (enum target_object object,
^~~~~~~~~~~~~~~~~~
[...]/gdb/gnu-nat.h:132:46: error: use of enum 'target_object' without previous declaration
enum target_xfer_status xfer_partial (enum target_object object,
^~~~~~~~~~~~~
[...]/gdb/gnu-nat.h:124:8: error: 'void gnu_nat_target::attach(const char*, int)' marked 'override', but does not override
void attach (const char *, int) override;
^~~~~~
[...]
[...]/gdb/gnu-nat.c: In member function 'virtual void gnu_nat_target::detach(inferior*, int)':
[...]/gdb/gnu-nat.c:2286:34: error: 'ops' was not declared in this scope
inf_child_maybe_unpush_target (ops);
^~~
[...]/gdb/gnu-nat.c:2286:34: note: suggested alternative: 'open'
inf_child_maybe_unpush_target (ops);
^~~
open
[...]/gdb/gnu-nat.c:2286:3: error: 'inf_child_maybe_unpush_target' was not declared in this scope
inf_child_maybe_unpush_target (ops);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[...]/gdb/gnu-nat.c:2286:3: note: suggested alternative: 'maybe_unpush_target'
inf_child_maybe_unpush_target (ops);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maybe_unpush_target
[...]/gdb/i386-gnu-nat.c:200:1: warning: 'void gnu_store_registers(target_ops*, regcache*, int)' defined but not used [-Wunused-function]
gnu_store_registers (struct target_ops *ops,
^~~~~~~~~~~~~~~~~~~
[...]/gdb/i386-gnu-nat.c:109:1: warning: 'void gnu_fetch_registers(target_ops*, regcache*, int)' defined but not used [-Wunused-function]
gnu_fetch_registers (struct target_ops *ops,
^~~~~~~~~~~~~~~~~~~
[...]
/usr/bin/ld: i386-gnu-nat.o:(.data.rel+0x0): undefined reference to `vtable for i386_gnu_nat_target'
collect2: error: ld returned 1 exit status
gdb/
* gnu-nat.c (gnu_nat_target::detach): Instead of
'inf_child_maybe_unpush_target (ops)' call 'maybe_unpush_target'.
* gnu-nat.h: #include "inf-child.h".
* i386-gnu-nat.c (gnu_fetch_registers): Rename/move to
'i386_gnu_nat_target::fetch_registers'.
(gnu_store_registers): Rename/move to
'i386_gnu_nat_target::store_registers'.
commit cabb5f067daa9227bf0323cbf64c6065d6e4796f
Author: Thomas Schwinge <thomas@codesourcery.com>
Date: Wed Feb 13 12:02:20 2019 +0100
[gdb, hurd] Work around conflict between Mach's 'thread_info' function, and GDB's 'thread_info' class
In file included from ./nm.h:25:0,
from [...]/gdb/defs.h:423,
from [...]/gdb/gdb.c:19:
[...]/gdb/regcache.h:35:46: warning: 'get_thread_regcache' initialized and declared 'extern'
extern struct regcache *get_thread_regcache (thread_info *thread);
^~~~~~~~~~~
[...]/gdb/regcache.h:35:46: error: 'regcache* get_thread_regcache' redeclared as different kind of symbol
[...]
[...]/gdb/gdbarch.h:1203:69: error: 'thread_info' is not a type
extern LONGEST gdbarch_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread);
^~~~~~~~~~~
Fixed with a different (self-contained, more maintainable?) approach compared
to what has been done in commit 7aabaf9d4ad52a1df1f551908fbd8cafc5e7597a
"Create private_thread_info hierarchy", and commit
75cbc781e371279f4403045be93b07fd8fe7fde5 "gdb: For macOS, s/thread_info/struct
thread_info/". We don't want to change all the GDB code to everywhere use
'class thread_info' or 'struct thread_info' instead of plain 'thread_info'.
gdb/
* config/i386/nm-i386gnu.h: Don't "#include" any files.
* gnu-nat.h (mach_thread_info): New function.
* gnu-nat.c (thread_takeover_sc_cmd): Use it.
commit b1041ae0ae8a2f1c51e75b45004686f1956078ed
Author: Thomas Schwinge <thomas@codesourcery.com>
Date: Tue Mar 29 14:02:11 2011 +0200
[gdb, hurd] Remove long obsolete 'gnu_target_pid_to_str' function declaration
... for function definition removed/renamed in 1999. ;-)
gdb/
* config/i386/nm-i386gnu.h (gnu_target_pid_to_str): Remove.
commit 2988d01ea5fcc474a9b714d2148bab5fcf4e4be8
Author: KONRAD Frederic <konrad@adacore.com>
Date: Wed Feb 13 22:37:11 2019 -0500
(riscv/ada) fix error when calling functions with range argument
Using the gdb.ada/call_pn.exp testcase, and running it by hand on
riscv64-elf, we get the following error:
(gdb) call pn(55)
Could not compute alignment of type
The problem occurs because the parameter's type is a TYPE_CODE_RANGE,
and that type code is not handled by riscv_type_alignment. So this patch
fixes the issue by handling TYPE_CODE_RANGE the same way we handle other
integral types.
gdb/ChangeLog:
* riscv-rdep.c (riscv_type_alignment): Handle TYPE_CODE_RANGE.
Tested on riscv64-elf using AdaCore's testsuite.
commit c559d7096b4b1b9c4e8d78cfd67b1892c1836ffb
Author: Joel Brobecker <brobecker@adacore.com>
Date: Thu Feb 14 07:13:26 2019 +0400
(Windows) remove thread notification for main thread of inferior
This is a followup on a recent patch which, among other things
introduced the exit notification of the main thread in order
to be symetrical with the fact that a thread notification was
emitted before signaling its creation.
This patch takes the opposite approach of removing both creation
and exit notifications for that main thread, which is consistent
with what is done on other platforms such as GNU/Linux for instance.
gdb/ChangeLog
* windows-nat.c (windows_add_thread): Add new parameter
"main_thread_p" with default value set to false. Update
function documentation as well as all callers.
(windows_delete_thread): Likewise.
(fake_create_process): Update call to windows_add_thread.
(get_windows_debug_event) <CREATE_THREAD_DEBUG_EVENT>
<CREATE_PROCESS_DEBUG_EVENT>: Likewise.
<EXIT_THREAD_DEBUG_EVENT, EXIT_PROCESS_DEBUG_EVENT>: Update
call to windows_delete_thread.
Tested on x86-windows (MinGW) using AdaCore's testsuite.
commit e6e006612f79f05454e8434ffd0715a1b6b9a6e4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Feb 14 00:00:28 2019 +0000
Automatic date update in version.in
commit 007024cc6ae8cd1a22e328eb4150adaa4baf5731
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Feb 13 16:56:21 2019 -0500
Add Andrew Burgess as global maintainer of gdb/ and sim/
commit 01c7ae818bd6c0b5d797091ec1664bcaed705d40
Author: Weimin Pan <weimin.pan@oracle.com>
Date: Wed Feb 13 00:38:31 2019 +0000
Adding a test case
gdb/testsuite/ChangeLog
2019-02-12 Weimin Pan <weimin.pan@oracle.com>
PR breakpoints/21870
* gdb.arch/aarch64-dbreg-contents.exp: New file.
* gdb.arch/aarch64-dbreg-contents.c: New file.
commit 8918f84c04dd63866663d399c58e638052db2ee7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Feb 13 00:00:39 2019 +0000
Automatic date update in version.in
commit f62318e98d84e79e457920c74515fb73bb013b23
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Feb 12 13:56:16 2019 -0800
Try to use the canonical version of a sysroot for debug file links.
Object file paths passed to find_separate_debug_file are always
canonical paths with symbolic links resolved. If a sysroot path
traverses a symbolic link, it will not match the object file paths.
Generate a canonical version of the sysroot directory. If it is
valid, use it instead of gdb_sysroot with child_path to determine if
an object file is under a system root.
gdb/ChangeLog:
* symfile.c (find_separate_debug_file): Use canonical path of
sysroot with child_path instead of gdb_sysroot if it is valid.
commit cd4b78483c3b0e4bd7737b67ed5074b7c252faa4
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Feb 12 13:56:16 2019 -0800
Use child_path to determine if an object file is under a sysroot.
This fixes the case where the sysroot happens to end in a trailing
'/'. Note that the path returned from child_path always skips over
the directory separator at the start of the base path, so a separator
must always be explicitly added before the base path.
gdb/ChangeLog:
* symfile.c (find_separate_debug_file): Use child_path to
determine if an object file is under a sysroot.
commit efac4bfe0b2bdd21a27c94ca3464046e9c23f0e4
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Feb 12 13:56:16 2019 -0800
Add a new function child_path.
child_path returns a pointer to the first component in a child path
that comes after a parent path. This does not depend on trying to
stat() the paths since they may describe remote paths but instead
relies on filename parsing. The function requires that the child path
describe a filename that contains at least one component below the
parent path and returns a pointer to the first component.
gdb/ChangeLog:
* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
unittests/child-path-selftests.c.
* common/pathstuff.c (child_path): New function.
* common/pathstuff.h (child_path): New prototype.
* unittests/child-path-selftests.c: New file.
commit 402d2bfec425f29c5b54089d5ff98ca9a1b8ec27
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Feb 12 13:56:16 2019 -0800
Look for separate debug files in debug directories under a sysroot.
When an object file is present in a system root, GDB currently looks
for separate debug files under the global debugfile directories. For
example, if the sysroot is set to "/myroot" and hte global debugfile
directory is set to "/usr/lib/debug", GDB will look for a separate
debug file for "/myroot/lib/libc.so.7" in the following paths:
/myroot/lib/libc.so.7.debug
/myroot/lib/.debug/libc.so.7.debug
/usr/lib/debug//myroot/lib/libc.so.7.debug
/usr/lib/debug/lib/libc.so.7.debug
However, some system roots include a full system installation
including a nested global debugfile directory under the sysroot. This
patch adds an additional check to support such systems. In the
example above the additional path searched is:
/myroot/usr/lib/debug/lib/libc.so.7.debug
To try to preserve existing behavior as much as possible, this new
path is searched last for each global debugfile directory.
gdb/ChangeLog:
* symfile.c (find_separate_debug_file): Look for separate debug
files in debug directories under the sysroot.
commit 1ed9f74e85b7ace7debad5ade4775684a1fa99f9
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Thu Jan 10 22:34:23 2019 +0100
Make symtab.c better styled.
Note that print_msymbol_info does not (yet?) print data msymbol
using variable_name_style, as otherwise 'info variables'
would show the non debugging symbols in variable name style,
but 'real' variables would be not styled.
2019-02-12 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* symtab.h (struct minimal_symbol data_p): New const method.
(struct minimal_symbol text_p): Likewise.
* symtab.c (output_source_filename): Use file name style
to print file name.
(print_symbol_info): Likewise.
(print_msymbol_info): Use address style to print addresses.
Use function name style to print executable text symbols.
(expand_symtab_containing_pc): Use data_p.
(find_pc_sect_compunit_symtab): Likewise.
commit 2636d81d80ad34653d05d0d94207d62720bfd6aa
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Thu Jan 10 22:32:19 2019 +0100
Use address style to print addresses in breakpoint information.
gdb/ChangeLog
2019-02-12 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* breakpoint.c (describe_other_breakpoints): Use address style
to print addresses.
(say_where): Likewise.
commit ac8c53cc67724f990003009fd37a3d7dc662fcb3
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Thu Jan 10 22:31:07 2019 +0100
Use function_name_style to print Ada and C function names
Note that ada-typeprint.c print_func_type is called with
types representing functions and is also called to print
a function NAME together with its type. In such a case, the function
name will be printed using function name style.
Similarly, c_print_type_1 is called to print a type, optionally
with the name of an object of this type in the VARSTRING arg.
So, c_print_type_1 uses function name style to print varstring
when the type code indicates that c_print_type_1 TYPE is some
'real code'.
gdb/ChangeLog
2019-02-12 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* ada-typeprint.c (print_func_type): Print function name
style to print function name.
* c-typeprint.c (c_print_type_1): Likewise.
commit e486594504d72a3afa199392a9d95a56ef1d6293
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Feb 12 13:22:42 2019 +0000
Updated French translation for ld/ and gold/ subdirectories
commit e20773049fde7b9a123fda4485259fc06249b22f
Author: tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue Feb 12 13:02:48 2019 +0000
Fix splay tree KEY leak detected in GDB test gdb.base/macscp.exp
When a node is removed from a splay tree, the splay tree was
not using the function splay_tree_delete_key_fn to release the key.
This was causing a leak, fixed by Tom Tromey.
This patch fixes another key leak, that happens when a key equal to
a key already present is inserted. In such a case, we have to release
the old KEY.
Note that this is based on the assumption that the caller always
allocates a new KEY when doing an insert.
Also, clarify the documentation about when the release functions are
called.
2019-02-11 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* splay-tree.h (splay_tree_delete_key_fn): Update comment.
(splay_tree_delete_value_fn): Likewise.
libiberty/ChangeLog
2019-02-11 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* splay-tree.c (splay_tree_insert): Also release old KEY in case
of insertion of a key equal to an already present key.
(splay_tree_new_typed_alloc): Update comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@268793 138bc75d-0d04-0410-961f-82ee72b054a4
commit 04d7fa2132c05b962d85e2047646e15b8a490f4e
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Feb 12 11:05:21 2019 +0000
Update description of how to make a release to include the use of the git clean command.
PR 23440
* README-how-to-make-a-release: Use git clean to delete spurious
files from the local source repository.
commit 43c4685f146a56b721566528f60023d91949c2ac
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Feb 12 00:00:12 2019 +0000
Automatic date update in version.in
commit ea638c43121624bb4b09bb89b88314f99c85a48d
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Feb 11 16:38:29 2019 +0000
AArch64: Detect exit from execve syscall
Checking the syscall number when stopped on entry/exit relies on checking
the value in register X8.
However, on exit from an execve syscall, the registers will all be cleared.
Given this is only checked on syscall entry/exit, then a cleared register
state either means execve exit or syscall 0 (io_setup) entry with invalid
parameters and an invalid FR and LR, which in reality should never happen.
Use this to detect execve exit.
Move function to allow use of aarch64_sys_execve enum, and use newer
regcache functions.
Fixes gdb.base/catch-syscall.exp on Aarch64.
gdb/ChangeLog:
* aarch64-linux-tdep.c (aarch64_linux_get_syscall_number): Check
for execve.
commit 7115ab9c4b727a0c8fc1cdfe814b6e6032bb391d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Feb 11 00:00:19 2019 +0000
Automatic date update in version.in
commit db22231044df03bbcb987496f3f29f0462b2e9ee
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Feb 10 04:34:10 2019 -0800
gas: Pass max_bytes to TC_FRAG_INIT
ommit 3ae729d5a4f63740ed9a778960b17c2912b0bbdd
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Mar 7 04:18:45 2018 -0800
x86: Rewrite NOP generation for fill and alignment
increased MAX_MEM_FOR_RS_ALIGN_CODE to 4095 which resulted in increase
of assembler time and memory usage by 5 times for inputs with many
.p2align directives, which is typical for LTO output. This patch passes
max_bytes to TC_FRAG_INIT so that MAX_MEM_FOR_RS_ALIGN_CODE can be set
as needed and tracked by backend it so that HANDLE_ALIGN can check the
maximum alignment for each rs_align_code frag. Wall time to assemble
the same cc1plus.s:
before:
423.78user 0.89system 7:05.71elapsed 99%CPU
after:
102.35user 0.27system 1:42.89elapsed 99%CPU
PR gas/24165
* frags.c (frag_var_init): Pass max_chars to TC_FRAG_INIT as
max_bytes.
* config/tc-aarch64.h (TC_FRAG_INIT): Add and pass max_bytes to
aarch64_init_frag.
* /config/tc-arm.h (TC_FRAG_INIT): And and pass max_bytes to
arm_init_frag.
* config/tc-avr.h (TC_FRAG_INIT): And and ignore max_bytes.
* config/tc-ia64.h (TC_FRAG_INIT): Likewise.
* config/tc-mmix.h (TC_FRAG_INIT): Likewise.
* config/tc-nds32.h (TC_FRAG_INIT): Likewise.
* config/tc-ns32k.h (TC_FRAG_INIT): Likewise.
* config/tc-rl78.h (TC_FRAG_INIT): Likewise.
* config/tc-rx.h (TC_FRAG_INIT): Likewise.
* config/tc-score.h (TC_FRAG_INIT): Likewise.
* config/tc-tic54x.h (TC_FRAG_INIT): Likewise.
* config/tc-tic6x.h (TC_FRAG_INIT): Likewise.
* config/tc-xtensa.h (TC_FRAG_INIT): Likewise.
* config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Set to
(alignment ? ((1 << alignment) - 1) : 1)
(i386_tc_frag_data): Add max_bytes.
(TC_FRAG_INIT): Add and track max_bytes.
(HANDLE_ALIGN): Replace MAX_MEM_FOR_RS_ALIGN_CODE with
fragP->tc_frag_data.max_bytes.
* doc/internals.texi: Update TC_FRAG_TYPE with max_bytes.
commit ab759ca8db37ffd3e32df5226e0b4ea16a81c849
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Feb 9 15:02:25 2019 +0100
Fix type_stack leaks in c expression parsing.
Valgrind detects a bunch of leaks in several tests, such as:
==22905== 40 (24 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record 531 of 3,268
==22905== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344)
==22905== by 0x5893AD: get_type_stack() (parse.c:1509)
==22905== by 0x3F4EAD: c_yyparse() (c-exp.y:1223)
==22905== by 0x3F71BC: c_parse(parser_state*) (c-exp.y:3308)
==22905== by 0x588CEA: parse_exp_in_context_1(char const**, unsigned long, block const*, int, int, int*) [clone .constprop.89] (parse.c:1205)
==22905== by 0x588FA1: parse_exp_in_context (parse.c:1108)
==22905== by 0x588FA1: parse_exp_1 (parse.c:1099)
==22905== by 0x588FA1: parse_expression(char const*) (parse.c:1247)
...
==22395== 456 (168 direct, 288 indirect) bytes in 7 blocks are definitely lost in loss record 2,658 of 2,978
==22395== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344)
==22395== by 0x5893AD: get_type_stack() (parse.c:1509)
==22395== by 0x3F4ECF: c_yyparse() (c-exp.y:1230)
==22395== by 0x3F71BC: c_parse(parser_state*) (c-exp.y:3308)
==22395== by 0x588CEA: parse_exp_in_context_1(char const**, unsigned long, block const*, int, int, int*) [clone .constprop.89] (parse.c:1205)
==22395== by 0x588FA1: parse_exp_in_context (parse.c:1108)
==22395== by 0x588FA1: parse_exp_1 (parse.c:1099)
==22395== by 0x588FA1: parse_expression(char const*) (parse.c:1247)
==22395== by 0x67BB9D: whatis_exp(char const*, int) (typeprint.c:515)
...
==22395== VALGRIND_GDB_ERROR_BEGIN
==22395== 144 (24 direct, 120 indirect) bytes in 1 blocks are definitely lost in loss record 1,016 of 2,978
==22395== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344)
==22395== by 0x5893AD: get_type_stack() (parse.c:1509)
==22395== by 0x3F4E8A: c_yyparse() (c-exp.y:1217)
==22395== by 0x3F71BC: c_parse(parser_state*) (c-exp.y:3308)
==22395== by 0x588CEA: parse_exp_in_context_1(char const**, unsigned long, block const*, int, int, int*) [clone .constprop.89] (parse.c:1205)
==22395== by 0x588FA1: parse_exp_in_context (parse.c:1108)
==22395== by 0x588FA1: parse_exp_1 (parse.c:1099)
==22395== by 0x588FA1: parse_expression(char const*) (parse.c:1247)
==22395== by 0x67BB9D: whatis_exp(char const*, int) (typeprint.c:515)
...
Fix these by storing the allocated type_stack in the cpstate->type_stacks
vector.
Tested on debian/amd64, natively and under valgrind.
gdb/ChangeLog
2019-02-10 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* c-exp.y (direct_abs_decl): Use emplace_back to record the
type_stack.
commit aff29d1c738c0327e7b40ba9f6885279b75e3eca
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sun Feb 10 03:14:53 2019 -0500
(Ada) -var-update crash for variable whose type is a reference to changeable
Consider the following variable, which is a string whose value
is not known at compile time, because it is the return value
from a function call (Get_Name):
A : String := Get_Name;
If one tries to create a varobj for that variable, everything works
as expected:
| (gdb) -var-create a * a
| ^done,name="a",numchild="19",value="[19] \"Some kind of string\"",type="<ref> array (1 .. 19) of character",thread-id="1",has_more="0"
However, try then to request an update, regardless of whether the string
has changed or not, and we get a crash:
| -var-update a
| ~"/[...]/gdb/varobj.c:1379: internal-error: bool install_new_value(varobj*, value*, bool): Assertion `!value_lazy (var->value.get ())' failed.\nA problem internal to GDB has been detected,\nfurther debugging may prove unreliable.\nQuit this debugging session? (y or n) "
When the varobj gets created (-var-create), the expression is evaluated
and transformed into a value. The debugging information describes our
variables as a reference to an array of characters, so our value has
the corresponding type. We then call varobj.c::install_new_value
to store that value inside our varobj, and we see that this function
pretty starts by determining weither our varobj is changeable, via:
| changeable = varobj_value_is_changeable_p (var);
(where 'var' is the varobj we are building, and where the function
varobj_value_is_changeable_p simply dispatches to the Ada version
of this routine: ada_value_is_changeable_p).
At this point, the varobj doesn't have a value, yet, but it does
have a type which was provided by varobj_create a little bit before
install_new_value was called. So ada_value_is_changeable_p uses that
to determine whether or not our type is changeable.
Since our type is a reference to an array, and that the value of
such objects is displayed as if there weren't a reference, it means
that our object is changeable -- in other words, if an element of
the string changes, then the "value" field of the varobj will change
accordingly. But unfortunately, ada_value_is_changeable_p mistakenly
returns false, because it is missing the handling of reference types.
As a consequence of this, install_new_value doesn't feel it is
necessary to fetch the value's contents, as explained by the following
comment inside that function:
/* The new value might be lazy. If the type is changeable,
that is we'll be comparing values of this type, fetch the
value now. Otherwise, on the next update the old value
will be lazy, which means we've lost that old value. */
This means that a lazy value gets installed inside our varobj
as a result of the mistake in ada_value_is_changeable_p.
Another important detail is that, after determining whether
our varobj is changeable or not, it then purposefully removes
the reference layer from our value:
/* We are not interested in the address of references, and given
that in C++ a reference is not rebindable, it cannot
meaningfully change. So, get hold of the real value. */
if (value)
value = coerce_ref (value);
The consequence of those two facts on shows up only later, when
the user requests an update (-var-update). When doing so, GDB
evaluates the expression again into a value which is once more
a reference to a string, and then calls install_new_value again
to install the new value and report any changes. This time around,
the call to...
| changeable = varobj_value_is_changeable_p (var);
... now gets a varobj which has a value, and one which had the reference
layer removed! So, this time, we classify the varobj correctly, and
say it is changeable. And because it is changeable, we then go into
the section of code in install_new_value which checks for changes,
where we need the varobj's value to not be lazy, as explained by
the comment we quoted above. That's what the assertion was about.
This patch fixes the issues by teaching ada_value_is_changeable_p
to ignore reference layers when evaluating a given varobj's type.
gdb/ChangeLog:
* ada-varobj.c (ada_value_is_changeable_p): Add handling of
TYPE_CODE_REF types.
gdb/testsuite/ChangeLog:
* gdb.ada/mi_ref_changeable: New testcase.
Prior to this patch, this testcase reports 2 unresolved tests
(due to GDB hitting the internal error). With this patch, all
tests in this testcase pass.
Tested on x86_64-linux, no regression.
commit 10a54ace4aad32c78e1be99201d0a9c6efc63450
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Feb 10 00:01:02 2019 +0000
Automatic date update in version.in
commit a0e90a73f0dc7e44c980ef5ea512eb7a3bd0cabc
Author: Claudiu Zissulescu <claziss@gmail.com>
Date: Sat Feb 9 11:07:42 2019 +0100
[ARC] don't force _init/_fini as DT_INIT/DT_FINI.
Recent gcc commit b4371b277f1e ("[ARC] Enable init_array support")
inhibits DT_"INIT,FINI} in favor of DT_{INIT,FINI}ARRAY.
Even prior to that, it seems ARC port is the only one with this
special DT_INIT/FINI handling in linker emulation. Removing it
doesn't seem to change any uClibc/glibc testsuite results,
so this can RIP anyways.
bfd/
2019-02-01 Vineet Gupta <vgupta@synopsys.com>
* elf32-arc.c: Delete init_str, fini_str
ld/
2019-02-01 Vineet Gupta <vgupta@synopsys.com>
* emultempl/arclinux.em : Delete special INIT/FINI handling.
commit d1ea488747b9ca046c5b68ece2de757e1f357e3a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Feb 9 00:00:18 2019 +0000
Automatic date update in version.in
commit 617126bc8ae3c83b565aef1a454742c8a7237c14
Author: Jim Wilson <jimw@sifive.com>
Date: Mon Feb 4 17:31:10 2019 -0800
RISC-V: Add FP register core file support.
This adds fp reg support similar to the existing general reg support.
This fixes one gdb testsuite failure
FAIL: gdb.base/gcore.exp: corefile restored system registers
which fails without the patch because fcsr was missing. Otherwise, no
regressions with riscv64-linux native testsuite run.
gdb/
* riscv-linux-tdep.c (riscv_linux_fregmap): New.
(riscv_linux_fregset): New.
(riscv_linux_iterate_over_regset_sections): Call cb for .reg2 section.
commit 21820ebe588d89fa874cbd87c117eb9d551d870f
Author: Jim Wilson <jimw@sifive.com>
Date: Fri Feb 8 13:21:52 2019 -0800
Add missing ChangeLog files for previous patch.
commit ca0bc1509849a3871e99fdf48705b93f18d5fa7b
Author: Jim Wilson <jimw@sifive.com>
Date: Fri Feb 8 12:57:12 2019 -0800
RISC-V: Compress 3-operand beq/bne against x0.
This lets us accept an instruction like
beq a2,x0,.Label
and generate a compressed beqz. This will allow some future simplications
to the gcc support, e.g. eliminating some duplicate patterns, and avoiding
adding new duplicate patterns, since currently we have to handle signed
and equality compares against zero specially.
Tested with rv{32,64}-{elf,linux} cross builds and make checks for binutils
and gcc. There were no regressions.
gas/
* config/tc-riscv.c (validate_riscv_insn) <'C'>: Add 'z' support.
(riscv_ip) <'C'>: Add 'z' support.
opcodes/
* riscv-opc.c (riscv_opcodes) <beq>: Use Cz to compress 3 operand form.
<bne>: Likewise.
commit 46cbf38dc3a7c6d0e339f95d56590711b06427a1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 24 14:27:27 2019 +0000
binutils: Add new GNU format mode to `size` utility
The size tool currently defaults to berkeley format output. However,
this output format has a weird quirk, read-only data is counted
against the text sections, not the data sections.
The code offers no real explanation for why this is, but I'm reluctant
to change it for two reasons, first, I'm assuming it probably makes
sense in some case that I'm not thinking of (maybe a target where
sections are not marked executable, and so there's no distinction
between read-only data and code), and second, the code has been this
way for at least 20 years, I worry that changing things now might
cause more confusion than it solves.
This commit then introduces a new output format for the size tool,
this new format displays the results in a similar manor to the
berkeley format, but counts read-only data in the data column, and
only executable sections are counted in the text column.
Given that this is a brand new output format I've gone ahead and
simplified things a little, while the berkeley format displays the
total twice, once in decimal and once in hex, the new display format
just displays the total in decimal. Of course, there's still the
'--radix' option which can be used to display all the results in
hexadecimal or octal.
I've called the new format 'gnu', so '--format=gnu' or '-G' are used
to access it.
binutils/ChangeLog:
* size.c (berkeley_format): Delete.
(enum output_format): New enum.
(selected_output_format): New variable.
(usage): Update to mention GNU format.
(main): Update to extract options, and select format as needed.
Handle GNU format where needed.
(berkeley_sum): Renamed to...
(berkeley_or_gnu_sum): ...this, and updated to handle both formats.
(berkeley_format): Renamed to...
(berkeley_or_gnu_format): ...this, and updated to handle both
formats.
(print_sizes): Handle GNU format.
* doc/binutils.texi (size): Document new GNU format.
* testsuite/binutils-all/size.exp: Add test of extended
functionality.
* NEWS: Mention new functionality.
commit 482f3505d1b62cbcf46ffed54807fad0d91c8f09
Author: Alan Modra <amodra@gmail.com>
Date: Fri Feb 8 11:51:34 2019 +1030
Make inline plt reloc "unsupported for bss-plt" an error
This was always supposed to be an error. Code emitted by gcc for
inline PLT calls assumes PLT is an array of addresses.
* elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
for bss-plt" warning to make it an error.
commit 96fd92af299a3c664cb341451f4bfde056910328
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 31 10:14:09 2019 +0000
binutils/size: Update example output in documentation
The example output from size in Berkeley format is out of date. The
columns are now displayed right aligned. This patch updates the
documentation to reflect reality.
binutils/ChangeLog:
* doc/binutils.texi (size): Update example output for Berkeley
format output.
commit 2c6c61c3c9f1345e5de99768c2ce823121097b62
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Feb 8 00:00:37 2019 +0000
Automatic date update in version.in
commit f7dd2fb2e2b750f0fb9dedaf885c17bc6beef1f7
Author: Tamar Christina <tamar.christina@arm.com>
Date: Thu Feb 7 17:12:23 2019 +0000
Arm: Backport hlt to all architectures.
The software trap instruction HLT that was introduced in Armv8-a is used
as the semihosting trap instruction in AArch64. In order to allow systems
configured to run AArch64 code to also run AArch32 with semihosting it was
decided that AArch32 should also use HLT in the case of the "mixed mode"
environment. This requires that HLT also be backported to all earlier
architectures. The instruction is in the undefined encoding space earlier
architectures but must trigger a semihosting trap [3].
The Arm Architectural Reference Manual [1] doesn't explicitly mention this
however this is an explicit requirement in the Semihosting-v2 protocol [2].
[1] https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile
[2] https://developer.arm.com/docs/100863/latest/the-semihosting-interface
[3] https://github.com/qemu/qemu/commit/19a6e31c9d2701ef648b70ddcfc3bf64cec8c37e
gas/ChangeLog:
* config/tc-arm.c (insns): Redefine THUMB_VARIANT and ARM_VARIANT for
hlt to armv1.
* testsuite/gas/arm/armv8a-automatic-hlt.d: Update TAGs
* testsuite/gas/arm/hlt.d: New test.
* testsuite/gas/arm/hlt.s: New test.
opcodes/ChangeLog:
* arm-dis.c (arm_opcodes): Redefine hlt to armv1.
commit bd756351a6d3dcff9915c88c26dc0a5811907f90
Author: Tamar Christina <tamar.christina@arm.com>
Date: Thu Feb 7 16:58:29 2019 +0000
AArch64: Add negative tests for Armv8.3-a complex number instructions instructions.
This patch just adds a few negative tests for the Armv8.3-a complex instructions.
These already do the right disassembly without needing a verifier, but adding
some tests to make sure that stays that way.
gas/ChangeLog:
* testsuite/gas/aarch64/undefined_advsimd_armv8_3.d: New test.
* testsuite/gas/aarch64/undefined_advsimd_armv8_3.s: New test.
commit 6456d318aaa7ea35511dad1f2facf0fb984972e5
Author: Tamar Christina <tamar.christina@arm.com>
Date: Thu Feb 7 16:55:23 2019 +0000
AArch64: Add verifier for By elem Single and Double sized instructions.
The AArch64 instruction set has cut-outs inside instructions encodings for
when a given encoding that would normally fall within the encoding space of
an instruction is instead undefined.
This updates the first few instructions FMLA, FMLA, FMUL and FMULX in the case
where sz:L == 11.
gas/ChangeLog:
PR binutils/23212
* testsuite/gas/aarch64/undefined_by_elem_sz_l.s: New test.
* testsuite/gas/aarch64/undefined_by_elem_sz_l.d: New test.
opcodes/ChangeLog:
PR binutils/23212
* aarch64-opc.h (enum aarch64_field_kind): Add FLD_sz.
* aarch64-opc.c (verify_elem_sd): New.
(fields): Add FLD_sz entr.
* aarch64-tbl.h (_SIMD_INSN): New.
(aarch64_opcode_table): Add elem_sd verifier to fmla, fmls, fmul and
fmulx scalar and vector by element isns.
commit b2abe1bd8149dd9ad64432f620c3a034bf23a5fe
Author: Eric Botcazou <ebotcazou@gcc.gnu.org>
Date: Thu Feb 7 17:04:31 2019 +0100
SPARC: fix PR ld/18841
This fixes the last ld failures on SPARC64/Linux:
FAIL: Run pr18841 with libpr18841b.so
FAIL: Run pr18841 with libpr18841c.so
FAIL: Run pr18841 with libpr18841bn.so (-z now)
FAIL: Run pr18841 with libpr18841cn.so (-z now)
by mimicing what has been done on x86-64 and Aarch64 to fix the PR.
bfd/
PR ld/18841
* elf32-sparc.c (elf32_sparc_reloc_type_class): Return
reloc_class_ifunc for ifunc symbols.
* elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
commit 68a091326f6ac25005c49c4cbda1855080ba1d5f
Author: Eric Botcazou <ebotcazou@gcc.gnu.org>
Date: Thu Feb 7 17:02:24 2019 +0100
Visium: fix bogus overflow check on 32-bit hosts
bfd/
* elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
<R_VISIUM_PC16>: Use explicit range test to detect an overflow.
commit 0e7e9601bed5600881225e22fd4306f11907858b
Author: Eric Botcazou <ebotcazou@gcc.gnu.org>
Date: Thu Feb 7 16:58:47 2019 +0100
Visium: align branch absolute instruction for the GR6
This is done in order to avoid a pipeline hazard on the GR6.
gas/
* config/tc-visium.c (md_assemble) <mode_cad>: Align instruction
on 64-bit boundaries for the GR6.
* testsuite/gas/visium/allinsn_gr6.s: Tweak.
* testsuite/gas/visium/allinsn_gr6.d: Likewise.
* testsuite/gas/visium/bra-1.d: New test.
* testsuite/gas/visium/bra-1.s: Likewise.
* testsuite/gas/visium/visium.exp: Run bra-1 test.
commit 5d3db3e2970f543259103290d6890c0f1f289e13
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Feb 7 14:54:58 2019 +0000
Fix typo in description of --start-group/--end-group options.
PR 24175
* ld.texi (Options): Add missing word to the description of the
--start-group option.
commit 4a83b61091168f7df0f58009dda67b9e36f8a5f7
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Feb 7 14:49:38 2019 +0000
Updated Swedish translation for the opcodes sub-directory
commit df0da8a2b80315485330c03c18b704b8d7b3e9c2
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Feb 7 14:36:34 2019 +0000
gdbserver: When attaching, add process before lwps
The recent BP/WP changes for AArch64 swapping the order in add_lwp()
so that the process was added before the lwp. This was due to the lwp
creation requiring the process data.
This also needs changing in linux_attach().
Also add additional checks to make sure cannot attach to the same
process twice. Add test case for this - do this by splitting
attach.exp into distinct pass and error case sections.
Fixes gdb.server/ext-attach.exp on Aarch64.
gdb/gdbserver/ChangeLog:
* linux-low.c (linux_attach): Add process before lwp.
* server.c (attach_inferior): Check if already attached.
gdb/testsuite/ChangeLog:
* gdb.base/attach.exp: Add double attach test.
commit 2012bf013b2ce507b181c0d9049ad946b2a59d8a
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Feb 7 14:30:02 2019 +0000
Move potentially obsolete BFD targets into the definitely obsolete section. Add a note to the README-how-to-make-a-release document about doing this.
bfd * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
into the definitely obsolete list.
binutils * README-how-to-make-a-release: Add a note about updating the
obsolete targets in the bfd/config.bfd file.
commit bd447abb2442f74c2b4886f6cdacd16fce3c9d65
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Thu Feb 7 09:22:29 2019 -0500
Make gdb.base/corefile.exp work on terminals with few rows
When creating a pty to spawn a subprocess (such as gdb), Expect
copies the settings of its own controlling terminal, including the
number of rows and columns. If you "make check" on a terminal with just
a few rows (e.g. 4), GDB will paginate before reaching the initial
prompt. In default_gdb_start, used by most tests, this is already
handled: if we see the pagination prompt, we sent \n to continue.
Philippe reported that gdb.base/corefile.exp didn't work in terminals
with just a few rows. This test spawns GDB by hand, because it needs to
check things before the initial prompt, which it couldn't do if it used
default_gdb_start.
In this case I think it's not safe to use the same technique as in
default_gdb_start. Even if we could send a \n if we see a pagination
prompt, we match some multiline regexes in there. So if a pagination
slips in there, it might make the regexes not match and fail the test.
It's also not possible to use -ex "set height 0" or -iex "set height 0",
it is handled after the introduction text is shown.
The simplest way I found to avoid showing the pagination completely is
to set stty_init (documented in expect's man page) to initialize gdb's
pty with a fixed number of rows.
And actually, if we set stty_init in gdb_init, it works nicely as a
general solution applicable to all tests. We can therefore remove the
solution introduced in e882ef3cfc3 ("testsuite: expect possible
pagination when starting gdb") where we matched the pagination prompt
during startup.
gdb/testsuite/ChangeLog:
* lib/gdb.exp (default_gdb_start): Don't match pagination
prompt.
(gdb_init): Set stty_init.
commit 46e3ed7ff94dc2d65f3d937d483c459b4cee6a0a
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 2 14:35:57 2019 -0700
C++-ify struct thread_fsm
This C++-ifies struct thread_fsm, replacing the "ops" structure with
virtual methods, and changing all the implementations to derive from
thread_fsm.
gdb/ChangeLog
2019-02-07 Tom Tromey <tom@tromey.com>
* thread.c (thread_cancel_execution_command): Update.
* thread-fsm.h (struct thread_fsm): Add constructor, destructor,
methods.
(struct thread_fsm_ops): Remove.
(thread_fsm_ctor, thread_fsm_delete, thread_fsm_clean_up)
(thread_fsm_should_stop, thread_fsm_return_value)
(thread_fsm_set_finished, thread_fsm_finished_p)
(thread_fsm_async_reply_reason, thread_fsm_should_notify_stop):
Don't declare.
* mi/mi-interp.c (mi_on_normal_stop_1): Update.
* infrun.c (clear_proceed_status_thread)
(clean_up_just_stopped_threads_fsms, fetch_inferior_event)
(print_stop_event): Update.
* infcmd.c (struct step_command_fsm): Inherit from thread_fsm.
Add constructor.
(step_command_fsm_ops): Remove.
(new_step_command_fsm): Remove.
(step_1): Update.
(step_command_fsm::should_stop): Rename from
step_command_fsm_should_stop.
(step_command_fsm::clean_up): Rename from
step_command_fsm_clean_up.
(step_command_fsm::do_async_reply_reason): Rename from
step_command_fsm_async_reply_reason.
(struct until_next_fsm): Inherit from thread_fsm. Add
constructor.
(until_next_fsm_ops): Remove.
(new_until_next_fsm): Remove.
(until_next_fsm::should_stop): Rename from
until_next_fsm_should_stop.
(until_next_fsm::clean_up): Rename from until_next_fsm_clean_up.
(until_next_fsm::do_async_reply_reason): Rename from
until_next_fsm_async_reply_reason.
(struct finish_command_fsm): Inherit from thread_fsm. Add
constructor. Change type of breakpoint.
(finish_command_fsm_ops): Remove.
(new_finish_command_fsm): Remove.
(finish_command_fsm::should_stop): Rename from
finish_command_fsm_should_stop.
(finish_command_fsm::clean_up): Rename from
finish_command_fsm_clean_up.
(finish_command_fsm::return_value): Rename from
finish_command_fsm_return_value.
(finish_command_fsm::do_async_reply_reason): Rename from
finish_command_fsm_async_reply_reason.
(finish_command): Update.
* infcall.c (struct call_thread_fsm): Inherit from thread_fsm.
Add constructor.
(call_thread_fsm_ops): Remove.
(call_thread_fsm::call_thread_fsm): Rename from
new_call_thread_fsm.
(call_thread_fsm::should_stop): Rename from
call_thread_fsm_should_stop.
(call_thread_fsm::should_notify_stop): Rename from
call_thread_fsm_should_notify_stop.
(run_inferior_call, call_function_by_hand_dummy): Update.
* cli/cli-interp.c (should_print_stop_to_console): Update.
* breakpoint.c (struct until_break_fsm): Inherit from thread_fsm.
Add constructor. Change type of location_breakpoint,
caller_breakpoint.
(until_break_fsm_ops): Remove.
(new_until_break_fsm): Remove.
(until_break_fsm::should_stop): Rename from
until_break_fsm_should_stop.
(until_break_fsm::clean_up): Rename from
until_break_fsm_clean_up.
(until_break_fsm::do_async_reply_reason): Rename from
until_break_fsm_async_reply_reason.
(until_break_command): Update.
* thread-fsm.c: Remove.
* Makefile.in (COMMON_SFILES): Remove thread-fsm.c.
commit 1a5c25988eabb35e0e40ea484b1eea029d9b7f53
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jan 27 12:51:36 2019 -0700
Normalize include guards in gdb
While working on my other scripts to deal with gdb headers, I noticed
that some files were missing include guards. I wrote a script to add
the missing ones, but found that using the obvious names for the
guards ran into clashes -- for example, gdb/nat/linux-nat.h used
"LINUX_NAT_H", but this was also the script's choice for
gdb/linux-nat.h.
So, I changed the script to normalize all include guards in gdb. This
patch is the result.
As usual the script is available here:
https://github.com/tromey/gdb-refactoring-scripts
Tested by rebuilding; I also ran it through "Fedora-x86_64-m64" on the
buildbot.
gdb/ChangeLog
2019-02-07 Tom Tromey <tom@tromey.com>
* yy-remap.h: Add include guard.
* xtensa-tdep.h: Add include guard.
* xcoffread.h: Rename include guard.
* varobj-iter.h: Add include guard.
* tui/tui.h: Rename include guard.
* tui/tui-winsource.h: Rename include guard.
* tui/tui-wingeneral.h: Rename include guard.
* tui/tui-windata.h: Rename include guard.
* tui/tui-win.h: Rename include guard.
* tui/tui-stack.h: Rename include guard.
* tui/tui-source.h: Rename include guard.
* tui/tui-regs.h: Rename include guard.
* tui/tui-out.h: Rename include guard.
* tui/tui-layout.h: Rename include guard.
* tui/tui-io.h: Rename include guard.
* tui/tui-hooks.h: Rename include guard.
* tui/tui-file.h: Rename include guard.
* tui/tui-disasm.h: Rename include guard.
* tui/tui-data.h: Rename include guard.
* tui/tui-command.h: Rename include guard.
* tic6x-tdep.h: Add include guard.
* target/waitstatus.h: Rename include guard.
* target/wait.h: Rename include guard.
* target/target.h: Rename include guard.
* target/resume.h: Rename include guard.
* target-float.h: Rename include guard.
* stabsread.h: Add include guard.
* rs6000-tdep.h: Add include guard.
* riscv-fbsd-tdep.h: Add include guard.
* regformats/regdef.h: Rename include guard.
* record.h: Rename include guard.
* python/python.h: Rename include guard.
* python/python-internal.h: Rename include guard.
* python/py-stopevent.h: Rename include guard.
* python/py-ref.h: Rename include guard.
* python/py-record.h: Rename include guard.
* python/py-record-full.h: Rename include guard.
* python/py-record-btrace.h: Rename include guard.
* python/py-instruction.h: Rename include guard.
* python/py-events.h: Rename include guard.
* python/py-event.h: Rename include guard.
* procfs.h: Add include guard.
* proc-utils.h: Add include guard.
* p-lang.h: Add include guard.
* or1k-tdep.h: Rename include guard.
* observable.h: Rename include guard.
* nto-tdep.h: Rename include guard.
* nat/x86-linux.h: Rename include guard.
* nat/x86-linux-dregs.h: Rename include guard.
* nat/x86-gcc-cpuid.h: Add include guard.
* nat/x86-dregs.h: Rename include guard.
* nat/x86-cpuid.h: Rename include guard.
* nat/ppc-linux.h: Rename include guard.
* nat/mips-linux-watch.h: Rename include guard.
* nat/linux-waitpid.h: Rename include guard.
* nat/linux-ptrace.h: Rename include guard.
* nat/linux-procfs.h: Rename include guard.
* nat/linux-osdata.h: Rename include guard.
* nat/linux-nat.h: Rename include guard.
* nat/linux-namespaces.h: Rename include guard.
* nat/linux-btrace.h: Rename include guard.
* nat/glibc_thread_db.h: Rename include guard.
* nat/gdb_thread_db.h: Rename include guard.
* nat/gdb_ptrace.h: Rename include guard.
* nat/fork-inferior.h: Rename include guard.
* nat/amd64-linux-siginfo.h: Rename include guard.
* nat/aarch64-sve-linux-sigcontext.h: Rename include guard.
* nat/aarch64-sve-linux-ptrace.h: Rename include guard.
* nat/aarch64-linux.h: Rename include guard.
* nat/aarch64-linux-hw-point.h: Rename include guard.
* mn10300-tdep.h: Add include guard.
* mips-linux-tdep.h: Add include guard.
* mi/mi-parse.h: Rename include guard.
* mi/mi-out.h: Rename include guard.
* mi/mi-main.h: Rename include guard.
* mi/mi-interp.h: Rename include guard.
* mi/mi-getopt.h: Rename include guard.
* mi/mi-console.h: Rename include guard.
* mi/mi-common.h: Rename include guard.
* mi/mi-cmds.h: Rename include guard.
* mi/mi-cmd-break.h: Rename include guard.
* m2-lang.h: Add include guard.
* location.h: Rename include guard.
* linux-record.h: Rename include guard.
* linux-nat.h: Add include guard.
* linux-fork.h: Add include guard.
* i386-darwin-tdep.h: Rename include guard.
* hppa-linux-offsets.h: Add include guard.
* guile/guile.h: Rename include guard.
* guile/guile-internal.h: Rename include guard.
* gnu-nat.h: Rename include guard.
* gdb-stabs.h: Rename include guard.
* frv-tdep.h: Add include guard.
* f-lang.h: Add include guard.
* event-loop.h: Add include guard.
* darwin-nat.h: Rename include guard.
* cp-abi.h: Rename include guard.
* config/sparc/nm-sol2.h: Rename include guard.
* config/nm-nto.h: Rename include guard.
* config/nm-linux.h: Add include guard.
* config/i386/nm-i386gnu.h: Rename include guard.
* config/djgpp/nl_types.h: Rename include guard.
* config/djgpp/langinfo.h: Rename include guard.
* compile/gcc-cp-plugin.h: Add include guard.
* compile/gcc-c-plugin.h: Add include guard.
* compile/compile.h: Rename include guard.
* compile/compile-object-run.h: Rename include guard.
* compile/compile-object-load.h: Rename include guard.
* compile/compile-internal.h: Rename include guard.
* compile/compile-cplus.h: Rename include guard.
* compile/compile-c.h: Rename include guard.
* common/xml-utils.h: Rename include guard.
* common/x86-xstate.h: Rename include guard.
* common/version.h: Rename include guard.
* common/vec.h: Rename include guard.
* common/tdesc.h: Rename include guard.
* common/selftest.h: Rename include guard.
* common/scoped_restore.h: Rename include guard.
* common/scoped_mmap.h: Rename include guard.
* common/scoped_fd.h: Rename include guard.
* common/safe-iterator.h: Rename include guard.
* common/run-time-clock.h: Rename include guard.
* common/refcounted-object.h: Rename include guard.
* common/queue.h: Rename include guard.
* common/ptid.h: Rename include guard.
* common/print-utils.h: Rename include guard.
* common/preprocessor.h: Rename include guard.
* common/pathstuff.h: Rename include guard.
* common/observable.h: Rename include guard.
* common/netstuff.h: Rename include guard.
* common/job-control.h: Rename include guard.
* common/host-defs.h: Rename include guard.
* common/gdb_wait.h: Rename include guard.
* common/gdb_vecs.h: Rename include guard.
* common/gdb_unlinker.h: Rename include guard.
* common/gdb_unique_ptr.h: Rename include guard.
* common/gdb_tilde_expand.h: Rename include guard.
* common/gdb_sys_time.h: Rename include guard.
* common/gdb_string_view.h: Rename include guard.
* common/gdb_splay_tree.h: Rename include guard.
* common/gdb_setjmp.h: Rename include guard.
* common/gdb_ref_ptr.h: Rename include guard.
* common/gdb_optional.h: Rename include guard.
* common/gdb_locale.h: Rename include guard.
* common/gdb_assert.h: Rename include guard.
* common/filtered-iterator.h: Rename include guard.
* common/filestuff.h: Rename include guard.
* common/fileio.h: Rename include guard.
* common/environ.h: Rename include guard.
* common/common-utils.h: Rename include guard.
* common/common-types.h: Rename include guard.
* common/common-regcache.h: Rename include guard.
* common/common-inferior.h: Rename include guard.
* common/common-gdbthread.h: Rename include guard.
* common/common-exceptions.h: Rename include guard.
* common/common-defs.h: Rename include guard.
* common/common-debug.h: Rename include guard.
* common/cleanups.h: Rename include guard.
* common/buffer.h: Rename include guard.
* common/btrace-common.h: Rename include guard.
* common/break-common.h: Rename include guard.
* cli/cli-utils.h: Rename include guard.
* cli/cli-style.h: Rename include guard.
* cli/cli-setshow.h: Rename include guard.
* cli/cli-script.h: Rename include guard.
* cli/cli-interp.h: Rename include guard.
* cli/cli-decode.h: Rename include guard.
* cli/cli-cmds.h: Rename include guard.
* charset-list.h: Add include guard.
* buildsym-legacy.h: Rename include guard.
* bfin-tdep.h: Add include guard.
* ax.h: Rename include guard.
* arm-linux-tdep.h: Add include guard.
* arm-fbsd-tdep.h: Add include guard.
* arch/xtensa.h: Rename include guard.
* arch/tic6x.h: Add include guard.
* arch/i386.h: Add include guard.
* arch/arm.h: Rename include guard.
* arch/arm-linux.h: Rename include guard.
* arch/arm-get-next-pcs.h: Rename include guard.
* arch/amd64.h: Add include guard.
* arch/aarch64-insn.h: Rename include guard.
* arch-utils.h: Rename include guard.
* annotate.h: Add include guard.
* amd64-darwin-tdep.h: Rename include guard.
* aarch64-linux-tdep.h: Add include guard.
* aarch64-fbsd-tdep.h: Add include guard.
* aarch32-linux-nat.h: Add include guard.
gdb/gdbserver/ChangeLog
2019-02-07 Tom Tromey <tom@tromey.com>
* x86-tdesc.h: Rename include guard.
* x86-low.h: Add include guard.
* wincecompat.h: Rename include guard.
* win32-low.h: Add include guard.
* utils.h: Rename include guard.
* tracepoint.h: Rename include guard.
* tdesc.h: Rename include guard.
* target.h: Rename include guard.
* server.h: Rename include guard.
* remote-utils.h: Rename include guard.
* regcache.h: Rename include guard.
* nto-low.h: Rename include guard.
* notif.h: Add include guard.
* mem-break.h: Rename include guard.
* lynx-low.h: Add include guard.
* linux-x86-tdesc.h: Add include guard.
* linux-s390-tdesc.h: Add include guard.
* linux-ppc-tdesc-init.h: Add include guard.
* linux-low.h: Add include guard.
* linux-aarch64-tdesc.h: Add include guard.
* linux-aarch32-low.h: Add include guard.
* inferiors.h: Rename include guard.
* i387-fp.h: Rename include guard.
* hostio.h: Rename include guard.
* gdbthread.h: Rename include guard.
* gdb_proc_service.h: Rename include guard.
* event-loop.h: Rename include guard.
* dll.h: Rename include guard.
* debug.h: Rename include guard.
* ax.h: Rename include guard.
commit 31528deca52123a5a6dee19d47bee94dff041325
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Feb 7 00:00:52 2019 +0000
Automatic date update in version.in
commit ab9268d2f88414f202651eb5ffbd61c7927fb0c3
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Jan 26 12:32:45 2019 +0100
Factorize macro definition code in macrotab.c
When first fixing splay tree key leaks in macrotab.c, some duplicated code
logic was factorized.
The key leaks will be fixed in libiberty, but the code factorization
is better kept in any case.
gdb/ChangeLog
2019-02-06 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* macrotab.c (macro_define_internal): New function that
factorizes macro_define_object_internal and macro_define_function
code.
(macro_define_object_internal): Use macro_define_internal.
(macro_define_function): Likewise.
commit bb0da2b49689f49f01be2f8c5429945f37e12404
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Jan 26 12:29:00 2019 +0100
Fix leak of identifier in macro definition.
Valgrind detects leaks like the following (gdb.base/macscp.exp).
This patch fixes 1 of the 3 leaks (the last one in the list below).
The remaining leaks are better fixed in splay_tree_remove and
splay_tree_insert in libiberty.
Tested on debian/amd64, natively and under valgrind.
==22285== 64 (48 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record 737 of 3,377
==22285== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==22285== by 0x4049E7: xmalloc (common-utils.c:44)
==22285== by 0x533A20: new_macro_key(macro_table*, char const*, macro_source_file*, int) (macrotab.c:355)
==22285== by 0x53438B: macro_define_function(macro_source_file*, int, char const*, int, char const**, char const*) (macrotab.c:822)
==22285== by 0x52F945: macro_define_command(char const*, int) (macrocmd.c:409)
...
==22285== 128 (96 direct, 32 indirect) bytes in 2 blocks are definitely lost in loss record 1,083 of 3,377
==22285== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==22285== by 0x4049E7: xmalloc (common-utils.c:44)
==22285== by 0x533A20: new_macro_key(macro_table*, char const*, macro_source_file*, int) (macrotab.c:355)
==22285== by 0x534277: macro_define_object_internal(macro_source_file*, int, char const*, char const*, macro_special_kind) (macrotab.c:776)
==22285== by 0x52F7E0: macro_define_command(char const*, int) (macrocmd.c:414)
...
==22285== 177 bytes in 19 blocks are definitely lost in loss record 1,193 of 3,377
==22285== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==22285== by 0x4049E7: xmalloc (common-utils.c:44)
==22285== by 0x52F5BD: extract_identifier(char const**, int) (macrocmd.c:316)
==22285== by 0x52F77D: macro_define_command(char const*, int) (macrocmd.c:355)
gdb/ChangeLog
2019-02-06 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* macrocmd.c (extract_identifier): Return
a gdb::unique_xmalloc_ptr<char> instead of a char *, and update
callers.
commit 424eb552c27a1574974d9052dff4ff252a7db22d
Author: John Baldwin <jhb@FreeBSD.org>
Date: Wed Feb 6 09:45:50 2019 -0800
Fix 'info proc cmdline' for native FreeBSD processes.
The kern.proc.args.<pid> sysctl returns the argv array as a packed
array of arguments, each null terminated. To construct a complete
command line, the arguments must be joined with spaces by converting
the intermediate nul characters to spaces. Previously only the first
argument was shown in cmdline output. Now, all arguments are shown.
gdb/ChangeLog:
* fbsd-nat.c (fbsd_fetch_cmdline): Join arguments with spaces.
commit 4249a53cce8651061092d666e5df06492cb91cf1
Author: Alan Modra <amodra@gmail.com>
Date: Wed Feb 6 17:26:23 2019 +1030
Fix some ldscripts/pr24008 fails
These targets were all failing due to extra symbols.
pdp11-dec-aout +FAIL: ld-scripts/pr24008
powerpc-aix5.1 +FAIL: ld-scripts/pr24008
powerpc-aix5.2 +FAIL: ld-scripts/pr24008
rs6000-aix4.3.3 +FAIL: ld-scripts/pr24008
rs6000-aix5.1 +FAIL: ld-scripts/pr24008
rs6000-aix5.2 +FAIL: ld-scripts/pr24008
Some fails remain, those I saw were segfaults or assertion fails that
indicate target bugs.
PR ld/24008
* testsuite/ld-scripts/pr24008.d: Pass with extra target
defined symbols.
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
commit bd7ab16b4537788ad53521c45469a1bdae84ad4a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Feb 13 07:34:22 2018 -0800
x86-64: Generate branch with PLT32 relocation
removed check R_X86_64_PC32 relocation against protected symbols in
shared objects. Since elf_x86_64_check_relocs is called after we
have seen all input files, we can check for PC-relative relocations in
elf_x86_64_check_relocs. We should not allow PC-relative relocations
against protected symbols since address of protected function and
location of protected data may not be in the shared object.
bfd/
PR ld/24151
* elf64-x86-64.c (elf_x86_64_need_pic): Check
SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
(elf_x86_64_relocate_section): Move PIC check for PC-relative
relocations to ...
(elf_x86_64_check_relocs): Here.
(elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
to check if a symbol is defined in a non-shared object.
* elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
ld/
PR ld/24151
* testsuite/ld-x86-64/pr24151a-x32.d: New file.
* testsuite/ld-x86-64/pr24151a.d: Likewise.
* testsuite/ld-x86-64/pr24151a.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run pr24151a and pr24151a-x32.
commit 4e9ac437aaebb55624b54fc3d1cfb52acfe320dd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Feb 6 00:00:22 2019 +0000
Automatic date update in version.in
commit 1688cb2916e7bc46c92dd6f5ac2ba0da6c832274
Author: Tom Tromey <tom@tromey.com>
Date: Tue Feb 5 04:59:11 2019 -0700
Hoist assertion in target_stack::unpush
I noticed that target_stack::unpush first uses the target "t", then
later asserts that it is non-NULL:
strata stratum = t->stratum ();
[...]
gdb_assert (t != NULL);
This is backwards, though, as the assertion must come first.
gdb/ChangeLog
2019-02-05 Tom Tromey <tom@tromey.com>
* target.c (target_stack::unpush): Move assertion earlier.
commit 4dcfcfe0638d8e946b05fe51714c7d5b85b693c1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Feb 5 00:00:29 2019 +0000
Automatic date update in version.in
commit 082cbd3b37bd3da897249a69970f7bf4864399f5
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Feb 4 11:19:42 2019 +0000
Add more notes on how to make a release
commit b32ba39525f1abf8b1cb22016e781c73961717ea
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Feb 4 00:00:43 2019 +0000
Automatic date update in version.in
commit 7355a3c6634aee98e5af73f5190868b29bebea32
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Feb 3 00:00:54 2019 +0000
Automatic date update in version.in
commit 9361886ee9f13731014c3ed425f48266915b2be0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Feb 2 00:00:19 2019 +0000
Automatic date update in version.in
commit 0019baae6344b46160e1a013ac8a12b983960789
Author: John Darrington <john@darrington.wattle.id.au>
Date: Fri Feb 1 17:42:54 2019 +0100
Update binutils/MAINTAINERS for S12Z.
binutils/
* MAINTAINERS: Add self as S12Z maintainer.
commit c6f14c0d2ca4d68308f967c446277789047a980a
Author: John Darrington <john@darrington.wattle.id.au>
Date: Fri Feb 1 17:42:54 2019 +0100
S12Z: GAS: Allow #_symbol operands as mov source
mov.l, mov.p and mov.w (but not mov.b) when called with an immediate source
operand should be accepted a relocatable expression. This change makes that
possible.
gas/
* config/tc-s12z.c (lex_imm): Add new argument exp_o.
(emit_reloc): New function.
(md_apply_fix): [BFD_RELOC_S12Z_OPR] Recognise that it
can be either 2 bytes or 3 bytes long.
* testsuite/gas/s12z/mov-imm-reloc.d: New file.
* testsuite/gas/s12z/mov-imm-reloc.s: New file.
* testsuite/gas/s12z/s12z.exp: Add them.
commit 91bae99160e9d81cfe340b937f9613d43dc90293
Author: John Darrington <john@darrington.wattle.id.au>
Date: Fri Feb 1 17:42:54 2019 +0100
S12Z: GAS: Fix incorrect range test for 16-bit PC relative offsets.
The limits for PC relative offsets were incorrect. This change fixes
them and adds some tests.
gas/
* config/tc-s12z.c (md_apply_fix): Fix incorrect limits.
* testsuite/gas/s12z/pc-rel-bad.d: New file.
* testsuite/gas/s12z/pc-rel-bad.l: New file.
* testsuite/gas/s12z/pc-rel-bad.s: New file.
* testsuite/gas/s12z/pc-rel-good.d: New file.
* testsuite/gas/s12z/pc-rel-good.s: New file.
* testsuite/gas/s12z/s12z.exp: Add them.
commit 1d4d86699fcc9641c1f4dfb3a44a1588353c2137
Author: John Darrington <john@darrington.wattle.id.au>
Date: Fri Feb 1 17:42:54 2019 +0100
S12Z: GAS: Issue warning if TFR/EXG have identical source and destination.
It is permissible for the source and destination operands of TFR and EXG to be
the same register. However it is a pointless instruction and anyone writing it
has probably made a mistake. This change emits a warning if such an instruction
is encountered.
gas/
* config/tc-s12z.c (tfr): Emit warning if operands are the same.
* testsuite/gas/s12z/exg.d: New test case.
* testsuite/gas/s12z/exg.l: New file.
commit 8b3a46f93c2b9ee839f806713afe7f88f0482214
Author: John Darrington <john@darrington.wattle.id.au>
Date: Fri Feb 1 17:42:54 2019 +0100
S12Z: GAS: Disallow immediate destination operands
The assembler permitted instructions which attempted to assign to an immediate
operand. Bizarrely there is a valid machine code for such operations (although
the documentation says it's "inappropriate"). This change causes such attempts
to fail with an error message.
gas/
* config/tc-s12z.c (lex_opr): Add a parameter to indicate whether
immediate mode operands should be permitted.
* testsuite/s12z/imm-dest.d: New file.
* testsuite/s12z/imm-dest.l: New file.
* testsuite/s12z/imm-dest.s: New file.
* testsuite/s12z/s12z.exp: Add them.
commit c75eca848b682c20dcd3ef850f67491295c116b1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Feb 1 00:00:18 2019 +0000
Automatic date update in version.in
commit 16bfc2f9705b40a11052f465b83fea2ec0904ce5
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Jan 31 09:48:39 2019 +0000
Readline: Cleanup some warnings
Cleanup the readline warnings that gdb buildbot complains about.
To prevent wcwidth missing declaration warnings, add the SOURCE /
EXTENSION macros to config.in that have already checked for in
configure.
Ensure pid is a long before printing as one. Also fix GNU style.
Check the return value of write the same way as history_do_write ().
These changes are consistent with upstream readline.
readline/ChangeLog.gdb:
* config.h.in: Add SOURCE/EXTENSION macros.
* histfile.c (history_truncate_file): Check return of write.
* util.c (_rl_tropen): Ensure pid is long.
commit fc60b8c806a641cc2260c8b26f389f2abdc99dda
Author: Andreas Krebbel <krebbel@linux.ibm.com>
Date: Thu Jan 31 17:01:27 2019 +0100
S/390: Implement instruction set extensions
opcodes/ChangeLog:
2019-01-31 Andreas Krebbel <krebbel@linux.ibm.com>
* s390-mkopc.c (main): Accept arch13 as cpu string.
* s390-opc.c: Add new instruction formats and instruction opcode
masks.
* s390-opc.txt: Add new arch13 instructions.
include/ChangeLog:
2019-01-31 Andreas Krebbel <krebbel@linux.ibm.com>
* opcode/s390.h (enum s390_opcode_cpu_val): Add
S390_OPCODE_ARCH13.
gas/ChangeLog:
2019-01-31 Andreas Krebbel <krebbel@linux.ibm.com>
* config/tc-s390.c (s390_parse_cpu): New entry for arch13.
* doc/c-s390.texi: Document arch13 march option.
* testsuite/gas/s390/s390.exp: Run the arch13 related tests.
* testsuite/gas/s390/zarch-arch13.d: New test.
* testsuite/gas/s390/zarch-arch13.s: New test.
* testsuite/gas/s390/zarch-z13.d: Expect the renamed mnemonics
also for z13.
commit 3ca4a8eca78b4d5e3fa308dbd21c67ebef09a261
Author: Alan Modra <amodra@gmail.com>
Date: Thu Jan 31 14:38:45 2019 +1030
Assorted warning fixes
gcc-9 flagged warnings at the places I'm patching here, all real bugs.
* config/tc-alpha.c (md_apply_fix): Correct range checks for
BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BSR.
* config/tc-arm.c (md_apply_fix): Use llabs rather than abs.
* config/tc-csky.c (get_macro_reg_vals): Pass s to csky_show_error.
commit 4f4690cd42476b0907b51a410fc026bfc94c66d2
Author: Alan Modra <amodra@gmail.com>
Date: Thu Jan 31 11:37:44 2019 +1030
Document ld -t behaviour
* NEWS: Mention -t change.
* ld.texi (--trace/-t): Expand documentation a little.
commit 061e12709b50ac8862bbdf9c620d7c35a53f7088
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jan 31 00:00:31 2019 +0000
Automatic date update in version.in
commit 956cc47c5614b0d50bf538e3dcc88c81560fa64c
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Fri Dec 14 14:02:54 2018 +0000
[PR gdb/23985] Fix libinproctrace.so build
The IPA objects currently may use gnulib replacement apis, which is
wrong: gnulib is not linked into the produced dso and it cannot be
because it is not built with -fPIC -fvisibility=hidden.
The gnulib replacement detection is broken under cross compilation:
for targets other than *-gnu*, replacements are enabled that depend
on execution time detection. This causes unnecessary build failure
when the target has proper support for the replaced api.
This fix tries to undo the replacements, which is tricky because the
gnulib headers are still used for various compile time fixups and
there is no simple knob in gnulib to only turn the replacements off.
Without this workaround gdb fails to cross build to non-gnu targets:
ld: tracepoint-ipa.o: in function `gdb_agent_helper_thread(void*)':
gdb/gdbserver/tracepoint.c:7221: undefined reference to `rpl_strerror'
...
Makefile:434: recipe for target 'libinproctrace.so' failed
gdb/gdbserver/ChangeLog:
PR gdb/23985
* Makefile.in (IPAGENT_CFLAGS): Add UNDO_GNULIB_CFLAGS.
(UNDO_GNULIB_CFLAGS): Undo gnulib replacements.
commit b5eba2d8c050b39943918057283470959a5d18c3
Author: Tom Tromey <tom@tromey.com>
Date: Fri Sep 7 20:02:21 2018 -0600
Release the GIL while running a gdb command or expression
PR python/23615 points out that gdb.execute_gdb_command does not
release the Python GIL. This means that, while the gdb command is
running, other Python threads do not run.
This patch solves the problem by introducing a new RAII class that can
be used to temporarily release and then re-acquire the GIL, then puts
this into the appropriate places in execute_gdb_command and
gdbpy_parse_and_eval.
This does not include a test case, because after some research I could
not find a way to write one that was not racy.
gdb/ChangeLog
2019-01-30 Tom Tromey <tom@tromey.com>
PR python/23615:
* python/python.c (execute_gdb_command): Use gdbpy_allow_threads.
(gdbpy_parse_and_eval): Likewise.
* python/python-internal.h (gdbpy_allow_threads): New class.
commit eeb14ea976c0a07affb7dec3562184836adcfe95
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jan 30 00:00:46 2019 +0000
Automatic date update in version.in
commit ad0f979c9df2cc3fba1f120c5e7f39e35591ed07
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Jan 29 06:07:42 2019 -0800
Add a testcase for PR ld/24008
PR ld/24008
* testsuite/ld-scripts/defined.exp: Run pr24008.
* testsuite/ld-scripts/pr24008.d: New file.
* testsuite/ld-scripts/pr24008.map: Likewise.
* testsuite/ld-scripts/pr24008.s: Likewise.
* testsuite/ld-scripts/pr24008.t: Likewise.
commit c49829c3c331182575034911f2bb053dfbb7d8a8
Author: Eric Botcazou <ebotcazou@gcc.gnu.org>
Date: Tue Jan 29 10:11:01 2019 +0100
Skip ld/pr23169 on SPARC.
The test is already skipped on PowerPC and Aarch64 because it's invalid.
* testsuite/ld-ifunc/ifunc.exp: Skip pr23169 on SPARC.
commit 9065c2ceff391da9dedc70d9f6b4bbd051209aaf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jan 29 00:00:43 2019 +0000
Automatic date update in version.in
commit 75c1c971842f43157c173728e8465e1ce3c1b838
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Fri Jan 25 18:52:32 2019 -0800
xtensa: gas: don't keep relocations for constants
xtensa gas chokes on 8/16 bit data entries representing constant symbols
because it leaves BFD_RELOC_8/BFD_RELOC_16 fixups for which xtensa BFD
cannot emit relocations. Resolve fixups for constant symbols in
md_apply_fix.
gas/
2019-01-28 Max Filippov <jcmvbkbc@gmail.com>
* config/tc-xtensa.c (md_apply_fix): Mark fixups for constant
symbols as done in md_apply_fix.
* testsuite/gas/all/forward.d: Don't XFAIL for xtensa.
commit 7054e2fff6d93e4c2b3b6d0de0d8bda72d3c3d59
Author: John Baldwin <jhb@FreeBSD.org>
Date: Mon Jan 28 10:16:58 2019 -0800
Use trad_frame_set_reg_addr for FreeBSD arm signal trampoline unwinders.
Replace individual calls to trad_frame_set_reg_addr for the general
purpose and floating point registers in signal trampoline frames used
by FreeBSD/aarch64 and FreeBSD/arm with calls to
trad_frame_set_reg_addr using the register maps for the corresponding
register sets.
gdb/ChangeLog:
* aarch64-fbsd-tdep.c (aarch64_fbsd_gregmap)
(aarch64_fbsd_fpregmap): Move earlier.
(AARCH64_MCONTEXT_REG_SIZE, AARCH64_MCONTEXT_FPREG_SIZE): Delete.
(aarch64_fbsd_sigframe_init): Use trad_frame_set_reg_regmap
instead of individual calls to trad_frame_set_reg_addr.
* arm-fbsd-tdep.c (arm_fbsd_gregmap, arm_fbsd_vfpregmap): Move
earlier.
(ARM_MCONTEXT_REG_SIZE, ARM_MCONTEXT_VFP_REG_SIZE): Delete.
(arm_fbsd_sigframe_init): Use trad_frame_set_reg_regmap
instead of individual calls to trad_frame_set_reg_addr.
commit 9ee194135535acbd7b786d685666badbb59e536a
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Jan 28 16:21:00 2019 +0000
Revert "gdbserver: When attaching, add process before lwps"
This reverts commit f084d335110408aa08ea06c7cb217ae19697db3d.
Accidently pushed. Reverted.
commit 453f8e1e4918171bc12e4d03aab7ee8360dfcfef
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Mon Jan 21 15:36:41 2019 -0500
Fix GCC9 warning on elf32-arm.c:elf32_arm_final_link_relocate
Fedora Rawhide has just switched to GCC9, and now GDB doesn't compile
because of a BFD warning:
BUILDSTDERR: ../../bfd/elf32-arm.c: In function 'elf32_arm_final_link_relocate':
BUILDSTDERR: ../../bfd/elf32-arm.c:10907:10: error: absolute value function 'labs' given an argument of type 'bfd_signed_vma' {aka 'long long int'} but has parameter of type 'long int' which may cause truncation of value [-Werror=absolute-value]
BUILDSTDERR: 10907 | value = labs (relocation);
BUILDSTDERR: | ^~~~
You can take a look at the full build log here:
https://kojipkgs.fedoraproject.org//work/tasks/4828/32174828/build.log
The fix is (apparently) simple: instead of using 'labs', we should use
'llabs', since we're passing a 'bfd_signed_vma' to it, which is at
least a 'long long int', as far as I have checked. This is what this
patch does.
bfd/ChangeLog:
2019-01-25 Sergio Durigan Junior <sergiodj@redhat.com>
* elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
of 'labs' (and fix GCC warning).
commit 2d151af7190b9cb7787d4c33fba9e9a4431f8a0c
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jan 28 15:21:58 2019 +0000
Updated Russian and French translations for the gas sub-directory
commit 36c25ffa1ab5d6d5ee0fa3fc32f128a58e78e7a2
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Jan 28 09:39:55 2019 +0000
Replace contribution list in CONTRIBUTE file with link
The GDB wiki page has a much better contribution checklist than
that in the GDB CONTRIBUTE file. In addition, the wiki is easier
to keep up to date with current processes.
Reduce the CONTRIBUTE file down to a short paragraph followed by
a link to the contribution process. This also ensures anyone
reading the CONTRIBUTE file for a given release has access to the
latest processes.
gdb/ChangeLog:
* CONTRIBUTE: Replace contribution list with wiki link.
commit f084d335110408aa08ea06c7cb217ae19697db3d
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Jan 24 18:55:20 2019 +0000
gdbserver: When attaching, add process before lwps
The recent BP/WP changes for AArch64 swapping the order in add_lwp()
so that the process was added before the lwp. This was due to the lwp
creation requiring the process data.
This also needs changing in linux_attach().
Fixes gdb.server/ext-attach.exp on Aarch64.
(This regression was hidden due to the racy nature of the gdb.server
tests - now they are no longer racy it'll be easier to spot. Also
checked X86).
gdb/gdbserver/ChangeLog:
2019-01-25 Alan Hayward <alan.hayward@arm.com>
* linux-low.c (linux_attach): Add process before lwp.
commit f5f2b743ae8fdbfbd572756e611051ef5d1d05c1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jan 28 00:00:21 2019 +0000
Automatic date update in version.in
commit 6a84624340dd19ccd927d91d79e0ece135c6d846
Author: Alan Modra <amodra@gmail.com>
Date: Mon Jan 28 09:59:29 2019 +1030
PR24008, Wrong value of ternary expression in map file
PR 24008
* ldexp.h (lang_phase_type): Add lang_fixed_phase_enum.
* ldexp.c (fold_name): Move expld.assign_name check later to
avoid an extra lookup.
(exp_fold_tree_1): When lang_fixed_phase_enum, don't change symbol
values, and don't clear expld.assign_name.
* ldlang.c (lang_map): Set expld.phase to lang_fixed_phase_enum.
(print_assignment): Resolve entire assignment expression.
Don't access symbol u.def unless symbol is defined.
commit e044973b0cadb4c36c2a2c11e908d758b8cd75f9
Author: Alan Modra <amodra@gmail.com>
Date: Mon Jan 28 09:33:28 2019 +1030
Control gas enable-checking default by bfd/development.sh
* configure.ac (ac_checking): Set from bfd/development.sh
development variable.
* configure: Regenerate.
commit 1dbc40b9d70b95717abb0db6865a12ebd7d91b06
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jan 27 14:51:03 2019 -0700
Remove duplicate skip_python_tests invocation
I noticed that py-finish-breakpoint.exp had two calls to
skip_python_tests, in quick succession. This patch removes the second
one.
gdb/testsuite/ChangeLog
2019-01-27 Tom Tromey <tom@tromey.com>
* gdb.python/py-finish-breakpoint.exp: Remove duplicate call to
skip_python_tests.
commit eb51a3cd827a3bf02d80173592a0b5f0d88fa801
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jan 27 00:01:24 2019 +0000
Automatic date update in version.in
commit 67f8b42f3e65ede1915f2dc4e2ca46ddeb57c508
Author: Tom Tromey <tom@tromey.com>
Date: Sat Jan 26 08:51:57 2019 -0700
Fix the sim build
Simon pointed out that the "common/" include change in gdb broke the
sim build. The problem was that the sim was using gdb's
create-version.sh, which changed.
This patch copies create-version.sh to the sim, so that it can
generate "version.c" in a way that works in the sim build.
Tested by rebuilding.
sim/common/ChangeLog
2019-01-26 Tom Tromey <tom@tromey.com>
* Make-common.in (version.c): Use sim's create-version.sh.
* create-version.sh: New file.
sim/ppc/ChangeLog
2019-01-26 Tom Tromey <tom@tromey.com>
* Makefile.in (version.c): Use sim's create-version.sh.
commit e5e2bc507d773eb48ed215eb6911c1bb7dd78b79
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jan 26 00:00:52 2019 +0000
Automatic date update in version.in
commit a0707f3c36cab402cd4c3235bedd2b5f7b4c6aed
Author: Tom Tromey <tom@tromey.com>
Date: Tue Jan 22 00:26:45 2019 -0700
Don't use -I for common subdirectory
This changes the Makefiles to remove the -I for the common/
subdirectory. This will enforce the rule that includes must use the
'common/filename.h' form.
gdb/ChangeLog
2019-01-25 Tom Tromey <tom@tromey.com>
* Makefile.in (GDB_CFLAGS): Don't add -I for common.
gdb/gdbserver/ChangeLog
2019-01-25 Tom Tromey <tom@tromey.com>
* Makefile.in (INCLUDE_CFLAGS): Don't add -I for common.
commit 0747795c085d3b2a35da6bb474f32c58ce1b70c8
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 10:21:39 2019 -0700
Normalize includes to use common/
This changes all includes to use the form "common/filename.h" rather
than just "filename.h". This was written by a script.
gdb/ChangeLog
2019-01-25 Tom Tromey <tom@tromey.com>
* xtensa-linux-nat.c: Fix common/ includes.
* xml-support.h: Fix common/ includes.
* xml-support.c: Fix common/ includes.
* x86-linux-nat.c: Fix common/ includes.
* windows-nat.c: Fix common/ includes.
* varobj.h: Fix common/ includes.
* varobj.c: Fix common/ includes.
* value.c: Fix common/ includes.
* valops.c: Fix common/ includes.
* utils.c: Fix common/ includes.
* unittests/xml-utils-selftests.c: Fix common/ includes.
* unittests/utils-selftests.c: Fix common/ includes.
* unittests/unpack-selftests.c: Fix common/ includes.
* unittests/tracepoint-selftests.c: Fix common/ includes.
* unittests/style-selftests.c: Fix common/ includes.
* unittests/string_view-selftests.c: Fix common/ includes.
* unittests/scoped_restore-selftests.c: Fix common/ includes.
* unittests/scoped_mmap-selftests.c: Fix common/ includes.
* unittests/scoped_fd-selftests.c: Fix common/ includes.
* unittests/rsp-low-selftests.c: Fix common/ includes.
* unittests/parse-connection-spec-selftests.c: Fix common/
includes.
* unittests/optional-selftests.c: Fix common/ includes.
* unittests/offset-type-selftests.c: Fix common/ includes.
* unittests/observable-selftests.c: Fix common/ includes.
* unittests/mkdir-recursive-selftests.c: Fix common/ includes.
* unittests/memrange-selftests.c: Fix common/ includes.
* unittests/memory-map-selftests.c: Fix common/ includes.
* unittests/lookup_name_info-selftests.c: Fix common/ includes.
* unittests/function-view-selftests.c: Fix common/ includes.
* unittests/environ-selftests.c: Fix common/ includes.
* unittests/copy_bitwise-selftests.c: Fix common/ includes.
* unittests/common-utils-selftests.c: Fix common/ includes.
* unittests/cli-utils-selftests.c: Fix common/ includes.
* unittests/array-view-selftests.c: Fix common/ includes.
* ui-file.c: Fix common/ includes.
* tui/tui-io.c: Fix common/ includes.
* tracepoint.h: Fix common/ includes.
* tracepoint.c: Fix common/ includes.
* tracefile-tfile.c: Fix common/ includes.
* top.h: Fix common/ includes.
* top.c: Fix common/ includes.
* thread.c: Fix common/ includes.
* target/waitstatus.h: Fix common/ includes.
* target/waitstatus.c: Fix common/ includes.
* target.h: Fix common/ includes.
* target.c: Fix common/ includes.
* target-memory.c: Fix common/ includes.
* target-descriptions.c: Fix common/ includes.
* symtab.h: Fix common/ includes.
* symfile.c: Fix common/ includes.
* stap-probe.c: Fix common/ includes.
* spu-linux-nat.c: Fix common/ includes.
* sparc-nat.c: Fix common/ includes.
* source.c: Fix common/ includes.
* solib.c: Fix common/ includes.
* solib-target.c: Fix common/ includes.
* ser-unix.c: Fix common/ includes.
* ser-tcp.c: Fix common/ includes.
* ser-pipe.c: Fix common/ includes.
* ser-base.c: Fix common/ includes.
* selftest-arch.c: Fix common/ includes.
* s12z-tdep.c: Fix common/ includes.
* rust-exp.y: Fix common/ includes.
* rs6000-aix-tdep.c: Fix common/ includes.
* riscv-tdep.c: Fix common/ includes.
* remote.c: Fix common/ includes.
* remote-notif.h: Fix common/ includes.
* remote-fileio.h: Fix common/ includes.
* remote-fileio.c: Fix common/ includes.
* regcache.h: Fix common/ includes.
* regcache.c: Fix common/ includes.
* record-btrace.c: Fix common/ includes.
* python/python.c: Fix common/ includes.
* python/py-type.c: Fix common/ includes.
* python/py-inferior.c: Fix common/ includes.
* progspace.h: Fix common/ includes.
* producer.c: Fix common/ includes.
* procfs.c: Fix common/ includes.
* proc-api.c: Fix common/ includes.
* printcmd.c: Fix common/ includes.
* ppc-linux-nat.c: Fix common/ includes.
* parser-defs.h: Fix common/ includes.
* osdata.c: Fix common/ includes.
* obsd-nat.c: Fix common/ includes.
* nat/x86-linux.c: Fix common/ includes.
* nat/x86-linux-dregs.c: Fix common/ includes.
* nat/x86-dregs.h: Fix common/ includes.
* nat/x86-dregs.c: Fix common/ includes.
* nat/ppc-linux.c: Fix common/ includes.
* nat/mips-linux-watch.h: Fix common/ includes.
* nat/mips-linux-watch.c: Fix common/ includes.
* nat/linux-waitpid.c: Fix common/ includes.
* nat/linux-ptrace.h: Fix common/ includes.
* nat/linux-ptrace.c: Fix common/ includes.
* nat/linux-procfs.c: Fix common/ includes.
* nat/linux-personality.c: Fix common/ includes.
* nat/linux-osdata.c: Fix common/ includes.
* nat/linux-namespaces.c: Fix common/ includes.
* nat/linux-btrace.h: Fix common/ includes.
* nat/linux-btrace.c: Fix common/ includes.
* nat/fork-inferior.c: Fix common/ includes.
* nat/amd64-linux-siginfo.c: Fix common/ includes.
* nat/aarch64-sve-linux-ptrace.c: Fix common/ includes.
* nat/aarch64-linux.c: Fix common/ includes.
* nat/aarch64-linux-hw-point.h: Fix common/ includes.
* nat/aarch64-linux-hw-point.c: Fix common/ includes.
* namespace.h: Fix common/ includes.
* mips-linux-tdep.c: Fix common/ includes.
* minsyms.c: Fix common/ includes.
* mi/mi-parse.h: Fix common/ includes.
* mi/mi-main.c: Fix common/ includes.
* mi/mi-cmd-env.c: Fix common/ includes.
* memrange.h: Fix common/ includes.
* memattr.c: Fix common/ includes.
* maint.h: Fix common/ includes.
* maint.c: Fix common/ includes.
* main.c: Fix common/ includes.
* machoread.c: Fix common/ includes.
* location.c: Fix common/ includes.
* linux-thread-db.c: Fix common/ includes.
* linux-nat.c: Fix common/ includes.
* linux-fork.c: Fix common/ includes.
* inline-frame.c: Fix common/ includes.
* infrun.c: Fix common/ includes.
* inflow.c: Fix common/ includes.
* inferior.h: Fix common/ includes.
* inferior.c: Fix common/ includes.
* infcmd.c: Fix common/ includes.
* inf-ptrace.c: Fix common/ includes.
* inf-child.c: Fix common/ includes.
* ia64-linux-nat.c: Fix common/ includes.
* i387-tdep.c: Fix common/ includes.
* i386-tdep.c: Fix common/ includes.
* i386-linux-tdep.c: Fix common/ includes.
* i386-linux-nat.c: Fix common/ includes.
* i386-go32-tdep.c: Fix common/ includes.
* i386-fbsd-tdep.c: Fix common/ includes.
* i386-fbsd-nat.c: Fix common/ includes.
* guile/scm-type.c: Fix common/ includes.
* guile/guile.c: Fix common/ includes.
* go32-nat.c: Fix common/ includes.
* gnu-nat.c: Fix common/ includes.
* gdbthread.h: Fix common/ includes.
* gdbarch-selftests.c: Fix common/ includes.
* gdb_usleep.c: Fix common/ includes.
* gdb_select.h: Fix common/ includes.
* gdb_bfd.c: Fix common/ includes.
* gcore.c: Fix common/ includes.
* fork-child.c: Fix common/ includes.
* findvar.c: Fix common/ includes.
* fbsd-nat.c: Fix common/ includes.
* event-top.c: Fix common/ includes.
* event-loop.c: Fix common/ includes.
* dwarf2read.c: Fix common/ includes.
* dwarf2loc.c: Fix common/ includes.
* dwarf2-frame.c: Fix common/ includes.
* dwarf-index-cache.c: Fix common/ includes.
* dtrace-probe.c: Fix common/ includes.
* disasm-selftests.c: Fix common/ includes.
* defs.h: Fix common/ includes.
* csky-tdep.c: Fix common/ includes.
* cp-valprint.c: Fix common/ includes.
* cp-support.h: Fix common/ includes.
* cp-support.c: Fix common/ includes.
* corelow.c: Fix common/ includes.
* completer.h: Fix common/ includes.
* completer.c: Fix common/ includes.
* compile/compile.c: Fix common/ includes.
* compile/compile-loc2c.c: Fix common/ includes.
* compile/compile-cplus-types.c: Fix common/ includes.
* compile/compile-cplus-symbols.c: Fix common/ includes.
* command.h: Fix common/ includes.
* cli/cli-dump.c: Fix common/ includes.
* cli/cli-cmds.c: Fix common/ includes.
* charset.c: Fix common/ includes.
* build-id.c: Fix common/ includes.
* btrace.h: Fix common/ includes.
* btrace.c: Fix common/ includes.
* breakpoint.h: Fix common/ includes.
* breakpoint.c: Fix common/ includes.
* ax.h:
(enum agent_op): Fix common/ includes.
* ax-general.c (struct aop_map): Fix common/ includes.
* ax-gdb.c: Fix common/ includes.
* auxv.c: Fix common/ includes.
* auto-load.c: Fix common/ includes.
* arm-tdep.c: Fix common/ includes.
* arch/riscv.c: Fix common/ includes.
* arch/ppc-linux-common.c: Fix common/ includes.
* arch/i386.c: Fix common/ includes.
* arch/arm.c: Fix common/ includes.
* arch/arm-linux.c: Fix common/ includes.
* arch/arm-get-next-pcs.c: Fix common/ includes.
* arch/amd64.c: Fix common/ includes.
* arch/aarch64.c: Fix common/ includes.
* arch/aarch64-insn.c: Fix common/ includes.
* arch-utils.c: Fix common/ includes.
* amd64-windows-tdep.c: Fix common/ includes.
* amd64-tdep.c: Fix common/ includes.
* amd64-sol2-tdep.c: Fix common/ includes.
* amd64-obsd-tdep.c: Fix common/ includes.
* amd64-nbsd-tdep.c: Fix common/ includes.
* amd64-linux-tdep.c: Fix common/ includes.
* amd64-linux-nat.c: Fix common/ includes.
* amd64-fbsd-tdep.c: Fix common/ includes.
* amd64-fbsd-nat.c: Fix common/ includes.
* amd64-dicos-tdep.c: Fix common/ includes.
* amd64-darwin-tdep.c: Fix common/ includes.
* agent.c: Fix common/ includes.
* ada-lang.h: Fix common/ includes.
* ada-lang.c: Fix common/ includes.
* aarch64-tdep.c: Fix common/ includes.
gdb/gdbserver/ChangeLog
2019-01-25 Tom Tromey <tom@tromey.com>
* win32-low.c: Fix common/ includes.
* win32-i386-low.c: Fix common/ includes.
* tracepoint.c: Fix common/ includes.
* thread-db.c: Fix common/ includes.
* target.h: Fix common/ includes.
* symbol.c: Fix common/ includes.
* spu-low.c: Fix common/ includes.
* server.h: Fix common/ includes.
* server.c: Fix common/ includes.
* remote-utils.c: Fix common/ includes.
* regcache.h: Fix common/ includes.
* regcache.c: Fix common/ includes.
* nto-x86-low.c: Fix common/ includes.
* notif.h: Fix common/ includes.
* mem-break.h: Fix common/ includes.
* lynx-low.c: Fix common/ includes.
* lynx-i386-low.c: Fix common/ includes.
* linux-x86-tdesc-selftest.c: Fix common/ includes.
* linux-x86-low.c: Fix common/ includes.
* linux-low.c: Fix common/ includes.
* inferiors.h: Fix common/ includes.
* i387-fp.c: Fix common/ includes.
* hostio.c: Fix common/ includes.
* hostio-errno.c: Fix common/ includes.
* gdbthread.h: Fix common/ includes.
* gdbreplay.c: Fix common/ includes.
* fork-child.c: Fix common/ includes.
* event-loop.c: Fix common/ includes.
* ax.c:
(enum gdb_agent_op): Fix common/ includes.
commit 2f5c153e0ce1b0d3aa0c12724cbc8c3b11d4095f
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 23:03:23 2019 -0700
Update create-version.sh to use common/version.h
This changes create-version.sh to have the generated file use
common/version.h as the file name.
gdb/ChangeLog
2019-01-25 Tom Tromey <tom@tromey.com>
* common/create-version.sh: Use common/version.h.
commit e10620d3b96a725c4752198cb3c7c00ea21b42b4
Author: Tamar Christina <tamar.christina@arm.com>
Date: Fri Jan 25 15:50:01 2019 +0000
AArch64: Add missing changelog for Update encodings for stg, st2g, stzg and st2zg
commit 69105ce4c42e5644ab92cb9b2765ff5ce6bf7b1b
Author: Sudi Das <sudi.das@arm.com>
Date: Fri Jan 25 14:28:07 2019 +0000
AArch64: Update encodings for stg, st2g, stzg and st2zg.
This patch is part of a series of patches to introduce a few changes to the
Armv8.5-A Memory Tagging Extension. This patch updates the st*g instructions
to use a previously reserved field for a new register operand. Thus the
new versions of the instructions are as follows:
- STG Xt, [<Xn|SP>, #<simm>]
- STG Xt, [<Xn|SP>, #<simm>]!
- STG Xt, [<Xn|SP>], #<simm>
- STZG Xt, [<Xn|SP>, #<simm>]
- STZG Xt, [<Xn|SP>, #<simm>]!
- STZG Xt, [<Xn|SP>], #<simm>
- ST2G Xt, [<Xn|SP>, #<simm>]
- ST2G Xt, [<Xn|SP>, #<simm>]!
- ST2G Xt, [<Xn|SP>], #<simm>
- STZ2G Xt, [<Xn|SP>, #<simm>]
- STZ2G Xt, [<Xn|SP>, #<simm>]!
- STZ2G Xt, [<Xn|SP>], #<simm>
Committed on behalf of Sudakshina Das.
*** gas/ChangeLog ***
* config/tc-aarch64.c (warn_unpredictable_ldst): Exempt
stg, st2g, stzg and stz2g from Xt == Xn with writeback warning.
* testsuite/gas/aarch64/armv8_5-a-memtag.d: Change tests for
stg, stzg, st2g and stz2g.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
*** opcodes/ChangeLog ***
* aarch64-tbl.h (QL_LDST_AT): Update macro.
(aarch64_opcode): Change encoding for stg, stzg
st2g and st2zg.
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
commit 20a4ca5524b9bde2f5dfb19661570c25a3b05e5d
Author: Sudi Das <sudi.das@arm.com>
Date: Fri Jan 25 14:15:45 2019 +0000
AArch64: Add new STZGM instruction for Armv8.5-A Memory Tagging Extension.
This patch is part of a series of patches to introduce a few changes to the
Armv8.5-A Memory Tagging Extension. This patch adds the new STZGM instruction.
STGZM Xt, [<Xn|SP>]
Committed on behalf of Sudakshina Das.
*** gas/ChangeLog ***
* testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for stzgm.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
*** opcodes/ChangeLog ***
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Likewise.
* aarch64-opc-2.c: Likewise.
* aarch64-tbl.h (aarch64_opcode): Add new stzgm.
commit 550fd7bf6858cd708c54ec90412ffb653a932c3d
Author: Sudi Das <sudi.das@arm.com>
Date: Fri Jan 25 13:57:14 2019 +0000
AArch64: Remove ldgv and stgv instructions from Armv8.5-A Memory Tagging Extension.
This patch is part of a series of patches to introduce a few changes to the
Armv8.5-A Memory Tagging Extension. This patch removes the LDGV and STGV
instructions. These instructions needed special infrastructure to support
[base]! style for addressing mode. That is also removed now.
Committed on behalf of Sudakshina Das.
*** gas/ChangeLog ***
* config/tc-aarch64.c (parse_address_main): Remove support for
[base]! address expression.
(parse_operands): Remove support for AARCH64_OPND_ADDR_SIMPLE_2.
(warn_unpredictable_ldst): Remove support for ldstgv_indexed.
* testsuite/gas/aarch64/armv8_5-a-memtag.d: Remove tests for ldgv
and stgv.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
*** include/ChangeLog ***
* opcode/aarch64.h (enum aarch64_opnd): Remove
AARCH64_OPND_ADDR_SIMPLE_2.
(enum aarch64_insn_class): Remove ldstgv_indexed.
*** opcodes/ChangeLog ***
* aarch64-asm.c (aarch64_ins_addr_simple_2): Remove.
* aarch64-asm.h (ins_addr_simple_2): Likeiwse.
* aarch64-dis.c (aarch64_ext_addr_simple_2): Likewise.
* aarch64-dis.h (ext_addr_simple_2): Likewise.
* aarch64-opc.c (operand_general_constraint_met_p): Remove
case for ldstgv_indexed.
(aarch64_print_operand): Remove case for AARCH64_OPND_ADDR_SIMPLE_2.
* aarch64-tbl.h (struct aarch64_opcode): Remove ldgv and stgv.
(AARCH64_OPERANDS): Remove ADDR_SIMPLE_2.
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
commit 183445093ebd6be285e29f75b877e62a723918c6
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Jan 25 13:16:06 2019 +0000
Prevent a potential illegal memory access in readelf when parsing a note with a zero name size.
PR 24131
* readelf.c (process_notes_at): Prevent an illegal memory access
when the note's namesize is zero.
(decode_tic6x_unwind_bytecode): Add code to handle the case where
no registers are specified in a frame pop instruction.
commit 9ed1348c2008f54368f0fd989a0bf2de8b93329a
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Jan 25 11:48:55 2019 +0000
Updated Bulgarian and Russian translations for some of the binutils sub-directories
commit 10c172ba93dde7cb7c46982ca217e646565bf938
Author: Wu Heng <wu.heng@zte.com.cn>
Date: Fri Jan 25 13:41:47 2019 +1030
PR23940, check bounds before using
PR gas/23940
* macro.c (getstring): Check array bound before accessing.
commit 04174263401c670b5faaaec452aee2df92130ef9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Jan 25 00:00:37 2019 +0000
Automatic date update in version.in
commit 0c56b5cfb68cd099e00f6fdb5ad08061c7b16b79
Author: Alan Modra <amodra@gmail.com>
Date: Fri Jan 25 09:34:14 2019 +1030
PR24125, Assertion failure with embedded NULs in string
An assertion that can be triggered by user input is wrong, so remove
it. I believe the NUL would have been accepted before the PR20902
patch.
PR 20902
PR 24125
* read.c (stringer): Delete assertion.
commit adc6a863a9c6c828425d63b12d553f0e8f21e350
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jan 24 18:25:06 2019 +0000
target_pass_signals/target_program_signals: Use gdb::array_view
This replaces the pointer and length parameters of target_pass_signals
and target_program_signals with a gdb::array_view parameter, and fixes
the fallout.
In infrun.c, the signal_stop, signal_print, signal_program,
signal_catch, signal_pass globals are currently pointers to
heap-allocated memory. I see no point in that, so I converted them to
arrays. This allows simplifying the calls to
target_pass_signals/target_program_signals, since we can pass the
array directly, which can implicitly convert to gdb::array_view.
gdb/ChangeLog:
2019-01-24 Pedro Alves <palves@redhat.com>
* infrun.c (signal_stop, signal_print, signal_program)
(signal_catch, signal_pass): Now arrays instead of pointers.
(update_signals_program_target, do_target_resume)
(signal_catch_update, handle_command, _initialize_infrun): Adjust.
* linux-nat.c (linux_nat_target::pass_signals)
(linux_nat_target::create_inferior, linux_nat_target::attach):
Adjust.
* linux-nat.h (linux_nat_target::pass_signals): Adjust.
* nto-procfs.c (nto_procfs_target::pass_signals): Adjust.
* procfs.c (procfs_target::pass_signals): Adjust.
* record-full.c (record_full_target::resume): Adjust.
* remote.c (remote_target::pass_signals)
(remote_target::program_signals): Adjust.
* target-debug.h (target_debug_print_signals): Now takes a
gdb::array_view as parameter. Adjust.
* target.h (target_ops) <pass_signals, program_signals>: Replace
pointer and length parameters with gdb::array_view.
(target_pass_signals, target_program_signals): Likewise.
* target-delegates.c: Regenerate.
commit 3046d67a0e29686ec18abd719660969c97973063
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jan 24 18:01:49 2019 +0000
Fix clang/libc++ build
This fixes the following build error with clang/libc++, reported at
<https://sourceware.org/ml/gdb-patches/2019-01/msg00537.html>:
(...)
In file included from breakpoint.c:34:
In file included from ./inferior.h:54:
./common/forward-scope-exit.h:98:7: error: no matching constructor for
initialization of 'decltype(std::bind(&delete_longjmp_breakpoint,
std::declval<int>()))' (aka '__bind<void (*)(int), int>')
: m_bind_function (std::bind (function, args...))
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./common/gdb_optional.h:155:19: note: in instantiation of member
function 'detail::forward_scope_exit<void (int),
&delete_longjmp_breakpoint, void (int)>::forward_scope_exit' requested
here
new (&m_item) T (std::forward<Args>(args)...);
^
breakpoint.c:11127:18: note: in instantiation of function template
specialization 'gdb::optional<detail::forward_scope_exit<void (int),
&delete_longjmp_breakpoint, void (int)> >::emplace<int &>' requested
here
lj_deleter.emplace (thread);
^
/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2220:7:
note: candidate constructor (the implicit copy constructor) not
viable: no known conversion from '__bind<[...], int &>' to 'const
__bind<[...], int>' for 1st argument
class __bind
^
(...)
I don't really know why I ended up with a copy here. We can just pass
the arguments directly to the being-constructed bind.
gdb/ChangeLog:
2019-01-24 Pedro Alves <palves@redhat.com>
* common/forward-scope-exit.h
(forward_scope_exit::forward_scope_exit): Pass arguments to
m_bind_function directly, instead of creating a std::bind and
copying that.
commit 353229bf405113e6ba2fe21f2a691bc63aa94bd8
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Jan 24 08:17:39 2019 +0000
AArch64 AAPCS: Ignore static members
Static members in C++ structs are global data and therefore not part of the
list of struct members considered for passing in registers.
Note the corresponding code in GCC (from which the GDB AAPCS code is based)
does not have any static member checks due to the static members not being
part of the struct type at that point.
Extend gdb.base/infcall-nested-structs.exp to test structs with static
members when compiled for C++. XFAIL more cases for x86_64 (see gdb/24104).
For completeness, ensure some test cases have both empty structures and
static members.
Also fixes gdb.dwarf2/dw2-cp-infcall-ref-static.exp.
gdb/ChangeLog:
* aarch64-tdep.c (aapcs_is_vfp_call_or_return_candidate_1): Check
for static members.
(pass_in_v_vfp_candidate): Likewise.
gdb/testsuite/ChangeLog:
* gdb.base/infcall-nested-structs.c (struct struct_static_02_01):
New structure.
(struct struct_static_02_02): Likewise.
(struct struct_static_02_03): Likewise.
(struct struct_static_02_04): Likewise.
(struct struct_static_04_01): Likewise.
(struct struct_static_04_02): Likewise.
(struct struct_static_04_03): Likewise.
(struct struct_static_04_04): Likewise.
(struct struct_static_06_01): Likewise.
(struct struct_static_06_02): Likewise.
(struct struct_static_06_03): Likewise.
(struct struct_static_06_04): Likewise.
(cmp_struct_static_02_01): Likewise.
(cmp_struct_static_02_02): Likewise.
(cmp_struct_static_02_03): Likewise.
(cmp_struct_static_02_04): Likewise.
(cmp_struct_static_04_01): Likewise.
(cmp_struct_static_04_02): Likewise.
(cmp_struct_static_04_03): Likewise.
(cmp_struct_static_04_04): Likewise.
(cmp_struct_static_06_01): Likewise.
(cmp_struct_static_06_02): Likewise.
(cmp_struct_static_06_03): Likewise.
(cmp_struct_static_06_04): Likewise.
(call_all): Test new structs.
* gdb.base/infcall-nested-structs.exp: Likewise.
commit 388a192d73df7439bf375d8b8042bb53a6be9c60
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jan 24 00:00:48 2019 +0000
Automatic date update in version.in
commit 311dc83a411c83d61cd6cb931289761574ea3ecc
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:37 2019 +0000
Use scope_exit in regcache.c
This removes the regcache_invalidator class in favor of a scope_exit.
This seems like an improvement (albeit a minor one) because
regcache_invalidator is only used in a single spot.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* regcache.c (class regcache_invalidator): Remove.
(regcache::raw_write): Use make_scope_exit.
commit 296bd123f76d7f8474b5a2937a49fd619748a871
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:36 2019 +0000
Update cleanup comment in ui-out.h
ui-out.h refers to some cleanup functions that no longer exist. This
updates the reference.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
* ui-out.h (class ui_out_emit_type): Update comment.
commit 979a0d1304ac7d73c9887f851e811d49752923fb
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:36 2019 +0000
Update an obsolete cleanup comment
This updates a comment in fetch_inferior_event. The comment refers to
a cleanup that is now a scoped_restore_current_thread.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
* infrun.c (fetch_inferior_event): Update comment.
commit d238133d0292926b937aaa6f83bf921dd0bbb01c
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:35 2019 +0000
Remove remaining cleanup from fetch_inferior_event
This removes the remaining cleanup from fetch_inferior_event,
replacing it with a SCOPE_EXIT. This required introducing a new scope
and reindenting.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* infrun.c (reinstall_readline_callback_handler_cleanup): Remove
parameter.
(fetch_inferior_event): Use SCOPE_EXIT.
commit 9885e6bb5b0f6f0147f9b3a15a4bd4516faf4a26
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:35 2019 +0000
Remove cleanup from stop_all_threads
This removes the cleanup from stop_all_threads, replacing it with a
scope_exit.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* infrun.c (disable_thread_events): Delete.
(stop_all_threads): Use SCOPE_EXIT.
commit 286526c1e5f6d54bf6ecc961d7c2d0a32b58fe45
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:34 2019 +0000
Remove clear_symtab_users_cleanup
This removes clear_symtab_users_cleanup, replacing it with uses of
forward_scope_exit.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* symfile.c: Include forward-scope-exit.h.
(clear_symtab_users_cleanup): Replace forward declaration with
a FORWARD_SCOPE_EXIT.
(syms_from_objfile_1): Use the forward_scope_exit and
gdb::optional instead of cleanup_function.
(reread_symbols): Use the forward_scope_exit instead of
cleanup_function.
(clear_symtab_users_cleanup): Remove function.
commit 1db93f14fae0b3a638324e5349fe56a0e625451e
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:34 2019 +0000
Remove cleanup from linux-nat.c
This removes a cleanup from linux-nat.c, replacing it with a
scope_exit.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* linux-nat.c: Include scope-exit.h.
(cleanup_target_stop): Remove.
(linux_nat_target::static_tracepoint_markers_by_strid): Use
SCOPE_EXIT.
commit 2cc83d1e0eeaad9927553ee157f810e43d47d24f
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:33 2019 +0000
Remove cleanup_delete_std_terminate_breakpoint
This removes cleanup_delete_std_terminate_breakpoint, replacing it
with a use of SCOPE_EXIT.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* infcall.c (cleanup_delete_std_terminate_breakpoint): Remove.
(call_function_by_hand_dummy): Use SCOPE_EXIT.
commit 694c6bf5425024a8654a5541dec88e4dd6ddafb5
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:33 2019 +0000
Remove make_bpstat_clear_actions_cleanup
This removes make_bpstat_clear_actions_cleanup, replacing it with uses
of scope_exit.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Andrew Burgess <andrew.burgess@embecosm.com>
Pedro Alves <palves@redhat.com>
* infrun.c (fetch_inferior_event): Use scope_exit.
* utils.h (make_bpstat_clear_actions_cleanup): Don't declare.
* top.c (execute_command): Use scope_exit.
* breakpoint.c (bpstat_do_actions): Use scope_exit.
* utils.c (do_bpstat_clear_actions_cleanup)
(make_bpstat_clear_actions_cleanup): Remove.
commit 4c41382ac101f10071f92074bab7c33242ef5b15
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:32 2019 +0000
Remove delete_just_stopped_threads_infrun_breakpoints_cleanup
v3: sorted earlier in the series, and replaces the cleanup in
fetch_inferior_event here too instead of in some other patch.
This removes delete_just_stopped_threads_infrun_breakpoints_cleanup,
replacing it with uses of scope_exit.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* infrun.c: Include "common/scope-exit.h"
(delete_just_stopped_threads_infrun_breakpoints_cleanup): Remove.
(wait_for_inferior): Use SCOPE_EXIT.
(fetch_inferior_event): Use scope_exit.
commit 89f8fb50fa16b0ef510dcd6de9088cee9820116d
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:31 2019 +0000
Remove remaining cleanup from gdb/breakpoint.c
In v3: remove the "have BKPT_CHAIN already discarded" comment too.
The remaining null cleanup in breakpoint.c does not seem to protect
anything, so remove it.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* breakpoint.c (create_breakpoint): Remove cleanup.
commit 5419bdae559360a10044983b06c11a31de8d81f4
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 23 18:58:31 2019 +0000
Replace delete_longjmp_breakpoint_cleanup with a forward_scope_exit type
This removes delete_longjmp_breakpoint_cleanup in favor of forward_scope_exit.
gdb/ChangeLog:
2019-01-23 Tom Tromey <tom@tromey.com>
Andrew Burgess <andrew.burgess@embecosm.com>
Pedro Alves <palves@redhat.com>
* breakpoint.c (until_break_command): Use
delete_longjmp_breakpoint_cleanup class.
* infcmd.c (delete_longjmp_breakpoint_cleanup): Remove function.
(until_next_command): Use delete_longjmp_breakpoint_cleanup class.
* inferior.h: Include forward-scope-exit.h.
(delete_longjmp_breakpoint_cleanup): Replace function declaration
with FORWARD_SCOPE_EXIT type.
commit e587ef421eb7e009c6a69da55c269e9df45093e4
Author: Pedro Alves <palves@redhat.com>
Date: Wed Jan 23 18:58:30 2019 +0000
Use SCOPE_EXIT in gdbarch-selftest.c
Replace the custom local class with a SCOPE_EXIT.
gdb/ChangeLog:
2019-01-23 Pedro Alves <palves@redhat.com>
* gdbarch-selftests.c (struct on_exit): Use SCOPE_EXIT.
commit 77f0e74cbe2ee7e874432776a0394a3d2a7a4342
Author: Pedro Alves <palves@redhat.com>
Date: Wed Jan 23 18:58:30 2019 +0000
Use forward_scope_exit for scoped_finish_thread_state
This reimplements the manually-written scoped_finish_thread_state
class as a forward_scope_exit instantiation. forward_scope_exit has
the same interface as scoped_finish_thread_state, so nothing else has
to change.
A forward_scope_exit is preferred over make_scope_exit here because
infrun.c:normal_stop needs to wrap scoped_finish_thread_state in a
gdb::optional. Since we need the type there, might as well use it
everywhere.
gdb/ChangeLog:
2019-01-23 Pedro Alves <palves@redhat.com>
Andrew Burgess <andrew.burgess@embecosm.com>
* gdbthread.h: Include "common/forward-scope-exit.h".
(scoped_finish_thread_state): Redefine custom class in terms of
forward_scope_exit.
commit 5b9b3e53a68f4568dc0b6907e34e763a6c3dd145
Author: Pedro Alves <palves@redhat.com>
Date: Wed Jan 23 18:58:29 2019 +0000
Introduce forward_scope_exit
This adds a template that can be used to automatically instantiate
scope_exit-like types that wrap some cleanup function. The
instantiated type has a ctor that has the same interface as the
wrapped function. While the "magic" is just straight C++11, the
intended use is via the FORWARD_SCOPE_EXIT macro, which is a minimal
macro that avoids spelling out the wrapped function name more than
once:
void some_function (int foo, object *bar);
using some_function_fce = FORWARD_SCOPE_EXIT (some_function);
some_function_fce cleanup (some_int, some_obj_ptr);
The above runs:
some_function (some_int, some_obj_ptr);
at scope exit.
This is mainly useful as opposed to a simpler SCOPE_EXIT when you need
to:
- cancel the scope_exit, in which case you need the object's name
- wrap the scope_exit in a gdb::optional, in which case you need the
scope_exit's type in advance.
More details in the code comments.
gdb/ChangeLog:
2019-01-23 Pedro Alves <palves@redhat.com>
Andrew Burgess <andrew.burgess@embecosm.com>
* common/forward-scope-exit.h: New file.
commit 54b65c9b51ec80ef5812dde1a508ce171eeb8ce6
Author: Pedro Alves <palves@redhat.com>
Date: Wed Jan 23 18:58:29 2019 +0000
Introduce scope_exit
This add a new template class scope_exit. scope_exit is a
general-purpose scope guard that calls its exit function at the end of
the current scope. A scope_exit may be canceled by calling the
"release" method. The API is modeled on P0052R5 - Generic Scope Guard
and RAII Wrapper for the Standard Library, which is itself based on
Andrej Alexandrescu's ScopeGuard/SCOPE_EXIT.
The main advantage of scope_exit is avoiding writing single-use RAII
classes and its boilerplate. Following patches will remove a few of
such classes.
There are two forms available:
- The "make_scope_exit" form allows canceling the scope guard. Use
it like this:
auto cleanup = make_scope_exit ( <function, function object, lambda> );
...
cleanup.release (); // cancel
- If you don't need to cancel the guard, you can use the SCOPE_EXIT
macro, like this:
SCOPE_EXIT { /* any code you like here. */ }
Note: scope_exit instances do not allocate anything on the heap.
gdb/ChangeLog:
2019-01-23 Pedro Alves <palves@redhat.com>
Andrew Burgess <andrew.burgess@embecosm.com>
Tom Tromey <tom@tromey.com>
* common/scope-exit.h: New file.
commit cf08fb29f8c484a34c4babb015348b220f80a33b
Author: Pedro Alves <palves@redhat.com>
Date: Wed Jan 23 18:58:28 2019 +0000
Rename ESC -> ESC_PARENS
A following patch will include common/preprocessor.h in some .c file
that also includes readline.h, and that revealed a conflict -- ESC is
defined by readline.h as well (actually readline's chardefs.h) with a
completely unrelated meaning:
#define ESC CTRL('[')
Rename our version to avoid the conflict.
gdb/ChangeLog:
2019-01-23 Pedro Alves <palves@redhat.com>
* common/preprocessor.h (ESC): Rename to ...
(ESC_PARENS): ... this.
* common/valid-expr.h (CHECK_VALID_EXPR_1, CHECK_VALID_EXPR_2)
(CHECK_VALID_EXPR_3, CHECK_VALID_EXPR_4): Adjust.
commit ae73e2e2435cb706b18ba05734aee4137a271b3c
Author: Tom Tromey <tom@tromey.com>
Date: Fri Jan 18 07:45:01 2019 -0700
Remove a warning from symtab.c
When building symtab.c, I get:
../../binutils-gdb/gdb/language.h: In function âvoid print_symbol_info(search_domain, symbol*, int, const char*)â:
../../binutils-gdb/gdb/language.h:738:20: warning: â*((void*)& l +4)â may be used uninitialized in this function [-Wmaybe-uninitialized]
set_language (m_lang);
~~~~~~~~~~~~~^~~~~~~~
../../binutils-gdb/gdb/symtab.c:4613:41: note: â*((void*)& l +4)â was declared here
scoped_switch_to_sym_language_if_auto l (sym);
^
This is another instance of the std::optional problem, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635.
However, it seemed straightforward and inexpensive to me to silence
this one, which is what this patch does.
gdb/ChangeLog
2019-01-23 Tom Tromey <tom@tromey.com>
* language.h (class scoped_switch_to_sym_language_if_auto):
Initialize m_lang in both cases.
commit 6594e122864119d7b1434599c22b112f98e178ca
Author: Alan Hayward <alan.hayward@arm.com>
Date: Wed Jan 23 11:31:40 2019 +0000
AArch64: Ensure lwp info is created zeroed
The code to not set empty hardware BPs/WPs on new threads will only work
if the newly allocated struct is empty.
Ensure the structure is created zeroed.
This patch removes the remaining racy behaviour on gdb.threads tests
when run on AArch64 Ubuntu.
gdb/ChangeLog:
* nat/aarch64-linux.c (aarch64_linux_new_thread): Replace XNEW
with XCNEW.
commit d99386305c5420754e84b9e6073cb061922f4a27
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jan 23 10:26:54 2019 +0000
Updated translations for some of the binutils subdirectory.
commit 6406a2701bda7437e879bff026adc8a5a94e87ff
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date: Mon Jan 14 08:30:19 2019 +0100
ld: Add LTO warning to --wrap documentation
ld/
* ld.texi (--wrap): Add warning that LTO may make this feature
ineffective.
commit a7c9855d033996252fc55349fd3e01670cdd7943
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 15:18:50 2019 -0700
corelow.c does not need sys/file.h
I did not see any reason that corelow.c should include <sys/file.h>.
The provided explanatory comment seems to be wrong. This patch
removes the include.
2019-01-22 Tom Tromey <tom@tromey.com>
* corelow.c: Do not include sys/file.h.
commit 71ba91e1c0732e203ba465a2196caa45aa8b2179
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 14:50:24 2019 -0700
Include coff/sym.h from coff/ecoff.h
coff/ecoff.h refers to some names defined in coff/sym.h. Include the
latter from the former, so that users of the header don't need to know
this detail.
2019-01-22 Tom Tromey <tom@tromey.com>
* coff/ecoff.h: Include coff/sym.h.
commit 93cc1d53f545e84c279c890c6309f3feddd39212
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 14:18:25 2019 -0700
Include gdb_curses.h in tui-wingeneral.h
tui-wingeneral.h uses WINDOW, which is defined by curses. So, include
gdb_curses.h from tui-wingeneral.h.
2019-01-22 Tom Tromey <tom@tromey.com>
* tui/tui-wingeneral.h: Include gdb_curses.h.
commit 38561778f3c6a6af98355925bcfd5d3c1e39a484
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 14:17:32 2019 -0700
Rename "lines" parameter in source-cache.h
A compile in the TUI somehow had "lines" defined as a macro. This
caused a compile error when including source-cache.h after whatever
header did that. I tracked this down to a #define in
/usr/include/term.h, so I just changed source-cache.h to avoid the
clash.
gdb/ChangeLog
2019-01-22 Tom Tromey <tom@tromey.com>
* source-cache.h (class source_cache) <get_source_lines,
get_plain_source_lines, extract_lines>: Rename "lines" parameter.
commit 37b3ab5b547de7e727c5426c6615ece0284168c7
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 14:08:59 2019 -0700
Declare remote_target in remote-fileio.h
remote-fileio.h refers to remote_target, so forward-declare it.
gdb/ChangeLog
2019-01-22 Tom Tromey <tom@tromey.com>
* remote-fileio.h (struct remote_target): Declare.
commit 3fabc0163acbdffd9d77d7608604f737fc981399
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 13:49:06 2019 -0700
Do not include py-ref.h in most files
py-ref.h can really only be included from a specific spot in
python-internal.h. The other includes are not useful, and cause
compilation errors if the includes are ever sorted. So, remove these
includes.
Arguably, py-ref.h should simply not be a separate header.
gdb/ChangeLog
2019-01-22 Tom Tromey <tom@tromey.com>
* python/py-arch.c: Do not include py-ref.h.
* python/py-bpevent.c: Do not include py-ref.h.
* python/py-cmd.c: Do not include py-ref.h.
* python/py-continueevent.c: Do not include py-ref.h.
* python/py-event.h: Do not include py-ref.h.
* python/py-evtregistry.c: Do not include py-ref.h.
* python/py-finishbreakpoint.c: Do not include py-ref.h.
* python/py-frame.c: Do not include py-ref.h.
* python/py-framefilter.c: Do not include py-ref.h.
* python/py-function.c: Do not include py-ref.h.
* python/py-infevents.c: Do not include py-ref.h.
* python/py-linetable.c: Do not include py-ref.h.
* python/py-objfile.c: Do not include py-ref.h.
* python/py-param.c: Do not include py-ref.h.
* python/py-prettyprint.c: Do not include py-ref.h.
* python/py-progspace.c: Do not include py-ref.h.
* python/py-symbol.c: Do not include py-ref.h.
* python/py-symtab.c: Do not include py-ref.h.
* python/py-type.c: Do not include py-ref.h.
* python/py-unwind.c: Do not include py-ref.h.
* python/py-utils.c: Do not include py-ref.h.
* python/py-value.c: Do not include py-ref.h.
* python/py-varobj.c: Do not include py-ref.h.
* python/py-xmethods.c: Do not include py-ref.h.
* python/python.c: Do not include py-ref.h.
* varobj.c: Do not include py-ref.h.
commit 6b4d77743349028e471334da3d63df09cddfd820
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 13:45:00 2019 -0700
Use "struct bcache" in objfiles.h
If objfiles.h is included after bcache.h, then the "bcache" function
will cause a compiler error because "bcache" will be seen as a
function, not a type. Fix this error by using the "struct" keyword.
gdb/ChangeLog
2019-01-22 Tom Tromey <tom@tromey.com>
* objfiles.h (struct objfile_per_bfd_storage): Use "struct"
keyword for bcache.
commit 7af7e9b5d8f9dd8f994d59923158d24d77a54bbe
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 13:43:16 2019 -0700
Remove a comment in compile/compile-cplus-types.c
The include sorter can't handle multi-line comments on the same line
as a #include. This patch removes the only such comment.
In general I think these sorts of comments do not provide much value:
more often than not, I find that the comment is obsolete in one way or
another, and so the include sorter removes them in most cases.
gdb/ChangeLog
2019-01-22 Tom Tromey <tom@tromey.com>
* compile/compile-cplus-types.c: Remove a comment by #include.
commit 951d1049fab99c36b2ea827e4eaf954ee1869794
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 13:42:36 2019 -0700
Include compile-internal.h in gcc-c-plugin.h
gcc-c-plugin.h refers to some types defined in compile-internal.h.
This patch changes the former to include the latter.
gdb/ChangeLog
2019-01-22 Tom Tromey <tom@tromey.com>
* compile/gcc-c-plugin.h: Include compile-internal.h.
commit 2e8db3703b19c89e33b7eee633b0b0f1a79a5614
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jan 23 00:00:31 2019 +0000
Automatic date update in version.in
commit d65d5705cd6e972067dfa7ccf1f9e0950c1538ff
Author: Tom Tromey <tom@tromey.com>
Date: Tue Jan 22 01:58:59 2019 -0700
Remove the EXTERN define from stabsread.h
This removes the EXTERN define from stabsread.h. This is the only
spot that still uses this approach, and it interfered with sorting the
includes in stabsread.c.
Tested by rebuilding.
gdb/ChangeLog
2019-01-22 Tom Tromey <tom@tromey.com>
* stabsread.c (EXTERN): Do not define.
(symnum, next_symbol_text_func, processing_gcc_compilation)
(within_function, global_sym_chain, global_stabs)
(previous_stab_code, this_object_header_files)
(n_this_object_header_files)
(n_allocated_this_object_header_files): Define.
* stabsread.h (EXTERN): Never define. Use "extern".
commit b1afaa356621e3236ff27fec09e63fb99e9e990e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jan 22 00:00:30 2019 +0000
Automatic date update in version.in
commit b6fb1ee51c9a773d2d6044993af6c0fd7499638f
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Jan 20 16:59:00 2019 +0100
Fix leak in event-top.c history expansion
E.g. in gdb.base/default.exp, valgrind detects leaks such as
==17663== 1,438 bytes in 101 blocks are definitely lost in loss record 2,804 of 2,884
==17663== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==17663== by 0x418A17: xmalloc (common-utils.c:44)
==17663== by 0x4E6F19C: history_expand (histexpand.c:1061)
==17663== by 0x4B4490: handle_line_of_input(buffer*, char const*, int, char const*) (event-top.c:685)
==17663== by 0x4B4562: command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char> >&&) (event-top.c:753)
...
Fix the leak by using an unique_xmalloc_ptr for history_value.
gdb/ChangeLog
2019-01-22 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* event-top.c (handle_line_of_input): use unique_xmalloc_ptr for
history_value.
commit be6d4f74c77c6f521afc873d226480e001cb99c2
Author: Tom Tromey <tom@tromey.com>
Date: Sat Jan 19 14:08:48 2019 -0700
Remove duplicate or commented-out #includes
I wrote a little script to detect duplicate or commented-out #includes
and ran it on gdb. This patch is the result. Tested by rebuilding.
gdb/ChangeLog
2019-01-21 Tom Tromey <tom@tromey.com>
* ui-out.c: Fix includes.
* tui/tui-source.c: Fix includes.
* target.c: Fix includes.
* remote.c: Fix includes.
* regcache.c: Fix includes.
* python/py-block.c: Fix includes.
* printcmd.c: Fix includes.
* or1k-tdep.c: Fix includes.
* mi/mi-main.c: Fix includes.
* m32r-tdep.c: Fix includes.
* csky-tdep.c: Fix includes.
* compile/compile-cplus-types.c: Fix includes.
* cli/cli-interp.c: Fix includes.
gdb/gdbserver/ChangeLog
2019-01-21 Tom Tromey <tom@tromey.com>
* tracepoint.c: Fix includes.
* remote-utils.c: Fix includes.
* linux-x86-low.c: Fix includes.
gdb/stubs/ChangeLog
2019-01-21 Tom Tromey <tom@tromey.com>
* ia64vms-stub.c: Fix includes.
commit d7167c671da0323daf31a8e07945c57c25f858d2
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jan 21 08:41:28 2019 -0700
Fix leak in splay-tree
Philippe Waroquiers noticed a memory leak in gdb, which he tracked
down to a bug in splay-tree. splay_tree_remove does not call the
`delete_key' function when it removes the old node; but it should.
I looked at every splay tree in GCC and there is only one that passes
a non-NULL delete function -- the one in lto.c. That file does not
call splay_tree_remove. So, I think this is safe to check in.
I re-ran the LTO tests to double check.
libiberty/
* splay-tree.c (splay_tree_remove): Delete the key if necessary.
commit 73021deb50855f31bb312241899a464c62155f6a
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Jan 21 15:51:49 2019 +0000
AArch64 AAPCS: Empty structs have non zero size in C++
When gdb.base/infcall-nested-structs.c is complied as C++, the compiler
will not pass structs containing empty structs via float arguments.
This is because structs in C++ have a minimum size of 1, causing padding
in the struct once compiled. The AAPCS does not allow structs with
padding to be passed in float arguments.
Add padding checks to AArch64 and add C++ compile variant to the test.
Some of the tests fail on X86_64. This has been raised as bug gdb/24104.
gdb/ChangeLog:
* aarch64-tdep.c (aapcs_is_vfp_call_or_return_candidate_1): Check
for padding.
gdb/testsuite/ChangeLog:
* gdb.base/infcall-nested-structs.exp: Test C++ in addition to C.
commit a6c9b4042921847ee52003811383e4b8bf5d5875
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jan 21 13:05:44 2019 +0000
Updated Brazilian Portuguese translation for the ld/ subdirectory.
commit 375cd4233dd1576d48acf93309125183e2c9ec9e
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jan 21 12:59:20 2019 +0000
Updated translations for various binutils subdirectories.
commit acef8081ec2ce5dc387ee55a04f75fb27ade94ec
Author: Yuri Chornoivan <yurchor@ukr.net>
Date: Mon Jan 21 12:39:24 2019 +0000
Fix spelling mistakes in BFD library.
PR 24108
bfd * elf32-nds32.c (nds32_relocate_section): Add space between words
in error message.
* elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
error message.
(riscv_i_or_e_p): Likewise.
(riscv_merge_arch_attr_info): Likewise.
ld * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Update
expected error message.
commit fc65c7dbe0607dfb1fc3d1019c46df73854cc896
Author: Alan Hayward <alan.hayward@arm.com>
Date: Mon Jan 21 10:43:53 2019 +0000
Testsuite: Ensure stack protection is off for GCC
Using -fstack-protector-strong will cause GDB to break on the wrong line
when placing a breakpoint on a function. This is due to inadequate dwarf
line numbering, and is being tracked by the GCC bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88432
GCC (and Clang) provided by Debian/Ubuntu default to stack protector
being enabled.
Ensure that when running the GDB testsuite, stack protector is always
turned off for GCC 4.1.0 (when stack protector was added) and above.
Ensure that this does not cause infinite recursion due to
test_compiler_info having to compile a file itself.
Add a test to explicitly test breakpoints with various levels of stack
protection on both GCC and Clang, with xfail for the known errors.
Restore change in ovldbreak.exp which worked around the issue.
gdb/testsuite/ChangeLog:
2019-01-18 Alan Hayward <alan.hayward@arm.com>
* gdb.base/stack-protector.c: New test.
* gdb.base/stack-protector.exp: New file.
* gdb.cp/ovldbreak.exp: Only allow a single break line.
* lib/gdb.exp (get_compiler_info): Use getting_compiler_info
option.
(gdb_compile): Remove stack protector for GCC and prevent
recursion.
commit 111f47f3e4b685acc2378e46d0221e562c608ffc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jan 21 00:00:29 2019 +0000
Automatic date update in version.in
commit 57299f4831b9afe5923c808534003af665659a31
Author: Chenghua Xu <paul.hua.gm@gmail.com>
Date: Sun Jan 20 01:51:30 2019 +0000
[MIPS] fix typo in mips_arch_choices.
opcodes/
* mips-dis.c (mips_arch_choices): Fix typo in
gs464, gs464e and gs264e descriptors.
commit 3e80dafbfee64a4a9cdec17d60a3e18cf1fef28f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jan 20 00:01:16 2019 +0000
Automatic date update in version.in
commit f48dfe417e2ceb2251825336fe8769897a4d4b05
Author: Nick Clifton <nickc@redhat.com>
Date: Sat Jan 19 16:51:42 2019 +0000
Change version to 2.32.51 and regenerate configure and pot files.
commit f974f26cb16cc6fe3946f163c787a05e713fb77b
Author: Nick Clifton <nickc@redhat.com>
Date: Sat Jan 19 15:55:50 2019 +0000
Add markers for 2.32 branch to NEWS and ChangeLog files.
commit f3be6050c8d62d59a1846dacda5f895c5b0f9dbc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jan 19 00:00:46 2019 +0000
Automatic date update in version.in
commit 241110d6cde08bf7367281bac67951d11639269e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Jan 18 00:00:50 2019 +0000
Automatic date update in version.in
commit 7932255de56fb99836b2e712e7dbcfdd5e1f1309
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 16 07:18:58 2019 -0700
Make minimal symbol range adapter a method on objfile
This removes class objfile_msymbols in favor of a method on the
objfile.
2019-01-16 Tom Tromey <tom@tromey.com>
* objfiles.h (struct minimal_symbol_iterator): Rename. Move
earlier.
(struct objfile) <msymbols_range>: Move from top level.
<msymbols>: New method.
(class objfile_msymbols): Remove.
* symtab.c (default_collect_symbol_completion_matches_break_on):
Update.
* symmisc.c (dump_msymbols): Update.
* stabsread.c (scan_file_globals): Update.
* objc-lang.c (info_selectors_command, info_classes_command)
(find_methods): Update.
* minsyms.c (find_solib_trampoline_target): Update.
* hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Update.
* coffread.c (coff_symfile_read): Update.
* ada-lang.c (ada_lookup_simple_minsym)
(ada_collect_symbol_completion_matches): Update.
commit 604b1bfb46e62d561698397cb5499b487eb0db34
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 16 07:09:55 2019 -0700
Simplify minsym iteration
This simplifies the minimal symbol iterator, by using
minimal_symbol_count and just doing a somewhat ordinary array-like
iteration. array_view is nearly usable, except that it is more
convenient for this iterator to return pointers rather than
references.
gdb/ChangeLog
2019-01-16 Tom Tromey <tom@tromey.com>
* objfiles.h (class objfile_msymbols) <iterator>: Change argument
type. Remove no-argument constructor.
<iterator::operator++>: Simplify.
<begin>: Update.
<end>: Use minimal_symbol_count.
commit f252c6d5dc49cb27838e153e863f16ea7895859e
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 16 06:37:15 2019 -0700
Make psymtab range adapter a method on objfile
This removes the objfile_psymtabs class in favor of a method on
objfile and on psymtab_storage.
2019-01-16 Tom Tromey <tom@tromey.com>
* objfiles.h (struct objfile) <psymtabs>: New method.
(class objfile_psymtabs): Remove.
* psymtab.h (class psymtab_storage) <partial_symtab_range>: New
typedef.
<range>: New method.
(require_partial_symbols): Change return type.
* psymtab.c (require_partial_symbols)
(psym_expand_symtabs_matching): Update.
* mdebugread.c (parse_partial_symbols): Update.
* dbxread.c (dbx_end_psymtab): Update.
commit b669c95337903d39aa2254e8ea0405c0ac117d24
Author: Tom Tromey <tom@tromey.com>
Date: Tue Jan 15 20:06:48 2019 -0700
Add compunits range adapter to objfile
This removes the objfile_compunits range adapter in favor of using a
method on objfile.
2019-01-15 Tom Tromey <tom@tromey.com>
* symtab.c (lookup_objfile_from_block)
(lookup_symbol_in_objfile_symtabs)
(basic_lookup_transparent_type_1, find_pc_sect_compunit_symtab)
(find_line_symtab, info_sources_command)
(default_collect_symbol_completion_matches_break_on)
(make_source_files_completion_list): Update.
* symmisc.c (print_objfile_statistics, dump_objfile)
(maintenance_print_symbols, maintenance_info_symtabs)
(maintenance_check_symtabs, maintenance_info_line_tables):
Update.
* source.c (select_source_symtab)
(forget_cached_source_info_for_objfile): Update.
* objfiles.h (class objfile_compunits): Remove.
(struct objfile) <compunits_range>: New typedef.
(compunits): New method.
* objfiles.c (objfile_relocate1): Update.
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update.
* maint.c (count_symtabs_and_blocks): Update.
* linespec.c (iterate_over_all_matching_symtabs): Update.
* cp-support.c (add_symbol_overload_list_qualified): Update.
* coffread.c (coff_symtab_read): Update.
* ada-lang.c (add_nonlocal_symbols)
(ada_collect_symbol_completion_matches)
(ada_add_global_exceptions): Update.
commit 7e955d83c4128ec773d84b92487ed1cdfed09938
Author: Tom Tromey <tom@tromey.com>
Date: Tue Jan 15 17:06:38 2019 -0700
Change all_objfiles_safe adapter to be a method on program_space
This changes the all_objfiles_safe range adapter to be a method on the
program space, and fixes up all the users.
gdb/ChangeLog
2019-01-15 Tom Tromey <tom@tromey.com>
* progspace.h (program_space) <objfiles_safe_range>: New
typedef.
<objfiles_safe>: New method.
* objfiles.h (class all_objfiles_safe): Remove.
* objfiles.c (free_all_objfiles, objfile_purge_solibs): Update.
* jit.c (jit_inferior_exit_hook): Update.
commit 2030c079717475f5b6fad837bb81758891f3b802
Author: Tom Tromey <tom@tromey.com>
Date: Tue Jan 15 16:55:05 2019 -0700
Change all_objfiles adapter to be a method on program_space
This changes the all_objfiles range adapter to be a method on the
program space, and fixes up all the users.
gdb/ChangeLog
2019-01-17 Tom Tromey <tom@tromey.com>
* progspace.h (program_space) <objfiles_range>: New typedef.
<objfiles>: New method.
<objfiles_head>: Rename from objfiles.
(object_files): Update.
* guile/scm-progspace.c (gdbscm_progspace_objfiles): Update.
* guile/scm-pretty-print.c
(ppscm_find_pretty_printer_from_objfiles): Update.
* guile/scm-objfile.c (gdbscm_objfiles): Update.
* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
Update.
* python/py-progspace.c (pspy_get_objfiles): Update.
* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
Update.
* python/py-objfile.c (objfpy_lookup_objfile_by_name)
(objfpy_lookup_objfile_by_build_id): Update.
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update.
* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
Update.
* symtab.c (iterate_over_symtabs, matching_obj_sections)
(expand_symtab_containing_pc, lookup_objfile_from_block)
(lookup_static_symbol, basic_lookup_transparent_type)
(find_pc_sect_compunit_symtab, find_symbol_at_address)
(find_line_symtab, info_sources_command)
(default_collect_symbol_completion_matches_break_on)
(make_source_files_completion_list, find_main_name): Update.
* symmisc.c (print_symbol_bcache_statistics)
(print_objfile_statistics, maintenance_print_symbols)
(maintenance_print_msymbols, maintenance_print_objfiles)
(maintenance_info_symtabs, maintenance_check_symtabs)
(maintenance_expand_symtabs, maintenance_info_line_tables):
Update.
* symfile.c (remove_symbol_file_command, overlay_invalidate_all)
(find_pc_overlay, find_pc_mapped_section, list_overlays_command)
(map_overlay_command, unmap_overlay_command)
(simple_overlay_update, expand_symtabs_matching)
(map_symbol_filenames): Update.
* symfile-debug.c (set_debug_symfile): Update.
* spu-tdep.c (spu_overlay_update, spu_objfile_from_frame):
Update.
* source.c (select_source_symtab, forget_cached_source_info):
Update.
* solib.c (solib_read_symbols): Update.
* solib-spu.c (append_ocl_sos): Update.
* psymtab.c (maintenance_print_psymbols)
(maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
* probe.c (parse_probes_in_pspace, find_probe_by_pc): Update.
* printcmd.c (info_symbol_command): Update.
* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created):
Update.
* objfiles.h (class all_objfiles): Remove.
* objfiles.c (have_partial_symbols, have_full_symbols)
(have_minimal_symbols, qsort_cmp, update_section_map)
(shared_objfile_contains_address_p)
(default_iterate_over_objfiles_in_search_order): Update.
* objc-lang.c (info_selectors_command, info_classes_command)
(find_methods): Update.
* minsyms.c (find_solib_trampoline_target): Update.
* maint.c (maintenance_info_sections)
(maintenance_translate_address, count_symtabs_and_blocks):
Update.
* main.c (captured_main_1): Update.
* linux-thread-db.c (try_thread_db_load_from_pdir)
(has_libpthread): Update.
* linespec.c (iterate_over_all_matching_symtabs)
(search_minsyms_for_name): Update.
* jit.c (jit_find_objf_with_entry_addr): Update.
* hppa-tdep.c (find_unwind_entry)
(hppa_lookup_stub_minimal_symbol): Update.
* gcore.c (gcore_create_callback, objfile_find_memory_regions):
Update.
* elfread.c (elf_gnu_ifunc_resolve_by_cache)
(elf_gnu_ifunc_resolve_by_got): Update.
* dwarf2-frame.c (dwarf2_frame_find_fde): Update.
* dwarf-index-write.c (save_gdb_index_command): Update.
* cp-support.c (add_symbol_overload_list_qualified): Update.
* breakpoint.c (create_overlay_event_breakpoint)
(create_longjmp_master_breakpoint)
(create_std_terminate_master_breakpoint)
(create_exception_master_breakpoint): Update.
* blockframe.c (find_pc_partial_function): Update.
* ada-lang.c (ada_lookup_simple_minsym, add_nonlocal_symbols)
(ada_collect_symbol_completion_matches)
(ada_add_global_exceptions): Update.
commit 776489e0a79a14cb3f1138d4e4158ab9a8c7ecf3
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 16 21:46:00 2019 -0700
Remove cleanups from solib-target.c
This removes the remaining cleanups from solib-target.c, plus a VEC,
by using std::vector and std::unique_ptr.
Tested by the buildbot.
gdb/ChangeLog
2019-01-17 Tom Tromey <tom@tromey.com>
* solib-target.c (lm_info_target_p): Remove typedef. Don't
declare VEC.
(solib_target_parse_libraries): Change return type.
(library_list_start_segment, library_list_start_section)
(library_list_end_library, library_list_start_library); Update.
(solib_target_free_library_list): Remove.
(solib_target_parse_libraries): Remove cleanup. Change return
type.
(solib_target_current_sos): Update.
commit 6471e7d23de333a63a119220d59b920c6aaef562
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jan 17 10:19:44 2019 -0700
Replace "the the" with "the"
This replaces "the the" with "the" in various comments.
Tested by rebuilding. This didn't test the solib-dsbt.c change, but
it looks harmless.
gdb/ChangeLog
2019-01-17 Tom Tromey <tromey@bapiya>
* valprint.c: Replace "the the" with "the".
* symtab.c: Replace "the the" with "the".
* solib.c: Replace "the the" with "the".
* solib-dsbt.c: Replace "the the" with "the".
* linespec.c: Replace "the the" with "the".
* dwarf2loc.h: Replace "the the" with "the".
* amd64-windows-tdep.c: Replace "the the" with "the".
* aarch64-tdep.c: Replace "the the" with "the".
commit dee3ee22244df9c8b3220af7f4361e69adb84c97
Author: Tamar Christina <tamar.christina@arm.com>
Date: Thu Jan 17 16:05:37 2019 +0000
Arm: Clean up PE GAS testsuite correct THUMB tests.
The PE targets don't support mapping symbols and so the disassembler is unable
to correctly output thumb instructions when the input was thumb.
So for testcases that only have thumb output, I have copied them and skipped the
ones for which auto-detection is supposed to work on PE, and added a new one
that will force thumb output. This so that the tests still check the mapping
symbols.
For the tests that switch between thumb and arm in one file I just skip them
entirely on PE targets.
This cleans up the PE GAS testsuite.
gas/
* testsuite/gas/arm/archv6t2-1-pe.d: New test.
* testsuite/gas/arm/archv6t2-1.d: Skip pe.
* testsuite/gas/arm/csdb.d: Skip pe.
* testsuite/gas/arm/sb-thumb1-pe.d: New test.
* testsuite/gas/arm/sb-thumb1.d: Skip pe.
* testsuite/gas/arm/sb-thumb2-pe.d: New test.
* testsuite/gas/arm/sb-thumb2.d: Skip pe.
* testsuite/gas/arm/udf.d: Skip pe.
commit baae986a40eb2ed6d612436586bfa7dd1d88702d
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Jan 17 15:29:43 2019 +0000
Update objdump's --disassemble=<symbol> feature so that if <symbol> is a function, the entire function will be disassembled, regardless of the presence of interveening symbols.
* objdump.c (disassemble_section): When disassembling from a
symbol only stop at the next symbol if the original symbol was not
a function symbol. Otherwise continue disassembling until a new
function is reached.
* testsuite/binutils-all/objdump.exp: Add tests of extended
functionality.
* testsuite/binutils-all/disasm.s: New test source file.
commit e89c69419641d638a96cb7ca3c9fa4b3feac5ce0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jan 17 00:00:51 2019 +0000
Automatic date update in version.in
commit b84bb29de922b727ae8c37e88c670b299a3c52d8
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Jan 16 17:01:42 2019 -0500
Actually remove definitions of DEFINE_NON_INLINE_P and DEFINE_INLINE_P
I applied the patch "Do not expand macros to 'defined'" by hand because
I couldn't apply it with git-am, and of course forgot to remove the
macro definitions. This patch fixes it, and also makes the ChangeLog
entry a bit cleaner.
commit a4bf3d0720b1093dd148b7a728f92ce690a8a034
Author: Jim Wilson <jimw@sifive.com>
Date: Wed Jan 16 13:37:35 2019 -0800
Don't emit vendor attribute section if there is no attribute to emit.
2019-01-16 Kito Cheng <kito@andestech.com>
bfd/
* elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
for OBJ_ATTR_PROC.
gas/
* testsuite/gas/riscv/attribute-empty.d: New.
commit 7d7a7d7ccf6047cc5b480064e9eb9489542c0dd7
Author: Jim Wilson <jimw@sifive.com>
Date: Wed Jan 16 13:28:35 2019 -0800
RISC-V: Merge ELF attribute for ld.
2019-01-16 Kito Cheng <kito@andestech.com>
Nelson Chu <nelson@andestech.com>
bfd/
* elfnn-riscv.c (in_subsets): New.
(out_subsets): Likewise.
(merged_subsets): Likewise.
(riscv_std_ext_p): Likewise.
(riscv_non_std_ext_p): Likewise.
(riscv_std_sv_ext_p): Likewise.
(riscv_non_std_sv_ext_p): Likewise.
(riscv_version_mismatch): Likewise.
(riscv_i_or_e_p): Likewise.
(riscv_merge_std_ext): Likewise.
(riscv_merge_non_std_and_sv_ext): Likewise.
(riscv_merge_arch_attr_info): Likewise.
(riscv_merge_attributes): Likewise.
(_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
ld/
* testsuite/ld-elf/orphan-region.d: XFAIL for RISC-V, because add new
section.
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Add new tests.
* testsuite/ld-riscv-elf/attr-merge-arch-01.d: New test.
* testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-01b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align-a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align-b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s: Likewise.
commit 2dc8dd17cd595bd7a1b0824c83380af52e633fc1
Author: Jim Wilson <jimw@sifive.com>
Date: Wed Jan 16 13:14:59 2019 -0800
RISC-V: Support ELF attribute for gas and readelf.
2019-01-16 Kito Cheng <kito@andestech.com>
Nelson Chu <nelson@andestech.com>
bfd/
* elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
(elf_backend_obj_attrs_vendor): Define.
(elf_backend_obj_attrs_section_type): Likewise.
(elf_backend_obj_attrs_section): Likewise.
(elf_backend_obj_attrs_arg_type): Define as
riscv_elf_obj_attrs_arg_type.
* elfxx-riscv.c (riscv_estimate_digit): New.
(riscv_estimate_arch_strlen1): Likewise.
(riscv_estimate_arch_strlen): Likewise.
(riscv_arch_str1): Likewise.
(riscv_arch_str): Likewise.
* elfxx-riscv.h (riscv_arch_str): Declare.
binutils/
* readelf.c (get_riscv_section_type_name): New function.
(get_section_type_name): Add handler for RISC-V.
(riscv_attr_tag_t): Declare.
(riscv_attr_tag): New.
(display_riscv_attribute): New function.
(process_attributes): Add handler for RISC-V.
* testsuite/binutils-all/strip-3.d: Remove .riscv.attribute
section.
gas/
* config/tc-riscv.c (DEFAULT_RISCV_ATTR): Define to 0 if not defined.
(riscv_set_options): Add `arch_attr` field.
(riscv_opts): Set default value for arch_attr.
(riscv_write_out_arch_attr): New.
(riscv_set_public_attributes): Likewise.
(riscv_md_end): Likewise.
(riscv_convert_symbolic_attribute): Likewise.
(s_riscv_attribute): Likewise.
(explicit_arch_attr): Likewise.
(riscv_pseudo_table): Add .attribute to the table.
(options): Add OPTION_ARCH_ATTR and OPTION_NO_ARCH_ATTR
enumeration constants.
(md_longopts): Add `march-attr' and `mno-arch-attr' options.
(md_parse_option): Handle the new options.
(md_show_usage): Document the `march-attr' option.
* config/tc-riscv.h (md_end): Define as riscv_md_end
(riscv_md_end): Declare.
(CONVERT_SYMBOLIC_ATTRIBUTE): Define as
riscv_convert_symbolic_attribute.
(riscv_convert_symbolic_attribute): Declare.
(start_assemble): Declare.
* testsuite/gas/elf/elf.exp: Adjust test case for section2.e.
* testsuite/gas/elf/section2.e-riscv: New.
* testsuite/gas/riscv/attribute-01.d: New test
* testsuite/gas/riscv/attribute-02.d: Likewise.
* testsuite/gas/riscv/attribute-03.d: Likewise.
* testsuite/gas/riscv/attribute-04.d: Likewise.
* testsuite/gas/riscv/attribute-04.s: Likewise.
* testsuite/gas/riscv/attribute-05.d: Likewise.
* testsuite/gas/riscv/attribute-05.s: Likewise.
* testsuite/gas/riscv/attribute-06.d: Likewise.
* testsuite/gas/riscv/attribute-06.s: Likewise.
* testsuite/gas/riscv/attribute-07.d: Likewise.
* testsuite/gas/riscv/attribute-07.s: Likewise.
* testsuite/gas/riscv/attribute-08.d: Likewise.
* testsuite/gas/riscv/attribute-08.s: Likewise.
* testsuite/gas/riscv/attribute-unknown.d: Likewise.
* testsuite/gas/riscv/attribute-unknown.s: Likewise.
* testsuite/gas/riscv/empty.l: Likewise.
* doc/c-riscv.texi (.attribute): Add documentation.
* configure.ac (--enable-default-riscv-attribute): New options.
* configure: Re-generate.
* config.in: Re-generate.
include/
* elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define.
(Tag_RISCV_arch): Likewise.
(Tag_RISCV_priv_spec): Likewise.
(Tag_RISCV_priv_spec_minor): Likewise.
(Tag_RISCV_priv_spec_revision): Likewise.
(Tag_RISCV_unaligned_access): Likewise.
(Tag_RISCV_stack_align): Likewise.
commit 7516c26f867b8c235f28a4d449efb9990125e0a1
Author: Pavel I. Kryukov <kryukov@frtk.ru>
Date: Wed Jan 16 16:04:34 2019 -0500
Do not expand macros to 'defined'
Expanding a macro which contains 'defined' PP keyword is UB. It causes
a compilation failure when -Wexpansion-to-defined is used.
sim/common/Changelog:
2019-01-16 Pavel I. Kryukov <kryukov@frtk.ru>
* sim-arange.c: eliminate DEFINE_NON_INLINE_P
commit c24bdb023c8e1fa969d6eb945059fa8ed0d490c7
Author: Keith Seitz <keiths@redhat.com>
Date: Wed Jan 16 11:38:06 2019 -0800
Introduce dwarf2_cu::get_builder
This patch is an attempt to deal with a variety of bugs reported where
GDB segfaults attempting to access a dwarf2_cu's builder. In certain
circumstances, this builder can be NULL. This is especially common
when inheriting DIEs via inlined subroutines in other CUs. The test
case demonstrates one such situation reported by users. See gdb/23773,
rhbz1638798, and dups for other concrete examples.
The approach taken here is to save the ancestor CU into the dwarf2_cu of
all CUs with DIEs that are "imported." This can happen whenever
follow_die_offset and friends are called. This essentially introduces a
chain of CUs that caused the importation of a DIE from a CU. Whenever
a builder is requested of a CU that has none, the ancestors are searched
for the first one with a builder.
A design side effect of this is that the builder can now only be
accessed by getter and setter methods because the builder itself
is private.
The bulk of the patch is relatively mindless text conversion from
"cu->builder" to "cu->get_builder ()". I've included one test which
was derived from one (of the many) bugs reported on the issue in both
sourceware and Fedora bugzillas.
gdb/ChangeLog:
PR gdb/23773
* dwarf2read.c (dwarf2_cu) <ancestor>: New field.
<builder>: Rename to ..
<m_builder>: ... this and make private.
(dwarf2_cu::get_builder): New method. Change all users of
`builder' to use this method.
(dwarf2_start_symtab): Move to ...
(dwarf2_cu::start_symtab): ... here. Update all callers
(setup_type_unit_groups): Move to ...
(dwarf2_cu::setup_type_unit_groups): ... here. Update all
callers.
(dwarf2_cu::reset_builder): New method.
(process_full_compunit, process_full_type_unit): Use
dwarf2_cu::reset_builder.
(follow_die_offset): Record the ancestor CU if it is different
from the followed DIE's CU.
(follow_die_sig_1): Likewise.
gdb/testsuite/ChangeLog:
PR gdb/23773
* gdb.dwarf2/inlined_subroutine-inheritance.exp: New file.
commit 1fea0d5379be553f9bcee7c50fba4cff00176d1b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Jan 16 14:32:13 2019 -0500
doc: Add table of MI versions
This patch adds a table summarizing the history or MI versions:
- The version number
- Which GDB version introduced it
- Breaking changes compared to the previous version
The goal of the table is to help writers of front ends know which
version of MI they can use with a given GDB version. It will also help
them update their code to work against a newer MI version.
Right now, we just have 1 and 2, but we expect to add an entry for 3
soon. I did a bit of archelogy and reverse engineering of the code to
come up with the breaking changes for MI 2.
I did some changes to the text around it, some things that I thought
needed to be clarified, seemed a bit dated or seemed just wrong
(especially "Apart from mi0, new versions of @value{GDBN} will not
support old versions of MI").
gdb/doc/ChangeLog:
* gdb.texinfo (GDB/MI Development and Front Ends): Add table of
MI versions. Update text around it.
commit e7b47f2e68c6eaff916ea4d1202a77e15730f48f
Author: John Darrington <john@darrington.wattle.id.au>
Date: Mon Jan 14 16:55:17 2019 +0100
S12Z: gas: Fix bug when a symbol name was the single letter 'c'.
The assembler incorrectly recognised "c" as a register name, and
refused to allow it where it expected a symbol/label.
gas/
* config/tc-s12z.c (lex_reg_name): Compare the length of the strings
before the contents.
* testsuite/gas/s12z/labels.d: New file.
* testsuite/gas/s12z/labels.s: New file.
* testsuite/gas/s12z/s12z.exp: Add them.
commit 77fdb0e00bd47c564c4e32726fc6020d9441d4a7
Author: John Darrington <john@darrington.wattle.id.au>
Date: Wed Jan 16 14:34:50 2019 +0100
S12Z: gas: Permit "extend" instructions which don't actually extend.
Other assemblers permit "extending" a register into a register of a
smaller size or the same size. It doesn't make much sense to do this
but would appear to be a valid instruction. So change the error to a
warning.
gas/
* config/tc-s12z.c (tfr): Change as_bad to as_warn.
Also fix message typo and semantics.
commit d5dcaf1b59e77047e10a1f246095d6b21f7d9772
Author: John Darrington <john@darrington.wattle.id.au>
Date: Wed Jan 16 14:34:50 2019 +0100
S12Z: Emit RELOC_S12Z_OPR instead of RELOC_EXT24 where appropriate.
When assembling instructions which involve OPR references, emit
RELOC_S12Z_OPR instead of RELOC_EXT24.
bfd/
* bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
* libbfd.h: regen.
* elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
source field. (md_apply_fix): Apply final fix
to BFD_RELOC_S12Z_OPR.
* reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
gas/
* config/tc-s12z.c (emit_opr): Emit BFD_RELOC_S12Z_OPR instead of
BFD_RELOC_24.
* testsuite/gas/s12z/opr-indirect-expr.d: Expect R_S12Z_OPR instead
of R_S12Z_EXT24.
commit 338c923d26fa86f695fcdc4b659a5f0772768093
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jan 16 00:00:34 2019 +0000
Automatic date update in version.in
commit dc7e818497f0af0a3ee569f6eee0ad74e19b4bc2
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Tue Jan 15 17:45:39 2019 -0500
sim: Fix definition of SIM_ARANGE_INLINE
If HAVE_INLINE is false, SIM_ARANGE_INLINE is currently defined as
#define SIM_ARANGE_INLINE EXTERN
However, EXTERN is not defined anywhere, leading to errors such as:
In file included from
/mipt-mips/simulator/../../sim/common/sim-basics.h:147:0,
from /mipt-mips/simulator/export/gdb/sim-main.h:13,
from /mipt-mips/simulator/export/gdb/gdb_interface.cpp:7:
/mipt-mips/simulator/../../sim/common/sim-arange.h:71:27: error: âEXTERNâ
does not name a type; did you mean âEUSERSâ?
#define SIM_ARANGE_INLINE EXTERN
^
/mipt-mips/simulator/../../sim/common/sim-arange.h:76:1: note: in expansion
of macro âSIM_ARANGE_INLINEâ
SIM_ARANGE_INLINE int
^~~~~~~~~~~~~~~~~
I (Simon) have reproduced the problem by simply removing the HAVE_INLINE
definition. This was originally reported by Pavel I. Kryukov
<kryukov@frtk.ru>.
sim/common/ChangeLog:
* sim-arange.h (SIM_ARANGE_INLINE): Change EXTERN to extern.
commit 8d64371b6b710831ddfd6a8636097396040476ee
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jan 6 11:15:05 2019 -0700
Remove cleanup from remote.c
This removes the remaining cleanup from remote.c, by changing
remote_state::buf to be a gdb::char_vector, and then fixing up all the
fallout. The resulting patch is somewhat ugly, but on the other hand,
it eliminates some possibilities for mistakes.
Regression tested using the
Fedora-x86_64-native-extended-gdbserver-m64 builder on the buildbot.
gdb/ChangeLog
2019-01-15 Tom Tromey <tom@tromey.com>
* remote.c (class remote_state) <buf>: Now a char_vector.
<buf_size>: Remove.
(remote_target::getpkt): Change type of buf. Remove sizeof_buf
parameter.
(remote_target::getpkt_or_notif_sane_1)
(remote_target::getpkt_sane)
(remote_target::getpkt_or_notif_sane): Likewise.
(class remote_target) <putpkt>: New overload.
(remote_target::read_frame): Change type of "buf_p". Remove
sizeof_p parameter.
(packet_ok): New overload.
(packet_check_result): New overload.
Update all uses.
commit bb27775165d9b992120371383012404e213b1981
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jan 6 13:30:00 2019 -0700
Constify some remote-notif functions
This constifies the "buf" arguments to various remote-notif functions
and updates the users.
gdb/ChangeLog
2019-01-14 Tom Tromey <tom@tromey.com>
* remote-notif.c (handle_notification, remote_notif_ack)
(remote_notif_parse): Make "buf" const.
* remote-notif.h (struct notif_client) <parse, ack>: Make "buf"
const.
(remote_notif_parse, remote_notif_ack, handle_notification):
Likewise.
* remote.c (remote_notif_stop_parse): Make "buf" const.
(remote_target::remote_parse_stop_reply): Make "buf" const.
(remote_notif_stop_ack): Make "buf" const.
commit 05be00a884850c5fe314004c9b91609f480308f6
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jan 6 13:26:22 2019 -0700
Constify remote_console_output
This constifies the parameter to remote_console_output.
gdb/ChangeLog
2019-01-14 Tom Tromey <tom@tromey.com>
* remote.c (remote_console_output): Make parameter const.
commit 491adecac48c5960fe29582f5046c015ff92c211
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jan 6 13:24:11 2019 -0700
Constify target_pass_signals and target_program_signals
This constifies the final parameter to target_pass_signals and
target_program_signals and updates the rest of gdb.
Note that I have no way to test the nto-procfs.c change.
gdb/ChangeLog
2019-01-14 Tom Tromey <tom@tromey.com>
* target-debug.h (target_debug_print_signals): Constify.
* nto-procfs.c (nto_procfs_target::pass_signals): Update.
* procfs.c (procfs_target::pass_signals): Update.
* linux-nat.c (linux_nat_target::pass_signals): Update.
* linux-nat.h (class linux_nat_target) <pass_signals>: Update.
* target-delegates.c: Rebuild.
* remote.c (remote_target::program_signals): Update.
(remote_target::pass_signals): Update.
* target.c (target_pass_signals): Constify argument.
(target_program_signals): Likewise.
* target.h (struct target_ops) <pass_signals, program_signals>:
Constify argument.
(target_pass_signals, target_program_signals): Constify argument.
commit 183561e05eb4d504f65557756e987b584b72350b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jan 15 00:00:15 2019 +0000
Automatic date update in version.in
commit bbd94648f2115338bd94e9800ba0e37f09d98a79
Author: Tom Tromey <tom@tromey.com>
Date: Sat Jan 12 13:35:06 2019 -0700
Fix placement of output in TUI mode
The fix for PR tui/28819 regressed gdb command output a bit. In
"nonl" mode, pressing the Enter key will result in a newline not being
echoed properly, so that gdb output for the command will begin on the
same line as the input.
This patch changes gdb_wgetch to echo the newline. I have only tested
this interactively, as the TUI doesn't have automated tests in
general.
gdb/ChangeLog
2019-01-14 Tom Tromey <tom@tromey.com>
PR tui/28819:
* tui/tui-io.c (gdb_wgetch): Print \r when needed.
commit 8f0a21480babea5b22cba13a3bee722408ca57e3
Author: Ðавел ÐÑÑков <kryukov@frtk.ru>
Date: Fri Jan 11 12:47:42 2019 +0300
Include <string.h> to dis-asm.h to get strchr declaration
Include <string.h> to dis-asm.h to get strchr declaration
include/Changelog:
2019-01-11 Pavel I. Kryukov <kryukov@frtk.ru>
* dis-asm.h: include <string.h>
commit 6f072a103498fa9b7795782d9fdf1ae226f5565e
Author: Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
Date: Mon Jan 14 17:28:53 2019 -0200
[PowerPC] Aliases for vector registers
This patch defines pseudo-registers "v0" through "v31" as aliases that
map to the corresponding raw "vr0" through "vr31" vector registers for
Power.
The motivation behind this is that although GDB defines these
registers as "vrX", the disassembler prints them as "vX", e.g. as the
operands in instructions such as "vaddubm v2,v1,v1". This can be
confusing to users trying to print out the values of the operands
while inspecting the disassembled code.
The new aliases are made not to belong to any register group, to avoid
duplicated values in "info register vector" and "info register all".
The arch-specific rs6000_pseudo_register_reggroup_p function had
previously been removed since the other pseudo-registers could have
their groups inferred by their type. It restored with this patch to
handle the aliases. Membership for the other pseudo-registers is
still determined using the default function.
A new tests checks that GDB prints the expected values of vector
registers after they are filled by the inferior, by using both the raw
names and the aliases. Two other existing tests are modified to also
test the aliases.
gdb/ChangeLog:
2019-01-14 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
* ppc-tdep.h (struct gdbarch_tdep) <ppc_v0_alias_regnum>: New
field.
* rs6000-tdep.c: Include reggroups.h.
(IS_V_ALIAS_PSEUDOREG): Define.
(rs6000_register_name): Return names for the "vX" aliases.
(rs6000_pseudo_register_type): Return type for the "vX" aliases.
(rs6000_pseudo_register_reggroup_p): Restore. Handle "vX"
aliases. Call default_register_reggroup_p for all other
pseudo-registers.
(v_alias_pseudo_register_read, v_alias_pseudo_register_write):
New functions.
(rs6000_pseudo_register_read, rs6000_pseudo_register_write):
Handle "vX" aliases.
(v_alias_pseudo_register_collect): New function.
(rs6000_ax_pseudo_register_collect): Handle "vX" aliases.
(rs6000_gdbarch_init): Initialize "vX" aliases as
pseudo-registers. Restore registration of
rs6000_pseudo_register_reggroup_p with
set_tdesc_pseudo_register_reggroup_p.
gdb/testsuite/ChangeLog:
2019-01-14 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
* gdb.arch/vsx-regs.exp: Add tests that use the vector register
aliases.
* gdb.arch/altivec-regs.exp: Likewise. Fix indentation of two
tests.
* gdb.arch/powerpc-vector-regs.c: New file.
* gdb.arch/powerpc-vector-regs.exp: New file.
gdb/doc/ChangeLog:
2019-01-14 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
* gdb.texinfo (PowerPC Features): Document the alias
pseudo-registers for the org.gnu.gdb.power.altivec feature.
commit a7b8d68257c52281b08d9d858805e15667be6606
Author: Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
Date: Mon Jan 14 17:28:53 2019 -0200
[PowerPC] Fix "info vector" test in gdb.arch/altivec-regs.exp
This patch fixes one of the tests in gdb.arch/altivec-regs.exp that
was passing an incorrect list to gdb_expect_list, which always
matched.
gdb/testsuite/ChangeLog:
2019-01-14 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
* gdb.arch/altivec-regs.exp: Fix the list passed to
gdb_expect_list when testing "info vector".
commit f466c3053db1e075a8dd2583baa729c4edbbec0f
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jan 14 16:04:18 2019 +0000
Correct PR number in prevvious delta
commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335
Author: Maamoun Tarsha <maamountk@hotmail.com>
Date: Mon Jan 14 16:00:14 2019 +0000
Add support to GNU ld to separate got related plt entries from normal ones in order to be able to switch the non-plt got entries to read-only after startup, conforming to revised Linux for zSeries ABI.
PR 20133
* emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define.
* emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define.
* testsuite/ld-s390/gotreloc_31-1.dd: Update expected output.
* testsuite/ld-s390/tlsbin.dd: Likewise.
* testsuite/ld-s390/tlsbin.rd: Likewise.
* testsuite/ld-s390/tlsbin.sd: Likewise.
* testsuite/ld-s390/tlsbin_64.dd: Likewise.
* testsuite/ld-s390/tlsbin_64.rd: Likewise.
* testsuite/ld-s390/tlsbin_64.sd: Likewise.
* testsuite/ld-s390/tlspic.dd: Likewise.
* testsuite/ld-s390/tlspic.rd: Likewise.
* testsuite/ld-s390/tlspic.sd: Likewise.
* testsuite/ld-s390/tlspic_64.dd: Likewise.
* testsuite/ld-s390/tlspic_64.rd: Likewise.
* testsuite/ld-s390/tlspic_64.sd: Likewise.
* testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets.
commit d63f2be21bfbedb8a83b5c5f317896bf2bb19a95
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date: Mon Jan 14 15:47:35 2019 +0100
Sync config.guess, config.sub from GCC
Merge from GCC:
PR target/88535
* config.guess: Import upstream version 2019-01-03.
* config.sub: Import upstream version 2019-01-01.
commit 55e8aae79a341ce777565dade196e47773b53274
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date: Mon Jan 14 10:35:50 2019 +0000
Implement the assembly instructions yield, wfe, wfi and sev for ARMv6T2 in both ARM mode and Thumb mode.
* config/tc-arm.c (arm_ext_v6k_v6t2): Define.
(insns) [ARM_VARIANT]: Modified.
(insns) [THUMB_VARIANT]: To implement few ARMv6K instructions
in ARMv6T2 as well.
* testsuite/gas/arm/archv6t2-1.d: New test.
* testsuite/gas/arm/archv6t2-1.s: Likewise.
* testsuite/gas/arm/archv6t2-2.d: Likewise.
commit 4ea904edb7b04ad526bd8a5401729a6c1f5a982f
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date: Thu Jan 10 15:05:19 2019 +0100
ld: Clarify --wrap documentation
ld/
* ld.texi (--wrap): Add example to emphasise that only undefined
references are replaced by the linker.
commit 8a2d34fe51edb115574056f56dcea8438acd5285
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jan 14 00:00:33 2019 +0000
Automatic date update in version.in
commit 1a782351162b1158484923493b567231d1aec7d2
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Fri Nov 16 17:31:22 2018 -0800
gdb: xtensa: fix register counters for xtensa-linux
Commit 37d9e0623102 ("gdb: xtensa: handle privileged registers") changed
how the tdep->num_regs and tdep->num_pseudo_regs are calculated, but
didn't update these numbers in the gdbarch for the xtensa-linux target.
As a result xtensa-linux-gdb behaves as xtensa-elf-gdb and cannot
communicate with the linux gdbserver.
Fix tdep->num_pseudo_regs calculation and call set_gdbarch_num_regs and
set_gdbarch_num_pseudo_regs in xtensa_linux_init_abi.
gdb/
2019-01-13 Max Filippov <jcmvbkbc@gmail.com>
* xtensa-linux-tdep.c (xtensa_linux_init_abi): Update
tdep->num_pseudo_regs. Add calls to set_gdbarch_num_regs and
set_gdbarch_num_pseudo_regs.
commit f589354db4c983696fe1db791763823aec83f8fa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jan 13 00:00:51 2019 +0000
Automatic date update in version.in
commit d73cff189ddc3725697e614d4d247819f754f096
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Mon Dec 31 14:37:09 2018 +0100
Implement help/show values for 'set|show style'.
Currently, the behaviour is:
(gdb) show style
(gdb) set style
(gdb) show style address
(gdb) set style address
(gdb)
With this patch, the behaviour is:
(gdb) show style
style address background: The "address" background color is: none
style address foreground: The "address" foreground color is: blue
style address intensity: The "address" display intensity is: normal
enabled: CLI output styling is enabled.
style filename background: The "filename" background color is: none
style filename foreground: The "filename" foreground color is: green
style filename intensity: The "filename" display intensity is: normal
style function background: The "function" background color is: none
style function foreground: The "function" foreground color is: yellow
style function intensity: The "function" display intensity is: normal
style variable background: The "variable" background color is: none
style variable foreground: The "variable" foreground color is: cyan
style variable intensity: The "variable" display intensity is: normal
(gdb) set style
"set style" must be followed by an appropriate subcommand.
List of set style subcommands:
set style address -- Address display styling
set style enabled -- Set whether CLI styling is enabled
set style filename -- Filename display styling
set style function -- Function name display styling
set style variable -- Variable name display styling
Type "help set style" followed by set style subcommand name for full documentation.
Type "apropos word" to search for commands related to "word".
Command name abbreviations are allowed if unambiguous.
(gdb) show style address
background: The "filename" background color is: none
foreground: The "filename" foreground color is: green
intensity: The "filename" display intensity is: normal
(gdb) set style address
List of set style address subcommands:
set style address background -- Set the background color for this property
set style address foreground -- Set the foreground color for this property
set style address intensity -- Set the display intensity color for this property
Type "help set style address" followed by set style address subcommand name for full documentation.
Type "apropos word" to search for commands related to "word".
Command name abbreviations are allowed if unambiguous.
(gdb)
gdb/ChangeLog
* cli/cli-style.h (class cli_style_option): <add_setshow_commands>
Remove arg prefixname, add do_set and do_show.
Add member functions set_list and show_list.
* cli/cli-style.c (class cli_style_option): Update accordingly.
(style_set_list): Move to file scope.
(style_show_list): Likewise.
(set_style): Call help_list.
(show_style): Call cmd_show_list.
(_initialize_cli_style): New macro STYLE_ADD_SETSHOW_COMMANDS.
Update to use the new macro.
commit 4ce8c66d19abec8a768add7f6102e856157a3952
Author: Yoshinori Sato <ysato@users.sourceforge.jp>
Date: Sun Jan 6 00:06:49 2019 +0900
Add RXv3 instructions.
* rx-decode.opc (DSIZE): New. double size.
(_ld): New. dmov size attribute.
(PSCALE): Add double size.
(DCR, DDR, DDRH, DDRL, DCND): New. Double FPU registers.
(SCR, SDR, SDRH, SDRL): Likewise.
(S2DR, S2CR): Likewise.
(SDD): New. double displacement.
(DL): New. Set dmov size attribute.
(rx_decode_opcode): Add RXv3 instructions.
* rx-decode.c: Regenerate.
* rx-dis.c (size_names): Add double entry.
(opsize_names): Likewise.
(double_register_names): New. Double FPU registers.
(double_register_high_names): Likewise.
(double_register_low_names): Likewise.
(double_register_control_names): Likewise.
(double_condition_names): dcmp condition.
(print_insn_rx): Add bfmov / bfmovz output.
Add double FPU output.
commit 60a90376792474224f3d22b1d9813844a3b3589a
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sat Jan 12 09:47:58 2019 -0500
expand a bit the in-GDB help for the "catch exception" help text
One of our users remarked that the help doesn't mention the fact that
the "catch exception" supports the special argument "unhandled" to catch
exceptions which do not have a handler. This patch changes the output
of...
| (gdb) help catch exception
| Catch Ada exceptions, when raised.
| With an argument, catch only exceptions with the given name.
... to ...
| (gdb) help catch exception
| Catch Ada exceptions, when raised.
| Usage: catch exception [ ARG ]
|
| Without any argument, stop when any Ada exception is raised.
| If ARG is "unhandled" (without the quotes), only stop when the exception
| being raised does not have a handler (and will therefore lead to the task's
| termination).
| Otherwise, the catchpoint only stops when the name of the exception being
| raised is the same as ARG.
gdb/ChangeLog:
* ada-lang.c (_initialize_ada_language): Expand the help text
for the "catch exception" command.
Tested on x86_64-linux, no regression.
commit 6eb6fb6787430a2589e0382aa3e2e4f6f2a0a600
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Jan 11 23:27:33 2019 +0000
gdb/testsuite: Don't allow paths to appear in test name
Having paths in the test names makes it harder to compare results
between two runs in different directories. Give the test a name so
that the path doesn't appear.
gdb/ChangeLog:
* gdb.base/style.exp: Don't include path in testname.
commit 9d7c67bfbde3b948704b46f8a6fd479e98ecf2c8
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Jan 12 07:37:36 2019 +0100
Fix 'obj' may be used uninitialized warning in symtab.c:matching_obj_sections.
Fix warning:
gdb/symtab.c: In function âint matching_obj_sections(obj_section*, obj_section*)â:
gdb/symtab.c:1024:12: warning: âobjâ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (obj->separate_debug_objfile_backlink != NULL
2019-01-12 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* symtab.c (matching_obj_sections): Initialize obj,
declare it closer to its usage.
commit 7d62943cd492bb502f0d335cc695be15ae50cea3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jan 12 00:00:30 2019 +0000
Automatic date update in version.in
commit c7af41ec2c79bb68d7c57907699edae5187bbfa6
Author: Alan Modra <amodra@gmail.com>
Date: Fri Jan 11 22:22:30 2019 +1030
More fallout from PR 23963 change
PR 23963
* testsuite/gas/m68hc11/lbranch-dwarf2.d: Adjust for PR23963 change.
* testsuite/gas/m68hc11/opers12-dwarf2.d: Likewise.
commit ec0807b28ecde66dd7c2f76adf433f0024685f6d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Jan 11 00:00:25 2019 +0000
Automatic date update in version.in
commit 7cf47dc46635d8ec14c315e1f17480b56f4808b8
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jan 10 10:50:43 2019 -0700
Replace inf_threads_iterator with next_iterator
This changes inf_threads_iterator and some range adapters in
thread-iter.h to use next_iterator and next_adapter instead.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* thread-iter.h (inf_threads_iterator): Use next_iterator.
(basic_inf_threads_range): Remove.
(inf_threads_range, inf_non_exited_threads_range)
(safe_inf_threads_range): Use next_adapter.
commit b56f80d8b27dffd0f8c02b8b11068b71b9fec375
Author: Keith Seitz <keiths@redhat.com>
Date: Thu Jan 10 13:57:09 2019 -0800
gdb/23712: Test case for multidictionary
This is a test derived from one of the reproducers in symtab/23010.
The DIE tree used here is typical of compilations with LTO, where an
artificial parent DIE of language C99 imports DIEs of other languages.
gdb/testsuite/ChangeLog:
PR gdb/23712
PR symtab/23010
* gdb.dwarf2/multidictionary.exp: New file.
commit d3cb68081112a4976979df3f8eae7ca926e76519
Author: Keith Seitz <keiths@redhat.com>
Date: Thu Jan 10 13:57:08 2019 -0800
gdb/23712: Remove dw2_add_symbol_to_list
Finally, we can remove dw2_add_symbol_to_list since the wrapper function
originally introduced to catch this multi-language scenario is no longer
needed. With multi-language dictionaries, we can now support adding
symbols of multiple languages, negating the need for the assertion
entirely.
This patch should now fix gdb/23712 (and symtab/23010). At least it will
if the NULL buildsym_compunit problem doesn't strike first (see gdb/23773).
gdb/ChangeLog:
PR gdb/23712
PR symtab/23010
* dwarf2read.c (dw2_add_symbol_to_list): Remove.
(fixup_go_packaging, new_symbol): Use add_symbol_to_list.
commit 63a20375b401e24c30987367a10b47b289612e1c
Author: Keith Seitz <keiths@redhat.com>
Date: Thu Jan 10 13:57:08 2019 -0800
gdb/23712: Cleanup/Remove temporary dictionary functions
Now that multidictionary's are being used, there is no longer any need
to retain the four temporary functions introduced in the beginning of
this series.
This patch removes them.
As an additional cleanup, since the single-language dictionaries are
no longer used outside dictionary.c, make all of those functions
static.
gdb/ChangeLog:
PR gdb/23712
PR symtab/23010
* dictionary.c (pending_to_vector): Remove.
(dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1):
Remove _1 suffix, replacing functions of the same name. Update
all callers.
(dict_create_hashed, dict_create_hashed_expandable)
(dict_create_linear, dict_create_linear_expandable, dict_free)
(dict_add_symbol, dict_add_pending, dict_size, dict_empty):
Make functions static.
commit b026f59345a336cabf74719fce9f96cab7c7ab4d
Author: Keith Seitz <keiths@redhat.com>
Date: Thu Jan 10 13:57:08 2019 -0800
gdb/23712: Use new multidictionary API
This patch builds on the previous by enabling the `new' multidictionary
API. A lot of the hunks are simply textual replacements of "dict_"
with "mdict_" and similar transformations.
A word of warning, even with the use of multidictionaries, the code
still does not satisfactorily fix the reported problems with gdb/23712
(or gdb/23010). We still have additional changes to make before that
happens.
gdb/ChangeLog:
PR gdb/23712
PR symtab/23010
* dictionary.h (struct dictionary): Replace declaration with
multidictionary.
(dict_create_hashed, dict_create_hashed_expandable)
(dict_create_linear, dict_create_linear_expandable)
(dict_free, dict_add_symbol, dict_add_pending, dict_empty)
(dict_iterator_first, dict_iterator_next, dict_iter_match_first)
(dict_iter_match_next, dict_size): Rename to "mdict_" versions
taking multidictionary argument.
[ALL_DICT_SYMBOLS]: Update for multidictionary.
* block.h (struct block) <dict>: Change to multidictionary
and rename `multidict'.
* block.c, buildsym.c, jit.c, mdebugread.c, objfiles.c,
symmisc.c: Update all dictionary references to multidictionary.
commit c7748ee9ceb5a394658cd07aeb0445924599e442
Author: Keith Seitz <keiths@redhat.com>
Date: Thu Jan 10 13:57:08 2019 -0800
gdb/23712: Introduce multidictionary's
gdb/23712 is a new manifestation of the now-infamous (at least to me)
symtab/23010 assertion failure (DICT_LANGUAGE == SYMBOL_LANGAUGE).
An example of the problem (using test case from symtab/23010):
Reading symbols from /home/rdiez/rdiez/arduino/JtagDue/BuildOutput/JtagDue-obj-release/firmware.elf...done.
(gdb) p SysTick_Handler
dwarf2read.c:9715: internal-error: void dw2_add_symbol_to_list(symbol*, pending**): Assertion `(*listhead) == NULL || (SYMBOL_LANGUAGE ((*listhead)->symbol[0]) == SYMBOL_LANGUAGE (symbol))' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
This assertion was added specifically to catch this condition (of adding
symbols of different languages to a single pending list).
The problems we're now seeing on systems utilizing DWARF debugging seem to
be caused by the use of LTO, which adds a CU with an artificial DIE of
language C99 which references DIEs in other CUs of language C++.
Thus, we create a dictionary containing symbols of C99 but end up
stuffing C++ symbols into it, and the dw2_add_symbol_to_list triggers.
The approach taken here to fix this is to introduce multi-language
dictionaries to "replace" the standard, single-language dictionaries
used today.
Note to reviewers: This patch introduces some temporary functions to
aide with review. This and other artifacts (such as "See dictionary.h"
which appear incorrect) will all be valid at the end of the series.
This first patch introduces the new multidictionary and its API (which
is, by design, identical to the old dictionary interface). It also
mutates dict_create_hashed and dict_create_linear so that they take
a std::vector instead of the usual struct pending linked list. This will
be needed later on.
This patch does /not/ actually enable multidictionary's. That is left
for a subsequent patch in the series.
I've done exhaustive performance testing with this approach, and I've
attempted to minimize the overhead for the (overwhelmingly) most common
one-language scenario.
On average, a -g3 -O0 GDB (the one we developers use) will see
approximately a 4% slowdown when initially reading symbols. [I've
tested only GDB and firefox with -readnow.] When using -O2, this
difference shrinks to ~0.5%. Since a number of runs with these
patches actually run /faster/ than unpatched GDB, I conclude that
these tests have at least a 0.5% error margin.
On our own gdb.perf test suite, again, results appear to be pretty
negligible. Differences to unpatched GDB range from -7.8% (yes,
patched version is again faster than unpatched) to 27%. All tests
lying outside "negligible," such as the 27% slowdown, involve a total
run time of 0.0007 (or less) with smaller numbers of CUs/DSOs (usually 10
or 100). In all cases, the follow-up tests with more CUs/DSOs is never
more than 3% difference to the baseline, unpatched GDB.
In my opinion, these results are satisfactory.
gdb/ChangeLog:
PR gdb/23712
PR symtab/23010
* dictionary.c: Include unordered_map.
(pending_to_vector): New function.
(dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1):
Rewrite the non-"_1" functions to take vector instead
of linked list.
(dict_create_hashed, dict_create_linear, dict_add_pending): Use the
"new" _1 versions of the same name.
(multidictionary): Define.
(std::hash<enum language): New definition.
(collate_pending_symbols_by_language, mdict_create_hashed)
(mdict_create_hashed_expandable, mdict_create_linear)
(mdict_create_linear_expandable, mdict_free)
(find_language_dictionary, create_new_language_dictionary)
(mdict_add_symbol, mdict_add_pending, mdict_iterator_first)
(mdict_iterator_next, mdict_iter_match_first, mdict_iter_match_next)
(mdict_size, mdict_empty): New functions.
* dictionary.h (mdict_iterator): Define.
commit 67aa1f3c2881e607081d9e1b57be3e7544c2c45c
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jan 10 17:52:39 2019 +0000
Fix tracepoint.c:parse_tracepoint_definition leak (and one more)
Coverity points out that gdb/tracepoint.c:parse_tracepoint_definition
can leak 'cond' in this line:
cond = (char *) xmalloc (2 * xlen + 1);
That can leak because we're in a loop and 'cond' may have already been
xmalloc'ed into in a previous iteration. That won't normally happen,
because we don't expect to see a tracepoint definition with multiple
conditions listed, but, it doesn't hurt to be pedantically correct,
in case some stub manages to send something odd back to GDB.
At first I thought I'd just replace the xmalloc call with:
cond = (char *) xrealloc (cond, 2 * xlen + 1);
and be done with it. However, my pedantic self realizes that
warning() can throw as well (due to pagination + Ctrl-C), so I fixed
it using gdb::unique_xmalloc_ptr instead.
While doing this, I noticed that these vectors in struct uploaded_tp:
std::vector<char *> actions;
std::vector<char *> step_actions;
hold heap-allocated strings, but nothing is freeing the strings,
AFAICS.
So I ended up switching all the heap-allocated strings in uploaded_tp
to unique pointers. This patch is the result of that.
I also wrote an alternative, but similar patch that uses std::string
throughout instead of gdb::unique_xmalloc_ptr, but in the end reverted
it because the code didn't look that much better, and I kind of
dislike replacing pointers with fat std::string's (3 or 4 times the
size of a pointer) in structures.
gdb/ChangeLog:
2019-01-10 Pedro Alves <palves@redhat.com>
* breakpoint.c (read_uploaded_action)
(create_tracepoint_from_upload): Adjust to use
gdb::unique_xmalloc_ptr.
* ctf.c (ctf_write_uploaded_tp):
(SET_ARRAY_FIELD): Use emplace_back.
(SET_STRING_FIELD): Adjust to use gdb::unique_xmalloc_ptr.
* tracefile-tfile.c (tfile_write_uploaded_tp):
* tracepoint.c (parse_tracepoint_definition): Adjust to use
gdb::unique_xmalloc_ptr.
* tracepoint.h (struct uploaded_tp) <cond, actions, step_actions,
at_string, cond_string, cmd_strings>: Replace char pointers
with gdb::unique_xmalloc_ptr.
commit 2f667667e24357ff54701f3e046820cf08d649cf
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jan 10 17:52:39 2019 +0000
Fix leak in solib-target.c:library_list_start_library
lm_info_target::name is nowadays std::string, so we're leaking the
result of xstrdup.
gdb/ChangeLog:
2019-01-10 Pedro Alves <palves@redhat.com>
* solib-target.c (library_list_start_library): Don't xstrdup name.
commit 36cb72375cc371b786ceaec588ec26f8c55ae2ec
Author: Pedro Alves <palves@redhat.com>
Date: Thu Jan 10 17:52:38 2019 +0000
Fix leak in mdebugread.c
Coverity points out that all the "continue;" statements in the switch
case in parse_partial_symbols leak STABSTRING. This is because we
only release STABSTRING at the end of the scope, with:
if (stabstring
&& stabstring != debug_info->ss + fh->issBase + sh.iss)
xfree (stabstring);
but that bit of code is skipped if a case in the switch statement ends
with "continue".
Fix this by using gdb::unique_xmalloc_ptr to manage the heap-allocated
version of 'stabsstring'.
I don't know how to test this.
gdb/ChangeLog:
2019-01-10 Pedro Alves <palves@redhat.com>
* mdebugread.c (parse_partial_symbols): Use
gdb::unique_xmalloc_ptr to manage heap-allocated 'stabsstring'.
commit da584958006fd0a3f3dccd25a0a54fa79a0976bc
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 10 17:00:48 2019 +0000
gdb: Fix incorrect variable name in scoped_switch_fork_info
The previous commit:
commit 1ef8573cc77c91feeef3edab74d383d20809eb33
Date: Wed Jan 9 14:02:39 2019 +0000
gdb: Improve scoped_switch_fork_info class
contained a bug, an incorrect variable name was used. Fixed in this
commit.
gdb/ChangeLog:
* linux-fork.c (scoped_switch_fork_info)
<~scoped_switch_fork_info>: Fix incorrect variable name.
commit 1ef8573cc77c91feeef3edab74d383d20809eb33
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Jan 9 14:02:39 2019 +0000
gdb: Improve scoped_switch_fork_info class
After committing this patch I got this feedback:
https://sourceware.org/ml/gdb-patches/2019-01/msg00181.html
This patch makes the constructor of scoped_switch_fork_info explicit,
and wraps the core of the destructor in a TRY/CATCH block.
I've run this through the testsuite on X86-64/GNU Linux, however, this
code is not exercised, so this patch is untested.
gdb/ChangeLog:
* linux-fork.c (scoped_switch_fork_info)
<scoped_switch_fork_info>: Make explicit.
<~scoped_switch_fork_info>: Wrap core in TRY/CATCH.
commit 59aa9b0be159002e2eb971176921dc1e9c8045cf
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Jan 10 15:23:03 2019 +0000
Correct changelog entry.
commit 12add40ee4d01fa0cb4bdb67a7d5d13d6a3b4e23
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Jan 10 15:19:33 2019 +0000
Stop objdump from displaying control codes embedded in symbol names.
PR 23963
binutils* objdump.c (sanitize_string): New function. Removes control
characters from symbol names.
(dump_section_header): Use new function.
(objdump_print_symname): Likewise.
(objdump_print_addr_with_sym): Likewise.
(show_line): Likewise.
(disassemble_bytes): Likewise.
(disassemble_section): Likewise.
(load_specific_debug_section): Likewise.
(read_section_stabs): Likewise.
(print_section_stabs): Likewise.
(dump_section): Likewise.
(dump_reloc_set): Likewise.
(dump_relocs_in_section): Likewise.
(dump_bfd): Likewise.
(display_any_bfd): Likewise.
gas * testsuite/gas/mips/mips16-branch-absolute-1.d: Adjust for the fact that
control characters are now displayed as escape sequences.
* testsuite/gas/mips/mips16-e.d: Likewise.
* testsuite/gas/mips/mips16-pcrel-0.d: Likewise.
* testsuite/gas/mips/mips16-pcrel-1.d: Likewise.
* testsuite/gas/mips/mips16-pcrel-delay-0.d: Likewise.
* testsuite/gas/mips/mips16-pcrel-delay-1.d: Likewise.
* testsuite/gas/mips/mips16-pcrel-n32-0.d: Likewise.
* testsuite/gas/mips/mips16-pcrel-n32-1.d: Likewise.
* testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: Likewise.
* testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: Likewise.
* testsuite/gas/mips/mips16e2@mips16-pcrel-0.d: Likewise.
* testsuite/gas/mips/mips16e2@mips16-pcrel-1.d: Likewise.
* testsuite/gas/mips/mips16e2@mips16-pcrel-delay-0.d: Likewise.
* testsuite/gas/mips/mips16e2@mips16-pcrel-delay-1.d: Likewise.
* testsuite/gas/mips/mips16e2@mips16-pcrel-n32-0.d: Likewise.
* testsuite/gas/mips/mips16e2@mips16-pcrel-n32-1.d: Likewise.
* testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-0.d:
Likewise.
* testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-1.d:
Likewise.
* testsuite/gas/mips/mipsel16-e.d: Likewise.
* testsuite/gas/mips/mipsr6@msa.d: Likewise.
* testsuite/gas/mips/mipsr6@relax-swap3.d: Likewise.
* testsuite/gas/mips/r6-64-n32.d: Likewise.
* testsuite/gas/mips/r6-64-n64.d: Likewise.
* testsuite/gas/mips/r6-n32.d: Likewise.
* testsuite/gas/mips/r6-n64.d: Likewise.
* testsuite/gas/mips/r6.d: Likewise.
* testsuite/gas/mips/tmips16-e.d: Likewise.
* testsuite/gas/mips/tmipsel16-e.d: Likewise.
* testsuite/gas/mn10300/relax.d: Likewise.
commit 8d7bcccb82d9a7efccd75d9552d007c62031e855
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:57 2018 -0600
Move psymtabs to their own obstack
Previously, the psymtab obstack was just a pointer to the objfile
obstack. This patch changes psymtabs to use their own obstack,
instead. A gdb::optional is used to avoid unnecessary allocation when
the obstack is not needed.
After this patch, the psymtab code lifetime model is that, in the core
psymtab code, objects allocated on the psymtab obstack may point to
other such objects, or to objects on the per-BFD obstack -- but never
to the objfile obstack.
Note however that this invariant is only obeyed the core psymtab code,
and even there not quite fully: there is still a link from the psymtab
to the full symtab.
Symbol readers are free to work however they like; and in particular,
even after this patch, in practice all symbol readers violate this
invariant via the read_symtab_private field.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* objfiles.h (objfile::reset_psymtabs): Update.
* objfiles.c (objfile::objfile): Update.
* psymtab.h (psymtab_storage::obstack): Update.
(psymtab_storage::m_obstack): Use gdb::optional.
(class psymtab_storage): Update comment. Remove objfile
parameter.
* psymtab.c (psymtab_storage::psymtab_storage): Update.
commit b596a3c77da2387d7e5a3855717d65ce33bdfb58
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:56 2018 -0600
Make psymtab_storage::free_psymtabs private
This adds a new psymtab allocation method to psymtab_storage and
changes the free_psymtabs member to be private. While not strictly
necessary, this seems like a decent cleanup, and also makes it simpler
to move psymtabs off of obstacks entirely, should that prove
desirable.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* psymtab.h (psymtab_storage::allocate_psymtab): New method.
<free_psymtabs>: Now private.
* psymtab.c (psymtab_storage::allocate_psymtab): Implement.
(allocate_psymtab): Use new method.
commit a9342b62885d5119593fa4330924e031e14c6406
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:55 2018 -0600
Add psymtab_storage::allocate_dependencies
This adds a new method to psymtab_storage to allocate storage for
psymtab dependencies, then changes the symbol readers to use it. This
has the effect of moving the storage to the psymtab storage obstack.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* xcoffread.c (xcoff_end_psymtab): Use allocate_dependencies.
* psymtab.h (psymtab_storage::allocate_dependencies): New method.
* mdebugread.c (parse_partial_symbols): Use
allocate_dependencies.
* dwarf2read.c (dwarf2_create_include_psymtab): Use
allocate_dependencies.
(process_psymtab_comp_unit_reader)
(build_type_psymtab_dependencies): Likewise.
* dbxread.c (dbx_end_psymtab): Use allocate_dependencies.
commit 5af70966484d6b26fa7824c0cda110140cd4959b
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:54 2018 -0600
Move more allocations to psymtab obstack
This moves a couple more psymtab-related allocations to the psymtab
obstack.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* psymtab.c (add_psymbol_to_bcache): Pass psymtab obstack to
PSYMBOL_SET_LANGUAGE.
(allocate_psymtab): Allocate psymtab on the psymtab obstack.
commit 5923a04c0c489054d275e3b0441626ce1ae7344a
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:53 2018 -0600
Allocate the address map on the psymtab obstack
After this patch, the psymtab address map will now be allocated on the
psymtab obstack rather than the objfile obstack. This also changes
the psymtab storage object to make the obstack private; this will be
used later.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* psymtab.h (psymtab_storage::obstack): New method.
<m_obstack>: Rename from obstack; now private.
* psymtab.c (psymtab_storage): Update.
* dwarf2read.c (create_addrmap_from_index)
(create_addrmap_from_aranges, dwarf2_build_psymtabs_hard):
Update.
commit 6d6a12bf87bc6dd89b2533b5d0490fdcc00df9ad
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:52 2018 -0600
Introduce objfile::reset_psymtabs
This introduces a new method, objfile::reset_psymtabs, and changes
reread_symbols to use it. This method simply destroys the existing
partial symbols and recreates the psymtab_storage object.
This patch fixes a latent bug -- namely, that reread_symbols should
clear objfile::psymbol_map, but does not. I can submit that
separately if you'd prefer.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* symfile.c (reread_symbols): Call objfile->reset_psymtabs.
* objfiles.h (objfile::reset_psymtabs): New method.
commit d320c2b5e181828418224521f2acd2ff48e127f4
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:51 2018 -0600
Introduce class psymtab_storage
This introduces a new psymtab_storage class, which holds all
psymbol-related objects that are independent of the objfile. (This
latter contraint explains why psymbol_map was not moved; though this
could still be done with some work.)
This patch does not yet change where psymtab allocation is done --
that comes later. This just wraps everything in a single object to
make further transformations simpler.
Note that a shared_ptr is used to link from the objfile to the
psymtab_storage object. The end goal here is to allow a given symbol
reader to simply attach to the psymtab_storage object to the BFD, then
reuse it in later invocations; shared_ptr makes this simple to reason
about.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* symmisc.c (print_symbol_bcache_statistics): Update.
(print_objfile_statistics): Update.
* symfile.c (reread_symbols): Update.
* psymtab.h (class psymtab_storage): New.
* psymtab.c (psymtab_storage): New constructor.
(~psymtab_storage): New destructor.
(require_partial_symbols): Update.
(ALL_OBJFILE_PSYMTABS_REQUIRED): Rewrite.
(find_pc_sect_psymtab, find_pc_sect_psymbol)
(match_partial_symbol, lookup_partial_symbol, dump_psymtab)
(psym_dump, recursively_search_psymtabs, psym_has_symbols)
(psym_find_compunit_symtab_by_address, sort_pst_symbols)
(start_psymtab_common, end_psymtab_common)
(add_psymbol_to_bcache, add_psymbol_to_list, init_psymbol_list)
(allocate_psymtab): Update.
(psymtab_storage::discard_psymtab): Rename from discard_psymtab.
Update.
(dump_psymtab_addrmap, maintenance_print_psymbols)
(maintenance_check_psymtabs): Update.
(class objfile_psymtabs): Move to objfiles.h.
* psympriv.h (discard_psymtab): Now inline.
(psymtab_discarder::psymtab_discarder): Update.
(psymtab_discarder::~psymtab_discarder): Update.
(ALL_OBJFILE_PSYMTABS): Rewrite.
* objfiles.h (struct objfile) <psymtabs, psymtabs_addrmap,
free_psymtabs, psymbol_cache, global_psymbols, static_psymbols>:
Remove fields.
<partial_symtabs>: New field.
(class objfile_psymtabs): Move from psymtab.h. Update.
* objfiles.c (objfile::objfile): Initialize partial_symtabs, not
psymbol_cache.
(objfile::~objfile): Don't destroy psymbol_cache.
* mdebugread.c (parse_partial_symbols): Update.
* dwarf2read.c (create_addrmap_from_index)
(create_addrmap_from_aranges, dw2_find_pc_sect_compunit_symtab)
(process_psymtab_comp_unit_reader, dwarf2_build_psymtabs_hard)
(add_partial_subprogram, dwarf2_ranges_read): Update.
* dwarf-index-write.c (write_address_map)
(write_one_signatured_type, recursively_write_psymbols)
(class debug_names, class debug_names, write_psymtabs_to_index):
Update.
commit 1d94a5a36a614cf7ebe259d7660f4fa725f38ee2
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:49 2018 -0600
Change symbol_set_names to take an objfile_per_bfd_storage
This changes symbol_set_names to take an objfile_per_bfd_storage
argument, and updates the users. It also changes PSYMBOL_SET_NAMES to
take this argument directly; I feel this clarifies the storage
location of objects created in psymtab.c.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* symtab.h (SYMBOL_SET_NAMES): Update.
(symbol_set_names): Update.
(MSYMBOL_SET_NAMES): Update.
* symtab.c (symbol_set_names): Change argument to be an
objfile_per_bfd_storage.
* psymtab.c (add_psymbol_to_bcache): Update.
* psympriv.h (PSYMBOL_SET_NAMES): Take per_bfd argument.
commit 0f14768a2a6ba894ae81010e8e70c99ecdb39a73
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:48 2018 -0600
Change create_demangled_names_hash to take an objfile_per_bfd_storage
This changes create_demangled_names_hash to take an
objfile_per_bfd_storage parameter. This makes it clearer where it is
storing the objects it allocates.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* symtab.c (create_demangled_names_hash): Change argument to be an
objfile_per_bfd_storage.
(symbol_set_names): Update.
commit 6eee24ce30f8e95335c2ad8586f9a64398eb2cd4
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:47 2018 -0600
Simplify calls to init_psymbol_list
Existing callers to init_psymbol_list were checking to see if psymbols
had already been initialized. It seemed better to me to do this check
directly in init_psymbol_list, simplifying the callers.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* xcoffread.c (xcoff_initial_scan): Unconditionally call
init_psymbol_list.
* psymtab.c (init_psymbol_list): Do nothing if already called.
* psympriv.h (init_psymbol_list): Add comment.
* dwarf2read.c (dwarf2_build_psymtabs): Unconditionally call
init_psymbol_list.
* dbxread.c (dbx_symfile_read): Unconditionally call
init_psymbol_list.
commit 75aedd27e6a2c58734ab44cc7cad8491f19d059a
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:46 2018 -0600
Change add_psymbol_to_list to use an enum
This changes add_psymbol_to_list to use an enum, rather than a pointer
to a vector, to decide where to put the new symbol. This reduces the
number of direct references to the static_psymbols and global_psymbols
members of the objfile, which is handy in a later patch.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* xcoffread.c (scan_xcoff_symtab): Update.
* psymtab.c (add_psymbol_to_list): Replace "list" parameter with
"where".
* mdebugread.c (parse_partial_symbols)
(handle_psymbol_enumerators): Update.
* dwarf2read.c (add_partial_symbol, load_partial_dies): Update.
* dbxread.c (read_dbx_symtab): Update.
* psympriv.h (psymbol_placement): New enum.
(add_psymbol_to_list): Update.
commit 939652a515a10654b16b97e7e2ea39c013714850
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:45 2018 -0600
Remove parameters from start_psymtab_common
start_psymtab_common takes references to the global_psymbols and
static_psymbols vectors, but it also has an objfile parameter. This
is redundant, so this patch simplifies the function by removing those
reference parameters.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* xcoffread.c (xcoff_start_psymtab): Remove global_psymbols and
static_psymbols parameters.
(scan_xcoff_symtab): Update.
* psymtab.c (start_psymtab_common): Remove global_psymbols and
static_psymbols parameters.
* psympriv.h (start_psymtab_common): Update.
* mdebugread.c (parse_partial_symbols): Update.
* dwarf2read.c (create_partial_symtab): Update.
* dbxread.c (read_dbx_symtab): Update.
(start_psymtab): Remove global_psymbols and static_psymbols
parameters.
commit baa62830ed84d45b414ff677b7bce900a21923ce
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:44 2018 -0600
Remove some unneeded psymtab initializations
allocate_psymtab has long cleared the new psymtab that is returned.
This patch documents this behavior and then removes some redundant
initializations.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* xcoffread.c (xcoff_end_psymtab): Remove some initializations.
* psymtab.c (allocate_psymtab): Add comment.
* psympriv.h (allocate_psymtab): Add comment.
* dwarf2read.c (dwarf2_create_include_psymtab): Remove some
initializations.
* dbxread.c (dbx_end_psymtab): Remove some initializations.
commit 0e8f53badb3df16f4104890395d9324a5bcf568d
Author: Tom Tromey <tom@tromey.com>
Date: Thu May 10 16:23:43 2018 -0600
Move some declarations to mdebugread.h
This moves a couple of mdebugread-related declarations from symfile.h
to mdebugread.h, which seemed more appropriate.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* symfile.h (mdebug_build_psymtabs, elfmdebug_build_psymtabs):
Don't declare.
* mipsread.c: Include mdebugread.h.
* mdebugread.h (mdebug_build_psymtabs, elfmdebug_build_psymtabs):
Declare.
* elfread.c: Include mdebugread.h.
commit 1910070b298052d7ca8e4024891465824588c1e9
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Jan 10 09:44:13 2019 +0000
Sync libiberty sources with gcc master versions.
. * libiberty: Sync with gcc. Bring in:
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
PR other/16615
* cp-demangle.c: Mechanically replace "can not" with "cannot".
* floatformat.c: Likewise.
* strerror.c: Likewise.
2018-12-22 Jason Merrill <jason@redhat.com>
Remove support for demangling GCC 2.x era mangling schemes.
* cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname,
internal_cplus_demangle, and all subroutines.
(libiberty_demanglers): Remove entries for ancient GNU (pre-3.0),
Lucid, ARM, HP, and EDG demangling styles.
(cplus_demangle): Remove 'work' variable. Don't call
internal_cplus_demangle.
include * Merge from GCC:
2018-12-22 Jason Merrill <jason@redhat.com>
* demangle.h: Remove support for ancient GNU (pre-3.0), Lucid,
ARM, HP, and EDG demangling styles.
commit b22a7c6ab6173fe4fa1352e14d00a234bbf50346
Author: Tom Tromey <tom@tromey.com>
Date: Sat Nov 24 14:22:25 2018 -0700
Remove ALL_OBJFILE_PSYMTABS
This removes the ALL_OBJFILE_PSYMTABS macro, replacing its uses with
ranged for loops.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* dbxread.c (dbx_end_psymtab): Use objfile_psymtabs.
* mdebugread.c (parse_partial_symbols): Use objfile_psymtabs.
* psymtab.c (ALL_OBJFILE_PSYMTABS_REQUIRED): Remove.
(psym_map_symtabs_matching_filename, find_pc_sect_psymtab)
(psym_lookup_symbol, psym_find_last_source_symtab)
(psym_forget_cached_source_info, psym_print_stats)
(psym_expand_symtabs_for_function, psym_expand_all_symtabs)
(psym_expand_symtabs_with_fullname, psym_map_symbol_filenames)
(psym_map_matching_symbols, psym_expand_symtabs_matching)
(psym_find_compunit_symtab_by_address)
(maintenance_print_psymbols, maintenance_info_psymtabs)
(maintenance_check_psymtabs): Use ranged for.
* psymtab.h (class objfile_psymtabs): New.
(require_partial_symbols): Return objfile_psymtabs.
* psympriv.h (ALL_OBJFILE_PSYMTABS): Remove.
commit 3b9d3ac236dcc418619785e0660fc0063e6489b8
Author: Tom Tromey <tom@tromey.com>
Date: Sat Nov 24 11:54:26 2018 -0700
Remove ALL_OBJSECTIONS
This removes the ALL_OBJSECTIONS macro, replacing its uses with ranged
for loops.
The special code in this macro for noticing a "break" from the inner
loop was only needed in a single place; so rather than try to
replicate this, I've simply replaced that use with a "goto".
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* symfile.c (overlay_invalidate_all, find_pc_overlay)
(find_pc_mapped_section, list_overlays_command)
(map_overlay_command, unmap_overlay_command)
(simple_overlay_update): Use all_objfiles.
* spu-tdep.c (spu_overlay_update): Use all_objfiles.
* printcmd.c (info_symbol_command): Use all_objfiles.
* objfiles.h (ALL_OBJSECTIONS): Remove.
* maint.c (maintenance_translate_address): Use all_objfiles.
* gcore.c (gcore_create_callback): Use all_objfiles.
(objfile_find_memory_regions): Likewise.
commit 8b31193aa9752ba60d63cedaba943370d76ce543
Author: Tom Tromey <tom@tromey.com>
Date: Sat Nov 24 09:58:20 2018 -0700
Remove ALL_OBJFILES and ALL_FILETABS
This removes the ALL_OBJFILES and ALL_FILETABS macros, replacing them
with ranged for loops.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* symtab.c (find_line_symtab, info_sources_command)
(make_source_files_completion_list): Use objfile_compunits.
* source.c (select_source_symtab): Use objfile_compunits.
* objfiles.h (struct objfile): Update comment.
(ALL_OBJFILES): Remove.
(ALL_FILETABS): Remove.
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Use
objfile_compunits.
commit d5da8b3c0d99e71c27832a4e9b60c61eebf9767c
Author: Tom Tromey <tom@tromey.com>
Date: Sat Nov 24 09:51:44 2018 -0700
Remove ALL_OBJFILE_FILETABS
This removes ALL_OBJFILE_FILETABS, replacing its uses with ranged for
loops.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* symmisc.c (print_objfile_statistics, dump_objfile)
(maintenance_print_symbols): Use compunit_filetabs.
* source.c (forget_cached_source_info_for_objfile): Use
compunit_filetabs.
* objfiles.h (ALL_OBJFILE_FILETABS): Remove.
(ALL_FILETABS): Use compunit_filetabs.
* objfiles.c (objfile_relocate1): Use compunit_filetabs.
* coffread.c (coff_symtab_read): Use compunit_filetabs.
commit 5accd1a07e080c386918da413e0f9e90c4cab58a
Author: Tom Tromey <tom@tromey.com>
Date: Sat Nov 24 09:49:24 2018 -0700
Remove ALL_COMPUNIT_FILETABS
This removes ALL_COMPUNIT_FILETABS, replacing its uses with ranged for
loops.
Because this is still used in the ALL_OBJFILE_FILETABS macro, in some
places a declaration had to be removed or renamed to avoid shadowing.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* symtab.h (ALL_COMPUNIT_FILETABS): Remove.
(compunit_filetabs): New.
* symtab.c (iterate_over_some_symtabs, find_pc_sect_line): Use
compunit_filetabs.
(info_sources_command, make_source_files_completion_list): Remove
declaration.
* symmisc.c (print_objfile_statistics, dump_objfile)
(maintenance_print_symbols): Remove declaration.
(maintenance_info_symtabs): Use compunit_filetabs.
(maintenance_info_line_tables): Likewise.
* source.c (select_source_symtab): Change local variable name.
(forget_cached_source_info_for_objfile): Remove declaration.
* objfiles.h (ALL_OBJFILE_FILETABS): Use compunit_filetabs.
* objfiles.c (objfile_relocate1): Remove declaration.
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove
declaration.
* maint.c (count_symtabs_and_blocks): Use compunit_filetabs.
* coffread.c (coff_symtab_read): Remove declaration.
* buildsym.c (buildsym_compunit::end_symtab_with_blockvector): Use
compunit_filetabs.
commit d8aeb77f040ced7d37ab83f032b2e4ded2c81ca5
Author: Tom Tromey <tom@tromey.com>
Date: Sat Nov 24 09:20:18 2018 -0700
Remove ALL_COMPUNITS
This removes the ALL_COMPUNITS, replacing its uses with two nested
ranged for loops.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* symtab.c (lookup_objfile_from_block)
(find_pc_sect_compunit_symtab, search_symbols)
(default_collect_symbol_completion_matches_break_on): Use
objfile_compunits.
* objfiles.h (ALL_COMPUNITS): Remove.
* maint.c (count_symtabs_and_blocks): Use objfile_compunits.
* cp-support.c (add_symbol_overload_list_qualified): Use
objfile_compunits.
* ada-lang.c (ada_collect_symbol_completion_matches)
(ada_add_global_exceptions): Use objfile_compunits.
commit 592553c46959c98bf5981ad245d0fbb97f373d2a
Author: Tom Tromey <tom@tromey.com>
Date: Sat Nov 24 09:00:42 2018 -0700
Remove ALL_OBJFILE_COMPUNITS
This removes ALL_OBJFILE_COMPUNITS, replacing its uses with ranged for
loops. Because ALL_COMPUNITS is also updated, in some places a
declaration must be deleted to avoid shadowing.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* source.c (select_source_symtab)
(forget_cached_source_info_for_objfile): Remove declaration.
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove
declaration.
* maint.c (count_symtabs_and_blocks): Remove declaration.
* cp-support.c (add_symbol_overload_list_qualified): Remove
declaration.
* coffread.c (coff_symtab_read): Remove declaration.
* symtab.c (lookup_symbol_in_objfile_symtabs)
(basic_lookup_transparent_type_1): Use objfile_compunits.
(lookup_objfile_from_block, find_pc_sect_compunit_symtab)
(info_sources_command, search_symbols)
(default_collect_symbol_completion_matches_break_on)
(make_source_files_completion_list): Remove declaration.
* ada-lang.c (add_nonlocal_symbols): Use objfile_compunits.
(ada_collect_symbol_completion_matches)
(ada_add_global_exceptions): Remove declaration.
* linespec.c (iterate_over_all_matching_symtabs): Use
objfile_compunits.
* objfiles.h (ALL_OBJFILE_COMPUNITS): Remove.
(class objfile_compunits): New.
(ALL_COMPUNITS): Use objfile_compunits.
* symmisc.c (print_objfile_statistics, maintenance_info_symtabs)
(maintenance_check_symtabs, maintenance_info_line_tables): Use
objfile_compunits.
* objfiles.c (objfile_relocate1): Use objfile_compunits.
commit 5325b9bf1ee283c40f076334eb3ea66e1f0a6ade
Author: Tom Tromey <tom@tromey.com>
Date: Fri Nov 23 17:32:08 2018 -0700
Remove ALL_MSYMBOLS and ALL_OBJFILE_MSYMBOLS
This removes the ALL_MSYMBOLS and ALL_OBJFILE_MSYMBOLS macros,
replacing their uses with ranged for loops.
In a couple of spots, a new declaration was needed in order to work
around shadowing; these are just temporary and are removed in a
subsequent patch.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* symtab.c (search_symbols)
(default_collect_symbol_completion_matches_break_on): Use
objfile_msymbols.
* ada-lang.c (ada_lookup_simple_minsym)
(ada_collect_symbol_completion_matches): Use objfile_msymbols.
* minsyms.c (find_solib_trampoline_target): Use objfile_msymbols.
* hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Use
objfile_msymbols.
* coffread.c (coff_symfile_read): Use objfile_msymbols.
* symmisc.c (dump_msymbols): Use objfile_msymbols.
* objc-lang.c (find_methods): Use objfile_msymbols.
(info_selectors_command, info_classes_command): Likewise.
* stabsread.c (scan_file_globals): Use objfile_msymbols.
* objfiles.h (class objfile_msymbols): New.
(ALL_OBJFILE_MSYMBOLS): Remove.
(ALL_MSYMBOLS): Remove.
commit cac85af2467c9bac326b397b150274d95d2916a5
Author: Tom Tromey <tom@tromey.com>
Date: Fri Nov 23 17:09:34 2018 -0700
Remove ALL_OBJFILES_SAFE
This removes the ALL_OBJFILES_SAFE macro, replacing the uses with
ranged for loops.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* common/next-iterator.h (next_adapter): Add Iterator template
parameter.
* objfiles.h (ALL_OBJFILES_SAFE): Remove.
(class all_objfiles_safe): New.
* jit.c (jit_inferior_exit_hook): Use all_objfiles_safe.
* objfiles.c (put_objfile_before): Update comment.
(add_separate_debug_objfile): Likewise.
(free_all_objfiles): Use all_objfiles_safe.
(objfile_purge_solibs): Likewise.
commit aed57c537116ae91f553ac835b3f96d1f87b3bb0
Author: Tom Tromey <tom@tromey.com>
Date: Fri Nov 23 12:20:05 2018 -0700
Remove most uses of ALL_OBJFILES
This removes most uses of ALL_OBJFILES, replacing them with ranged for
loops. The remaining uses are all in macros, and will be removed in
subsequent patches.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* symtab.c (iterate_over_symtabs, matching_obj_sections)
(expand_symtab_containing_pc, lookup_static_symbol)
(basic_lookup_transparent_type, find_pc_sect_compunit_symtab)
(find_symbol_at_address, find_line_symtab, find_main_name): Use
all_objfiles.
* probe.c (find_probe_by_pc, collect_probes): Use all_objfiles.
* breakpoint.c (create_overlay_event_breakpoint)
(create_longjmp_master_breakpoint)
(create_std_terminate_master_breakpoint)
(create_exception_master_breakpoint): Use all_objfiles.
* linux-thread-db.c (try_thread_db_load_from_pdir)
(has_libpthread): Use all_objfiles.
* ada-lang.c (add_nonlocal_symbols): Use all_objfiles.
* linespec.c (iterate_over_all_matching_symtabs)
(search_minsyms_for_name): Use all_objfiles.
* maint.c (maintenance_info_sections): Use all_objfiles.
* main.c (captured_main_1): Use all_objfiles.
* spu-tdep.c (spu_objfile_from_frame): Use all_objfiles.
* guile/scm-objfile.c (gdbscm_objfiles): Use all_objfiles.
* guile/scm-pretty-print.c
(ppscm_find_pretty_printer_from_objfiles): Use all_objfiles.
* solib-spu.c (append_ocl_sos): Use all_objfiles.
* symmisc.c (maintenance_print_symbols): Use all_objfiles.
(maintenance_print_msymbols): Use all_objfiles.
* source.c (select_source_symtab): Use all_objfiles.
* jit.c (jit_find_objf_with_entry_addr): Use all_objfiles.
* symfile.c (remove_symbol_file_command)
(expand_symtabs_matching, map_symbol_filenames): Use
all_objfiles.
* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created): Use
all_objfiles.
* dwarf2-frame.c (dwarf2_frame_find_fde): Use all_objfiles.
* objc-lang.c (find_methods): Use all_objfiles.
* objfiles.c (have_partial_symbols, have_full_symbols)
(have_minimal_symbols, qsort_cmp)
(default_iterate_over_objfiles_in_search_order): Use
all_objfiles.
* hppa-tdep.c (find_unwind_entry): Use all_objfiles.
* psymtab.c (maintenance_print_psymbols): Use all_objfiles.
(maintenance_check_psymtabs): Use all_objfiles.
(ALL_PSYMTABS): Remove.
* compile/compile-object-run.c (do_module_cleanup): Use
all_objfiles.
* blockframe.c (find_pc_partial_function): Use all_objfiles.
* cp-support.c (add_symbol_overload_list_qualified): Use
all_objfiles.
* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
Use all_objfiles.
* dwarf-index-write.c (save_gdb_index_command): Use all_objfiles.
* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Use
all_objfiles.
* python/py-objfile.c (objfpy_lookup_objfile_by_name)
(objfpy_lookup_objfile_by_build_id): Use all_objfiles.
* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
Uses all_objfiles.
* solib.c (solib_read_symbols): Use all_objfiles
commit 99d89cdea6c296bdd94ce532350d139d3900ff78
Author: Tom Tromey <tom@tromey.com>
Date: Fri Nov 23 11:58:27 2018 -0700
Remove ALL_PSPACE_OBJFILES
This removes the ALL_PSPACE_OBJFILES macro in favor of ranged for
loops.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* probe.c (parse_probes_in_pspace): Use all_objfiles.
* guile/scm-progspace.c (gdbscm_progspace_objfiles): Use
all_objfiles.
* objfiles.h (ALL_PSPACE_OBJFILES): Remove.
* symmisc.c (print_symbol_bcache_statistics)
(print_objfile_statistics, maintenance_print_objfiles)
(maintenance_info_symtabs, maintenance_check_symtabs)
(maintenance_expand_symtabs, maintenance_info_line_tables): Use
all_objfiles.
* source.c (forget_cached_source_info): Use all_objfiles.
* symfile-debug.c (set_debug_symfile): Use all_objfiles.
* elfread.c (elf_gnu_ifunc_resolve_by_cache)
(elf_gnu_ifunc_resolve_by_got): Use all_objfiles.
* objfiles.c (update_section_map): Use all_objfiles.
(shared_objfile_contains_address_p): Likewise.
* psymtab.c (maintenance_info_psymtabs): Use all_objfiles.
* python/py-progspace.c (pspy_get_objfiles): Use all_objfiles.
commit 217083254a26b9e1dc42c43f573054740988c2cf
Author: Tom Tromey <tom@tromey.com>
Date: Thu Jun 14 22:12:16 2018 -0700
Introduce all_objfiles and next_iterator
This introduces an iterable object which can be used to iterate over
objfiles. It also introduces a generic "next_iterator", which can be
used to iterate over types that have a "next" field.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* common/next-iterator.h: New file.
* objfiles.h (class all_objfiles): New.
(struct objfile_iterator): New.
commit d30e1903399c32605d38b8d75a612c0d5d3d18b5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jan 10 00:00:28 2019 +0000
Automatic date update in version.in
commit a08da33eb3f69dec01810440a40c77ed56a79b69
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Wed Jan 9 13:59:16 2019 -0800
Merge from gcc: use "cannot" instead of "can not" in libiberty and include.
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
Merge from GCC:
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
PR other/16615 [2/5]
include/
* libiberty.h: Mechanically replace "can not" with "cannot".
* plugin-api.h: Likewise.
libiberty/
* cp-demangle.c: Mechanically replace "can not" with "cannot".
* floatformat.c: Likewise.
* strerror.c: Likewise.
commit 669e09f609d30e070dc26db34d938a0888a01928
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Wed Jan 9 22:37:52 2019 +0100
NEWS: Move changed commands description to Changed commands section.
2019-01-09 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* NEWS: Move the description of the changed "frame", "select-frame",
and "info frame" commands to the Changed commands section.
commit 448b8ca86519cce1216c9db5f0236604a6a33320
Author: John Darrington <john@darrington.wattle.id.au>
Date: Fri Jan 4 09:44:58 2019 +0100
S12Z: Don't crash when disassembling invalid instructions.
Check for null before dereferencing an operand pointer. Normally
this situation should never arise, but could happen if a "partial"
instruction is encountered at the end of a file or section.
opcodes/
* s12z-dis.c (print_insn_s12z): Do not dereference an
operand if it is null.
commit 39f286cd585226ad98c2cd94ee0f96988b3696ce
Author: John Darrington <john@darrington.wattle.id.au>
Date: Mon Dec 31 07:48:10 2018 +0000
S12Z: Fix disassembly of indexed OPR operands with zero index.
gas/
* testsuite/gas/s12z/jsr.s: New case.
* testsuite/gas/s12z/jsr.d: New case.
opcodes/
* s12z-dis.c (opr_emit_disassembly): Do not omit an index if it is
zero.
commit 041be52673949e5b6cc2b507e55a379a54ab8ee0
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Jan 9 12:57:16 2019 -0500
gdb: Remove support for old mangling schemes
An upcoming sync with gcc's libiberty [1] will remove support for old
mangling schemes (GNU v2, Lucid, ARM, HP and EDG). It will remove the
cplus_demangle_opname function, so we need to get rid of its usages in
GDB (it's a GNU v2 specific function).
I think the changes are mostly relatively obvious, some hacks that were
necessary to support overloaded operators with GNU v2 mangling are not
needed anymore.
The change in stabsread.c is perhaps less obvious. I think we could get
rid of more code in that region that is specific to old mangling
schemes, but I chose to do only the minimal changes required to remove
the cplus_demangle_opname uses. There is also a detailed comment just
above that explaining how GNU v2 and v3 mangled symbols are handled, I
decided to leave it as-is, since I wasn't sure which part to remove,
change or leave there.
[1] The commit "Remove support for demangling GCC 2.x era mangling
schemes.", specifically.
gdb/ChangeLog:
* gdbtypes.c (check_stub_method_group): Remove handling of old
mangling schemes.
* linespec.c (find_methods): Likewise.
* stabsread.c (read_member_functions): Likewise.
* valops.c (search_struct_method): Likewise.
(value_struct_elt_for_reference): Likewise.
* NEWS: Mention this change.
gdb/testsuite/ChangeLog:
* gdb.cp/demangle.exp (test_gnu_style_demangling): Rename to...
(test_gnuv3_style_demangling): ... this.
(test_lucid_style_demangling): Remove.
(test_arm_style_demangling): Remove.
(test_hp_style_demangling): Remove.
(do_tests): Remove calls to the above.
gdb/doc/ChangeLog:
* gdb.texinfo (Print Settings): Remove mention of specific
demangle-style values, just refer to the in-process help.
commit 0e2a21335b6fc4a5b6bed19d9623916c52918b72
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Jan 7 07:26:35 2019 +0000
gdb: Avoid signed integer overflow when printing source lines
When printing source lines with calls to print_source_lines we need to
pass a start line number and an end line number. The end line number
is calculated by calling get_lines_to_list and adding this value to
the start line number. For example this code from list_command:
print_source_lines (cursal.symtab, first,
first + get_lines_to_list (), 0);
The problem is that get_lines_to_list returns a value based on the
GDB setting `set listsize LISTSIZE`. By default LISTSIZE is 10,
however, its also possible to set LISTSIZE to unlimited, in which
case get_lines_to_list will return INT_MAX.
As the parameter signature for print_source_lines is:
void print_source_lines (struct symtab *, int, int,
print_source_lines_flags);
and `first` in the above code is an `int`, then when LISTSIZE is
`unlimited` the above code will result in signed integer overflow,
which is undefined.
The solution in this patch is a new class source_lines_range that can
be constructed from a single line number and a direction (forward or
backward). The range is then constructed from the line number and the
value of get_lines_to_list.
gdb/ChangeLog:
* cli/cli-cmds.c (list_command): Pass a source_lines_range to
print_source_lines.
* source.c (print_source_lines_base): Update line number check.
(print_source_lines): New function.
(source_lines_range::source_lines_range): New function.
* source.h (class source_lines_range): New class.
(print_source_lines): New declaration.
commit 8379fac67e963e0d12649c58f79d52824a7eafdf
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jan 9 12:34:28 2019 +0000
Updated Spanish translation for the ld sub-directory.
* po/es.po: Updated Spanish translation.
commit c0b0b1c2b4376efe8a2bb2e65d7f1f93243cb7fa
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jan 9 12:31:34 2019 +0000
Correct PR number in changelog entry.
commit 28e817cc440bce73691c03e01860089a0954a837
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jan 9 12:25:16 2019 +0000
Fix a heap use after free memory access fault when displaying error messages about malformed archives.
PR 14049
* readelf.c (process_archive): Use arch.file_name in error
messages until the qualified name is available.
commit d820d0c37beda1c29ff50bb1f2ebc1d23114d735
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Jan 3 21:13:52 2019 +0000
gdb/testsuite: Remove interactive prompt case from mi_gdb_test
I noticed that when running this test:
make check-gdb RUNTESTFLAGS="--target_board=native-gdbserver gdb.mi/mi-break.exp"
I would occasionally see some UNRESOLVED test results like this:
(gdb)
PASS: gdb.mi/mi-break.exp: mi-mode=separate: breakpoint at main
Expecting: ^(kill[
]+)?(.*[
]+[(]gdb[)]
[ ]*)
kill
&"kill\n"
~"Kill the program being debugged? (y or n) [answered Y; input not from terminal]\n"
=thread-group-exited,id="i1"
ERROR: Got interactive prompt.
UNRESOLVED: gdb.mi/mi-break.exp: mi-mode=separate:
The problem appears to be that the expect buffer fills up to include
the '(y or n)' prompt without including the following lines.
The pattern supplied by the outer test script is looking for the
following lines. As the following lines are not present then expect
matches on the interactive prompt case rather than the case for the
user supplied pattern.
The problem with this is that we are not really at an interactive
prompt, GDB is providing an answer for us and then moving on. When I
examine a successful run of the test the output from GDB is identical,
the only difference is where expect happens to buffer the output from
GDB.
This patch remove all special handling of the interactive prompt
case. This means that if we ever break GDB and start seeing an
unexpected interactive prompt then tests will rely on a timeout to
fail, instead of having dedicated interactive prompt detection, but
this solves the problem that an auto-answered prompt looks very
similar to an interactive prompt.
With this patch in place I can now leave the following loop running
indefinitely, where before it would fail usually after ~10
iterations.
while make check-gdb RUNTESTFLAGS="--target_board=native-gdbserver gdb.mi/mi-break.exp"; \
do /bin/true; \
done
gdb/testsuite/ChangeLog:
* lib/mi-support.exp (mi_gdb_test): Remove interactive prompt
case.
commit 1055a3b422da11b252fc83e73a5e9f465233e73d
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Mon Jan 7 16:02:51 2019 +0100
Fix leak in linespec.c
Valgrind reports a leak in many tests, such as:
==9382== 16 bytes in 1 blocks are definitely lost in loss record 236 of 3,282
==9382== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==9382== by 0x4197AF: xrealloc (common-utils.c:64)
==9382== by 0x51D16A: xresizevec<linespec_canonical_name> (poison.h:170)
==9382== by 0x51D16A: add_sal_to_sals(linespec_state*, std::vector<symtab_and_line, std::allocator<symtab_and_line> >*, symtab_and_line*, char const*, int) (linespec.c:1041)
==9382== by 0x51E2BF: create_sals_line_offset (linespec.c:2215)
==9382== by 0x51E2BF: convert_linespec_to_sals(linespec_state*, linespec*) (linespec.c:2358)
==9382== by 0x521B5D: convert_explicit_location_to_sals (linespec.c:2473)
Fix leak by xfree-ing self->canonical_names in linespec_state_destructor.
The leak probably appeared with the patch 'Remove cleanup from linespec.c',
as there was a cleanup to xfree canonical_names before the patch.
Tested on Debian/amd64, native and under valgrind.
2019-01-09 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* linespec.c (linespec_state_destructor): Free self->canonical_names.
commit 3107326d3df950b0578a895bb835b2a8dfa8fab7
Author: Andrew Paprocki <andrew@ishiboo.com>
Date: Wed Jan 9 13:51:08 2019 +1030
Adjust bfd/warning.m4 egrep patterns
Adjust the `bfd/warning.m4` `egrep` patterns to handle preprocessors
that do not define `__GNUC__`, leaving the string in the output.
bfd/
* warning.m4: Adjust egrep pattern for non-GNU compilers.
* configure: Regenerate.
binutils/
* configure: Regenerate.
gas/
* configure: Regenerate.
gold/
* configure: Regenerate.
gprof/
* configure: Regenerate.
ld/
* configure: Regenerate.
opcodes/
* configure: Regenerate.
commit 923c6a756476f3a1f92d6625aacbbf5253b7739b
Author: Alan Modra <amodra@gmail.com>
Date: Wed Jan 9 10:37:52 2019 +1030
cxxfilt test failures
Fixes these:
bfin-elf +FAIL: cxxfilt: demangling _Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E
bfin-elf +FAIL: cxxfilt: demangling _Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE
h8300-elf +FAIL: cxxfilt: demangling _Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E
h8300-elf +FAIL: cxxfilt: demangling _Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE
i686-pe +FAIL: cxxfilt: demangling _Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E
i686-pe +FAIL: cxxfilt: demangling _Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE
i686-vxworks +FAIL: cxxfilt: demangling _Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E
i686-vxworks +FAIL: cxxfilt: demangling _Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE
m32c-elf +FAIL: cxxfilt: demangling _Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E
m32c-elf +FAIL: cxxfilt: demangling _Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE
* testsuite/binutils-all/cxxfilt.exp: Pass --no-strip-underscores
unconditionally to tests needing the option rather than via a
list of targets.
commit 05497ea85a1b03cd336da4e14af5d147020a4399
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jan 9 00:00:35 2019 +0000
Automatic date update in version.in
commit cfeadda545c4961877969e6a66be79278696e012
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jan 6 09:49:11 2019 -0700
Fix build failure with macOS bison
PR gdb/24060 points out a compilation failure of the C, Fortran and Pascal
parsers when they are built using the macOS system bison. The bug is a name
clash between the VARIABLE token name and the VARIABLE enumerator in ui-out.h.
This patch renames VARIABLE in c-exp.y, f-exp.y and p-exp.y to DOLLAR_VARIABLE
to avoid the clash. It also renames similar variables in other .y files so
that all languages use the same name.
gdb/ChangeLog
2019-01-07 Tom Tromey <tom@tromey.com>
2019-01-07 Simon Marchi <simon.marchi@ericsson.com>
PR gdb/24060:
* ada-exp.y (DOLLAR_VARIABLE): Rename from SPECIAL_VARIABLE.
* ada-lex.l (DOLLAR_VARIABLE): Likewise.
* c-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
* f-exp.y (DOLLAR_VARIABLE): Likewise.
* m2-exp.y (DOLLAR_VARIABLE): Rename from INTERNAL_VAR.
* p-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
commit 236f4ebe3ac7e8f94184fdcc39c70d74cc62b82a
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Jan 8 16:53:02 2019 +0000
Remove support for old gnu v2 name mangling.
PR 24044
* cxxfilt.c (hp_symbol_characters): Delete.
(main): Remove depcreated demangling styles.
* stabs.c (parse_stab_argtypes): Remove support for old gnu v2
demangling opnames.
* testsuite/binutils-all/cxxfilt.exp: Use the
--no-strip-underscore option for targets that do prefix their
symbols with underscores.
Update tests to elimiate those that use gnu v2 encoding.
commit c8fcc36012301d7402fd990ee5d8f78dffa824f0
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Tue Jan 8 15:18:32 2019 +0000
[AArch64][gas] Add -mcpu support for Arm Ares
This adds support for the Arm Ares CPU for AArch64.
It implements the Armv8.2-A architecture with the optional features
of statistical profiling, dot product and FP16 on by default.
Note: Ares is a codename to enable early adopters and in time
we will add the final product name once it's announced.
* config/tc-aarch64.c (aarch64_cpus): Add ares.
* doc/c-aarch64.texi (-mcpu): Document ares value.
commit e3ecd631339aaa2a4af57f59f0694671d4ce00ab
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue Jan 8 14:52:53 2019 +0000
Add testcase for PR/24065.
This adds a new testcase for objcopy -O ihex to test
that it correctly works.
binutils/ChangeLog:
PR 24065
* testsuite/binutils-all/copy-6.d: New test.
* testsuite/binutils-all/objcopy.exp: Use it.
commit 583068ca1d855abd09ac979c688f48b0ddaabe0f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Jan 7 09:16:16 2019 +0000
gdb: Move declarations from symtab.h to source.h
Declarations for functions in source.c are split between source.h and
symtab.h. This commit moves the small number that are in symtab.h
into source.h. There's just one file that needs to add an include of
source.h in order to build.
I've moved the function header comments from source.c to source.h
inline with the recommended GDB style.
gdb/ChangeLog:
* source.c (select_source_symtab): Move header comment to
declaration in source.h.
(forget_cached_source_info_for_objfile): Likewise.
(forget_cached_source_info): Likewise.
(identify_source_line): Likewise.
* source.h (identify_source_line): Move declaration from symtab.h
and add comment from source.c
(print_source_lines): Likewise.
(forget_cached_source_info_for_objfile): Likewise.
(forget_cached_source_info): Likewise.
(select_source_symtab): Likewise.
(enum print_source_lines_flag): Move definition from symtab.h.
* symtab.h (identify_source_line): Move declaration to source.h.
(print_source_lines): Likewise.
(forget_cached_source_info_for_objfile): Likewise.
(forget_cached_source_info): Likewise.
(select_source_symtab): Likewise.
(enum print_source_lines_flag): Move definition to source.h.
* tui/tui-hooks.c: Add 'source.h' include.
commit ec98a4ad5bfcba33deb5cb786c023082adbbfb46
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Jan 6 23:53:22 2019 +0000
gdb: Handle requests to print source lines backward
...by which I mean from high line number to low, not, actually
backward character by character!
Commit:
commit 62f29fda90cf1d5a1899f57ef78452471c707fd6
Date: Tue Oct 9 22:21:05 2018 -0600
Highlight source code using GNU Source Highlight
introduced a regression in the test gdb.linespec/explicit.exp, in
which a request is made to GDB to print a reverse sequence of lines,
from +10 to -10 from the current line number. The expected behaviour
is that GDB prints nothing. The above commit changed this so that GDB
now prints:
Line number 32 out of range; /path/to/gdb/testsuite/gdb.linespec/explicit.c has 71 lines.
which is a little confusing.
This commit fixes the regression, and restores the behaviour that GDB
prints nothing.
While I was passing I noticed a call to `back` on a std::string that I
was concerned could be empty if the request for source lines returns
an empty string. I don't know if it would be possible for a request
for lines to return an empty string, I guess it should be impossible,
in which case, maybe this should be an assertion, but adding a `empty`
check, seems like an easy and cheap safety net.
gdb/ChangeLog:
* source.c (print_source_lines_base): Handle requests to print
reverse line number sequences, and guard against empty lines
string.
commit 62ea19c1000856c2633a952c52269fca4143931a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sun Jan 6 23:31:45 2019 +0000
gdb: Fix skip of `\r` before `\n` in source output
In this commit:
commit 62f29fda90cf1d5a1899f57ef78452471c707fd6
Date: Tue Oct 9 22:21:05 2018 -0600
Highlight source code using GNU Source Highlight
A bug was introduced such that when displaying source code from a file
with lines `\r\n` GDB would print `^M` at the end of each line.
This caused a regression on the test gdb.fortran/nested-funcs.exp,
which happens to have `\r\n` line endings.
gdb/ChangeLog:
* source.c (print_source_lines_base): Fix skip of '\r' if next
character is '\n'.
commit a9859e01726d085db79cff88550fdb38e2434e42
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jan 8 22:21:57 2019 +1030
PR24065, 32-bit objcopy fails with 64-bit address ... out of range
PR 23699
PR 24065
* ihex.c (ihex_write_object_contents): Properly check 32-bit
address range.
commit 171b8e19575654ab32321eb99f3fd112663ae7fa
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jan 8 16:47:52 2019 +1030
run_dump_test source in build directory
Some existing tests build .s and .d files for run_dump_test, using an
absolute #source: line in the .d file. This patch changes that scheme
a little to instead use "#source: ./..." in .d files rather than
"#source: $objdir/...", which is more useful in cases where the .d
file is not generated.
This allows RX gas test files to be built in the build directory,
rather than in a source directory (which might be read-only).
binutils/
* testsuite/lib/binutils-common.exp (run_dump_test): Don't prepend
$srcdir/$subdir to source file name if it starts with "./".
gas/
* testsuite/gas/rx/rx.exp: Create generated test source in
current directory.
* testsuite/gas/rx/Xtod.d, * testsuite/gas/rx/abs.d,
* testsuite/gas/rx/adc.d, * testsuite/gas/rx/add.d,
* testsuite/gas/rx/and.d, * testsuite/gas/rx/bclr.d,
* testsuite/gas/rx/bcnd.d, * testsuite/gas/rx/bfmov.d,
* testsuite/gas/rx/bmcnd.d, * testsuite/gas/rx/bnot.d,
* testsuite/gas/rx/bra.d, * testsuite/gas/rx/brk.d,
* testsuite/gas/rx/bset.d, * testsuite/gas/rx/bsr.d,
* testsuite/gas/rx/btst.d, * testsuite/gas/rx/clrpsw.d,
* testsuite/gas/rx/cmp.d, * testsuite/gas/rx/dabs.d,
* testsuite/gas/rx/dadd.d, * testsuite/gas/rx/dbt.d,
* testsuite/gas/rx/dcmp.d, * testsuite/gas/rx/ddiv.d,
* testsuite/gas/rx/div.d, * testsuite/gas/rx/divu.d,
* testsuite/gas/rx/dmov.d, * testsuite/gas/rx/dmul.d,
* testsuite/gas/rx/dneg.d, * testsuite/gas/rx/dpopm.d,
* testsuite/gas/rx/dpushm.d, * testsuite/gas/rx/dround.d,
* testsuite/gas/rx/dsqrt.d, * testsuite/gas/rx/dsub.d,
* testsuite/gas/rx/dtoX.d, * testsuite/gas/rx/emaca.d,
* testsuite/gas/rx/emsba.d, * testsuite/gas/rx/emul.d,
* testsuite/gas/rx/emula.d, * testsuite/gas/rx/emulu.d,
* testsuite/gas/rx/fadd.d, * testsuite/gas/rx/fcmp.d,
* testsuite/gas/rx/fdiv.d, * testsuite/gas/rx/fmul.d,
* testsuite/gas/rx/fsqrt.d, * testsuite/gas/rx/fsub.d,
* testsuite/gas/rx/ftoi.d, * testsuite/gas/rx/ftou.d,
* testsuite/gas/rx/gprel.d, * testsuite/gas/rx/int.d,
* testsuite/gas/rx/itof.d, * testsuite/gas/rx/jmp.d,
* testsuite/gas/rx/jsr.d, * testsuite/gas/rx/machi.d,
* testsuite/gas/rx/maclh.d, * testsuite/gas/rx/maclo.d,
* testsuite/gas/rx/max.d, * testsuite/gas/rx/min.d,
* testsuite/gas/rx/mov.d, * testsuite/gas/rx/movco.d,
* testsuite/gas/rx/movli.d, * testsuite/gas/rx/movu.d,
* testsuite/gas/rx/msbhi.d, * testsuite/gas/rx/msblh.d,
* testsuite/gas/rx/msblo.d, * testsuite/gas/rx/mul.d,
* testsuite/gas/rx/mulhi.d, * testsuite/gas/rx/mullh.d,
* testsuite/gas/rx/mullo.d, * testsuite/gas/rx/mvfacgu.d,
* testsuite/gas/rx/mvfachi.d, * testsuite/gas/rx/mvfaclo.d,
* testsuite/gas/rx/mvfacmi.d, * testsuite/gas/rx/mvfc.d,
* testsuite/gas/rx/mvfcp.d, * testsuite/gas/rx/mvfdc.d,
* testsuite/gas/rx/mvfdr.d, * testsuite/gas/rx/mvtacgu.d,
* testsuite/gas/rx/mvtachi.d, * testsuite/gas/rx/mvtaclo.d,
* testsuite/gas/rx/mvtc.d, * testsuite/gas/rx/mvtcp.d,
* testsuite/gas/rx/mvtdc.d, * testsuite/gas/rx/neg.d,
* testsuite/gas/rx/nop.d, * testsuite/gas/rx/not.d,
* testsuite/gas/rx/opecp.d, * testsuite/gas/rx/or.d,
* testsuite/gas/rx/pop.d, * testsuite/gas/rx/popc.d,
* testsuite/gas/rx/popm.d, * testsuite/gas/rx/push.d,
* testsuite/gas/rx/pushc.d, * testsuite/gas/rx/pushm.d,
* testsuite/gas/rx/r-bcc.d, * testsuite/gas/rx/r-bra.d,
* testsuite/gas/rx/racl.d, * testsuite/gas/rx/racw.d,
* testsuite/gas/rx/rdacl.d, * testsuite/gas/rx/rdacw.d,
* testsuite/gas/rx/revl.d, * testsuite/gas/rx/revw.d,
* testsuite/gas/rx/rmpa.d, * testsuite/gas/rx/rolc.d,
* testsuite/gas/rx/rorc.d, * testsuite/gas/rx/rotl.d,
* testsuite/gas/rx/rotr.d, * testsuite/gas/rx/round.d,
* testsuite/gas/rx/rstr.d, * testsuite/gas/rx/rte.d,
* testsuite/gas/rx/rtfi.d, * testsuite/gas/rx/rts.d,
* testsuite/gas/rx/rtsd.d, * testsuite/gas/rx/sat.d,
* testsuite/gas/rx/satr.d, * testsuite/gas/rx/save.d,
* testsuite/gas/rx/sbb.d, * testsuite/gas/rx/sccnd.d,
* testsuite/gas/rx/scmpu.d, * testsuite/gas/rx/setpsw.d,
* testsuite/gas/rx/shar.d, * testsuite/gas/rx/shll.d,
* testsuite/gas/rx/shlr.d, * testsuite/gas/rx/smovb.d,
* testsuite/gas/rx/smovf.d, * testsuite/gas/rx/smovu.d,
* testsuite/gas/rx/sstr.d, * testsuite/gas/rx/stnz.d,
* testsuite/gas/rx/stz.d, * testsuite/gas/rx/sub.d,
* testsuite/gas/rx/suntil.d, * testsuite/gas/rx/swhile.d,
* testsuite/gas/rx/tst.d, * testsuite/gas/rx/utof.d,
* testsuite/gas/rx/wait.d, * testsuite/gas/rx/xchg.d,
* testsuite/gas/rx/xor.d: Add #source line.
ld/
* testsuite/ld-elf/sec64k.exp: Use . rather than $objdir in
generated source file names.
* testsuite/ld-m68k/m68k-got.exp: Likewise.
commit 09134207b2ab57a66e30255d0520a36c01e78313
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jan 8 00:00:27 2019 +0000
Automatic date update in version.in
commit 4ae80ffc55cd44fe9a5527403f07fee70307b2d7
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Mon Jan 7 18:05:36 2019 -0500
Revert "Sync libiberty sources with master version in gcc repository. Updated stabs demangling and cxxfilt tests to match."
The previous commit breaks the GDB build, which is still using functions
cplus_demangle_opname & co. Since removing these usages is not an
obvious fix, let's revert this patch until we get rid of them.
commit 053af8c9034f92d6e36a1180655ba22a65c56437
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jan 7 13:18:53 2019 +0000
Sync libiberty sources with master version in gcc repository. Updated stabs demangling and cxxfilt tests to match.
PR 24044
* stabs.c (parse_stab_argtypes): Remove call to
cplus_mangle_opcode.
* testsuite/binutils-all/cxxfilt.exp: Replace tests of v2 encoding
with v3 encoding. Add escape for known failures.
commit ef8df4caec24669a11680aa1a696d470fb6177ba
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Mon Jan 7 09:22:55 2019 +0000
[arm][gas] Add -mcpu support for Arm Ares
This adds support for the Arm Ares CPU in the arm port.
It implements the Armv8.2-A architecture with the relevant optional
features
of dot product and FP16 on by default.
Note: Ares is a codename to enable early adopters and in time
we will add the final product name once it's announced.
* config/tc-arm.c (arm_cpus): Add ares.
* doc/c-arm.texi (-mcpu): Document ares value.
commit 7e9ca91e006d57bd39838ca5196c1bd0db3ef170
Author: Alan Modra <amodra@gmail.com>
Date: Mon Jan 7 15:03:43 2019 +1030
s12z regen
* configure: Regenerate.
* po/POTFILES.in: Regenerate.
commit b91c5d6e5a3f373e424cede99cb4e0958792414e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Jan 7 00:01:08 2019 +0000
Automatic date update in version.in
commit 9d30e1fd7cfc742b03b7d973e511f7bfe5cfc295
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 2 19:22:44 2019 -0700
Remove remaining cleanups from c-exp.y
This removes the remaining cleanups from c-exp.y by moving some
globals into c_parse_state, and changing expansion_obstack to be an
auto_obstack.
gdb/ChangeLog
2019-01-06 Tom Tromey <tom@tromey.com>
* c-exp.y (struct c_parse_state) <macro_original_text,
expansion_obstack>: New member.
(macro_original_text, expansion_obstack): Remove globals.
(scan_macro_expansion, scanning_macro_expansion)
(finished_macro_expansion): Update.
(scan_macro_cleanup): Remove.
(yylex, c_parse): Update.
commit c65bac3846567a8068fe4aa5cfa79da5b193a1af
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 2 19:13:15 2019 -0700
Remove string-related cleanup from c-exp.y
This removes a string-related cleanup from c-exp.y, by adding a new
member to c_parse_state to store the strings.
gdb/ChangeLog
2019-01-06 Tom Tromey <tom@tromey.com>
* c-exp.y (struct c_parse_state) <strings>: New member.
(operator_stoken): Update.
commit 02e12e3806bc60f66e3c446c4dfa9c06a400e604
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 2 19:12:32 2019 -0700
Use std::vector in type stacks
This removes the use of VEC from parse.c and, at the same time,
removes some related cleanups from c-exp.y.
gdb/ChangeLog
2019-01-06 Tom Tromey <tom@tromey.com>
* parser-defs.h (type_ptr): Remove typedef. Don't declare VEC.
(union type_stack_elt) <typelist_val>: Now a pointer to
std::vector.
(type_stack_cleanup): Don't declare.
(push_typelist): Update.
* parse.c (pop_typelist): Return a std::vector.
(push_typelist): Take a std::vector.
(follow_types): Update. Do not free args.
(type_stack_cleanup): Remove.
* c-exp.y (struct c_parse_state): New.
(cpstate): New global.
(type_aggregate_p, exp, ptr_operator, parameter_typelist)
(nonempty_typelist): Update.
(func_mod): Create a new vector.
(c_parse): Create a c_parse_state.
(check_parameter_typelist): Do not delete params.
(function_method): Update. Do not delete type_list.
commit f097f5ad808bd535236a65077f40e9d082a4ec0b
Author: Tom Tromey <tom@tromey.com>
Date: Sat Dec 29 10:46:07 2018 -0700
Fix crash in "finish"
PR gdb/28155 notes a crash in "finish" that occurs with a particular
source file compiled by clang.
The bug is the typical gdb problem of a missing call to check_typedef.
clang emits a function whose return type is a typedef to void.
get_return_value asserts that the return type is not void, but the
callers were not using check_typedef first.
gdb/ChangeLog
2019-01-06 Tom Tromey <tom@tromey.com>
PR gdb/28155:
* python/py-finishbreakpoint.c (bpfinishpy_init): Use
check_typedef.
* infcmd.c (finish_command_fsm_should_stop): Use check_typedef.
(print_return_value): Likewise.
gdb/testsuite/ChangeLog
2019-01-06 Tom Tromey <tom@tromey.com>
PR gdb/28155:
* gdb.dwarf2/typedef-void-finish.exp: New file.
commit bb86dd08b25624206c3943b56b79784928e58464
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Jan 6 00:00:54 2019 +0000
Automatic date update in version.in
commit d2adf9f120dd9ddef67b1d94b24298dfd3410bd1
Author: Tom Tromey <tom@tromey.com>
Date: Mon Dec 24 14:56:03 2018 -0700
Remove the exception and cleanup checkers
Now that gdb is transitioning away from cleanups, there is no reason
to keep the cleanup and exception checker scripts around. This patch
removes them.
gdb/ChangeLog
2019-01-05 Tom Tromey <tom@tromey.com>
* contrib/cleanup_check.py: Remove.
* contrib/gcc-with-excheck: Remove.
* contrib/exsummary.py: Remove.
* contrib/excheck.py: Remove.
commit f87673e04f4ec54301151f74237329df14133569
Author: Yoshinori Sato <ysato@users.sourceforge.jp>
Date: Tue Dec 25 20:04:47 2018 +0900
RX: binutils - Add RXv3 support.
* readelf.c (get_machine_flags): Add RXv3 output.
commit c8c89dac38c723a2dcff9beceb9e7c09b0c5f3d4
Author: Yoshinori Sato <ysato@users.sourceforge.jp>
Date: Tue Dec 25 19:58:54 2018 +0900
RX: bfd - Add RXv3 support.
* bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
* bfd/bfd-in2.h: Regenerate.
* bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
* bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
commit 6a25bee8d049d3b51cea9e10f487fc04c792dd66
Author: Yoshinori Sato <ysato@users.sourceforge.jp>
Date: Tue Dec 25 20:52:53 2018 +0900
RX: gas - Add RXv3 instruction support.
Instruction manual.
https://www.renesas.com/us/en/doc/products/mpumcu/doc/rx_family/r01us0316ej0100-rxv3sm.pdf
* config/rx-defs.h (rx_cpu_types): Add type RXV3 and RXV3FPU.
(rx_bfield): Add prototype.
(rx_post): Likewise.
* config/rx-parse.y: Add v3 instructions and Double FPU registers.
(DSIZE): Define.
(POST): Define.
(rx_check_v3): New. check v3 type.
(rx_check_dfpu): New. check have double support.
(double_condition_table): New. dcmp<cond> contiditon.
(check_condition): Multiple condition support.
(rx_lex): RXv3 instructions support.
Add parse dcmp<cond> instruction and Double FPU registers.
(immediate): Disable optimize in dmov #imm case.
(displacement): Add double displacement in dmov instraction.
* config/tc-rx.c (rx_use_conventional_section_names):
Invert default value in rx-*-linux target.
(cpu_type): Add additional ELF flags.
(cpu_type_list): Add RXv3.
(md_parse_option): Refer elf_flags from cpu_type_list.
(md_show_usage): Add rxv3 and rxv3-dfpu.
(rx_bytesT): Add post byte.
(rx_bfield): New. generate bfmov / bfmovz "imm" field.
(rx_post): New. Set instruction post byte.
(md_assemble): Add post byte.
doc/c-rx.texi: Add cpu types.
* testsuite/gas/rx/Xtod.d: New.
* testsuite/gas/rx/Xtod.sm: New.
* testsuite/gas/rx/bfmov.d: New.
* testsuite/gas/rx/bfmov.sm: New.
* testsuite/gas/rx/dabs.d: New.
* testsuite/gas/rx/dabs.sm: New.
* testsuite/gas/rx/dadd.d: New.
* testsuite/gas/rx/dadd.sm: New.
* testsuite/gas/rx/dcmp.d: New.
* testsuite/gas/rx/dcmp.sm: New.
* testsuite/gas/rx/ddiv.d: New.
* testsuite/gas/rx/ddiv.sm: New.
* testsuite/gas/rx/dmov.d: New.
* testsuite/gas/rx/dmov.sm: New.
* testsuite/gas/rx/dmul.d: New.
* testsuite/gas/rx/dmul.sm: New.
* testsuite/gas/rx/dneg.d: New.
* testsuite/gas/rx/dneg.sm: New.
* testsuite/gas/rx/dpopm.d: New.
* testsuite/gas/rx/dpopm.sm: New.
* testsuite/gas/rx/dpushm.d: New.
* testsuite/gas/rx/dpushm.sm: New.
* testsuite/gas/rx/dround.d: New.
* testsuite/gas/rx/dround.sm: New.
* testsuite/gas/rx/dsqrt.d: New.
* testsuite/gas/rx/dsqrt.sm: New.
* testsuite/gas/rx/dsub.d: New.
* testsuite/gas/rx/dsub.sm: New.
* testsuite/gas/rx/dtoX.d: New.
* testsuite/gas/rx/dtoX.sm: New.
* testsuite/gas/rx/macros.inc: Add double FPU registers.
* testsuite/gas/rx/mvfdc.d: New.
* testsuite/gas/rx/mvfdc.sm: New.
* testsuite/gas/rx/mvfdr.d: New.
* testsuite/gas/rx/mvfdr.sm: New.
* testsuite/gas/rx/mvtdc.d: New.
* testsuite/gas/rx/mvtdc.sm: New.
* testsuite/gas/rx/rstr.d: New.
* testsuite/gas/rx/rstr.sm: New.
* testsuite/gas/rx/rx.exp: Use rxv3-dfpu option.
* testsuite/gas/rx/save.d: New.
* testsuite/gas/rx/save.sm: New.
* testsuite/gas/rx/xor.d: New.
* testsuite/gas/rx/xor.sm: Add pattern.
commit 59581069b4d070ab0ac61047177ee119110d678e
Author: Yoshinori Sato <ysato@users.sourceforge.jp>
Date: Tue Dec 25 20:44:15 2018 +0900
RX: include - Add RXv3 support.
* elf/rx.h (EF_RX_CPU_MASK): Update new bits.
(E_FLAG_RX_V3): New RXv3 type.
* opcode/rx.h (RX_Size): Add double size.
(RX_Operand_Type): Add double FPU registers.
(RX_Opcode_ID): Add new instuctions.
commit 2eab46b176fa315ebc07569280f020c3348c2aa2
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sat Jan 5 11:55:08 2019 +0400
GDB crash re-running program on Windows (native)
Running any program twice on Windows current results in GDB crashing:
$ gdb -q any_program
(gdb) run
$ gdb dummy -batch -ex run -ex run
[New Thread 684960.0xe5878]
[New Thread 684960.0xd75ac]
[New Thread 684960.0xddac8]
[New Thread 684960.0xc1f50]
[Thread 684960.0xd75ac exited with code 0]
[Thread 684960.0xddac8 exited with code 0]
[Thread 684960.0xc1f50 exited with code 0]
[Inferior 1 (process 684960) exited normally]
(gdb) run
Segmentation fault
The crash happens while processing the CREATE_PROCESS_DEBUG_EVENT
for the second run; in particular, we have in get_windows_debug_event:
| case CREATE_PROCESS_DEBUG_EVENT:
| [...]
| if (main_thread_id)
| windows_delete_thread (ptid_t (current_event.dwProcessId, 0,
| main_thread_id),
| 0);
The problem is that main_thread_id is the TID of the main thread from
the *previous* inferior, and this code is trying to delete that
thread. The problem is that it is constructing a PTID by pairing
the TID of the previous inferior with the PID of the new inferior.
As a result, when we dig inside windows_delete_thread to see
how it would handle that, we see...
| delete_thread (find_thread_ptid (ptid));
Since the PTID is bogus, we end up calling delete_thread with
a NULL thread_info. It used to be harmless, turning the delete_thread
into a nop, but the following change...
| commit 080363310650c93ad8e93018bcb6760ba5d32d1c
| Date: Thu Nov 22 16:09:14 2018 +0000
| Subject: Per-inferior thread list, thread ranges/iterators, down with ALL_THREADS, etc.
... changed delete_thread to get the list of threads from
the inferior, which itself is now accessed via the given
thread_info. This is the corresponding diff that shows the change:
| - for (tp = thread_list; tp; tpprev = tp, tp = tp->next)
| + for (tp = thr->inf->thread_list; tp; tpprev = tp, tp = tp->next)
As a result of this, passing a NULL thread_info is no longer
an option!
Stepping back a bit, the reason behind deleting the thread late
could be found in a patch from Dec 2003, which laconically explains:
| commit 87a45c96062d658ca83b50aa060a648bf5f5f1ff
| Date: Fri Dec 26 00:39:04 2003 +0000
|
| * win32-nat.c (get_child_debug_event): Keep main thread id around
| even after thread exits since Windows insists on continuing to
| report events against it.
A look at the gdb-patches archives did not provide any additional
clues (https://www.sourceware.org/ml/gdb-patches/2003-12/msg00478.html).
It is not clear whether this is still needed or not. This patch
assumes that whatever isue there was, the versions of Windows
we currently support no longer have it.
With that in mind, this commit fixes the issue by deleting the thread
when the inferior sends the exit-process event as opposed to deleting it
later, while starting a new inferior.
This also restores the printing of the thread-exit notification for
the main thread, which was missing before. Looking at the transcript
of the example shown above, we can see 4 thread creation notifications,
and only 3 notifications for thread exits. Now creation and exit
notifications are balanced.
In the handling of EXIT_THREAD_DEBUG_EVENT, the main_thread_id
check is removed because deemed unnecessary: The main thread was
introduced by a CREATE_PROCESS_DEBUG_EVENT, and thus the kernel
is expected to report its death via EXIT_PROCESS_DEBUG_EVENT.
And finally, because the behavior of delete_thread did change
(albeit when getting a value we probably never expected to receive),
this patch also adds a gdb_assert. The purpose is to provide some
immediate information in case there are other callers that mistakenly
call delete_thread with a NULL thread info. This can be useful
information when direct debugging of GDB isn't an option.
gdb/ChangeLog:
* thread.c (delete_thread_1): Add gdb_assert that THR is not
NULL. Initialize tpprev to NULL instead of assigning it
to NULL on the next statement.
* windows-nat.c (windows_delete_thread): Remove check for
main_thread_id before printing thread exit notifications.
(get_windows_debug_event) <EXIT_THREAD_DEBUG_EVENT>:
Remove thread ID check against main_thread_id.
<CREATE_PROCESS_DEBUG_EVENT>: Remove call to
windows_delete_thread.
<EXIT_PROCESS_DEBUG_EVENT>: Add call to windows_delete_thread.
commit 2ee73c7abf6408c543bf297271c83dff8e87ee44
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Jan 5 00:00:37 2019 +0000
Automatic date update in version.in
commit 48c5e7e239fba27bea134f6cd5f414300b7cd3ac
Author: Tom Tromey <tom@tromey.com>
Date: Mon Dec 24 14:41:40 2018 -0700
Use upper case for more metasyntactic variables in gdb
I noticed a few places where a Usage line in gdb did not use upper
case for metasyntactic variables. This patch fixes all the instances
I found.
Tested on x86-64 Fedora 28.
gdb/ChangeLog
2019-01-04 Tom Tromey <tom@tromey.com>
* compile/compile.c (_initialize_compile): Use upper case for
metasyntactic variables.
* symmisc.c (_initialize_symmisc): Use upper case for
metasyntactic variables.
* psymtab.c (_initialize_psymtab): Use upper case for
metasyntactic variables.
* demangle.c (demangle_command): Use upper case for metasyntactic
variables.
(_initialize_demangler): Likewise.
* ax-gdb.c (_initialize_ax_gdb): Use upper case for metasyntactic
variables.
commit 1b2ed39c3a7ee2870f3d16a510d31e8d5916afbc
Author: Wu Heng <wu.heng@zte.com.cn>
Date: Fri Jan 4 16:18:59 2019 +0000
Fix potential buffer overrun whilst scanning macro strings.
PR 24010
* macro.c (get_any_string): Check for end of input whilst scanning
for separators.
commit bdfb4455977ffdd2d3f8dc81f25f6ba1ea2a7f49
Author: Wu Heng <wu.heng@zte.com.cn>
Date: Fri Jan 4 15:58:02 2019 +0000
Fix bug parsing angle bracketed string sequences.
PR 24009
* read.c (stringer): Fix handling of missing '>' character at end
of <...> sequence.
commit d9858c37914e104401071b12b060765024008fe4
Author: Lifang Xia <lifang_xia@c-sky.com>
Date: Fri Jan 4 13:56:46 2019 +0000
Change the default for the CSKY target to be little endian.
* config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
default target, little endian target is more suitable.
commit 11fa9f134fd658075c6f74499c780df045d9e9ca
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Jan 4 13:44:34 2019 +0000
Fix a possible integer overflow problem when examining corrupt binaries using a 32-bit binutil.
PR 24005
* objdump.c (load_specific_debug_section): Check for integer
overflow before attempting to allocate contents.
commit cf0ad5bbf2d3fdb751b5f3f49e55d251d48c7416
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Jan 4 12:11:51 2019 +0000
Fix ridiculously small memory leak.
PR 24001
* objcopy.c (copy_object): Free dhandle after writing out the
debug information.
* objdump.c (dump_bfd): Free dhandle after printing out the debug
information.
commit 677bd4c69d0eda4f2ae635d793f23c0b1413a9e9
Author: Alan Modra <amodra@gmail.com>
Date: Fri Jan 4 12:18:36 2019 +1030
PR24061, powerpc-ibm-aix-ar sets bogus file permissions when extracting
Mode field should be read in octal, all the rest in decimal. Do so.
PR 24061
PR 21786
* coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
adjust all callers.
(EQ_VALUE_IN_FIELD): Likewise.
* coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
commit 8261e52d1b8381252ede6754ea6cd1ba18810f1d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Jan 4 00:00:29 2019 +0000
Automatic date update in version.in
commit 986041cda76a312e4285c9ba1e51b1778fcb15ce
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 2 11:41:44 2019 -0700
Use xstrdup in tui_set_source_content
valgrind pointed out that the string copy in tui_set_source_content
was not allocating space for the trailing \0:
==3941== Invalid write of size 1
==3941== at 0x4C3239F: strcpy (vg_replace_strmem.c:512)
==3941== by 0x72036B: strcpy (string_fortified.h:90)
==3941== by 0x72036B: tui_set_source_content(symtab*, int, int) (tui-source.c:203)
Looking closer, I don't think there's a need to check the line width
here, so this patch changes it to use xstrdup.
Tested by re-running the TUI under valgrind. There are still other
valgrind reports from TUI code, but this one is gone.
gdb/ChangeLog
2019-01-03 Tom Tromey <tom@tromey.com>
* tui/tui-source.c (tui_set_source_content): Use xstrdup.
commit 7c711119166fc1c60c756059f39c6703d57eedbf
Author: Tom Tromey <tom@tromey.com>
Date: Thu Dec 27 12:16:06 2018 -0700
Avoid questionable casts in py-symtab.c
py-symtab.c has some questionable casts of Py_None to symtab_object*.
This patch avoids these casts by instead using downcasts at the
appropriate places.
gdb/ChangeLog
2019-01-03 Tom Tromey <tom@tromey.com>
* python/py-symtab.c (salpy_str): Update.
(struct salpy_sal_object) <symtab>: Now a PyObject.
(salpy_dealloc): Update.
(del_objfile_sal): Use gdbpy_ref.
commit 1b20edf043c62759a4c78e40b03846e9bafd584c
Author: Tom Tromey <tom@tromey.com>
Date: Thu Dec 27 12:08:09 2018 -0700
Improve reference counting in py-type.c
This improves the reference counting in py-type.c by using gdbpy_ref
and gdbpy_ref::new_reference in more places.
gdb/ChangeLog
2019-01-03 Tom Tromey <tom@tromey.com>
* python/py-type.c (convert_field): Use new_reference. Return
gdbpy_ref.
(make_fielditem): Return gdbpy_ref.
(typy_fields): Update.
(typy_getitem): Update.
(field_name): Return gdbpy_ref. Use new_reference.
(typy_iterator_iternext): Update.
commit ea41325b7d134e91648e340d8297e8f6ee5fe26a
Author: Tom Tromey <tom@tromey.com>
Date: Thu Dec 27 11:57:28 2018 -0700
Simplify gdbpy_stop_recording
This simplifies gdbpy_stop_recording, by having it use Py_RETURN_NONE
rather than writing it out manually, and by usin the idiomatic
GDB_PY_HANDLE_EXCEPTION.
gdb/ChangeLog
2019-01-03 Tom Tromey <tom@tromey.com>
* python/py-record.c (gdbpy_stop_recording): Use Py_RETURN_NONE.
commit 2a3c71d68d452bb6b06d199d0eb7bc0cbc2b9b25
Author: Tom Tromey <tom@tromey.com>
Date: Thu Dec 27 11:53:20 2018 -0700
Remove more uses of explicit reference counting in Python
This changes some more place in the Python code to use gdbpy_ref
rather than explicit reference counting. While doing this I found a
latent bug in typy_fields_items -- it was not checking for errors in
one spot. I also changed valpy_dealloc to use Py_XDECREF rather than
an explicit "if".
gdb/ChangeLog
2019-01-03 Tom Tromey <tom@tromey.com>
* python/py-value.c (valpy_dealloc): Use Py_XDECREF.
* python/py-type.c (typy_fields_items): Use gdbpy_ref.
* python/py-progspace.c (pspy_set_printers): Use gdbpy_ref.
(pspy_set_frame_filters, pspy_set_frame_unwinders)
(pspy_set_type_printers): Likewise.
* python/py-function.c (fnpy_init): Use gdbpy_ref.
* python/py-cmd.c (cmdpy_init): Use gdbpy_ref.
* python/py-objfile.c (objfpy_set_printers): Use gdbpy_ref.
(objfpy_set_frame_filters, objfpy_set_frame_unwinders)
(objfpy_set_type_printers): Likewise.
commit 5c329e6ab4c7bba9b83155571b150756210001df
Author: Tom Tromey <tom@tromey.com>
Date: Thu Dec 27 11:32:01 2018 -0700
Use a wrapper for PyErr_Fetch
This introduces a new class that wraps PyErr_Fetch and PyErr_Restore,
and then changes all the callers in gdb to use it. This reduces the
amount of explicit reference counting that is done in the Python code.
I also found and fixed a latent bug in gdbpy_print_stack -- it was not
correctly checking some error conditions, nor clearing the exception
when needed.
gdb/ChangeLog
2019-01-03 Tom Tromey <tom@tromey.com>
* python/python.c (gdbpy_enter, ~gdbpy_enter): Update.
(gdbpy_print_stack): Use gdbpy_err_fetch.
* python/python-internal.h (class gdbpy_err_fetch): New class.
(class gdbpy_enter) <m_error_type, m_error_value,
m_error_traceback>: Remove.
<m_error>: New member.
(gdbpy_exception_to_string): Don't declare.
* python/py-varobj.c (py_varobj_iter_next): Use gdbpy_err_fetch.
* python/py-value.c (convert_value_from_python): Use
gdbpy_err_fetch.
* python/py-utils.c (gdbpy_err_fetch::to_string): Rename from
gdbpy_exception_to_string.
(gdbpy_handle_exception): Use gdbpy_err_fetch.
* python/py-prettyprint.c (print_stack_unless_memory_error): Use
gdbpy_err_fetch.
commit 169bb27bce3dc43b2bb5f6abf7fc21c19de5454a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Dec 31 22:20:56 2018 +0000
gdb: Remove cleanup from linux_nat_target::follow_fork
Remove cleanup from linux_nat_target::follow_fork, instead add a new
unique_ptr specialisation for holding lwp_info pointers and use this
to ensure the pointer is cleaned up when needed.
gdb/ChangeLog:
* linux-nat.c (delete_lwp_cleanup): Delete.
(struct lwp_deleter): New struct.
(lwp_info_up): New typedef.
(linux_nat_target::follow_fork): Delete cleanup, and make use of
lwp_info_up.
commit a07c88800e88e26fc3a746739f0d2cc8abd30c5d
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Dec 31 21:23:14 2018 +0000
gdb: Remove cleanup from linux-fork.c:inferior_call_waitpid
Replace cleanup in linux-fork.c:inferior_call_waitpid with a RAII
object.
gdb/ChangeLog:
* linux-fork.c (class scoped_switch_fork_info): New class.
(inferior_call_waitpid): Update to use scoped_switch_fork_info.
commit 26089c494f0d6fa8d4afeab2e2e53b25d299bb9f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Dec 31 17:44:17 2018 +0000
gdb: Remove final cleanup from find_overload_match
This patch removes the setup of a null_cleanup in
valops.c:find_overload_match, and all the calls to do_cleanups.
gdb/ChangeLog:
* valops.c (find_overload_match): Remove use of null_cleanup, and
calls to do_cleanups.
commit 06d3e5b0046d69e3da3450d2eb07c29f0c1a189a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Dec 31 17:41:38 2018 +0000
gdb: Remove a cleanup from find_overload_match
This patch changes cp-support.c:cp_func_name to return a
'gdb::unique_xmalloc_ptr<char>' instead of a 'char *'. This allows a
cleanup to be removed from valops.c:find_overload_match.
gdb/ChangeLog:
* compile/compile-cplus-types.c
(compile_cplus_instance::decl_name): Handle changes to
cp_func_name.
* cp-support.c (cp_func_name): Update header comment, update
return type.
* cp-support.h (cp_func_name): Update return type in declaration.
* valops.c (find_overload_match): Move temp_func local to top
level of function and change its type. Use temp_func to hold and
delete temporary string obtained from cp_func_name.
commit 66644cd32ba63e7fda70e455766b438631ec0b61
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Dec 31 14:05:09 2018 +0000
gdb/remote: Remove a cleanup in remote_check_symbols
Convert one of the variables that requires a cleanup from a 'char *'
to a 'gdb::char_vector' in remote_target::remote_check_symbols.
Tested on x86-64/Linux with target_board native-gdbserver and
native-extended-gdbserver.
gdb/ChangeLog:
* remote.c (remote_target::remote_check_symbols): Convert `msg` to
gdb::char_vector, remove cleanup, and update uses of `msg`.
commit 592d8c0a5d193d3aad03437942a54a667477acea
Author: Jim Wilson <jimw@sifive.com>
Date: Thu Jan 3 11:12:17 2019 -0800
RISC-V: Fix wrong use of s0 register name.
s0 is listed as both an int register name and an FP register name. The FP reg
name is wrong. This looks like a simple editting error, and has an easy fix.
Tested with riscv64-linux build and check, with no regressions.
gdb/
* riscv-tdep.c (riscv_freg_feature): Drop s0 name from f8.
commit ef1ad42b8b5f2c43d74582d2e629841c39962c18
Author: John Darrington <john@darrington.wattle.id.au>
Date: Thu Jan 3 18:30:40 2019 +0100
S12Z: opcodes: Separate the decoding of operations from their display.
This change adds an abstraction layer between the decoding of machine
operations and their disassembled textual representation. This allows
the decoding routines to be re-used for other purposes (at the expense)
of slightly slower running time.
ChangeLog: opcodes/
* s12z-opc.c: New file.
* s12z-opc.h: New file.
* s12z-dis.c: Removed all code not directly related to display
of instructions. Used the interface provided by the new files
instead.
* Makefile.am (TARGET_LIBOPCODES_CFILES) Add s12z-opc.c.
* Makefile.in: regenerate.
* configure.ac (bfd_s12z_arch): Correct the dependencies.
* configure: regenerate.
commit 444b3faef5397eee5a06fe0e683d2ac3e6628fdc
Author: Ðавел ÐÑÑков <kryukov@frtk.ru>
Date: Mon Dec 31 14:53:54 2018 +0300
Add 'extern C' if simulator is written in C++
sim/common/Changelog:
2018-12-31 Pavel I. Kryukov <kryukov@frtk.ru>
* sim-base.h: Add 'extern C' if header is compiled with C++
commit 69961a84c9b3744a10248fb6cbccc3c688a1e0a5
Author: ÐилÑн ÐалаÑзов <dilyan.palauzov@aegee.org>
Date: Wed Dec 12 07:46:03 2018 +0000
Don't build readline/libreadline.a, when --with-system-readline is supplied
https://sourceware.org/bugzilla/show_bug.cgi?id=18632
The bundled libreadline is always built, even if the system is
./configure'd --with-system-readline and the build libreadline.a is not
used.
Proposed patch:
Fix ./configure.ac not to proceed readline/, when --with-system-
readline is provided
commit e8b1c9b397af0fdb3489a207a8d7d3fdcaefe7b5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Jan 3 00:00:34 2019 +0000
Automatic date update in version.in
commit c55d06ec95961fadd9deeffae519ff0f20f237d3
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 2 08:03:13 2019 -0700
Remove a cleanup from target-descriptions.c
This removes a cleanup from target-descriptions.c, by changing it to
use a unique_ptr instead. Note that a deletion adapter is used, even
though target_desc is allocated with new, to avoid moving target_desc
to target-descriptions.h.
gdb/ChangeLog
2019-01-02 Tom Tromey <tom@tromey.com>
* xml-tdesc.c (xml_cache): Hold a target_desc_up.
(tdesc_parse_xml): Remove cleanups.
* target-descriptions.h (make_cleanup_free_target_description):
Don't declare.
(target_desc_deleter): New struct.
(target_desc_up): New typedef.
* target-descriptions.c (target_desc_deleter::operator()): Rename
from free_target_description.
(make_cleanup_free_target_description): Remove.
commit 3a6ae42d4e4ecfd2441cf9b978b2a54ad6767cb7
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 2 09:17:43 2019 -0700
Remove cleanups from linespec.c
This removes the remaining cleanups from linespec.c. This adds a
constructor and destructor to linespec_parser, but in a minimal way --
the parser could still benefit from a bit more C++-ification.
gdb/ChangeLog
2019-01-02 Tom Tromey <tom@tromey.com>
* linespec.c (struct linespec_parser): Rename from ls_parser. Add
constructor, destructor.
(linespec_parser): Remove typedef.
(~linespec_parser): Rename from linespec_parser_delete.
(linespec_lex_to_end, linespec_complete_label)
(linespec_complete): Update.
(decode_line_full): Remove cleanups.
(decode_line_1): Update.
commit 61fd3e738919700c8d0fbb942519d72a767d90b1
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 2 09:58:14 2019 -0700
Change inferior_to_inferior_object to return a gdbpy_ref
Most callers of inferior_to_inferior_object already use a gdbpy_ref,
so this changes inferior_to_inferior_object to return one. Doing this
revealed that create_thread_object was not correctly handling the case
where inferior_to_inferior_object failed, so this patch fixes this as
well.
gdb/ChangeLog
2019-01-02 Tom Tromey <tom@tromey.com>
* python/python-internal.h (inferior_to_inferior_object): Change
return type.
* python/py-exitedevent.c (create_exited_event_object): Update.
* python/py-inferior.c (inferior_to_inferior_object): Return
gdbpy_ref.
(python_new_inferior, python_inferior_deleted)
(thread_to_thread_object, delete_thread_object)
(build_inferior_list, gdbpy_selected_inferior): Update.
* python/py-infthread.c (create_thread_object): Update. Also fail
if inferior_to_inferior_object fails.
commit d20172fc53017cef12d64b21aa2fdac72072558c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Jan 2 17:31:08 2019 -0500
Place displaced step data directly in inferior structure
This patch moves the per-inferior data related to displaced stepping to
be directly in the inferior structure, rather than in a container on the
side.
On notable difference is that previously, we deleted the state on
inferior exit, which guaranteed a clean state if re-using the inferior
for a new run or attach. We now need to reset the state manually.
At the same time, I changed step_saved_copy to be a gdb::byte_vector, so
it is automatically freed on destruction (which should plug the leak
reported here [1]).
[1] https://sourceware.org/ml/gdb-patches/2018-11/msg00202.html
gdb/ChangeLog:
* inferior.h (class inferior) <displaced_step_state>: New field.
* infrun.h (struct displaced_step_state): Move here from
infrun.c. Initialize fields, add constructor.
<inf>: Remove field.
<reset>: New method.
* infrun.c (struct displaced_step_inferior_state): Move to
infrun.h.
(displaced_step_inferior_states): Remove.
(get_displaced_stepping_state): Adust.
(displaced_step_in_progress_any_inferior): Adjust.
(displaced_step_in_progress_thread): Adjust.
(displaced_step_in_progress): Adjust.
(add_displaced_stepping_state): Remove.
(get_displaced_step_closure_by_addr): Adjust.
(remove_displaced_stepping_state): Remove.
(infrun_inferior_exit): Call displaced_step_state.reset.
(use_displaced_stepping): Don't check for NULL.
(displaced_step_prepare_throw): Call
get_displaced_stepping_state.
(displaced_step_fixup): Don't check for NULL.
(prepare_for_detach): Don't check for NULL.
commit e3319240732bc9543af8ced9d80ec89d0b629b2e
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Jan 1 20:54:52 2019 +0100
Fix leak of struct call_thread_fsm in call_function_by_hand_dummy.
When the call does not complete, the call_thread_fsm allocated
by new_call_thread_fsm is not cleaned up and deleted, which causes
the following leak e.g. in gdb.base/callfuncs.exp:
==29263== 560 bytes in 7 blocks are definitely lost in loss record 2,833 of 3,341
==29263== at 0x4C2E0BC: calloc (vg_replace_malloc.c:762)
==29263== by 0x405110: xcalloc (common-utils.c:84)
==29263== by 0x4E67EB: xcnew<call_thread_fsm> (poison.h:122)
==29263== by 0x4E67EB: new_call_thread_fsm (infcall.c:516)
==29263== by 0x4E67EB: call_function_by_hand_dummy(value*, type*, gdb::array_view<value*>, void (*)(void*, int), void*) (infcall.c:1154)
==29263== by 0x4E784E: call_function_by_hand(value*, type*, gdb::array_view<value*>) (infcall.c:693)
==29263== by 0x496111: eval_call(expression*, noside, int, value**, char const*, type*) [clone .isra.5] (eval.c:835)
Fix the leak by similarly doing cleanup/destroy when restoring
previous state machine.
Tested on debian/amd64, natively and under valgrind.
2019-01-02 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* infcall.c (call_function_by_hand_dummy): cleanup/destroy sm
in case of call that did not complete.
commit 5d36dfb949751663bcb814b3cc780ed8f47442b4
Author: Andrey Utkin <autkin@undo.io>
Date: Fri Nov 9 19:09:40 2018 +0000
Fix search of debug files for remote debuggee
When using remote debugging server, and when debuggee filename is
inferred via qXfer:exec-file:read request, or sysroot starts with
"target:", this "target:" prefix of filepaths is not treated correctly
during debug file search - it appears in the middle of the looked up
paths.
In the following example, unpatched GDB can't find separate debug files for
neither the executable, nor standard libraries:
$ gdb -ex 'set debug separate-debug-file 1' -ex 'set sysroot target:/' -ex 'set debug-file-directory /usr/lib/debug:/home/j/hide' -ex 'target remote :3333' -ex 'break main' -ex 'continue' -ex 'bt' -ex 'info sharedlibrary' -ex 'set confirm off' -ex 'quit'
GNU gdb (Gentoo 9999 vanilla) 8.2.50.20181109-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Remote debugging using :3333
Reading /home/j/test from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
Reading /home/j/test from remote target...
Reading symbols from target:/home/j/test...
Looking for separate debug info (debug link) for target:/home/j/test
Trying target:/home/j/test.debug
Reading /home/j/test.debug from remote target...
Trying target:/home/j/.debug/test.debug
Reading /home/j/.debug/test.debug from remote target...
Trying /usr/lib/debug/target:/home/j/test.debug
Trying /home/j/hide/target:/home/j/test.debug
(No debugging symbols found in target:/home/j/test)
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading symbols from target:/lib64/ld-linux-x86-64.so.2...
Looking for separate debug info (debug link) for target:/lib64/ld-linux-x86-64.so.2
Trying target:/lib64/ld-2.27.so.debug
Reading /lib64/ld-2.27.so.debug from remote target...
Trying target:/lib64/.debug/ld-2.27.so.debug
Reading /lib64/.debug/ld-2.27.so.debug from remote target...
Trying /usr/lib/debug/target:/lib64/ld-2.27.so.debug
Trying /home/j/hide/target:/lib64/ld-2.27.so.debug
(No debugging symbols found in target:/lib64/ld-linux-x86-64.so.2)
Looking for separate debug info (build-id) for system-supplied DSO at 0x7ffff7ffa000
Trying /usr/lib/debug/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug
Trying /home/j/hide/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug
0x00007ffff7dd7000 in ?? () from target:/lib64/ld-linux-x86-64.so.2
Breakpoint 1 at 0x4005eb
Continuing.
Reading /lib64/libpthread.so.0 from remote target...
Reading /lib64/libc.so.6 from remote target...
Looking for separate debug info (debug link) for target:/lib64/libpthread.so.0
Trying target:/lib64/libpthread-2.27.so.debug
Reading /lib64/libpthread-2.27.so.debug from remote target...
Trying target:/lib64/.debug/libpthread-2.27.so.debug
Reading /lib64/.debug/libpthread-2.27.so.debug from remote target...
Trying /usr/lib/debug/target:/lib64/libpthread-2.27.so.debug
Trying /home/j/hide/target:/lib64/libpthread-2.27.so.debug
Looking for separate debug info (debug link) for target:/lib64/libc.so.6
Trying target:/lib64/libc-2.27.so.debug
Reading /lib64/libc-2.27.so.debug from remote target...
Trying target:/lib64/.debug/libc-2.27.so.debug
Reading /lib64/.debug/libc-2.27.so.debug from remote target...
Trying /usr/lib/debug/target:/lib64/libc-2.27.so.debug
Trying /home/j/hide/target:/lib64/libc-2.27.so.debug
Breakpoint 1, 0x00000000004005eb in main ()
#0 0x00000000004005eb in main ()
From To Syms Read Shared Object Library
0x00007ffff7dd6e80 0x00007ffff7df4650 Yes (*) target:/lib64/ld-linux-x86-64.so.2
0x00007ffff7bbbb70 0x00007ffff7bcbfee Yes (*) target:/lib64/libpthread.so.0
0x00007ffff780f200 0x00007ffff7962d7c Yes (*) target:/lib64/libc.so.6
(*): Shared library is missing debugging information.
With current fix, the paths used always have target: in the beginning
and this helps to find all debug files:
$ gdb -ex 'set debug separate-debug-file 1' -ex 'set sysroot target:/' -ex 'set debug-file-directory /usr/lib/debug:/home/j/hide' -ex 'target remote :3333' -ex 'break main' -ex 'continue' -ex 'bt' -ex 'info sharedlibrary' -ex 'set confirm off' -ex 'quit'
GNU gdb (Gentoo 9999 vanilla) 8.2.50.20181109-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Remote debugging using :3333
Reading /home/j/test from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
Reading /home/j/test from remote target...
Reading symbols from target:/home/j/test...
Looking for separate debug info (debug link) for target:/home/j/test
Trying target:/home/j/test.debug
Reading /home/j/test.debug from remote target...
Trying target:/home/j/.debug/test.debug
Reading /home/j/.debug/test.debug from remote target...
Trying target:/usr/lib/debug//home/j/test.debug
Reading /usr/lib/debug//home/j/test.debug from remote target...
Trying target:/home/j/hide//home/j/test.debug
Reading /home/j/hide//home/j/test.debug from remote target...
Reading /home/j/hide//home/j/test.debug from remote target...
Reading symbols from target:/home/j/hide//home/j/test.debug...
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading symbols from target:/lib64/ld-linux-x86-64.so.2...
Looking for separate debug info (debug link) for target:/lib64/ld-linux-x86-64.so.2
Trying target:/lib64/ld-2.27.so.debug
Reading /lib64/ld-2.27.so.debug from remote target...
Trying target:/lib64/.debug/ld-2.27.so.debug
Reading /lib64/.debug/ld-2.27.so.debug from remote target...
Trying target:/usr/lib/debug//lib64/ld-2.27.so.debug
Reading /usr/lib/debug//lib64/ld-2.27.so.debug from remote target...
Reading /usr/lib/debug//lib64/ld-2.27.so.debug from remote target...
Reading symbols from target:/usr/lib/debug//lib64/ld-2.27.so.debug...
Looking for separate debug info (build-id) for system-supplied DSO at 0x7ffff7ffa000
Trying /usr/lib/debug/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug
Trying /home/j/hide/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug
0x00007ffff7dd7000 in _start () from target:/lib64/ld-linux-x86-64.so.2
Breakpoint 1 at 0x4005ef: file test/test16.c, line 13.
Continuing.
Reading /lib64/libpthread.so.0 from remote target...
Reading /lib64/libc.so.6 from remote target...
Looking for separate debug info (debug link) for target:/lib64/libpthread.so.0
Trying target:/lib64/libpthread-2.27.so.debug
Reading /lib64/libpthread-2.27.so.debug from remote target...
Trying target:/lib64/.debug/libpthread-2.27.so.debug
Reading /lib64/.debug/libpthread-2.27.so.debug from remote target...
Trying target:/usr/lib/debug//lib64/libpthread-2.27.so.debug
Reading /usr/lib/debug//lib64/libpthread-2.27.so.debug from remote target...
Reading /usr/lib/debug//lib64/libpthread-2.27.so.debug from remote target...
Looking for separate debug info (debug link) for target:/lib64/libc.so.6
Trying target:/lib64/libc-2.27.so.debug
Reading /lib64/libc-2.27.so.debug from remote target...
Trying target:/lib64/.debug/libc-2.27.so.debug
Reading /lib64/.debug/libc-2.27.so.debug from remote target...
Trying target:/usr/lib/debug//lib64/libc-2.27.so.debug
Reading /usr/lib/debug//lib64/libc-2.27.so.debug from remote target...
Reading /usr/lib/debug//lib64/libc-2.27.so.debug from remote target...
Breakpoint 1, main () at test/test16.c:13
13 for ( i=0; i<10; ++i)
#0 main () at test/test16.c:13
From To Syms Read Shared Object Library
0x00007ffff7dd6e80 0x00007ffff7df4650 Yes target:/lib64/ld-linux-x86-64.so.2
0x00007ffff7bbbb70 0x00007ffff7bcbfee Yes target:/lib64/libpthread.so.0
0x00007ffff780f200 0x00007ffff7962d7c Yes target:/lib64/libc.so.6
gdb/ChangeLog:
2018-11-09 Andrey Utkin <autkin@undo.io>
* symfile.c (find_separate_debug_file): Fix search of debug files for
remote debuggee.
Signed-off-by: Andrey Utkin <autkin@undo.io>
commit 8833fbf05c5b93fb3ccf666d5a3bd0e51e75d1bd
Author: Tom Tromey <tom@tromey.com>
Date: Wed Jan 2 09:30:49 2019 -0700
Style improvements in gdb/python
This fixes a few minor style issues I found in gdb/python: some
unnecessary casts, the removal of an unnecessary local variable, and
one instance of incorrect formatting.
Tested by rebuilding and re-running gdb.python.
gdb/ChangeLog
2019-01-02 Tom Tromey <tom@tromey.com>
* python/py-inferior.c (gdbpy_initialize_inferior): Fix
indentation.
* python/py-frame.c (frapy_older): Remove cast.
(frapy_newer): Likewise.
* python/py-breakpoint.c (local_setattro): Remove cast.
* python/py-arch.c (archpy_name): Remove local variable.
* python/py-type.c (gdbpy_lookup_type): Remove cast.
commit 4ada3dfd5c07f0f1045a721a28fc905918ffbdfd
Author: Joel Brobecker <brobecker@adacore.com>
Date: Wed Jan 2 10:11:41 2019 +0400
Fix year range in unittests/.../char/empty.cc copyright header
The year range in the copyright header of that file was incorrect:
// Copyright (C) 3 Free Software Foundation, Inc.
Tracing the origin of this file down, I found that it was copied
from GCC's libstdc++-v3 testsuite:
Adapt and integrate string_view tests
https://www.sourceware.org/ml/gdb-patches/2018-04/msg00113.html
Looking at the version in GCC, I found the same issue, so sent
a fix there:
https://gcc.gnu.org/ml/gcc-patches/2019-01/msg00000.html
Now that the fix is in GCC, this commit applies the same fix
to our copy.
gdb/ChangeLog:
* unittests/basic_string_view/element_access/char/empty.cc:
Fix year range in copyright header.
commit 502c64b9ac12cf2a35d3cb55c51e2eefd33a2494
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Jan 2 00:00:16 2019 +0000
Automatic date update in version.in
commit 113b7b8142427cf7a9ad85fbc39e1319b52649b5
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Dec 13 17:59:12 2018 +0000
gdb/riscv: Split ISA and ABI features
The goal of this commit is to allow RV64 binaries compiled for the 'F'
extension to run on a target that supports both the 'F' and 'D'
extensions.
The 'D' extension depends on the 'F' extension and chapter 9 of the
RISC-V ISA manual implies that running a program compiled for 'F' on
a 'D' target should be fine.
To support this the gdbarch now holds two feature sets, one represents
the features that are present on the target, and one represents the
features requested in the ELF flags.
The existing error checks are relaxed slightly to allow binaries
compiled for 32-bit 'F' extension to run on targets with the 64-bit
'D' extension.
A new set of functions called riscv_abi_{xlen,flen} are added to
compliment the existing riscv_isa_{xlen,flen}, and some callers to the
isa functions now call the abi functions when that is appropriate.
In riscv_call_arg_struct two asserts are removed, these asserts no
longer make sense. The asserts were both like this:
gdb_assert (TYPE_LENGTH (ainfo->type)
<= (cinfo->flen + cinfo->xlen));
And were made in two cases, when passing structures like these:
struct {
integer field1;
float field2;
};
or,
struct {
float field1;
integer field2;
};
When running on an RV64 target which only has 32-bit float then the
integer field could be 64-bits, while if the float field is 32-bits
the overall size of the structure can be 128-bits (with 32-bits of
padding). In this case the assertion would fail, however, the code
isn't incorrect, so its safe to just remove the assertion.
This was tested by running on an RV64IMFDC target using a compiler
configured for RV64IMFC, and comparing the results with those obtained
when using a compiler configured for RV64IMFDC. The only regressions
I see (now) are in gdb.base/store.exp and are related too different
code generation choices GCC makes between the two targets.
Finally, this commit does not make any attempt to support running
binaries compiled for RV32 on an RV64 target, though nothing in here
should prevent that being supported in the future.
gdb/ChangeLog:
* arch/riscv.h (struct riscv_gdbarch_features) <hw_float_abi>:
Delete.
<operator==>: Update with for removed field.
<hash>: Likewise.
* riscv-tdep.h (struct gdbarch_tdep) <features>: Renamed to...
<isa_features>: ...this.
<abi_features>: New field.
(riscv_isa_flen): Update comment.
(riscv_abi_xlen): New declaration.
(riscv_abi_flen): New declaration.
* riscv-tdep.c (riscv_isa_xlen): Update to get answer from
isa_features.
(riscv_abi_xlen): New function.
(riscv_isa_flen): Update to get answer from isa_features.
(riscv_abi_flen): New function.
(riscv_has_fp_abi): Update to get answer from abi_features.
(riscv_call_info::riscv_call_info): Use abi xlen and flen, not isa
xlen and flen.
(riscv_call_info) <xlen, flen>: Update comment.
(riscv_call_arg_struct): Remove invalid assertions
(riscv_features_from_gdbarch_info): Update now hw_float_abi field
is removed.
(riscv_gdbarch_init): Gather isa features and abi features
separately, ensure both match on the gdbarch when reusing an old
gdbarch. Relax an error check to allow 32-bit abi float to run on
a target with 64-bit float hardware.
commit b18ca5148b837c878b64306be2b78b15fa730259
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Jan 1 15:45:09 2019 +0100
Fix 'Invalid read of size 4' in search_command_helper
Valgrind detects the below error in gdb.base/list.exp.
==14763== Invalid read of size 4
==14763== at 0x60B584: search_command_helper(char const*, int, bool) [clone .constprop.91] (source.c:1601)
==14763== by 0x408888: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1892)
==14763== by 0x668550: execute_command(char const*, int) (top.c:630)
==14763== by 0x4B2F7B: command_handler(char const*) (event-top.c:583)
==14763== by 0x4B326C: command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char> >&&) (event-top.c:772)
...
==14763== Address 0x6d9f09c is 4 bytes before a block of size 156 alloc'd
==14763== at 0x4C2E2B3: realloc (vg_replace_malloc.c:836)
==14763== by 0x41904C: xrealloc (common-utils.c:62)
==14763== by 0x60A300: find_source_lines(symtab*, int) (source.c:1203)
==14763== by 0x608219: source_cache::get_plain_source_lines(symtab*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (source-cache.c:51)
==14763== by 0x60A46B: print_source_lines_base(symtab*, int, int, enum_flags<print_source_lines_flag>) (source.c:1350)
==14763== by 0x404E2D: list_command(char const*, int) (cli-cmds.c:1080)
....
Add the missing condition to end the loop once line 1 has been
reversed-searched.
gdb/ChangeLog
2019-01-01 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* source.c (search_command_helper): Stop reverse search
when line 1 has been searched.
commit ec70d8db32462176e7da60d28b0c1978fc6b70d3
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Jan 1 14:12:30 2019 +0100
Fix leak in record-full.c
valgrind detects leaks in several gdb.reverse tests,
such as the below in gdb.reverse/watch-precsave.exp.
Fix the leak by rewriting the loop that frees
record_full_core_buf_list.
gdb/ChangeLog
2019-01-01 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* record-full.c (record_full_base_target::close): Rewrite
record_full_core_buf_list free logic.
==18847== VALGRIND_GDB_ERROR_BEGIN
==18847== 4,120 (24 direct, 4,096 indirect) bytes in 1 blocks are definitely lost in loss record 3,094 of 3,199
==18847== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==18847== by 0x405097: xmalloc (common-utils.c:44)
==18847== by 0x5AF8EA: xnew<record_full_core_buf_entry> (poison.h:110)
==18847== by 0x5AF8EA: record_full_core_target::xfer_partial(target_object, char const*, unsigned char*, unsigned char const*, unsigned long, unsigned long, unsigned long*) (record-full.c:2182)
==18847== by 0x64677D: raw_memory_xfer_partial(target_ops*, unsigned char*, unsigned char const*, unsigned long, long, unsigned long*) (target.c:956)
==18847== by 0x64691E: memory_xfer_partial_1(target_ops*, target_object, unsigned char*, unsigned char const*, unsigned long, unsigned long, unsigned long*) (target.c:1086)
commit 5b38f9c16e5b3f5f4b5d7772bfef59b1c97e2d05
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Mon Dec 31 18:07:26 2018 +0100
Fix leak in print_one_catch_syscall.
The last text produced was not freed, causing the below leak
(e.g. in gdb.base/catch-syscall.exp):
==24970== 56 bytes in 12 blocks are definitely lost in loss record 626 of 3,289
==24970== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==24970== by 0x66B9C3F: __vasprintf_chk (vasprintf_chk.c:80)
==24970== by 0x405181: vasprintf (stdio2.h:210)
==24970== by 0x405181: xstrvprintf(char const*, __va_list_tag*) (common-utils.c:122)
==24970== by 0x40524B: xstrprintf(char const*, ...) (common-utils.c:113)
==24970== by 0x3B49DB: print_one_catch_syscall(breakpoint*, bp_location**) (break-catch-syscall.c:275)
==24970== by 0x3C698F: print_one_breakpoint_location(breakpoint*, bp_location*, int, bp_location**, int) (breakpoint.c:6076)
==24970== by 0x3C75B1: print_one_breakpoint(breakpoint*, bp_location**, int) (breakpoint.c:6373)
==24970== by 0x3C7D0E: breakpoint_1(char const*, int, int (*)(breakpoint const*)) (breakpoint.c:6571)
==24970== by 0x3C822C: info_breakpoints_command(char const*, int) (breakpoint.c:6625)
2019-01-01 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* break-catch-syscall.c (print_one_catch_syscall): xfree
the last text.
commit 827041555ac443bd57340060f3e034fd7b199dd8
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jan 1 21:01:27 2019 +1030
Update year range in copyright notice of binutils files
commit d5c04e1bf81c06ab5c30e69eb41b5cea9136a109
Author: Alan Modra <amodra@gmail.com>
Date: Tue Jan 1 21:23:15 2019 +1030
ChangeLog rotation
commit 66d91b39089d606c9589673a7c5419cf37e7d639
Author: Joel Brobecker <brobecker@adacore.com>
Date: Tue Jan 1 10:09:59 2019 +0400
update copyright year printed by gdb, gdbserver and gdbreplay
gdb/ChangeLog:
* top.c (print_gdb_version): Update Copyright year in version
message.
gdb/gdbserver/ChangeLog:
* gdbreplay.c (gdbreplay_version): Update copyright year in
version message.
* server.c (gdbserver_version): Likewise.
commit 42a4f53d2bf8938c2aeda9f52be7a20534b214a9
Author: Joel Brobecker <brobecker@adacore.com>
Date: Tue Jan 1 10:01:51 2019 +0400
Update copyright year range in all GDB files.
This commit applies all changes made after running the gdb/copyright.py
script.
Note that one file was flagged by the script, due to an invalid
copyright header
(gdb/unittests/basic_string_view/element_access/char/empty.cc).
As the file was copied from GCC's libstdc++-v3 testsuite, this commit
leaves this file untouched for the time being; a patch to fix the header
was sent to gcc-patches first.
gdb/ChangeLog:
Update copyright year range in all GDB files.
commit 5bbd631dca26b37b1cc7164d4499949826b8a102
Author: Joel Brobecker <brobecker@adacore.com>
Date: Tue Jan 1 09:59:27 2019 +0400
rotate gdb/ChangeLog
commit bba90696229e8d7d3a37f89159d91e0906357bbe
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Jan 1 00:00:27 2019 +0000
Automatic date update in version.in
commit 2139e8dc9f8f11aacb3e4b697a3d554b28d50ee6
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Dec 30 20:41:49 2018 +0100
Use gdb::unique_xmalloc_ptr<char> in command_line_input to fix a leak
Following the change of logic where the input_handler gets a
gdb::unique_xmalloc_ptr<char>, a call to readline directly
followed by a call to handle_line_of_input is missing a free,
and causes the below leak.
Use gdb::unique_xmalloc_ptr<char> to solve the leak.
==16291== VALGRIND_GDB_ERROR_BEGIN
==16291== 64 bytes in 1 blocks are definitely lost in loss record 1,815 of 4,111
==16291== at 0x4C2E2B3: realloc (vg_replace_malloc.c:836)
==16291== by 0x41EB1C: xrealloc (common-utils.c:62)
==16291== by 0x41DBD3: buffer_grow(buffer*, char const*, unsigned long) [clone .part.1] (buffer.c:40)
==16291== by 0x66E8FF: buffer_grow_char (buffer.h:40)
==16291== by 0x66E8FF: gdb_readline_no_editing (top.c:798)
==16291== by 0x66E8FF: command_line_input(char const*, char const*) (top.c:1249)
==16291== by 0x66EBD8: read_command_file(_IO_FILE*) (top.c:421)
==16291== by 0x412C0C: script_from_file(_IO_FILE*, char const*) (cli-script.c:1547)
==16291== by 0x40BE90: source_script_from_stream (cli-cmds.c:569)
==16291== by 0x40BE90: source_script_with_search(char const*, int, int) (cli-cmds.c:606)
==16291== by 0x54D567: catch_command_errors(void (*)(char const*, int), char const*, int) (main.c:379)
==16291== by 0x54EA84: captured_main_1 (main.c:994)
==16291== by 0x54EA84: captured_main (main.c:1167)
==16291== by 0x54EA84: gdb_main(captured_main_args*) (main.c:1193)
==16291== by 0x29DA27: main (gdb.c:32)
==16291==
==16291== VALGRIND_GDB_ERROR_END
gdb/ChangeLog
2018-12-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* top.c (command_line_input): Use unique_xmalloc_ptr to
manage memory allocated by readline.
commit 8fd04a4255376036e85c4e80d430b44ec4b06c64
Author: Alan Modra <amodra@gmail.com>
Date: Mon Dec 31 17:06:25 2018 +1030
PR24042, Global-buffer-overflow problem in output_rel_find
place_orphan handled ELF SHT_REL/SHT_RELA specially, output_rel_find
didn't. This mismatch was a bug and also meant it was possible to
craft an object where ld accessed section->name out of bounds.
PR 24042
* emultempl/elf32.em (output_rel_find): Drop "sec" param. Add
"rela".
(gld${EMULATION_NAME}_place_orphan): Use sh_type to calculate
"rela" param of output_rel_find when ELF. Tidy uses of elfinput.
commit 54025d5812ff100f5f0654eb7e1ffd50f2e37f5f
Author: Alan Modra <amodra@gmail.com>
Date: Mon Dec 31 15:40:08 2018 +1030
PR24041, Invalid Memory Address Dereference in elf_link_add_object_symbols
PR 24041
* elflink.c (elf_link_add_object_symbols): Don't segfault on
crafted ET_DYN with no program headers.
commit c96e057398b599a343cdff68325251346b71594e
Author: Alan Modra <amodra@gmail.com>
Date: Mon Dec 31 12:11:42 2018 +1030
[PowerPC64] Nop out ld 2,24(1) after old-style __tls_get_addr
When optimising inline plt calls to __tls_get_addr without tls marker
relocs, ld should zap any toc restore insn after the bctrl, to stop a
load-hit-store stall.
* elf64-ppc.c (ppc64_elf_relocate_section <tls_ldgd_opt>): When
editing an old-style __tls_get_addr call, replace a toc restore
insn with a nop.
commit 17c885c61819650bc00790988e46d3d1d8801691
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Dec 31 00:00:18 2018 +0000
Automatic date update in version.in
commit 95bc9f0bf06637cf9c1147008ac32d6b00c42707
Author: Tom Tromey <tom@tromey.com>
Date: Sat Dec 29 12:42:18 2018 -0700
Change input_handler to take a unique_xmalloc_ptr
This changes ui::input_handler to take a unique_xmalloc_ptr. This
clarifies the ownership transfer of input_handler's argument.
gdb/ChangeLog
2018-12-30 Tom Tromey <tom@tromey.com>
* event-top.h (command_line_handler): Update.
* top.c (class gdb_readline_wrapper_cleanup) <m_handler_orig>:
Update.
(gdb_readline_wrapper_line): Update.
* top.h (struct ui) <input_handler>: Take a unique_xmalloc_ptr.
(handle_line_of_input): Update.
* event-top.c: Update.
(gdb_readline_no_editing_callback): Update.
(command_line_handler): Take a unique_xmalloc_ptr.
(handle_line_of_input): Take a const char *.
(command_line_append_input_line): Take a const char *.
commit ecad3b215d34263968bb7c74701e3ca9483ac710
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Dec 29 14:21:31 2018 +0100
Fix 'help set/show style' strange layouts/results.
The layout for 'help set address|variable' is strange, e.g.:
(gdb) help set style address
style address
List of show Address display styling
Configure address colors and display intensity subcommands:
show Address display styling
Configure address colors and display intensity background -- Set the background color for this property
show Address display styling
Configure address colors and display intensity foreground -- Set the foreground color for this property
show Address display styling
Configure address colors and display intensity intensity -- Set the display intensity color for this property
Type "help show Address display styling
Configure address colors and display intensity" followed by show Address display styling
Configure address colors and display intensity subcommand name for full documentation.
Type "apropos word" to search for commands related to "word".
Command name abbreviations are allowed if unambiguous.
(gdb)
The help for 'set style function|filename' gives help for 'Show':
(gdb) help set style filename
Filename display styling
Configure filename colors and display intensity.
List of show style filename subcommands:
show style filename background -- Set the background color for this property
show style filename foreground -- Set the foreground color for this property
show style filename intensity -- Set the display intensity color for this property
The help for 'show style function|filename' is equally strange, as it speaks
about commands, instead of sub commands:
(gdb) help show style filename
Filename display styling
Configure filename colors and display intensity.
List of commands:
background -- Show the background color for this property
foreground -- Show the foreground color for this property
intensity -- Show the display intensity color for this property
Type "help" followed by command name for full documentation.
Type "apropos word" to search for commands related to "word".
Command name abbreviations are allowed if unambiguous.
(gdb)
This patch fixes all this.
Note that the 'set style' and 'show style' have the same prefix_doc:
(gdb) help show style
Style-specific settings
Configure various style-related variables, such as colors
...
(gdb) help set style
Style-specific settings
Configure various style-related variables, such as colors
...
Other similar commands (such as set|show history) have typically
a more specific prefix:
(gdb) help show history
Generic command for showing command history parameters.
...
(gdb) help set history
Generic command for setting command history parameters.
...
This could be fixed by having set_prefix_doc and show_prefix_doc instead of
the single prefix_doc argument to cli_style_option::add_setshow_commands.
That could be improved if deemed better.
2018-12-29 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* cli/cli-style.c (cli_style_option::add_setshow_commands):
Initialize m_set_prefix with "set", instead of re-assigning
m_show_prefix. Use m_set_prefix for set_list and m_show_prefix
for show_list.
(_initialize_cli_style): Correct the order of arguments in
variable_name_style.add_setshow_commands and
address_style.add_setshow_commands calls.
commit f1d3b1665f4980c893b496e85906ce43917cc515
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Dec 30 00:00:54 2018 +0000
Automatic date update in version.in
commit 64c45143db4c550e19763edf97ca3441c78f9a05
Author: Tom Tromey <tom@tromey.com>
Date: Fri Dec 28 21:07:24 2018 -0700
Fix the build when GNU Source Highlight is not available
The builder pointed out that, when GNU Source Highlight is not
available, get_language_name is not used. This patch makes it
conditional, fixing the build problem.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* source-cache.c (get_language_name): Conditionally compile.
commit f9f981e5f64c3941ccae45c7a2911898eeade5cf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Dec 29 00:00:35 2018 +0000
Automatic date update in version.in
commit 2cd8cc0b66ca297bce4d08e4f712f86d9f1a2fb6
Author: Tom Tromey <tom@tromey.com>
Date: Wed Dec 19 11:44:28 2018 -0700
Fix a crash in jit.c
A user at Mozilla pointed out a crash in jit.c. In his situation, an
inferior using the JIT API exec'd an executable that did not use it.
This caused an assertion failure when jit.c:free_objfile_data called
delete_breakpoint with NULL.
This patch fixes the problem in the obvious way. New test case
included.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* jit.c (free_objfile_data): Only delete breakpoint if non-null.
gdb/testsuite/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
Simon Marchi <simark@simark.ca>
* gdb.base/jit-exec.exp: New file.
* gdb.base/jit-exec.c: New file.
* gdb.base/jit-execd.c: New file.
commit 140a4bc099820c909da0eac1df0f56ec468ad3dd
Author: Tom Tromey <tom@tromey.com>
Date: Mon Nov 26 16:19:17 2018 -0700
Document the "set style" commands
This documents the new "set style" commands.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* NEWS: Mention terminal styling.
gdb/doc/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* gdb.texinfo (Output Styling): New node.
commit 62f29fda90cf1d5a1899f57ef78452471c707fd6
Author: Tom Tromey <tom@tromey.com>
Date: Tue Oct 9 22:21:05 2018 -0600
Highlight source code using GNU Source Highlight
This changes gdb to highlight source using GNU Source Highlight, if it
is available.
This affects the output of the "list" command and also the TUI source
window.
No new test because I didn't see a way to make it work when Source
Highlight is not found.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* utils.h (can_emit_style_escape): Declare.
* utils.c (can_emit_style_escape): No longer static.
* cli/cli-style.c (set_style_enabled): New function.
(_initialize_cli_style): Use it.
* tui/tui-winsource.c (tui_show_source_line): Use tui_puts.
(tui_alloc_source_buffer): Change how source lines are allocated.
* tui/tui-source.c (copy_source_line): New function.
(tui_set_source_content): Use source cache.
* tui/tui-io.h (tui_puts): Update.
* tui/tui-io.c (tui_puts_internal): Add window parameter.
(tui_puts): Likewise.
(tui_redisplay_readline): Update.
* tui/tui-data.c (free_content_elements): Change how source window
contents are freed.
* source.c (forget_cached_source_info): Clear the source cache.
(print_source_lines_base): Use the source cache.
* source-cache.h: New file.
* source-cache.c: New file.
* configure.ac: Check for GNU Source Highlight library.
* configure: Update.
* config.in: Update.
* Makefile.in (SRCHIGH_LIBS, SRCHIGH_CFLAGS): New variables.
(INTERNAL_CFLAGS_BASE): Add SRCHIGH_CFLAGS.
(CLIBS): Add SRCHIGH_LIBS.
(COMMON_SFILES): Add source-cache.c.
(HFILES_NO_SRCDIR): Add source-cache.h.
commit 4a3045920bbe4e50a0f4920b0fdc4e88ef23015c
Author: Tom Tromey <tom@tromey.com>
Date: Tue Oct 9 14:16:07 2018 -0600
Use wclrtoeol in tui_show_source_line
This changes tui_show_source_line to use wclrtoeol rather than
manually emitting a sequence of spaces.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* tui/tui-winsource.c (tui_show_source_line): Use wclrtoeol.
commit 1d1d0bf76f3bc3056a1456e53c066f40ca4d0837
Author: Tom Tromey <tom@tromey.com>
Date: Mon Sep 3 12:42:59 2018 -0600
Make ANSI terminal escape sequences work in TUI
PR tui/14126 notes that ANSI terminal escape sequences don't affect
the colors shown in the TUI. A simple way to see this is to try the
extended-prompt example from the gdb manual.
Curses does not pass escape sequences through to the terminal.
Instead, it replaces non-printable characters with a visible
representation, for example "^[" for the ESC character.
This patch fixes the problem by adding a simple ANSI terminal sequence
parser to gdb. These sequences are decoded and those that are
recognized are turned into the appropriate curses calls.
The curses approach to color handling is unusual and so there are some
oddities in the implementation.
Standard curses has no notion of the default colors of the terminal.
So, if you set the foreground color, it is not possible to reset it --
you have to pick some other color. ncurses provides an extension to
handle this, so this patch updates configure and uses it when
available.
Second, in curses, colors always come in pairs: you cannot set just
the foreground. This patch handles this by tracking actually-used
pairs of colors and keeping a table of these for reuse.
Third, there are a limited number of such pairs available. In this
patch, if you try to use too many color combinations, gdb will just
ignore some color changes.
Finally, in addition to limiting the number of color pairs, curses
also limits the number of colors. This means that, when using
extended 8- or 24-bit color sequences, it may be possible to exhaust
the curses color table.
I am very sour on the curses design now.
I do not know how to write a test for this, so I did not.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
PR tui/14126:
* tui/tui.c (tui_enable): Call start_color and
use_default_colors.
* tui/tui-io.c (struct color_pair): New.
(color_pair_map, last_color_pair, last_style): New globals.
(tui_setup_io): Clean up color map when shutting down.
(curses_colors): New constant.
(get_color_pair, apply_ansi_escape): New functions.
(tui_write): Rewrite.
(tui_puts_internal): New function, from tui_puts. Add "height"
parameter.
(tui_puts): Use tui_puts_internal.
(tui_redisplay_readline): Use tui_puts_internal.
(_initialize_tui_io): New function.
(color_map): New globals.
(get_color): New function.
* configure.ac: Check for use_default_colors.
* config.in, configure: Rebuild.
commit 35fb8261b95c07e548a0b03f60b6c2cebf83caf8
Author: Tom Tromey <tom@tromey.com>
Date: Fri Oct 19 16:22:35 2018 -0600
Style addresses
This changes gdb to style addresses.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* ui-out.h (enum class ui_out_style_kind) <ADDRESS>: New
constant.
* ui-out.c (ui_out::field_core_addr): Add styling.
* stack.c (print_frame): Add styling.
* printcmd.c (print_address): Add styling.
(print_address_demangle, info_address_command): Likewise.
* cli/cli-style.h (address_style): Declare.
* cli/cli-style.c (address_style): New global.
(_initialize_cli_style): Register new commands.
* cli-out.c (cli_ui_out::do_field_string): Update.
gdb/testsuite/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* gdb.base/style.exp: Update test to check for address styling.
commit 47fd17cdc14a0d295a2cbdc02eff144e3fb4e900
Author: Tom Tromey <tom@tromey.com>
Date: Thu Sep 6 14:49:39 2018 -0600
Style the "Reading symbols" message
The "Reading symbols" message does not use ui-out (perhaps it
should?), so this styles it using the low-level API.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* symfile.c (symbol_file_add_with_addrs): Style file name.
gdb/testsuite/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* gdb.base/style.exp: Add test for styling of "Reading symbols"
message.
commit d47032b7ca85852acb1d2bc645f477ffee4373fc
Author: Tom Tromey <tom@tromey.com>
Date: Thu Sep 6 14:44:17 2018 -0600
Style the gdb welcome message
This changes gdb to style the welcome message that is shown by
default. The styling is only done interactively.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* top.c (print_gdb_version): Style gdb version number.
gdb/testsuite/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* gdb.base/style.exp: Add test for version number styling.
commit af79b68d7f935799c956b1a40e92a167385b5380
Author: Tom Tromey <tom@tromey.com>
Date: Wed Sep 5 23:39:34 2018 -0600
Style print_address_symbolic
print_address_symbolic does not use ui-out, so it did not style
function names. This patch changes it to use the low-level style code
directly.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* printcmd.c (print_address_symbolic): Style function name.
gdb/testsuite/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* gdb.base/style.exp: Add test for print_address_symbolic.
commit 0bb296cb5f3a81b4b5e702208aad911d3b727f8b
Author: Tom Tromey <tom@tromey.com>
Date: Wed Sep 5 23:32:16 2018 -0600
Style locations when setting a breakpoint
say_where does not use ui-out, so function and file names printed by
it were not styled. This patch changes say_where to use the low-level
style code directly.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* breakpoint.c (say_where): Style file name.
gdb/testsuite/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* gdb.base/style.exp: Add test for breakpoint setting.
commit 80ae204359b707f2914132ed353d3cecbdb58b23
Author: Tom Tromey <tom@tromey.com>
Date: Wed Sep 5 12:12:19 2018 -0600
Style variable names
This adds style support for variable names. For the time being, this
is only done in backtraces, not in ptype or print; those places do not
use ui-out and so would need ad hoc changes.
This also adds styling to the names printed for local variables in
"backtrace full". This code does not use ui-out, so the styling is
done using the low-level API.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* ui-out.h (enum class ui_out_style_kind) <VARIABLE>: New global.
* stack.c (print_frame_arg): Style name.
* printcmd.c (print_variable_and_value): Style variable name.
* cli/cli-style.h (variable_name_style): Declare.
* cli/cli-style.c (variable_name_style): New global.
(_initialize_cli_style): Update.
* cli-out.c (cli_ui_out::do_field_string): Update.
gdb/testsuite/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* gdb.base/style.exp: Add test for variable names.
commit ef1dfa3644f02efffa11d718fe5788c05177587b
Author: Tom Tromey <tom@tromey.com>
Date: Sat Nov 17 11:49:25 2018 -0700
Reset terminal styles
This adds a function that can be used to reset terminal styles,
regardless of what style the low-level output routines currently think
is applied.
This is used to make "echo" and "printf" work properly when emitting
ANSI terminal escapes -- now gdb will reset the style at the end of
the command.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* utils.h (reset_terminal_style): Declare.
* utils.c (can_emit_style_escape): New function.
(set_output_style): Use it.
(reset_terminal_style): New function.
* printcmd.c (printf_command): Call reset_terminal_style.
* cli/cli-cmds.c (echo_command): Call reset_terminal_style.
commit cbe5657196d0d3acbeca39973f93f333ecedacda
Author: Tom Tromey <tom@tromey.com>
Date: Mon Sep 3 22:56:33 2018 -0600
Add output styles to gdb
This adds some output styling to the CLI.
A style is currently a foreground color, a background color, and an
intensity (dim or bold). (This list could be expanded depending on
terminal capabilities.)
A style can be applied while printing. For ui-out, this is done by
passing the style constant as an argument. For low-level cases,
fprintf_styled and fputs_styled are provided.
Users can control the style via a number of new set/show commands. In
the interest of not typing many nearly-identical documentation
strings, I automated this. On the down side, this is not very
i18n-friendly.
I've chose some default colors to use. I think it would be good to
enable this by default, so that when users start the new gdb, they
will see the new feature.
Stylizing is done if TERM is set and is not "dumb". This could be
improved when the TUI is available by using the curses has_colors
call. That is, the lowest layer could call this without committing to
using curses everywhere; see my other patch for TUI colorizing.
I considered adding a new "set_style" method to ui_file. However,
because the implementation had to interact with the pager code, I
didn't take this approach. But, one idea might be to put the isatty
check there and then have it defer to the lower layers.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* utils.h (set_output_style, fprintf_styled)
(fputs_styled): Declare.
* utils.c (applied_style, desired_style): New globals.
(emit_style_escape, set_output_style): New function.
(prompt_for_continue): Emit style escapes.
(fputs_maybe_filtered): Likewise.
(fputs_styled, fprintf_styled): New functions.
* ui-out.h (enum class ui_out_style_kind): New.
(class ui_out) <field_string, field_stream, do_field_string>: Add
style parameter.
* ui-out.c (ui_out::field_stream, ui_out::field_string): Add style
parameter.
* tui/tui-out.h (class tui_ui_out) <do_field_string>: Add style
parameter.
* tui/tui-out.c (tui_ui_out::do_field_string): Add style
parameter.
(tui_ui_out::do_field_string): Update.
* tracepoint.c (print_one_static_tracepoint_marker): Style
output.
* stack.c (print_frame_info, print_frame): Style output.
* source.c (print_source_lines_base): Style output.
* skip.c (info_skip_command): Style output.
* record-btrace.c (btrace_call_history_src_line): Style output.
(btrace_call_history): Likewise.
* python/py-framefilter.c (py_print_frame): Style output.
* mi/mi-out.h (class mi_ui_out) <do_field_string>: Add style
parameter.
* mi/mi-out.c (mi_ui_out::do_table_header)
(mi_ui_out::do_field_int): Update.
(mi_ui_out::do_field_string): Update.
* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
Style output.
* cli/cli-style.h: New file.
* cli/cli-style.c: New file.
* cli-out.h (class cli_ui_out) <do_field_string>: Add style
parameter.
* cli-out.c (cli_ui_out::do_table_header)
(cli_ui_out::do_field_int, cli_ui_out::do_field_skip): Update.
(cli_ui_out::do_field_string): Add style parameter. Style the
output.
* breakpoint.c (print_breakpoint_location): Style output.
(update_static_tracepoint): Likewise.
* Makefile.in (SUBDIR_CLI_SRCS): Add cli-style.c.
(HFILES_NO_SRCDIR): Add cli-style.h.
gdb/testsuite/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* gdb.base/style.exp: New file.
* gdb.base/style.c: New file.
commit 9162a27c5f5828240b53379d735679e2a69a9f41
Author: Tom Tromey <tom@tromey.com>
Date: Tue Nov 13 11:59:03 2018 -0700
Change gdb test suite's TERM setting
This changes the gdb test suite to set TERM to "dumb" by default.
This setting disables terminal styling, so that the existing tests do
not need to be updated.
gdb/testsuite/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* lib/gdb.exp (gdb_init): Set the TERM environment variable to
"dumb".
* gdb.base/readline.exp (operate_and_get_next): Save and restore
the TERM environment variable.
commit eedeedd2a50d121af466ddfa9e897212defbf079
Author: Tom Tromey <tom@tromey.com>
Date: Fri Nov 9 17:29:50 2018 -0700
Introduce ui_file_style
This introduces the new ui_file_style class and various helpers. This
class represents a terminal style and provides methods for parsing and
emitting the corresponding ANSI terminal escape sequences.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* unittests/style-selftests.c: New file.
* ui-style.c: New file.
* ui-style.h: New file.
* ui-file.h: Include ui-style.h.
* Makefile.in (COMMON_SFILES): Add ui-style.c.
(HFILES_NO_SRCDIR): Add ui-style.h.
(SUBDIR_UNITTESTS_SRCS): Add style-selftests.c.
commit 7170dadf5950e1444ab09cdfc4e07dd2698fc275
Author: Tom Tromey <tom@tromey.com>
Date: Thu Sep 6 14:03:38 2018 -0600
Add a "context" argument to add_setshow_enum_cmd
This adds a "context" argument to add_setshow_enum_cmd. Now
add_setshow_enum_cmd will call set_cmd_context on both of the new
commands. This is used in a later patch.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* command.h (add_setshow_enum_cmd): Add "context" argument.
* cli/cli-decode.c (add_setshow_enum_cmd): Add "context"
argument. Call set_cmd_context.
commit c5603d506350cca3b1af7ba3a97bf05adeea0508
Author: Tom Tromey <tom@tromey.com>
Date: Wed Sep 5 11:25:28 2018 -0600
Change wrap buffering to use a std::string
Currently wrap buffering is implemented by allocating a string that is
the same width as the window, and then writing characters into it.
However, if gdb emits terminal escapes, then these could possibly
overflow the buffer.
To prevent this, change the wrap buffer to be a std::string and update
the various uses.
This also changes utils.c to always emit characters to the wrap
buffer. This simplifies future patches which emit terminal escape
sequences, and also makes it possible for the "echo" and "printf"
commands to be used to emit terminal escapes and have these work in
the TUI.
gdb/ChangeLog
2018-12-28 Tom Tromey <tom@tromey.com>
* utils.c (filter_initialized): New global.
(wrap_buffer): Now a std::string.
(wrap_pointer): Remove.
(flush_wrap_buffer): New function.
(filtered_printing_initialized, set_width, wrap_here)
(fputs_maybe_filtered): Update.
commit 94f2c73066597f33933bef2d20bdbfbf6fcd8b69
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Fri Dec 28 12:19:59 2018 +0100
Fix leak of set/show verbose doc, avoid xfree of static string
In the tests
py-pp-registration/gdb.log
default/gdb.log
foll-fork/gdb.log
setshow/gdb.log
break-interp/gdb.log
Valgrind detects a leak of the doc strings for the set and show verbose cmd.
Here is the stacktrace of the leaked set doc:
==25548== 15 bytes in 1 blocks are definitely lost in loss record 101 of 3,120
==25548== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==25548== by 0x409C27: xmalloc (common-utils.c:44)
==25548== by 0x778AF9: xstrdup (xstrdup.c:34)
==25548== by 0x3F860F: add_setshow_cmd_full(char const*, command_class, var_types, void*, char const*, char const*, char const*, void (*)(char const*, int, cmd_list_element*), void (*)(ui_file*, int, cmd_list_element*, char const*), cmd_list_element**, cmd_list_element**, cmd_list_element**, cmd_list_element**) [clone .constprop.10] (cli-decode.c:495)
==25548== by 0x3F8ADB: add_setshow_boolean_cmd(char const*, command_class, int*, char const*, char const*, char const*, void (*)(char const*, int, cmd_list_element*), void (*)(ui_file*, int, cmd_list_element*, char const*), cmd_list_element**, cmd_list_element**) (cli-decode.c:593)
==25548== by 0x3F7442: _initialize_cli_cmds() (cli-cmds.c:1768)
==25548== by 0x69EED3: initialize_all_files() (init.c:365)
==25548== by 0x658A84: gdb_init(char*) (top.c:2163)
==25548== by 0x5403E1: captured_main_1 (main.c:863)
==25548== by 0x5403E1: captured_main (main.c:1167)
==25548== by 0x5403E1: gdb_main(captured_main_args*) (main.c:1193)
==25548== by 0x289CA7: main (gdb.c:32)
The leak is created by top.c set_verbose 'elaborate joke':
the doc string is changed according to the verbosity:
(gdb) help set verbose
Set verbosity.
(gdb) set verbose on
(gdb) help set verbose
Set verbose printing of informational messages.
(gdb)
set_verbose creates the leak as it replaces the string allocated in
the above stacktrace by a static (non translated) string:
...
if (info_verbose)
{
c->doc = "Set verbose printing of informational messages.";
...
Also, this can possibly trigger a call to 'free' of a static string,
as c->doc_allocated is kept true, while the string is not allocated anymore.
This patch:
* fixes the leak by freeing the previous docs if doc_allocated.
* internationalize the messages.
* properly sets doc_allocated to 0 once doc strings are static.
gdb/ChangeLog
2018-12-28 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* top.c (set_verbose): Free previous docs if doc_allocated.
Internationalize messages. Set doc_allocated to 0.
commit 156f23669270533e1499e15e49842468800c2681
Author: Eli Zaretskii <eliz@gnu.org>
Date: Fri Dec 28 09:02:04 2018 +0200
Avoid internal errors when stepping outside 'main' on MinGW
When one steps with "next" past the 'main's 'return' statement
in MinGW programs built by mingw.org's tools, PC lands in a
function whose symbol is not in any symtab. GDB then looks
up the nearest symbol, and should find none, because all those
with addresses below PC are not real functions. Having
unresolved symbols, whose address is zero, in minsyms tricked
GDB into using these bogus symbols, which then caused
assertion violation and internal_error. See the discussion at
https://sourceware.org/ml/gdb-patches/2018-12/msg00176.html
for more details.
gdb/ChangeLog
2018-12-28 Eli Zaretskii <eliz@gnu.org>
* coffread.c (coff_symtab_read): Don't record in minsyms symbols
that are unresolved. This avoids triggering an internal error
when stepping outside of 'main' in MinGW programs.
commit 0e41bebb938dbe9eae7063f5321429194bfc5ab7
Author: Alan Modra <amodra@gmail.com>
Date: Fri Dec 28 09:41:44 2018 +1030
PR24015, glibc-2.28 on little-endian mips32 broken
Commit 2bf2bf23da exposed a bug on targets that create common sections
other than the standard ELF SHN_COMMON. If these are output by ld -r,
then their type becomes SHT_PROGBITS unless the target handles them
specially (eg. by elf_backend_special_sections), and if they are
merged into .bss/.sbss by ld -r then that section becomes SHT_PROGBITS.
Worse, if they are output by ld -r, then their size is increased by
bfd_generic_define_common_symbol during final link, which leads to
bogus file contents being copied to output.
For mips, it seems to me that the .scommon section should not be
output for ld -r, but I haven't made that change in this patch.
PR 24015
* elf.c (bfd_elf_get_default_section_type): Make common sections
SHT_NOBITS.
* linker.c (bfd_generic_define_common_symbol): Clear
SEC_HAS_CONTENTS.
commit cb87d9f1a49986b2eb92ac381444f4cc7c9d8a4f
Author: Alan Modra <amodra@gmail.com>
Date: Fri Dec 28 09:34:28 2018 +1030
PR23966, mingw failure due to 32-bit long
PR 23966
* libbfd.c (SSIZE_MAX): Define.
(bfd_malloc, bfd_realloc): Don't cast size to long to check for
"negative" values, compare against SSIZE_MAX instead.
commit d1a3c973fa1c0d7eead585e82e02db11daeb36cf
Author: Alan Modra <amodra@gmail.com>
Date: Fri Dec 28 09:31:42 2018 +1030
PR24028, PPC_INT_FMT
PPC_INT_FMT is redundant now that bfd.h pulls in inttypes.h if
available. Apparently MacOS Mojave defines int64_t as long long even
though long is also 64 bits, which confuses the logic selecting
PPC_INT_FMT (and BFD_PRI64 too). Hopefully inttypes.h is available on
Mojave.
PR 24028
include/
* opcode/ppc.h (PPC_INT_FMT): Delete.
opcodes/
* ppc-dis.c (print_insn_powerpc): Replace PPC_INT_FMT uses with
PRId64/PRIx64.
commit b6d3efdc59c84f418e2d7e1a1dfbc5ff33f44ae5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Dec 28 00:00:22 2018 +0000
Automatic date update in version.in
commit bc543c902f9891f732be68817e16ff379b69566e
Author: Tom Tromey <tom@tromey.com>
Date: Tue Dec 25 12:38:01 2018 -0700
Translate PyExc_KeyboardInterrupt to gdb "quit"
A while back I typed "info pretty-printers" with a large number of
printers installed, and I typed "q" to stop the pagination. I noticed
that gdb printed a Python exception in this case.
It seems to me that, instead, quitting pagination (or control-c'ing a
Python command generally) should be handled the same way that gdb
normally handles a quit.
This patch implements this idea by changing gdbpy_handle_exception to
treat PyExc_KeyboardInterrupt specially.
gdb/ChangeLog
2018-12-27 Tom Tromey <tom@tromey.com>
* python/py-utils.c (gdbpy_handle_exception): Translate
PyExc_KeyboardInterrupt to quit.
gdb/testsuite/ChangeLog
2018-12-27 Tom Tromey <tom@tromey.com>
* gdb.python/py-cmd.exp (test_python_inline_or_multiline): Add
pagination test.
commit 6ef2312a177ebdfa841e82b515c144975073a501
Author: Tom Tromey <tom@tromey.com>
Date: Tue Dec 25 11:44:58 2018 -0700
Consolidate some Python exception-printing functions
A few places in the Python code would either call gdbpy_print_stack,
or throw a gdb "quit", depending on the pending exception. This patch
consolidates these into a helper function.
gdb/ChangeLog
2018-12-27 Tom Tromey <tom@tromey.com>
* python/python-internal.h (gdbpy_print_stack_or_quit): Declare.
* python/py-unwind.c (pyuw_sniffer): Use
gdbpy_print_stack_or_quit.
* python/py-framefilter.c (throw_quit_or_print_exception):
Remove.
(gdbpy_apply_frame_filter): Use gdbpy_print_stack_or_quit.
* python/python.c (gdbpy_print_stack_or_quit): New function.
commit ec9c2750b7bab8a55aaf7d2386e809d4e81deb03
Author: Tom Tromey <tom@tromey.com>
Date: Tue Dec 25 11:00:21 2018 -0700
Use gdbpy_convert_exception in a few more spots
I noticed a few places were converting a gdb exception to a Python
exception "by hand". It's better to use the existing
gdbpy_convert_exception helper function, as this handles memory errors
correctly, and in the future may be enhanced in other ways.
gdb/ChangeLog
2018-12-27 Tom Tromey <tom@tromey.com>
* python/py-value.c (convert_value_from_python): Use
gdbpy_convert_exception.
* python/py-param.c (parmpy_init): Use gdbpy_convert_exception.
* python/py-cmd.c (cmdpy_init): Use gdbpy_convert_exception.
* python/py-breakpoint.c (bppy_init): Use
gdbpy_convert_exception.
commit 6987262214a204ea3ab857d86a1faf9f4e66f211
Author: Tom Tromey <tom@tromey.com>
Date: Mon Dec 24 12:01:34 2018 -0700
Build gdb "nat" files in subdirectory
This moves the various "nat" object files into the nat/ subdirectory.
This allows for the removal of a pattern rule from the gdb Makefile,
which is a small cleanup.
I made the configure.nat change in a (semi-) automated way, hopefully
meaning that it is more likely to be correct than had I done it by
hand.
Eventually I would like for the various configure scripts to only
mention source files, and let the Makefile compute the object file
names.
gdb/ChangeLog
2018-12-27 Tom Tromey <tom@tromey.com>
* configure.nat (NATDEPFILES): Use nat/ prefix.
* Makefile.in (CONFIG_SRC_SUBDIR): Add nat.
(%.o: ${srcdir}/nat/%.c): Remove rule.
(INIT_FILES): Do not filter out NATDEPFILES.
commit b180d0a254034c14fd540c1b57391bb413f788f7
Author: Tom Tromey <tom@tromey.com>
Date: Mon Dec 24 11:44:10 2018 -0700
Make init.c depend on source files
I noticed that init.c depends on the object files that go into gdb.
Because init.c actually only requires the contents of the
corresponding source files, this unnecessarily serializes the step
that builds init.c.
This patch changes gdb's Makefile to make init.c depend on the source
files. This also simplifies the rule to build init.c.
gdb/ChangeLog
2018-12-27 Tom Tromey <tom@tromey.com>
* Makefile.in (INIT_FILES): Redefine.
(stamp-init): Remove sed, tr invocations. Use for loop. Don't
set LANG or LC_ALL.
commit c88c222e3c01e3f936455dca59f486e310d12f69
Author: Tom Tromey <tom@tromey.com>
Date: Mon Dec 24 10:07:51 2018 -0700
Remove gdbtypes special case from init.c rule
The rule to make init.c has a special case for gdbtypes, with a long
explanatory comment. All of this is obsolete, as the globals referred
to by the comment no longer exist. This patch simplifies the rule.
gdb/ChangeLog
2018-12-27 Tom Tromey <tom@tromey.com>
* Makefile.in (stamp-init): Remove gdbtypes special case.
commit 47db57fd4ea9379c356c326458691f5cdc64c72b
Author: John Baldwin <jhb@FreeBSD.org>
Date: Thu Dec 27 11:42:32 2018 -0800
Remove empty nm-fbsd.h header for FreeBSD/i386 native target.
gdb/ChangeLog:
* config/i386/nm-fbsd.h: Remove file.
* Makefile.in (HFILES_NO_SRCDIR): Remove config/i386/nm-fbsd.h.
* configure.nat: Remove NAT_FILE for FreeBSD/i386.
commit af9a216102c27e308e338f77b6f9ad78dd0d2c09
Author: Tom Tromey <tom@tromey.com>
Date: Thu Dec 27 12:29:48 2018 -0700
Use DISABLE_COPY_AND_ASSIGN in minimal_symbol_reader
This changes minimal_symbol_reader to use DISABLE_COPY_AND_ASSIGN,
rather than the manual approach it currently uses.
Tested by rebuilding.
gdb/ChangeLog
2018-12-27 Tom Tromey <tom@tromey.com>
* minsyms.h (class minimal_symbol_reader): Use
DISABLE_COPY_AND_ASSIGN.
commit 075c55e0cc0a68eeab777027213c2f545618e844
Author: Tom Tromey <tom@tromey.com>
Date: Wed Dec 26 11:05:57 2018 -0700
Remove more calls to xfree from Python
This changes the Python code to remove some more calls to xfree, in
favor of self-managing data structures.
Tested on x86-64 Fedora 28.
gdb/ChangeLog
2018-12-27 Tom Tromey <tom@tromey.com>
* python/python.c (python_interactive_command): Use std::string.
(gdbpy_parameter): Likewise.
* python/py-utils.c (unicode_to_encoded_string): Update comment.
* python/py-symtab.c (salpy_str): Use PyString_FromFormat.
* python/py-record-btrace.c (recpy_bt_insn_data): Use
byte_vector.
* python/py-objfile.c (objfpy_get_build_id): Use
unique_xmalloc_ptr.
* python/py-inferior.c (infpy_read_memory): Use
unique_xmalloc_ptr.
* python/py-cmd.c (gdbpy_parse_command_name): Use std::string.
commit 293bf1a719e88e063e75ae467c5aec101b59fbf6
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Wed Dec 26 14:33:10 2018 +0100
Fix gdb.ada/fun_renaming.exp by using more unique names.
The test fails due to conflict between var 'next' and s-pooloc.adb next:
(gdb) print next(1)
Multiple matches for next
[0] cancel
[1] pack.next (integer) return integer at /bd/home/philippe/gdb/git/binutils-gdb/gdb/testsuite/gdb.ada/fun_renaming/pack.adb:19
[2] system.pool_local.next (system.address) return system.pool_local.acc_address at s-pooloc.adb:151
> FAIL: gdb.ada/fun_renaming.exp: print next(1) (timeout)
Fix by making the names and renamings more unique.
gdb/testsuite/ChangeLog
2018-12-26 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.ada/fun_renaming/pack.ads (Next): Rename to Fun_Rename_Test_Next.
(Renamed_Next): Rename to Renamed_Fun_Rename_Test_Next.
gdb.ada/fun_renaming/pack.adb (Next): Rename to Fun_Rename_Test_Next.
gdb.ada/fun_renaming/fun_renaming.adb (N): Rename to Fun_Rename_Test_N.
gdb.ada/fun_renaming.exp: Update accordingly.
commit 3cf139964eb2e2d3008174aa3d446797fce31240
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Wed Dec 26 14:29:51 2018 +0100
Fix gdb.ada/assign_arr.exp by using more unique names.
The test fails (timeout) due to conflict between var 'input' and s-ststop.adb 'input':
(gdb) print input.u2 := (0.25,0.5,0.75)
Multiple matches for input
[0] cancel
[1] system.strings.stream_ops.storage_array_ops.input (access ada.streams.root_stream_type; system.strings.stream_ops.io_kind; natural) return system.storage_elements.storage_array at s-ststop.adb:127
[2] system.strings.stream_ops.stream_element_array_ops.input (access ada.streams.root_stream_type; system.strings.stream_ops.io_kind; natural) return ada.streams.stream_element_array at s-ststop.adb:127
[3] system.strings.stream_ops.string_ops.input (access ada.streams.root_stream_type; system.strings.stream_ops.io_kind; natural) return string at s-ststop.adb:127
[4] system.strings.stream_ops.wide_string_ops.input (access ada.streams.root_stream_type; system.strings.stream_ops.io_kind; natural) return wide_string at s-ststop.adb:127
[5] system.strings.stream_ops.wide_wide_string_ops.input (access ada.streams.root_stream_type; system.strings.stream_ops.io_kind; natural) return wide_wide_string at s-ststop.adb:127
[6] target_wrapper.input at /bd/home/philippe/gdb/git/info_t/gdb/testsuite/gdb.ada/assign_arr/target_wrapper.ads:24
> FAIL: gdb.ada/assign_arr.exp: print input.u2 := (0.25,0.5,0.75) (timeout)
gdb/testsuite/ChangeLog
2018-12-26 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.ada/assign_arr/target_wrapper.ads (Input): Rename to
Assign_Arr_Input.
main_p324_051.adb: Update accordingly.
gdb.ada/assign_arr.exp: Likewise.
commit afcfda091e15beb9580398709235c1866a4c79e1
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Wed Dec 26 14:25:46 2018 +0100
Improve gdb.ada/rename_subscript_param.exp by using more unique names.
With old compilers, the test fails because no debug info is generated
for 'B' and GDB finds some 'b' in atnat.h:
(gdb) print b
Multiple matches for b
[0] cancel
[1] b at ../sysdeps/ieee754/dbl-64/atnat.h:106
[2] b at ../sysdeps/ieee754/dbl-64/atnat.h:106
[3] b at ../sysdeps/ieee754/dbl-64/atnat.h:106
> FAIL: gdb.ada/rename_subscript_param.exp: print b before changing its value (timeout)
Avoid the timeout by renaming 'b' to rename_subscript_param_b.
Also, change 'before' to 'after' in the gdb_test message that prints
the value after changing it.
The test still fails with old compilers that do not properly
generate debug info for this renaming:
(gdb) print rename_subscript_param_b
No definition of "rename_subscript_param_b" in current context.
(gdb) FAIL: gdb.ada/rename_subscript_param.exp: print rename_subscript_param_b before changing its value
Note: if the compiler would generate the correct debug info, the test should
succeed with the name B. However, waiting for this fix, changing the name
ensures that the test fails directly, instead of causing a timeout.
2018-12-26 Philippe Waroquiers <philippe.waroquiers@skynet.be>
PR ada/23381
* gdb.ada/rename_subscript_param/pkg.adb (B): Rename to
Rename_Subscript_Param_B. All users updated.
gdb.ada/rename_subscript_param.exp: Test names made unique.
Note that PR ada/23381 is only fully fixed when using a recent
compiler.
commit 2ab54467f89763c96e2e9bda876eee1f9c8561b1
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Wed Dec 26 14:19:00 2018 +0100
Fix gdb.ada/packed_array_assign.exp by using more unique names.
The test gdb.ada/packed_array_assign fails due to conflict between component 'w'
and system.dim.mks.w:
(gdb) print pra := ((x => 2, y => 0, w => 17), pr, (x => 7, y => 1, w => 23))
Unknown component name: system.dim.mks.w.
(gdb) FAIL: gdb.ada/packed_array_assign.exp: print pra := ((x => 2, y => 0, w => 17), pr, (x => 7, y => 1, w => 23))
Also, depending on the compiler version, the component w might be reordered
and placed before components x and y.
So, change the component order in the source, so that both an old
compiler (GNATMAKE 6.3.0, gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516)
and a new compiler (GNATMAKE Pro 20.0w (20181210-82), based on gcc 8.2.1)
produce the same component order (checked by using -gnatR3s).
So, update to test the new (more unique) names in the source order.
2018-12-26 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.ada/packed_array_assign/aggregates.ads (Packed_Rec):
Rename components to Packed_Array_Assign_[X|Y|W]. Place
component Packed_Array_Assign_W as first component, to ensure
old and new compilers have the same representation.
All users updated.
commit 84b68c77e7f1c8c883ff94aaa2fce0df2eab0877
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Wed Dec 26 20:14:08 2018 -0500
target.c: Remove struct keyword in range-based for
I get this when compiling with a gcc 6.3.0-based cross-compiler:
CXX target.o
/home/simark/src/binutils-gdb/gdb/target.c: In static member function 'static void target_terminal::restore_inferior()':
/home/simark/src/binutils-gdb/gdb/target.c:396:10: error: types may not be defined in a for-range-declaration [-Werror]
for (struct inferior *inf : all_inferiors ())
^~~~~~
Accomodate it by dropping the unnecessary struct keyword. Actually, I used
"::inferior", otherwise it resolves to the inferior method of the
target_terminal class.
gdb/ChangeLog:
* target.c (target_terminal::restore_inferior): Remove struct keyword.
commit 39c2d8290bfea758aaa7edb2a10faf2076b950bc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Dec 27 00:00:26 2018 +0000
Automatic date update in version.in
commit 50794b45a2a7330fc32b118bff584a3a2e649ac5
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Wed Dec 26 11:49:51 2018 -0500
Improve "set debug separate-debug-file"
"set debug separate-debug-file" shows which candidates are considered,
when trying to find separate debug info. But it's not clear if GDB used
a certain candidate, and if not, why not. This patch adds some
precision:
Before:
Looking for separate debug info (debug link) for /lib/x86_64-linux-gnu/libc.so.6
Trying /lib/x86_64-linux-gnu/libc-2.23.so
Trying /lib/x86_64-linux-gnu/.debug/libc-2.23.so
Trying /usr/lib/debug//lib/x86_64-linux-gnu/libc-2.23.so
After:
Looking for separate debug info (debug link) for /lib/x86_64-linux-gnu/libc.so.6
Trying /lib/x86_64-linux-gnu/libc-2.23.so... no, same file as the objfile.
Trying /lib/x86_64-linux-gnu/.debug/libc-2.23.so... no, unable to open.
Trying /usr/lib/debug//lib/x86_64-linux-gnu/libc-2.23.so... yes!
gdb/ChangeLog:
* build-id.c (build_id_to_debug_bfd): Enhance debug output.
* symfile.c (separate_debug_file_exists): Likewise.
commit 5172760036cc706596970b35f106aa5a9093b44b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Dec 26 00:00:30 2018 +0000
Automatic date update in version.in
commit f493efef89a544ebb7f1aa0c9bbd688fc34b5cdd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Dec 25 00:00:21 2018 +0000
Automatic date update in version.in
commit 6f0ffe50c8f395ccb45ba9e801906b49d18c1af9
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Dec 13 18:25:25 2018 +0000
gdb: Allow struct fields named double
The 64-bit RISC-V target currently models the floating point registers
as having the following type:
union riscv_double
{
builtin_type_ieee_single float;
builtin_type_ieee_double double;
}
Notice the choice of names for the fields of this struct, possibly not
ideal choices, as these are not valid field names in C. However, this
type is only ever defined within GDB (or in the target description),
and no restriction seems to exist on the field names in that case.
The problem though is that currently:
(gdb) info registers $ft0
ft0 {float = 0, double = 0} (raw 0x0000000000000000)
(gdb) p $ft0.float
$1 = 0
(gdb) p $ft0.double
A syntax error in expression, near `double'.
We can access the 'float' field, but not the 'double' field. This is
because the string 'double' is handled differently to the string
'float' in c-exp.y.
In both cases the string '$ft0' is parsed as a VARIABLE expression.
In the 'float' case, the string 'float' becomes a generic NAME token
in 'lex_one_token', which then allows the rule "exp '.' name" to match
and the field name lookup to occur.
The 'double' case is different. In order to allow parsing of the type
string 'long double', the 'double' string becomes the token
DOUBLE_KEYWORD. At this point there's no rule to match "exp '.'
DOUBLE_KEYWORD", so we can never lookup the field named 'double'.
We could rename the fields for RISC-V, and maybe that would be the
best solution. However, its not hard to allow for fields named
'double', which is what this patch does.
A new case is added to the 'field_name' rule to match the
DOUBLE_KEYWORD, and create a suitable 'struct stoken'. With this done
the "exp '.' field_name" pattern can now match, and we can lookup the
double field.
With this patch in place I now see this behaviour:
(gdb) info registers $ft0
ft0 {float = 0, double = 0} (raw 0x0000000000000000)
(gdb) p $ft0.float
$1 = 0
(gdb) p $ft0.double
$2 = 0
I've gone ahead and handled INT_KEYWORD, LONG, SHORT, SIGNED_KEYWORD,
and UNSIGNED as well within field_name.
I've added a new test for this functionality.
This change was tested on x86-64 GNU/Linux with no regressions.
gdb/ChangeLog:
* c-exp.y (field_name): Allow DOUBLE_KEYWORD, INT_KEYWORD, LONG,
SHORT, SIGNED_KEYWORD, and UNSIGNED tokens to act as a field
names.
(typename_stoken): New function.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/dw2-unusual-field-names.c: New file.
* gdb.dwarf2/dw2-unusual-field-names.exp: New file.
commit 0f5d3f636a606e307d8d8634415cc1e313a38273
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Dec 17 13:51:05 2018 +0000
gdb: Add new parser rule for structure field names
Introduces a new rule in c-exp.y for matching structure field names.
This is a restructure in preparation for the next commit, this commit
shouldn't result in any user visible changes.
gdb/ChangeLog:
* c-exp.y (field_name): New %token, and new rule.
(exp): Replace uses of 'name' with 'field_name' where appropriate.
commit b6c95c0cc5bd60e2de86d611120bf6191f99860a
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Dec 17 11:21:08 2018 +0000
gdb: Extend the comments in c-exp.y
In an attempt to fix PR gdb/13368 this commit adds some comments to
c-exp.y which hopefully makes the type parsing code a little clearer.
There are no code changes here, so there should be no user visible
changes after this commit.
gdb/ChangeLog:
PR gdb/13368
* c-exp.y (typebase): Extend the comment.
(ident_tokens): Likewise.
commit 45b8ae0c3348a6e6aa64ad5d114adabdc399c5ef
Author: Tom Tromey <tom@tromey.com>
Date: Mon Dec 24 09:55:10 2018 -0700
Simplify dwarf2_find_containing_comp_unit
In an earlier patch discussion we noticed that
dwarf2_find_containing_comp_unit takes the address of sect_off, but
doesn't actually need to. This is a leftover from before
C++-ification. This patch simplifies the function.
Tested using gdb.dwarf2 on x86-64 Fedora 28.
gdb/ChangeLog
2018-12-18 Tom Tromey <tom@tromey.com>
* dwarf2read.c (dwarf2_find_containing_comp_unit): Don't take
address of sect_off.
commit b5a1e55720f294fd0d5e1ebc21ccc01083751acd
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Dec 23 21:05:58 2018 +0100
Fix gdb.ada bp_fun_addr failure due to conflict between fun 'a' and s-dimmks.ads 'A'.
The test fails (timeout) due to:
(gdb) PASS: gdb.ada/bp_fun_addr.exp: break *a'address
run
Starting program: /bd/home/philippe/gdb/git/build_info_t/gdb/testsuite/outputs/gdb.ada/bp_fun_addr/a
Multiple matches for a
[0] cancel
[1] a at /bd/home/philippe/gdb/git/info_t/gdb/testsuite/gdb.ada/bp_fun_addr/a.adb:18
[2] system.dim.mks.a at s-dimmks.ads:115
> FAIL: gdb.ada/bp_fun_addr.exp: run until breakpoint at a'address (timeout)
testcase /home/philippe/gdb/git/build_info_t/gdb/testsuite/../../../info_t/gdb/testsuite/gdb.ada/bp_fun_addr.exp completed in 10 seconds
Fix this by using a fun name that has more chances to be unique.
2018-12-24 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.ada/bp_fun_addr/a.adb (a): Rename to bp_fun_addr.
Filename a.adb changed to bp_fun_addr.adb.
gdb.ada/bp_fun_addr.exp: Update test accordingly.
commit 56334baf0c2d95e41737d084ade2e8c35baf1c31
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Dec 24 00:00:20 2018 +0000
Automatic date update in version.in
commit b366503e45a2b28271dd12a7ca923964154c2716
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Dec 23 09:45:29 2018 -0800
i386: Remove the unused bfd pointer argument
Remove the unused bfd pointer argument of elf_i386_rtype_to_howto.
* elf32-i386.c (elf_i386_rtype_to_howto): Remove the unused bfd
pointer argument.
(elf_i386_info_to_howto_rel): Updated.
(elf_i386_tls_transition): Likewise.
(elf_i386_relocate_section): Likewise.
commit 03eccf7a34d121385663f1b95b757ff6aadb0ede
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sun Dec 23 10:02:17 2018 +0400
Document the GDB 8.2.1 release in gdb/ChangeLog
gdb/ChangeLog:
GDB 8.2.1 released.
commit dff021e14a9c72380311c15a90c1a646b179b987
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Dec 23 00:01:21 2018 +0000
Automatic date update in version.in
commit 74e3300d8aecbc6973f61c8cbbecd7bdac4f05d0
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Nov 27 13:41:44 2018 +0000
gdb/riscv: Prevent buffer overflow in riscv_return_value
The existing code for reading and writing the return value can
overflow the passed in buffers in a couple of situations. This commit
aims to resolve these issues.
The problems were detected using valgrind, here are two examples,
first from gdb.base/structs.exp:
(gdb) p/x fun9()
==31353== Invalid write of size 8
==31353== at 0x4C34153: memmove (vg_replace_strmem.c:1270)
==31353== by 0x632EBB: memcpy (string_fortified.h:34)
==31353== by 0x632EBB: readable_regcache::raw_read(int, unsigned char*) (regcache.c:538)
==31353== by 0x659D3F: riscv_return_value(gdbarch*, value*, type*, regcache*, unsigned char*, unsigned char const*) (riscv-tdep.c:2593)
==31353== by 0x583641: get_call_return_value (infcall.c:448)
==31353== by 0x583641: call_thread_fsm_should_stop(thread_fsm*, thread_info*) (infcall.c:546)
==31353== by 0x59BBEC: fetch_inferior_event(void*) (infrun.c:3883)
==31353== by 0x53890B: check_async_event_handlers (event-loop.c:1064)
==31353== by 0x53890B: gdb_do_one_event() [clone .part.4] (event-loop.c:326)
==31353== by 0x6CA34B: wait_sync_command_done() (top.c:503)
==31353== by 0x584653: run_inferior_call (infcall.c:621)
...
And from gdb.base/call-sc.exp:
(gdb) advance fun
fun () at /gdb/gdb/testsuite/gdb.base/call-sc.c:41
41 return foo;
(gdb) finish
==1968== Invalid write of size 8
==1968== at 0x4C34153: memmove (vg_replace_strmem.c:1270)
==1968== by 0x632EBB: memcpy (string_fortified.h:34)
==1968== by 0x632EBB: readable_regcache::raw_read(int, unsigned char*) (regcache.c:538)
==1968== by 0x659D01: riscv_return_value(gdbarch*, value*, type*, regcache*, unsigned char*, unsigned char const*) (riscv-tdep.c:2576)
==1968== by 0x5891E4: get_return_value(value*, type*) (infcmd.c:1640)
==1968== by 0x5892C4: finish_command_fsm_should_stop(thread_fsm*, thread_info*) (infcmd.c:1808)
==1968== by 0x59BBEC: fetch_inferior_event(void*) (infrun.c:3883)
==1968== by 0x53890B: check_async_event_handlers (event-loop.c:1064)
==1968== by 0x53890B: gdb_do_one_event() [clone .part.4] (event-loop.c:326)
==1968== by 0x6CA34B: wait_sync_command_done() (top.c:503)
...
There are a couple of problems with the existing code, that are all
related.
In riscv_call_arg_struct we incorrectly rounded up the size of a
structure argument. This is unnecessary, and caused GDB to read too
much data into the output buffer when extracting a struct return
value.
In fixing this it became clear that we were incorrectly assuming that
any value being placed in a register (or read from a register) would
always access the entire register. This is not true, for example a
9-byte struct on a 64-bit target places 8-bytes in one registers and
1-byte in a second register (assuming available registers). To handle
this I switch from using cooked_read to cooked_read_part.
Finally, when processing basic integer return value types these are
extended to xlen sized types and then passed in registers. We
currently don't handle this type expansion in riscv_return_value, but
we do in riscv_push_dummy_call. The result is that small integer
types (like char) result in a full xlen sized register being written
into the output buffer, which results in buffer overflow. To address
this issue we now create a value of the expanded type and use this
values contents buffer to hold the return value before casting the
value down to the smaller expected type.
This patch resolves all of the valgrind issues I have found so far,
and causes no regressions. Tested against RV32/64 with and without
floating point support.
gdb/ChangeLog:
* riscv-tdep.c (riscv_call_arg_struct): Don't adjust size before
assigning locations.
(riscv_return_value): Take more care not to read/write outside of
argument buffer. Cast return value between the declared type and
the abi type.
commit ecc82c059059cfa21a8a099779253686f9637f9f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Dec 13 19:06:23 2018 +0000
gdb/riscv: Add float status registers to save and restore reggroups
We should save and restore the floating point status registers. This
became an issue when testing 32-bit float on a target with 64-bit with
the gdb.base/callfuncs.exp test.
gdb/ChangeLog:
* riscv-tdep.c (riscv_register_reggroup_p): Save and restore fcsr,
fflags, and frm registers.
commit fb44d95af64dd0609760c1400b9ce4da09296cd1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Dec 13 17:57:14 2018 +0000
gdb/riscv: Add gdb to dwarf register number mapping
Provide a mapping between GDB's register numbers and DWARF's register
numbers. This resolves some failures that I was seeing on
gdb.base/store.exp when running on an rv64imfdc target.
gdb/ChangeLog:
* riscv-tdep.c (riscv_dwarf_reg_to_regnum): New function.
(riscv_gdbarch_init): Register new function with gdbarch.
* riscv-tdep.h: New enum to define RISC-V DWARF register numbers.
commit e08b849efa7af6cb13d7d3d02dc366b9d7f4208c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Fri Dec 21 21:19:09 2018 -0500
Add debug output for recorded minsyms
While discussing this issue:
https://sourceware.org/ml/gdb-patches/2018-12/threads.html#00082
I added a printf gated by "set debug symtab-create" to be able to
quickly see all minimal symbols recorded by GDB. I thought it would be
useful to have it built-in, for the future. Here's how the output
looks:
Recording minsym: mst_data 0x400780 15 _IO_stdin_used
Recording minsym: mst_text 0x400700 13 __libc_csu_init
Recording minsym: mst_bss 0x601058 25 _end
gdb/ChangeLog:
* minsyms.c (mst_str): New.
(minimal_symbol_reader::record_full): Add debug output.
commit 5ec79917fa45f4f0870d7d0a09806e31dd5d28b5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Dec 22 00:00:29 2018 +0000
Automatic date update in version.in
commit 6e8b1ab2fd4c692146eb14295866920f83dc5403
Author: Jan Vrany <jan.vrany@fit.cvut.cz>
Date: Thu Dec 13 15:20:49 2018 +0000
Fix various tests to use -no-pie linker flag when needed
Various tests use test code written in i386 / x86_64 assembly that cannot
be used to create PIE executables. Therefore compilation of test programs
failed on systems where the compiler default is to create PIE executable.
The solution is to use -no-pie linker flag, however, such flag may not
(is not) supported by all compilers GDB needs to support (e.g. gcc 4.8).
To handle this, introduce a new flag to gdb_compile - nopie - which
inserts -no-pie linker flag where supported and is no-op where it is
not. By default, -no-pie flag is inserted since most modern compiler do
support it.
commit 6d78332e7748754d4a77a31e692fb8760c8c12ff
Author: John Baldwin <jhb@FreeBSD.org>
Date: Fri Dec 21 10:18:11 2018 -0800
Workaround a FreeBSD kernel bug resulting in spurious SIGTRAP events.
The ptrace command PT_LWPINFO to request detailed information about a
stopped thread can return stale signal information from an earlier
stop. Events which are reporting an intercepted signal will always
report the correct information, but signal stops for some other events
such as system call enter/exit events might include stale siginfo from
an earlier signal. In particular, if a thread reports a system call
entry or exit event after previously reporting a single-step or
breakpoint event via SIGTRAP, fbsd_handle_debug_trap believed the
system call event was the previous event and claimed it resulting in a
spurious SIGTRAP event.
True breakpoint and single-step events will never report another event
in the pl_flags member of struct ptrace_lwpinfo. Use this to detect
stale siginfo by requiring pl_flags to have only the PL_FLAG_SI flag
and no other flags before treating a SIGTRAP as a single-step or
breakpoint trap.
gdb/ChangeLog:
* fbsd-nat.c (fbsd_handle_debug_trap): Require pl.pl_flags to
equal PL_FLAG_SI.
(fbsd_nat_target::stopped_by_sw_breakpoint): Likewise.
commit d00a27c5addfb6b7350a39215b48f4aaffa5960c
Author: Paul Marechal <paul.marechal@ericsson.com>
Date: Fri Dec 21 12:02:33 2018 -0500
gdb: Fix "info os <unknown>" command
Running `info os someUnknownOsType` is crashing when gdb is built with
-D_GLIBCXX_DEBUG:
/usr/include/c++/5/debug/vector:439:error: attempt to
access an element in an empty container.
In target_read_stralloc from target.c, the call to
target_read_alloc_1 can return an empty vector, we then call vector::back on
this vector, which is invalid.
This commit adds a check for emptiness before trying to call
vector::back on it. It also adds test to check for `info os <unknown>`
to return the proper error message.
This is a regression in gdb 8.2 and this patch restores the behavior of
previous versions.
gdb/ChangeLog:
PR gdb/23974
* target.c (target_read_stralloc): Check for empty vector.
gdb/testsuite/ChangeLog:
PR gdb/23974
* gdb.base/info-os.exp: Check return for unknown "info os" type.
commit 50c7c5b8df15aad66a9d2f6759e85689a2a74271
Author: ÐилÑн ÐалаÑзов <dilyan.palauzov@aegee.org>
Date: Fri Dec 21 19:09:40 2018 +0400
when printing the GDB config, explicitly say if configured without python
When using the --configuration command line switch, or using
the "show configuration" command with a version of GDB which
was configured without Python supoprt, this patch changes
the resulting output to include...
--without-python
... instead of not printing anything about Python support.
gdb/ChangeLog:
* top.c (print_gdb_configuration): Print "--without-python"
if GDB was configured without Python.
Tested on x86_64-linux by rebuilding GDB with and without Python,
and checking the output of "gdb --configuration" in both cases.
commit a96bd1ccc0dca2d260e0e30de462f37066973ceb
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Dec 21 00:48:51 2018 +0000
gdb/riscv: Format CORE_ADDR as a string for printing
Avoid compiler errors caused by trying to print CORE_ADDR using '%ld'
format, instead convert to a string and print that instead.
gdb/ChangeLog:
* riscv-tdep.c (riscv_scan_prologue): Use plongest to format
a signed offset as a string.
commit 3dcfdc58656caa4a38e1fde73a07a19114347226
Author: Dave Murphy <davem@devkitpro.org>
Date: Fri Dec 21 11:14:28 2018 -0500
Fix compile error with clang 3.8
When compiling with clang 3.8 (default clang version on Debian
Stretch, the current stable), we get errors like this:
CXX dtrace-probe.o
../../binutils-gdb/gdb/dtrace-probe.c:103:31: error: default initialization of an object of const type 'const dtrace_static_probe_ops' without a user-provided default constructor
const dtrace_static_probe_ops dtrace_static_probe_ops;
^
Silence them by value-initializing those objects. It's not necessary
with other compilers (later clang versions, gcc), but it shouldn't
hurt either.
commit e8f2b38a26591c44471e04b09b7b77990845d520
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Dec 21 00:00:27 2018 +0000
Automatic date update in version.in
commit 76268e027479f587b46b70b69760f1b96204bc28
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Dec 20 13:25:41 2018 -0800
x86: Call rtype_to_howto to get reloc_howto_type pointer
* elf32-i386.c (elf_i386_relocate_section): Call
elf_i386_rtype_to_howto to get reloc_howto_type pointer.
* elf64-x86-64.c (elf_x86_64_relocate_section): Call
elf_x86_64_rtype_to_howto to get reloc_howto_type pointer.
commit 161d081c56f12e7a00d8a07ccac445855d5d357b
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Dec 1 14:10:10 2018 +0100
Ensure deterministic result order in gdb.ada/info_auto_lang.exp
standard_ada_testfile, standard_test_file and the explicit
csrcfile assignment in info_auto_lang.exp all gives similar pathnames
prefix for a source, such as
/home/philippe/gdb/git/build_binutils-gdb/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.<something>.
Note that the above pathnames contain ../ which appears when a relative
pathname is used to call configure.
In any case, the gnat compiler normalizes Ada sources path when compiling.
So, the 'Ada' .o object are referencing a pathname such as
/home/philippe/gdb/git/binutils-gdb/gdb/testsuite/gdb.ada/info_auto_lang/proc_in_ada.adb,
while the 'C' .o object still references the not normalized pathname.
As the results of 'info functions | ...' are sorted by pathname first,
the order of the results depends on the comparison between different directories,
leading to results that can change depending on these directories.
=> Ensure the result order is always the same, by normalising the C source file,
which makes the results independent of the way configure is launched.
Tested by running the testcase in 2 different builds, that without normalize
were giving different results.
Note: such 'set csrcfile' is used in 4 other tests mixing Ada and C.
After discussion, it was deemed sufficient to just normalize the pathname
for this test.
gdb/testsuite/ChangeLog
2018-12-20 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.ada/info_auto_lang.exp: Normalize some_c source file.
Update order of results accordingly.
commit f0f13ece4ce4ae5745cbf987c187306f755736b8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Dec 20 00:00:38 2018 +0000
Automatic date update in version.in
commit 8bcb5208976448aab20df7dd50e9286ef1f7e22c
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Sep 7 20:04:44 2018 +0100
gdb: Add default frame methods to gdbarch
Supply default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp. This patch doesn't actually
convert any targets to use these methods, and so, there will be no
user visible changes after this commit.
The implementations for default_dummy_id and default_unwind_sp are
fairly straight forward, these just take on the pattern used by most
targets. Once these default methods are in place then most targets
will be able to switch over.
The implementation for default_unwind_pc is also fairly straight
forward, but maybe needs some explanation.
This patch has gone through a number of iterations:
https://sourceware.org/ml/gdb-patches/2018-03/msg00165.html
https://sourceware.org/ml/gdb-patches/2018-03/msg00306.html
https://sourceware.org/ml/gdb-patches/2018-06/msg00090.html
https://sourceware.org/ml/gdb-patches/2018-09/msg00127.html
and the implementation of default_unwind_pc has changed over this
time. Originally, I took an implementation like this:
CORE_ADDR
default_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
{
int pc_regnum = gdbarch_pc_regnum (gdbarch);
return frame_unwind_register_unsigned (next_frame, pc_regnum);
}
This is basically a clone of default_unwind_sp, but using $pc. It was
pointed out that we could potentially do better, and in version 2 the
implementation became:
CORE_ADDR
default_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
{
struct type *type;
int pc_regnum;
CORE_ADDR addr;
struct value *value;
pc_regnum = gdbarch_pc_regnum (gdbarch);
value = frame_unwind_register_value (next_frame, pc_regnum);
type = builtin_type (gdbarch)->builtin_func_ptr;
addr = extract_typed_address (value_contents_all (value), type);
addr = gdbarch_addr_bits_remove (gdbarch, addr);
release_value (value);
value_free (value);
return addr;
}
The idea was to try split out some of the steps of unwinding the $pc,
steps that are on some (or many) targets no-ops, and so allow targets
that do override these methods, to make use of default_unwind_pc.
This implementation remained in place for version 2, 3, and 4.
However, I realised that I'd made a mistake, most targets simply use
frame_unwind_register_unsigned to unwind the $pc, and this throws an
error if the register value is optimized out or unavailable. My new
proposed implementation doesn't do this, I was going to end up
breaking many targets.
I considered duplicating the code from frame_unwind_register_unsigned
that throws the errors into my new default_unwind_pc, however, this
felt really overly complex. So, what I instead went with was to
simply revert back to using frame_unwind_register_unsigned. Almost
all existing targets already use this. Some of the ones that don't can
be converted to, which means almost all targets could end up using the
default.
One addition I have made over the version 1 implementation is to add a
call to gdbarch_addr_bits_remove. For most targets this is a no-op,
but for a handful, having this call in place will mean that they can
use the default method. After all this, the new default_unwind_pc now
looks like this:
CORE_ADDR
default_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
{
int pc_regnum = gdbarch_pc_regnum (gdbarch);
CORE_ADDR pc = frame_unwind_register_unsigned (next_frame, pc_regnum);
pc = gdbarch_addr_bits_remove (gdbarch, pc);
return pc;
}
gdb/ChangeLog:
* gdb/dummy-frame.c (default_dummy_id): Defined new function.
* gdb/dummy-frame.h (default_dummy_id): Declare new function.
* gdb/frame-unwind.c (default_unwind_pc): Define new function.
(default_unwind_sp): Define new function.
* gdb/frame-unwind.h (default_unwind_pc): Declare new function.
(default_unwind_sp): Declare new function.
* gdb/frame.c (frame_unwind_pc): Assume gdbarch_unwind_pc is
available.
(get_frame_sp): Assume that gdbarch_unwind_sp is available.
* gdb/gdbarch.c: Regenerate.
* gdb/gdbarch.h: Regenerate.
* gdb/gdbarch.sh: Update definition of dummy_id, unwind_pc, and
unwind_sp. Add additional header files to be included in
generated file.
commit b9519cfe9828b9ee5a73e74b4be83d46f33e6886
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Dec 19 12:21:56 2018 -0800
x86: Properly handle PLT expression in directive
For PLT expressions, we should subtract the PLT relocation size only for
jump instructions. Since PLT relocations are PC relative, we only allow
"symbol@PLT" in PLT expression.
gas/
PR gas/23997
* config/tc-i386.c (x86_cons): Check for invalid PLT expression.
(md_apply_fix): Subtract the PLT relocation size only for jump
instructions.
* testsuite/gas/i386/reloc32.s: Add test for invalid PLT
expression.
* testsuite/gas/i386/reloc64.s: Likewise.
* testsuite/gas/i386/ilp32/reloc64.s: Likewise.
* testsuite/gas/i386/reloc32.l: Updated.
* testsuite/gas/i386/reloc64.l: Likewise.
* testsuite/gas/i386/ilp32/reloc64.l: Likewise.
ld/
PR gas/23997
* testsuite/ld-i386/i386.exp: Run PR gas/23997 test.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-x86-64/pr23997a.s: New file.
* testsuite/ld-x86-64/pr23997b.c: Likewise.
* testsuite/ld-x86-64/pr23997c.c: Likewise.
commit fc999e8020ffe8e1136da70f275bceafaa62a588
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Dec 19 11:51:08 2018 -0800
Rename PR ld/22842 run-time test to "Run pr22842"
* testsuite/ld-x86-64/x86-64.exp: Rename PR ld/22842 run-time
test to "Run pr22842".
commit 7406a50077773e78282a495cb32ef5b8179f6a33
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date: Mon Dec 17 21:30:52 2018 +0200
Fix build with latest GCC 9.0 tree
A recent patch [1] to fix a GCC PR [2] actually broke the GDB build.
To fix, remove the stack pointer clobber. GCC will ignore the clobber
marker, and will not save or restore the stack pointer.
I ran "make check-gdb" on x86_64 to ensure there are no regressions.
gdb/ChangeLog:
2018-12-17 Dimitar Dimitrov <dimitar@dinux.eu>
* nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Remove sp clobbers.
[1] https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00532.html
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
commit ebb8004a18a3808d7197762faf3c5aaeae82371f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Dec 19 00:00:21 2018 +0000
Automatic date update in version.in
commit 2d5d5a8f0a8b5a03454bf168b7fa7024bb1ebbd8
Author: Alan Modra <amodra@gmail.com>
Date: Tue Dec 18 19:03:51 2018 +1030
Include bfd_stdint.h in bfd.h
This patch adds bfd_stdint.h to bfd.h, so that BFD can use size_t
where appropriate in function parameters and return values. I also
tidy a few other cases where headers are included twice.
bfd/
* Makefile.am (bfdinclude_HEADERS): Add bfd_stdint.h.
(BFD_H_DEPS): Add include/diagnostics.h.
(LOCAL_H_DEPS): Add bfd_stdint.h.
* bfd-in.h: Include bfd_stdint.h.
* arc-plt.h: Don't include stdint.h.
* coff-rs6000.c: Likewise.
* coff64-rs6000.c: Likewise.
* elfxx-riscv.c: Likewise.
* cache.c: Don't include bfd_stdint.h.
* elf32-arm.c: Likewise.
* elf32-avr.c: Likewise.
* elf32-nds32.c: Likewise.
* elf32-rl78.c: Likewise.
* elf32-rx.c: Likewise.
* elf32-wasm32.c: Likewise.
* elf64-nfp.c: Likewise.
* elflink.c: Likewise.
* elfnn-aarch64.c: Likewise.
* elfnn-ia64.c: Likewise.
* elfxx-ia64.c: Likewise.
* elfxx-x86.h: Likewise.
* wasm-module.c: Likewise, and don't include sysdep.h twice.
* elf-nacl.h: Don't include bfd.h.
* mach-o.h: Likewise.
* elfxx-aarch64.c: Include bfd.h and elf-bfd.h.
* elfxx-aarch64.h: Don't include bfd.h, elf-bfd.h or stdint.h.
* mach-o-aarch64.c: Include mach-o.h later.
* mach-o-arm.c: Likewise.
* mach-o-i386.c: Likewise.
* mach-o-x86-64.c: Likewise.
* mach-o.c: Likewise.
* sysdep.h: Don't include ansidecl.h or sys/stat.h.
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
opcodes/
* arm-dis.c: Include bfd.h.
* aarch64-opc.c: Include bfd_stdint.h rather than stdint.h.
* csky-dis.c: Likewise.
* nds32-asm.c: Likewise.
* riscv-dis.c: Likewise.
* s12z-dis.c: Likewise.
* wasm32-dis.c: Likewise.
commit a529dcc854968b7f6ad766c714650011dc361382
Author: Alan Modra <amodra@gmail.com>
Date: Tue Dec 18 10:47:44 2018 +1030
[GOLD] Tweak keep_text_section_prefix test for PowerPC64 ELFv1
This test checks code layout by function symbol ordering, but that
doesn't work on powerpc64 ELFv1 where the function symbol is on a
descriptor. A simple work-around is to have nm emit synthetic symbols
marking the code entry point of functions. Since the text segment is
laid out before the data segment, the synthetic symbols will have
lower addresses than function descriptor symbols and be seen first in
nm -n output.
On other targets, nm --synthetic typically emits symbols on plt
entries. Since the testcase doesn't call any of the functions of
interest there shouldn't be plt entries for those functions, so there
should be no potentially confusing extra symbols.
* testsuite/Makefile.am (keep_text_section_prefix_nm.stdout):
Pass --synthetic to nm.
* testsuite/Makefile.in: Regenerate.
commit 7af5d5c4dda26ac36ee2ff42af8f39a10382cc41
Author: Alan Modra <amodra@gmail.com>
Date: Tue Dec 18 09:20:06 2018 +1030
PR23980, assertion fail
All of the backend relocate_section functions that interpret reloc
numbers assuming the input file is of the expected type (ie. same as
output or very similar) really ought to be checking input file type.
Not many do, and those that do currently just assert. This patch
replaces the assertion with a more graceful exit.
PR 23980
* elf32-i386.c (elf_i386_relocate_section): Exit with wrong format
error rather than asserting input file is as expected.
* elf32-s390.c (elf_s390_relocate_section): Likewise.
* elf32-sh.c (sh_elf_relocate_section): Likewise.
* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
* elf64-s390.c (elf_s390_relocate_section): Likewise.
* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Exit with wrong format
error if input file is not ppc32 ELF.
commit c5ebe0ff706521b4a5fb66a5e764031825276ad5
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Feb 5 11:15:38 2018 +0000
sim: Don't overwrite stored errno in sim_syscall_multi
The host syscall callback mechanism should take care of updating the
errcode within the CB_SYSCALL struct, and we should not be adjusting
the error code once the syscall has completed. We especially, should
not be rewriting the syscall errcode based on the value of errno some
time after running the host syscall, as there is no guarantee that
errno has not be overwritten.
To perform a syscall we call cb_syscall (in syscall.c). To return
from cb_syscall control passes through one of two exit paths these are
labeled FinishSyscall and ErrorFinish and are reached using goto
statements scattered throughout the cb_syscall function.
In FinishSyscall we store the syscall result in 'sc->result', and the
error code is transated to target encoding, and stored in
'sc->errcode'.
In ErrorFinish, we again store the syscall result in 'sc->result', and
fill in 'sc->errcode' by fetching the actual errno from the host with
the 'cb->get_errno' callback.
In both cases 'sc->errcode' will have been filled in with an
appropriate value.
Further, if we look at a specific syscall example, CB_SYS_open, in
this case the first thing we do is fetch the path to open from the
target with 'get_path', if this fails then the errcode is returned,
and we jump to FinishSyscall. Notice that in this case, no host
syscall may have been performed, for example a failure to read the
path to open out of simulated memory can return EINVAL without
performing any host syscall. Given that no host syscall has been
performed, reading the host errno makes absolutely no sense.
This commit removes from sim_syscall_multi the rewriting of
sc->errcode based on the value of errno, and instead relies on the
value stored in the cb_syscall.
sim/common/ChangeLog:
* sim-syscall.c (sim_syscall_multi): Don't update sc->errcode at
this point, it should have already been set in cb_syscall.
commit b55a4797099d2b871624cb525c1ea664262dd7e0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Dec 18 00:00:16 2018 +0000
Automatic date update in version.in
commit 9068261f1c254a8051d1098b87ab1ff99d525b7b
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Oct 31 13:39:58 2018 +0000
gdb/dwarf: Convert some predicates from int to bool
In the dwarf reader we have a set of predicates, these include the
different producer predicates and also some control predicates. The
older ones are declared as integers, while newer ones (added since the
C++ conversion) are bool.
This commit makes them all bool for consistency. There should be no
user visible change after this commit.
gdb/ChangeLog:
* dwarf2read.c (struct dwarf2_cu): Convert the fields 'mark',
'has_loclist', 'checked_producer', 'producer_is_gxx_lt_4_6',
'producer_is_gcc_lt_4_3', 'producer_is_icc_lt_14',
'processing_has_namespace_info' from unsigned int to bool. Update
comments.
(producer_is_icc_lt_14): Update return type.
(producer_is_gcc_lt_4_3): Likewise.
(producer_is_gxx_lt_4_6): Likewise.
(process_die): Write true instead of 1 into predicate fields.
(dwarf2_start_symtab): Likewise.
(var_decode_location): Likewise.
(dwarf2_mark_helper): Likewise.
(dwarf2_mark): Likewise.
(dwarf2_clear_marks): Write false instead of 0 into predicate
field.
(dwarf2_cu::dwarf2_cu): Initialise predicate fields to false, not
0.
commit 87469ba2d2fc953796c7bb64e535d3f283756048
Author: Alan Modra <amodra@gmail.com>
Date: Tue Dec 18 08:59:59 2018 +1030
PR23980, powerpc64 ld segfault
PR 23980
* elf64-ppc.c (ppc64_elf_hide_symbol): Check hash table type
before referencing ppc64-only fields of hash entries.
commit 51b4f73a37c2e7eec31e932fc3c8dae879735f63
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Thu Dec 13 17:47:17 2018 +0000
AArch64: Fix the gdb build with musl libc
Including asm/sigcontext.h together with libc headers is not valid. In
general linux headers may not work with libc headers, so mixing them
should be avoided, especially when the linux header defines types that
are also exposed in libc headers.
In case of asm/sigcontext.h glibc happens to work because glibc signal.h
directly includes it, but e.g. in musl libc signal.h replicates the
sigcontext.h definitions in an abi compatible way which are in conflict
with the linux definitions when both headers are included.
Since old linux headers or old libc headers may not have the necessary
definitions, gdb has to replicate the definitions it relies on anyway.
Which is fine since all definitions must be ABI stable. For linux apis
that are not available via libc headers, replicating the definitions in
gdb is the most reliable way to use them.
Note: asm/ptrace.h includes asm/sigcontext.h in some versions of linux
headers, which is just as problematic and should be fixed in linux.
gdb/ChangeLog:
* nat/aarch64-sve-linux-ptrace.h: Include signal.h instead of
asm/sigcontext.h.
commit 4ef5dbe493310e3632354d4937727a755c13c291
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Mon Dec 17 06:52:15 2018 +0100
OBVIOUS: Fix ARI warning by removing warning trailing new line
2018-12-17 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* nat/linux-ptrace.c (kill_child): Fix ARI warning by removing
warning trailing new line.
commit 3a551c7a1b80fca579461774860574eabfd7f18f
Author: Alan Modra <amodra@gmail.com>
Date: Sun Dec 16 23:02:50 2018 +1030
PR23994, libbfd integer overflow
PR 23994
* aoutx.h: Include limits.h.
(get_reloc_upper_bound): Detect long overflow and return a file
too big error if it occurs.
* elf.c: Include limits.h.
(_bfd_elf_get_symtab_upper_bound): Detect long overflow and return
a file too big error if it occurs.
(_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
(_bfd_elf_get_dynamic_reloc_upper_bound): Likewise.
commit 40b9228581bb9bfaa3a444a6a19a9b41ebc68c40
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Dec 17 00:00:21 2018 +0000
Automatic date update in version.in
commit a65f68357f644cae11536bbb8a1699936ccf1368
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Nov 3 20:18:15 2018 +0100
Factorize killing the children in linux-ptrace.c, and fix a 'process leak'.
Running the gdb testsuite under Valgrind started to fail after 100+ tests,
due to out of memory caused by lingering processes.
The lingering processes are caused by the combination
of a limitation in Valgrind signal handling when using PTRACE_TRACEME
and a (minor) bug in GDB.
The Valgrind limitation is : when a process is ptraced and raises
a signal, Valgrind will replace the raised signal by SIGSTOP as other
signals are masked by Valgrind when executing a system call.
Removing this limitation seems far to be trivial, valgrind signal
handling is very complex.
Due to this valgrind limitation, GDB linux_ptrace_test_ret_to_nx gets
a SIGSTOP signal instead of the expected SIGTRAP or SIGSEGV.
In such a case, linux_ptrace_test_ret_to_nx does an early return, but
does not kill the child (running under valgrind), child stays in a STOP-ped
state.
These lingering processes then eat the available system memory,
till launching a new process starts to fail.
This patch fixes the GDB minor bug by killing the child in case
linux_ptrace_test_ret_to_nx does an early return.
nat/linux-ptrace.c has 3 different logics to kill a child process.
So, this patch factorizes killing a child in the function kill_child.
The 3 different logics are:
* linux_ptrace_test_ret_to_nx is calling both kill (child, SIGKILL)
and ptrace (PTRACE_KILL, child, ...), and then is calling once
waitpid.
* linux_check_ptrace_features is calling ptrace (PTRACE_KILL, child, ...)
+ my_waitpid in a loop, as long as the waitpid status was WIFSTOPPED.
* linux_test_for_tracefork is calling once ptrace (PTRACE_KILL, child, ...)
+ my_waitpid.
The linux ptrace documentation indicates that PTRACE_KILL is deprecated,
and tells to not use it, as it might return success but not kill the tracee.
The documentation indicates to send SIGKILL directly.
I suspect that linux_ptrace_test_ret_to_nx calls both kill and ptrace just
to be sure ...
I suspect that linux_check_ptrace_features calls ptrace in a loop
to bypass the PTRACE_KILL limitation.
And it looks like linux_test_for_tracefork does not handle the PTRACE_KILL
limitation.
Also, 2 of the 3 logics are calling my_waitpid, which seems better,
as this is protecting the waitpid syscall against EINTR.
So, the logic in kill_child is just using kill (child, SIGKILL)
+ my_waitpid, and then does a few verifications to see everything worked
accordingly to the plan.
Tested on Debian/x86_64.
2018-12-16 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* nat/linux-ptrace.c (kill_child): New function.
(linux_ptrace_test_ret_to_nx): Use kill_child instead of local code.
Add a call to kill_child in case of early return after fork.
(linux_check_ptrace_features): Use kill_child instead of local code.
(linux_test_for_tracefork): Likewise.
commit 76d2760bc38ada83f81087f16eb151ccc0176574
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Dec 16 00:01:06 2018 +0000
Automatic date update in version.in
commit 7ff6138b00d245b765266ccaa238e51f906f5356
Author: Tom Tromey <tom@tromey.com>
Date: Fri Dec 14 18:58:32 2018 -0700
Minor gdb/Makefile.in cleanups
This removes an IMO not very useful comment in gdb/Makefile.in about
"alloca". It also removes INFOFILES, which I think probably has not
been useful since whenever the manual was moved into a subdirectory.
gdb/ChangeLog
2018-12-14 Tom Tromey <tom@tromey.com>
* Makefile.in: Remove "alloca" comment.
(INFOFILES): Remove.
(local-maintainer-clean): Don't use INFOFILES.
commit 097b3e508759ac08115947dc89f23a97325f6281
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Dec 15 00:00:26 2018 +0000
Automatic date update in version.in
commit 0a59decbb81676ac30deede1bb6b6e241cd75502
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Dec 14 04:55:08 2018 -0800
elf: Add PT_GNU_PROPERTY segment type
Linkers group input note sections with the same name into one output
note section with the same name. One output note section is placed in
one PT_NOTE segment. New linkers merge all input .note.gnu.property
sections into one output .note.gnu.property section with a single
NT_GNU_PROPERTY_TYPE_0 note in a single PT_NOTE segment. Since older
linkers treat input .note.gnu.property section as a generic note section
and just concatenate all input .note.gnu.property sections into one
output .note.gnu.property section without merging them, we may
see one or more NT_GNU_PROPERTY_TYPE_0 notes in PT_NOTE segment, which
are invalid.
GNU_PROPERTY_X86_UINT32_VALID was defined to address this issue such
that linker sets the bit for non-relocatable outputs. But it isn't
sufficient:
1. It doesn't cover generic properties.
2. When -mx86-used-note=yes is passed to x86 assembler, the
GNU_PROPERTY_X86_UINT32_VALID bit is set in GNU_PROPERTY_X86_ISA_1_USED
property in object file and older linkers generate invalid
NT_GNU_PROPERTY_TYPE_0 notes with the GNU_PROPERTY_X86_UINT32_VALID bit
set.
I am proposing the following changes:
1. Add PT_GNU_PROPERTY segment type:
# define PT_GNU_PROPERTY (PT_LOOS + 0x474e553)
which covers .note.gnu.property section.
2. Remove GNU_PROPERTY_X86_UINT32_VALID.
bfd/
PR ld/23900
* elf.c (get_program_header_size): Add a PT_GNU_PROPERTY
segment for NOTE_GNU_PROPERTY_SECTION_NAME.
(_bfd_elf_map_sections_to_segments): Create a PT_GNU_PROPERTY
segment for NOTE_GNU_PROPERTY_SECTION_NAME.
* elfxx-x86.c (_bfd_elf_link_setup_gnu_properties): Don't set
GNU_PROPERTY_X86_UINT32_VALID.
binutils/
PR ld/23900
* readelf.c (get_segment_type): Support PT_GNU_PROPERTY.
(decode_x86_isa): Don't check GNU_PROPERTY_X86_UINT32_VALID.
(decode_x86_feature_1): Likewise.
(decode_x86_feature_2): Likewise.
(print_gnu_property_note): Remove GNU_PROPERTY_X86_UINT32_VALID
check.
* testsuite/binutils-all/i386/empty.d: Updated.
* testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
* testsuite/binutils-all/x86-64/empty.d: Likewise.
* testsuite/binutils-all/i386/pr21231b.s: Change
GNU_PROPERTY_X86_ISA_1_USED bits to 0x7fffffff.
* testsuite/binutils-all/x86-64/pr21231b.s: Likewise.
gas/
PR ld/23900
* config/tc-i386.c (x86_cleanup): Don't set
GNU_PROPERTY_X86_UINT32_VALID.
* testsuite/gas/i386/property-1.s: Change
GNU_PROPERTY_X86_ISA_1_USED bits to 0.
include/
PR ld/23900
* elf/common.h (PT_GNU_PROPERTY): New.
(GNU_PROPERTY_X86_UINT32_VALID): Removed.
ld/
PR ld/23900
* testsuite/ld-elf/elf.exp: Run PR ld/23900 test.
* testsuite/ld-elf/pr23900-1-32.rd: New file.
* testsuite/ld-elf/pr23900-1-64.rd: Likewise.
* testsuite/ld-elf/pr23900-1.d: Likewise.
* testsuite/ld-elf/pr23900-1.s: Likewise.
* testsuite/ld-elf/pr23900-2.s: Likewise.
* testsuite/ld-elf/pr23900-2a.d: Likewise.
* testsuite/ld-elf/pr23900-2b.d: Likewise.
* testsuite/ld-i386/ibt-plt-1.d: Adjusted.
* testsuite/ld-i386/ibt-plt-2c.d: Likewise.
* testsuite/ld-i386/ibt-plt-2d.d: Likewise.
* testsuite/ld-i386/ibt-plt-3d.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-1.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3c.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.
* testsuite/ld-i386/pr23372c.d: Expect <None>
for GNU_PROPERTY_X86_ISA_1_USED.
* testsuite/ld-x86-64/pr23372c-x32.d: Likewise.
* testsuite/ld-x86-64/pr23372c.d: Likewise.
* testsuite/ld-x86-64/pr23372d-x32.d: Likewise.
* testsuite/ld-x86-64/pr23372d.d: Likewise.
* testsuite/ld-x86-64/property-x86-5a.s: Change
GNU_PROPERTY_X86_ISA_1_USED bits to 0.
* testsuite/ld-x86-64/property-x86-5b.s: Likewise.
commit 0681fa5ee5a1059b9415c4b0408030fd25bd26dd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Dec 14 00:00:46 2018 +0000
Automatic date update in version.in
commit c68033869a714b79f20d47ca54138c13439c05c0
Author: Jeff Law <law@redhat.com>
Date: Thu Dec 13 15:45:24 2018 -0700
Fix typo/thinko in last change.
* dw2gencfi.c (output_cie): Add missing semicolon in last
change.
commit 64fdde094a2747e9aa729dfa4f1568c3d24ab80b
Author: John Baldwin <jhb@FreeBSD.org>
Date: Thu Dec 13 11:36:42 2018 -0800
Update the FreeBSD system call table to match FreeBSD 12.0.
Add a script to generate the FreeBSD XML system call table from the
sys/sys/syscall.h file in the kernel source tree. For ABI
compatiblity system calls used by older binaries (such as
freebsd11_kevent()), the original system call name is used as an
alias.
Run this script against the current syscall.h file in FreeBSD's head
branch which is expected to be the file used in 12.0 (head is
currently in code freeze as part of the 12.0 release process).
gdb/ChangeLog:
* syscalls/update-freebsd.sh: New file.
* syscalls/freebsd.xml: Regenerate.
commit e9076973c822e6df7f84bb8bc0b69aa42dd29eb3
Author: John Baldwin <jhb@FreeBSD.org>
Date: Thu Dec 13 11:36:42 2018 -0800
Add an optional "alias" attribute to syscall entries.
When setting a syscall catchpoint by name, catch syscalls whose name
or alias matches the requested string.
When the ABI of a system call is changed in the FreeBSD kernel, this
is implemented by leaving a compatibility system call using the old
ABI at the existing "slot" and allocating a new system call for the
version using the new ABI. For example, new fields were added to the
'struct kevent' used by the kevent() system call in FreeBSD 12. The
previous kevent() system call in FreeBSD 12 kernels is now called
freebsd11_kevent() and is still used by older binaries compiled
against the older ABI. The freebsd11_kevent() system call can be
tagged with an "alias" attribute of "kevent" permitting 'catch syscall
kevent' to catch both system calls and providing the expected user
behavior for both old and new binaries. It also provides the expected
behavior if GDB is compiled on an older host (such as a FreeBSD 11
host).
gdb/ChangeLog:
* NEWS: Add entry documenting system call aliases.
* break-catch-syscall.c (catch_syscall_split_args): Pass 'result'
to get_syscalls_by_name.
* gdbarch.sh (UNKNOWN_SYSCALL): Remove.
* gdbarch.h: Regenerate.
* syscalls/gdb-syscalls.dtd (syscall): Add alias attribute.
* xml-syscall.c [!HAVE_LIBEXPAT] (get_syscalls_by_name): Rename
from get_syscall_by_name. Now accepts a pointer to a vector of
integers and returns a bool.
[HAVE_LIBEXPAT] (struct syscall_desc): Add alias member.
(syscall_create_syscall_desc): Add alias parameter and pass it to
syscall_desc constructor.
(syscall_start_syscall): Handle alias attribute.
(syscall_attr): Add alias attribute.
(xml_get_syscalls_by_name): Rename from xml_get_syscall_number.
Now accepts a pointer to a vector of integers and returns a
bool. Add syscalls whose alias or name matches the requested
name.
(get_syscalls_by_name): Rename from get_syscall_by_name. Now
accepts a pointer to a vector of integers and returns a bool.
* xml-syscall.h (get_syscalls_by_name): Likewise.
gdb/doc/ChangeLog:
* gdb.texinfo (Set Catchpoints): Add an anchor for 'catch syscall'.
(Native): Add a FreeBSD subsection.
(FreeBSD): Document use of system call aliases for compatibility
system calls.
commit 4794efbfdc4b1497c1f47397b2a2c43382e3de78
Author: John Baldwin <jhb@FreeBSD.org>
Date: Thu Dec 13 11:36:42 2018 -0800
Change get_syscalls_by_group to append to an existing vector of integers.
This removes the need for the caller to explicitly manage the memory
for the returned system call list. The sole caller only needed the
system call numbers rather than the full syscall structures.
get_syscalls_by_group now uses a boolean return value to indicate if
the requested group exists.
gdb/ChangeLog:
* break-catch-syscall.c (catch_syscall_split_args): Pass 'result'
to get_syscalls_by_group.
* xml-syscall.c [!HAVE_LIBEXPAT] (get_syscalls_by_group): Return
false.
[HAVE_LIBEXPAT] (xml_list_syscalls_by_group): Append syscall
numbers to an existing vector of integers and return a bool.
(get_syscalls_by_group): Accept pointer to vector of integers
and change return type to bool.
* xml-syscall.h (get_syscalls_by_group): Likewise.
commit b7c8601a7f2874de1bbe0dc38ef86ea053593ad8
Author: Jim Wilson <jimw@sifive.com>
Date: Thu Dec 13 10:48:23 2018 -0800
RISC-V: Correct printing of MSTATUS and MISA.
* riscv-tdep.c (riscv_print_one_register_info): For MSTATUS, add
comment for SD field, and correct xlen calculation. For MISA, add
comment for MXL field, add call to register_size, and correct base
calculation.
commit 09038062534606ef9100b5474d136f7d2e543de4
Author: Sam Tebbs <sam.tebbs@arm.com>
Date: Thu Dec 13 16:27:01 2018 +0000
Move aarch64 CIE code to aarch64 backend
This commit moves all aarch64-specific code to deal with CIE structure
introduced in 3a67e1a6b4430374f3073e51bb19347d4c421cfe from
target-independent files to the aarch64 backend.
2018-12-13 Sam Tebbs <sam.tebbs@arm.com>
binutils/
* dwarf.c (read_cie): Add check for 'B'.
gas/
* config/tc-aarch64.h (enum pointer_auth_key,
tc_fde_entry_extras, tc_cie_entry_extras, tc_fde_entry_init_extra,
tc_output_cie_extra, tc_cie_fde_equivalent_extra,
tc_cie_entry_init_extra): Define.
* dw2gencfi.c (struct cie_entry): Add tc_cie_entry_extras invocation.
(alloc_fde_entry, select_cie_for_fde): Add tc_fde_entry_init_extra
invocation.
(output_cie): Add tc_output_cie_extra invocation.
(select_cie_for_fde): Add tc_cie_fde_equivalent_extra invocation.
* dw2gencfi.h (enum pointer_auth_key): Move to config/tc-aarch64.h.
(struct fde_entry): Add tc_fde_entry_extras invocation
commit fe554d200d1befdc3bddc9e14f8593ea3446c351
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Dec 13 00:00:36 2018 +0000
Automatic date update in version.in
commit 66ac1ae906fc09806e827c8a06303fa7bed221eb
Author: Stafford Horne <shorne@gmail.com>
Date: Thu Dec 13 06:06:12 2018 +0900
gdb: Update NEWS for OpenRISC Linux support
gdb/ChangeLog:
* NEWS(New targets): Add or1k*-*-linux*.
commit c8749e5810115ad822ae22db8a8da4c92b0f285d
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Wed Dec 12 21:14:48 2018 +0100
OBVIOUS: Forward declare linux_xfer_osdata_info_os_types on one line to fix ARI warning.
2018-12-12 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* nat/linux-osdata.c (linux_xfer_osdata_info_os_types): Forward
declare on one line to fix ARI warning.
commit b001de2320446ec803b4ee5e0b9710b025b84469
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Nov 26 17:56:39 2018 +0000
gdb: Update test pattern to deal with native-extended-gdbserver
When running the test gdb.base/annota1.exp with:
make check-gdb RUNTESTFLAGS="--target_board=native-extended-gdbserver gdb.base/annota1.exp"
I would see a failure due to some unexpected lines in GDB's output.
The extra lines (when compared with a native run) were about file
transfer from the remote back to GDB.
This commit extends the regexp for this test to allow for these extra
lines, and also splits the rather long regexp up into a list of parts.
With this change in place I see no failures for gdb.base/annota1.exp
when using the native-extended-gdbserver target board, nor with a
native run on X86-64/Linux.
gdb/testsuite/ChangeLog:
* gdb.base/annota1.exp: Update a test regexp.
commit 6bf78e29a1dea7121f050c6ee4990298eec679dd
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Nov 26 12:48:05 2018 +0000
gdb/infcall: Make infcall_suspend_state into a class
I ran into a situation where attempting to make an inferior function
call would trigger an assertion, like this:
(gdb) call some_inferior_function ()
../../src/gdb/regcache.c:310: internal-error: void regcache::restore(readonly_detached_regcache*): Assertion `src != NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
The problem that triggers the assertion is that in the function
save_infcall_suspend_state, we basically did this:
1. Create empty infcall_suspend_state object.
2. Fill fields of infcall_suspend_state object.
The problem is causes is that if filling any of the fields triggered
an exception then the infcall_suspend_state object would be deleted
while in a partially filled in state.
In the specific case I encountered, I had a remote RISC-V target that
claimed in its target description to support floating point registers.
However, this was not true, and when GDB tried to read a floating
point register the remote sent back an error. This error would cause
an exception to be thrown while creating the
readonly_detached_regcache, which in turn caused GDB to try and delete
an infcall_suspend_state which didn't have any register state, and
this triggered the assertion.
To prevent this problem we have two possibilities, either, rewrite the
restore code the handle partially initialised infcall_suspend_state
objects, or, prevent partially initialised infcall_suspend_state
objects from existing. The second of these seems like a better
solution.
So, in this patch, I move the filling in of the different
infcall_suspend_state fields within a new constructor for
infcall_suspend_state. Now, if generating one of those fields fails
the destructor for infcall_suspend_state will not be executed and GDB
will not try to restore the partially saved state.
With this patch in place GDB now behaves like this:
(gdb) call some_inferior_function ()
Could not fetch register "ft0"; remote failure reply 'E99'
(gdb)
The inferior function call is aborted due to the error.
This has been tested against x86-64/Linux native, native-gdbserver,
and native-extended-gdbserver with no regressions. I've manually
tested this against my baddly behaving target and confirmed the
inferior function call is aborted as described above.
gdb/ChangeLog:
* infrun.c (infcall_suspend_state::infcall_suspend_state): New.
(infcall_suspend_state::registers): New.
(infcall_suspend_state::restore): New.
(infcall_suspend_state::thread_suspend): Rename to...
(infcall_suspend_state::m_thread_suspend): ...this.
(infcall_suspend_state::registers): Rename to...
(infcall_suspend_state::m_registers): ...this.
(infcall_suspend_state::siginfo_gdbarch): Rename to...
(infcall_suspend_state::m_siginfo_gdbarch): ...this.
(infcall_suspend_state::siginfo_data): Rename to...
(infcall_suspend_state::m_siginfo_data): ...this.
(save_infcall_suspend_state): Rewrite to use infcall_suspend_state
constructor.
(restore_infcall_suspend_state): Rewrite to use
infcall_suspend_state::restore method.
(get_infcall_suspend_state_regcache): Use
infcall_suspend_state::registers method.
commit 4de3d8d06673d130e256a6ad81e5df2e412934c1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Dec 4 15:56:09 2018 +0000
gdb/riscv: Handle passing variadic floating point arguments
This commit fixes some test failures in gdb.base/varargs.exp when
running on targets with floating point hardware. Floating point
unnamed (variadic) arguments should be passed in integer registers
according to the abi.
After this commit I see no failures in gdb.base/varargs.exp on 32 or
64 bit targets with floating point hardware.
gdb/ChangeLog:
* riscv-tdep.c (riscv_call_arg_scalar_float): Unnamed (variadic)
arguments are passed in integer registers.
(riscv_call_arg_complex_float): Likewise.
commit 13dc50ee16e1ff4180da61bdbd86e4a3c304b283
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed Dec 12 13:31:46 2018 +0000
[GAS][Arm] Skip Local BLX Thumb tests for arm-netbsdelf and arm-nto
gas/ChangeLog
2018-12-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
* testsuite/gas/arm/blx-local-thumb.d: Skip arm-nto and
arm-netbsdelf.
commit 60f9fdc9c2f43f2d578f707ac78c18251f6d4ae9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Dec 12 00:00:28 2018 +0000
Automatic date update in version.in
commit 00863b8e40a0afd0daf0925acf3f7c794dfd9c73
Author: Max Filippov <jcmvbkbc@gmail.com>
Date: Fri Dec 7 12:59:04 2018 -0800
bfd: xtensa: ignore overflow in hight part of const16 relocation
32-bit constants loaded by two const16 opcodes that involve relocation
(e.g. calculated as a sum of a symbol and a constant) may overflow,
resulting in linking error with the following message:
dangerous relocation: const16: cannot encode: (_start+0x70000000)
They should wrap around instead. Limit const16 opcode immediate field to
16 least significant bits to implement this wrap around.
bfd/
2018-12-11 Max Filippov <jcmvbkbc@gmail.com>
* elf32-xtensa.c (elf_xtensa_do_reloc): Limit const16 opcode
immediate field to 16 least significant bits.
commit 750b258ef80992e76a3b03fe57dc9517e63de7f5
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Dec 8 17:28:31 2018 +0100
Fix leaks in all the linux osdata annex transfers + code factorization.
Valgrind reports leaks in all linux osdata annex transfers of linux-osdata.c.
A typical leak (this one is of gdb.base/info-os) is:
==10592== VALGRIND_GDB_ERROR_BEGIN
==10592== 65,536 bytes in 1 blocks are definitely lost in loss record 3,175 of 3,208
==10592== at 0x4C2E273: realloc (vg_replace_malloc.c:826)
==10592== by 0x409B0C: xrealloc (common-utils.c:62)
==10592== by 0x408BC3: buffer_grow(buffer*, char const*, unsigned long) [clone .part.1] (buffer.c:40)
==10592== by 0x5263DF: linux_xfer_osdata_processes(unsigned char*, unsigned long, unsigned long) (linux-osdata.c:370)
==10592== by 0x520875: linux_nat_xfer_osdata (linux-nat.c:4214)
...
The leaks are created because the linux_xfer_osdata_* functions
transfer the ownership of their 'static struct buffer' memory
to their 'static char *buf' local var, but then call buffer_free
instead of xfree-ing buf.
I see no reason why the ownership of the memory has to be transferred
from a local var to another local var, so the fix consists in dropping
the 'static char *buf' and accessing the struct buffer memory where needed.
Also, because this bug was replicated in all functions, and there was
a non neglectible amount of duplicated code, the setup and usage
of the 'static struct buffer' is factorized in a new function
common_getter. The buffer for a specific annex is now a member
of the struct osdata_type instead of being a static var of each
linux_xfer_osdata_* function.
Thanks to this, all the linux_xfer_osdata_* do not have
anymore any logic related to the partial transfer of data: they now
only build the xml data in a struct buffer.
This all removes about 300 SLOC.
Note: git diff/git format-patch shows a lot of differences only due
to space changes/indentation changes.
So, git diff -w helps to look only at the relevant differences.
gdb/ChangeLog
2018-12-11 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* nat/linux-osdata.c (common_getter): New function.
(struct osdata_type): Change getter to take_snapshot.
Add LONGEST len_avail and struct buffer buffer.
Change all elements in the initializer.
Add an element for the list of types.
(linux_xfer_osdata_info_os_types): New function.
(linux_common_xfer_osdata): Use common_getter for the list of types.
Replace getter call by common_getter.
(linux_xfer_osdata_cpus): Remove args READBUF, OFFSET, LEN.
Add arg BUFFER. Only keep the code that adds data in BUFFER.
(linux_xfer_osdata_fds): Likewise.
(linux_xfer_osdata_modules): Likewise.
(linux_xfer_osdata_msg): Likewise.
(linux_xfer_osdata_processes): Likewise.
(linux_xfer_osdata_processgroups): Likewise.
(linux_xfer_osdata_sem): Likewise.
(linux_xfer_osdata_shm): Likewise.
(linux_xfer_osdata_isockets): Likewise.
(linux_xfer_osdata_threads): Likewise.
commit 9f375018392171cb46dce2c929ee979c67035f26
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Dec 11 22:35:19 2018 +0100
Fix the date in the ChangeLog
commit 326b0c1289f97a25f3846f1d1d8d32811bbd1789
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Dec 11 22:31:57 2018 +0100
PATCH/OBVIOUS Remove various trailing spaces in linux-osdata.c
commit 550892eb5a320c5a55fb4f45750514cd16433baf
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Dec 11 06:18:12 2018 -0800
Fix a typo in scripttempl/elf32xc16x.sc
* scripttempl/elf32xc16x.sc: Fix a typo.
commit 209d1499de79eb23191f5761166180b80feb900a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Dec 11 06:01:46 2018 -0800
xc16x: Add elf32_xc16x_rtype_to_howto
Add elf32_xc16x_rtype_to_howto to get reloc_howto_type pointer from
ELF32_R_TYPE.
* elf32-xc16x.c (elf32_xc16x_rtype_to_howto): New function.
(elf32_xc16x_relocate_section): Call elf32_xc16x_rtype_to_howto
instead of xc16x_reloc_type_lookup to get reloc_howto_type.
commit 69799d67e8872dcd3feee81ed2ff0fc47beb52d7
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Dec 11 12:01:15 2018 +0000
Fix a failure in the libiberty testsuite by increasing the recursion limit to 2048.
PR 88409
include * demangle.h (DEMANGLE_RECURSION_LIMIT): Increase to 2048.
binutils* NEWS: Note that recursion limit has increased to 2048.
* doc/binutils.texi: Likewise.
commit 99e1a184a791d30c09a86d6eca4528dc146c2c79
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Dec 4 11:48:42 2018 +0000
gdb/riscv: Update test to handle targets without an fpu
The FPU is optional on RISC-V. The gdb.base/float.exp test currently
assumes that an fpu is always available on RISC-V. Update the test so
that this is not the case.
gdb/testsuite/ChangeLog:
* gdb.base/float.exp: Handle RISC-V targets without an FPU.
commit 8970c0224e3c36c565672089e38de42765e87f47
Author: Jim Wilson <jimw@sifive.com>
Date: Mon Dec 10 16:40:46 2018 -0800
RISC-V: Don't segfault for two regs in auipc or lui.
gas/
PR gas/23954
* config/tc-riscv.c (my_getSmallExpression): Expand comment for
register support. Set expr_end if parse a register.
(riscv_ip) <'u'>: Break if imm_expr is not a symbol or constant.
* testsuite/gas/riscv/auipc-parsing.d: New.
* testsuite/gas/riscv/auipc-parsing.l: New.
* testsuite/gas/riscv/auipc-parsing.s: New.
commit 5136770380a3a829463d5ef29fa8339d386db51c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Dec 11 00:00:36 2018 +0000
Automatic date update in version.in
commit e771f7a770b07c676958247464962614266da755
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Dec 10 04:08:52 2018 -0800
Correct gas/ChangeLog entry for PR gas/23968
commit 69cb29528eaf96ed82c25283586a8cc914130439
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Dec 10 10:18:46 2018 +0000
gdb/riscv: Remove whitespace before #include line
This fixes an ARI warning in riscv-tdep.c that whitespace before a
gdb/ChangeLog:
* riscv-tdep.c (riscv_register_name): Fix ARI warning by removing
leading whitespace before #include line.
commit ecfe6254b5e27ba5dee0841d61d565cc1fe3318e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Dec 10 00:00:44 2018 +0000
Automatic date update in version.in
commit 9f52eab6a7a69870c7b5907a20b0305f30dbf2ae
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Dec 9 07:22:14 2018 -0800
x86: Put back BFD_RELOC_X86_64_GOTPCREL
Put back BFD_RELOC_X86_64_GOTPCREL in TC_FORCE_RELOCATION_LOCAL, which
was removed by
commit 56ceb5b5405af23eddd12e12d8ba849010120324
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Oct 22 04:49:20 2015 -0700
Add R_X86_64_[REX_]GOTPCRELX support to gas and ld
by accident.
commit 7a81c1e2d44c6eb11b2ea24dc71ee959ab3a5acd
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Nov 4 20:54:05 2018 +0100
Fix tid-reuse sometimes blocks for a very long (infinite?) time.
A failure that seems to cause a long/infinite time is the following:
For a not clear reason, tid-reuse.c spawner thread sometimes gets an error:
tid-reuse: /bd/home/philippe/gdb/git/build_moreaa/gdb/testsuite/../../../moreaa/gdb/testsuite/gdb.threads/tid-reuse.c:58: spawner_thread_func: Assertion `rc == 0' failed.
which causes a SIGABRT to be trapped by gdb, and tid-reuse does not reach the
after_count breakpoint:
Thread 2 "tid-reuse" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff7518700 (LWP 10368)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) FAIL: gdb.threads/tid-reuse.exp: continue to breakpoint: after_count
After that, tid-reuse.exp gets the value of reuse_time, but this one kept its
initial value of -1 (as unsigned) :
print reuse_time
$1 = 4294967295
(gdb) PASS: gdb.threads/tid-reuse.exp: get reuse_time
tid-reuse then dies, and the .exp script continues (with some FAIL)
till it executes:
set timeout [expr $reuse_time * 2]
leading to the error:
(gdb) ERROR: integer value too large to represent as non-long integer
while executing
"expect {
-i exp8 -timeout 8589934590
-re ".*A problem internal to GDB has been detected" {
fail "$message (GDB internal error)"
gdb_intern..."
("uplevel" body line 1)
invoked from within
"uplevel $body" ARITH IOVERFLOW {integer value too large to represent as non-long integer} integer value too large to represent as non-long integer
ERROR: GDB process no longer exists
and then everything blocks.
This last 'GDB process no longer exists' is strange, as I still see the gdb
when this all blocks, e.g.
philippe 16058 31085 0 20:30 pts/15 00:00:00 /bin/bash -c rootme=`pwd`; export rootme; srcdir=../../../binutils-gdb/gdb/testsuite ; export srcdir ; EXPECT=`if [
philippe 16386 16058 0 20:30 pts/15 00:00:00 expect -- /usr/share/dejagnu/runtest.exp --status GDB_PARALLEL=yes --outdir=outputs/gdb.threads/tid-reuse gdb.thre
philippe 24848 16386 0 20:30 pts/20 00:00:00 /bd/home/philippe/gdb/git/build_binutils-gdb/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory /bd/home/philip
This patch gives a default value of 60, so that if ever something wrong happens
in tid-reuse, then the value retrieved by the .exp script stays in a reasonable
range.
Simon verified the patch by:
"I replaced the pthread_create call with the value 1 to simulate a
failure, and the test succeeds to fail quickly with your patch applied.
Without your patch, I get the infinite hang that you describe."
Compared to V1:
As suggested by Pedro, this version checks the pthread calls return
code (in particular of pthread_create) and reports the failure reason,
instead of just aborting.
gdb/testsuite/ChangeLog
2018-12-09 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.threads/tid-reuse.c (REUSE_TIME_CAP): Declare as 60.
(reuse_time): Initialize to REUSE_TIME_CAP.
(check_rc): New function.
(main): Use REUSE_TIME_CAP instead of hardcoded 60.
Check pthread_create rc.
(spawner_thread_func): Check pthread_create and pthread_join rc.
commit 2578ecb1b583408c7a75716edbd203995da373c7
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Sat Dec 8 19:35:47 2018 -0500
Look for tgetent in libtinfow
On some systems where ncurses is only available in the "wide" version
(compiled with --with-widec), there might be no libtinfo.so, only a
libtinfow.so. Look for libtinfow in addition to libtinfo.
gdb/ChangeLog:
YYYY-MM-DD Simon Marchi <simon.marchi@ericsson.com>
ÐилÑн ÐалаÑзов <dilyan.palauzov@aegee.org>
PR gdb/23950
* configure.ac: Search for tgetent in libtinfow.
* configure: Re-generate.
commit b5ac78ffc6779b5caab4d24a31a5e0b5cccf4858
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Dec 9 00:00:45 2018 +0000
Automatic date update in version.in
commit a2419b98d90e89acbef47dbc7a9047f4580fe99d
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Fri Dec 7 18:13:59 2018 +0100
Fix leak by using td_ta_delete() to deregister target process and deallocate internal process handle.
Valgrind reports the below leak:
==25327== VALGRIND_GDB_ERROR_BEGIN
==25327== 672 bytes in 1 blocks are definitely lost in loss record 2,759 of 3,251
==25327== at 0x4C2E07C: calloc (vg_replace_malloc.c:752)
==25327== by 0x7FDCB3E: ???
==25327== by 0x532A7A: try_thread_db_load_1 (linux-thread-db.c:828)
==25327== by 0x532A7A: try_thread_db_load(char const*, int) (linux-thread-db.c:997)
==25327== by 0x53354D: try_thread_db_load_from_sdir (linux-thread-db.c:1074)
==25327== by 0x53354D: thread_db_load_search (linux-thread-db.c:1129)
==25327== by 0x53354D: thread_db_load() (linux-thread-db.c:1187)
==25327== by 0x611AF1: operator() (functional:2127)
==25327== by 0x611AF1: notify (observable.h:106)
==25327== by 0x611AF1: symbol_file_add_with_addrs(bfd*, char const*, enum_flags<symfile_add_flag>, std::vector<other_sections, std::allocator<other_sections> >*, enum_flags<objfile_flag>, objfile*) (symfile.c:1158)
==25327== by 0x5F5C4A: solib_read_symbols(so_list*, enum_flags<symfile_add_flag>) (solib.c:691)
==25327== by 0x5F6A8B: solib_add(char const*, int, int) (solib.c:1003)
==25327== by 0x5F6BF7: handle_solib_event() (solib.c:1281)
==25327== by 0x3D0A94: bpstat_stop_status(address_space const*, unsigned long, thread_info*, target_waitstatus const*, bpstats*) (breakpoint.c:5417)
==25327== by 0x4FF133: handle_signal_stop(execution_control_state*) (infrun.c:5874)
==25327== by 0x502C29: handle_inferior_event_1 (infrun.c:5300)
==25327== by 0x502C29: handle_inferior_event(execution_control_state*) (infrun.c:5335)
==25327== by 0x5041DB: fetch_inferior_event(void*) (infrun.c:3868)
==25327== by 0x4A1E7C: gdb_wait_for_event(int) (event-loop.c:859)
...
This leak is created because a call to td_ta_new allocates some resources
that must be freed with td_ta_delete, and that was missing.
With this patch, the nr of GDB executions leaking during regression tests
decreases further from 566 to 380.
Note that the gdbserver equivalent code is properly calling
td_ta_delete: see thread_db_mourn in thread-db.c.
Tests run natively on debian/amd64, and run under valgrind.
gdb/ChangeLog
2018-12-08 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* linux-thread-db.c (struct thread_db_info): Add td_ta_delete_p.
(thread_db_err_str): Forward declare.
(delete_thread_db_info): Call td_ta_delete_p if available.
(try_thread_db_load_1): Acquire td_ta_delete address.
* nat/gdb_thread_db.h (td_ta_delete_ftype): Declare.
commit 73e8dc90a8a94bc52e29596b1cc176b882fbbc8e
Author: Pedro Alves <palves@redhat.com>
Date: Sat Dec 8 15:03:29 2018 +0000
Merge forward-search/reverse-search, use gdb::def_vector, remove limit
Back in:
commit 85ae1317add94adef4817927e89cff80b92813dd
Author: Stan Shebs <shebs@codesourcery.com>
AuthorDate: Thu Dec 8 02:27:47 1994 +0000
* source.c: Various cosmetic changes.
(forward_search_command): Handle very long source lines correctly.
a buffer with a hard limit was converted to a heap buffer:
@@ -1228,15 +1284,26 @@ forward_search_command (regex, from_tty)
stream = fdopen (desc, FOPEN_RT);
clearerr (stream);
while (1) {
-/* FIXME!!! We walk right off the end of buf if we get a long line!!! */
- char buf[4096]; /* Should be reasonable??? */
- register char *p = buf;
+ static char *buf = NULL;
+ register char *p;
+ int cursize, newsize;
+
+ cursize = 256;
+ buf = xmalloc (cursize);
+ p = buf;
However, reverse_search_command has the exact same problem, and that
wasn't fixed. We still have that "we walk right off" comment...
Recently, the xmalloc above was replaced with a xrealloc, because as
can be seen above, that 'buf' variable above was a static local,
otherwise we'd be leaking. This commit replaces that and the
associated manual buffer growing with a gdb::def_vector<char>. I
don't think there's much point in reusing the buffer across command
invocations.
While doing this, I realized that reverse_search_command is almost
identical to forward_search_command. So this commit factors out a
common helper function instead of duplicating a lot of code.
There are some tests for "forward-search" in gdb.base/list.exp, but
since they use the "search" alias, they were a bit harder to find than
expected. That's now fixed, both by testing both variants, and by
adding some commentary. Also, there are no tests for the
"reverse-search" command, so this commit adds some for that too.
gdb/ChangeLog:
2018-12-08 Pedro Alves <palves@redhat.com>
* source.c (forward_search_command): Rename to ...
(search_command_helper): ... this. Add 'forward' parameter.
Tweak to use a gdb::def_vector<char> instead of a xrealloc'ed
buffer. Handle backward searches too.
(forward_search_command, reverse_search_command): Reimplement by
calling search_command_helper.
gdb/testsuite/ChangeLog:
2018-12-08 Pedro Alves <palves@redhat.com>
* gdb.base/list.exp (test_forward_search): Rename to ...
(test_forward_reverse_search): ... this. Also test reverse-search
and the forward-search alias.
commit c0ab2ae3cc9af434ba926015d82a39cdf42c70bf
Author: Alan Modra <amodra@gmail.com>
Date: Sat Dec 8 13:22:51 2018 +1030
[GOLD] icf_safe_so_test
PR 21128
* testsuite/icf_safe_so_test.sh (check_fold): Rewrite to check
multiple symbols at once.
(arch_specific_safe_fold): Likewise, and call with the four foo*
symbols expected to fold.
commit 7ca166c9408599e64c0cd3c5d3f0d00c8fae2d9e
Author: Alan Modra <amodra@gmail.com>
Date: Sat Dec 8 11:49:20 2018 +1030
Fix strings.c endian issue and strings test
git commit 71f5e3f7b624 obviously wasn't tested on a big-endian host,
and the test fail message resulted in tcl errors.
* strings.c (unget_part_char): New function.
(print_strings): Use unget_part_char. Formatting.
* testsuite/binutils-all/strings.exp (test_multibyte): Don't
use square brackets in fail message. Expect "String1\nString2".
commit 5aee1c38f938d4f7c9f8365fabf81e2d1f1ca051
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Dec 8 00:00:28 2018 +0000
Automatic date update in version.in
commit fbcc8bafeb413a111cd3caab39b3ab57d5b8ce93
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Dec 7 15:39:49 2018 -0800
Override the previous definition from IR object
Mark the previous definition from IR object as undefined so that the
generic linker will override it.
bfd/
PR ld/23958
* elflink.c (_bfd_elf_add_default_symbol): Override the previous
definition from IR object.
ld/
PR ld/23958
* testsuite/ld-plugin/lto.exp: Run PR ld/23958 test.
* testsuite/ld-plugin/pr23958.c: New file.
* testsuite/ld-plugin/pr23958.t: Likewise.
commit d9c859da9fff9de47a33f52d75a6fef2495b3fc1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Fri Dec 7 10:45:01 2018 +0000
gdb/emacs/dir-locals: Update settings for c++-mode
The current .dir-locals file for GDB causes files that would usually
open in c-mode (for example, files ending in .c) to open in c++-mode.
However, all of the other settings applied for c-mode appear to get
reset when the file is switched over to c++-mode.
For example, we currently say:
(c-mode . ((c-file-style . "GNU")
(mode . c++)
(indent-tabs-mode . t)
(tab-width . 8)
(c-basic-offset . 2)
(eval . (c-set-offset 'innamespace 0))
))
(c++-mode . ((eval . (when (fboundp 'c-toggle-comment-style)
(c-toggle-comment-style 1)))))
So, when we enter c++-mode `indent-tabs-mode` is reset to its global
value, as are all of the other settings listed for c-mode.
This commit copies all of the settings (except the `mode` setting)
from the c-mode list to the c++-mode list.
The emacs documentation doesn't mention that `mode` causes this
resetting behaviour, so, in case this is an emacs bug, I'm using emacs
version 26.1. Having the settings duplicated shouldn't cause any
problems except for a slight maintenance overhead.
gdb/ChangeLog:
* .dir-locals.el: Copy most of the settings from c-mode over to
c++-mode.
commit 42e151bf4cc66b8781f2b139c6da320095f9a045
Author: Stafford Horne <shorne@gmail.com>
Date: Sat Dec 8 07:01:40 2018 +0900
gdb/or1k: Add linux debugging support
Up until now OpenRISC GDB only has supported bare metal debugging. This
patch adds linux userspace debugging and core dump analysis support.
The changes are loosely based on nios2 and riscv implementations.
This was tested with linux 4.20 core dumps for executables linked
against musl libc.
bfd/ChangeLog:
* elf32-or1k.c (or1k_grok_prstatus): New function.
(or1k_grok_psinfo): Likewise.
gdb/ChangeLog:
* Makefile.in (ALL_TARGET_OBS): Add or1k-linux-tdep.o.
* configure.tgt: Add or1k*-*-linux*.
* or1k-linux-tdep.c: New file.
* or1k-tdep.c (or1k_gdbarch_init): Call gdbarch_init_osabi.
commit f50fabe4f66534c9addacddeaa439e8d164eadda
Author: Jim Wilson <jimw@sifive.com>
Date: Fri Dec 7 12:31:05 2018 -0800
RISC-V: Fix 4-arg add parsing.
PR gas/23956
gas/
* config/tc-riscv.c (validate_riscv_insn) <'1'>: New case.
(percent_op_null): New.
(riscv_ip) <'j'>: Set imm_reloc before p.
<'1'>: New case.
<'0'>: Use percent_op_null and don't set imm_reloc.
<alu_op>: Handle *args == '1'.
* testsuite/gas/riscv/tprel-add.d: New.
* testsuite/gas/riscv/tprel-add.l: New.
* testsuite/gas/riscv/tprel-add.s: New.
opcodes/
* riscv-opc.c (riscv_opcodes) <"add">: Use 1 not 0 for fourth arg.
commit 8bebfcda34f2ea883fa6b87e748ad8a5f72b352f
Author: Pedro Alves <palves@redhat.com>
Date: Fri Dec 7 19:54:19 2018 +0000
Fix gdb build on 32-bit hosts w/ --enable-64-bit-bfd
Building for x86_64/-m32 with --enable-64-bit-bfd, compilation fails
with:
src/gdb/dwarf2read.c: In instantiation of âgdb::array_view<const unsigned char> get_gdb_index_contents_from_section(objfile*, T*) [with T = dwarf2_per_objfile]â:
src/gdb/dwarf2read.c:6266:54: required from here
src/gdb/dwarf2read.c:6192:37: error: narrowing conversion of âsection->dwarf2_section_info::sizeâ from âbfd_size_type {aka long long unsigned int}â to âsize_t {aka unsigned int}â inside { } [-Werror=narrowing]
return {section->buffer, section->size};
~~~~~~~~~^~~~
This fixes it.
gdb/ChangeLog:
2018-12-07 Pedro Alves <palves@redhat.com>
* dwarf2read.c (get_gdb_index_contents_from_section): Use
gdb::make_array_view.
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
With merging properties, report property change in linker map file, like
Merging program properties
Removed property 0xc0010000 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (0x0) and /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crti.o (0x0)
Removed property 0xc0000002 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (0x3) and x.o (not found)
Removed property 0xc0000000 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (not found) and /usr/lib64/libc_nonshared.a(elf-init.oS) (0x0)
Removed property 0xc0000001 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (not found) and /usr/lib64/libc_nonshared.a(elf-init.oS) (0x0)
bfd/
* elf-properties.c (elf_find_and_remove_property): Add a
bfd_boolean argument to indicate if the property should be
removed.
(elf_merge_gnu_property_list): Updated. Report
property change in linker map file.
(elf_get_gnu_property_section_size): Skip property_remove
properties.
(elf_write_gnu_properties): Likewise.
(_bfd_elf_link_setup_gnu_properties): Report property merge
in linker map file. Pass abfd to elf_merge_gnu_property_list.
include/
* bfdlink.h (bfd_link_info): Add has_map_file.
ld/
* NEWS: Updated for property change report.
* ld.texi: Document property change report.
* ldmain.c (main): Set link_info.has_map_file to TRUE when
linker map file is used.
* testsuite/ld-scripts/rgn-over1.d: Updated.
* testsuite/ld-scripts/rgn-over2.d: Likewise.
* testsuite/ld-scripts/rgn-over3.d: Likewise.
* testsuite/ld-scripts/rgn-over4.d: Likewise.
* testsuite/ld-scripts/rgn-over5.d: Likewise.
* testsuite/ld-scripts/rgn-over6.d: Likewise.
* testsuite/ld-scripts/rgn-over7.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Check linker map
file.
* testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1a.map: New file.
commit 4a8110007bf58be329f108374e00ef8ddc1fe3ec
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Dec 4 23:28:14 2018 +0100
Fix a (one shot small) leak in language.c
Valgrind detects the following leak:
==28395== VALGRIND_GDB_ERROR_BEGIN
==28395== 5 bytes in 1 blocks are definitely lost in loss record 20 of 2,770
==28395== at 0x4C2BE2D: malloc (vg_replace_malloc.c:299)
==28395== by 0x41D9E7: xmalloc (common-utils.c:44)
==28395== by 0x78BF39: xstrdup (xstrdup.c:34)
==28395== by 0x51F1AC: _initialize_language() (language.c:1175)
==28395== by 0x6B3356: initialize_all_files() (init.c:308)
==28395== by 0x66D194: gdb_init(char*) (top.c:2159)
==28395== by 0x554C11: captured_main_1 (main.c:863)
==28395== by 0x554C11: captured_main (main.c:1167)
==28395== by 0x554C11: gdb_main(captured_main_args*) (main.c:1193)
==28395== by 0x29D837: main (gdb.c:32)
==28395==
==28395== VALGRIND_GDB_ERROR_END
This is a very small leak (1 block/5 bytes), happening only once
per GDB startup as far as I can see. But this fix make the nr of leaking
GDB in the testsuite decreasing from 628 to 566.
It is unclear why a xstrdup-ed value is assigned to 'language'
at initialization time, while a static "auto" string is assigned
as part of the set_language_command.
So, that shows that it is ok to initialize 'language' directly
with "auto".
Also, I cannot find any place where 'language' is xfree-d.
No leak was detected for 'range' and 'case_sensitive', but
similarly, no indication why a static string cannot be assigned.
Regression-tested on debian/x86_64.
Also, full testsuite run under valgrind, less tests leaking,
and no dangling pointer problem detected.
gdb/ChangeLog
2018-12-05 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* language.c (_initialize_language): Fix leak by assigning
a static string to language. Same for range and case_sensitive,
even if no leak is detected for these variables.
commit c2f5dc30afa34696f2da0081c4ac50b958ecb0e9
Author: Alan Modra <amodra@gmail.com>
Date: Fri Dec 7 23:39:42 2018 +1030
PR23952, memory leak in _bfd_generic_read_minisymbols
bfd/
PR 23952
* syms.c (_bfd_generic_read_minisymbols): Free syms before
returning with zero symcount.
binutils/
* nm.c (display_rel_file): Use xrealloc to increase minisyms
for synthetic symbols.
commit af03af8f55f2536b6e20928e6b1fa0324a5f3d6e
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Dec 7 11:32:55 2018 +0000
Synchronize libiberty with gcc and add --no-recruse-limit option to tools that support name demangling.
This patch addresses the multitude of bug reports about resource exhaustion
in libiberty's name demangling code. It adds a limit to the amount of
recursion that is allowed, before an error is triggered. It also adds a
new demangling option to disable this limit. (The limit is enabled by
default).
PR 87681
PR 87675
PR 87636
PR 87335
libiberty * cp-demangle.h (struct d_info): Add recursion_limit field.
* cp-demangle.c (d_function_type): If the recursion limit is
enabled and reached, return with a failure result.
(d_demangle_callback): If the recursion limit is enabled, check
for a mangled string that is so long that there is not enough
stack space for the local arrays.
* cplus-dem.c (struct work): Add recursion_level field.
(demangle_nested_args): If the recursion limit is enabled and
reached, return with a failure result.
include * demangle.h (DMGL_RECURSE_LIMIT): Define.
(DEMANGLE_RECURSION_LIMIT): Prototype.
binutuils * addr2line.c (demangle_flags): New static variable.
(long_options): Add --recurse-limit and --no-recurse-limit.
(translate_address): Pass demangle_flags to bfd_demangle.
(main): Handle --recurse-limit and --no-recurse-limit options.
* cxxfilt.c (flags): Add DMGL_RECURSE_LIMIT.
(long_options): Add --recurse-limit and --no-recurse-limit.
(main): Handle new options.
* dlltool.c (gen_def_file): Include DMGL_RECURSE_LIMIT in flags
passed to cplus_demangle.
* nm.c (demangle_flags): New static variable.
(long_options): Add --recurse-limit and --no-recurse-limit.
(main): Handle new options.
* objdump.c (demangle_flags): New static variable.
(usage): Add --recurse-limit and --no-recurse-limit.
(long_options): Likewise.
(objdump_print_symname): Pass demangle_flags to bfd_demangle.
(disassemble_section): Likewise.
(dump_dymbols): Likewise.
(main): Handle new options.
* prdbg.c (demangle_flags): New static variable.
(tg_variable): Pass demangle_flags to demangler.
(tg_start_function): Likewise.
* stabs.c (demangle_flags): New static variable.
(stab_demangle_template): Pass demangle_flags to demangler.
(stab_demangle_v3_argtypes): Likewise.
(stab_demangle_v3_arg): Likewise.
* doc/binutuls.texi: Document new command line options.
* NEWS: Mention the new feature.
* testsuite/config/default.exp (CXXFILT): Define if not already
defined.
(CXXFILTFLAGS): Likewise.
* testsuite/binutils-all/cxxfilt.exp: New file. Runs a few
simple tests of the cxxfilt program.
commit 67bb16f345cb72740ab523018709c183ff3f8c8d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Dec 7 00:00:46 2018 +0000
Automatic date update in version.in
commit 9da0a9988db7c9db92edaa3dc98f2a0648782b71
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Dec 6 12:28:46 2018 -0800
gold: Provide more failed archive member info in error message
When gold fails to get an archive member, its error message doesn't
have information for
1. The failed archive member name.
2. The cause of failure: non-ELF object vs non-IR object.
This patch adds the failed archive member name and non-ELF/non-IR info
to gold error message.
* archive.cc (Archive::get_elf_object_for_member): Also print
archive member and non-ELF/non-IR info on error.
commit bb6bf75e7a1f9aaf0283895705710f415b81b6b1
Author: Alan Modra <amodra@gmail.com>
Date: Thu Dec 6 20:51:27 2018 +1030
PowerPC @l, @h and @ha warnings, plus VLE e_li
This patch started off just adding the warnings in tc-ppc.c about
incorrect usage of @l, @h and @ha in instructions that don't have
16-bit D-form fields. That unfortunately showed up three warnings in
ld/testsuite/ld-powerpc/vle-multiseg.s on instructions like
e_li r3, IV_table@l+0x00
which was being assembled to
8: 70 60 00 00 e_li r3,0
a: R_PPC_ADDR16_LO IV_table
The ADDR16_LO reloc is of course completely bogus on e_li, which has
a split 20-bit signed integer field in bits 0x1f7fff, the low 11 bit
in 0x7ff, the next 5 bits in 0x1f0000, and the high 4 bits in 0x7800.
Applying an ADDR16_LO reloc to the instruction potentially changes
the e_li instruction to e_add2i., e_add2is, e_cmp16i, e_mull2i,
e_cmpl16i, e_cmph16i, e_cmphl16i, e_or2i, e_and2i., e_or2is, e_lis,
e_and2is, or some invalid encodings.
Now there is a relocation that suits e_li, R_PPC_VLE_ADDR20, which was
added 2017-09-05 but I can't see code in gas to generate the
relocation. In any case, VLE_ADDR20 probably doesn't have the correct
semantics for @l since ideally you'd want an @l to pair with @h or @ha
to generate a 32-bit constant. Thus @l should only produce a 16-bit
value, I think. So we need some more relocations to handle e_li it
seems, or as I do in this patch, modify the behaviour of existing
relocations when applied to e_li instructions.
include/
* opcode/ppc.h (E_OPCODE_MASK, E_LI_MASK, E_LI_INSN): Define.
bfd/
* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_VLE_ADDR20>): Correct
mask and shift value.
(ppc_elf_vle_split16): Use E_OPCODE_MASK. Handle e_li
specially.
gas/
* config/tc-ppc.c (md_assemble): Adjust relocs for VLE before
TLS tweaks. Handle e_li. Warn on unexpected operand field
for lo16/hi16/ha16 relocs.
commit 23ebf37881dda7fcf9dd86125705a30b6e2084ce
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Oct 16 10:49:15 2018 +0100
sim/cris: Fix references to cgen cpu directory
Don't assume that cgen is located within the binutils-gdb tree. We
already have CGEN_CPU_DIR and CPU_DIR defined, these are the cpu/
directory within cgen, and the cpu/ directory within binutils-cpu.
The cris target tries to find CPU_DIR relative to the cgen source
tree, which can be wrong when building with an out of tree cgen.
sim/cris/ChangeLog:
* Makefile.in: Replace uses of CGEN_CPU_DIR with CPU_DIR, and
remove the definition of CGEN_CPU_DIR.
commit 7fb45a689543be75809a0513900d82f5bd859338
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Oct 10 14:58:10 2018 +0100
sim/opcodes: Allow use of out of tree cgen source directory
When configuring with '--enbale-cgen-maint' the default for both the
opcodes/ and sim/ directories is to assume that the cgen source is
within the binutils-gdb source tree as binutils-gdb/cgen/.
In the old cvs days, this worked well, as cgen was just another
sub-module of the single cvs repository and could easily be checked
out within the binutils-gdb directory, and managed by cvs in the
normal way.
Now that binutils-gdb is in git, while cgen is still in cvs, placing
the cgen respository within the binutils-gdb tree is more troublesome,
and it would be nice if the two tools could be kept separate.
Luckily there is already some initial code in the configure.ac files
for both opcodes/ and sim/ to support having cgen be located outside
of the binutils-gdb tree, however, this was speculative code written
imagining a future where cgen would be built and installed to some
location.
Right now there is no install support for cgen, and so the configure
code in opcodes/ and sim/ doesn't really do anything useful. In this
commit I repurpose this code to allow binutils-gdb to be configured so
that it can make use of a cgen source directory that is outside of the
binutils-gdb tree.
With this commit applied it is now possible to configure and build
binutils-gdb like this:
/path/to/binutils-gdb/src/configure --enable-cgen-maint=/path/to/cgen/src/cgen/
make all-opcodes
make -C opcodes run-cgen-all
Just in case anyone is still using cgen inside the binutils-gdb tree,
I have left the default behaviour of '--enable-cgen-maint' (with no
parameter) unchanged, that is it looks for the cgen directory as
'binutils-gdb/cgen/'.
opcodes/ChangeLog:
* configure.ac (enable-cgen-maint): Support passing path to cgen
source tree.
* configure: Regenerate.
sim/ChangeLog:
* common/acinclude.m4 (enable-cgen-maint): Support passing path to
cgen source tree.
* cris/configure: Regenerate.
* frv/configure: Regenerate.
* iq2000/configure: Regenerate.
* lm32/configure: Regenerate.
* m32r/configure: Regenerate.
* or1k/configure: Regenerate.
* sh64/configure: Regenerate.
commit 884b49e3a91504b9c5528343823d67f4419b73bb
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Dec 3 14:46:18 2018 +0000
opcodes/riscv: Hide '.L0 ' fake symbols
The RISC-V assembler generates fake labels with the name '.L0 ' as
part of the debug information (see
gas/config/tc-riscv.h:FAKE_LABEL_NAME).
The problem is that currently, when disassembling an object file, the
output looks like this (this is an example from the GDB testsuite, but
is pretty representative of anything with debug information):
000000000000001e <main>:
1e: 7179 addi sp,sp,-48
20: f406 sd ra,40(sp)
22: f022 sd s0,32(sp)
24: 1800 addi s0,sp,48
0000000000000026 <.L0 >:
26: 87aa mv a5,a0
28: feb43023 sd a1,-32(s0)
2c: fcc43c23 sd a2,-40(s0)
30: fef42623 sw a5,-20(s0)
0000000000000034 <.L0 >:
34: fec42783 lw a5,-20(s0)
38: 0007871b sext.w a4,a5
3c: 678d lui a5,0x3
3e: 03978793 addi a5,a5,57 # 3039 <.LASF30+0x2a9d>
42: 02f71463 bne a4,a5,6a <.L0 >
0000000000000046 <.L0 >:
46: 000007b7 lui a5,0x0
4a: 0007b783 ld a5,0(a5) # 0 <need_malloc>
4e: 6f9c ld a5,24(a5)
0000000000000050 <.L0 >:
50: 86be mv a3,a5
52: 466d li a2,27
54: 4585 li a1,1
56: 000007b7 lui a5,0x0
5a: 00078513 mv a0,a5
5e: 00000097 auipc ra,0x0
62: 000080e7 jalr ra # 5e <.L0 +0xe>
0000000000000066 <.L0 >:
66: 4785 li a5,1
68: a869 j 102 <.L0 >
000000000000006a <.L0 >:
6a: 000007b7 lui a5,0x0
6e: 00078513 mv a0,a5
72: 00000097 auipc ra,0x0
76: 000080e7 jalr ra # 72 <.L0 +0x8>
The frequent repeated '.L0 ' labels are pointless, as they are
non-unique there's no way to match a use of '.L0 ' to its appearence
in the output, so we'd be better off just not printing it at all.
That's what this patch does by defining a 'symbol_is_valid' method for
RISC-V. With this commit, the same disassembly now looks like this:
000000000000001e <main>:
1e: 7179 addi sp,sp,-48
20: f406 sd ra,40(sp)
22: f022 sd s0,32(sp)
24: 1800 addi s0,sp,48
26: 87aa mv a5,a0
28: feb43023 sd a1,-32(s0)
2c: fcc43c23 sd a2,-40(s0)
30: fef42623 sw a5,-20(s0)
34: fec42783 lw a5,-20(s0)
38: 0007871b sext.w a4,a5
3c: 678d lui a5,0x3
3e: 03978793 addi a5,a5,57 # 3039 <.LASF30+0x2a9d>
42: 02f71463 bne a4,a5,6a <.L4>
46: 000007b7 lui a5,0x0
4a: 0007b783 ld a5,0(a5) # 0 <need_malloc>
4e: 6f9c ld a5,24(a5)
50: 86be mv a3,a5
52: 466d li a2,27
54: 4585 li a1,1
56: 000007b7 lui a5,0x0
5a: 00078513 mv a0,a5
5e: 00000097 auipc ra,0x0
62: 000080e7 jalr ra # 5e <main+0x40>
66: 4785 li a5,1
68: a869 j 102 <.L5>
000000000000006a <.L4>:
6a: 000007b7 lui a5,0x0
6e: 00078513 mv a0,a5
72: 00000097 auipc ra,0x0
76: 000080e7 jalr ra # 72 <.L4+0x8>
In order to share the fake label between the assembler and the
libopcodes library, I've added some new defines RISCV_FAKE_LABEL_NAME
and RISCV_FAKE_LABEL_CHAR in include/opcode/riscv.h. I could have
just moved FAKE_LABEL_NAME to the include file, however, I thnk this
would be confusing, someone working on the assembler would likely not
expect to find FAKE_LABEL_NAME defined outside of the assembler source
tree. By introducing the RISCV_FAKE_LABEL_* defines I can leave the
assembler standard FAKE_LABEL_ defines in the assembler source, but
still share the RISCV_FAKE_LABEL_* with libopcodes.
gas/ChangeLog:
* config/tc-riscv.h (FAKE_LABEL_NAME): Define as
RISCV_FAKE_LABEL_NAME.
(FAKE_LABEL_CHAR): Define as RISCV_FAKE_LABEL_CHAR.
include/ChangeLog:
* dis-asm.h (riscv_symbol_is_valid): Declare.
* opcode/riscv.h (RISCV_FAKE_LABEL_NAME): Define.
(RISCV_FAKE_LABEL_CHAR): Define.
opcodes/ChangeLog:
* disassembler.c (disassemble_init_for_target): Add RISC-V
initialisation.
* riscv-dis.c (riscv_symbol_is_valid): New function.
commit eb7be1abbc59b49e5f60b9ad075496eb619674ae
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Dec 6 00:00:31 2018 +0000
Automatic date update in version.in
commit 2861ee4fde97d0afafc506380c5deaf71c8439ac
Author: John Baldwin <jhb@FreeBSD.org>
Date: Wed Dec 5 10:51:16 2018 -0800
Use separate sed expressions to escape auto-load directories.
Not all sed implementations support alternation via \| in the default
regular expressions. Instead, resort to separate sed expressions via
-e for $debugdir and $datadir. This fixes the default setting of the
auto-load directories on FreeBSD. Previously on FreeBSD the sed
invocation was a no-op causing the debugdir and datadir values to be
expanded yielding an autoload path of ':${prefix}/share/gdb'.
gdb/ChangeLog:
* configure: Re-generate.
* configure.ac: Use separate sed expressions to escape variables
in auto-load directories.
commit 3a67e1a6b4430374f3073e51bb19347d4c421cfe
Author: Sam Tebbs <sam.tebbs@arm.com>
Date: Wed Dec 5 18:27:23 2018 +0000
[aarch64] Add support for pointer authentication B key
Armv8.3-A has another key used in pointer authentication called the
B-key (other than the A-key that is already supported). In order for
stack unwinders to work it is necessary to be able to identify frames
that have been signed with the B-key rather than the A-key and it was
felt that keeping this as an augmentation character in the CIE was the
best bet. The DWARF extensions for ARM therefore propose to add a new
augmentation character 'B' to the CIE augmentation string and the
corresponding cfi directive ".cfi_b_key_frame". I've made the relevant
changes to GAS and LD to add support for B-key unwinding, which required
modifying LD to check for 'B' in the augmentation string, adding the
".cfi_b_key_frame" directive to GAS and adding a "pauth_key" field to
GAS's fde_entry and cie_entry structs.
The pointer authentication instructions will behave as NOPs on
architectures that don't support them, and so a check for the
architecture being assembled for is not necessary since there will be no
behavioural difference between augmentation strings with and without the
'B' character on such architectures.
2018-12-05 Sam Tebbs <sam.tebbs@arm.com>
bfd/
* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Add check for 'B'.
gas/
* dw2gencfi.c (struct cie_entry): Add tc_cie_entry_extras invocation.
(alloc_fde_entry): Add tc_fde_entry_init_extra invocation.
(output_cie): Add tc_output_cie_extra invocation.
(select_cie_for_fde): Add tc_cie_fde_equivalent_extra and
tc_cie_entry_init_extra invocation.
(frch_cfi_data, cfa_save_data): Move to dwgencfi.h.
* config/tc-aarch64.c (s_aarch64_cfi_b_key_frame): Declare.
(md_pseudo_table): Add "cfi_b_key_frame".
* config/tc-aarch64.h (tc_fde_entry_extras, tc_cie_entry_extras,
tc_fde_entry_init_extra, tc_output_cie_extra,
tc_cie_fde_equivalent_extra, tc_cie_entry_init_extra): Define.
* dw2gencfi.h (struct fde_entry): Add tc_fde_entry_extras invocation.
(pointer_auth_key): Define.
(frch_cfi_data, cfa_save_data): Move from dwgencfi.c.
* doc/c-aarch64.texi (.cfi_b_key_frame): Add documentation.
* testsuite/gas/aarch64/(pac_ab_key.d, pac_ab_key.s): New file.
commit 90af06793e9d391c0aa33994f21bba6971d084f7
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Dec 3 17:48:49 2018 +0000
gdb/riscv: Improve logic for when h/w float abi should be used
Currently, if the target announces that it has floating point
registers in its target description then GDB assumes that the hardware
float ABI should be used. However, there's nothing stopping a user
compiling a program for the soft-float abi, and then trying to run
this on a target with hardware floating point registers.
This commit adjusts the logic that decides if GDB should use the
hardware float abi. The primary decision now is based on what the ELF
currently being executed says in its headers. If the file was
compiled for h/w float abi, then GDB uses h/w float abi, otherwise s/w
float is used.
If the current BFD is not an ELF then we don't currently have a
mechanism for figuring out if the file was compiled for float or not.
In this case we disable the h/w float abi. This shouldn't be a
problem as, right now, the RISC-V linker can only produce ELFs.
If there is NO current BFD (can this happen?) then we will enable h/w
float abi if the target has floating point hardware, otherwise, s/w
float abi is used.
This commit also adds some sanity checking that the features requested
in the BFD (xlen and flen) match the target description.
For testing I ran the testsuite on a target that returns a target
description containing both integer and floating point registers, but
used a compiler that didn't have floating point support. Before this
commit I would see failures on may tests that made inferior calls
using floating point arguments, after this commit, all of these issues
are resolved. One example from the testsuite is
gdb.base/infcall-nested-structs.exp.
gdb/ChangeLog:
* riscv-tdep.c (riscv_features_from_gdbarch_info): New function.
(riscv_find_default_target_description): Use new function to
extract feature from gdbarch_info.
(riscv_gdbarch_init): Add error checks for xlen and flen between
target description and bfd headers. Be smarter about when we
think the hardware floating point abi should be used.
commit 13f2ed32e14311bdcdb9d6efe263486d5d128cfd
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Dec 4 11:29:47 2018 +0000
gdb/testsuite/sim: Remove redundant setting of timeout
In the config/sim.exp file two functions are defined. Both of these
functions define local timeout variables and then call gdb_expect,
which (through a call to get_largest_timeout) will find the local
definition of timeout.
However, both of these functions set the local timeout to some
arbitrary value and print a log message for this "new" timeout just
before returning.
As in both cases, the timeout is a local variable, this final setting
of the timeout has no effect and can be removed.
As having log messages about the timeout being adjusted could cause
confusion I've removed all logging related to timeouts in this
function, timeouts are adjusted throughout the testsuite without any
logging, there doesn't seem to be any good reason why these functions
should get their own logging.
With the logging gone there seems to be little need to a local timeout
variable at all, and so I've folded the local timeout directly into
the call to gdb_expect.
gdb/testsuite/ChangeLog:
* config/sim.exp (gdb_target_sim): Remove redundant adjustment of
local timeout variable before return, and remove all local timeout
variable entirely.
(gdb_load): Likewise.
commit 754e31689866524049b9cfc68053ed4e1293cfac
Author: Alan Hayward <alan.hayward@arm.com>
Date: Wed Dec 5 10:34:54 2018 +0000
AArch64: Racy: Don't set empty set of hardware BPs/WPs on new thread
On some heavily loaded AArch64 boxes, GDB will sometimes hang forever when
the inferior creates a thread. This hang happens inside the kernel during
the ptrace call to set hardware watchpoints or hardware breakpoints.
Currently, GDB will always set hw wp/bp at the start of each thread even if
there are none set in the process.
This patch works around the issue by avoiding setting hw wp/bp if there
are none set for the process.
On an effected machine, this fix drastically reduces the racy nature of the
gdb.threads test set. I ran the entire gdb test suite across all processors
for 100 iterations, then ran the results through the racy tests script.
Without the patch, 58 .exp files in gdb.threads were marked as racy. After
the patch this reduced to the same ~14 tests as the non effected boxes.
Clearly GDB will still be subject to hangs on an effect box if hw wp/bp's are
used prior to creating inferior threads on a heavily loaded system.
To enable this in gdbserver, the sequence in gdbserver add_lwp() is switched
to the same as gdb order as gdb, to ensure the thread is registered before
calling new_thread(). This allows aarch64_linux_new_thread() to read the
ptid.
gdb/ChangeLog:
* nat/aarch64-linux-hw-point.c
(aarch64_linux_any_set_debug_regs_state): New function.
* nat/aarch64-linux-hw-point.h
(aarch64_linux_any_set_debug_regs_state): New declaration.
* nat/aarch64-linux.c (aarch64_linux_new_thread): Check if any
BPs or WPs are set.
gdb/gdbserver/ChangeLog:
* linux-low.c (add_lwp): Switch ordering.
commit 9af7cc783aebb975a487747e530030b47beeca09
Author: Alan Modra <amodra@gmail.com>
Date: Wed Dec 5 12:19:34 2018 +1030
gold won't build with gcc-9
* symtab.h (Symbol::Symbol): Avoid -Wclass-memaccess warning.
commit 706adc34932232926678abf9fe8bd530492d9e5a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Dec 5 00:00:40 2018 +0000
Automatic date update in version.in
commit fde51dd189a1f8a63896bcb845ef36ea5e1917d5
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Dec 4 06:00:57 2018 -0800
x86: Don't remove empty GNU_PROPERTY_X86_UINT32_OR_AND properties
For GNU_PROPERTY_X86_COMPAT_ISA_1_USED and GNU_PROPERTY_X86_UINT32_OR_AND
properties, a bit in the output pr_data field is set if it is set in any
relocatable input pr_data fields and this property is present in all
relocatable input files. A missing property implies that its bits have
unknown values. When all bits in the the output pr_data field are zero,
this property should not be removed from output to indicate it has zero
in all bits.
bfd/
PR ld/23372
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Don't remove
empty properties for GNU_PROPERTY_X86_COMPAT_ISA_1_USED and
GNU_PROPERTY_X86_UINT32_OR_AND.
(_bfd_x86_elf_link_fixup_gnu_properties): Likewise.
ld/
PR ld/23372
* testsuite/ld-i386/pr23372a.d: Updated.
* testsuite/ld-i386/pr23372c.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.
commit f4238194a211a6a27598a7fdf9ad63f9b5d6fbaa
Author: Alexey Neyman <stilor@att.net>
Date: Mon Dec 3 23:50:48 2018 -0800
Restore build on x86_64-w64-mingw32.
gold/
PR gold/23594
* configure.ac: Add checks for link, mkdtemp.
* configure: Regenerate.
* config.in: Regenerate.
* plugin.cc (Plugin_recorder::init): Fall back to mktemp
if mkdtemp is not available.
(link_or_copy_file): Fall back to copy if link() is not available.
commit 314a80c41d52737c9cfdc80dc2f6f56e0d5cfd96
Author: wu.heng <wu.heng@zte.com.cn>
Date: Mon Dec 3 12:32:13 2018 +1030
PR23939, Check frch_cfi_data before use
PR 23939
* dw2gencfi.c (dot_cfi_label): Check frch_cfi_data is non-NULL
before use.
commit b90514cfb5e1f9dcc2c0b89e22b65dd6c7879564
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Dec 4 00:00:27 2018 +0000
Automatic date update in version.in
commit 1080bf78c05b220f5f4bbc5c50d6a0ef6490d738
Author: Jim Wilson <jimw@sifive.com>
Date: Mon Dec 3 13:59:44 2018 -0800
RISC-V: Accept version, supervisor ext and more than one NSE for -march.
This patch moves all -march parsing logic into bfd, because we will use this
code in ELF attributes.
bfd/
* elfxx-riscv.h (RISCV_DONT_CARE_VERSION): New macro.
(struct riscv_subset_t): New structure.
(riscv_subset_t): New typedef.
(riscv_subset_list_t): New structure.
(riscv_release_subset_list): New prototype.
(riscv_add_subset): Likewise.
(riscv_lookup_subset): Likewise.
(riscv_lookup_subset_version): Likewise.
(riscv_release_subset_list): Likewise.
* elfxx-riscv.c: Include safe-ctype.h.
(riscv_parsing_subset_version): New function.
(riscv_supported_std_ext): Likewise.
(riscv_parse_std_ext): Likewise.
(riscv_parse_sv_or_non_std_ext): Likewise.
(riscv_parse_subset): Likewise.
(riscv_add_subset): Likewise.
(riscv_lookup_subset): Likewise.
(riscv_lookup_subset_version): Likewise.
(riscv_release_subset_list): Likewise.
gas/
* config/tc-riscv.c: Include elfxx-riscv.h.
(struct riscv_subset): Removed.
(riscv_subsets): Change type to riscv_subset_list_t.
(riscv_subset_supports): Removed argument: xlen_required and move
logic into libbfd.
(riscv_multi_subset_supports): Removed argument: xlen_required.
(riscv_clear_subsets): Removed.
(riscv_add_subset): Ditto.
(riscv_set_arch): Extract parsing logic into libbfd.
(riscv_ip): Update argument for riscv_multi_subset_supports and
riscv_subset_supports. Update riscv_subsets due to struct definition
changed.
(riscv_after_parse_args): Update riscv_subsets due to struct
definition changed, update and argument for riscv_subset_supports.
* testsuite/gas/riscv/empty.s: New.
* testsuite/gas/riscv/march-fail-rv32ef.d: Likewise.
* testsuite/gas/riscv/march-fail-rv32ef.l: Likewise.
* testsuite/gas/riscv/march-fail-rv32i.d: Likewise.
* testsuite/gas/riscv/march-fail-rv32i.l: Likewise.
* testsuite/gas/riscv/march-fail-rv32iam.d: Likewise.
* testsuite/gas/riscv/march-fail-rv32iam.l: Likewise.
* testsuite/gas/riscv/march-fail-rv32ic.d: Likewise.
* testsuite/gas/riscv/march-fail-rv32ic.l: Likewise.
* testsuite/gas/riscv/march-fail-rv32icx2p.d: Likewise.
* testsuite/gas/riscv/march-fail-rv32icx2p.l: Likewise.
* testsuite/gas/riscv/march-fail-rv32imc.d: Likewise.
* testsuite/gas/riscv/march-fail-rv32imc.l: Likewise.
* testsuite/gas/riscv/march-fail-rv64I.d: Likewise.
* testsuite/gas/riscv/march-fail-rv64I.l: Likewise.
* testsuite/gas/riscv/march-fail-rv64e.d: Likewise.
* testsuite/gas/riscv/march-fail-rv64e.l: Likewise.
* testsuite/gas/riscv/march-ok-g2.d: Likewise.
* testsuite/gas/riscv/march-ok-g2p0.d: Likewise.
* testsuite/gas/riscv/march-ok-i2p0.d: Likewise.
* testsuite/gas/riscv/march-ok-nse-with-version.: Likewise.d
* testsuite/gas/riscv/march-ok-s-with-version.d: Likewise.
* testsuite/gas/riscv/march-ok-s.d: Likewise.
* testsuite/gas/riscv/march-ok-sx.d: Likewise.
* testsuite/gas/riscv/march-ok-two-nse.d: Likewise.
* testsuite/gas/riscv/march-ok-g2_p1.d: Likewise.
* testsuite/gas/riscv/march-ok-i2p0m2_a2f2.d: Likewise.
include/
* opcode/riscv.h (riscv_opcode): Change type of xlen_requirement to
unsigned.
opcodes/
* riscv-opc.c: Change the type of xlen, because type of
xlen_requirement changed.
commit 57b64c4103ffeadd524eb80b4a7d61be8c8ec871
Author: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
Date: Mon Dec 3 17:31:44 2018 +0000
[aarch64] - Only use MOV for disassembly when shifter op is LSL #0
ARM Architecture Reference Manual for the profile ARMv8-A, Issue C.a,
states that MOV (register) is an alias of the ORR (shifted register)
iff shift == '00' && imm6 == '000000' && Rn == '11111'. However, mov
is currently preferred for a broader range of orr instructions, which
is incorrect.
2018-12-03 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
opcodes:
PR 23193
PR 19721
* aarch64-tbl.h (aarch64_opcode_table): Only disassemble an ORR
encoding as MOV if the shift operation is a left shift of zero.
gas:
PR 23193
PR 19721
* testsuite/gas/aarch64/pr19721.s: Add new test cases.
* testsuite/gas/aarch64/pr19721.d: Correct existing test
cases and add new ones.
commit 8acbe8ffa02f62eb9371b8626576f83fcd6989af
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Dec 3 17:26:41 2018 +0000
Update the assembler to use a version of 3 when generating the header of the .debug_line section.
PR 23941
gas * dwarf2dbg.c (DWARF2_LINE_VERSION): Change to 3.
* testsuite/gas/elf/dwarf2-3.d: Update expected output.
* testsuite/gas/elf/dwarf2-5.d: Likewise.
* testsuite/gas/i386/debug1.d: Likewise.
* testsuite/gas/i386/dw2-compress-1.d: Likewise.
* testsuite/gas/i386/dw2-compress-3a.d: Likewise.
* testsuite/gas/i386/dw2-compress-3b.d: Likewise.
* testsuite/gas/i386/dw2-compressed-1.d: Likewise.
* testsuite/gas/i386/dw2-compressed-3a.d: Likewise.
* testsuite/gas/i386/dw2-compressed-3b.d: Likewise.
* testsuite/gas/ia64/pr13167.d: Likewise.
* testsuite/gas/mips/loc-swap-2.d: Likewise.
* testsuite/gas/mips/loc-swap.d: Likewise.
* testsuite/gas/mips/micromips@loc-swap-2.d: Likewise.
* testsuite/gas/mips/micromips@loc-swap.d: Likewise.
* testsuite/gas/mips/mips16@loc-swap-2.d: Likewise.
* testsuite/gas/mips/mips16@loc-swap.d: Likewise.
* testsuite/gas/mips/mips16e@loc-swap.d: Likewise.
binutils* testsuite/binutils-all/i386/compressed-1a.d: Update expected output.
* testsuite/binutils-all/x86-64/compressed-1a.d: Likewise.
commit b570a287cfb5715bdfcbd9e437a4f4fb9b94c9d4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Dec 3 00:00:31 2018 +0000
Automatic date update in version.in
commit 5f6c22aee74f17393b82934a5682d985672e011a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Dec 2 05:42:36 2018 -0800
gold: Get alignment of uncompressed section from ch_addralign
The ELF compression header has a field (ch_addralign) that is set to
the alignment of the uncompressed section. This way the section itself
can have a different alignment than the decompressed section. Update
decompress_input_section to get alignment of the decompressed section
and use it when merging decompressed strings.
PR binutils/23919
* merge.cc (Output_merge_string<Char_type>::do_add_input_section):
Get addralign from decompressed_section_contents.
* object.cc (build_compressed_section_map): Set info.addralign.
(Object::decompressed_section_contents): Add a palign
argument and store p->second.addralign in *palign if it isn't
NULL.
* object.h (Compressed_section_info): Add addralign.
(section_is_compressed): Add a palign argument, default it
to NULL, store p->second.addralign in *palign if it isn't NULL.
(Object::decompressed_section_contents): Likewise.
* output.cc (Output_section::add_input_section): Get addralign
from section_is_compressed.
commit 3134061ce6e33ade4cc65a36578b94983228815e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Dec 2 00:01:21 2018 +0000
Automatic date update in version.in
commit b44ee3a8cf21294eeb079ffbada7eeb559a9c6b4
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Dec 1 05:42:33 2018 -0800
x86: Delay setting the iplt section alignment
Delay setting its alignment until we know it is non-empty. Otherwise an
empty iplt section may change vma and lma of the following sections, which
triggers moving dot of the following section backwards, resulting in a
warning and section lma not being set properly. It later leads to a
"File truncated" error.
bfd/
PR ld/23930
* elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Update
the iplt section alignment if it is non-empty.
(_bfd_x86_elf_link_setup_gnu_properties): Set plt.iplt_alignment
and delay setting the iplt section alignment.
* elfxx-x86.h (elf_x86_plt_layout): Add iplt_alignment.
ld/
PR ld/23930
* testsuite/ld-i386/i386.exp: Run pr23930.
* testsuite/ld-i386/pr23930.d: New file.
* testsuite/ld-x86-64/pr23930-32.t: Likewise.
* testsuite/ld-x86-64/pr23930-x32.d: Likewise.
* testsuite/ld-x86-64/pr23930.d: Likewise.
* testsuite/ld-x86-64/pr23930.t: Likewise.
* testsuite/ld-x86-64/pr23930a.s: Likewise.
* testsuite/ld-x86-64/pr23930b.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run pr23930 and pr23930-x32.
commit 4770fb94ee04ef767cb2c171a24168d2b5acca04
Author: Alan Modra <amodra@gmail.com>
Date: Sat Dec 1 21:52:37 2018 +1030
PR23946, illegal memory access in readelf.c:slurp_ia64_unwind_table
PR 23946
* readelf.c (slurp_ia64_unwind_table): Bounds check symbol index
on reloc.
(slurp_hppa_unwind_table): Likewise.
commit 726bd37d6c5d5013d34023044ed7cbbb01317978
Author: Alan Modra <amodra@gmail.com>
Date: Sat Dec 1 21:15:03 2018 +1030
PR23945, NULL pointer dereference in readelf.c:slurp_hppa_unwind_table
PR 23945
* readelf.c (slurp_ia64_unwind_table): Don't call elf_ia64_reloc_type
needlessly.
(slurp_hppa_unwind_table): Use same range checks and error messages
as slurp_ia64_unwind_table.
commit 64d27cfc97f5b865019f0b7293ff2b9565db427c
Author: Tom de Vries <tdevries@suse.de>
Date: Sat Dec 1 08:56:56 2018 +0100
[gdb/testsuite] Add gdb-caching-proc.exp testcase
When caching a proc using gdb_caching_proc, it will become less likely to
be executed, and consequently it's going to be harder to detect that the
proc is racy. OTOH, in general the proc is easy to rerun. So, add a
test-case to run all uncached gdb_caching_procs a number of times and detect
inconsistent results.
The purpose of caching is to reduce runtime, so rerunning is somewhat
counter-productive in that aspect, but it's better than uncached, because the
number of reruns is constant-bounded, and the increase in runtime is bound to
this test-case, and can be disabled on slow targets.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2018-12-01 Tom de Vries <tdevries@suse.de>
* gdb.base/gdb-caching-proc.exp: New file.
commit 0acc7632bb09cce832a1b3756d31cc3fa93a724a
Author: Alan Modra <amodra@gmail.com>
Date: Sat Dec 1 09:37:48 2018 +1030
PR23938, should not free memory alloced in obstack by free()
This removes ineffectual and wrong code caching section names in
gas/stabs.c. Code like
seg = subseg_new (name, 0);
...
if (seg->name == name)
seg->name = xstrdup (name);
with the idea of being able to unconditionally free "name" later no
longer works. "name" is referenced by the section hash table as well
as in the section->name field. It would be possible to use
"bfd_rename_section (stdoutput, seg, xstrdup (name))", but instead I
opted for a fairly straight-forward approach of adding extra
parameters to two functions to indicate section name strings should be
freed if possible.
PR 23938
* read.h (get_stab_string_offset): Update prototype.
* stabs.c (get_stab_string_offset): Add free_stabstr_secname
parameter. Free stabstr_secname if unused as section name.
Don't xstrdup name when used.
(s_stab_generic): Remove forward declaration. Add
stab_secname_obstack_end param. Reference notes obstack via
macros. Delete cached_secname. Adjust get_stab_string_offset
call. Free stab_secname if unused as section name.
(s_stab): Adjust s_stab_generic call.
(s_xstab): Likewise. Delete saved_secname and saved_strsecname.
* config/obj-elf.c (obj_elf_init_stab_section): Adjust
get_stab_string_offset call.
* config/obj-coff.c (obj_coff_init_stab_section): Likewise.
* config/obj-som.c (obj_som_init_stab_section): Likewise.
* testsuite/gas/all/pr23938.s: New test.
* testsuite/gas/all/gas.exp: Run it.
commit 35d1b0784a27fcd71daf1b058423010c9001f039
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Dec 1 00:00:23 2018 +0000
Automatic date update in version.in
commit 93579f6f908fa6010b141fd5da2974d878869c80
Author: John Baldwin <jhb@FreeBSD.org>
Date: Fri Nov 30 15:14:18 2018 -0800
Use kinfo_getfile to implement fdwalk on FreeBSD.
kinfo_getfile() requires a couple of system calls to fetch the list of
open file descriptors. This can be much cheaper than invoking fstat
on all of the values from 0 to the open file resource limit maximum.
gdb/ChangeLog:
* common/filestuff.c [HAVE_KINFO_GETFILE]: Include headers.
(fdwalk) [HAVE_KINFO_GETFILE]: Use kinfo_getfile.
commit 4717cec4fe4cb3a086fb13161603112e8ded787e
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Fri Nov 30 16:49:35 2018 -0500
Fix leak in linespec parser
Valgrind reports this leak:
==798== VALGRIND_GDB_ERROR_BEGIN
==798== 32 (24 direct, 8 indirect) bytes in 1 blocks are definitely lost in loss record 447 of 3,143
==798== at 0x4C2C48C: operator new(unsigned long) (vg_replace_malloc.c:334)
==798== by 0x51D401: linespec_parser_new(ls_parser*, int, language_defn const*, program_space*, symtab*, int, linespec_result*) (linespec.c:2756)
==798== by 0x524BF7: decode_line_full(event_location const*, int, program_space*, symtab*, int, linespec_result*, char const*, char const*) (linespec.c:3271)
==798== by 0x3E8893: parse_breakpoint_sals(event_location const*, linespec_result*) (breakpoint.c:9067)
==798== by 0x3E4E7F: create_breakpoint(gdbarch*, event_location const*, char const*, int, char const*, int, int, bptype, int, auto_boolean, breakpoint_ops const*, int, int, int, unsigned int) (breakpoint.c:9248)
==798== by 0x3E55F5: break_command_1(char const*, int, int) (breakpoint.c:9434)
==798== by 0x40BA68: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1888)
==798== by 0x665300: execute_command(char const*, int) (top.c:630)
...
linespec_parser_new allocates a std::vector<symtab *> at line 2756, and stores
the pointer to this vector in PARSER_RESULT (parser)->file_symtabs. At 3
different places in linespec.c, another std::vector is assigned to a
linespec->file_symtabs, without first deleting the current value.
The leak is fixed by assigning the vector itself instead of the pointer.
Everything should be moved, so there is no significant data copy
involved.
Tested on debian/amd64, + a bunch of tests re-run under valgrind
(including the test that throws an error).
gdb/ChangeLog:
* linespec.c (symtab_vector_up): Remove.
(symtabs_from_filename): Change return type to std::vector.
(collect_symtabs_from_filename): Likewise.
(create_sals_line_offset): Assign return value of
collect_symtabs_from_filename to *ls->file_symtabs.
(convert_explicit_location_to_linespec): Remove call to release.
(parse_linespec): Likewise.
(symtab_collector) <symtab_collector>: Remove initialization of
m_symtabs.
<release_symtabs>: Change return type to std::vector<symtab *>.
<operator ()>: Adjust.
commit f8eb6a9e8986c6428de629b5538e431e1c04caf1
Author: John Baldwin <jhb@FreeBSD.org>
Date: Fri Nov 30 13:21:19 2018 -0800
Update the conditionals in fbsd-nat.h so they are always honored.
Not all of the architecture-specific FreeBSD target files were
including the right headers to enable conditionals in fbsd-nat.h after
the C++ target conversion. As a result, certain operations like 'info
auxv' and 'p $_siginfo' were not working for some native targets
(noticed on RISC-V). Fix this in a couple of ways:
1) Declare fbsd_nat_target::xfer_partial unconditionally and only use
conditionals in the function body for individual target objects.
Originally this function was only used to read the ELF auxiliary
vector, so the entire function was conditional on a macro required
for that object (KERN_AUXV_PROC). However, xfer_partial has since
grown support for additional objects. Making the function
unconditional avoids needing to add the right header to fbsd-nat.h
and allows each target object to use independent requirements.
This did require using a more explicit conditional test for the
$_siginfo support. Removing the "outer" KERN_PROC_AUXV test
enabled $_siginfo for all kernels with PT_LWPINFO, but some older
kernels (FreeBSD 6.0) exposed PT_LWPINFO with a different siginfo
format. Instead use an explicit test for when the current siginfo
format was adopted (shipped in FreeBSD 7.0). This actually enables
$_siginfo on a wider range of kernels as KERN_PROC_AUXV wasn't
introduced until FreeBSD 9.1/10.0.
2) Include <sys/proc.h> in fbsd-nat.h for the definition of
TDP_RFPPWAIT that governs support for fork following.
gdb/ChangeLog:
* fbsd-nat.c [__FreeBSD_version >= 700009] (USE_SIGINFO): Macro
defined.
(union sigval32, struct siginfo32, fbsd_siginfo_size)
(fbsd_convert_siginfo): Make conditional on USE_SIGINFO instead
of KERN_PROC_AUXV and PT_LWPINFO.
(fbsd_nat_target::xfer_partial): Define method unconditionally.
Make TARGET_OBJECT_SIGNAL_INFO conditional on USE_SIGINFO.
Make TARGET_OBJECT_AUXV conditional on KERN_PROC_AUXV.
Make TARGET_OBJECT_FREEBSD_VMMAP and
TARGET_OBJECT_FREEBSD_PS_STRINGS conditional on KERN_PROC_VMMAP
and KERN_PROC_PS_STRINGS.
* fbsd-nat.h: Include <sys/proc.h>.
(fbsd_nat_target::xfer_partial): Declare method unconditionally.
commit 27c634e0ed18f769fb92d03fb75ea491fb6656ec
Author: Fredrik Noring <noring@nocrew.org>
Date: Fri Nov 30 18:32:36 2018 +0000
GAS/MIPS: Add `-mfix-r5900' option for the R5900 short loop erratum
`-march=r5900' already enables the R5900 short loop workaround.
However, the R5900 ISA and most other MIPS ISAs are mutually
exclusive since R5900-specific instructions are generated as well.
The `-mfix-r5900' option can be used in combination with e.g.
`-mips2' or `-mips3' to generate generic MIPS binaries that also
work with the R5900 target.
This change has been tested with `make RUNTESTFLAGS=mips.exp
check-gas' for the targets `mipsr5900el-unknown-linux-gnu',
`mipsr5900el-elf' and `mips3-unknown-linux-gnu'.
gas/
* config/tc-mips.c (mips_fix_r5900, mips_fix_r5900_explicit):
New variables.
(options): Add OPTION_FIX_R5900 and OPTION_NO_FIX_R5900
enumeration constants.
(md_longopts): Add "mfix-r5900" and "mno-fix-r5900" options.
(can_swap_branch_p, md_parse_option, mips_after_parse_args):
Handle the new options.
(md_show_usage): Document the `-mfix-r5900' option.
* doc/as.texi: Likewise.
* doc/c-mips.texi: Likewise.
* testsuite/gas/mips/mips.exp: Run R5900 dump tests.
* testsuite/gas/mips/r5900-fix.d: Test `-mfix-r5900' option.
* testsuite/gas/mips/r5900-fix.s: Likewise.
* testsuite/gas/mips/r5900-no-fix.d: Test `-mno-fix-r5900'.
* testsuite/gas/mips/r5900-no-fix.s: Likewise.
commit 92528b6772a19dd671b52d954c14886b11fc0a8d
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Wed Nov 28 22:42:27 2018 +0000
gdb/riscv: Add read_description method for riscv_linux_nat_target
Adds riscv_linux_nat_target::read_description method to find a
suitable target description for the native linux target we are running
on.
Currently this will supply a suitably sized set of x-registers, and
will probe the kernel to see if the f-registers are readable. If they
are readable then we currently assume that the f-registers are the
same size as the x-registers as I don't know of a good way to probe
the f-register length. This will obviously need fixing in future.
As of Linux 4.19 there is no ptrace support for reading the
f-registers, this should appear in 4.20, so right now we only return
target descriptions without f-registers.
gdb/ChangeLog:
* riscv-linux-nat.c: Add 'inferior.h' and 'target-descriptions.h'
header files.
(riscv_linux_nat_target::read_description): New method.
commit 634494366c515a89c4747d8a68a8da9218bb4969
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Nov 29 15:51:58 2018 +0000
gdb/riscv: Create each unique target description only once
GDB relies on the fact that if two target descriptions have the same
contents, then they will be the same object instance (having the same
address). One place where this is a requirement is in
GDBARCH_LIST_LOOKUP_BY_INFO which is used to find previously created
gdbarch objects.
In GDBARCH_LIST_LOOKUP_BY_INFO a pointer comparison is made on the
gdbarch's target description, if the pointers are different then it is
assumed the gdbarches have different, non-compatible target
descriptions.
Previously we would create duplicate target descriptions in the belief
that RISCV_GDBARCH_INIT would spot this duplication and discard the
second instance. However, this was incorrect, and instead we ended up
creating duplicate gdbarch objects.
With this commit every unique feature set will create one and only one
target description, the feature set and resulting target description
is then cached so that the same target description object can be
returned later.
Many other target avoid this problem by creating a small number of
named target descriptions, and returning one of these. However, we
currently have 8 possible target descriptions (32 vs 64 bit for x-reg
and f-reg, and h/w or s/w float abi) and creating each of these just
to avoid a dynamic cache seems pointless.
gdb/ChangeLog:
* arch/riscv.h (riscv_gdbarch_features::hash): New method.
* arch/riscv.c (struct riscv_gdbarch_features_hasher): New.
(riscv_tdesc_cache): New global.
(riscv_create_target_description): Look in the cache before
creating a new target description.
commit 65a4b373267813ae5e47ac519da2e70d9c7e09d3
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Nov 29 15:07:59 2018 +0000
gdb/riscv: Add equality operators to riscv_gdb_features
Add '==' and '!=' operators for the struct riscv_gdb_features,
allowing a small simplification.
gdb/ChangeLog:
* arch/riscv.h (riscv_gdb_features::operator==): New.
(riscv_gdb_features::operator!=): New.
* riscv-tdep.c (riscv_gdbarch_init): Make use of the inequality
operator.
commit 0ff80bf7b9901b5e3c6805b99d30fd555f512d69
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Thu Nov 29 15:38:29 2018 +0000
gdb/riscv: Make some target description functions constant
Makes more of the interface related to fetching target descriptions
constant.
gdb/ChangeLog:
* arch/riscv.h (riscv_create_target_description): Make return type
const.
* arch/riscv.c (riscv_create_target_description): Likewise.
* riscv-tdep.c (riscv_find_default_target_description): Likewise.
commit 81fbbaf96216ed88973a069e4ed25379d7421ec8
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Wed Nov 28 17:22:08 2018 -0500
Fix dwarf2read.c:dwarf2_find_containing_comp_unit's binary search
First of all, I would like to express my gratitude to Keith Seitz, Jan
Kratochvil and Tom Tromey, who were really kind and helped a lot with
this bug. The patch itself was authored by Jan.
This all began with:
https://bugzilla.redhat.com/show_bug.cgi?id=1639242
py-bt is broken, results in exception
In summary, the error reported by the bug above is:
$ gdb -args python3
GNU gdb (GDB) Fedora 8.1.1-3.fc28
(...)
Reading symbols from python3...Reading symbols from /usr/lib/debug/usr/bin/python3.6-3.6.6-1.fc28.x86_64.debug...done.
done.
Dwarf Error: could not find partial DIE containing offset 0x316 [in module /usr/lib/debug/usr/bin/python3.6-3.6.6-1.fc28.x86_64.debug]
After a long investigation, and after thinking that the problem might
actually be on DWZ's side, we were able to determine that there's
something wrong going on when
dwarf2read.c:dwarf2_find_containing_comp_unit performs a binary search
over all of the CUs belonging to an objfile in order to find the CU
which contains a DIE at an specific offset. The current algorithm is:
static struct dwarf2_per_cu_data *
dwarf2_find_containing_comp_unit (sect_offset sect_off,
unsigned int offset_in_dwz,
struct dwarf2_per_objfile *dwarf2_per_objfile)
{
struct dwarf2_per_cu_data *this_cu;
int low, high;
const sect_offset *cu_off;
low = 0;
high = dwarf2_per_objfile->all_comp_units.size () - 1;
while (high > low)
{
struct dwarf2_per_cu_data *mid_cu;
int mid = low + (high - low) / 2;
mid_cu = dwarf2_per_objfile->all_comp_units[mid];
cu_off = &mid_cu->sect_off;
if (mid_cu->is_dwz > offset_in_dwz
|| (mid_cu->is_dwz == offset_in_dwz && *cu_off >= sect_off))
high = mid;
else
low = mid + 1;
}
For the sake of this example, let's consider that "sect_off =
0x7d".
There are a few important things going on here. First,
"dwarf2_per_objfile->all_comp_units ()" will be sorted first by
whether the CU is a DWZ CU, and then by cu->sect_off. In this
specific bug, "offset_in_dwz" is false, which means that, for the most
part of the loop, we're going to do "high = mid" (i.e, we'll work with
the lower part of the vector).
In our particular case, when we reach the part where "mid_cu->is_dwz
== offset_in_dwz" (i.e, both are false), we end up with "high = 2" and
"mid = 1". I.e., there are only 2 elements in the vector who are not
DWZ. The vector looks like this:
#0: cu->sect_off = 0; length = 114; is_dwz = false <-- low
#1: cu->sect_off = 114; length = 7796; is_dwz = false <-- mid
#2: cu->sect_off = 0; length = 28; is_dwz = true <-- high
...
The CU we want is #1, which is exactly where "mid" is. Also, #1 is
not DWZ, which is also exactly what we want. So we perform the second
comparison:
(mid_cu->is_dwz == offset_in_dwz && *cu_off >= sect_off)
^^^^^^^^^^^^^^^^^^^
Because "*cu_off = 114" and "sect_off = 0x7d", this evaluates to
false, so we end up with "low = mid + 1 = 2", which actually gives us
the wrong CU (i.e., a CU that is DWZ). Next in the code, GDB does:
gdb_assert (low == high);
this_cu = dwarf2_per_objfile->all_comp_units[low];
cu_off = &this_cu->sect_off;
if (this_cu->is_dwz != offset_in_dwz || *cu_off > sect_off)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
{
if (low == 0 || this_cu->is_dwz != offset_in_dwz)
error (_("Dwarf Error: could not find partial DIE containing "
"offset %s [in module %s]"),
sect_offset_str (sect_off),
bfd_get_filename (dwarf2_per_objfile->objfile->obfd));
...
Triggering the error we saw in the original bug report.
It's important to notice that we see the error message because the
selected CU is a DWZ one, but we're looking for a non-DWZ CU here.
However, even when the selected CU is *not* a DWZ (and we don't see
any error message), we still end up with the wrong CU. For example,
suppose that the vector had:
#0: cu->sect_off = 0; length = 114; is_dwz = false
#1: cu->sect_off = 114; length = 7796; is_dwz = false
#2: cu->sect_off = 7910; length = 28; is_dwz = false
...
I.e., #2's "is_dwz" is false instead of true. In this case, we still
want #1, because that's where the DIE is located. After the loop ends
up in #2, we have "is_dwz" as false, which is what we wanted, so we
compare offsets. In this case, "7910 >= 0x7d", so we set "mid = high
= 2". Next iteration, we have "mid = 0 + (2 - 0) / 2 = 1", and thus
we examining #1. "is_dwz" is still false, but "114 >= 0x7d" also
evaluates to false, so "low = mid + 1 = 2", which makes the loop stop.
Therefore, we end up choosing #2 as our CU, even though #1 is the
right one.
The problem here is happening because we're comparing "sect_off"
directly against "*cu_off", while we should actually be comparing
against "*cu_off + mid_cu->length" (i.e., the end offset):
...
|| (mid_cu->is_dwz == offset_in_dwz
&& *cu_off + mid_cu->length >= sect_off))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
And this is what the patch does. The idea is that if GDB is searching
for an offset that falls above the *end* of the CU being
analyzed (i.e., "mid"), then the next iteration should try a
higher-offset CU next. The previous algorithm was using
the *beginning* of the CU.
Unfortunately, I could not devise a testcase for this problem, so I am
proposing a fix with this huge explanation attached to it in the hope
that it is sufficient. After talking a bit to Keith (our testcase
guru), it seems that one would have to create an objfile with both DWZ
and non-DWZ sections, which may prove very hard to do, I think.
I ran this patch on our BuildBot, and no regressions were detected.
gdb/ChangeLog:
2018-11-30 Jan Kratochvil <jan.kratochvil@redhat.com>
Keith Seitz <keiths@redhat.com>
Tom Tromey <tom@tromey.com>
Sergio Durigan Junior <sergiodj@redhat.com>
https://bugzilla.redhat.com/show_bug.cgi?id=1613614
* dwarf2read.c (dwarf2_find_containing_comp_unit): Add
'mid_cu->length' to '*cu_off' when checking if 'sect_off' is
inside the CU.
commit 66b4deae03e7a503f8c543aa198a8c010863135a
Author: Pedro Alves <palves@redhat.com>
Date: Fri Nov 30 17:49:49 2018 +0000
target_ops::to_stratum -> target_ops::stratum() virtual method
Given that a target's stratum is a property of the type, and not of an
instance of the type, get rid of to_stratum data field and replace it
with a virtual method.
I.e., when we have e.g., 10 target remote instances active, there's no
need for each of the instances to have their own to_stratum copy.
gdb/ChangeLog:
2018-11-30 Pedro Alves <palves@redhat.com>
* aix-thread.c (aix_thread_target) <aix_thread_target>: Delete.
<stratum>: New override.
* bfd-target.c (aix_thread_target) <aix_thread_target>: Delete.
<stratum>: New override.
* bsd-uthread.c (bsd_uthread_target) <bsd_uthread_target>: Delete.
<stratum>: New override.
* exec.c (exec_target) <exec_target>: Delete.
<stratum>: New override.
* gdbarch-selftests.c (register_to_value_test): Adjust to use the
stratum method instead of the to_stratum field.
* linux-thread-db.c (thread_db_target) <thread_db_target>: Delete.
<stratum>: New override.
(thread_db_target::thread_db_target): Delete.
* make-target-delegates (print_class): Don't print a ctor
declaration. Print a stratum method override declaration.
* process-stratum-target.h (process_stratum_target)
<process_stratum_target>: Delete.
<stratum>: New override.
* ravenscar-thread.c (ravenscar_thread_target)
<ravenscar_thread_target>: Delete.
<stratum>: New override.
* record-btrace.c (record_btrace_target)
<record_btrace_target>: Delete.
<stratum>: New override.
* record-full.c (record_full_base_target)
<record_full_base_target>: Delete.
<stratum>: New override.
* record.c (record_disconnect, record_detach)
(record_mourn_inferior, record_kill): Adjust to use the stratum
method instead of the to_stratum field.
* regcache.c (cooked_read_test, cooked_write_test): Likewise.
* sol-thread.c (sol_thread_target)
<sol_thread_target>: Delete.
<stratum>: New override.
* spu-multiarch.c (spu_multiarch_target)
<spu_multiarch_target>: Delete.
<stratum>: New override.
* target-delegates.c: Regenerate.
* target.c (target_stack::push, target_stack::unpush)
(pop_all_targets_above, pop_all_targets_at_and_above)
(info_target_command, target_require_runnable)
(target_stack::find_beneath): Adjust to use the stratum method
instead of the to_stratum field.
(dummy_target::dummy_target): Delete.
(dummy_target::stratum): New.
(debug_target::debug_target): Delete.
(debug_target::stratum): New.
(maintenance_print_target_stack): Adjust to use the stratum method
instead of the to_stratum field.
* target.h (struct target_ops) <stratum>: New method.
<to_stratum>: Delete.
<is_pushed>: Adjust to use the stratum method
instead of the to_stratum field.
commit 20a71194793bfa791b9090db2d47a67388650d93
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Nov 30 17:45:07 2018 +0000
Add PR number to previous delta to the bfd/ directory.
commit f3d11a9a96465432c01678445fc2fe84f2ef94f7
Author: Pedro Alves <palves@redhat.com>
Date: Fri Nov 30 14:53:40 2018 +0000
Convert default_child_has_foo functions to process_stratum_target methods
This patch converts the default_child_has_foo functions to
process_stratum_target methods. This simplifies "regular"
non-inf_child process_stratum targets, since they no longer have to
override the target_ops::has_foo methods to call the default_child_foo
functions. A couple targets need to override the new defaults
(corelow and tracefiles), but it still seems like a good tradeoff,
since those are expected to be little different (target doesn't run).
gdb/ChangeLog:
2018-11-30 Pedro Alves <palves@redhat.com>
* corelow.c (core_target) <has_all_memory, has_execution>: New
overrides.
* inf-child.c (inf_child_target::has_all_memory)
(inf_child_target::has_memory, inf_child_target::has_stack)
(inf_child_target::has_registers)
(inf_child_target::has_execution): Delete.
* inf-child.h (inf_child_target) <has_all_memory, has_memory,
has_stack, has_registers, has_execution>: Delete.
* process-stratum-target.c
(process_stratum_target::has_all_memory)
(process_stratum_target::has_memory)
(process_stratum_target::has_stack)
(process_stratum_target::has_registers)
(process_stratum_target::has_execution): New.
* process-stratum-target.h (process_stratum_target)
<has_all_memory, has_memory, has_stack, has_registers,
has_execution>: New method overrides.
* ravenscar-thread.c (ravenscar_thread_target) <has_all_memory,
has_memory, has_stack, has_registers, has_execution>: Delete.
* remote-sim.c (gdbsim_target) <has_stack, has_registers,
has_execution>: Delete.
* remote.c (remote_target) <has_all_memory, has_memory, has_stack,
has_registers, has_execution>: Delete.
* target.c (default_child_has_all_memory)
(default_child_has_memory, default_child_has_stack)
(default_child_has_registers, default_child_has_execution):
Delete.
* target.h (default_child_has_all_memory)
(default_child_has_memory, default_child_has_stack)
(default_child_has_registers, default_child_has_execution):
Delete.
* tracefile.h (tracefile_target) <has_execution>: New override.
commit 3b3dac9b3fd916d73726c7e5508f057574f74d19
Author: Pedro Alves <palves@redhat.com>
Date: Fri Nov 30 14:53:39 2018 +0000
Introduce process_stratum_target
This adds a base class that all process_stratum targets inherit from.
default_thread_address_space/default_thread_architecture only make
sense for process_stratum targets, so they are transformed to
process_stratum_target methods/overrides.
gdb/ChangeLog:
2018-11-30 Pedro Alves <palves@redhat.com>
* Makefile.in (COMMON_SFILES): Add process-stratum-target.c.
* bsd-kvm.c: Include "process-stratum-target.h".
(bsd_kvm_target): Now inherits from process_stratum_target.
(bsd_kvm_target::bsd_kvm_target): Default it.
* corelow.c: Include "process-stratum-target.h".
(core_target): Now inherits from process_stratum_target.
(core_target::core_target): Don't set to_stratum here.
* inf-child.c (inf_child_target::inf_child_target): Delete.
* inf-child.h: Include "process-stratum-target.h".
(inf_child_target): Inherit from process_stratum_target.
(inf_child_target) <inf_child_target>: Default it.
<can_async_p, supports_non_stop, supports_disable_randomization>:
Delete overrides.
* process-stratum-target.c: New file.
* process-stratum-target.h: New file.
* remote-sim.c: Include "process-stratum-target.h".
(gdbsim_target): Inherit from process_stratum_target.
<gdbsim_target>: Default it.
* remote.c: Include "process-stratum-target.h".
(remote_target): Inherit from process_stratum_target.
<remote_target>: Default it.
* target.c (default_thread_address_space)
(default_thread_architecture): Delete.
* target.h (target_ops) <thread_architecture>: Now returns NULL by
default.
<thread_address_space>: Ditto.
* test-target.h: Include "process-stratum-target.h" instead of
"target.h".
(test_target_ops): Inherit from process_stratum_target.
<test_target_ops>: Default it.
* tracefile.c (tracefile_target::tracefile_target): Delete.
* tracefile.h: Include "process-stratum-target.h".
(tracefile_target): Inherit from process_stratum_target.
<tracefile_target>: Default it.
* target-delegates.c: Regenerate.
commit c180496d2ac268c06c13600f729d02ca4266e6ea
Author: Pedro Alves <palves@redhat.com>
Date: Fri Nov 30 14:53:38 2018 +0000
Move test_target_ops to a separate file
There's no need to have all target.h users seeing this type.
Also helps with a follow up patch.
gdb/ChangeLog:
2018-11-30 Pedro Alves <palves@redhat.com>
* Makefile.in (COMMON_SFILES): Add test-target.c.
* gdbarch-selftests.c: Include "test-target.h".
* regcache.c: Include "test-target.h".
* target.c (test_target_info, test_target_ops::info): Move to ...
* test-target.c: ... this new file.
* target.h (test_target_ops): Move to ...
* test-target.h: ... this new file.
commit 5f60af5d24d181371d67534fa273dd221df20c07
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Nov 30 11:45:33 2018 +0000
Fix a memory exhaustion bug when attempting to allocate room for an impossible number of program headers.
* elfcode.h (elf_object_p): Check for corrupt input files with
more program headers than can actually fit in the file.
commit beab453223769279cc1cef68a1622ab8978641f7
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Nov 30 11:43:12 2018 +0000
Remove an abort in the bfd library and add a check for an integer overflow when mapping sections to segments.
PR 23932
* elf.c (IS_CONTAINED_BY_LMA): Add a check for a negative section
size.
(rewrite_elf_program_header): If no sections are mapped into a
segment return an error.
commit ba85c15dabe144e4bcee5a1b388b32bee10729e1
Author: Alan Modra <amodra@gmail.com>
Date: Fri Nov 30 15:34:11 2018 +1030
PR23937, powerpc64le local ifunc IRELATIVE relocs are wrong
IFUNC resolvers must always be called via their global entry point.
They will be called from ld.so rather than from the local executable.
PR 23937
bfd/
* elf64-ppc.c (write_plt_relocs_for_local_syms): Don't add local
entry offset for ifuncs.
ld/
* testsuite/ld-powerpc/pr23937.d,
* testsuite/ld-powerpc/pr23937.s: New test.
* testsuite/ld-powerpc/powerpc.exp: Run it.
commit f746c08f26dd71fdd809bad8cb92a6cbb8336ec4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Nov 30 00:00:41 2018 +0000
Automatic date update in version.in
commit 95b1f9ac6b7de84b09580bdf2456955bcff86da1
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Wed Nov 28 00:22:29 2018 +0100
Fix leak in forward-search
Valgrind reports the below leak.
Fix the leak by using xrealloc, even for the first allocation,
as buf is static.
==29158== 5,888 bytes in 23 blocks are definitely lost in loss record 3,028 of 3,149
==29158== at 0x4C2BE2D: malloc (vg_replace_malloc.c:299)
==29158== by 0x41B557: xmalloc (common-utils.c:44)
==29158== by 0x60B7D9: forward_search_command(char const*, int) (source.c:1563)
==29158== by 0x40BA68: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1888)
==29158== by 0x665300: execute_command(char const*, int) (top.c:630)
...
gdb/ChangeLog
2018-11-29 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* source.c (forward_search_command): Fix leak by using
xrealloc even for the first allocation in the loop, as buf
is static.
commit e61667ef1413b9fba1bb9dc78744329f8215de74
Author: Rajendra SY <rajendra.sy@gmail.com>
Date: Thu Nov 29 13:26:31 2018 -0800
Implement the "gdb_signal_to/from_target" gdbarch methods for FreeBSD.
This fixes failures in the gdb.base/exitsignal.exp test.
gdb/ChangeLog:
PR gdb/23093
* gdb/fbsd-tdep.c (fbsd_gdb_signal_from_target)
(fbsd_gdb_signal_to_target): New.
(fbsd_init_abi): Install gdbarch "signal_from_target" and
"signal_to_target" methods.
commit 12951a2f080abfd23d0aae0a9a5b2c322fd25c9e
Author: Jim Wilson <jimw@sifive.com>
Date: Thu Nov 29 13:05:25 2018 -0800
RISC-V: Add missing c.unimp instruction.
opcodes/
* riscv-opc.c (unimp): Mark compressed unimp as INSN_ALIAS.
(c.unimp): New.
commit 3d5500e9580ec0f3cffeb1f1373834cbc1d2101d
Author: Tom Tromey <tom@tromey.com>
Date: Wed Nov 28 10:34:15 2018 -0700
Avoid buffer overflow in value_x_unop
Commit 6b1747cd1 ("invoke_xmethod & array_view") contains this change:
- argvec = (struct value **) alloca (sizeof (struct value *) * 4);
+ value *argvec_storage[3];
+ gdb::array_view<value *> argvec = argvec_storage;
However, value_x_unop still does:
argvec[2] = value_from_longest (builtin_type (gdbarch)->builtin_int, 0);
argvec[3] = 0;
This triggers an error with -fsanitize=address from userdef.exp:
ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffdcf185068 at pc 0x000000e4f912 bp 0x7ffdcf184d80 sp 0x7ffdcf184d70
WRITE of size 8 at 0x7ffdcf185068 thread T0
#0 0xe4f911 in value_x_unop(value*, exp_opcode, noside) ../../binutils-gdb/gdb/valarith.c:557
[...]
I think the two assignments to argvec[3] should just be removed, and
that this was intended in the earlier patch but just missed.
This passes userdef.exp with -fsanitize=address.
gdb/ChangeLog
2018-11-29 Tom Tromey <tom@tromey.com>
* valarith.c (value_x_unop): Don't set argvec[3].
commit d105de22fc385da878e8db44c9503a7f30419322
Author: Tom Tromey <tom@tromey.com>
Date: Sun Jul 29 19:21:01 2018 -0600
Fix use-after-free in gdbserver
-fsanitize=address pointed out a use-after-free in gdbserver. In
particular, handle_detach could reference "process" after it was
deleted by detach_inferior. Avoiding this also necessitated changing
target_ops::join to take a pid rather than a process_info*.
Tested by the buildbot using a few of the gdbserver builders.
gdb/gdbserver/ChangeLog
2018-11-29 Tom Tromey <tom@tromey.com>
* win32-low.c (win32_join): Take pid, not process.
* target.h (struct target_ops) <join>: Change argument type.
(join_inferior): Change argument name.
* spu-low.c (spu_join): Take pid, not process.
* server.c (handle_detach): Preserve pid before destroying
process.
* lynx-low.c (lynx_join): Take pid, not process.
* linux-low.c (linux_join): Take pid, not process.
commit e368bf56d38afecd1ac0e19c9e9cb54e2bb4fad2
Author: Thomas Preud'homme <thomas.preudhomme@linaro.org>
Date: Thu Nov 29 13:42:49 2018 +0000
Document purpose of each ld statement lists
When discovering the statement lists via their header variable
statement_list, file_chain and input_file_chain it can be confusing to
figure out what they are for. They can point to the same initial
statement and the relation between the next field they use is not
obvious from the name.
This commit adds comment for each of those statement list header to
explain what they are for and what next field they use. It also rewrite
the comment for the next fields to simply redirect the reader to the
list header to avoid duplication of documentation.
2018-11-29 Thomas Preud'homme <thomas.preudhomme@linaro.org>
ld/
* ldlang.c (statement_list): Document purpose and what next field it
uses.
(file_chain): Likewise.
(input_file_chain): Likewise.
* ldlang.h (lang_statement_header_type): Document statement list header
the next pointer correspond to.
(lang_statement_header_type): Replace comment for next and
next_real_file field to refer the reader to their corresponding
statement list header.
commit ffd9e4d0225d45d1603d09e06151c388589e063f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Nov 29 04:44:20 2018 -0800
elf: Don't merge .note.gnu.property section in IR
.note.gnu.property section in IR inputs should be ignored. Don't
merge them.
PR ld/23929
* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Don't
merge .note.gnu.property section in IR inputs.
commit 8936f76804c2908e4abe911441dd03641204df9d
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Nov 29 10:57:54 2018 +0000
objdump: Fix check for corrupt reloc information, to allow for the fact that PDP11 relocs are bigger when in internal format.
PR 23931
* objdump.c (dump_relocs_in_section): When checking for an
unreasonable amount of relocs in a bfd, allow for the fact that
the internal representation of a reloc may be bigger than the
external representation.
commit 27e8f8efca2bea184e485c3c2ceaea6c42a82125
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Nov 29 00:00:26 2018 +0000
Automatic date update in version.in
commit f68d3e00531b5eef1941a097c4882395eb2f64e5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Nov 28 00:00:18 2018 +0000
Automatic date update in version.in
commit 4765cd611992862c844e8f152c5dbaadaecc25ce
Author: Jim Wilson <jimw@sifive.com>
Date: Tue Nov 27 11:29:23 2018 -0800
RISC-V: Add .insn CA support.
gas/
* config/tc-riscv.c (validate_riscv_insn) <'F'>: Add support for CF6
and CF2 operands.
(riscv_ip) <'F'>: Likewise.
* doc/c-riscv.texi (RISC-V-Formats): Add func6 abbreviation. Use rs2
instead of rs1 in CR description. Add CA docs.
* gas/testsuite/riscv/insn.s: Add use of .insn ca.
* gas/testsuite/riscv/insn.d: Update to match.
include/
* opcode/riscv.h (OP_MASK_CFUNCT6, OP_SH_CFUNCT6): New.
(OP_MASK_CFUNCT2, OP_SH_CFUNCT2): New.
opcodes/
* riscv-opc.c (ciw): Fix whitespace to align columns.
(ca): New.
commit b5ab31636d36e1252791cec179aa11ab9d9b87e9
Author: Thomas Preud'homme <thomas.preudhomme@linaro.org>
Date: Tue Nov 27 18:27:35 2018 +0000
[ARM] Update knowledge of bfd architectures
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed the list of CPUs
recognized by objdump -d -m<cpu>.
.note.gnu.arm.ident related code is intentionally not updated as build
attributes are a better mechanism to express the ISA in a file. However
this patch adds tests for the existing code since no existing testcase
cover those codepaths. Since I've only ever managed for
bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute, the tests make use of
both objcopy actions supported by run_dump_test which requires to have a
ld line as well.
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries.
2018-11-27 Thomas Preud'homme <thomas.preudhomme@linaro.org>
bfd/
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add comment explaining why the list of
architectures in the switch should not be updated.
(architectures): Likewise.
gas/
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
commit 3c7687b9cdacc243f7e23cd9b144e72b88d58817
Author: Maciej W. Rozycki <macro@linux-mips.org>
Date: Tue Nov 27 16:34:03 2018 +0000
MIPS/LD: Accept high-part relocations in PIC code with absolute symbols
Accept R_MIPS_HI16, R_MIPS_HIGHER and R_MIPS_HIGHEST relocations and
their compressed counterparts in PIC code where the symbol referred is
absolute. Such an operation is meaningful, because an absolute symbol
effectively is a constant the calculation of the value of which has been
deferred to the static link time, and which is not going to change any
further at the dynamic load time. Therefore there is no need ever to
refuse the use of these relocations with such symbols, as the resulting
run-time value observed by the program will be correct even in PIC code.
This is not the case with R_MIPS_26 and its compressed counterparts,
because the run-time value calculated by the instructions these
relocations are used with depends on the address of the instruction
itself, and that can change according to the base address used by the
dynamic loader. Therefore these relocations have to continue being
rejected in PIC code even with absolute symbols.
This allows successful linking of code that relies on previous linker
behavior up to commit 861fb55ab50a ("Defer allocation of R_MIPS_REL32
GOT slots"), <https://sourceware.org/ml/binutils/2008-08/msg00096.html>,
which introduced the problematic check missing this special exception
for absolute symbols.
bfd/
* elfxx-mips.c (_bfd_mips_elf_check_relocs) <R_MIPS16_HI16>
<R_MIPS_HI16, R_MIPS_HIGHER, R_MIPS_HIGHEST, R_MICROMIPS_HI16>
<R_MICROMIPS_HIGHER, R_MICROMIPS_HIGHEST>: Also accept an
absolute symbol in PIC code.
ld/
* testsuite/ld-mips-elf/pic-reloc-0.d: New test.
* testsuite/ld-mips-elf/pic-reloc-1.d: New test.
* testsuite/ld-mips-elf/pic-reloc-2.d: New test.
* testsuite/ld-mips-elf/pic-reloc-3.d: New test.
* testsuite/ld-mips-elf/pic-reloc-4.d: New test.
* testsuite/ld-mips-elf/pic-reloc-absolute-hi.ld: New test
linker script.
* testsuite/ld-mips-elf/pic-reloc-absolute-lo.ld: New test
linker script.
* testsuite/ld-mips-elf/pic-reloc-ordinary.ld: New test linker
script.
* testsuite/ld-mips-elf/pic-reloc-j.s: New test source.
* testsuite/ld-mips-elf/pic-reloc-lui.s: New test source.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
commit aff68bd0415c6f834cf1717865b5b44dea6b9ef5
Author: Maciej W. Rozycki <macro@linux-mips.org>
Date: Tue Nov 27 16:34:03 2018 +0000
MIPS/LD: Continue processing with refused relocations in PIC code
Switch from `_bfd_error_handler' to `info->callbacks->einfo' with error
reporting concerning the use of position-dependent relocations such as
R_MIPS_HI16 or R_MIPS_26 in PIC code and continue processing so that any
subsequent link errors are also shown rather than the linker terminating
right away. This can reduce user frustration where correcting one error
only reveals another one; instead all are shown together making them all
possible to investigate at once. The use of the `%X' specifier causes
the linker to terminate unsuccessfully at the end of processing.
Also fix the message to say `cannot' rather than `can not'.
bfd/
* elfxx-mips.c (_bfd_mips_elf_check_relocs) <R_MIPS16_26>
<R_MIPS_26, R_MICROMIPS_26_S1>: Use `info->callbacks->einfo'
rather than `_bfd_error_handler' to report refused relocations
in PIC code and continue processing. Fix error message: `can
not' -> `cannot'.
commit a5990ada637d978c43c6ff07941c56e97a3e6965
Author: Maciej W. Rozycki <macro@linux-mips.org>
Date: Tue Nov 27 16:34:03 2018 +0000
LD: Convert `%P: %H:' to `%H:' in error messages
Similarly to commit 174d0a74a2e6 ("PowerPC/BFD: Convert `%P: %H:' to
`%H:' in error messages") convert linker relocation error messages to
use `%H:' rather `%P: %H:', removing inconsistent message composition
like:
$ cat reloc-j.s
.text
.globl foo
.ent foo
foo:
j bar
j bar
.end foo
$ cat reloc-j.ld
SECTIONS
{
bar = 0x12345678;
.text : { *(.text) }
/DISCARD/ : { *(*) }
}
$ as -o reloc-j.o reloc-j.s
$ ld -T reloc-j.ld -o reloc-j reloc-j.o
ld: tmpdir/reloc-j.o: in function `foo':
(.text+0x0): relocation truncated to fit: R_MIPS_26 against `bar'
ld: (.text+0x8): relocation truncated to fit: R_MIPS_26 against `bar'
$
where subsequent lines referring to issues within a single function have
the name of the linker executable prepended, but the first one does not.
As noted with the commit referred this breaks a GNU Coding Standard's
requirement that error messages from compilers should look like this:
source-file-name:lineno: message
also quoted in `vfinfo' code handling these specifiers.
Remove the linker name prefix then, making the messages now look like:
$ ld -T reloc-j.ld -o reloc-j reloc-j.o
tmpdir/reloc-j.o: in function `foo':
(.text+0x0): relocation truncated to fit: R_MIPS_26 against `bar'
(.text+0x8): relocation truncated to fit: R_MIPS_26 against `bar'
$
instead.
ld/
* ldmain.c (reloc_overflow): Use `%H:' rather than `%P: %H:'
with `einfo'.
(reloc_dangerous): Likewise.
(unattached_reloc): Likewise.
commit 131a5a648d314cd15811158150573cb40eb3abd0
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Nov 27 06:02:36 2018 -0800
Initialize *uncompressed_align_pow_p to 0
Initialize *uncompressed_align_pow_p to 0 since *uncompressed_align_pow_p
is passed to bfd_is_section_compressed_with_header as uninitialized,
PR binutils/23919
* compress.c (bfd_is_section_compressed_with_header): Initialize
*uncompressed_align_pow_p to 0.
commit 9fca35fc3486283562a7fcd9eb0ff845b0152d98
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue Nov 27 12:33:21 2018 +0000
AArch64: Fix regression in Cortex A53 erratum when PIE. (PR ld/23904)
The fix for PR ld/22263 causes TLS relocations using ADRP to be relaxed
into MOVZ, however this causes issues for the erratum code.
The erratum code scans the input sections looking for ADRP instructions
and notes their location in the stream.
It then later tries to find them again in order to generate the linker
stubs. Due to the relaxation it instead finds a MOVZ and hard aborts.
Since this relaxation is a valid one, and in which case the erratum no
longer applies, it shouldn't abort but instead just continue.
This changes the TLS relaxation code such that when it finds an ADRP and
it relaxes it, it removes the erratum entry from the work list by changing
the stub type into none so the stub is ignored.
The entry is not actually removed as removal is a more expensive operation
and we have already allocated the memory anyway.
The clearing is done for IE->LE and GD->LE relaxations, and a testcase is
added for the IE case. The GD case I believe to be impossible to get together
with the erratum sequence due to the required BL which would break the sequence.
However to cover all basis I have added the guard there as well.
build on native hardware and regtested on
aarch64-none-elf, aarch64-none-elf (32 bit host),
aarch64-none-linux-gnu, aarch64-none-linux-gnu (32 bit host)
Cross-compiled and regtested on
aarch64-none-linux-gnu, aarch64_be-none-linux-gnu
Testcase in PR23940 tested and works as expected now and benchmarks ran on A53
showing no regressions and no issues.
bfd/ChangeLog:
PR ld/23904
* elfnn-aarch64.c (_bfd_aarch64_adrp_p): Use existing constants.
(_bfd_aarch64_erratum_843419_branch_to_stub): Use _bfd_aarch64_adrp_p.
(struct erratum_835769_branch_to_stub_clear_data): New.
(_bfd_aarch64_erratum_843419_clear_stub): New.
(clear_erratum_843419_entry): New.
(elfNN_aarch64_tls_relax): Use it.
(elfNN_aarch64_relocate_section): Pass input_section.
(aarch64_map_one_stub): Handle branch type none as valid.
ld/ChangeLog:
PR ld/23904
* testsuite/ld-aarch64/aarch64-elf.exp: Add erratum843419_tls_ie.
* testsuite/ld-aarch64/erratum843419_tls_ie.d: New test.
* testsuite/ld-aarch64/erratum843419_tls_ie.s: New test.
commit 35ba4bc019ba75eca36363164eeaae3f011b32c9
Author: Jozef Lawrynowicz <jozef.l@mittosystems.com>
Date: Tue Nov 27 12:25:09 2018 +0000
Tighten the constraints for warning about NOPs for the MSP 430 ISA, so NOPs are only inserted/warned about when needed. Specifically: 430 and 430x ISA require a NOP after DINT. Only the 430x ISA requires NOP before EINT. Only the 430x ISA requires NOP after every EINT. CPU42 errata.
* config/tc-msp430.c (is_dint): New.
(is_eint): New.
(gen_nop): New.
(warn_eint_nop): New.
(warn_unsure_interrupt): New.
(msp430_operands): Determine the effect MOV #N,SR insns have on
interrupt state.
Only emit NOP warnings for 430 ISA in certain situations.
(msp430_md_end): Only warn about an EINT at the end of the file
if NOP warnings are enabled.
* testsuite/gas/msp430/bad.l: Adjust expected output for new warnings.
* testsuite/gas/msp430/msp430.exp: Run new tests.
* testsuite/gas/msp430/nop-dint-430.d: New.
* testsuite/gas/msp430/nop-dint-430.l: New.
* testsuite/gas/msp430/nop-dint-430x-ignore.d: New.
* testsuite/gas/msp430/nop-dint-430x-silent.d: New.
* testsuite/gas/msp430/nop-dint-430x.d: New.
* testsuite/gas/msp430/nop-dint-430x.l: New.
* testsuite/gas/msp430/nop-dint.s: New.
* testsuite/gas/msp430/nop-eint-430.d: New.
* testsuite/gas/msp430/nop-eint-430.l: New.
* testsuite/gas/msp430/nop-eint-430x-ignore.d: New.
* testsuite/gas/msp430/nop-eint-430x-silent.d: New.
* testsuite/gas/msp430/nop-eint-430x.d: New.
* testsuite/gas/msp430/nop-eint-430x.l: New.
* testsuite/gas/msp430/nop-eint.s: New.
* testsuite/gas/msp430/nop-int-430.d: New.
* testsuite/gas/msp430/nop-int-430.l: New.
* testsuite/gas/msp430/nop-int-430x-silent.d: New.
* testsuite/gas/msp430/nop-int-430x.d: New.
* testsuite/gas/msp430/nop-int-430x.l: New.
* testsuite/gas/msp430/nop-int.s: New.
commit 4207142d6a5d2359170c5f9a140fc1a2351fbda9
Author: Mark Wielaard <mark@klomp.org>
Date: Tue Nov 27 11:59:10 2018 +0000
Handle ELF compressed header alignment correctly by setting up the section alignment correctly for the Elf32_Chdr or Elf64_Chdr type and respect the ch_addralign field when decompressing the section data.
PR binutils/23919
binutils* readelf.c (dump_sections_as_strings): Remove bogus addralign check.
(dump_sections_as_bytes): Likewise.
(load_specific_debug_sections): Likewise.
* testsuite/binutils-all/dw2-3.rS: Adjust alignment.
* testsuite/binutils-all/dw2-3.rt: Likewise.
bfd * bfd.c (bfd_update_compression_header): Explicitly set alignment.
(bfd_check_compression_header): Add uncompressed_alignment_power
argument. Check ch_addralign is a power of 2.
* bfd-in2.h: Regenerated.
* compress.c (bfd_compress_section_contents): Get and set
orig_uncompressed_alignment_pow if section is decompressed.
(bfd_is_section_compressed_with_header): Add and get
uncompressed_align_pow_p argument.
(bfd_is_section_compressed): Add uncompressed_align_power argument
to bfd_is_section_compressed_with_header call.
(bfd_init_section_decompress_status): Get and set
uncompressed_alignment_power.
* elf.c (_bfd_elf_make_section_from_shdr): Add
uncompressed_align_power argument to
bfd_is_section_compressed_with_header call.
commit 6a75ea85b19306046e04a08eec344ec67ec2733d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Nov 27 00:00:24 2018 +0000
Automatic date update in version.in
commit ed2df75c51551cf9b44f7d94179849565ab5bdda
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Mon Nov 26 14:35:03 2018 -0500
Fix spurious semicolon in sparc-linux-nat.c
Remove a semicolon that should not be there, as reported in PR 23917:
CXX sparc-linux-nat.o
/home/emaisin/src/binutils-gdb/gdb/sparc-linux-nat.c:39:3: error: expected unqualified-id before â{â token
{ sparc_store_inferior_registers (regcache, regnum); }
^
Tested by rebuilding the file manually (make sparc-linux-nat.o) in a
sparc64-linux-gnu build.
gdb/ChangeLog:
PR gdb/23917
* sparc-linux-nat.c (sparc_linux_nat_target): Remove extraneous
semicolon.
commit 24bce9bbe510c9efa36c0f85fb2f8a93ec8b623e
Author: Pedro Alves <palves@redhat.com>
Date: Mon Nov 26 13:13:35 2018 +0000
Fix Solaris build
The recent commit 080363310650 ("Per-inferior thread list, thread
ranges/iterators, down with ALL_THREADS, etc.") removed the
definitions of is_running/is_stopped/is_exited but missed updating a
couple uses of is_exited in Solaris-specific code.
Tested by Rainer Orth on amd64-pc-solaris2.11.
gdb/ChangeLog:
2018-11-26 Pedro Alves <palves@redhat.com>
* procfs.c (procfs_notice_thread): Replace uses of
in_thread_list/is_exited with find_thread_ptid/THREAD_EXITED.
* sol-thread.c (sol_thread_target::wait)
(sol_update_thread_list_callback): Likewise.
commit 9b4e3a5e23b37b3e9ff188043630d190e9c2e55f
Author: Alan Modra <amodra@gmail.com>
Date: Mon Nov 26 22:07:17 2018 +1030
[GOLD] justsyms_exec test fail on powerpc64
This test fails on powerpc64le due to the justsyms_lib being built
with exported_data at 0x2010000, apparently due to the powerpc target
code generating an empty relro .branch_lt section. Since the test
relies on the library having exported_data at 0x2000000, avoid the
problem by linking with -z norelro. Also, the test doesn't need to
avoid checking the function symbol on powerpc elfv2.
* testsuite/Makefile.am (justsyms_lib): Link with -z norelro.
* testsuite/Makefile.in: Regenerate.
* testsuite/justsyms_exec.c (main): Do check exported_func
on PowerPC64 ELFv2.
commit 2eccb8f91fec7bb6431b55d701e5c7fd2849e3f5
Author: Alan Modra <amodra@gmail.com>
Date: Mon Nov 26 22:05:54 2018 +1030
[GOLD] support objdump -T display of st_other
PowerPC64 ELFv2 uses the top 3 bits of st_other to encode a function's
local entry point offset from its global entry point. Allow st_other
bits except for visibility==default.
* testsuite/ver_test_14.sh: Accept objdump -T display of st_other
bits on powerpc64le.
commit 0a744d8f9d434e2338bfabd9eeb1b02e225eb1ab
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Nov 26 00:00:37 2018 +0000
Automatic date update in version.in
commit f63c03b470036353c8c6c657e15f5ebd62ab67dd
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Thu Nov 22 16:45:33 2018 -0500
Implement timestamp'ed output on "make check"
It is unfortunately not uncommon to have tests hanging on some of the
BuildBot workers. For example, the ppc64be/ppc64le+gdbserver builders
are especially in a bad state when it comes to testing GDB/gdbserver,
and we can have builds that take an absurd amount of time to
finish (almost 1 week for one single build, for example).
It may be hard to diagnose these failures, because sometimes we don't
have access to the faulty systems, and other times we're just too busy
to wait and check which test is actually hanging. During one of our
conversations about the topic, someone proposed that it would be a
good idea to have a timestamp put together with stdout output, so that
we can come back later and examine which tests are taking too long to
complete.
Here's my proposal to do this. The very first thing I tried to do was
to use "ts(1)" to achieve this feature, and it obviously worked, but
the problem is that I'm afraid "ts(1)" may not be widely available on
every system we support. Therefore, I decided to implement a *very*
simple version of "ts(1)", in Python 3, which basically does the same
thing: iterate over the stdin lines, and prepend a timestamp onto
them.
As for testsuite/Makefile.in, the user can now specify two new
variables to enable timestamp'ed output: TS (which enables the
output), and TS_FORMAT (optional, used to specify another timestamp
format according to "strftime").
Here's an example of how the output looks like:
...
[Nov 22 17:07:19] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/call-strs.exp ...
[Nov 22 17:07:19] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/step-over-no-symbols.exp ...
[Nov 22 17:07:20] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/all-architectures-6.exp ...
[Nov 22 17:07:20] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/hashline3.exp ...
[Nov 22 17:07:20] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/max-value-size.exp ...
[Nov 22 17:07:20] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/quit-live.exp ...
[Nov 22 17:07:46] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/paginate-bg-execution.exp ...
[Nov 22 17:07:56] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/gcore-buffer-overflow.exp ...
[Nov 22 17:07:56] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/gcore-relro.exp ...
[Nov 22 17:07:56] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/watchpoint-delete.exp ...
[Nov 22 17:07:56] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp ...
[Nov 22 17:07:56] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/vla-sideeffect.exp ...
[Nov 22 17:07:57] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/unload.exp ...
...
(What, gdb.base/quit-live.exp is taking 26 seconds to complete?!)
Output to stderr is not timestamp'ed, but I don't think that will be a
problem for us. If it is, we can revisit the solution and extend it.
gdb/testsuite/ChangeLog:
2018-11-25 Sergio Durigan Junior <sergiodj@redhat.com>
* Makefile.in (TIMESTAMP): New variable.
(check-single): Add $(TIMESTAMP) to the end of $(DO_RUNTEST)
command.
(check-single-racy): Likewise.
(check/%.exp): Likewise.
(check-racy/%.exp): Likewise.
(workers/%.worker): Likewise.
(build-perf): Likewise.
(check-perf): Likewise.
* README: Describe new "TS" and "TS_FORMAT" variables.
* print-ts.py: New file.
commit b5b12e1dbe0f2739624f91621828df73ef55e900
Author: Tom Tromey <tom@tromey.com>
Date: Sun Nov 25 12:30:20 2018 -0700
Remove obsolete comments from field_fmt
This removes some comments that I believe were made obsolete by the
recent change to cli_ui_out::do_field_fmt. The comment in mi_ui_out
probably was just copy/paste, because I think aligning never made
sense in an MI context.
gdb/ChangeLog
2018-11-25 Tom Tromey <tom@tromey.com>
* ui-out.c (ui_out::field_fmt): Remove comment.
* tui/tui-out.c (tui_ui_out::do_field_fmt): Remove comment.
* mi/mi-out.c (mi_ui_out::do_field_fmt): Remove comment.
commit bb31d44bb1a1594ebe0011d652574a6b4a852080
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Nov 25 00:01:25 2018 +0000
Automatic date update in version.in
commit 5446094655df842abb4ababac39f34c6342e8da3
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sat Nov 24 12:42:24 2018 +0100
Re-fix leak in source.c (open_source_file).
Leak fixed in '8e6a5953e1d Fix 4K leak in open_source_file' has been partially
undone by '2179fbc36d23 Return scoped_fd from open_source_file'. Re-add the
transfer of current s->fullname to the unique_xmalloc_ptr fullname given to
find_and_open_source.
commit f5e0fe29ee3b3b9a27a68aacdb6950fa22372099
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Nov 24 00:00:24 2018 +0000
Automatic date update in version.in
commit 06a3cd06d4d1a2efe4d6a14204e1e5653bab41db
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Fri Nov 23 17:10:53 2018 +0000
[GAS][ARM] Fix testism for bl local v4t test
gas/ChangeLog
2018-11-23 Andre Vieira <andre.simoesdiasvieira@arm.com>
* testsuite/gas/arm/bl-local-v4t.d: Remove
warning check.
* testsuite/gas/arm/blx-local-thumb.s: New.
* testsuite/gas/arm/blx-local-thumb.d: New.
commit 5013824590f59374106007d4c9724d5767911d75
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Nov 23 11:46:34 2018 +0000
gdbserver: AArch64: Remove cannot_fetch/store_register
The cannot store/fetch register functions are only used for checking
if a register can be accessed using PEEKUSER/POKEUSER.
The AArch64 port doesn't support this method of access, so remove the
unused functions.
gdb/gdbserver:
* linux-aarch64-low.c (aarch64_cannot_store_register): Remove.
(aarch64_cannot_fetch_register): Likewise.
(struct linux_target_ops): Update references.
commit 6af05e645ab7fbbb4e0b663f50febf052e6d09a0
Author: Pedro Alves <palves@redhat.com>
Date: Fri Nov 23 13:36:59 2018 +0000
Remove declarations of is_running/is_stopped/is_exited
The recent commit 080363310650 ("Per-inferior thread list, thread
ranges/iterators, down with ALL_THREADS, etc.") removed the
definitions of is_running/is_stopped/is_exited but missed removing the
declarations.
gdb/ChangeLog:
2018-11-23 Pedro Alves <palves@redhat.com>
* gdbthread.h (enum thread_state): Move comments here.
(is_running, is_stopped, is_exited): Remove declarations.
commit 8e4b63920116e5c0e5c7efbda29160356b3c868d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Nov 23 00:00:49 2018 +0000
Automatic date update in version.in
commit 080363310650c93ad8e93018bcb6760ba5d32d1c
Author: Pedro Alves <palves@redhat.com>
Date: Thu Nov 22 16:09:14 2018 +0000
Per-inferior thread list, thread ranges/iterators, down with ALL_THREADS, etc.
As preparation for multi-target, this patch makes each inferior have
its own thread list.
This isn't absolutely necessary for multi-target, but simplifies
things. It originally stemmed from the desire to eliminate the
init_thread_list calls sprinkled around, plus it makes it more
efficient to iterate over threads of a given inferior (no need to
always iterate over threads of all inferiors).
We still need to iterate over threads of all inferiors in a number of
places, which means we'd need adjust the ALL_THREADS /
ALL_NON_EXITED_THREADS macros. However, naively tweaking those macros
to have an extra for loop, like:
#define ALL_THREADS (thr, inf) \
for (inf = inferior_list; inf; inf = inf->next) \
for (thr = inf->thread_list; thr; thr = thr->next)
causes problems with code that does "break" or "continue" within the
ALL_THREADS loop body. Plus, we need to declare the extra "inf" local
variable in order to pass it as temporary variable to ALL_THREADS
(etc.)
It gets even trickier when we consider extending the macros to filter
out threads matching a ptid_t and a target. The macros become tricker
to read/write. Been there.
An alternative (which was my next attempt), is to replace the
ALL_THREADS etc. iteration style with for_each_all_threads,
for_each_non_exited_threads, etc. functions which would take a
callback as parameter, which would usually be passed a lambda.
However, I did not find that satisfactory at all, because the
resulting code ends up a little less natural / more noisy to read,
write and debug/step-through (due to use of lambdas), and in many
places where we use "continue;" to skip to the next thread now need to
use "return;". (I ran into hard to debug bugs caused by a
continue/return confusion.)
I.e., before:
ALL_NON_EXITED_THREADS (tp)
{
if (tp->not_what_I_want)
continue;
// do something
}
would turn into:
for_each_non_exited_thread ([&] (thread_info *tp)
{
if (tp->not_what_I_want)
return;
// do something
});
Lastly, the solution I settled with was to replace the ALL_THREADS /
ALL_NON_EXITED_THREADS / ALL_INFERIORS macros with (C++20-like) ranges
and iterators, such that you can instead naturaly iterate over
threads/inferiors using range-for, like e.g,.:
// all threads, including THREAD_EXITED threads.
for (thread_info *tp : all_threads ())
{ .... }
// all non-exited threads.
for (thread_info *tp : all_non_exited_threads ())
{ .... }
// all non-exited threads of INF inferior.
for (thread_info *tp : inf->non_exited_threads ())
{ .... }
The all_non_exited_threads() function takes an optional filter ptid_t as
parameter, which is quite convenient when we need to iterate over
threads matching that filter. See e.g., how the
set_executing/set_stop_requested/finish_thread_state etc. functions in
thread.c end up being simplified.
Most of the patch thus is about adding the infrustructure for allowing
the above. Later on when we get to actual multi-target, these
functions/ranges/iterators will gain a "target_ops *" parameter so
that e.g., we can iterate over all threads of a given target that
match a given filter ptid_t.
The only entry points users needs to be aware of are the
all_threads/all_non_exited_threads etc. functions seen above. Thus,
those functions are declared in gdbthread.h/inferior.h. The actual
iterators/ranges are mainly "internals" and thus are put out of view
in the new thread-iter.h/thread-iter.c/inferior-iter.h files. That
keeps the gdbthread.h/inferior.h headers quite a bit more readable.
A common/safe-iterator.h header is added which adds a template that
can be used to build "safe" iterators, which are forward iterators
that can be used to replace the ALL_THREADS_SAFE macro and other
instances of the same idiom in future.
There's a little bit of shuffling of code between
gdbthread.h/thread.c/inferior.h in the patch. That is necessary in
order to avoid circular dependencies between the
gdbthread.h/inferior.h headers.
As for the init_thread_list calls sprinkled around, they're all
eliminated by this patch, and a new, central call is added to
inferior_appeared. Note how also related to that, there's a call to
init_wait_for_inferior in remote.c that is eliminated.
init_wait_for_inferior is currently responsible for discarding skipped
inline frames, which had to be moved elsewhere. Given that nowadays
we always have a thread even for single-threaded processes, the
natural place is to delete a frame's inline frame info when we delete
the thread. I.e., from clear_thread_inferior_resources.
gdb/ChangeLog:
2018-11-22 Pedro Alves <palves@redhat.com>
* Makefile.in (COMMON_SFILES): Add thread-iter.c.
* breakpoint.c (breakpoints_should_be_inserted_now): Replace
ALL_NON_EXITED_THREADS with all_non_exited_threads.
(print_one_breakpoint_location): Replace ALL_INFERIORS with
all_inferiors.
* bsd-kvm.c: Include inferior.h.
* btrace.c (btrace_free_objfile): Replace ALL_NON_EXITED_THREADS
with all_non_exited_threads.
* common/filtered-iterator.h: New.
* common/safe-iterator.h: New.
* corelow.c (core_target_open): Don't call init_thread_list here.
* darwin-nat.c (thread_info_from_private_thread_info): Replace
ALL_THREADS with all_threads.
* fbsd-nat.c (fbsd_nat_target::resume): Replace
ALL_NON_EXITED_THREADS with inf->non_exited_threads.
* fbsd-tdep.c (fbsd_make_corefile_notes): Replace
ALL_NON_EXITED_THREADS with inf->non_exited_threads.
* fork-child.c (postfork_hook): Don't call init_thread_list here.
* gdbarch-selftests.c (register_to_value_test): Adjust.
* gdbthread.h: Don't include "inferior.h" here.
(struct inferior): Forward declare.
(enum step_over_calls_kind): Moved here from inferior.h.
(thread_info::deletable): Definition moved to thread.c.
(find_thread_ptid (inferior *, ptid_t)): Declare.
(ALL_THREADS, ALL_THREADS_BY_INFERIOR, ALL_THREADS_SAFE): Delete.
Include "thread-iter.h".
(all_threads, all_non_exited_threads, all_threads_safe): New.
(any_thread_p): Declare.
(thread_list): Delete.
* infcmd.c (signal_command): Replace ALL_NON_EXITED_THREADS with
all_non_exited_threads.
(proceed_after_attach_callback): Delete.
(proceed_after_attach): Take an inferior pointer instead of an
integer PID. Adjust to use range-for.
(attach_post_wait): Pass down inferior pointer instead of pid.
Use range-for instead of ALL_NON_EXITED_THREADS.
(detach_command): Remove init_thread_list call.
* inferior-iter.h: New.
* inferior.c (struct delete_thread_of_inferior_arg): Delete.
(delete_thread_of_inferior): Delete.
(delete_inferior, exit_inferior_1): Use range-for with
inf->threads_safe() instead of iterate_over_threads.
(inferior_appeared): Call init_thread_list here.
(discard_all_inferiors): Use all_non_exited_inferiors.
(find_inferior_id, find_inferior_pid): Use all_inferiors.
(iterate_over_inferiors): Use all_inferiors_safe.
(have_inferiors, number_of_live_inferiors): Use
all_non_exited_inferiors.
(number_of_inferiors): Use all_inferiors and std::distance.
(print_inferior): Use all_inferiors.
* inferior.h: Include gdbthread.h.
(enum step_over_calls_kind): Moved to gdbthread.h.
(struct inferior) <thread_list>: New field.
<threads, non_exited_threads, threads_safe>: New methods.
(ALL_INFERIORS): Delete.
Include "inferior-iter.h".
(ALL_NON_EXITED_INFERIORS): Delete.
(all_inferiors_safe, all_inferiors, all_non_exited_inferiors): New
functions.
* inflow.c (child_interrupt, child_pass_ctrlc): Replace
ALL_NON_EXITED_THREADS with all_non_exited_threads.
* infrun.c (follow_exec): Use all_threads_safe.
(clear_proceed_status, proceed): Use all_non_exited_threads.
(init_wait_for_inferior): Don't clear inline frame state here.
(infrun_thread_stop_requested, for_each_just_stopped_thread): Use
all_threads instead of ALL_NON_EXITED_THREADS.
(random_pending_event_thread): Use all_non_exited_threads instead
of ALL_NON_EXITED_THREADS. Use a lambda for repeated code.
(clean_up_just_stopped_threads_fsms): Use all_non_exited_threads
instead of ALL_NON_EXITED_THREADS.
(handle_no_resumed): Use all_non_exited_threads instead of
ALL_NON_EXITED_THREADS. Use all_inferiors instead of
ALL_INFERIORS.
(restart_threads, switch_back_to_stepped_thread): Use
all_non_exited_threads instead of ALL_NON_EXITED_THREADS.
* linux-nat.c (check_zombie_leaders): Replace ALL_INFERIORS with
all_inferiors.
(kill_unfollowed_fork_children): Use inf->non_exited_threads
instead of ALL_NON_EXITED_THREADS.
* linux-tdep.c (linux_make_corefile_notes): Use
inf->non_exited_threads instead of ALL_NON_EXITED_THREADS.
* linux-thread-db.c (thread_db_target::update_thread_list):
Replace ALL_INFERIORS with all_inferiors.
(thread_db_target::thread_handle_to_thread_info): Use
inf->non_exited_threads instead of ALL_NON_EXITED_THREADS.
* mi/mi-interp.c (multiple_inferiors_p): New.
(mi_on_resume_1): Simplify using all_non_exited_threads and
multiple_inferiors_p.
* mi/mi-main.c (mi_cmd_thread_list_ids): Use all_non_exited_threads
instead of ALL_NON_EXITED_THREADS.
* nto-procfs.c (nto_procfs_target::open): Don't call
init_thread_list here.
* record-btrace.c (record_btrace_target_open)
(record_btrace_target::stop_recording)
(record_btrace_target::close)
(record_btrace_target::record_is_replaying)
(record_btrace_target::resume, record_btrace_target::wait)
(record_btrace_target::record_stop_replaying): Use
all_non_exited_threads instead of ALL_NON_EXITED_THREADS.
* record-full.c (record_full_wait_1): Use all_non_exited_threads
instead of ALL_NON_EXITED_THREADS.
* regcache.c (cooked_read_test): Remove reference to global
thread_list.
* remote-sim.c (gdbsim_target::create_inferior): Don't call
init_thread_list here.
* remote.c (remote_target::update_thread_list): Use
all_threads_safe instead of ALL_NON_EXITED_THREADS.
(remote_target::process_initial_stop_replies): Replace
ALL_INFERIORS with all_non_exited_inferiors and use
all_non_exited_threads instead of ALL_NON_EXITED_THREADS.
(remote_target::open_1): Don't call init_thread_list here.
(remote_target::append_pending_thread_resumptions)
(remote_target::remote_resume_with_hc): Use all_non_exited_threads
instead of ALL_NON_EXITED_THREADS.
(remote_target::commit_resume)
(remote_target::remove_new_fork_children): Replace ALL_INFERIORS
with all_non_exited_inferiors and use all_non_exited_threads
instead of ALL_NON_EXITED_THREADS.
(remote_target::kill_new_fork_children): Use
all_non_exited_threads instead of ALL_NON_EXITED_THREADS. Remove
init_thread_list and init_wait_for_inferior calls.
(remote_target::remote_btrace_maybe_reopen)
(remote_target::thread_handle_to_thread_info): Use
all_non_exited_threads instead of ALL_NON_EXITED_THREADS.
* target.c (target_terminal::restore_inferior)
(target_terminal_is_ours_kind): Replace ALL_INFERIORS with
all_non_exited_inferiors.
* thread-iter.c: New file.
* thread-iter.h: New file.
* thread.c: Include "inline-frame.h".
(thread_list): Delete.
(clear_thread_inferior_resources): Call clear_inline_frame_state.
(init_thread_list): Use all_threads_safe instead of
ALL_THREADS_SAFE. Adjust to per-inferior thread lists.
(new_thread): Adjust to per-inferior thread lists.
(add_thread_silent): Pass inferior to find_thread_ptid.
(thread_info::deletable): New, moved from the header.
(delete_thread_1): Adjust to per-inferior thread lists.
(find_thread_global_id): Use inf->threads().
(find_thread_ptid): Use find_inferior_ptid and pass inferior to
find_thread_ptid.
(find_thread_ptid(inferior*, ptid_t)): New overload.
(iterate_over_threads): Use all_threads_safe.
(any_thread_p): New.
(thread_count): Use all_threads and std::distance.
(live_threads_count): Use all_non_exited_threads and
std::distance.
(valid_global_thread_id): Use all_threads.
(in_thread_list): Use find_thread_ptid.
(first_thread_of_inferior): Adjust to per-inferior thread lists.
(any_thread_of_inferior, any_live_thread_of_inferior): Use
inf->non_exited_threads().
(prune_threads, delete_exited_threads): Use all_threads_safe.
(thread_change_ptid): Pass inferior pointer to find_thread_ptid.
(set_resumed, set_running): Use all_non_exited_threads.
(is_thread_state, is_stopped, is_exited, is_running)
(is_executing): Delete.
(set_executing, set_stop_requested, finish_thread_state): Use
all_non_exited_threads.
(print_thread_info_1): Use all_inferiors and all_threads.
(thread_apply_all_command): Use all_non_exited_threads.
(thread_find_command): Use all_threads.
(update_threads_executing): Use all_non_exited_threads.
* tid-parse.c (parse_thread_id): Use inf->threads.
* x86-bsd-nat.c (x86bsd_dr_set): Use inf->non_exited_threads ().
commit c4c17fb0f5879d3f58c733a4139fa59817e8155e
Author: Pedro Alves <palves@redhat.com>
Date: Thu Nov 22 16:09:12 2018 +0000
Fix follow_exec latent problem
A following commit to make each inferior have its own thread list
exposes a problem with bf93d7ba99 ("Add thread after updating gdbarch
when exec'ing"), which is that we can't defer adding the thread
because that breaks try_open_exec_file which deep inside ends up
calling inferior_thread():
#5 0x0000000000637c78 in internal_error(char const*, int, char const*, ...) (file=0xc151f8 "src/gdb/thread.c", line=165, fmt=0xc15180 "%s: Assertion `%s' failed.") at src/gdb/common/errors.c:55
#6 0x00000000008a3d80 in inferior_thread() () at src/gdb/thread.c:165
#7 0x0000000000456f91 in try_thread_db_load_1(thread_db_info*) (info=0x277eb00) at src/gdb/linux-thread-db.c:830
#8 0x0000000000457554 in try_thread_db_load(char const*, int) (library=0xb01a4f "libthread_db.so.1", check_auto_load_safe=0)
at src/gdb/linux-thread-db.c:1002
#9 0x0000000000457861 in try_thread_db_load_from_sdir() () at src/gdb/linux-thread-db.c:1079
#10 0x0000000000457b72 in thread_db_load_search() () at src/gdb/linux-thread-db.c:1134
#11 0x0000000000457d29 in thread_db_load() () at src/gdb/linux-thread-db.c:1192
#12 0x0000000000457e51 in check_for_thread_db() () at src/gdb/linux-thread-db.c:1244
#13 0x0000000000457ed2 in thread_db_new_objfile(objfile*) (objfile=0x270ff60) at src/gdb/linux-thread-db.c:1273
#14 0x000000000045a92e in std::_Function_handler<void (objfile*), void (*)(objfile*)>::_M_invoke(std::_Any_data const&, objfile*&&) (__functor=..., __args#0=@0x7ffef3efe140: 0x270ff60) at /usr/include/c++/7/bits/std_function.h:316
#15 0x00000000007bbebf in std::function<void (objfile*)>::operator()(objfile*) const (this=0x24e1d18, __args#0=0x270ff60)
at /usr/include/c++/7/bits/std_function.h:706
#16 0x00000000007bba86 in gdb::observers::observable<objfile*>::notify(objfile*) const (this=0x117ce80 <gdb::observers::new_objfile>, args#0=0x270ff60) at src/gdb/common/observable.h:106
#17 0x0000000000856000 in symbol_file_add_with_addrs(bfd*, char const*, symfile_add_flags, section_addr_info*, objfile_flags, objfile*) (abfd=0x1d7dae0, name=0x254bfc0 "/ho
The problem is latent currently because inferior_thread() at that
point manages to return a thread, even though it's the wrong one (of
the old inferior).
The problem originally fixed by bf93d7ba99 was:
(...) we should avoid doing register reads
after a process does an exec and before we've updated that inferior's
gdbarch. Otherwise, we may interpret the registers using the wrong
architecture.
(...) The call to "add_thread" done just after adding the inferior is
problematic, because it ends up reading the registers (because the ptid
is re-used, we end up doing a switch_to_thread to it, which tries to
update stop_pc). (...)
The register-reading issue is no longer a problem nowadays, ever since
switch_to_thread stopped reading the stop_pc in git commit
f2ffa92bbce9 ("gdb: Eliminate the 'stop_pc' global").
So this commit basically reverts bf93d7ba99.
gdb/ChangeLog:
2018-11-22 Pedro Alves <palves@redhat.com>
* infrun.c (follow_exec) <set follow-exec new>: Add thread and
switch to it before calling into try_open_exec_file.
commit 151bb4a5059e73934f7bc61318efaaffe0c91b81
Author: Pedro Alves <palves@redhat.com>
Date: Thu Nov 22 16:09:12 2018 +0000
Avoid find_thread_ptid with null_ptid
With a following patch, find_thread_ptid will first find the inferior
for the passed-in ptid, using find_inferior_pid, and then look for the
thread in that inferior's thread list. If we pass down null_ptid to
find_thread_ptid then that means we'll end up passing 0 to
find_inferior_pid, which hits this assertion:
> struct inferior *
> find_inferior_pid (int pid)
> {
> struct inferior *inf;
>
> /* Looking for inferior pid == 0 is always wrong, and indicative of
> a bug somewhere else. There may be more than one with pid == 0,
> for instance. */
> gdb_assert (pid != 0);
This patch prepares for the change, by avoiding passing down null_ptid
to find_thread_ptid or to functions that naturally use it, such as the
target_pid_to_str call in inferior.c:add_inferior. In that latter
case, the patch changes GDB output,
from:
(gdb) add-inferior
[New inferior 2 (process 0)]
to:
(gdb) add-inferior
[New inferior 2]
which seems like a good change to me. It might not even make sense to
talk about "process" for the current target, for example.
The python_on_normal_stop change ends up avoiding looking up the
same thread twice (inferior_thread also does a look up).
gdb/ChangeLog:
2018-11-22 Pedro Alves <palves@redhat.com>
* cli/cli-interp.c (cli_on_user_selected_context_changed): Use
inferior_thread instead of find_thread_ptid, and only when
inferior_ptid is not null_ptid.
* inferior.c (add_inferior): Don't include target_pid_to_str
output when the inferior is not started.
* python/py-inferior.c (python_on_normal_stop): Don't use
find_thread_ptid.
(tui_on_user_selected_context_changed): Use inferior_thread
instead of find_thread_ptid, and only when inferior_ptid is not
null_ptid.
commit 79a9468c702f7087b5bbff2cfd2210a94e7c5fa4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Nov 22 00:00:17 2018 +0000
Automatic date update in version.in
commit 27f42a4ddb28514fde3d01083120674fc8c0c107
Author: John Darrington <john@darrington.wattle.id.au>
Date: Tue Nov 20 18:50:30 2018 +0100
S12Z opcodes: Fix bug disassembling certain shift instructions.
Shift and rotate instructions when the number of bit positions
was an immediate value greater than 1 were incorrectly disassembled.
This change fixes that problem and extends the test to check for
it.
gas/ChangeLog:
testsuite/gas/s12z/shift.s: Add new test case.
testsuite/gas/s12z/shift.d: Add expected result.
opcodes/ChangeLog:
s12z-dis.c (print_insn_shift) [SB_REG_REG_N]: Enter special case
if the postbyte matches the appropriate pattern.
commit 51534d7ab8c77fdf2af52f409cc4e348e4213bb7
Author: John Darrington <john@darrington.wattle.id.au>
Date: Tue Nov 20 18:50:30 2018 +0100
S12Z: Add alias instructions BHS and BLO.
These are documented by NXP as alternative mnemonics for BCC and BCS
respectively.
gas/ChangeLog:
* config/tc-s12z.c (opcodes): bhs, blo: New members.
* testsuite/gas/s12z/bra.d: Add tests for aliases.
* testsuite/gas/s12z/bra.s: Add tests for aliases.
commit 1c97054b87495b008c6028d697deff61c9fb0b6e
Author: Benno Fünfstück <benno.fuenfstueck@gmail.com>
Date: Wed Nov 21 17:06:05 2018 +0000
Make command-repeat work after gdb.execute
Since commit
56bcdbea2bed ("Let gdb.execute handle multi-line commands")
command repetition after using the `gdb.execute` Python function
fails (the previous command is not repeated anymore). This happens
because read_command_lines_1 sets dont_repeat, but the call to
prevent_dont_repeat in execute_gdb_command is later.
The fix is to move the call to prevent_dont_repeat to the beginning of
the function.
Tested on my laptop (ArchLinux-x86_64).
gdb/ChangeLog:
PR python/23714
* gdb/python/python.c (execute_gdb_command): Call
prevent_dont_repeat earlier to avoid affecting dont_repeat.
gdb/testuite/ChangeLog:
PR python/23714
* gdb.python/python.exp: Test command repetition after
gdb.execute.
commit ca94519e70c39fca1d6ea93b8604349111522a8b
Author: Jozef Lawrynowicz <jozef.l@mittosystems.com>
Date: Wed Nov 21 16:21:25 2018 +0000
Fix linking MSP430 files created by gcc's LTO optimizer.
When invoking GCC with "-g -flto", the compiler will create LTO objects
with debug information. The objects created are "simple ELF" objects (see
libiberty/simple-object-elf.c) and do not have target-specific sections.
When the MSP430 linker sees one of these objects without a .MSP430.attributes
section it errors:
> error: /tmp/cc4LhbEI.ltrans0.ltrans.o uses MSP430X instructions but /tmp/ccynqIwudebugobj uses unknown
> error: /tmp/cc4LhbEI.ltrans0.ltrans.o uses the small code model whereas /tmp/ccynqIwudebugobj uses the unknown code model
> error: /tmp/cc4LhbEI.ltrans0.ltrans.o uses the small data model whereas /tmp/ccynqIwudebugobj uses the unknown data model
> error: /tmp/cc4LhbEI.ltrans0.ltrans.o uses the small code model but /tmp/ccynqIwudebugobj uses the unknown data model
> failed to merge target specific data of file /tmp/cc4LhbEI.ltrans0.ltrans.o
The following patch allows these debug LTO objects to be linked with other
MSP430 objects even if they do not have a .MSP430.attributes section.
bfd * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Do not
error when .MSP430.attributes section is missing from objects
created by LTO.
commit b5ffee3181d157a4d964f62344ac827142e37bde
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Oct 29 15:10:52 2018 +0000
gdb/riscv: Add target description support
This commit adds target description support for riscv.
I've used the split feature approach for specifying the architectural
features, and the CSR feature is auto-generated from the riscv-opc.h
header file.
If the target doesn't provide a suitable target description then GDB
will build one by looking at the bfd headers.
This commit does not implement target description creation for the
Linux or FreeBSD native targets, both of these will need to add
read_description methods into their respective target classes, which
probe the target features, and then call
riscv_create_target_description to build a suitable target
description. Until this is done Linux and FreeBSD will get the same
default target description based on the bfd that bare-metal targets
get.
I've only added feature descriptions for 32 and 64 bit registers, 128
bit registers (for RISC-V) are not supported in the reset of GDB yet.
This commit removes the special reading of the MISA register in order
to establish the target features, this was only used for figuring out
the f-register size, and even that wasn't done consistently. We now
rely on the target to tell us what size of registers it has (or look
in the BFD as a last resort). The result of this is that we should
now support RV64 targets with 32-bit float, though I have not
extensively tested this combination yet.
* Makefile.in (ALL_TARGET_OBS): Add arch/riscv.o.
(HFILES_NO_SRCDIR): Add arch/riscv.h.
* arch/riscv.c: New file.
* arch/riscv.h: New file.
* configure.tgt: Add cpu_obs list of riscv, move riscv-tdep.o into
this list, and add arch/riscv.o.
* features/Makefile: Add riscv features.
* features/riscv/32bit-cpu.c: New file.
* features/riscv/32bit-cpu.xml: New file.
* features/riscv/32bit-csr.c: New file.
* features/riscv/32bit-csr.xml: New file.
* features/riscv/32bit-fpu.c: New file.
* features/riscv/32bit-fpu.xml: New file.
* features/riscv/64bit-cpu.c: New file.
* features/riscv/64bit-cpu.xml: New file.
* features/riscv/64bit-csr.c: New file.
* features/riscv/64bit-csr.xml: New file.
* features/riscv/64bit-fpu.c: New file.
* features/riscv/64bit-fpu.xml: New file.
* features/riscv/rebuild-csr-xml.sh: New file.
* riscv-tdep.c: Add 'arch/riscv.h' include.
(riscv_gdb_reg_names): Delete.
(csr_reggroup): New global.
(struct riscv_register_alias): Delete.
(struct riscv_register_feature): New structure.
(riscv_register_aliases): Delete.
(riscv_xreg_feature): New global.
(riscv_freg_feature): New global.
(riscv_virtual_feature): New global.
(riscv_csr_feature): New global.
(riscv_create_csr_aliases): New function.
(riscv_read_misa_reg): Delete.
(riscv_has_feature): Delete.
(riscv_isa_xlen): Simplify, just return cached xlen.
(riscv_isa_flen): Simplify, just return cached flen.
(riscv_has_fp_abi): Update for changes in struct gdbarch_tdep.
(riscv_register_name): Update to make use of tdesc_register_name.
Look up xreg and freg names in the new globals riscv_xreg_feature
and riscv_freg_feature. Don't supply csr aliases here.
(riscv_fpreg_q_type): Delete.
(riscv_register_type): Use tdesc_register_type in almost all
cases, override the returned type in a few specific cases only.
(riscv_print_one_register_info): Handle errors reading registers.
(riscv_register_reggroup_p): Use tdesc_register_in_reggroup_p for
registers that are otherwise unknown to GDB. Also check the
csr_reggroup.
(riscv_print_registers_info): Remove assert about upper register
number, and use gdbarch_register_reggroup_p instead of
short-cutting.
(riscv_find_default_target_description): New function.
(riscv_check_tdesc_feature): New function.
(riscv_add_reggroups): New function.
(riscv_setup_register_aliases): New function.
(riscv_init_reggroups): New function.
(_initialize_riscv_tdep): Add calls to setup CSR aliases, and
setup register groups. Register new riscv debug variable.
* riscv-tdep.h: Add 'arch/riscv.h' include.
(struct gdbarch_tdep): Remove abi union, and add
riscv_gdbarch_features field. Remove cached quad floating point
type, and provide initialisation for double type field.
* target-descriptions.c (maint_print_c_tdesc_cmd): Add riscv to
the list of targets using the feature based target descriptions.
* NEWS: Mention target description support.
gdb/doc/ChangeLog:
* gdb.texinfo (Standard Target Features): Add RISC-V Features
sub-section.
commit 38139a9681a32e92f5c5b8437875d2726c009841
Author: Pedro Alves <palves@redhat.com>
Date: Wed Nov 21 11:55:15 2018 +0000
valops.c: Overload resolution code: Rename parameters/locals
While looking over this code, I thought the names of the parameters to
find_oload_champ and related functions and locals were a bit too
cryptic. For example, FN_LIST holds methods, not free functions.
Free-functions are in OLOAD_SYMS.
This patch renames parameters/variables to the more obvious
methods/xmethods/functions instead.
gdb/ChangeLog:
2018-11-21 Pedro Alves <palves@redhat.com>
* valops.c (find_method_list, value_find_oload_method_list)
(find_overload_match, find_oload_champ): Rename parameters and
locals.
commit 85cca2bcbc7833b33d4b61d7b7e0e75b9afa063b
Author: Pedro Alves <palves@redhat.com>
Date: Wed Nov 21 11:55:14 2018 +0000
valops.c: Some more gdb::array_view
This commit replaces some more use of pointer+length pairs in the
overload resolution code with gdb::array_view.
find_oload_champ's interface is simplified/normalized: the xmethods
parameter is converted from std::vector to array pointer, and then the
num_fns parameter is always passed in, no matter the array which is
non-NULL. I tweaked the formatting of callers a little bit here and
there so that the 3 optional parameters are all in the same line. (I
tried making the 3 optional array parameters be array_views, but the
resulting code didn't look as nice.)
gdb/ChangeLog:
2018-11-21 Pedro Alves <palves@redhat.com>
* valops.c (find_method_list): Replace pointer and length
parameters with an gdb::array_view. Adjust.
(value_find_oload_method_list): Likewise.
(find_overload_match): Use gdb::array_view for methods list.
Adjust to find_oload_champ interface change.
(find_oload_champ): 'xm_worker_vec' parameter now a pointer/array.
'num_fns' parameter now a size_t. Eliminate 'fn_count' local.
commit 82ceee50146563a61ed19f4ad585d39636a6dfa8
Author: Pedro Alves <palves@redhat.com>
Date: Wed Nov 21 11:55:14 2018 +0000
C++ify badness_vector, fix leaks
badness_vector is currently an open coded vector. This reimplements
it as a std::vector.
This fixes a few leaks as well:
- find_oload_champ is leaking every badness vector calculated bar the
one returned.
- bv->rank is always leaked, since callers of rank_function only
xfree the badness_vector pointer, not bv->rank.
gdb/ChangeLog:
2018-11-21 Pedro Alves <palves@redhat.com>
* gdbtypes.c (compare_badness): Change type of parameters to const
reference. Adjust to badness_vector being a std::vector now.
(rank_function): Adjust to badness_vector being a std::vector now.
* gdbtypes.h (badness_vector): Now a typedef to std::vector.
(LENGTH_MATCH): Delete.
(compare_badness): Change type of parameters to const reference.
(rank_function): Return a badness_vector by value now.
(find_overload_match): Adjust to badness_vector being a
std::vector now. Remove cleanups.
(find_oload_champ_namespace): 'oload_champ_bv' parameter now a
badness_vector pointer.
(find_oload_champ_namespace_loop): 'oload_champ_bv' parameter now
a badness_vector pointer. Adjust to badness_vector being a
std::vector now. Remove cleanups.
(find_oload_champ): 'oload_champ_bv' parameter now
a badness_vector pointer. Adjust to badness_vector being a
std::vector now. Remove cleanups.
commit 0891c3cc132495ad7b323896efae4f91eca87c6c
Author: Pedro Alves <palves@redhat.com>
Date: Wed Nov 21 11:55:13 2018 +0000
Eliminate make_symbol_overload_list-related globals & cleanup
This gets rid of a few globals and a cleanup.
make_symbol_overload_list & friends currently maintain a global
open-coded vector. Reimplement that with a std::vector, trickled down
through the functions. Rename a few functions from "make_" to "add_"
for clarity.
gdb/ChangeLog:
2018-11-21 Pedro Alves <palves@redhat.com>
* cp-support.c (sym_return_val_size, sym_return_val_index)
(sym_return_val): Delete.
(overload_list_add_symbol): Add std::vector parameter. Adjust to
add to the vector.
(make_symbol_overload_list): Adjust to return a std::vector
instead of maintaining a global open coded vector.
(make_symbol_overload_list_block): Add std::vector parameter.
(make_symbol_overload_list_block): Rename to ...
(add_symbol_overload_list_block): ... this and add std::vector
parameter.
(make_symbol_overload_list_namespace): Rename to ...
(add_symbol_overload_list_namespace): ... this and add std::vector
parameter.
(make_symbol_overload_list_adl_namespace): Rename to ...
(add_symbol_overload_list_adl_namespace): ... this and add
std::vector parameter.
(make_symbol_overload_list_adl): Delete.
(add_symbol_overload_list_adl): New.
(make_symbol_overload_list_using): Rename to ...
(add_symbol_overload_list_using): ... this and add std::vector
parameter.
(make_symbol_overload_list_qualified): Rename to ...
(add_symbol_overload_list_qualified): ... this and add std::vector
parameter.
* cp-support.h: Include "common/array-view.h" and <vector>.
(make_symbol_overload_list): Change return type to std::vector.
(make_symbol_overload_list_adl): Delete declaration.
(add_symbol_overload_list_adl): New declaration.
* valops.c (find_overload_match): Local 'oload_syms' now a
std::vector.
(find_oload_champ_namespace): 'oload_syms' parameter now a
std::vector pointer.
(find_oload_champ_namespace_loop): 'oload_syms' parameter now a
std::vector pointer. Adjust to new make_symbol_overload_list
interface.
commit 6b1747cd135ff9859fceb6043179b1ef94363996
Author: Pedro Alves <palves@redhat.com>
Date: Wed Nov 21 11:55:12 2018 +0000
invoke_xmethod & array_view
This replaces more pointer+length with gdb::array_view. This time,
around invoke_xmethod, and then propagating the fallout around, which
inevitably leaks to the overload resolution code.
There are several places in the code that want to grab a slice of an
array, by advancing the array pointer, and decreasing the length
pointer. This patch introduces a pair of new
gdb::array_view::slice(...) methods to make that convenient and clear.
Unit test included.
gdb/ChangeLog:
2018-11-21 Pedro Alves <palves@redhat.com>
* common/array-view.h (array_view::splice(size_type, size_t)): New.
(array_view::splice(size_type)): New.
* eval.c (eval_call, evaluate_funcall): Adjust to use array_view.
* extension.c (xmethod_worker::get_arg_types): Adjust to return an
std::vector.
(xmethod_worker::get_result_type): Adjust to use gdb::array_view.
* extension.h: Include "common/array-view.h".
(xmethod_worker::invoke): Adjust to use gdb::array_view.
(xmethod_worker::get_arg_types): Adjust to return an std::vector.
(xmethod_worker::get_result_type): Adjust to use gdb::array_view.
(xmethod_worker::do_get_arg_types): Adjust to use std::vector.
(xmethod_worker::do_get_result_type): Adjust to use
gdb::array_view.
* gdbtypes.c (rank_function): Adjust to use gdb::array_view.
* gdbtypes.h: Include "common/array-view.h".
(rank_function): Adjust to use gdb::array_view.
* python/py-xmethods.c (python_xmethod_worker::invoke)
(python_xmethod_worker::do_get_arg_types)
(python_xmethod_worker::do_get_result_type)
(python_xmethod_worker::invoke): Adjust to new interfaces.
* valarith.c (value_user_defined_cpp_op, value_user_defined_op)
(value_x_binop, value_x_unop): Adjust to use gdb::array_view.
* valops.c (find_overload_match, find_oload_champ_namespace)
(find_oload_champ_namespace_loop, find_oload_champ): Adjust to use
gdb:array_view and the new xmethod_worker interfaces.
* value.c (result_type_of_xmethod, call_xmethod): Adjust to use
gdb::array_view.
* value.h (find_overload_match, result_type_of_xmethod)
(call_xmethod): Adjust to use gdb::array_view.
* unittests/array-view-selftests.c: Add slicing tests.
commit e71585ffe2e1394858f0fcf809e86f1b324fe4e6
Author: Pedro Alves <palves@redhat.com>
Date: Wed Nov 21 11:55:11 2018 +0000
Use gdb:array_view in call_function_by_hand & friends
This replaces a few uses of pointer+length with gdb::array_view, in
call_function_by_hand and related code.
Unfortunately, due to -Wnarrowing, there are places where we can't
brace-initialize an gdb::array_view without an ugly-ish cast. To
avoid the cast, this patch introduces a gdb::make_array_view function.
Unit tests included.
This patch in isolation may not look so interesting, due to
gdb::make_array_view uses, but I think it's still worth it. Some of
the gdb::make_array_view calls disappear down the series, and others
could be eliminated with more (non-trivial) gdb::array_view
detangling/conversion (e.g. code around eval_call). See this as a "we
have to start somewhere" patch.
gdb/ChangeLog:
2018-11-21 Pedro Alves <palves@redhat.com>
* ada-lang.c (ada_evaluate_subexp): Adjust to pass an array_view.
* common/array-view.h (make_array_view): New.
* compile/compile-object-run.c (compile_object_run): Adjust to
pass an array_view.
* elfread.c (elf_gnu_ifunc_resolve_addr): Adjust.
* eval.c (eval_call): Adjust to pass an array_view.
(evaluate_subexp_standard): Adjust to pass an array_view.
* gcore.c (call_target_sbrk): Adjust to pass an array_view.
* guile/scm-value.c (gdbscm_value_call): Likewise.
* infcall.c (push_dummy_code): Replace pointer + size parameters
with an array_view parameter.
(call_function_by_hand, call_function_by_hand_dummy): Likewise and
adjust.
* infcall.h: Include "common/array-view.h".
(call_function_by_hand, call_function_by_hand_dummy): Replace
pointer + size parameters with an array_view parameter.
* linux-fork.c (inferior_call_waitpid): Adjust to use array_view.
* linux-tdep.c (linux_infcall_mmap): Likewise.
* objc-lang.c (lookup_objc_class, lookup_child_selector)
(value_nsstring, print_object_command): Likewise.
* python/py-value.c (valpy_call): Likewise.
* rust-lang.c (rust_evaluate_funcall): Likewise.
* spu-tdep.c (flush_ea_cache): Likewise.
* valarith.c (value_x_binop, value_x_unop): Likewise.
* valops.c (value_allocate_space_in_inferior): Likewise.
* unittests/array-view-selftests.c (run_tests): Add
gdb::make_array_view test.
commit 1b288e9bbfc6f22277ef7f804aeca26e991ad0a8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Nov 21 00:00:26 2018 +0000
Automatic date update in version.in
commit d63095c426f704f75d943a7481189628403ed58f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Nov 20 13:36:49 2018 +0000
gdb: Use string_printf to format int fields instead of a fixed size buffer
This patch removes a FIXME comment from cli-out.c, now instead of
formatting integers into a fixed size buffer we build a std::string
and extract the formatted integer from that.
The old code using a fixed size buffer was probably fine (the integer
was not going to overflow it) and probably slightly more efficient
(avoids building a std::string) however, given we already have utility
code in GDB that will allow the 'FIXME' comment to be removed, it
seems like an easy improvement.
gdb/ChangeLog:
* cli-out.c (cli_ui_out::do_field_int): Use string_printf rather
than a fixed size buffer.
commit 1871a62daf0561da0880ba1ad39e8191bc3cf1ac
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Nov 20 12:59:18 2018 +0000
gdb: Respect field width and alignment for 'fmt' fields in CLI output
Currently the method 'cli_ui_out::do_field_fmt' has this comment:
/* This is the only field function that does not align. */
The reality is even slightly worse, the 'fmt' field type doesn't
respect either the field alignment or the field width. In at least
one place in GDB we attempt to work around this lack of respect for
field width by adding additional padding manually. But, as is often
the case, this is leading to knock on problems.
Conside the output for 'info breakpoints' when a breakpoint has
multiple locations. This example is taken from the testsuite, from
test gdb.opt/inline-break.exp:
(gdb) info breakpoints
Num Type Disp Enb Address What
1 breakpoint keep y <MULTIPLE>
1.1 y 0x00000000004004ae in func4b at /src/gdb/testsuite/gdb.opt/inline-break.c:64
1.2 y 0x0000000000400682 in func4b at /src/gdb/testsuite/gdb.opt/inline-break.c:64
The miss-alignment of the fields shown here is exactly as GDB
currently produces.
With this patch 'fmt' style fields are now first written into a
temporary buffer, and then written out as a 'string' field. The
result is that the field width, and alignment should now be respected.
With this patch in place the output from GDB now looks like this:
(gdb) info breakpoints
Num Type Disp Enb Address What
1 breakpoint keep y <MULTIPLE>
1.1 y 0x00000000004004ae in func4b at /src/gdb/testsuite/gdb.opt/inline-break.c:64
1.2 y 0x0000000000400682 in func4b at /src/gdb/testsuite/gdb.opt/inline-break.c:64
This patch has been tested on x86-64/Linux with no regressions,
however, the testsuite doesn't always spot broken output formatting or
alignment. I have also audited all uses of 'fmt' fields that I could
find, and I don't think there are any other places that specifically
try to work around the lack of width/alignment, however, I could have
missed something.
gdb/ChangeLog:
* breakpoint.c (print_one_breakpoint_location): Reduce whitespace,
and remove insertion of extra spaces in GDB's output.
* cli-out.c (cli_ui_out::do_field_fmt): Update header comment.
Layout field into a temporary buffer, and then output it as a
string field.
gdb/testsuite/ChangeLog:
* gdb.opt/inline-break.exp: Add test that info breakpoint output
is correctly aligned.
commit 604c4ca9f33d13813312b2f127f6599a5c5de038
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Oct 28 15:30:45 2018 +0100
NEWS: Document the language choice by 'info [types|functions|variables]|rbreak'.
gdb/ChangeLog
2018-11-20 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* NEWS: Document the language choice done by
'info [types|functions|variables]|rbreak'.
commit 20813a0b7b0ccbeaa64aa83d92cd69e16a30cceb
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Oct 28 15:11:37 2018 +0100
Document language choice in 'info [functions|variables|types]|rbreak' commands
doc/ChangeLog
2018-11-20 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.texinfo (Examining the Symbol Table): Document language choice
for 'info types|functions|variables' commands.
(Setting Breakpoints): Document language choice to print
the functions in which a breakpoint is set.
commit fb5e1ed910730334c713c0834d3d66503511ef92
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Oct 28 14:07:52 2018 +0100
Add a test to verify info [functions|variables|types]|rbreak respect language_mode.
2018-11-20 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.ada/info_auto_lang.exp: New testcase.
* gdb.ada/info_auto_lang/global_pack.ads: New file.
* gdb.ada/info_auto_lang/proc_in_ada.adb: New file.
* gdb.ada/info_auto_lang/some_c.c: New file.
commit 43d397ca8f097e8f0ab0c245afeaa22b8da7ac52
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Oct 28 13:57:51 2018 +0100
Use scoped_switch_to_sym_language_if_auto in symtab.c to switch language.
Use scoped_switch_to_sym_language_if_auto in treg_matches_sym_type_name to
replace the local logic that was doing the same as the new class
scoped_switch_to_sym_language_if_auto.
Use scoped_switch_to_sym_language_if_auto inside print_symbol_info, so
that symbol information is printed in the symbol language when
language mode is auto.
This modifies the behaviour of the test dw2-case-insensitive.exp,
as the function FUNC_lang is now printed with the Fortran syntax
(as declared in the .S file).
gdb/ChangeLog
2018-11-20 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* symtab.c (treg_matches_sym_type_name): Use
scoped_switch_to_sym_language_if_auto instead of local logic.
(print_symbol_info): Use scoped_switch_to_sym_language_if_auto
to switch to SYM language when language mode is auto.
gdb/testsuite/ChangeLog
2018-11-20 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.dwarf2/dw2-case-insensitive.exp: Update due to auto switch to
FUNC_lang language syntax.
commit 9e6a1ab6652e8461f786d5c308f632a7c0acc53f
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun Oct 28 13:51:32 2018 +0100
Add class scoped_switch_to_sym_language_if_auto.
The class scoped_switch_to_sym_language_if_auto allows to switch in a scope
the current language to the language of a symbol when language mode is
set to auto.
2018-11-20 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* language.h (scoped_switch_to_sym_language_if_auto): New class.
commit beddd67132d5f8240613fd89b21ae0d2a1c7bd0f
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Oct 30 21:56:32 2018 +0100
Test case for 'info variables|functions' with minimal symbols.
2018-11-20 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.base/info_minsym.c: New file.
* gdb.base/info_minsym.exp: New file.
commit a8462bbf0bb1c2ef55c87d32bfde6d0a962de87c
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Tue Oct 30 21:20:52 2018 +0100
Fix regression 'info variables' does not show minimal symbols.
12615cba8411c8 Add [-q] [-t TYPEREGEXP] [NAMEREGEXP] args to info [args|functions|locals|variables]
introduced a regression that minimal symbols were not listed anymore, due to a wrong
condition checking the absence of a type regexp in the loop scanning the minimal symbols.
Instead, before entering the loop scanning the minimal symbols, check that we
do not have a type regexp, as we will never match a minimal symbol with
this type regexp.
With the fix in this patch, for this part of the code, we basically go back
to the GDB 8.2 logic, with just the addition of
&& !treg.has_value ())
to 'enter' in the minsym case.
This should ensure that at least there is no regression compared to 8.2,
when not using the new type matching argument, as there was no treg in 8.2.
2018-11-20 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* symtab.c (search_symbols): Properly check absence of type regexp
before entering the loop scanning the minimal symbols.
commit 4399bce99b9d1b4e52c386a1953c53337d22b457
Author: Pedro Alves <palves@redhat.com>
Date: Tue Nov 20 19:04:14 2018 +0000
Fix gdb/ChangeLog formatting and date
commit c3247a98cd2bf9dfcf733e6968273cce90850807
Author: John Darrington <john@darrington.wattle.id.au>
Date: Tue Nov 20 18:50:30 2018 +0100
GDB: S12Z: new function s12z_extract_return_value
Make gdb aware of the return values of functions which
return in registers.
gdb/ChangeLog:
* s12z-tdep.c (s12z_extract_return_value): New function.
(inv_reg_perm) New array.
(s12z_return_value): Populate readbuf if non-null.
commit 2fa1b3191e449f1efca31a654920a6bd3a1f4f28
Author: Eli Zaretskii <eliz@gnu.org>
Date: Tue Nov 20 19:23:51 2018 +0200
Fix previous change in filestuff.c
gdb/ChangeLog:
* common/filestuff.c (O_NOINHERIT): Define if not defined.
commit 970d89d8fdd84b31decaf3bd84e785aad057ea32
Author: Eli Zaretskii <eliz@gnu.org>
Date: Tue Nov 20 18:49:43 2018 +0200
Avoid "Invalid parameter passed to C runtime function" warning
This warning was displayed by OutputDebugString on MinGW when
GDB was being debugged natively.
gdb/ChangeLog:
* common/filestuff.c (gdb_fopen_cloexec): Disable use of "e" mode
with 'fopen' also if O_CLOEXEC is equal to O_NOINHERIT, to cater
to MinGW fixed by Gnulib.
commit f92f9e8780f74c5084c59689f91d28b8a3471538
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Nov 20 06:45:28 2018 -0800
readelf: Prune gaps warning in build notes
Since some object files may not have build notes, it is normal to have
gaps in build notes.
PR binutils/23898
* testsuite/lib/binutils-common.exp (prune_warnings_extra):
Prune gaps in build notes.
commit 7b5227d1323e6ee2833f9ba44dea36f3c1c49179
Author: John Darrington <john@darrington.wattle.id.au>
Date: Thu Nov 8 17:51:22 2018 +0100
GDB: S12Z: Add assertion
gdb/ChangeLog:
* s12z-tdep.c (s12z_frame_cache): Add an assertion.
commit dbe4e6545ee6a02da1a081fb51becb2843353bad
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Mon Nov 19 22:35:19 2018 -0500
Remove displaced_step_inferior_state::next
Commit
39a36629f68e ("Use std::forward_list for displaced_step_inferior_states")
missed removing the "next" field, while changing the hand-made linked
list in favor of std::forward_list. This patch fixes that.
gdb/ChangeLog:
* infrun.c (displaced_step_inferior_state) <next>: Remove.
commit 85a2ae1134426242fe52b609c372234062e0fa58
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Nov 20 00:00:36 2018 +0000
Automatic date update in version.in
commit 0614ef69be074fcfb2dc4e7b0e3b9c715a9b44ee
Author: Tom Tromey <tom@tromey.com>
Date: Tue Oct 9 14:31:15 2018 -0600
Change get_filename_and_charpos to return void
The return value from get_filename_and_charpos is never used, so this
patch changes it to return void.
gdb/ChangeLog
2018-11-19 Tom Tromey <tom@tromey.com>
* source.c (get_filename_and_charpos): Return void.
commit 261f6f7962e3fab7cad813a8821f00cd0173f88f
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Mon Nov 19 17:27:13 2018 -0500
Fix inaccuracies in "info skip" help
"help info skip" uses "skip info" in its examples, which is not the same
(it ends up creating new skips). Also, the Type column that is referred
to doesn't exist today.
gdb/ChangeLog:
* skip.c (_initialize_step_skip): Fix "info skip" help.
commit 73fc52c4ccecf005aac264e3faa08e815d25118a
Author: Tom Tromey <tom@tromey.com>
Date: Fri Nov 16 15:30:35 2018 -0700
Handle TYPE_CODE_PTR when printing Rust types
This changes the Rust type printers to handle TYPE_CODE_PTR. The
current approach is not ideal, because currently the code can't
distinguish between mut and const, or between pointers and references.
(These are debuginfo deficiencies, for which there are rustc bugs on
file.)
Meanwhile, this at least clears up the case seen in PR rust/23625.
Tested on x86-64 Fedora 28. The nightly compiler gives the best
results, but I regression-tested with stable and beta as well.
gdb/ChangeLog
2018-11-16 Tom Tromey <tom@tromey.com>
PR rust/23625:
* rust-lang.c (rust_internal_print_type): Handle TYPE_CODE_PTR.
gdb/testsuite/ChangeLog
2018-11-19 Tom Tromey <tom@tromey.com>
PR rust/23625:
* gdb.rust/simple.exp: Add ptype test. Update expected output.
* gdb.rust/expr.exp: Update expected output. Change one test.
commit 994b876a510ad2ed7e0d34a4c7d08f8039cef6ef
Author: Tom Tromey <tom@tromey.com>
Date: Mon Nov 19 10:52:32 2018 -0700
Fix gdb.rust/simple.rs for more recent compilers
gdb.rust/simple.exp will fail when run with a recent version of rustc.
This patch fixes the test case so that it will continue to run.
Tested on x86-64 Fedora 28.
I also temporarily backed out the rust-lang.c from
commit 098b2108a2b61531c0bc8ea16854f773083a95d7, and verified that
this updated test still would have provoked the original bug.
gdb/testsuite/ChangeLog
2018-11-19 Tom Tromey <tom@tromey.com>
* gdb.rust/simple.rs: Don't initialize empty_enum_value.
commit 39a36629f68e9796d950d9204012fe8272e2d0ef
Author: Simon Marchi <simon.marchi@ericsson.com>
Date: Mon Nov 19 11:05:13 2018 -0500
Use std::forward_list for displaced_step_inferior_states
Use std::forward_list instead of manually implemented list. This
simplifies a bit the code, especially around removal.
Regtested on the buildbot. There are some failures as always, but I
think they are unrelated.
gdb/ChangeLog:
* infrun.c (displaced_step_inferior_states): Change type to
std::forward_list.
(get_displaced_stepping_state): Adjust.
(displaced_step_in_progress_any_inferior): Adjust.
(add_displaced_stepping_state): Adjust.
(remove_displaced_stepping_state): Adjust.
commit 32641fa9259dbe2e576add1992434f404d1d6881
Author: John Darrington <john@darrington.wattle.id.au>
Date: Mon Nov 19 17:36:42 2018 +0100
GDB: Add ChangeLog entry inadvertently omitted from commit.
commit 6769f2765db0d94eeb8437b41a925e2bd871f514
Author: Pedro Alves <palves@redhat.com>
Date: Mon Nov 19 15:08:46 2018 +0000
gdb.base/warning.exp tweaks
#1- Check that the warning is emitted.
#2- Avoid overriding INTERNAL_GDBFLAGS, as per documentated in
gdb/testsuite/README:
~~~
The testsuite does not override a value provided by the user.
~~~
We don't actually need to tweak INTERNAL_GDBFLAGS, we just need to
append out -data-directory to GDBFLAGS, because each passed
-data-directory option leads to a call to the warning:
$ ./gdb -data-directory=foo -data-directory=bar
Warning: foo: No such file or directory.
Warning: bar: No such file or directory.
[...]
gdb/ChangeLog
2018-11-19 Pedro Alves <palves@redhat.com>
* gdb.base/warning.exp: Don't override INTERNAL_FLAGS. Use
gdb_spawn_with_cmdline_opts instead of gdb_start. Check that we
see the expected warning.
commit 4f323b727743e40ce9b0bde1e19a73b4586c2f25
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Nov 19 00:00:29 2018 +0000
Automatic date update in version.in
commit c2a6c5da37c0135acdb859ca819870980db69b77
Author: Tom Tromey <tom@tromey.com>
Date: Wed Nov 14 09:29:51 2018 -0700
Fix ia64-linux-nat.c
PR build/23814 points out that ia64-linux-nat.c will not compile any
more. This patch fixes the problem. Thanks to Andreas Schwab for
trying the patch.
gdb/ChangeLog
2018-11-18 Tom Tromey <tom@tromey.com>
PR build/23814:
* target-delegates.c: Rebuild.
* ia64-linux-nat.c (class ia64_linux_nat_target)
<have_steppable_watchpoint>: Use override. Return true, not 1.
(ia64_linux_nat_target::can_use_hw_breakpoint): Rename. Remove
"self" argument.
(ia64_linux_nat_target::low_new_thread): Rename.
(class ia64_linux_nat_target) <read_description>: Don't declare.
* target.h (struct target_ops) <have_steppable_watchpoint>: Return
bool.
commit ad6d89178df984c70c39f31eca149d8e5806c848
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Nov 18 00:01:35 2018 +0000
Automatic date update in version.in
commit b1406c0b980e3ce80abb119f918737916c43537d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Nov 17 00:00:40 2018 +0000
Automatic date update in version.in
commit 38a72da0f1d968432ae6a2a9697ba55932dc075e
Author: Alan Hayward <alan.hayward@arm.com>
Date: Thu Oct 11 14:47:30 2018 +0100
Aarch64: Fix segfault when casting dummy calls
The following will segfault on aarch64 if foo is in another object,
was compiled as c++ and has no debug symbols:
(gdb) p (int)foo()
This is because aarch64_push_dummy_call determines the return type
of the function and then does not check for null pointer.
A null pointer for the return type means the call has no debug
information. For the code to get here, then the call must have
been cast, otherwise we'd error out sooner. In the case of a
no-debug-info call cast, the return type is the type the user
had cast the call to, but we do not have that information
available here.
However, aarch64_push_dummy_call only requires the return type in
order to calculate lang_struct_return. This information is available
in the return_method enum. The fix is to simply use this instead.
Adds testcase to check calls across objects, with all combinations
of c, c++, debug and no debug.
gdb/ChangeLog:
PR gdb/22736:
* aarch64-tdep.c (aarch64_push_dummy_call): Remove
lang_struct_return code.
gdb/testsuite/ChangeLog:
PR gdb/22736:
* gdb.cp/infcall-nodebug-lib.c: New test.
* gdb.cp/infcall-nodebug-main.c: New test.
* gdb.cp/infcall-nodebug.exp: New file.
commit cf84fa6bcf514157df8343d32885050bafc396f7
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Nov 16 11:21:04 2018 +0000
Pass return_method to _push_dummy_call
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_push_dummy_call): Replace arg with
return_method.
* alpha-tdep.c (alpha_push_dummy_call): Likewise.
* amd64-tdep.c (amd64_push_arguments): Likewise.
(amd64_push_dummy_call): Likewise.
* amd64-windows-tdep.c (amd64_windows_push_arguments): Likewise.
* arc-tdep.c (arc_push_dummy_call): Likewise.
* arm-tdep.c (arm_push_dummy_call): Likewise.
* avr-tdep.c (avr_push_dummy_call): Likewise.
* bfin-tdep.c (bfin_push_dummy_call): Likewise.
* cris-tdep.c (cris_push_dummy_call): Likewise.
* csky-tdep.c (csky_push_dummy_call): Likewise.
* frv-tdep.c (frv_push_dummy_call): Likewise.
* gdbarch.c: Regenerate.
* gdbarch.h: Regenerate.
* gdbarch.sh (gdbarch_push_dummy_call): Replace arg with
return_method.
* h8300-tdep.c (h8300_push_dummy_call): Likewise.
* hppa-tdep.c (hppa32_push_dummy_call): Likewise.
(hppa64_push_dummy_call): Likewise.
* i386-darwin-tdep.c (i386_darwin_push_dummy_call): Likewise.
* i386-tdep.c (i386_push_dummy_call): Likewise.
* ia64-tdep.c (ia64_push_dummy_call): Likewise.
* infcall.c (call_function_by_hand_dummy): Likewise.
* iq2000-tdep.c (iq2000_push_dummy_call): Likewise.
* lm32-tdep.c (lm32_push_dummy_call): Likewise.
* m32c-tdep.c (m32c_push_dummy_call): Likewise.
* m32r-tdep.c (m32r_push_dummy_call): Likewise.
* m68hc11-tdep.c (m68hc11_push_dummy_call): Likewise.
* m68k-tdep.c (m68k_push_dummy_call): Likewise.
* mep-tdep.c (mep_push_dummy_call): Likewise.
* mips-tdep.c (mips_eabi_push_dummy_call): Likewise.
(mips_n32n64_push_dummy_call): Likewise.
(mips_o32_push_dummy_call): Likewise.
(mips_o64_push_dummy_call): Likewise.
* mn10300-tdep.c (mn10300_push_dummy_call): Likewise.
* msp430-tdep.c (msp430_push_dummy_call): Likewise.
* nds32-tdep.c (nds32_push_dummy_call): Likewise.
* nios2-tdep.c (nios2_push_dummy_call): Likewise.
* or1k-tdep.c (or1k_push_dummy_call): Likewise.
* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
(ppc64_sysv_abi_push_dummy_call): Likewise.
* ppc-tdep.h (ppc_sysv_abi_push_dummy_call): Likewise.
(ppc64_sysv_abi_push_dummy_call): Likewise.
* riscv-tdep.c (riscv_push_dummy_call): Likewise.
* rl78-tdep.c (rl78_push_dummy_call): Likewise.
* rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
* rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
* rx-tdep.c (rx_push_dummy_call): Likewise.
* s390-tdep.c (s390_push_dummy_call): Likewise.
* score-tdep.c (score_push_dummy_call): Likewise.
* sh-tdep.c (sh_push_dummy_call_fpu): Likewise.
(sh_push_dummy_call_nofpu): Likewise.
* sparc-tdep.c (sparc32_store_arguments): Likewise.
(sparc32_push_dummy_call): Likewise.
* sparc64-tdep.c (sparc64_store_arguments): Likewise.
(sparc64_push_dummy_call): Likewise.
* spu-tdep.c (spu_push_dummy_call): Likewise.
* tic6x-tdep.c (tic6x_push_dummy_call): Likewise.
* tilegx-tdep.c (tilegx_push_dummy_call): Likewise.
* v850-tdep.c (v850_push_dummy_call): Likewise.
* vax-tdep.c (vax_push_dummy_call): Likewise.
* xstormy16-tdep.c (xstormy16_push_dummy_call): Likewise.
* xtensa-tdep.c (xtensa_push_dummy_call): Likewise.
commit c5ac5cbb5be91d43bd31ac0068917bdb7ab9b439
Author: Alan Hayward <alan.hayward@arm.com>
Date: Fri Nov 16 11:21:00 2018 +0000
Use enum for return method for dummy calls
In call_function_by_hand_dummy, struct_return and hidden_first_param_p
are used to represent a single concept. Replace with an enum.
gdb/ChangeLog:
* gdbarch.sh (enum function_call_return_method): Add enum.
* gdbarch.h: Regenerate.
* infcall.c (call_function_by_hand_dummy): Replace vars with enum.
commit 81c688d54fdef81c5150ba64f8efa10449093e43
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Nov 16 11:35:24 2018 +0000
(Another) Updated Spanish translation for the ld subdirectory.
* po/es.po: Updated Spanish translation.
commit 2a2c6f530de72ff2794fed1e41979dc3210991b9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Nov 16 00:01:06 2018 +0000
Automatic date update in version.in
commit f9db0c4c6c074d2df927d2650229f31eac079640
Author: Joel Brobecker <brobecker@adacore.com>
Date: Thu Nov 15 10:53:57 2018 -0500
Move copy_bitwise unittests to own unittest file
Now that copy_bitwise has been made public, and considering that
its implementation could move to a different file again in the future,
this patch moves its unittest to its own file in gdb/unittests.
gdb/ChangeLog:
* unittests/copy_bitwise-selftests.c: New file.
* utils.c (selftests::bits_to_str, selftests::check_copy_bitwise)
(selftests::copy_bitwise_tests): Delete, moving this code to
unittests/copy_bitwise-selftests.c instead.
(_initialize_utils): Do not register copy_bitwise tests.
* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
unittests/copy_bitwise-selftests.c.
Tested on x86_64-linux using the official testsuite, but also by
verifying that "maintenance selftests" still runs the copy_bitwise
tests.
commit 92b3642af0e739e526e27d4b4a0c0505e72a8879
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Nov 15 11:55:24 2018 +0000
Updated Spanish translation for the ld subdirectory.
ld * po/es.po: Updated Spanish translation.
commit a0cd42fcd1d9a7544e93f6b1ef7f9a1fe98c8897
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Nov 15 00:00:41 2018 +0000
Automatic date update in version.in
commit a99bc3d23c133fe80f7ccac44246a471fb075bc3
Author: Joel Brobecker <brobecker@adacore.com>
Date: Wed Nov 14 18:18:49 2018 -0500
delete ada-lang.c::move_bits, sharing and re-using copy_bitwise instead
This patch deletes ada-lang.c's move_bits function entirely, and
replaces all calls to it by calls to copy_bitwise instead. Because
the latter function was declared locally inside dwarf2loc.c, this
patch also move the function to a common area, and makes it non-static.
gdb/ChangeLog:
* ada-lang.c (move_bits): Delete. Update all callers to use
copy_bitwise instead.
* dwarf2loc.c (copy_bitwise, bits_to_str::bits_to_str)
(selftests::check_copy_bitwise, selftests::copy_bitwise_tests):
Move from here to utils.c.
(_initialize_dwarf2loc): Remove call to register copy_bitwise
selftests.
* utils.h (copy_bitwise): Add declaration.
* utils.c (copy_bitwise, bits_to_str::bits_to_str)
(selftests::check_copy_bitwise, selftests::copy_bitwise_tests):
Moved here from dwarf2loc.c.
(_initialize_utils): Register copy_bitwise selftests.
Tested on x86_64-linux, no regression. Also tested using AdaCore's
testsuite on a collection of small endian and big endian platforms.
commit 8b2d40cbba8fbf98d6e031c7d8c7e2ac1baae2d9
Author: Jim Wilson <jimw@sifive.com>
Date: Wed Nov 14 14:54:10 2018 -0800
RISC-V: Fix unnamed arg alignment in registers.
For riscv64-linux target, second half of fix for
FAIL: gdb.base/gnu_vector.exp: call add_various_floatvecs
Unnamed arguments with 2*XLEN alignment are passed in aligned register pairs.
gdb/
* riscv-tdep.c (struct riscv_arg_info): New field is_unnamed.
(riscv_call_arg_scalar_int): If unnamed arg with twice xlen alignment,
then increment next_regnum if odd.
(riscv_arg_location): New arg is_unnamed. Set ainfo->is_unnamed.
(riscv_push_dummy_call): New local ftype. Call check_typedef to set
function type. Pass new arg to riscv_arg_location based on function
type.
(riscv_return_value): Pass new arg to riscv_arg_location.
commit ef2de9e7eb19cf6f56c8378df82cab30ff741fe0
Author: Jim Wilson <jimw@sifive.com>
Date: Wed Nov 14 14:52:34 2018 -0800
RISC-V: Handle vector type alignment.
For riscv64-linux target, first half of fix for
FAIL: gdb.base/gnu_vector.exp: call add_various_floatvecs
GCC gives vectors natural aligment based on total size, not element size,
bounded by the maximum supported type alignment.
gdb/
* riscv-tdep.c (BIGGEST_ALIGNMENT): New.
(riscv_type_alignment) <TYPE_CODE_ARRAY>: If TYPE_VECTOR, return min
of TYPE_LENGTH and BIGGEST_ALIGNMENT.
commit 174f8ac8d49021137f98884fc22a7d233e2f89b2
Author: Jim Wilson <jimw@sifive.com>
Date: Wed Nov 14 14:51:40 2018 -0800
RISC-V: Give stack slots same align as XLEN.
For riscv64-linux target, fixes
FAIL: gdb.base/gnu_vector.exp: call add_many_charvecs
Ensure that stack slots are always the same alignment as XLEN by rounding
up arg align to xlen.
gdb/
* riscv-tdep.c (riscv_call_arg_scalar_int): Use std::min when
setting len. New local align, set to max of arg align and xlen,
and pass to first riscv_assign_stack_location call.
commit dd9168931facd539a585b88d7b7c6c04c8c065c2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Wed Nov 14 00:01:05 2018 +0000
Automatic date update in version.in
commit 0242af401093907f6f2bf49d90c1e5d1e23b4453
Author: Jim Wilson <jimw@sifive.com>
Date: Tue Nov 13 15:50:38 2018 -0800
RISC-V: Improve linker error for FP mismatch.
bfd/
* elfnn-riscv.c (riscv_float_abi_string): New.
(_bfd_riscv_elf_merge_private_bfd_data): Use it for error message.
commit 97b3f39201efc9029a9a27d65f13674964c51503
Author: Francois H. Theron <francois.theron@netronome.com>
Date: Tue Nov 13 12:33:16 2018 +0200
opcodes/nfp: Fix disassembly of crc[] with swapped operands.
The decoding of the CRC operation in alu instructions was using bits
from the instruction word directly, instead of srcA which would be
different if the swap bit was set.
Signed-off-by: Francois H. Theron <francois.theron@netronome.com>
commit 497d849d28d933016ae0ad388c86b08bb16dd504
Author: Thomas Preud'homme <thomas.preudhomme@linaro.org>
Date: Tue Nov 13 12:19:28 2018 +0000
[ARM] Improve indentation of ARM architecture declarations
This commit cleans up indentation of ARM architecture declaration,
namely entries of arm_archs and definition of macros ARM_EXT_*,
ARM_AEXT_*, ARM_AEXT2_*, FPU_EXT_*, FPU_ARCH_* and ARM_ARCH_*. It also
gets rid of unused ARM_ARCH_V6M-ONLY and merge AEM_AEXT_V6M_ONLY in
ARM_AEXT_V6M now sole user.
gas/
2018-11-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/tc-arm.c (arm_archs): Reindent.
include/
2018-11-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
* opcode/arm.h (ARM_AEXT_V6M_ONLY): Merge into its use in ARM_AEXT_V6M.
(ARM_ARCH_V6M_ONLY): Remove.
(ARM_EXT_V1, ARM_EXT_V2, ARM_EXT_V2S, ARM_EXT_V3, ARM_EXT_V3M,
ARM_EXT_V4, ARM_EXT_V4T, ARM_EXT_V5, ARM_EXT_V5T, ARM_EXT_V5ExP,
ARM_EXT_V5E, ARM_EXT_V5J, ARM_EXT_V6, ARM_EXT_V6K, ARM_EXT_V8,
ARM_EXT_V6T2, ARM_EXT_DIV, ARM_EXT_V5E_NOTM, ARM_EXT_V6_NOTM,
ARM_EXT_V7, ARM_EXT_V7A, ARM_EXT_V7R, ARM_EXT_V7M, ARM_EXT_V6M,
ARM_EXT_BARRIER, ARM_EXT_THUMB_MSR, ARM_EXT_V6_DSP, ARM_EXT_MP,
ARM_EXT_SEC, ARM_EXT_OS, ARM_EXT_ADIV, ARM_EXT_VIRT, ARM_EXT2_PAN,
ARM_EXT2_V8_2A, ARM_EXT2_V8M, ARM_EXT2_ATOMICS, ARM_EXT2_V6T2_V8M,
ARM_EXT2_FP16_INST, ARM_EXT2_V8M_MAIN, ARM_EXT2_RAS, ARM_EXT2_V8_3A,
ARM_EXT2_V8A, ARM_EXT2_V8_4A, ARM_EXT2_FP16_FML, ARM_EXT2_V8_5A,
ARM_EXT2_SB, ARM_EXT2_PREDRES, ARM_CEXT_XSCALE, ARM_CEXT_MAVERICK,
ARM_CEXT_IWMMXT, ARM_CEXT_IWMMXT2, FPU_ENDIAN_PURE, FPU_ENDIAN_BIG,
FPU_FPA_EXT_V1, FPU_FPA_EXT_V2, FPU_MAVERICK, FPU_VFP_EXT_V1xD,
FPU_VFP_EXT_V1, FPU_VFP_EXT_V2, FPU_VFP_EXT_V3xD, FPU_VFP_EXT_V3,
FPU_NEON_EXT_V1, FPU_VFP_EXT_D32, FPU_VFP_EXT_FP16, FPU_NEON_EXT_FMA,
FPU_VFP_EXT_FMA, FPU_VFP_EXT_ARMV8, FPU_NEON_EXT_ARMV8,
FPU_CRYPTO_EXT_ARMV8, CRC_EXT_ARMV8, FPU_VFP_EXT_ARMV8xD,
FPU_NEON_EXT_RDMA, FPU_NEON_EXT_DOTPROD, ARM_AEXT_V1, ARM_AEXT_V2,
ARM_AEXT_V2S, ARM_AEXT_V3, ARM_AEXT_V3M, ARM_AEXT_V4xM, ARM_AEXT_V4,
ARM_AEXT_V4TxM, ARM_AEXT_V4T, ARM_AEXT_V5xM, ARM_AEXT_V5,
ARM_AEXT_V5TxM, ARM_AEXT_V5T, ARM_AEXT_V5TExP, ARM_AEXT_V5TE,
ARM_AEXT_V5TEJ, ARM_AEXT_V6, ARM_AEXT_V6K, ARM_AEXT_V6Z, ARM_AEXT_V6KZ,
ARM_AEXT_V6T2, ARM_AEXT_V6KT2, ARM_AEXT_V6ZT2, ARM_AEXT_V6KZT2,
ARM_AEXT_V7_ARM, ARM_AEXT_V7A, ARM_AEXT_V7VE, ARM_AEXT_V7R,
ARM_AEXT_NOTM, ARM_AEXT_V6M_ONLY, ARM_AEXT_V6M, ARM_AEXT_V6SM,
ARM_AEXT_V7M, ARM_AEXT_V7, ARM_AEXT_V7EM, ARM_AEXT_V8A, ARM_AEXT2_V8A,
ARM_AEXT2_V8_1A, ARM_AEXT2_V8_2A, ARM_AEXT2_V8_3A, ARM_AEXT2_V8_4A,
ARM_AEXT2_V8_5A, ARM_AEXT_V8M_BASE, ARM_AEXT_V8M_MAIN,
ARM_AEXT_V8M_MAIN_DSP, ARM_AEXT2_V8M, ARM_AEXT2_V8M_BASE,
ARM_AEXT2_V8M_MAIN, ARM_AEXT2_V8M_MAIN_DSP, ARM_AEXT_V8R,
ARM_AEXT2_V8R, FPU_VFP_V1xD, FPU_VFP_V1, FPU_VFP_V2, FPU_VFP_V3D16,
FPU_VFP_V3, FPU_VFP_V3xD, FPU_VFP_V4D16, FPU_VFP_V4, FPU_VFP_V4_SP_D16,
FPU_VFP_V5D16, FPU_VFP_ARMV8, FPU_NEON_ARMV8, FPU_CRYPTO_ARMV8,
FPU_VFP_HARD, FPU_FPA, FPU_ARCH_VFP, FPU_ARCH_FPE, FPU_ARCH_FPA,
FPU_ARCH_VFP_V1xD, FPU_ARCH_VFP_V1, FPU_ARCH_VFP_V2,
FPU_ARCH_VFP_V3D16_FP16, FPU_ARCH_VFP_V3, FPU_ARCH_VFP_V3_FP16,
FPU_ARCH_VFP_V3xD_FP16, FPU_ARCH_NEON_V1, FPU_ARCH_VFP_V3_PLUS_NEON_V1,
FPU_ARCH_NEON_FP16, FPU_ARCH_VFP_HARD, FPU_ARCH_VFP_V4,
FPU_ARCH_VFP_V4D16, FPU_ARCH_VFP_V4_SP_D16, FPU_ARCH_VFP_V5D16,
FPU_ARCH_VFP_V5_SP_D16, FPU_ARCH_NEON_VFP_V4, FPU_ARCH_VFP_ARMV8,
FPU_ARCH_NEON_VFP_ARMV8, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD, ARCH_CRC_ARMV8,
FPU_ARCH_NEON_VFP_ARMV8_1, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_1,
FPU_ARCH_DOTPROD_NEON_VFP_ARMV8, ARM_ARCH_V1, ARM_ARCH_V2,
ARM_ARCH_V2S, ARM_ARCH_V3, ARM_ARCH_V3M, ARM_ARCH_V4xM, ARM_ARCH_V4,
ARM_ARCH_V4TxM, ARM_ARCH_V4T, ARM_ARCH_V5xM, ARM_ARCH_V5,
ARM_ARCH_V5TxM, ARM_ARCH_V5T, ARM_ARCH_V5TExP, ARM_ARCH_V5TE,
ARM_ARCH_V5TEJ, ARM_ARCH_V6, ARM_ARCH_V6K, ARM_ARCH_V6Z, ARM_ARCH_V6KZ,
ARM_ARCH_V6T2, ARM_ARCH_V6KT2, ARM_ARCH_V6ZT2, ARM_ARCH_V6KZT2,
ARM_ARCH_V6M, ARM_ARCH_V6SM, ARM_ARCH_V7, ARM_ARCH_V7A, ARM_ARCH_V7VE,
ARM_ARCH_V7R, ARM_ARCH_V7M, ARM_ARCH_V7EM, ARM_ARCH_V8A,
ARM_ARCH_V8A_CRC, ARM_ARCH_V8_1A, ARM_ARCH_V8_2A, ARM_ARCH_V8_3A,
ARM_ARCH_V8_4A, ARM_ARCH_V8_5A, ARM_ARCH_V8M_BASE, ARM_ARCH_V8M_MAIN,
ARM_ARCH_V8M_MAIN_DSP, ARM_ARCH_V8R): Reindent.
commit 7322dd1f69b18653692e6d790376d7754b9cfd3e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Tue Nov 13 00:00:40 2018 +0000
Automatic date update in version.in
commit f77984e974c13d54a5c6a1e5d443c0c4564e48e8
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Nov 12 09:29:49 2018 -0800
i386: Accept both .plt.got and .plt.sec sections
Glibc commit:
commit a15529fda8d132621328c3fe32997a3d9c55aef4
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon May 14 09:23:55 2018 -0700
i386: Replace PREINIT_FUNCTION@PLT with *%eax in call
Since we have loaded address of PREINIT_FUNCTION into %eax, we can
avoid extra branch to PLT slot.
changed __gmon_start__ relocations in crt1.o from
00000015 0000092b R_386_GOT32X 00000000 __gmon_start__
0000001e 00000904 R_386_PLT32 00000000 __gmon_start__
to
00000015 00000a2b R_386_GOT32X 00000000 __gmon_start__
As the result, .plt.sec section may be generated instead of .plt.got
section, depending on __gmon_start__ relocations.
* testsuite/ld-i386/plt-main-ibt.dd: Accept both .plt.got and
.plt.sec sections.
commit 53a89d6e5861d23b2b9ad0c82247daddc117701a
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Mon Nov 12 10:38:44 2018 -0500
Add completer for skip numbers
Add completer to various commands that accept skip numbers:
- skip enable
- skip disable
- skip delete
- info skip
These commands also accept ranges, the completer works for that but is
not very smart. It will suggest invalid ranges, for example when doing
"2-<TAB>" it will suggest "1", which would not result in a valid range.
Also, it will keep suggesting when doing "1-2-<TAB>", even though it's
an invalid syntax.
A future idea would be to make a re-usable and well-tested completer for
numbers and ranges. I think it could at least be re-used for breakpoint
and thread numbers (for example with the "enable breakpoints" command).
gdb/ChangeLog:
* skip.c (complete_skip_number): New function.
(_initialize_step_skip): Add completers to some skip commands.
gdb/testsuite/ChangeLog:
* gdb.base/skip.exp: Add standard_testfile. Add "skip delete"
completer tests.
commit 8a758655b3ee39bed245a6ba2fc9f81f77813443
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Nov 12 15:12:15 2018 +0000
Update documentation describing how the linker chooses a start address.
PR 10865
* ld.texi (Entry Point): Make it clear that the text refers to
PE-based systems rather than just a PE system.
commit 3a0f69be5589d351453afebd0974992cff3ee4d1
Author: Sudakshina Das <sudi.das@arm.com>
Date: Mon Nov 12 13:29:38 2018 +0000
[BINUTILS, AARCH64, 8/8] Add data cache instructions for Memory Tagging Extension
This patch is part of the patch series to add support for ARMv8.5-A
Memory Tagging Extensions which is an optional extension to
ARMv8.5-A and is enabled using the +memtag command line option.
This patch adds all the data cache instructions that are part of this
extension:
- DC IGVAC, Xt
- DC IGSW, Xt
- DC CGSW, Xt
- DC CIGSW, Xt
- DC CGVAC, Xt
- DC CGVAP, Xt
- DC CGVADP, Xt
- DC CIGVAC, Xt
- DC GVA, Xt
- DC IGDVAC, Xt
- DC IGDSW, Xt
- DC CGDSW, Xt
- DC CIGDSW, Xt
- DC CGDVAC, Xt
- DC CGDVAP, Xt
- DC CGDVADP, Xt
- DC CIGDVAC, Xt
- DC GZVA, Xt
*** opcodes/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* aarch64-opc.c (aarch64_sys_regs_dc): New entries for
IGVAC, IGSW, CGSW, CIGSW, CGVAC, CGVAP, CGVADP, CIGVAC, GVA,
IGDVAC, IGDSW, CGDSW, CIGDSW, CGDVAC, CGDVAP, CGDVADP,
CIGDVAC and GZVA.
(aarch64_sys_ins_reg_supported_p): New check for above.
*** gas/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* testsuite/gas/aarch64/sysreg-4.s: Test IGVAC, IGSW,
CGSW, CIGSW, CGVAC, CGVAP, CGVADP, CIGVAC, GVA,
IGDVAC, IGDSW, CGDSW, CIGDSW, CGDVAC, CGDVAP, CGDVADP,
CIGDVAC and GZVA with DC.
* testsuite/gas/aarch64/sysreg-4.d: Likewise.
* testsuite/gas/aarch64/illegal-sysreg-4.l: Likewise.
commit 70f3d23af74dd6a1f90aec8748424cf0b5a953a5
Author: Sudakshina Das <sudi.das@arm.com>
Date: Mon Nov 12 13:26:01 2018 +0000
[BINUTILS, AARCH64, 7/8] Add system registers for Memory Tagging Extension
This patch is part of the patch series to add support for ARMv8.5-A
Memory Tagging Extensions which is an optional extension to
ARMv8.5-A and is enabled using the +memtag command line option.
This patch adds all the system registers that are part of this
extension and are accessible via the MRS/MSR instructions:
- TCO
- TFSRE0_SL1
- TFSR_EL1
- TFSR_EL2
- TFSR_EL3
- TFSR_EL12
- RGSR_EL1
- GCR_EL1
TCO is also accessible with the MSR(immediate) instruction.
*** opcodes/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* aarch64-opc.c (aarch64_sys_regs): New entries for TCO,
TFSRE0_SL1, TFSR_EL1, TFSR_EL2, TFSR_EL3, TFSR_EL12,
RGSR_EL1 and GCR_EL1.
(aarch64_sys_reg_supported_p): New check for above.
(aarch64_pstatefields): New entry for TCO.
(aarch64_pstatefield_supported_p): New check for above.
*** gas/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* testsuite/gas/aarch64/sysreg-4.s: Test TCO, TFSRE0_SL1,
TFSR_EL1, TFSR_EL2, TFSR_EL3, TFSR_EL12, RGSR_EL1 and
GCR_EL1 MSR and MRS.
* testsuite/gas/aarch64/sysreg-4.d: Likewise.
* testsuite/gas/aarch64/illegal-sysreg-4.l: Likewise.
commit 503ba600259856b41a88b56922e094ea826df270
Author: Sudakshina Das <sudi.das@arm.com>
Date: Mon Nov 12 13:19:12 2018 +0000
[BINUTILS, AARCH64, 6/8] Add Tag getting instruction in Memory Tagging Extension
This patch is part of the patch series to add support for ARMv8.5-A
Memory Tagging Extensions which is an optional extension to
ARMv8.5-A and is enabled using the +memtag command line option.
This patch add support to the Bulk Allocation Tag instructions from
MTE. These are the following instructions added in this patch:
- LDGV <Xt>, [<Xn|SP>]!
- STGV <Xt>, [<Xn|SP>]!
This needed a new kind of operand for the new addressing [<Xn|SP>]!
since this has no offset and only takes a pre-indexed version.
Hence AARCH64_OPND_ADDR_SIMPLE_2 and ldtdgv_indexed are introduced.
(AARCH64_OPND_ADDR_SIMPLE fulfilled the no offset criteria but does
not allow writeback). We also needed new encoding and decoding
functions to be able to do the same.
where
<Xt> : Is the 64-bit destination GPR.
<Xn|SP> : Is the 64-bit first source GPR or Stack pointer.
*** include/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_ADDR_SIMPLE_2.
(aarch64_insn_class): Add ldstgv_indexed.
*** opcodes/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* aarch64-asm.c (aarch64_ins_addr_simple_2): New.
* aarch64-asm.h (ins_addr_simple_2): Declare the above.
* aarch64-dis.c (aarch64_ext_addr_simple_2): New.
* aarch64-dis.h (ext_addr_simple_2): Declare the above.
* aarch64-opc.c (operand_general_constraint_met_p): Add case for
AARCH64_OPND_ADDR_SIMPLE_2 and ldstgv_indexed.
(aarch64_print_operand): Add case for AARCH64_OPND_ADDR_SIMPLE_2.
* aarch64-tbl.h (aarch64_opcode_table): Add stgv and ldgv.
(AARCH64_OPERANDS): Define ADDR_SIMPLE_2.
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
*** gas/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* config/tc-aarch64.c (parse_operands): Add switch case for
AARCH64_OPND_ADDR_SIMPLE_2 and allow [base]! for it.
(warn_unpredictable_ldst): Exempt ldstgv_indexed for ldgv.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Add tests for ldgv and stgv.
* testsuite/gas/aarch64/armv8_5-a-memtag.d: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
commit e6025b546c21b280ef05201b065f07335ee10e2e
Author: Sudakshina Das <sudi.das@arm.com>
Date: Mon Nov 12 13:14:00 2018 +0000
[BINUTILS, AARCH64, 5/8] Add Tag getting instruction in Memory Tagging Extension
This patch is part of the patch series to add support for ARMv8.5-A
Memory Tagging Extensions which is an optional extension to
ARMv8.5-A and is enabled using the +memtag command line option.
This patch add support to the Tag Getting instruction from Memory Tagging
Extension.
- LDG <Xt>, [<Xn|SP>, #<simm>]
where
<Xt> : Is the 64-bit destination GPR.
<Xn|SP> : Is the 64-bit first source GPR or Stack pointer.
<simm> : Is the optional signed immediate offset, a multiple of 16
in the range of -4096 and 4080, defaulting to 0.
*** opcodes/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* aarch64-tbl.h (QL_LDG): New.
(aarch64_opcode_table): Add ldg.
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
*** gas/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Add tests for ldg.
* testsuite/gas/aarch64/armv8_5-a-memtag.d: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
commit fb3265b371a141c4ffc97dcf8cc66e090c516dc8
Author: Sudakshina Das <sudi.das@arm.com>
Date: Mon Nov 12 13:09:55 2018 +0000
[BINUTILS, AARCH64, 4/8] Add Tag setting instructions in Memory Tagging Extension
This patch is part of the patch series to add support for ARMv8.5-A
Memory Tagging Extensions which is an optional extension to
ARMv8.5-A and is enabled using the +memtag command line option.
This patch add support to the Tag setting instructions from
MTE which consists of the following instructions:
- STG [<Xn|SP>, #<simm>]
- STG [<Xn|SP>, #<simm>]!
- STG [<Xn|SP>], #<simm>
- STZG [<Xn|SP>, #<simm>]
- STZG [<Xn|SP>, #<simm>]!
- STZG [<Xn|SP>], #<simm>
- ST2G [<Xn|SP>, #<simm>]
- ST2G [<Xn|SP>, #<simm>]!
- ST2G [<Xn|SP>], #<simm>
- STZ2G [<Xn|SP>, #<simm>]
- STZ2G [<Xn|SP>, #<simm>]!
- STZ2G [<Xn|SP>], #<simm>
- STGP <Xt>, <Xt2>, [<Xn|SP>, #<imm>]
- STGP <Xt>, <Xt2>, [<Xn|SP>, #<imm>]!
- STGP <Xt>, <Xt2>, [<Xn|SP>], #<imm>
where
<Xn|SP> : Is the 64-bit GPR or Stack pointer.
<simm> : Is the optional signed immediate offset, a multiple of 16
in the range -4096 to 4080, defaulting to 0.
*** include/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_ADDR_SIMM11
and AARCH64_OPND_ADDR_SIMM13.
(aarch64_opnd_qualifier): Add new AARCH64_OPND_QLF_imm_tag.
*** opcodes/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* aarch64-opc.c (aarch64_opnd_qualifiers): Add new data
for AARCH64_OPND_QLF_imm_tag.
(operand_general_constraint_met_p): Add case for
AARCH64_OPND_ADDR_SIMM11 and AARCH64_OPND_ADDR_SIMM13.
(aarch64_print_operand): Likewise.
* aarch64-tbl.h (QL_LDST_AT, QL_STGP): New.
(aarch64_opcode_table): Add stg, stzg, st2g, stz2g and stgp
for both offset and pre/post indexed versions.
(AARCH64_OPERANDS): Define ADDR_SIMM11 and ADDR_SIMM13.
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
*** gas/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* config/tc-aarch64.c (parse_operands): Add switch case for
AARCH64_OPND_ADDR_SIMM11 and AARCH64_OPND_ADDR_SIMM13.
(fix_insn): Likewise.
(warn_unpredictable_ldst): Exempt STGP.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Add tests for stg, st2g,
stzg, stz2g and stgp.
* testsuite/gas/aarch64/armv8_5-a-memtag.d: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
commit b731bc3b1bd122872a6aff68aafba1eda64a98d1
Author: Sudakshina Das <sudi.das@arm.com>
Date: Mon Nov 12 12:58:26 2018 +0000
[BINUTILS, AARCH64, 3/8] Add Pointer Arithmetic instructions in Memory Tagging Extension
This patch is part of the patch series to add support for ARMv8.5-A
Memory Tagging Extensions which is an optional extension to
ARMv8.5-A and is enabled using the +memtag command line option.
This patch add support to the Pointer Arithmetic instructions from
MTE. These are the following instructions added in this patch:
- SUBP <Xd>, <Xn|SP>, <Xm|SP>
- SUBPS <Xd>, <Xn|SP>, <Xm|SP>
- CMPP <Xn|SP>, <Xm|SP>
where CMPP is an alias to SUBPS XZR, <Xn|SP>, <Xm|SP>
where
<Xd> : Is the 64-bit destination GPR.
<Xn|SP> : Is the 64-bit first source GPR or Stack pointer.
<Xm|SP> : Is the 64-bit second source GPR or Stack pointer.
*** opcodes/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* aarch64-tbl.h (aarch64_opcode_table): Add subp, subps and cmpp.
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
*** gas/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Add tests for subp,
subps and cmpp.
* testsuite/gas/aarch64/armv8_5-a-memtag.d: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
commit 193614f2b908c2b55c188cb14c3ef78993ff85b0
Author: Sudakshina Das <sudi.das@arm.com>
Date: Mon Nov 12 12:52:55 2018 +0000
[BINUTILS, AARCH64, 2/8] Add Tag generation instructions in Memory Tagging Extension
This patch is part of the patch series to add support for ARMv8.5-A
Memory Tagging Extensions which is an optional extension to
ARMv8.5-A and is enabled using the +memtag command line option.
This patch add support to the Tag generation instructions from
MTE. These are the following instructions added in this patch:
- IRG <Xd|SP>, <Xn|SP>{, Xm}
- ADDG <Xd|SP>, <Xn|SP>, #<uimm1>. #<uimm2>
- SUBG <Xd|SP>, <Xn|SP>, #<uimm1>. #<uimm2>
- GMI <Xd>, <Xn|SP>, <Xm>
where
<Xd|SP> : Is the 64-bit destination GPR or Stack pointer.
<Xn|SP> : Is the 64-bit source GPR or Stack pointer.
<uimm6> : Is the unsigned immediate, a multiple of 16
in the range 0 to 1008.
<uimm4> : Is the unsigned immediate, in the range 0 to 15.
*** include/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* opcode/aarch64.h (aarch64_opnd): Add
AARCH64_OPND_UIMM4_ADDG and AARCH64_OPND_UIMM10 as new enums.
*** opcodes/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* aarch64-opc.h (aarch64_field_kind): New FLD_imm4_3.
(OPD_F_SHIFT_BY_4, operand_need_shift_by_four): New.
* aarch64-opc.c (fields): Add entry for imm4_3.
(operand_general_constraint_met_p): Add cases for
AARCH64_OPND_UIMM4_ADDG and AARCH64_OPND_UIMM10.
(aarch64_print_operand): Likewise.
* aarch64-tbl.h (QL_ADDG): New.
(aarch64_opcode_table): Add addg, subg, irg and gmi.
(AARCH64_OPERANDS): Define UIMM4_ADDG and UIMM10.
* aarch64-asm.c (aarch64_ins_imm): Add case for
operand_need_shift_by_four.
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.
*** gas/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* config/tc-aarch64.c (parse_operands): Add switch case for
AARCH64_OPND_UIMM4_ADDG and AARCH64_OPND_UIMM10.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: New.
* testsuite/gas/aarch64/armv8_5-a-memtag.d: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
* testsuite/gas/aarch64/illegal-memtag.d: Likewise.
commit 73b605ec3f546ff5a1c343ae02e6322aaa451bcf
Author: Sudakshina Das <sudi.das@arm.com>
Date: Mon Nov 12 12:45:30 2018 +0000
[BINUTILS, AARCH64, 1/8] Add support for Memory Tagging Extension for ARMv8.5-A
This patch is part of the patch series to add support for ARMv8.5-A
Memory Tagging Extensions. Memory Tagging Extension is an optional extension to
ARMv8.5-A and is enabled using the +memtag command line option.
This patch adds the new command line option and the new feature macros.
*** include/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* opcode/aarch64.h (AARCH64_FEATURE_MEMTAG): New.
*** opcodes/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* aarch64-tbl.h (aarch64_feature_memtag): New.
(MEMTAG, MEMTAG_INSN): New.
*** gas/ChangeLog ***
2018-11-12 Sudakshina Das <sudi.das@arm.com>
* config/tc-aarch64.c (aarch64_features): Add "memtag"
as a new option.
* doc/c-aarch64.texi: Document the same.
commit d1b603a74e3a06da231727eb88947666e1885196
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Nov 12 11:24:18 2018 +0000
Updated Spanish translation for the ld subdirectory.
ld * po/es.po: Updated Spanish translation.
commit 417e50dbcfd4b8dd699f48df5ac9b9a733fd80e2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Mon Nov 12 00:00:26 2018 +0000
Automatic date update in version.in
commit 0c57b50523a36c1fc9cb1c1c884c036027f5fa28
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sun Nov 11 00:01:25 2018 +0000
Automatic date update in version.in
commit 00a9f4ce3d20a9f705838961b529ef1652b7a0ae
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Sat Nov 10 00:00:36 2018 +0000
Automatic date update in version.in
commit eefce37f62d87a65f63e12e421a3f727b2685e9d
Author: Tom Tromey <tom@tromey.com>
Date: Mon Jul 23 19:47:39 2018 -0600
Remove a VEC from remote.c
This removes the VEC from remote_g_packet_data, replacing it with a
std::vector. This is a bit odd in that this object is never
destroyed, and is obstack-allocated. I believe a gdbarch is never
destroyed, so this seemed ok.
Tested by the buildbot.
gdb/ChangeLog
2018-11-09 Tom Tromey <tom@tromey.com>
* remote.c (remote_g_packet_guess_s): Remove typedef and DEF_VEC.
(struct remote_g_packet_data): Derive from allocate_on_obstack.
<guesses>: Now a std::vector.
(remote_g_packet_data_init, register_remote_g_packet_guess):
Update.
(remote_read_description_p): Update. Return bool.
(remote_target::read_description): Update.
(struct remote_g_packet_guess): Add constructor.
commit 2179fbc36d23f29a83fb3dfcac0fc7d1fb31b8e8
Author: Tom Tromey <tom@tromey.com>
Date: Sat Oct 27 12:23:44 2018 -0600
Return scoped_fd from open_source_file and find_and_open_source
This changes open_source_file and find_and_open_source to return
scoped_fd, then updates the callers as appropriate, including using
scoped_fd::to_file.
Tested by the buildbot.
gdb/ChangeLog
2018-11-09 Tom Tromey <tom@tromey.com>
* common/scoped_fd.h (class scoped_fd): Add move constructor and
move assignment operator.
* psymtab.c (psymtab_to_fullname): Update.
* source.h (open_source_file): Return scoped_fd.
(find_and_open_source): Likewise.
* source.c (open_source_file): Return scoped_fd.
(get_filename_and_charpos): Update.
(print_source_lines_base): Update. Use scoped_fd::to_file.
(forward_search_command): Likewise.
(reverse_search_command): Likewise.
(find_and_open_source): Return scoped_fd.
* tui/tui-source.c (tui_set_source_content): Update. Use
gdb_file_up.
commit 9c122c7f9c8260d2cceb1e8f29d69607531f43ba
Author: John Baldwin <jhb@FreeBSD.org>
Date: Fri Nov 9 11:44:20 2018 -0800
Fix unsigned overflow in minsyms reader.
Use a ssize_t helper variable for the number of bytes to shrink the
msymbols obstack rather than relying on unsigned overflow to shrink
the size of the obstack.
gdb/ChangeLog:
* minsyms.c (minimal_symbol_reader::install): Fix unsigned
overflow.
commit 4b905ae1b4d5f90e5737ee01ab4b7149be8c1fe5
Author: Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
Date: Fri Nov 9 16:09:03 2018 -0200
[PowerPC] Document requirements for VSX feature
As suggested in
https://sourceware.org/ml/gdb-patches/2018-10/msg00510.html, this
patch changes the documentation for the VSX tdesc feature to make it
clear that the altivec and FPU features are requirements.
gdb/doc/ChangeLog:
2018-11-09 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
* gdb.texinfo (PowerPC Features): Document the altivec and fpu
requirements for the org.gnu.gdb.power.vsx feature.
commit 5d762de01cc537cec47d3c7bbae0424a33b33b04
Author: Hafiz Abid Qadeer <abidh@codesourcery.com>
Date: Fri Nov 9 16:03:11 2018 +0000
Fix a typo in iconv.m4.
config/
2018-11-09 Hafiz Abid Qadeer <abidh@codesourcery.com>
* iconv.m4 (AM_ICONV_LINK): Don't overwrite CPPFLAGS.
Append $INCICONV to it.
gdb/
2018-11-09 Hafiz Abid Qadeer <abidh@codesourcery.com>
* configure: Regenerate.
binutils/
2018-11-09 Hafiz Abid Qadeer <abidh@codesourcery.com>
* configure: Regenerate.
intl/
2018-11-09 Hafiz Abid Qadeer <abidh@codesourcery.com>
* configure: Regenerate.
commit dfbfec241aa0ec5359906dd9cdf89ff90750d7c5
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date: Fri Nov 9 16:06:48 2018 +0000
Correct comment concerning PE timestamp insertion.
* peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Correct comment
concerning timestamp insertion.
commit 20b233dc4872717a845066b0362582ea4f483df7
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date: Fri Nov 9 15:49:29 2018 +0000
Fixed warning from previous patch. Added Changelog.
commit d07b621f4cc585607c7eee7cc58ce54a7dde52f5
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date: Thu Oct 4 10:17:03 2018 +0100
[ARC] More fixes for TLS.
Added warning for static TLS reloc.
Fixed issue related to TLS and partial static linking of libraries:
This issue was detected when throwing exceptions in C++ while linking with
-static-libstdc++.
TLS relocation from the libstdc++ wasn't being patched as local now that it was
static linked with the executable.
Fix for TLS with static and pie. Problem introduced by earlier patch:
Fixes the following glibc tests:
- elf/tst-tls1-static
bfd/
xxxx-xx-xx Cupertino Miranda <cmiranda@synopsys.com>
* arc-got.h (arc_got_entry_type_for_reloc): Changed to
correct static TLS relocs.
* elf32-arc.c (elf_arc_check_relocs): Introduced warning to
TLS relocs which require -fPIC.
(arc_create_forced_local_got_entries_for_tls): Created.
Traverses list of GOT entries to be resolved statically
when needed.
(elf_arc_finish_dynamic_sections): Changed. Calls
arc_create_forced_local_got_entries_for_tls for each known
possibly GOT symbol.
commit fda57deda7cc82d89ceee1afa966313247e60b1e
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Nov 9 14:18:02 2018 +0000
Updated French translation for the ld subdirectory.
* po/fr.po: Updated French translation.
commit d2eb0fb5a04e2e2ad374f56c7107f2421cdd93c9
Author: rhn <sowaac.rhn@porcupinefactory.org>
Date: Fri Nov 9 14:09:44 2018 +0000
Stop corruption of ihex output shen addresses are sign extended.
PR 23699
* ihex.c (ihex_write_object_contents): Check for sign extended
addresses that cannot be supported in the ihex format.
commit dcd9adc5cbac756507eb5da65a4f9cf3edb8fc93
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Nov 9 12:51:46 2018 +0000
oops - add missing piece of previous delta
commit 71f5e3f7b624a725ba550a2dd18a413c88ee6497
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Nov 9 12:48:23 2018 +0000
Enhance the strings program so that it can display multibyte strings.
* strings.c (print_strings): Check for multibyte encodings.
* binutils-all/strings-1.bin: New file. Test binary for string decoding.
* testsuite/binutils-all/strings.exp: New file. Test the strings program.
* testsuite/config/default.exp (STRINGS): Define if not provided
by the environment.
(STRINGSFLAGS): Likewise.
commit 0d0b0a378eb0c6705ff05a52e7468f5df5e47bc4
Author: Claudiu Zissulescu <claziss@gmail.com>
Date: Fri Nov 9 13:24:29 2018 +0200
[ARC] Update ld tests.
ld/
xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/ld-arc/tls_gd-01.d: Update test.
* testsuite/ld-arc/arclinux-nps.d: Add cpu option.
commit 0f2064107ba373ddcffb30afc55ac08b40c0585e
Author: Claudiu Zissulescu <claziss@gmail.com>
Date: Fri Nov 9 13:14:00 2018 +0200
[ARC] Fix local got entry list.
Fix a memory leak appearing when the local got entry list was constructed.
bfd/
xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com>
* arc-got.h (arc_get_local_got_ents): Revamp it; use
elf_local_got_ents to store the local got list.
(get_got_entry_list_for_symbo): Restructure it.
* elf32-arc.c (elf_arc_relocate_section): Correct the call to
get_got_entry_list_for_symbol.
commit 73af69e74974eaa155eec89867e3ccc77ab39f6d
Author: Marc <marc@groundctl.com>
Date: Fri Nov 9 11:13:50 2018 +0000
Allow for compilers that do not produce aligned .rdat sections in PE format files.
PR 23872
* scripttempl/pep.sc (pe.sc): Ensure rdata_runtime_pseudo_relocs
are aligned.
* scripttempl/pep.sc (pep.sc): Likewise.
commit 9325300dc283ece6bf6305b912f53114c0895114
Author: Tom de Vries <tdevries@suse.de>
Date: Fri Nov 9 11:54:04 2018 +0100
[gdb/symtab] Fix language of duplicate static minimal symbol
Consider a test-case with source files msym.c:
...
static int foo (void) { return 1; }
...
and msym_main.c:
...
static int foo (void) { return 2; }
int main (void) { return 0; }
..
compiled as c++ with minimal symbols:
...
$ g++ msym_main.c msym.c
...
With objdump -x we find the two foo symbols prefixed with their corresponding
files in the symbol table:
...
0000000000000000 l df *ABS* 0000000000000000 msym_main.c
00000000004004c7 l F .text 000000000000000b _ZL3foov
0000000000000000 l df *ABS* 0000000000000000 msym.c
00000000004004dd l F .text 000000000000000b _ZL3foov
...
However, when we use gdb to print info on foo, both foos are listed, but we
get one symbol mangled and one symbol demangled:
...
$ gdb ./a.out -batch -ex "info func foo"
All functions matching regular expression "foo":
Non-debugging symbols:
0x00000000004004c7 foo()
0x00000000004004dd _ZL3foov
...
During minimal symbol reading symbol_set_names is called for each symbol.
First, it's called with foo from msym.c, an entry is created in
per_bfd->demangled_names_hash and symbol_find_demangled_name is called, which
has the side effect of setting the language of the symbol to language_cplus.
Then, it's called with foo from msym_main.c. Since
per_bfd->demangled_names_hash already has an entry for that name,
symbol_find_demangled_name is not called, and the language of the symbol
remains language_auto.
Fix this by doing the symbol_find_demangled_name call unconditionally.
Build and reg-tested on x86_64-linux.
gdb/ChangeLog:
2018-11-09 Tom de Vries <tdevries@suse.de>
* symtab.c (symbol_set_names): Call symbol_find_demangled_name
unconditionally, to set the language of the symbol. Manage freeing
returned pointer using gdb::unique_xmalloc_ptr.
gdb/testsuite/ChangeLog:
2018-11-09 Tom de Vries <tdevries@suse.de>
* gdb.base/msym-lang.c: New test.
* gdb.base/msym-lang.exp: New file.
* gdb.base/msym-lang-main.c: New test.
commit 13daa8e4889a971309f7d46a8d49129cb26088a5
Author: Andreas Krebbel <krebbel@linux.ibm.com>
Date: Fri Nov 9 11:00:47 2018 +0100
S/390: Fix optional operand handling after memory addresses
Instructions having an optional argument following a memory address
operand were not handled correctly if the optional argument was not
specified.
gas/ChangeLog:
2018-11-09 Andreas Krebbel <krebbel@linux.ibm.com>
* config/tc-s390.c (skip_optargs_p): New function.
(md_gather_operands): Use skip_optargs_p.
* testsuite/gas/s390/s390.exp: Run the new test.
* testsuite/gas/s390/zarch-optargs.d: New test.
* testsuite/gas/s390/zarch-optargs.s: New test.
commit 0e2779e98dc1251b469db690458d14262c72e303
Author: Alan Modra <amodra@gmail.com>
Date: Wed Nov 7 16:12:36 2018 +1030
PowerPC, don't use bfd reloc howto in md_assemble
We support source like the following
.data
.quad x-.
.space 8
x:
where at the time the .quad line is assembled, x is unknown so a fixup
is emitted for later evaluation. This is supported for data even when
the target may not have relocations for the expression, for example,
32-bit powerpc targets lack a 64-bit reloc. As long as the fixup
resolves at assembly time, gas is happy.
The idea of this patch is to support fixups that resolve at assembly
time for instructions too, even when the target might lack the
necessary relocations (and thus no howto).
* config/tc-ppc.c (fixup_size): New function.
(md_assemble): Use it to derive size and pcrel directly
from fixup reloc type.
commit 663cc8c0fc6ed1fc64b3a3930806cdaf33cfcefe
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Fri Nov 9 00:00:25 2018 +0000
Automatic date update in version.in
commit 9c710e1157caf7a2c3e4c816c72f88360f3e859c
Author: Tom Tromey <tom@tromey.com>
Date: Tue Nov 6 20:12:36 2018 -0700
Capitalize "<TAB>" in require_record_target error
This changes require_record_target to say "<TAB>" rather than "<tab>".
I think capitalizing here is a bit more GNU-ish, based on Emacs usage
and one other case in gdb.
gdb/ChangeLog
2018-11-08 Tom Tromey <tom@tromey.com>
* record.c (require_record_target): Upper-case "<TAB>".
commit 3c6618cd22d7f188b7c1a3c87edc8ed2b93fbe41
Author: Tom Tromey <tom@tromey.com>
Date: Tue Nov 6 20:09:20 2018 -0700
Fix output indentation for "info pretty-printers"
I noticed that "info pretty-printers" will indent the "objfile" line
like:
(top-gdb) info pretty-printer
global pretty-printers:
builtin
mpx_bound128
objfile /home/tromey/gdb/build/gdb/gdb pretty-printers:
type_lookup_function
I think the "objfile" line should be "out-dented", following the same
style as the "global" and "progspace" (not shown) lines.
This patch implements this.
gdb/ChangeLog
2018-11-08 Tom Tromey <tom@tromey.com>
* python/lib/gdb/command/pretty_printers.py
(InfoPrettyPrinter.invoke): Don't indent "objfile" heading.
commit 20f0d60db4fb5083779c4c9182bbc692f7d2bac5
Author: Tom Tromey <tom@tromey.com>
Date: Fri Oct 5 14:54:35 2018 -0600
Avoid crash when calling warning too early
I noticed that if you pass the name of an existing file (not a
directory) as the argument to --data-directory, gdb will crash:
$ ./gdb -nx --data-directory ./gdb
../../binutils-gdb/gdb/target.c:590:56: runtime error: member call on null pointer of type 'struct target_ops'
This was later reported as PR gdb/23838.
This happens because warning ends up calling
target_supports_terminal_ours, which calls current_top_target, which
returns nullptr this early.
This fixes the problem by handling this case specially in
target_supports_terminal_ours. I also changed
target_supports_terminal_ours to return bool.
gdb/ChangeLog
2018-11-08 Tom Tromey <tom@tromey.com>
PR gdb/23555:
PR gdb/23838:
* target.h (target_supports_terminal_ours): Return bool.
* target.c (target_supports_terminal_ours): Handle case where
current_top_target returns nullptr. Return bool.
gdb/testsuite/ChangeLog
2018-11-08 Tom Tromey <tom@tromey.com>
PR gdb/23555:
PR gdb/23838:
* gdb.base/warning.exp: New file.
commit d4718d5c9f9b5c41d88254429c61010c63139130
Author: Joel Brobecker <brobecker@adacore.com>
Date: Thu Nov 8 10:27:31 2018 -0500
(AArch64) wrong value returned by "finish" for HFA
Consider the gdb.ada/array_return.exp testcase, and in particular,
consider the following code...
type Small_Float_Vector is array (1 .. 2) of Float;
function Create_Small_Float_Vector return Small_Float_Vector is
begin
return (others => 4.25);
end Create_Small_Float_Vector;
... which declares a type which is an array with 2 floats in it
(floats are 4 bytes on AArch64), trying to get GDB to print
the return value from that function does not work:
(gdb) fin
Run till exit from #0 pck.create_small_float_vector () at /[...]/pck.adb:15
0x000000000000062c in p () at /[...]/p.adb:11
11 Vector := Create_Small_Float_Vector;
Value returned is $1 = (4.25, 0.0)
^^^
|||
We expected the value shown to be:
(gdb) fin
Run till exit from #0 pck.create_small_float_vector () at /[...]/pck.adb:15
0x000000000000062c in p () at /[...]/p.adb:11
11 Vector := Create_Small_Float_Vector;
Value returned is $1 = (4.25, 4.25)
Because the return type is an HFA, it is returned via the first two
SIMD registers. However, what happens is that the current implementation
fails to realize that this is an HFA, and therefore fetches the return
value from the wrong location. And the reason why it fails to realize
this is because it thinks that our array has 8 elements (HFAs have
a maximum of 4). Looking at aapcs_is_vfp_call_or_return_candidate_1,
where this is determined, we can easily see why (looks like a thinko):
| case TYPE_CODE_ARRAY:
| [...]
| struct type *target_type = TYPE_TARGET_TYPE (type);
| int count = aapcs_is_vfp_call_or_return_candidate_1
| (target_type, fundamental_type);
|
| if (count == -1)
| return count;
|
!! -> | count *= TYPE_LENGTH (type);
| return count;
Here, we first determine the count for one element of our array,
and so we should then be multiplying that count by the number
of elements in our array (2 in our case). But instead, we multiply it
by the total size (8). As a result, we do not classify the return
type as an HFA, and thus pick the wrong location for fetching
the return value.
gdb/ChangeLog:
* aarch64-tdep.c (aapcs_is_vfp_call_or_return_candidate_1):
return the correct count for potential HFAs.
Tested on aarch64-linux, fixes:
array_return.exp: value printed by finish of Create_Small_Float_Vector
commit b5420128da08dc81d94b265e88083d172909ea25
Author: Jan Beulich <jbeulich@novell.com>
Date: Thu Nov 8 12:12:05 2018 +0100
x86-64: fix ZMM register state tracking
The three AVX512 state components are entirely independent - one being
in its "init state" has no implication whatsoever on either of the other
two. Fully separate X86_XSTATE_ZMM_H and X86_XSTATE_ZMM handling, to
prevent upper halves of the upper 16 ZMM registers to display as if they
were zero (when they aren't) after e.g. VZEROALL/VZEROUPPER.
commit cd115d615c6558175a56c3d0896b6f1c62864cd1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Nov 5 22:00:31 2018 +0000
gdb/riscv: Update test to support targets without FP hardware
Update gdb.arch/riscv-reg-aliases.exp test to support targets without
floating point registers.
gdb/testsuite/ChangeLog:
* gdb.arch/riscv-reg-aliases.exp: Handle targets without floating
point hardware.
commit 17cf2897848e893d49b69eb65e00bbf71eb503ba
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon Oct 29 15:14:03 2018 +0000
gdb/riscv: Handle errors while setting the frame id
When we connect to a remote target one of the first things GDB does is
establish a frame id. If an error is thrown while building this frame
id then GDB will disconnect from the target.
This can mean that, if the user is attempting to connect to a target
that doesn't yet have a program loaded, or the program the user is
going to load onto the target doesn't match what is already loaded, or
the target is just in some undefined state, then the very first
request for a frame id can fail (for example, by trying to load from
an invalid memory address), and GDB will disconnect. It is then
impossible for the user to connect to the target and load a new
program at all.
An example of such a session might look like this:
Reading symbols from ./gdb/testsuite/outputs/gdb.arch/riscv-reg-aliases/riscv-reg-aliases...
(gdb) target remote :37191
Remote debugging using :37191
0x0000000000000100 in ?? ()
Cannot access memory at address 0x0
(gdb) load
You can't do that when your target is `exec'
(gdb) info frame
/path/to/gdb/gdb/thread.c:93: internal-error: thread_info* inferior_thread(): Assertion `tp' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
The solution is to handle errors in riscv_frame_this_id, and leave the
this_id variable with its default value, which is the predefined
'outermost' frame.
With this fix in place, connecting to the same target now looks like
this:
(gdb) target remote :37191
Remote debugging using :37191
0x0000000000000100 in ?? ()
(gdb) info frame
Stack level 0, frame at 0x0:
pc = 0x100; saved pc = <not saved>
Outermost frame: outermost
Arglist at unknown address.
Locals at unknown address, Previous frame's sp in sp
gdb/ChangeLog:
* riscv-tdep.c (riscv_insn::decode): Update header comment.
(riscv_frame_this_id): Catch errors thrown while building the
frame cache, leave the frame id as the default, which is the outer
frame id.
commit 5acaada74578ee6a902255f0272d5f3115b76309
Author: Alan Modra <amodra@gmail.com>
Date: Fri Nov 2 21:27:02 2018 +1030
Make gold testsuite work with CC and CXX specifying -B
The patch allows the gold testsuite to pass when using something like
the following configure line, which works for the rest of the binutils
testsuite. At least, it does if you don't configure your gcc with any
of the options that force a particular path to as or ld.
gccdir="/home/alan/build/gcc/prev-"
gccsrc="/home/alan/src/gcc.git"
gcctarg="x86_64-linux"
CC="${gccdir}gcc/xgcc -B${gccdir}gcc/" \
CXX="${gccdir}gcc/xg++ -B${gccdir}gcc/ -I${gccdir}$gcctarg/libstdc++-v3/include -I${gccdir}$gcctarg/libstdc++-v3/include/$gcctarg -I${gccsrc}/libstdc++-v3/libsupc++ -L${gccdir}$gcctarg/libstdc++-v3/src/.libs/" \
~/src/binutils-gdb/configure ...
gold's -Bgcctestdir/ option must come before the -B supplied by $CC
or $CXX, in order to pick up the linker we want to test. Also when
using a not-yet-installed gcc, it is necessary to provide a collect-ld
in gcctestdir/ as otherwise a collect-ld script in -B${gccdir}gcc/
will be used and the wrong linker tested.
Besides this, the patch fixes some bugs: The $COMPILE -D_FORTIFY_SOURCE
edit was wrong (but worked for usual values), and the $CXXLINK_S edit
unnecessarily but harmlessly used extra backslash quoting. See
posix shell documentation regarding quoting, or
www.gnu.org/software/bash/manual/bashref.html#Command-Substitution
Also, -Bgcctestdir/ in one place makes it less likely a new test will
be added that accidentally lacks the option.
* Makefile.am (gcctestdir1/ld): Use $@ and absolute paths.
(gcctestdir1/collect-ld): New.
(ld1_DEPENDENCIES): Add gcctestdir1/collect-ld.
(ld1_LDFLAGS): Remove -Bgcctestdir1/.
(editcc1, ld1_LINK): Define.
(gcctestdir2/ld, gcctestdir2/collect-ld, ld2_DEPENDENCIES),
(ld2_LDFLAGS, editcc2, ld2_LINK),
(ld1_r_DEPENDENCIES, ld1_r_LDFLAGS, ld1_r_LINK),
(gcctestdir2-r/ld, gcctestdir2-r/collect-ld, ld2_r_DEPENDENCIES),
(ld2_r_LDFLAGS, editcc2r, ld2_r_LINK),
(gcctestdir3/ld, gcctestdir3/collect-ld, ld3_DEPENDENCIES),
(ld3_LDFLAGS, editcc3, ld3_LINK),
(gcctestdir4/ld, gcctestdir4/collect-ld, ld4_DEPENDENCIES),
(ld4_LDFLAGS, editcc4, ld4_LINK): Similarly.
* Makefile.in: Regenerate.
* testsuite/Makefile.am (editcc): Define sed command to put
our -B option first. Remove other occurrences of -Bgcctestdir/
throughout file.
(editcc1): Define for -D_FORTIFY_SOURCE stripping.
(editcc2): Define for -static-libgcc/libstdc++ stripping.
(LINK1, CXXLINK1): Don't use CCLD or CXXLD.
(CCLD, CXXLD, COMPILE, LINK, CXXCOMPILE, CXXLINK, CXXLINK_S): Define
using editcc macros.
(gcctestdir/collect-ld): New rule, add as a dependency of..
(gcctestdir/ld): ..this. Use $@ and abs_top_buildir.
(gcctestdir/as): Use $@.
* testsuite/Makefile.in: Regenerate.
* testsuite/incremental_test.sh (actual): Match collect-ld too.
commit 9e49efb79c449852fdb2f727d500d7aba1e449a7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Nov 8 00:00:32 2018 +0000
Automatic date update in version.in
commit 76136aeda5ca3f23ba2f86fb6a6938b381d37f61
Author: Joel Brobecker <brobecker@adacore.com>
Date: Wed Nov 7 16:04:13 2018 -0500
(Ada/tasking) fix array or string index out of range warning
A recent change in the compiler highlighted a small weakness in
the function reading the contents of the Ada Task Control Block
(ATCB -- the data that allows us to inspect Ada tasks). As a result,
anytime we read it, we started getting some warnings. For instance,
using the gdb.ada/tasks.exp testcase...
$ gnatmake -g foo.adb
$ gdb foo
(gdb) b foo.adb:60
Breakpoint 1 at 0x403e07: file foo.adb, line 60.
(gdb) run
[...]
Thread 1 "foo" hit Breakpoint 1, foo () at foo.adb:60
60 for J in Task_List'Range loop -- STOP_HERE
... we can see that the "info tasks" command produces some warnings,
followed by the correct output.
(gdb) info tasks
!! -> warning: array or string index out of range
!! -> warning: array or string index out of range
!! -> warning: array or string index out of range
!! -> warning: array or string index out of range
ID TID P-ID Pri State Name
* 1 654050 48 Runnable main_task
2 654ef0 1 48 Accept or Select Term task_list(1)
3 658680 1 48 Accept or Select Term task_list(2)
4 65be10 1 48 Accept or Select Term task_list(3)
The problem comes from the fact that read_atcb, the function responsible
for loading the contents of the ATCB, blindly tries to read some data
which is only relevant when a task is waiting for another task on
an entry call. A comment in that code's section gives a hint as to
how the information is meant to be decoded:
/* Let My_ATCB be the Ada task control block of a task calling the
entry of another task; then the Task_Id of the called task is
in My_ATCB.Entry_Calls (My_ATCB.ATC_Nesting_Level).Called_Task. */
What the comment shows is that, to get the Id of the task being called,
one has to go through the entry calls field, which is an array pointer.
Up to now, we were lucky that, for tasks that are _not_ waiting on an
entry call, its ATCB atc_nesting_level used to be set to 1, and so
we were able to silently read some irrelevant data. But a recent change
now causes this field to be zero instead, and this triggers the warning,
since we are now trying to read outside of the array's range (arrays
in Ada often start at index 1, as is the case here).
We avoid this issue by simply only reading that data when the data
is actually known to be relevant (state == Entry_Caller_Sleep).
This, in turn, allows us to simplify a bit the use of the task_info->state
field, where we no longer need to check task the task has a state equal
to Entry_Caller_Sleep before using this field. Indeed, with this new
approach, we now know that, unless task_info->state == Entry_Caller_Sleep,
the state is now guaranteed to be zero. In other words, we no longer set
task_info->called_task to some random value, forcing to check the task's
state first as a way to verify that the data is not random.
gdb/ChangeLog:
* ada-lang.c (read_atcb): Only set task_info->called_task if
task_info->state == Entry_Caller_Sleep.
(print_ada_task_info): Do not check task_info->state before
checking task_info->called_task.
(info_task): Likewise.
commit 07deea26b5c3dfefe50dff74925e903b826acf22
Author: Joel Brobecker <brobecker@adacore.com>
Date: Wed Nov 7 16:03:38 2018 -0500
ada-tasks.c::read_atcb: start from a cleared ada_task_info result
The purpose of this patch is not to fix a bug per se, but rather
to robustify this function to make sure it never returns a struct
ada_task_info where some of the fields are left uninitialized.
Reading the current implementation, it attempts to methodically
set them all one by one: but it's not excluded that a future
change might miss something. A memset is cheap and make sure that
this function returns repeatable results.
This in turns allows us to remove some assignments which have become
redundant.
gdb/ChangeLog:
* ada-tasks.c (read_atcb): Clear task_info before computing
the value of each of its fields.
commit d3def5d73eb9d8295ca7b11d130b17a815151951
Author: Masatake Yamato <yamato@redhat.com>
Date: Wed Nov 7 18:07:36 2018 +0000
Enhance objdump's --disassemble switch so that it can now take an optional parameter, specifying the starting symbol for disassembly. Disassembly will continue from this symbol up to the next symbol.
* objdump.c (long_options): Have the --disassemble option take an
optional argument.
(usage): Add description for the `symbol' argument to the
--disassemble option.
(disasm_sym): New file private variable.
(struct objdump_disasm_info): New field `symbol'.
(disassemble_section): Introduce `do_print' local variable
to control whether objdump displays the result of disassembling
for a symbol or not.
(main): Set `symbol' file private variable if the option argument
for the --disassemble option is given.
* doc/binutils.texi (objdump): Add description for the option
argument.
* NEWS: Mention the new feature.
* testsuite/binutils-all/objdump.exp: Add tests of the -d and
--disassemble=<symbol> options.
* testsuite/binutils-all/bintest.s: Add more symbols and code.
* testsuite/binutils-all/readelf.s: Update expected output.
* testsuite/binutils-all/readelf.ss-64: Likewise.
* testsuite/binutils-all/readelf.ss-mips: Likewise.
* testsuite/binutils-all/readelf.ss-tmips: Likewise.
commit 0661ae2e5324719f7850e81fc1da9f6505361ae4
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Nov 7 16:09:27 2018 +0000
Add updated French and Portuguese translations.
gas * po/fr.po: Updated French translation.
bfd * po/fr.po: Updated French translation.
* po/pt.po: Updated Portuguese translation.
binutils* po/pt.po: Updated Portuguese translation.
commit fc7b364aba41819a5d74ae0ac69f050af282d057
Author: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Wed Nov 7 15:20:22 2018 +0000
Add support for new load commands added by Apple to the MACH-O file format.
bfd * mach-o.h: Add new enums for BFD_MACH_O_PLATFORM_MACOS,
BFD_MACH_O_PLATFORM_IOS, BFD_MACH_O_PLATFORM_TVOS,
BFD_MACH_O_PLATFORM_WATCHOS, BFD_MACH_O_PLATFORM_BRIDGEOS,
BFD_MACH_O_TOOL_CLANG, BFD_MACH_O_TOOL_SWIFT, BFD_MACH_O_TOOL_LD.
(struct bfd_mach_o_note_command): New.
(struct bfd_mach_o_build_version_tool): New.
(struct bfd_mach_o_build_version_command): New.
(bfd_mach_o_read_version_min): Don't split version into
a few fields. Rename reserved to sdk.
* mach-o.c (bfd_mach_o_read_version_min): Don't split version into a
few fields. Rename reserved to sdk.
(bfd_mach_o_read_command): Handle LC_VERSION_MIN_TVOS, LC_NOTE,
LC_BUILD_VERSION.
(bfd_mach_o_read_note): New.
(bfd_mach_o_read_build_version): New.
PR 23728
binutils* od-macho.c (printf_version): New.
(dump_load_command): Use it to print version. Print sdk version. Print
version info for watchOS and tvOS. Print LC_NOTE, LC_BUILD_VERSION.
(dump_buld_version): New.
(bfd_mach_o_platform_name): New
(bfd_mach_o_tool_name): New
* mach-o/external.h (mach_o_nversion_min_command_external): Rename
reserved to sdk.
(mach_o_note_command_external): New.
(mach_o_build_version_command_external): New.
* mach-o/loader.h (BFD_MACH_O_LC_VERSION_MIN_TVOS): Define.
(BFD_MACH_O_LC_NOTE): Define.
commit 35ee2dc2e4de8b1ae73f420d5db3375f92300b70
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Tue Nov 6 19:55:21 2018 +0000
gdb: Guard against NULL dereference in dwarf2_init_integer_type
In this commit:
commit eb77c9df9f6d2f7aa644a170280fe31ce080f887
Date: Thu Oct 18 14:04:27 2018 +0100
gdb: Handle ICC's unexpected void return type
A potential dereference of a NULL pointer was introduced if a
DW_TAG_base_type is missing a DW_AT_name attribute.
I have taken this opportunity to fix a slight confusion that existed
in the test also added in the above commit, the test had two C
variables, declared like this:
int var_a = 5;
void *var_ptr = &var_a;
However, the fake DWARF in the test script declared them like this:
void var_a = 5;
void *var_ptr = &var_a;
This wasn't a problem as the test never uses 'var_a' directly, this
only exists so 'var_ptr' can be initialised. However, it seemed worth
fixing.
I've also added a test for a DW_TAG_base_type with a missing
DW_AT_name, as clearly there's not test currently that covers this
(the original patch tested cleanly). I can confirm that the new test
causes GDB to crash before this patch, and passes with this patch.
gdb/ChangeLog:
* dwarf2read.c (dwarf2_init_integer_type): Check for name being
NULL before dereferencing it.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/void-type.exp: Rename types, and make var_a an 'int'.
* gdb.dwarf2/missing-type-name.exp: New file.
commit 42d4c301c45df41d1c724b7b86f8683a875c010a
Author: Alan Modra <amodra@gmail.com>
Date: Wed Nov 7 21:53:21 2018 +1030
Regen bfd/configure
* configure: Regenerate.
commit 8d3c78e473c2af54c8117808f2459a408f9f6327
Author: Yoshinori Sato <ysato@users.sourceforge.jp>
Date: Wed Nov 7 17:16:56 2018 +0900
rx: Add target rx-*-linux.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 38 +
bfd/ChangeLog | 4892 +-----
bfd/ChangeLog-2018 | 4949 +++++
bfd/MAINTAINERS | 2 +-
bfd/Makefile.am | 8 +-
bfd/Makefile.in | 14 +-
bfd/PORTING | 2 +-
bfd/README | 2 +-
bfd/TODO | 2 +-
bfd/acinclude.m4 | 2 +-
bfd/aix386-core.c | 2 +-
bfd/aix5ppc-core.c | 2 +-
bfd/aout-cris.c | 2 +-
bfd/aout-ns32k.c | 2 +-
bfd/aout-target.h | 2 +-
bfd/aout-tic30.c | 2 +-
bfd/aout32.c | 2 +-
bfd/aout64.c | 2 +-
bfd/aoutx.h | 42 +-
bfd/arc-got.h | 68 +-
bfd/arc-plt.def | 2 +-
bfd/arc-plt.h | 4 +-
bfd/archive.c | 19 +-
bfd/archive64.c | 12 +-
bfd/archures.c | 4 +-
bfd/bfd-in.h | 41 +-
bfd/bfd-in2.h | 52 +-
bfd/bfd.c | 22 +-
bfd/bfd.m4 | 2 +-
bfd/bfdio.c | 2 +-
bfd/bfdwin.c | 2 +-
bfd/binary.c | 2 +-
bfd/cache.c | 3 +-
bfd/cf-i386lynx.c | 2 +-
bfd/cisco-core.c | 2 +-
bfd/coff-alpha.c | 2 +-
bfd/coff-arm.c | 2 +-
bfd/coff-bfd.c | 2 +-
bfd/coff-bfd.h | 2 +-
bfd/coff-go32.c | 2 +-
bfd/coff-i386.c | 2 +-
bfd/coff-ia64.c | 2 +-
bfd/coff-mcore.c | 2 +-
bfd/coff-mips.c | 2 +-
bfd/coff-ppc.c | 2 +-
bfd/coff-rs6000.c | 75 +-
bfd/coff-sh.c | 2 +-
bfd/coff-stgo32.c | 2 +-
bfd/coff-tic30.c | 2 +-
bfd/coff-tic4x.c | 2 +-
bfd/coff-tic54x.c | 2 +-
bfd/coff-tic80.c | 2 +-
bfd/coff-x86_64.c | 2 +-
bfd/coff-z80.c | 2 +-
bfd/coff-z8k.c | 2 +-
bfd/coff64-rs6000.c | 19 +-
bfd/coffcode.h | 53 +-
bfd/coffgen.c | 18 +-
bfd/cofflink.c | 8 +-
bfd/coffswap.h | 2 +-
bfd/compress.c | 39 +-
bfd/config.bfd | 10 +-
bfd/configure | 70 +-
bfd/configure.ac | 10 +-
bfd/configure.com | 2 +-
bfd/configure.host | 2 +-
bfd/corefile.c | 2 +-
bfd/cpu-aarch64.c | 2 +-
bfd/cpu-alpha.c | 2 +-
bfd/cpu-arc.c | 2 +-
bfd/cpu-arm.c | 162 +-
bfd/cpu-avr.c | 2 +-
bfd/cpu-bfin.c | 2 +-
bfd/cpu-cr16.c | 2 +-
bfd/cpu-cr16c.c | 2 +-
bfd/cpu-cris.c | 2 +-
bfd/cpu-crx.c | 2 +-
bfd/cpu-csky.c | 2 +-
bfd/cpu-d10v.c | 2 +-
bfd/cpu-d30v.c | 2 +-
bfd/cpu-dlx.c | 2 +-
bfd/cpu-epiphany.c | 2 +-
bfd/cpu-fr30.c | 2 +-
bfd/cpu-frv.c | 2 +-
bfd/cpu-ft32.c | 2 +-
bfd/cpu-h8300.c | 2 +-
bfd/cpu-hppa.c | 2 +-
bfd/cpu-i386.c | 2 +-
bfd/cpu-ia64-opc.c | 2 +-
bfd/cpu-ia64.c | 2 +-
bfd/cpu-iamcu.c | 2 +-
bfd/cpu-ip2k.c | 2 +-
bfd/cpu-iq2000.c | 2 +-
bfd/cpu-k1om.c | 2 +-
bfd/cpu-l1om.c | 2 +-
bfd/cpu-lm32.c | 2 +-
bfd/cpu-m10200.c | 2 +-
bfd/cpu-m10300.c | 2 +-
bfd/cpu-m32c.c | 2 +-
bfd/cpu-m32r.c | 2 +-
bfd/cpu-m68hc11.c | 2 +-
bfd/cpu-m68hc12.c | 2 +-
bfd/cpu-m68k.c | 2 +-
bfd/cpu-m9s12x.c | 2 +-
bfd/cpu-m9s12xg.c | 2 +-
bfd/cpu-mcore.c | 2 +-
bfd/cpu-mep.c | 2 +-
bfd/cpu-metag.c | 2 +-
bfd/cpu-microblaze.c | 2 +-
bfd/cpu-mips.c | 2 +-
bfd/cpu-mmix.c | 2 +-
bfd/cpu-moxie.c | 2 +-
bfd/cpu-msp430.c | 2 +-
bfd/cpu-mt.c | 2 +-
bfd/cpu-nds32.c | 2 +-
bfd/cpu-nfp.c | 2 +-
bfd/cpu-nios2.c | 2 +-
bfd/cpu-ns32k.c | 2 +-
bfd/cpu-or1k.c | 2 +-
bfd/cpu-pdp11.c | 2 +-
bfd/cpu-pj.c | 2 +-
bfd/cpu-plugin.c | 2 +-
bfd/cpu-powerpc.c | 2 +-
bfd/cpu-pru.c | 2 +-
bfd/cpu-riscv.c | 2 +-
bfd/cpu-rl78.c | 2 +-
bfd/cpu-rs6000.c | 2 +-
bfd/cpu-rx.c | 32 +-
bfd/cpu-s12z.c | 2 +-
bfd/cpu-s390.c | 2 +-
bfd/cpu-score.c | 2 +-
bfd/cpu-sh.c | 2 +-
bfd/cpu-sparc.c | 2 +-
bfd/cpu-spu.c | 2 +-
bfd/cpu-tic30.c | 2 +-
bfd/cpu-tic4x.c | 2 +-
bfd/cpu-tic54x.c | 2 +-
bfd/cpu-tic6x.c | 2 +-
bfd/cpu-tic80.c | 2 +-
bfd/cpu-tilegx.c | 2 +-
bfd/cpu-tilepro.c | 2 +-
bfd/cpu-v850.c | 2 +-
bfd/cpu-v850_rh850.c | 2 +-
bfd/cpu-vax.c | 2 +-
bfd/cpu-visium.c | 2 +-
bfd/cpu-wasm32.c | 2 +-
bfd/cpu-xc16x.c | 2 +-
bfd/cpu-xgate.c | 2 +-
bfd/cpu-xstormy16.c | 2 +-
bfd/cpu-xtensa.c | 2 +-
bfd/cpu-z80.c | 2 +-
bfd/cpu-z8k.c | 2 +-
bfd/development.sh | 2 +-
bfd/doc/Makefile.am | 2 +-
bfd/doc/Makefile.in | 2 +-
bfd/doc/bfd.texi | 6 +-
bfd/doc/bfdint.texi | 4 +-
bfd/doc/bfdsumm.texi | 2 +-
bfd/doc/chew.c | 2 +-
bfd/doc/makefile.vms | 2 +-
bfd/dwarf1.c | 2 +-
bfd/dwarf2.c | 13 +-
bfd/ecoff.c | 2 +-
bfd/ecofflink.c | 2 +-
bfd/ecoffswap.h | 2 +-
bfd/elf-attrs.c | 4 +-
bfd/elf-bfd.h | 6 +-
bfd/elf-eh-frame.c | 16 +-
bfd/elf-hppa.h | 2 +-
bfd/elf-ifunc.c | 2 +-
bfd/elf-linux-core.h | 2 +-
bfd/elf-m10200.c | 2 +-
bfd/elf-m10300.c | 2 +-
bfd/elf-nacl.c | 2 +-
bfd/elf-nacl.h | 4 +-
bfd/elf-properties.c | 185 +-
bfd/elf-s390-common.c | 2 +-
bfd/elf-s390.h | 2 +-
bfd/elf-strtab.c | 2 +-
bfd/elf-vxworks.c | 2 +-
bfd/elf-vxworks.h | 2 +-
bfd/elf.c | 143 +-
bfd/elf32-am33lin.c | 2 +-
bfd/elf32-arc.c | 131 +-
bfd/elf32-arm.c | 5 +-
bfd/elf32-avr.c | 3 +-
bfd/elf32-avr.h | 2 +-
bfd/elf32-bfin.c | 2 +-
bfd/elf32-cr16.c | 2 +-
bfd/elf32-cr16c.c | 2 +-
bfd/elf32-cris.c | 2 +-
bfd/elf32-crx.c | 2 +-
bfd/elf32-csky.c | 2 +-
bfd/elf32-d10v.c | 2 +-
bfd/elf32-d30v.c | 2 +-
bfd/elf32-dlx.c | 2 +-
bfd/elf32-dlx.h | 2 +-
bfd/elf32-epiphany.c | 2 +-
bfd/elf32-fr30.c | 2 +-
bfd/elf32-frv.c | 2 +-
bfd/elf32-ft32.c | 4 +-
bfd/elf32-gen.c | 2 +-
bfd/elf32-h8300.c | 2 +-
bfd/elf32-hppa.c | 2 +-
bfd/elf32-hppa.h | 2 +-
bfd/elf32-i386.c | 25 +-
bfd/elf32-ip2k.c | 2 +-
bfd/elf32-iq2000.c | 2 +-
bfd/elf32-lm32.c | 2 +-
bfd/elf32-m32c.c | 2 +-
bfd/elf32-m32r.c | 2 +-
bfd/elf32-m68hc11.c | 2 +-
bfd/elf32-m68hc12.c | 2 +-
bfd/elf32-m68hc1x.c | 2 +-
bfd/elf32-m68hc1x.h | 2 +-
bfd/elf32-m68k.c | 2 +-
bfd/elf32-mcore.c | 2 +-
bfd/elf32-mep.c | 2 +-
bfd/elf32-metag.c | 2 +-
bfd/elf32-metag.h | 2 +-
bfd/elf32-microblaze.c | 2 +-
bfd/elf32-mips.c | 2 +-
bfd/elf32-moxie.c | 4 +-
bfd/elf32-msp430.c | 8 +-
bfd/elf32-mt.c | 2 +-
bfd/elf32-nds32.c | 6 +-
bfd/elf32-nds32.h | 2 +-
bfd/elf32-nios2.c | 36 +-
bfd/elf32-nios2.h | 2 +-
bfd/elf32-or1k.c | 57 +-
bfd/elf32-pj.c | 2 +-
bfd/elf32-ppc.c | 48 +-
bfd/elf32-ppc.h | 2 +-
bfd/elf32-pru.c | 2 +-
bfd/elf32-rl78.c | 3 +-
bfd/elf32-rx.c | 33 +-
bfd/elf32-rx.h | 2 +-
bfd/elf32-s12z.c | 15 +-
bfd/elf32-s390.c | 8 +-
bfd/elf32-score.c | 2 +-
bfd/elf32-score.h | 2 +-
bfd/elf32-score7.c | 2 +-
bfd/elf32-sh-relocs.h | 2 +-
bfd/elf32-sh.c | 8 +-
bfd/elf32-sparc.c | 35 +-
bfd/elf32-spu.c | 2 +-
bfd/elf32-spu.h | 2 +-
bfd/elf32-tic6x.c | 2 +-
bfd/elf32-tic6x.h | 2 +-
bfd/elf32-tilegx.c | 2 +-
bfd/elf32-tilegx.h | 2 +-
bfd/elf32-tilepro.c | 2 +-
bfd/elf32-tilepro.h | 2 +-
bfd/elf32-v850.c | 2 +-
bfd/elf32-vax.c | 2 +-
bfd/elf32-visium.c | 15 +-
bfd/elf32-wasm32.c | 3 +-
bfd/elf32-xc16x.c | 13 +-
bfd/elf32-xgate.c | 2 +-
bfd/elf32-xstormy16.c | 2 +-
bfd/elf32-xtensa.c | 71 +-
bfd/elf32.c | 2 +-
bfd/elf64-alpha.c | 2 +-
bfd/elf64-gen.c | 2 +-
bfd/elf64-hppa.c | 2 +-
bfd/elf64-hppa.h | 2 +-
bfd/elf64-ia64-vms.c | 2 +-
bfd/elf64-mips.c | 2 +-
bfd/elf64-mmix.c | 2 +-
bfd/elf64-nfp.c | 3 +-
bfd/elf64-ppc.c | 24 +-
bfd/elf64-ppc.h | 2 +-
bfd/elf64-s390.c | 8 +-
bfd/elf64-sparc.c | 53 +-
bfd/elf64-tilegx.c | 2 +-
bfd/elf64-tilegx.h | 2 +-
bfd/elf64-x86-64.c | 326 +-
bfd/elf64.c | 2 +-
bfd/elfcode.h | 46 +-
bfd/elfcore.h | 2 +-
bfd/elflink.c | 61 +-
bfd/elfn32-mips.c | 2 +-
bfd/elfnn-aarch64.c | 510 +-
bfd/elfnn-ia64.c | 3 +-
bfd/elfnn-riscv.c | 476 +-
bfd/elfxx-aarch64.c | 224 +-
bfd/elfxx-aarch64.h | 29 +-
bfd/elfxx-ia64.c | 3 +-
bfd/elfxx-ia64.h | 2 +-
bfd/elfxx-mips.c | 17 +-
bfd/elfxx-mips.h | 2 +-
bfd/elfxx-riscv.c | 567 +-
bfd/elfxx-riscv.h | 57 +-
bfd/elfxx-sparc.c | 2 +-
bfd/elfxx-sparc.h | 2 +-
bfd/elfxx-target.h | 2 +-
bfd/elfxx-tilegx.c | 2 +-
bfd/elfxx-tilegx.h | 2 +-
bfd/elfxx-x86.c | 72 +-
bfd/elfxx-x86.h | 15 +-
bfd/format.c | 2 +-
bfd/gen-aout.c | 2 +-
bfd/genlink.h | 2 +-
bfd/hash.c | 2 +-
bfd/host-aout.c | 2 +-
bfd/hosts/alphalinux.h | 2 +-
bfd/hosts/alphavms.h | 2 +-
bfd/hosts/decstation.h | 2 +-
bfd/hosts/dpx2.h | 2 +-
bfd/hosts/i386bsd.h | 2 +-
bfd/hosts/i386linux.h | 2 +-
bfd/hosts/i386mach3.h | 2 +-
bfd/hosts/i386sco.h | 2 +-
bfd/hosts/m68klinux.h | 2 +-
bfd/hosts/mipsbsd.h | 2 +-
bfd/hosts/mipsmach3.h | 2 +-
bfd/hosts/news-mips.h | 2 +-
bfd/hosts/pc532mach.h | 2 +-
bfd/hosts/riscos.h | 2 +-
bfd/hosts/symmetry.h | 2 +-
bfd/hosts/vaxbsd.h | 2 +-
bfd/hosts/vaxlinux.h | 2 +-
bfd/hosts/vaxult.h | 2 +-
bfd/hosts/vaxult2.h | 2 +-
bfd/hosts/x86-64linux.h | 2 +-
bfd/hppabsd-core.c | 2 +-
bfd/hpux-core.c | 2 +-
bfd/i386aout.c | 2 +-
bfd/i386bsd.c | 2 +-
bfd/i386lynx.c | 2 +-
bfd/i386msdos.c | 2 +-
bfd/ihex.c | 24 +-
bfd/init.c | 2 +-
bfd/irix-core.c | 2 +-
bfd/libaout.h | 2 +-
bfd/libbfd-in.h | 2 +-
bfd/libbfd.c | 10 +-
bfd/libbfd.h | 3 +-
bfd/libcoff-in.h | 2 +-
bfd/libcoff.h | 2 +-
bfd/libecoff.h | 2 +-
bfd/libhppa.h | 2 +-
bfd/libpei.h | 2 +-
bfd/libxcoff.h | 2 +-
bfd/linker.c | 4 +-
bfd/lynx-core.c | 2 +-
bfd/mach-o-aarch64.c | 4 +-
bfd/mach-o-arm.c | 4 +-
bfd/mach-o-i386.c | 4 +-
bfd/mach-o-target.c | 2 +-
bfd/mach-o-x86-64.c | 4 +-
bfd/mach-o.c | 61 +-
bfd/mach-o.h | 51 +-
bfd/makefile.vms | 2 +-
bfd/mep-relocs.pl | 2 +-
bfd/merge.c | 54 +-
bfd/mmo.c | 2 +-
bfd/netbsd-core.c | 2 +-
bfd/netbsd.h | 2 +-
bfd/ns32k.h | 2 +-
bfd/ns32knetbsd.c | 2 +-
bfd/opncls.c | 2 +-
bfd/osf-core.c | 2 +-
bfd/pc532-mach.c | 2 +-
bfd/pdp11.c | 52 +-
bfd/pe-arm-wince.c | 2 +-
bfd/pe-arm.c | 2 +-
bfd/pe-i386.c | 2 +-
bfd/pe-mcore.c | 2 +-
bfd/pe-ppc.c | 2 +-
bfd/pe-sh.c | 2 +-
bfd/pe-x86_64.c | 2 +-
bfd/peXXigen.c | 40 +-
bfd/pef-traceback.h | 2 +-
bfd/pef.c | 2 +-
bfd/pef.h | 2 +-
bfd/pei-arm-wince.c | 2 +-
bfd/pei-arm.c | 2 +-
bfd/pei-i386.c | 2 +-
bfd/pei-ia64.c | 2 +-
bfd/pei-mcore.c | 2 +-
bfd/pei-ppc.c | 2 +-
bfd/pei-sh.c | 2 +-
bfd/pei-x86_64.c | 11 +-
bfd/peicode.h | 2 +-
bfd/plugin.c | 2 +-
bfd/plugin.h | 2 +-
bfd/po/Make-in | 2 +-
bfd/po/bfd.pot | 2932 ++--
bfd/po/fr.po | 8371 +++++----
bfd/po/pt.po | 2995 ++--
bfd/po/ru.po | 2991 ++--
bfd/po/uk.po | 2986 ++--
bfd/ppcboot.c | 2 +-
bfd/ptrace-core.c | 2 +-
bfd/reloc.c | 7 +-
bfd/reloc16.c | 2 +-
bfd/rs6000-core.c | 2 +-
bfd/sco5-core.c | 2 +-
bfd/section.c | 2 +-
bfd/simple.c | 2 +-
bfd/som.c | 2 +-
bfd/som.h | 2 +-
bfd/srec.c | 2 +-
bfd/stab-syms.c | 2 +-
bfd/stabs.c | 2 +-
bfd/syms.c | 15 +-
bfd/sysdep.h | 5 +-
bfd/targets.c | 3 +-
bfd/tekhex.c | 2 +-
bfd/trad-core.c | 2 +-
bfd/vax1knetbsd.c | 2 +-
bfd/vaxnetbsd.c | 2 +-
bfd/verilog.c | 2 +-
bfd/version.h | 2 +-
bfd/version.m4 | 2 +-
bfd/vms-alpha.c | 2 +-
bfd/vms-lib.c | 2 +-
bfd/vms-misc.c | 2 +-
bfd/vms.h | 2 +-
bfd/warning.m4 | 12 +-
bfd/wasm-module.c | 4 +-
bfd/wasm-module.h | 2 +-
bfd/xcofflink.c | 2 +-
bfd/xsym.c | 2 +-
bfd/xsym.h | 2 +-
bfd/xtensa-isa.c | 2 +-
bfd/xtensa-modules.c | 2 +-
binutils/BRANCHES | 3 +-
binutils/ChangeLog | 1639 +--
binutils/ChangeLog-2018 | 1558 ++
binutils/MAINTAINERS | 9 +-
binutils/Makefile.am | 2 +-
binutils/Makefile.in | 2 +-
binutils/NEWS | 37 +-
binutils/README | 2 +-
binutils/README-how-to-make-a-release | 221 +-
binutils/addr2line.c | 21 +-
binutils/ar.c | 2 +-
binutils/arlex.l | 2 +-
binutils/arparse.y | 2 +-
binutils/arsup.c | 2 +-
binutils/arsup.h | 2 +-
binutils/bfdtest1.c | 2 +-
binutils/bfdtest2.c | 2 +-
binutils/bin2c.c | 2 +-
binutils/binemul.c | 2 +-
binutils/binemul.h | 2 +-
binutils/bucomm.c | 2 +-
binutils/bucomm.h | 2 +-
binutils/budbg.h | 2 +-
binutils/coffdump.c | 2 +-
binutils/coffgrok.c | 2 +-
binutils/coffgrok.h | 2 +-
binutils/configure | 32 +-
binutils/configure.ac | 2 +-
binutils/configure.com | 2 +-
binutils/configure.tgt | 2 +-
binutils/cxxfilt.c | 65 +-
binutils/debug.c | 2 +-
binutils/debug.h | 2 +-
binutils/deflex.l | 2 +-
binutils/defparse.y | 2 +-
binutils/dlltool.c | 2 +-
binutils/dlltool.h | 2 +-
binutils/dllwrap.c | 2 +-
binutils/doc/Makefile.am | 2 +-
binutils/doc/Makefile.in | 2 +-
binutils/doc/binutils.texi | 150 +-
binutils/doc/debug.options.texi | 11 +-
binutils/dwarf-mode.el | 2 +-
binutils/dwarf.c | 460 +-
binutils/dwarf.h | 14 +-
binutils/elfcomm.c | 2 +-
binutils/elfcomm.h | 2 +-
binutils/elfedit.c | 2 +-
binutils/embedspu.sh | 2 +-
binutils/emul_aix.c | 2 +-
binutils/emul_vanilla.c | 2 +-
binutils/filemode.c | 2 +-
binutils/is-ranlib.c | 2 +-
binutils/is-strip.c | 2 +-
binutils/makefile.vms | 2 +-
binutils/maybe-ranlib.c | 2 +-
binutils/maybe-strip.c | 2 +-
binutils/mclex.c | 2 +-
binutils/mcparse.y | 2 +-
binutils/nm.c | 38 +-
binutils/not-ranlib.c | 2 +-
binutils/not-strip.c | 2 +-
binutils/objcopy.c | 32 +-
binutils/objdump.c | 447 +-
binutils/objdump.h | 2 +-
binutils/od-elf32_avr.c | 2 +-
binutils/od-macho.c | 123 +-
binutils/od-xcoff.c | 2 +-
binutils/po/Make-in | 2 +-
binutils/po/bg.po | 3705 ++--
binutils/po/binutils.pot | 3414 ++--
binutils/po/fr.po | 3573 ++--
binutils/po/pt.po | 3551 ++--
binutils/po/sv.po | 3496 ++--
binutils/po/uk.po | 3535 ++--
binutils/prdbg.c | 8 +-
binutils/ranlib.sh | 2 +-
binutils/rclex.c | 2 +-
binutils/rcparse.y | 2 +-
binutils/rdcoff.c | 2 +-
binutils/rddbg.c | 2 +-
binutils/readelf.c | 480 +-
binutils/rename.c | 2 +-
binutils/resbin.c | 2 +-
binutils/rescoff.c | 2 +-
binutils/resrc.c | 2 +-
binutils/resres.c | 2 +-
binutils/sanity.sh | 2 +-
binutils/size.c | 112 +-
binutils/srconv.c | 2 +-
binutils/stabs.c | 38 +-
binutils/strings.c | 108 +-
binutils/sysdep.h | 2 +-
binutils/sysdump.c | 2 +-
binutils/sysinfo.y | 2 +-
binutils/syslex.l | 2 +-
binutils/syslex_wrap.c | 2 +-
.../testsuite/binutils-all/aarch64/aarch64.exp | 2 +-
.../testsuite/binutils-all/aarch64/in-order-all.d | 38 +
binutils/testsuite/binutils-all/aarch64/in-order.d | 28 +
.../binutils-all/aarch64/out-of-order-all.d | 38 +
.../testsuite/binutils-all/aarch64/out-of-order.T | 14 +
.../testsuite/binutils-all/aarch64/out-of-order.d | 27 +
.../testsuite/binutils-all/aarch64/out-of-order.s | 28 +
binutils/testsuite/binutils-all/ar.exp | 2 +-
binutils/testsuite/binutils-all/arc/objdump.exp | 2 +-
binutils/testsuite/binutils-all/arm/in-order-all.d | 48 +
binutils/testsuite/binutils-all/arm/in-order.d | 28 +
binutils/testsuite/binutils-all/arm/objdump.exp | 16 +-
.../testsuite/binutils-all/arm/out-of-order-all.d | 48 +
binutils/testsuite/binutils-all/arm/out-of-order.T | 14 +
binutils/testsuite/binutils-all/arm/out-of-order.d | 27 +
binutils/testsuite/binutils-all/arm/out-of-order.s | 29 +
binutils/testsuite/binutils-all/bfin/objdump.exp | 2 +-
binutils/testsuite/binutils-all/bintest.s | 8 +
binutils/testsuite/binutils-all/compress.exp | 2 +-
binutils/testsuite/binutils-all/copy-6.d | 8 +
binutils/testsuite/binutils-all/cxxfilt.exp | 44 +
binutils/testsuite/binutils-all/debuglink.s | 3 +-
binutils/testsuite/binutils-all/disasm.s | 24 +
binutils/testsuite/binutils-all/dlltool.exp | 2 +-
binutils/testsuite/binutils-all/dw2-1.S | 2 +-
binutils/testsuite/binutils-all/dw2-2.S | 2 +-
binutils/testsuite/binutils-all/dw2-3.S | 2 +-
binutils/testsuite/binutils-all/dw2-3.rS | 2 +-
binutils/testsuite/binutils-all/dw2-3.rt | 2 +-
binutils/testsuite/binutils-all/dw2-compressed.S | 2 +-
binutils/testsuite/binutils-all/dw2-ranges.S | 2 +-
binutils/testsuite/binutils-all/dw5.S | 2 +-
binutils/testsuite/binutils-all/dwarf-attributes.S | 2 +-
binutils/testsuite/binutils-all/dwo.s | 2 +-
binutils/testsuite/binutils-all/elfedit.exp | 2 +-
binutils/testsuite/binutils-all/hppa/objdump.exp | 2 +-
.../testsuite/binutils-all/i386/compressed-1a.d | 2 +-
binutils/testsuite/binutils-all/i386/empty.d | 2 +-
binutils/testsuite/binutils-all/i386/i386.exp | 2 +-
binutils/testsuite/binutils-all/i386/pr21231b.s | 2 +-
binutils/testsuite/binutils-all/linkdebug.s | 3 +-
binutils/testsuite/binutils-all/m68k/objdump.exp | 2 +-
binutils/testsuite/binutils-all/mips/mips.exp | 2 +-
binutils/testsuite/binutils-all/nfp/objdump.exp | 2 +-
binutils/testsuite/binutils-all/nfp/test1.d | 32 +-
.../testsuite/binutils-all/nfp/test1_nfp6000.nffw | Bin 9880 -> 10128 bytes
binutils/testsuite/binutils-all/nm.exp | 2 +-
binutils/testsuite/binutils-all/objcopy.exp | 4 +-
binutils/testsuite/binutils-all/objdump.WK2 | 13 +-
binutils/testsuite/binutils-all/objdump.WK3 | 17 +
binutils/testsuite/binutils-all/objdump.exp | 184 +-
binutils/testsuite/binutils-all/readelf.exp | 4 +-
binutils/testsuite/binutils-all/readelf.k2 | 7 +-
binutils/testsuite/binutils-all/readelf.s | 5 +-
binutils/testsuite/binutils-all/readelf.ss | 12 +-
binutils/testsuite/binutils-all/readelf.ss-64 | 1 +
binutils/testsuite/binutils-all/readelf.ss-mips | 4 +-
binutils/testsuite/binutils-all/readelf.ss-tmips | 4 +-
binutils/testsuite/binutils-all/readelf.wKis | 25 +
binutils/testsuite/binutils-all/size.exp | 22 +-
binutils/testsuite/binutils-all/strings-1.bin | Bin 0 -> 31 bytes
binutils/testsuite/binutils-all/strings.exp | 33 +
binutils/testsuite/binutils-all/strip-3.d | 2 +-
binutils/testsuite/binutils-all/update-section.exp | 2 +-
binutils/testsuite/binutils-all/vax/objdump.exp | 2 +-
binutils/testsuite/binutils-all/wasm32/wasm32.exp | 2 +-
binutils/testsuite/binutils-all/windres/README | 2 +-
binutils/testsuite/binutils-all/windres/msupdate | 2 +-
.../testsuite/binutils-all/windres/windres.exp | 2 +-
.../testsuite/binutils-all/x86-64/compressed-1a.d | 2 +-
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/objects.exp | 2 +-
binutils/testsuite/binutils-all/x86-64/pr21231b.s | 2 +-
binutils/testsuite/binutils-all/x86-64/x86-64.exp | 2 +-
binutils/testsuite/config/default.exp | 14 +-
binutils/testsuite/lib/binutils-common.exp | 698 +-
binutils/testsuite/lib/utils-lib.exp | 2 +-
binutils/unwind-ia64.c | 156 +-
binutils/unwind-ia64.h | 2 +-
binutils/version.c | 4 +-
binutils/windint.h | 2 +-
binutils/windmc.c | 2 +-
binutils/windmc.h | 2 +-
binutils/windres.c | 2 +-
binutils/windres.h | 2 +-
binutils/winduni.c | 2 +-
binutils/winduni.h | 2 +-
binutils/wrstabs.c | 2 +-
config.guess | 116 +-
config.sub | 1121 +-
config/ChangeLog | 9 +
config/iconv.m4 | 2 +-
configure | 6 +
configure.ac | 6 +
cpu/ChangeLog | 4 +
elfcpp/ChangeLog | 51 +-
elfcpp/{ChangeLog => ChangeLog-2018} | 0
elfcpp/README | 2 +-
elfcpp/aarch64.h | 2 +-
elfcpp/arm.h | 2 +-
elfcpp/dwarf.h | 2 +-
elfcpp/elfcpp.h | 2 +-
elfcpp/elfcpp_file.h | 2 +-
elfcpp/elfcpp_internal.h | 2 +-
elfcpp/elfcpp_swap.h | 2 +-
elfcpp/i386.h | 2 +-
elfcpp/mips.h | 2 +-
elfcpp/powerpc.h | 2 +-
elfcpp/s390.h | 2 +-
elfcpp/sparc.h | 2 +-
elfcpp/tilegx.h | 2 +-
elfcpp/x86_64.h | 2 +-
etc/add-log.el | 2 +-
etc/texi2pod.pl | 2 +-
etc/update-copyright.py | 2 +-
gas/CONTRIBUTORS | 2 +-
gas/ChangeLog | 5998 +------
gas/ChangeLog-2018 | 5886 ++++++
gas/MAINTAINERS | 2 +-
gas/Makefile.am | 2 +-
gas/Makefile.in | 2 +-
gas/NEWS | 9 +-
gas/README | 2 +-
gas/app.c | 2 +-
gas/as.c | 10 +-
gas/as.h | 2 +-
gas/asintl.h | 2 +-
gas/atof-generic.c | 2 +-
gas/bignum.h | 2 +-
gas/bit_fix.h | 2 +-
gas/cgen.c | 2 +-
gas/cgen.h | 2 +-
gas/compress-debug.c | 2 +-
gas/compress-debug.h | 2 +-
gas/cond.c | 2 +-
gas/config.in | 6 +
gas/config/atof-ieee.c | 2 +-
gas/config/atof-vax.c | 2 +-
gas/config/bfin-aux.h | 2 +-
gas/config/bfin-defs.h | 2 +-
gas/config/bfin-lex-wrapper.c | 2 +-
gas/config/bfin-lex.l | 2 +-
gas/config/bfin-parse.y | 2 +-
gas/config/e-crisaout.c | 2 +-
gas/config/e-criself.c | 2 +-
gas/config/e-i386aout.c | 2 +-
gas/config/e-i386coff.c | 2 +-
gas/config/e-i386elf.c | 2 +-
gas/config/e-mipself.c | 2 +-
gas/config/itbl-mips.h | 2 +-
gas/config/m68k-parse.h | 2 +-
gas/config/m68k-parse.y | 13 +-
gas/config/obj-aout.c | 34 +-
gas/config/obj-aout.h | 2 +-
gas/config/obj-coff-seh.c | 2 +-
gas/config/obj-coff-seh.h | 2 +-
gas/config/obj-coff.c | 4 +-
gas/config/obj-coff.h | 2 +-
gas/config/obj-ecoff.c | 2 +-
gas/config/obj-ecoff.h | 2 +-
gas/config/obj-elf.c | 4 +-
gas/config/obj-elf.h | 2 +-
gas/config/obj-evax.c | 2 +-
gas/config/obj-evax.h | 2 +-
gas/config/obj-fdpicelf.c | 2 +-
gas/config/obj-fdpicelf.h | 2 +-
gas/config/obj-macho.c | 2 +-
gas/config/obj-macho.h | 2 +-
gas/config/obj-multi.c | 2 +-
gas/config/obj-multi.h | 2 +-
gas/config/obj-som.c | 4 +-
gas/config/obj-som.h | 2 +-
gas/config/rl78-defs.h | 2 +-
gas/config/rl78-parse.y | 2 +-
gas/config/rx-defs.h | 8 +-
gas/config/rx-parse.y | 327 +-
gas/config/tc-aarch64.c | 41 +-
gas/config/tc-aarch64.h | 42 +-
gas/config/tc-alpha.c | 8 +-
gas/config/tc-alpha.h | 2 +-
gas/config/tc-arc.c | 2 +-
gas/config/tc-arc.h | 2 +-
gas/config/tc-arm.c | 397 +-
gas/config/tc-arm.h | 5 +-
gas/config/tc-avr.c | 2 +-
gas/config/tc-avr.h | 4 +-
gas/config/tc-bfin.c | 2 +-
gas/config/tc-bfin.h | 2 +-
gas/config/tc-cr16.c | 2 +-
gas/config/tc-cr16.h | 2 +-
gas/config/tc-cris.c | 2 +-
gas/config/tc-cris.h | 2 +-
gas/config/tc-crx.c | 2 +-
gas/config/tc-crx.h | 2 +-
gas/config/tc-csky.c | 4 +-
gas/config/tc-csky.h | 2 +-
gas/config/tc-d10v.c | 5 +-
gas/config/tc-d10v.h | 2 +-
gas/config/tc-d30v.c | 36 +-
gas/config/tc-d30v.h | 2 +-
gas/config/tc-dlx.c | 2 +-
gas/config/tc-dlx.h | 2 +-
gas/config/tc-epiphany.c | 2 +-
gas/config/tc-epiphany.h | 2 +-
gas/config/tc-fr30.c | 2 +-
gas/config/tc-fr30.h | 2 +-
gas/config/tc-frv.c | 2 +-
gas/config/tc-frv.h | 2 +-
gas/config/tc-ft32.c | 2 +-
gas/config/tc-ft32.h | 2 +-
gas/config/tc-generic.c | 2 +-
gas/config/tc-generic.h | 2 +-
gas/config/tc-h8300.c | 2 +-
gas/config/tc-h8300.h | 2 +-
gas/config/tc-hppa.c | 2 +-
gas/config/tc-hppa.h | 2 +-
gas/config/tc-i386-intel.c | 2 +-
gas/config/tc-i386.c | 197 +-
gas/config/tc-i386.h | 12 +-
gas/config/tc-ia64.c | 2 +-
gas/config/tc-ia64.h | 4 +-
gas/config/tc-ip2k.c | 2 +-
gas/config/tc-ip2k.h | 2 +-
gas/config/tc-iq2000.c | 2 +-
gas/config/tc-iq2000.h | 2 +-
gas/config/tc-lm32.c | 2 +-
gas/config/tc-lm32.h | 2 +-
gas/config/tc-m32c.c | 2 +-
gas/config/tc-m32c.h | 2 +-
gas/config/tc-m32r.c | 2 +-
gas/config/tc-m32r.h | 2 +-
gas/config/tc-m68851.h | 2 +-
gas/config/tc-m68hc11.c | 2 +-
gas/config/tc-m68hc11.h | 2 +-
gas/config/tc-m68k.c | 2 +-
gas/config/tc-m68k.h | 2 +-
gas/config/tc-mcore.c | 2 +-
gas/config/tc-mcore.h | 2 +-
gas/config/tc-mep.c | 2 +-
gas/config/tc-mep.h | 2 +-
gas/config/tc-metag.c | 2 +-
gas/config/tc-metag.h | 2 +-
gas/config/tc-microblaze.c | 2 +-
gas/config/tc-microblaze.h | 2 +-
gas/config/tc-mips.c | 288 +-
gas/config/tc-mips.h | 2 +-
gas/config/tc-mmix.c | 2 +-
gas/config/tc-mmix.h | 4 +-
gas/config/tc-mn10200.c | 2 +-
gas/config/tc-mn10200.h | 2 +-
gas/config/tc-mn10300.c | 2 +-
gas/config/tc-mn10300.h | 2 +-
gas/config/tc-moxie.c | 2 +-
gas/config/tc-moxie.h | 2 +-
gas/config/tc-msp430.c | 298 +-
gas/config/tc-msp430.h | 2 +-
gas/config/tc-mt.c | 2 +-
gas/config/tc-mt.h | 2 +-
gas/config/tc-nds32.c | 2 +-
gas/config/tc-nds32.h | 4 +-
gas/config/tc-nios2.c | 2 +-
gas/config/tc-nios2.h | 2 +-
gas/config/tc-ns32k.c | 2 +-
gas/config/tc-ns32k.h | 4 +-
gas/config/tc-or1k.c | 2 +-
gas/config/tc-or1k.h | 2 +-
gas/config/tc-pdp11.c | 6 +-
gas/config/tc-pdp11.h | 2 +-
gas/config/tc-pj.c | 2 +-
gas/config/tc-pj.h | 2 +-
gas/config/tc-ppc.c | 444 +-
gas/config/tc-ppc.h | 2 +-
gas/config/tc-pru.c | 2 +-
gas/config/tc-pru.h | 2 +-
gas/config/tc-riscv.c | 353 +-
gas/config/tc-riscv.h | 12 +-
gas/config/tc-rl78.c | 2 +-
gas/config/tc-rl78.h | 4 +-
gas/config/tc-rx.c | 59 +-
gas/config/tc-rx.h | 8 +-
gas/config/tc-s12z.c | 236 +-
gas/config/tc-s12z.h | 2 +-
gas/config/tc-s390.c | 51 +-
gas/config/tc-s390.h | 2 +-
gas/config/tc-score.c | 2 +-
gas/config/tc-score.h | 4 +-
gas/config/tc-score7.c | 2 +-
gas/config/tc-sh.c | 2 +-
gas/config/tc-sh.h | 2 +-
gas/config/tc-sparc.c | 2 +-
gas/config/tc-sparc.h | 2 +-
gas/config/tc-spu.c | 2 +-
gas/config/tc-spu.h | 2 +-
gas/config/tc-tic30.c | 2 +-
gas/config/tc-tic30.h | 2 +-
gas/config/tc-tic4x.c | 2 +-
gas/config/tc-tic4x.h | 2 +-
gas/config/tc-tic54x.c | 2 +-
gas/config/tc-tic54x.h | 4 +-
gas/config/tc-tic6x.c | 2 +-
gas/config/tc-tic6x.h | 4 +-
gas/config/tc-tilegx.c | 2 +-
gas/config/tc-tilegx.h | 2 +-
gas/config/tc-tilepro.c | 2 +-
gas/config/tc-tilepro.h | 2 +-
gas/config/tc-v850.c | 2 +-
gas/config/tc-v850.h | 2 +-
gas/config/tc-vax.c | 2 +-
gas/config/tc-vax.h | 2 +-
gas/config/tc-visium.c | 6 +-
gas/config/tc-visium.h | 2 +-
gas/config/tc-wasm32.c | 2 +-
gas/config/tc-wasm32.h | 2 +-
gas/config/tc-xc16x.c | 2 +-
gas/config/tc-xc16x.h | 2 +-
gas/config/tc-xgate.c | 2 +-
gas/config/tc-xgate.h | 2 +-
gas/config/tc-xstormy16.c | 2 +-
gas/config/tc-xstormy16.h | 2 +-
gas/config/tc-xtensa.c | 8 +-
gas/config/tc-xtensa.h | 4 +-
gas/config/tc-z80.c | 2 +-
gas/config/tc-z80.h | 2 +-
gas/config/tc-z8k.c | 2 +-
gas/config/tc-z8k.h | 2 +-
gas/config/te-386bsd.h | 2 +-
gas/config/te-aix.h | 2 +-
gas/config/te-aix5.h | 2 +-
gas/config/te-armeabi.h | 2 +-
gas/config/te-armfbsdeabi.h | 2 +-
gas/config/te-armfbsdvfp.h | 2 +-
gas/config/te-armlinuxeabi.h | 2 +-
gas/config/te-csky_abiv1.h | 2 +-
gas/config/te-csky_abiv1_linux.h | 2 +-
gas/config/te-csky_abiv2.h | 2 +-
gas/config/te-csky_abiv2_linux.h | 2 +-
gas/config/te-dragonfly.h | 2 +-
gas/config/te-freebsd.h | 2 +-
gas/config/te-generic.h | 2 +-
gas/config/te-gnu.h | 2 +-
gas/config/te-go32.h | 2 +-
gas/config/te-hppa.h | 2 +-
gas/config/te-hppa64.h | 2 +-
gas/config/te-hppalinux64.h | 2 +-
gas/config/te-hpux.h | 2 +-
gas/config/te-ia64aix.h | 2 +-
gas/config/te-interix.h | 2 +-
gas/config/te-irix.h | 2 +-
gas/config/te-linux.h | 2 +-
gas/config/te-lynx.h | 2 +-
gas/config/te-macos.h | 2 +-
gas/config/te-nacl.h | 2 +-
gas/config/te-nbsd.h | 2 +-
gas/config/te-nbsd532.h | 2 +-
gas/config/te-pc532mach.h | 2 +-
gas/config/te-pe.h | 2 +-
gas/config/te-pep.h | 2 +-
gas/config/te-solaris.h | 2 +-
gas/config/te-svr4.h | 2 +-
gas/config/te-symbian.h | 2 +-
gas/config/te-tmips.h | 2 +-
gas/config/te-uclinux.h | 2 +-
gas/config/te-vms.c | 2 +-
gas/config/te-vms.h | 2 +-
gas/config/te-vxworks.h | 2 +-
gas/config/te-wince-pe.h | 2 +-
gas/config/vax-inst.h | 2 +-
gas/config/xtensa-istack.h | 2 +-
gas/config/xtensa-relax.c | 2 +-
gas/config/xtensa-relax.h | 2 +-
gas/configure | 94 +-
gas/configure.ac | 52 +-
gas/configure.com | 2 +-
gas/configure.tgt | 4 +-
gas/debug.c | 2 +-
gas/depend.c | 2 +-
gas/doc/Makefile.am | 2 +-
gas/doc/Makefile.in | 2 +-
gas/doc/all.texi | 2 +-
gas/doc/as.texi | 15 +-
gas/doc/c-aarch64.texi | 15 +-
gas/doc/c-alpha.texi | 2 +-
gas/doc/c-arc.texi | 2 +-
gas/doc/c-arm.texi | 171 +-
gas/doc/c-avr.texi | 2 +-
gas/doc/c-bfin.texi | 2 +-
gas/doc/c-cr16.texi | 2 +-
gas/doc/c-cris.texi | 2 +-
gas/doc/c-csky.texi | 2 +-
gas/doc/c-d10v.texi | 2 +-
gas/doc/c-d30v.texi | 2 +-
gas/doc/c-epiphany.texi | 2 +-
gas/doc/c-h8300.texi | 2 +-
gas/doc/c-hppa.texi | 2 +-
gas/doc/c-i386.texi | 14 +-
gas/doc/c-ia64.texi | 2 +-
gas/doc/c-ip2k.texi | 2 +-
gas/doc/c-lm32.texi | 2 +-
gas/doc/c-m32c.texi | 2 +-
gas/doc/c-m32r.texi | 2 +-
gas/doc/c-m68hc11.texi | 2 +-
gas/doc/c-m68k.texi | 2 +-
gas/doc/c-metag.texi | 2 +-
gas/doc/c-microblaze.texi | 2 +-
gas/doc/c-mips.texi | 17 +-
gas/doc/c-mmix.texi | 2 +-
gas/doc/c-msp430.texi | 2 +-
gas/doc/c-mt.texi | 2 +-
gas/doc/c-nds32.texi | 2 +-
gas/doc/c-nios2.texi | 2 +-
gas/doc/c-ns32k.texi | 2 +-
gas/doc/c-or1k.texi | 2 +-
gas/doc/c-pdp11.texi | 2 +-
gas/doc/c-pj.texi | 2 +-
gas/doc/c-ppc.texi | 2 +-
gas/doc/c-pru.texi | 2 +-
gas/doc/c-riscv.texi | 66 +-
gas/doc/c-rl78.texi | 2 +-
gas/doc/c-rx.texi | 10 +-
gas/doc/c-s12z.texi | 2 +-
gas/doc/c-s390.texi | 10 +-
gas/doc/c-score.texi | 2 +-
gas/doc/c-sh.texi | 2 +-
gas/doc/c-sparc.texi | 2 +-
gas/doc/c-tic54x.texi | 2 +-
gas/doc/c-tic6x.texi | 2 +-
gas/doc/c-tilegx.texi | 2 +-
gas/doc/c-tilepro.texi | 2 +-
gas/doc/c-v850.texi | 2 +-
gas/doc/c-vax.texi | 2 +-
gas/doc/c-visium.texi | 2 +-
gas/doc/c-wasm32.texi | 2 +-
gas/doc/c-xc16x.texi | 2 +-
gas/doc/c-xgate.texi | 2 +-
gas/doc/c-xstormy16.texi | 2 +-
gas/doc/c-xtensa.texi | 2 +-
gas/doc/c-z80.texi | 2 +-
gas/doc/c-z8k.texi | 2 +-
gas/doc/h8.texi | 2 +-
gas/doc/internals.texi | 9 +-
gas/dw2gencfi.c | 44 +-
gas/dw2gencfi.h | 21 +-
gas/dwarf2dbg.c | 55 +-
gas/dwarf2dbg.h | 2 +-
gas/ecoff.c | 2 +-
gas/ecoff.h | 2 +-
gas/ehopt.c | 2 +-
gas/emul-target.h | 8 +-
gas/emul.h | 3 +-
gas/expr.c | 2 +-
gas/expr.h | 2 +-
gas/flonum-copy.c | 2 +-
gas/flonum-konst.c | 2 +-
gas/flonum-mult.c | 2 +-
gas/flonum.h | 2 +-
gas/frags.c | 4 +-
gas/frags.h | 2 +-
gas/hash.c | 2 +-
gas/hash.h | 2 +-
gas/input-file.c | 2 +-
gas/input-file.h | 2 +-
gas/input-scrub.c | 2 +-
gas/itbl-lex-wrapper.c | 2 +-
gas/itbl-lex.h | 2 +-
gas/itbl-lex.l | 2 +-
gas/itbl-ops.c | 2 +-
gas/itbl-ops.h | 2 +-
gas/itbl-parse.y | 2 +-
gas/listing.c | 2 +-
gas/listing.h | 2 +-
gas/literal.c | 2 +-
gas/macro.c | 13 +-
gas/macro.h | 2 +-
gas/makefile.vms | 2 +-
gas/messages.c | 2 +-
gas/obj.h | 2 +-
gas/output-file.c | 2 +-
gas/output-file.h | 2 +-
gas/po/Make-in | 2 +-
gas/po/fr.po | 8217 +++++----
gas/po/gas.pot | 5803 +++---
gas/po/ru.po | 5922 ++++---
gas/po/uk.po | 5904 ++++---
gas/read.c | 16 +-
gas/read.h | 4 +-
gas/remap.c | 2 +-
gas/sb.c | 2 +-
gas/sb.h | 2 +-
gas/stabs.c | 81 +-
gas/subsegs.c | 2 +-
gas/subsegs.h | 2 +-
gas/symbols.c | 38 +-
gas/symbols.h | 5 +-
gas/tc.h | 2 +-
gas/testsuite/config/default.exp | 2 +-
gas/testsuite/gas/aarch64/aarch64.exp | 2 +-
gas/testsuite/gas/aarch64/addsub.s | 2 +-
gas/testsuite/gas/aarch64/advsimd-across.s | 2 +-
gas/testsuite/gas/aarch64/advsimd-misc.s | 2 +-
gas/testsuite/gas/aarch64/advsisd-copy.s | 2 +-
gas/testsuite/gas/aarch64/advsisd-misc.s | 2 +-
gas/testsuite/gas/aarch64/alias.s | 2 +-
gas/testsuite/gas/aarch64/armv8_5-a-memtag.d | 145 +
gas/testsuite/gas/aarch64/armv8_5-a-memtag.s | 115 +
gas/testsuite/gas/aarch64/bitfield-alias.s | 2 +-
gas/testsuite/gas/aarch64/bitfield-bfm.s | 2 +-
gas/testsuite/gas/aarch64/crc32.s | 2 +-
gas/testsuite/gas/aarch64/crypto.s | 2 +-
gas/testsuite/gas/aarch64/dotproduct.d | 1 +
gas/testsuite/gas/aarch64/dotproduct_armv8_4.d | 10 -
gas/testsuite/gas/aarch64/dotproduct_armv8_4.s | 2 -
gas/testsuite/gas/aarch64/floatdp2.s | 2 +-
gas/testsuite/gas/aarch64/fp-const0-parse.s | 2 +-
gas/testsuite/gas/aarch64/fp_cvt_int.s | 2 +-
gas/testsuite/gas/aarch64/illegal-dotproduct.d | 1 +
gas/testsuite/gas/aarch64/illegal-lse.s | 2 +-
gas/testsuite/gas/aarch64/illegal-memtag.d | 3 +
gas/testsuite/gas/aarch64/illegal-memtag.l | 47 +
gas/testsuite/gas/aarch64/illegal-memtag.s | 61 +
gas/testsuite/gas/aarch64/illegal-sysreg-4.l | 39 +
gas/testsuite/gas/aarch64/illegal.s | 2 +-
gas/testsuite/gas/aarch64/ldst-exclusive.s | 2 +-
gas/testsuite/gas/aarch64/ldst-rcpc-armv8_2.d | 21 -
gas/testsuite/gas/aarch64/ldst-rcpc.d | 2 +
gas/testsuite/gas/aarch64/ldst-reg-imm-post-ind.s | 2 +-
gas/testsuite/gas/aarch64/ldst-reg-imm-pre-ind.s | 2 +-
gas/testsuite/gas/aarch64/ldst-reg-pair.s | 2 +-
gas/testsuite/gas/aarch64/ldst-reg-reg-offset.s | 2 +-
gas/testsuite/gas/aarch64/ldst-reg-uns-imm.s | 2 +-
gas/testsuite/gas/aarch64/ldst-reg-unscaled-imm.s | 2 +-
gas/testsuite/gas/aarch64/lor.s | 2 +-
gas/testsuite/gas/aarch64/lse-atomic.s | 2 +-
gas/testsuite/gas/aarch64/msr.s | 2 +-
gas/testsuite/gas/aarch64/neon-fp-cvt-int.s | 2 +-
gas/testsuite/gas/aarch64/pac_ab_key.d | 54 +
gas/testsuite/gas/aarch64/pac_ab_key.s | 31 +
gas/testsuite/gas/aarch64/pan.s | 2 +-
gas/testsuite/gas/aarch64/pr19721.d | 7 +-
gas/testsuite/gas/aarch64/pr19721.s | 3 +
gas/testsuite/gas/aarch64/rdma.s | 2 +-
gas/testsuite/gas/aarch64/rm-simd-ext.s | 2 +-
gas/testsuite/gas/aarch64/shifted.s | 2 +-
gas/testsuite/gas/aarch64/sysreg-1.s | 2 +-
gas/testsuite/gas/aarch64/sysreg-4.d | 39 +-
gas/testsuite/gas/aarch64/sysreg-4.s | 49 +
gas/testsuite/gas/aarch64/tls.s | 2 +-
gas/testsuite/gas/aarch64/uao.s | 2 +-
.../gas/aarch64/undefined_advsimd_armv8_3.d | 56 +
.../gas/aarch64/undefined_advsimd_armv8_3.s | 70 +
gas/testsuite/gas/aarch64/undefined_by_elem_sz_l.d | 40 +
gas/testsuite/gas/aarch64/undefined_by_elem_sz_l.s | 55 +
gas/testsuite/gas/aarch64/virthostext.s | 2 +-
gas/testsuite/gas/all/eqv-dot.d | 2 +-
gas/testsuite/gas/all/forward.d | 14 +-
gas/testsuite/gas/all/gas.exp | 22 +-
gas/testsuite/gas/all/itbl-test.c | 2 +-
gas/testsuite/gas/all/pr23938.s | 2 +
gas/testsuite/gas/all/test-example.c | 2 +-
gas/testsuite/gas/all/test-gen.c | 2 +-
gas/testsuite/gas/alpha/alpha.exp | 2 +-
gas/testsuite/gas/arc/arc.exp | 2 +-
gas/testsuite/gas/arc/warn.exp | 2 +-
gas/testsuite/gas/arm/archv6t2-1-pe.d | 12 +
gas/testsuite/gas/arm/archv6t2-1.d | 13 +
gas/testsuite/gas/arm/archv6t2-1.s | 5 +
gas/testsuite/gas/arm/archv6t2-2.d | 12 +
gas/testsuite/gas/arm/arm.exp | 2 +-
.../gas/arm/armv8-2-fp16-scalar-bad-ext.d | 4 +
gas/testsuite/gas/arm/armv8-2-fp16-scalar-ext.d | 75 +
.../gas/arm/armv8-2-fp16-scalar-thumb-ext.d | 75 +
gas/testsuite/gas/arm/armv8-2-fp16-simd-ext.d | 159 +
.../gas/arm/armv8-2-fp16-simd-thumb-ext.d | 159 +
.../gas/arm/armv8-2-fp16-simd-warning-ext.d | 4 +
.../gas/arm/armv8-2-fp16-simd-warning-thumb-ext.d | 4 +
gas/testsuite/gas/arm/armv8_2+rdma-ext.d | 79 +
gas/testsuite/gas/arm/armv8_2-a-fp16-thumb2-ext.d | 249 +
gas/testsuite/gas/arm/armv8_2-a-fp16_ext.d | 249 +
gas/testsuite/gas/arm/armv8_3-a-fp-bad-ext.d | 3 +
gas/testsuite/gas/arm/armv8_3-a-fp-ext.d | 16 +
gas/testsuite/gas/arm/armv8_3-a-fp16-ext.d | 249 +
gas/testsuite/gas/arm/armv8_3-a-simd-bad-ext.d | 3 +
gas/testsuite/gas/arm/armv8_4-a-fp16-ext.d | 249 +
gas/testsuite/gas/arm/armv8a-automatic-hlt.d | 2 +
gas/testsuite/gas/arm/armv8m.main+fp.d | 32 +
gas/testsuite/gas/arm/armv8m.main+fp.dp.d | 63 +
gas/testsuite/gas/arm/attr-ext-fpv5-d16.d | 14 +
gas/testsuite/gas/arm/attr-ext-fpv5.d | 15 +
gas/testsuite/gas/arm/attr-ext-idiv.d | 15 +
gas/testsuite/gas/arm/attr-ext-mp.d | 15 +
gas/testsuite/gas/arm/attr-ext-neon-fp16.d | 20 +
gas/testsuite/gas/arm/attr-ext-neon-vfpv3.d | 16 +
gas/testsuite/gas/arm/attr-ext-neon-vfpv4.d | 19 +
gas/testsuite/gas/arm/attr-ext-sec.d | 15 +
gas/testsuite/gas/arm/attr-ext-vfpv3-d16-fp16.d | 21 +
gas/testsuite/gas/arm/attr-ext-vfpv3-d16.d | 14 +
gas/testsuite/gas/arm/attr-ext-vfpv3-fp16.d | 20 +
gas/testsuite/gas/arm/attr-ext-vfpv3.d | 15 +
gas/testsuite/gas/arm/attr-ext-vfpv3xd-fp.d | 17 +
gas/testsuite/gas/arm/attr-ext-vfpv3xd.d | 16 +
gas/testsuite/gas/arm/attr-ext-vfpv4-d16.d | 18 +
gas/testsuite/gas/arm/attr-ext-vfpv4-sp-d16.d | 15 +
gas/testsuite/gas/arm/attr-ext-vfpv4.d | 18 +
gas/testsuite/gas/arm/attr-mfpu-neon-fp16.d | 8 +-
gas/testsuite/gas/arm/bl-local-v4t.d | 1 -
gas/testsuite/gas/arm/blx-local-thumb.d | 24 +
gas/testsuite/gas/arm/blx-local-thumb.s | 30 +
gas/testsuite/gas/arm/cpu-arm1020.d | 6 +
gas/testsuite/gas/arm/cpu-arm1020e.d | 6 +
gas/testsuite/gas/arm/cpu-arm1020t.d | 6 +
gas/testsuite/gas/arm/cpu-arm1022e.d | 6 +
gas/testsuite/gas/arm/cpu-arm1026ej-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm1026ejs.d | 6 +
gas/testsuite/gas/arm/cpu-arm10e.d | 6 +
gas/testsuite/gas/arm/cpu-arm10t.d | 6 +
gas/testsuite/gas/arm/cpu-arm10tdmi.d | 6 +
gas/testsuite/gas/arm/cpu-arm1136j-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm1136jf-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm1136jfs.d | 6 +
gas/testsuite/gas/arm/cpu-arm1136js.d | 6 +
gas/testsuite/gas/arm/cpu-arm1156t2-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm1156t2f-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm1176jz-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm1176jzf-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm2.d | 6 +
gas/testsuite/gas/arm/cpu-arm250.d | 6 +
gas/testsuite/gas/arm/cpu-arm3.d | 6 +
gas/testsuite/gas/arm/cpu-arm6.d | 6 +
gas/testsuite/gas/arm/cpu-arm60.d | 6 +
gas/testsuite/gas/arm/cpu-arm600.d | 6 +
gas/testsuite/gas/arm/cpu-arm610.d | 6 +
gas/testsuite/gas/arm/cpu-arm620.d | 6 +
gas/testsuite/gas/arm/cpu-arm7.d | 6 +
gas/testsuite/gas/arm/cpu-arm70.d | 6 +
gas/testsuite/gas/arm/cpu-arm700.d | 6 +
gas/testsuite/gas/arm/cpu-arm700i.d | 6 +
gas/testsuite/gas/arm/cpu-arm710.d | 6 +
gas/testsuite/gas/arm/cpu-arm7100.d | 6 +
gas/testsuite/gas/arm/cpu-arm710c.d | 6 +
gas/testsuite/gas/arm/cpu-arm710t.d | 6 +
gas/testsuite/gas/arm/cpu-arm720.d | 6 +
gas/testsuite/gas/arm/cpu-arm720t.d | 6 +
gas/testsuite/gas/arm/cpu-arm740t.d | 6 +
gas/testsuite/gas/arm/cpu-arm7500.d | 6 +
gas/testsuite/gas/arm/cpu-arm7500fe.d | 6 +
gas/testsuite/gas/arm/cpu-arm7d.d | 6 +
gas/testsuite/gas/arm/cpu-arm7di.d | 6 +
gas/testsuite/gas/arm/cpu-arm7dm.d | 6 +
gas/testsuite/gas/arm/cpu-arm7dmi.d | 6 +
gas/testsuite/gas/arm/cpu-arm7m.d | 6 +
gas/testsuite/gas/arm/cpu-arm7t.d | 6 +
gas/testsuite/gas/arm/cpu-arm7tdmi-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm7tdmi.d | 6 +
gas/testsuite/gas/arm/cpu-arm8.d | 6 +
gas/testsuite/gas/arm/cpu-arm810.d | 6 +
gas/testsuite/gas/arm/cpu-arm9.d | 6 +
gas/testsuite/gas/arm/cpu-arm920.d | 6 +
gas/testsuite/gas/arm/cpu-arm920t.d | 6 +
gas/testsuite/gas/arm/cpu-arm922t.d | 6 +
gas/testsuite/gas/arm/cpu-arm926ej-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm926ej.d | 6 +
gas/testsuite/gas/arm/cpu-arm926ejs.d | 6 +
gas/testsuite/gas/arm/cpu-arm940t.d | 6 +
gas/testsuite/gas/arm/cpu-arm946e-r0.d | 6 +
gas/testsuite/gas/arm/cpu-arm946e-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm946e.d | 6 +
gas/testsuite/gas/arm/cpu-arm966e-r0.d | 6 +
gas/testsuite/gas/arm/cpu-arm966e-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm966e.d | 6 +
gas/testsuite/gas/arm/cpu-arm968e-s.d | 6 +
gas/testsuite/gas/arm/cpu-arm9e-r0.d | 6 +
gas/testsuite/gas/arm/cpu-arm9e.d | 6 +
gas/testsuite/gas/arm/cpu-arm9tdmi.d | 6 +
gas/testsuite/gas/arm/cpu-arm_any.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a12.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a15.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a17.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a32.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a35.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a5.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a53.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a55.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a57.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a7.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a72.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a73.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a75.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a76.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a8.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-a9.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-m0.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-m0plus.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-m1.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-m23.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-m3.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-m33.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-m4.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-m7.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-r4.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-r4f.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-r5.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-r52.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-r7.d | 6 +
gas/testsuite/gas/arm/cpu-cortex-r8.d | 6 +
gas/testsuite/gas/arm/cpu-ep9312.d | 6 +
gas/testsuite/gas/arm/cpu-exynos-m1.d | 6 +
gas/testsuite/gas/arm/cpu-fa526.d | 6 +
gas/testsuite/gas/arm/cpu-fa606te.d | 6 +
gas/testsuite/gas/arm/cpu-fa616te.d | 6 +
gas/testsuite/gas/arm/cpu-fa626.d | 6 +
gas/testsuite/gas/arm/cpu-fa626te.d | 6 +
gas/testsuite/gas/arm/cpu-fa726te.d | 6 +
gas/testsuite/gas/arm/cpu-fmp626.d | 6 +
gas/testsuite/gas/arm/cpu-i80200.d | 6 +
gas/testsuite/gas/arm/cpu-iwmmxt.d | 6 +
gas/testsuite/gas/arm/cpu-iwmmxt2.d | 6 +
gas/testsuite/gas/arm/cpu-marvell-pj4.d | 6 +
gas/testsuite/gas/arm/cpu-marvell-whitney.d | 6 +
gas/testsuite/gas/arm/cpu-mpcore.d | 6 +
gas/testsuite/gas/arm/cpu-mpcorenovfp.d | 6 +
gas/testsuite/gas/arm/cpu-sa1.d | 6 +
gas/testsuite/gas/arm/cpu-strongarm.d | 6 +
gas/testsuite/gas/arm/cpu-strongarm1.d | 6 +
gas/testsuite/gas/arm/cpu-strongarm110.d | 6 +
gas/testsuite/gas/arm/cpu-strongarm1100.d | 6 +
gas/testsuite/gas/arm/cpu-strongarm1110.d | 6 +
gas/testsuite/gas/arm/cpu-xgene1.d | 6 +
gas/testsuite/gas/arm/cpu-xgene2.d | 6 +
gas/testsuite/gas/arm/cpu-xscale.d | 6 +
gas/testsuite/gas/arm/csdb.d | 1 +
gas/testsuite/gas/arm/dotprod-mandatory-ext.d | 297 +
gas/testsuite/gas/arm/fpv5-d16.s | 58 +
gas/testsuite/gas/arm/fpv5-sp-d16.s | 27 +
gas/testsuite/gas/arm/hlt.d | 35 +
gas/testsuite/gas/arm/hlt.s | 22 +
gas/testsuite/gas/arm/maverick.c | 2 +-
gas/testsuite/gas/arm/nop-asm.s | 1 +
gas/testsuite/gas/arm/note-march-armv2.d | 13 +
gas/testsuite/gas/arm/note-march-armv2.s | 7 +
gas/testsuite/gas/arm/note-march-armv2a.d | 13 +
gas/testsuite/gas/arm/note-march-armv2a.s | 7 +
gas/testsuite/gas/arm/note-march-armv3.d | 13 +
gas/testsuite/gas/arm/note-march-armv3.s | 7 +
gas/testsuite/gas/arm/note-march-armv3m.d | 13 +
gas/testsuite/gas/arm/note-march-armv3m.s | 7 +
gas/testsuite/gas/arm/note-march-armv4.d | 13 +
gas/testsuite/gas/arm/note-march-armv4.s | 7 +
gas/testsuite/gas/arm/note-march-armv4t.d | 13 +
gas/testsuite/gas/arm/note-march-armv4t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5.d | 13 +
gas/testsuite/gas/arm/note-march-armv5.s | 7 +
gas/testsuite/gas/arm/note-march-armv5t.d | 13 +
gas/testsuite/gas/arm/note-march-armv5t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5te.d | 13 +
gas/testsuite/gas/arm/note-march-armv5te.s | 7 +
gas/testsuite/gas/arm/note-march-ep9312.d | 13 +
gas/testsuite/gas/arm/note-march-ep9312.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt.d | 13 +
gas/testsuite/gas/arm/note-march-iwmmxt.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt2.d | 13 +
gas/testsuite/gas/arm/note-march-iwmmxt2.s | 7 +
gas/testsuite/gas/arm/note-march-xscale.d | 13 +
gas/testsuite/gas/arm/note-march-xscale.s | 7 +
gas/testsuite/gas/arm/sb-thumb1-pe.d | 11 +
gas/testsuite/gas/arm/sb-thumb1.d | 3 +-
gas/testsuite/gas/arm/sb-thumb2-pe.d | 11 +
gas/testsuite/gas/arm/sb-thumb2.d | 1 +
gas/testsuite/gas/arm/udf.d | 1 +
gas/testsuite/gas/avr/avr.exp | 2 +-
gas/testsuite/gas/bfin/bfin.exp | 2 +-
gas/testsuite/gas/bfin/error.exp | 2 +-
gas/testsuite/gas/cfi/cfi.exp | 2 +-
gas/testsuite/gas/cr16/cr16.exp | 2 +-
gas/testsuite/gas/cr16/pic.exp | 2 +-
gas/testsuite/gas/cris/cris.exp | 2 +-
gas/testsuite/gas/crx/allinsn.exp | 2 +-
gas/testsuite/gas/d10v/d10v.exp | 2 +-
gas/testsuite/gas/d30v/d30.exp | 2 +-
gas/testsuite/gas/dlx/alltests.exp | 2 +-
gas/testsuite/gas/elf/dwarf2-1.s | 2 +-
gas/testsuite/gas/elf/dwarf2-10.s | 2 +-
gas/testsuite/gas/elf/dwarf2-11.s | 2 +-
gas/testsuite/gas/elf/dwarf2-12.s | 2 +-
gas/testsuite/gas/elf/dwarf2-13.s | 2 +-
gas/testsuite/gas/elf/dwarf2-14.s | 2 +-
gas/testsuite/gas/elf/dwarf2-15.s | 2 +-
gas/testsuite/gas/elf/dwarf2-16.s | 2 +-
gas/testsuite/gas/elf/dwarf2-17.s | 2 +-
gas/testsuite/gas/elf/dwarf2-18.s | 2 +-
gas/testsuite/gas/elf/dwarf2-2.s | 2 +-
gas/testsuite/gas/elf/dwarf2-3.d | 2 +-
gas/testsuite/gas/elf/dwarf2-5.d | 2 +-
gas/testsuite/gas/elf/dwarf2-5.s | 2 +-
gas/testsuite/gas/elf/dwarf2-6.s | 2 +-
gas/testsuite/gas/elf/dwarf2-7.s | 2 +-
gas/testsuite/gas/elf/dwarf2-8.s | 2 +-
gas/testsuite/gas/elf/dwarf2-9.s | 2 +-
gas/testsuite/gas/elf/elf.exp | 19 +-
gas/testsuite/gas/elf/section2.e-riscv | 9 +
gas/testsuite/gas/epiphany/allinsn.exp | 2 +-
gas/testsuite/gas/fr30/allinsn.exp | 2 +-
gas/testsuite/gas/fr30/fr30.exp | 2 +-
gas/testsuite/gas/frv/allinsn.exp | 2 +-
gas/testsuite/gas/ft32/ft32.exp | 2 +-
gas/testsuite/gas/h8300/h8300-elf.exp | 2 +-
gas/testsuite/gas/h8300/h8300.exp | 2 +-
gas/testsuite/gas/h8300/t01_mov.exp | 2 +-
gas/testsuite/gas/h8300/t02_mova.exp | 2 +-
gas/testsuite/gas/h8300/t03_add.exp | 2 +-
gas/testsuite/gas/h8300/t04_sub.exp | 2 +-
gas/testsuite/gas/h8300/t05_cmp.exp | 2 +-
gas/testsuite/gas/h8300/t06_ari2.exp | 2 +-
gas/testsuite/gas/h8300/t07_ari3.exp | 2 +-
gas/testsuite/gas/h8300/t08_or.exp | 2 +-
gas/testsuite/gas/h8300/t09_xor.exp | 2 +-
gas/testsuite/gas/h8300/t10_and.exp | 2 +-
gas/testsuite/gas/h8300/t11_logs.exp | 2 +-
gas/testsuite/gas/h8300/t12_bit.exp | 2 +-
gas/testsuite/gas/h8300/t13_otr.exp | 2 +-
gas/testsuite/gas/hppa/README | 2 +-
gas/testsuite/gas/hppa/basic/basic.exp | 2 +-
gas/testsuite/gas/hppa/parse/parse.exp | 2 +-
gas/testsuite/gas/hppa/reloc/reloc.exp | 2 +-
gas/testsuite/gas/hppa/unsorted/unsorted.exp | 2 +-
gas/testsuite/gas/i386/att-regs.d | 1 +
gas/testsuite/gas/i386/avx512bw-intel.d | 2 +-
gas/testsuite/gas/i386/avx512bw.d | 2 +-
gas/testsuite/gas/i386/avx512f-intel.d | 2 +-
gas/testsuite/gas/i386/avx512f.d | 2 +-
gas/testsuite/gas/i386/debug1.d | 2 +-
gas/testsuite/gas/i386/disp32.d | 2 +-
gas/testsuite/gas/i386/dw2-compress-1.d | 2 +-
gas/testsuite/gas/i386/dw2-compress-1.s | 2 +-
gas/testsuite/gas/i386/dw2-compress-3a.d | 2 +-
gas/testsuite/gas/i386/dw2-compress-3b.d | 2 +-
gas/testsuite/gas/i386/dw2-compressed-1.d | 2 +-
gas/testsuite/gas/i386/dw2-compressed-3a.d | 2 +-
gas/testsuite/gas/i386/dw2-compressed-3b.d | 2 +-
gas/testsuite/gas/i386/i386.exp | 12 +-
gas/testsuite/gas/i386/ilp32/cfi/ilp32.exp | 2 +-
gas/testsuite/gas/i386/ilp32/elf/ilp32.exp | 2 +-
gas/testsuite/gas/i386/ilp32/ilp32.exp | 2 +-
gas/testsuite/gas/i386/ilp32/lns/ilp32.exp | 2 +-
gas/testsuite/gas/i386/ilp32/reloc64.l | 1 +
gas/testsuite/gas/i386/ilp32/reloc64.s | 1 +
gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d | 13 +
gas/testsuite/gas/i386/intel-regs.d | 1 +
gas/testsuite/gas/i386/noavx-3.l | 12 +-
gas/testsuite/gas/i386/noavx-3.s | 4 +
gas/testsuite/gas/i386/noavx-4.d | 7 -
gas/testsuite/gas/i386/noavx-4.s | 8 -
gas/testsuite/gas/i386/nosse-5.d | 4 -
gas/testsuite/gas/i386/nosse-5.s | 5 -
gas/testsuite/gas/i386/optimize-1.d | 37 +
gas/testsuite/gas/i386/optimize-1.s | 44 +
gas/testsuite/gas/i386/optimize-1a.d | 103 +
gas/testsuite/gas/i386/optimize-2.d | 73 +
gas/testsuite/gas/i386/optimize-2.s | 86 +
gas/testsuite/gas/i386/optimize-3.d | 6 +
gas/testsuite/gas/i386/optimize-3.s | 7 +
gas/testsuite/gas/i386/optimize-4.d | 37 +
gas/testsuite/gas/i386/optimize-5.d | 43 +
gas/testsuite/gas/i386/optimize-5.s | 7 +
gas/testsuite/gas/i386/optimize-6.s | 46 +
gas/testsuite/gas/i386/optimize-6a.l | 82 +
gas/testsuite/gas/i386/optimize-6a.s | 3 +
gas/testsuite/gas/i386/optimize-6b.d | 40 +
gas/testsuite/gas/i386/optimize-7.l | 12 +
gas/testsuite/gas/i386/optimize-7.s | 6 +
gas/testsuite/gas/i386/property-1.s | 3 +-
gas/testsuite/gas/i386/pseudos.d | 1 +
gas/testsuite/gas/i386/reloc32.l | 1 +
gas/testsuite/gas/i386/reloc32.s | 1 +
gas/testsuite/gas/i386/reloc64.l | 1 +
gas/testsuite/gas/i386/reloc64.s | 1 +
gas/testsuite/gas/i386/x86-64-disp32.d | 2 +-
gas/testsuite/gas/i386/x86-64-gotpcrel-2.d | 11 +
gas/testsuite/gas/i386/x86-64-gotpcrel-2.s | 3 +
gas/testsuite/gas/i386/x86-64-optimize-2.d | 49 +
gas/testsuite/gas/i386/x86-64-optimize-2.s | 58 +
gas/testsuite/gas/i386/x86-64-optimize-2a.d | 159 +
gas/testsuite/gas/i386/x86-64-optimize-2b.d | 158 +
gas/testsuite/gas/i386/x86-64-optimize-2b.s | 5 +
gas/testsuite/gas/i386/x86-64-optimize-3.d | 91 +
gas/testsuite/gas/i386/x86-64-optimize-3.s | 107 +
gas/testsuite/gas/i386/x86-64-optimize-4.d | 6 +
gas/testsuite/gas/i386/x86-64-optimize-4.s | 7 +
gas/testsuite/gas/i386/x86-64-optimize-5.d | 55 +
gas/testsuite/gas/i386/x86-64-optimize-5.s | 7 +
gas/testsuite/gas/i386/x86-64-optimize-6.d | 55 +
gas/testsuite/gas/i386/x86-64-optimize-6.s | 7 +
gas/testsuite/gas/i386/x86-64-optimize-7.s | 64 +
gas/testsuite/gas/i386/x86-64-optimize-7a.l | 123 +
gas/testsuite/gas/i386/x86-64-optimize-7a.s | 3 +
gas/testsuite/gas/i386/x86-64-optimize-7b.d | 60 +
gas/testsuite/gas/i386/x86-64-optimize-8.l | 12 +
gas/testsuite/gas/i386/x86-64-optimize-8.s | 6 +
gas/testsuite/gas/i386/x86-64-pseudos.d | 1 +
gas/testsuite/gas/ia64/ia64.exp | 2 +-
gas/testsuite/gas/ia64/pr13167.d | 2 +-
gas/testsuite/gas/ieee-fp/x930509a.exp | 2 +-
gas/testsuite/gas/iq2000/allinsn.exp | 2 +-
gas/testsuite/gas/iq2000/load-hazards.exp | 2 +-
gas/testsuite/gas/iq2000/odd-ldw.exp | 2 +-
gas/testsuite/gas/iq2000/odd-sdw.exp | 2 +-
gas/testsuite/gas/iq2000/yield.exp | 2 +-
gas/testsuite/gas/lm32/all.exp | 2 +-
gas/testsuite/gas/lns/lns.exp | 2 +-
gas/testsuite/gas/m32r/allinsn.exp | 2 +-
gas/testsuite/gas/m32r/error.exp | 2 +-
gas/testsuite/gas/m32r/m32r2.exp | 2 +-
gas/testsuite/gas/m32r/m32rx.exp | 2 +-
gas/testsuite/gas/m32r/pic.exp | 2 +-
gas/testsuite/gas/m32r/rel32.exp | 2 +-
gas/testsuite/gas/m68hc11/lbranch-dwarf2.d | 2 +-
gas/testsuite/gas/m68hc11/m68hc11.exp | 2 +-
gas/testsuite/gas/m68hc11/opers12-dwarf2.d | 6 +-
gas/testsuite/gas/m68k/all.exp | 2 +-
gas/testsuite/gas/mach-o/mach-o.exp | 2 +-
gas/testsuite/gas/macros/macros.exp | 2 +-
gas/testsuite/gas/mcore/allinsn.exp | 2 +-
gas/testsuite/gas/mep/allinsn.exp | 2 +-
gas/testsuite/gas/mep/complex-relocs.exp | 2 +-
gas/testsuite/gas/metag/metag.exp | 2 +-
gas/testsuite/gas/microblaze/allinsn.exp | 2 +-
gas/testsuite/gas/microblaze/endian.exp | 2 +-
gas/testsuite/gas/microblaze/reloc_sym.exp | 2 +-
gas/testsuite/gas/microblaze/special_reg.exp | 2 +-
gas/testsuite/gas/mips/loc-swap-2.d | 2 +-
gas/testsuite/gas/mips/loc-swap.d | 2 +-
gas/testsuite/gas/mips/micromips@loc-swap-2.d | 2 +-
gas/testsuite/gas/mips/micromips@loc-swap.d | 2 +-
gas/testsuite/gas/mips/mips.exp | 4 +-
gas/testsuite/gas/mips/mips16-branch-absolute-1.d | 10 +-
gas/testsuite/gas/mips/mips16-e.d | 6 +-
gas/testsuite/gas/mips/mips16-pcrel-0.d | 16 +-
gas/testsuite/gas/mips/mips16-pcrel-1.d | 16 +-
gas/testsuite/gas/mips/mips16-pcrel-delay-0.d | 8 +-
gas/testsuite/gas/mips/mips16-pcrel-delay-1.d | 8 +-
gas/testsuite/gas/mips/mips16-pcrel-n32-0.d | 16 +-
gas/testsuite/gas/mips/mips16-pcrel-n32-1.d | 16 +-
gas/testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d | 16 +-
gas/testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d | 16 +-
gas/testsuite/gas/mips/mips16@loc-swap-2.d | 2 +-
gas/testsuite/gas/mips/mips16@loc-swap.d | 2 +-
gas/testsuite/gas/mips/mips16e2@mips16-pcrel-0.d | 16 +-
gas/testsuite/gas/mips/mips16e2@mips16-pcrel-1.d | 16 +-
.../gas/mips/mips16e2@mips16-pcrel-delay-0.d | 8 +-
.../gas/mips/mips16e2@mips16-pcrel-delay-1.d | 8 +-
.../gas/mips/mips16e2@mips16-pcrel-n32-0.d | 16 +-
.../gas/mips/mips16e2@mips16-pcrel-n32-1.d | 16 +-
.../gas/mips/mips16e2@mips16-pcrel-n64-sym32-0.d | 16 +-
.../gas/mips/mips16e2@mips16-pcrel-n64-sym32-1.d | 16 +-
gas/testsuite/gas/mips/mips16e@loc-swap.d | 2 +-
gas/testsuite/gas/mips/mipsel16-e.d | 6 +-
gas/testsuite/gas/mips/mipsr6@msa.d | 60 +-
gas/testsuite/gas/mips/mipsr6@relax-swap3.d | 2 +-
gas/testsuite/gas/mips/r5900-fix.d | 30 +
gas/testsuite/gas/mips/r5900-fix.s | 40 +
gas/testsuite/gas/mips/r5900-no-fix.d | 13 +
gas/testsuite/gas/mips/r5900-no-fix.s | 17 +
gas/testsuite/gas/mips/r6-64-n32.d | 18 +-
gas/testsuite/gas/mips/r6-64-n64.d | 18 +-
gas/testsuite/gas/mips/r6-n32.d | 172 +-
gas/testsuite/gas/mips/r6-n64.d | 172 +-
gas/testsuite/gas/mips/r6.d | 172 +-
gas/testsuite/gas/mips/tmips16-e.d | 6 +-
gas/testsuite/gas/mips/tmipsel16-e.d | 6 +-
gas/testsuite/gas/mmix/mmix-err.exp | 2 +-
gas/testsuite/gas/mmix/mmix-list.exp | 2 +-
gas/testsuite/gas/mmix/mmix.exp | 2 +-
gas/testsuite/gas/mn10200/basic.exp | 2 +-
gas/testsuite/gas/mn10300/am33-2.c | 2 +-
gas/testsuite/gas/mn10300/basic.exp | 2 +-
gas/testsuite/gas/mn10300/relax.d | 12 +-
gas/testsuite/gas/mri/mri.exp | 2 +-
gas/testsuite/gas/msp430/bad.l | 21 +-
gas/testsuite/gas/msp430/msp430.exp | 13 +-
gas/testsuite/gas/msp430/nop-dint-430.d | 32 +
gas/testsuite/gas/msp430/nop-dint-430.l | 9 +
gas/testsuite/gas/msp430/nop-dint-430x-ignore.d | 8 +
gas/testsuite/gas/msp430/nop-dint-430x-silent.d | 31 +
gas/testsuite/gas/msp430/nop-dint-430x.d | 32 +
gas/testsuite/gas/msp430/nop-dint-430x.l | 9 +
gas/testsuite/gas/msp430/nop-dint.s | 37 +
gas/testsuite/gas/msp430/nop-eint-430.d | 31 +
gas/testsuite/gas/msp430/nop-eint-430.l | 3 +
gas/testsuite/gas/msp430/nop-eint-430x-ignore.d | 8 +
gas/testsuite/gas/msp430/nop-eint-430x-silent.d | 47 +
gas/testsuite/gas/msp430/nop-eint-430x.d | 48 +
gas/testsuite/gas/msp430/nop-eint-430x.l | 20 +
gas/testsuite/gas/msp430/nop-eint.s | 44 +
gas/testsuite/gas/msp430/nop-int-430.d | 4 +
gas/testsuite/gas/msp430/nop-int-430.l | 3 +
gas/testsuite/gas/msp430/nop-int-430x-silent.d | 5 +
gas/testsuite/gas/msp430/nop-int-430x.d | 4 +
gas/testsuite/gas/msp430/nop-int-430x.l | 10 +
gas/testsuite/gas/msp430/nop-int.s | 74 +
gas/testsuite/gas/mt/errors.exp | 2 +-
gas/testsuite/gas/mt/mt.exp | 2 +-
gas/testsuite/gas/mt/relocs.exp | 2 +-
gas/testsuite/gas/nds32/nds32.exp | 2 +-
gas/testsuite/gas/nios2/nios2.exp | 2 +-
gas/testsuite/gas/pdp11/absreloc.s | 2 +-
gas/testsuite/gas/pdp11/opcode.s | 2 +-
gas/testsuite/gas/pdp11/pdp11.exp | 2 +-
gas/testsuite/gas/pe/pe.exp | 2 +-
gas/testsuite/gas/pj/pj.exp | 2 +-
gas/testsuite/gas/ppc/476.d | 8 +-
gas/testsuite/gas/ppc/a2.d | 8 +-
gas/testsuite/gas/ppc/aix.exp | 2 +-
gas/testsuite/gas/ppc/ppc.exp | 2 +-
gas/testsuite/gas/pru/pru.exp | 2 +-
gas/testsuite/gas/riscv/attribute-01.d | 6 +
gas/testsuite/gas/riscv/attribute-02.d | 6 +
gas/testsuite/gas/riscv/attribute-03.d | 6 +
gas/testsuite/gas/riscv/attribute-04.d | 6 +
gas/testsuite/gas/riscv/attribute-04.s | 1 +
gas/testsuite/gas/riscv/attribute-05.d | 11 +
gas/testsuite/gas/riscv/attribute-05.s | 6 +
gas/testsuite/gas/riscv/attribute-06.d | 6 +
gas/testsuite/gas/riscv/attribute-06.s | 1 +
gas/testsuite/gas/riscv/attribute-07.d | 6 +
gas/testsuite/gas/riscv/attribute-07.s | 1 +
gas/testsuite/gas/riscv/attribute-08.d | 6 +
gas/testsuite/gas/riscv/attribute-08.s | 1 +
gas/testsuite/gas/riscv/attribute-empty.d | 3 +
gas/testsuite/gas/riscv/attribute-unknown.d | 8 +
gas/testsuite/gas/riscv/attribute-unknown.s | 2 +
gas/testsuite/gas/riscv/auipc-parsing.d | 3 +
gas/testsuite/gas/riscv/auipc-parsing.l | 3 +
gas/testsuite/gas/riscv/auipc-parsing.s | 3 +
gas/testsuite/gas/riscv/empty.l | 1 +
gas/testsuite/gas/riscv/empty.s | 1 +
gas/testsuite/gas/riscv/insn.d | 25 +-
gas/testsuite/gas/riscv/insn.s | 1 +
gas/testsuite/gas/riscv/march-fail-rv32ef.d | 3 +
gas/testsuite/gas/riscv/march-fail-rv32ef.l | 2 +
gas/testsuite/gas/riscv/march-fail-rv32i.d | 3 +
gas/testsuite/gas/riscv/march-fail-rv32i.l | 2 +
gas/testsuite/gas/riscv/march-fail-rv32iam.d | 3 +
gas/testsuite/gas/riscv/march-fail-rv32iam.l | 2 +
gas/testsuite/gas/riscv/march-fail-rv32ic.d | 3 +
gas/testsuite/gas/riscv/march-fail-rv32ic.l | 2 +
gas/testsuite/gas/riscv/march-fail-rv32icx2p.d | 3 +
gas/testsuite/gas/riscv/march-fail-rv32icx2p.l | 2 +
gas/testsuite/gas/riscv/march-fail-rv32imc.d | 3 +
gas/testsuite/gas/riscv/march-fail-rv32imc.l | 2 +
gas/testsuite/gas/riscv/march-fail-rv64I.d | 3 +
gas/testsuite/gas/riscv/march-fail-rv64I.l | 2 +
gas/testsuite/gas/riscv/march-fail-rv64e.d | 3 +
gas/testsuite/gas/riscv/march-fail-rv64e.l | 2 +
gas/testsuite/gas/riscv/march-ok-g2.d | 5 +
gas/testsuite/gas/riscv/march-ok-g2_p1.d | 5 +
gas/testsuite/gas/riscv/march-ok-g2p0.d | 5 +
gas/testsuite/gas/riscv/march-ok-i2p0.d | 5 +
gas/testsuite/gas/riscv/march-ok-i2p0m2_a2f2.d | 5 +
.../gas/riscv/march-ok-nse-with-version.d | 5 +
gas/testsuite/gas/riscv/march-ok-s-with-version.d | 5 +
gas/testsuite/gas/riscv/march-ok-s.d | 5 +
gas/testsuite/gas/riscv/march-ok-sx.d | 5 +
gas/testsuite/gas/riscv/march-ok-two-nse.d | 5 +
gas/testsuite/gas/riscv/riscv.exp | 2 +-
gas/testsuite/gas/riscv/tprel-add.d | 3 +
gas/testsuite/gas/riscv/tprel-add.l | 4 +
gas/testsuite/gas/riscv/tprel-add.s | 11 +
gas/testsuite/gas/rl78/rl78.exp | 2 +-
gas/testsuite/gas/rx/Xtod.d | 21 +
gas/testsuite/gas/rx/Xtod.sm | 3 +
gas/testsuite/gas/rx/abs.d | 1 +
gas/testsuite/gas/rx/adc.d | 1 +
gas/testsuite/gas/rx/add.d | 1 +
gas/testsuite/gas/rx/and.d | 1 +
gas/testsuite/gas/rx/bclr.d | 1 +
gas/testsuite/gas/rx/bcnd.d | 1 +
gas/testsuite/gas/rx/bfmov.d | 73 +
gas/testsuite/gas/rx/bfmov.sm | 2 +
gas/testsuite/gas/rx/bmcnd.d | 1 +
gas/testsuite/gas/rx/bnot.d | 1 +
gas/testsuite/gas/rx/bra.d | 1 +
gas/testsuite/gas/rx/brk.d | 1 +
gas/testsuite/gas/rx/bset.d | 1 +
gas/testsuite/gas/rx/bsr.d | 1 +
gas/testsuite/gas/rx/btst.d | 1 +
gas/testsuite/gas/rx/clrpsw.d | 1 +
gas/testsuite/gas/rx/cmp.d | 1 +
gas/testsuite/gas/rx/dabs.d | 14 +
gas/testsuite/gas/rx/dabs.sm | 1 +
gas/testsuite/gas/rx/dadd.d | 18 +
gas/testsuite/gas/rx/dadd.sm | 1 +
gas/testsuite/gas/rx/dbt.d | 1 +
gas/testsuite/gas/rx/dcmp.d | 25 +
gas/testsuite/gas/rx/dcmp.sm | 4 +
gas/testsuite/gas/rx/ddiv.d | 17 +
gas/testsuite/gas/rx/ddiv.sm | 1 +
gas/testsuite/gas/rx/div.d | 1 +
gas/testsuite/gas/rx/divu.d | 1 +
gas/testsuite/gas/rx/dmov.d | 77 +
gas/testsuite/gas/rx/dmov.sm | 13 +
gas/testsuite/gas/rx/dmul.d | 17 +
gas/testsuite/gas/rx/dmul.sm | 1 +
gas/testsuite/gas/rx/dneg.d | 13 +
gas/testsuite/gas/rx/dneg.sm | 1 +
gas/testsuite/gas/rx/dpopm.d | 17 +
gas/testsuite/gas/rx/dpopm.sm | 2 +
gas/testsuite/gas/rx/dpushm.d | 17 +
gas/testsuite/gas/rx/dpushm.sm | 2 +
gas/testsuite/gas/rx/dround.d | 13 +
gas/testsuite/gas/rx/dround.sm | 1 +
gas/testsuite/gas/rx/dsqrt.d | 13 +
gas/testsuite/gas/rx/dsqrt.sm | 1 +
gas/testsuite/gas/rx/dsub.d | 17 +
gas/testsuite/gas/rx/dsub.sm | 1 +
gas/testsuite/gas/rx/dtoX.d | 21 +
gas/testsuite/gas/rx/dtoX.sm | 3 +
gas/testsuite/gas/rx/emaca.d | 1 +
gas/testsuite/gas/rx/emsba.d | 1 +
gas/testsuite/gas/rx/emul.d | 1 +
gas/testsuite/gas/rx/emula.d | 1 +
gas/testsuite/gas/rx/emulu.d | 1 +
gas/testsuite/gas/rx/fadd.d | 1 +
gas/testsuite/gas/rx/fcmp.d | 1 +
gas/testsuite/gas/rx/fdiv.d | 1 +
gas/testsuite/gas/rx/fmul.d | 1 +
gas/testsuite/gas/rx/fsqrt.d | 1 +
gas/testsuite/gas/rx/fsub.d | 1 +
gas/testsuite/gas/rx/ftoi.d | 1 +
gas/testsuite/gas/rx/ftou.d | 1 +
gas/testsuite/gas/rx/gprel.d | 1 +
gas/testsuite/gas/rx/int.d | 1 +
gas/testsuite/gas/rx/itof.d | 1 +
gas/testsuite/gas/rx/jmp.d | 1 +
gas/testsuite/gas/rx/jsr.d | 1 +
gas/testsuite/gas/rx/machi.d | 1 +
gas/testsuite/gas/rx/maclh.d | 1 +
gas/testsuite/gas/rx/maclo.d | 1 +
gas/testsuite/gas/rx/macros.inc | 10 +-
gas/testsuite/gas/rx/make-d | 2 +-
gas/testsuite/gas/rx/max.d | 1 +
gas/testsuite/gas/rx/min.d | 1 +
gas/testsuite/gas/rx/mov.d | 1 +
gas/testsuite/gas/rx/movco.d | 1 +
gas/testsuite/gas/rx/movli.d | 1 +
gas/testsuite/gas/rx/movu.d | 1 +
gas/testsuite/gas/rx/msbhi.d | 1 +
gas/testsuite/gas/rx/msblh.d | 1 +
gas/testsuite/gas/rx/msblo.d | 1 +
gas/testsuite/gas/rx/mul.d | 1 +
gas/testsuite/gas/rx/mulhi.d | 1 +
gas/testsuite/gas/rx/mullh.d | 1 +
gas/testsuite/gas/rx/mullo.d | 1 +
gas/testsuite/gas/rx/mvfacgu.d | 1 +
gas/testsuite/gas/rx/mvfachi.d | 1 +
gas/testsuite/gas/rx/mvfaclo.d | 1 +
gas/testsuite/gas/rx/mvfacmi.d | 1 +
gas/testsuite/gas/rx/mvfc.d | 1 +
gas/testsuite/gas/rx/mvfcp.d | 1 +
gas/testsuite/gas/rx/mvfdc.d | 17 +
gas/testsuite/gas/rx/mvfdc.sm | 1 +
gas/testsuite/gas/rx/mvfdr.d | 10 +
gas/testsuite/gas/rx/mvfdr.sm | 1 +
gas/testsuite/gas/rx/mvtacgu.d | 1 +
gas/testsuite/gas/rx/mvtachi.d | 1 +
gas/testsuite/gas/rx/mvtaclo.d | 1 +
gas/testsuite/gas/rx/mvtc.d | 1 +
gas/testsuite/gas/rx/mvtcp.d | 1 +
gas/testsuite/gas/rx/mvtdc.d | 18 +
gas/testsuite/gas/rx/mvtdc.sm | 1 +
gas/testsuite/gas/rx/neg.d | 1 +
gas/testsuite/gas/rx/nop.d | 1 +
gas/testsuite/gas/rx/not.d | 1 +
gas/testsuite/gas/rx/opecp.d | 1 +
gas/testsuite/gas/rx/or.d | 1 +
gas/testsuite/gas/rx/pop.d | 1 +
gas/testsuite/gas/rx/popc.d | 1 +
gas/testsuite/gas/rx/popm.d | 1 +
gas/testsuite/gas/rx/pr19665.d | 2 +-
gas/testsuite/gas/rx/pr22737.d | 2 +-
gas/testsuite/gas/rx/push.d | 1 +
gas/testsuite/gas/rx/pushc.d | 1 +
gas/testsuite/gas/rx/pushm.d | 1 +
gas/testsuite/gas/rx/r-bcc.d | 1 +
gas/testsuite/gas/rx/r-bra.d | 1 +
gas/testsuite/gas/rx/racl.d | 1 +
gas/testsuite/gas/rx/racw.d | 1 +
gas/testsuite/gas/rx/rdacl.d | 1 +
gas/testsuite/gas/rx/rdacw.d | 1 +
gas/testsuite/gas/rx/revl.d | 1 +
gas/testsuite/gas/rx/revw.d | 1 +
gas/testsuite/gas/rx/rmpa.d | 1 +
gas/testsuite/gas/rx/rolc.d | 1 +
gas/testsuite/gas/rx/rorc.d | 1 +
gas/testsuite/gas/rx/rotl.d | 1 +
gas/testsuite/gas/rx/rotr.d | 1 +
gas/testsuite/gas/rx/round.d | 1 +
gas/testsuite/gas/rx/rstr.d | 13 +
gas/testsuite/gas/rx/rstr.sm | 2 +
gas/testsuite/gas/rx/rte.d | 1 +
gas/testsuite/gas/rx/rtfi.d | 1 +
gas/testsuite/gas/rx/rts.d | 1 +
gas/testsuite/gas/rx/rtsd.d | 1 +
gas/testsuite/gas/rx/rx.exp | 8 +-
gas/testsuite/gas/rx/sat.d | 1 +
gas/testsuite/gas/rx/satr.d | 1 +
gas/testsuite/gas/rx/save.d | 13 +
gas/testsuite/gas/rx/save.sm | 2 +
gas/testsuite/gas/rx/sbb.d | 1 +
gas/testsuite/gas/rx/sccnd.d | 1 +
gas/testsuite/gas/rx/scmpu.d | 1 +
gas/testsuite/gas/rx/setpsw.d | 1 +
gas/testsuite/gas/rx/shar.d | 1 +
gas/testsuite/gas/rx/shll.d | 1 +
gas/testsuite/gas/rx/shlr.d | 1 +
gas/testsuite/gas/rx/smovb.d | 1 +
gas/testsuite/gas/rx/smovf.d | 1 +
gas/testsuite/gas/rx/smovu.d | 1 +
gas/testsuite/gas/rx/sstr.d | 1 +
gas/testsuite/gas/rx/stnz.d | 1 +
gas/testsuite/gas/rx/stz.d | 1 +
gas/testsuite/gas/rx/sub.d | 1 +
gas/testsuite/gas/rx/suntil.d | 1 +
gas/testsuite/gas/rx/swhile.d | 1 +
gas/testsuite/gas/rx/tst.d | 1 +
gas/testsuite/gas/rx/utof.d | 1 +
gas/testsuite/gas/rx/wait.d | 1 +
gas/testsuite/gas/rx/xchg.d | 1 +
gas/testsuite/gas/rx/xor.d | 9 +
gas/testsuite/gas/rx/xor.sm | 2 +
gas/testsuite/gas/s12z/bra.d | 6 +-
gas/testsuite/gas/s12z/bra.s | 2 +
gas/testsuite/gas/s12z/exg.d | 1 +
gas/testsuite/gas/s12z/exg.l | 2 +
gas/testsuite/gas/s12z/imm-dest.d | 4 +
gas/testsuite/gas/s12z/imm-dest.l | 25 +
gas/testsuite/gas/s12z/imm-dest.s | 9 +
gas/testsuite/gas/s12z/jsr.d | 1 +
gas/testsuite/gas/s12z/jsr.s | 3 +-
gas/testsuite/gas/s12z/labels.d | 18 +
gas/testsuite/gas/s12z/labels.s | 3 +
gas/testsuite/gas/s12z/mov-imm-reloc.d | 20 +
gas/testsuite/gas/s12z/mov-imm-reloc.s | 5 +
gas/testsuite/gas/s12z/opr-indirect-expr.d | 2 +-
gas/testsuite/gas/s12z/pc-rel-bad.d | 9 +
gas/testsuite/gas/s12z/pc-rel-bad.l | 3 +
gas/testsuite/gas/s12z/pc-rel-bad.s | 8 +
gas/testsuite/gas/s12z/pc-rel-good.d | 24 +
gas/testsuite/gas/s12z/pc-rel-good.s | 6 +
gas/testsuite/gas/s12z/s12z.exp | 8 +-
gas/testsuite/gas/s12z/shift.d | 4 +-
gas/testsuite/gas/s12z/shift.s | 2 +
gas/testsuite/gas/s390/s390.exp | 2 +
gas/testsuite/gas/s390/zarch-arch13.d | 154 +
gas/testsuite/gas/s390/zarch-arch13.s | 147 +
gas/testsuite/gas/s390/zarch-optargs.d | 12 +
gas/testsuite/gas/s390/zarch-optargs.s | 6 +
gas/testsuite/gas/s390/zarch-z13.d | 8 +-
gas/testsuite/gas/score/relax.exp | 2 +-
gas/testsuite/gas/score/relax_32.exp | 2 +-
gas/testsuite/gas/sh/arch/arch.exp | 2 +-
gas/testsuite/gas/sh/basic.exp | 2 +-
gas/testsuite/gas/sh/err.exp | 2 +-
gas/testsuite/gas/sparc-solaris/addend.exp | 2 +-
gas/testsuite/gas/sparc-solaris/gas.exp | 2 +-
gas/testsuite/gas/sparc/mismatch.exp | 2 +-
gas/testsuite/gas/sparc/sparc.exp | 2 +-
gas/testsuite/gas/symver/symver.exp | 2 +-
gas/testsuite/gas/tic4x/tic4x.exp | 2 +-
gas/testsuite/gas/tic54x/tic54x.exp | 2 +-
gas/testsuite/gas/tic6x/tic6x.exp | 2 +-
gas/testsuite/gas/tilegx/tilegx.exp | 2 +-
gas/testsuite/gas/tilepro/tilepro.exp | 2 +-
gas/testsuite/gas/v850/basic.exp | 2 +-
gas/testsuite/gas/vax/vax.exp | 2 +-
gas/testsuite/gas/visium/allinsn_gr6.d | 12 +-
gas/testsuite/gas/visium/allinsn_gr6.s | 7 +-
gas/testsuite/gas/visium/bra-1.d | 12 +
gas/testsuite/gas/visium/bra-1.s | 5 +
gas/testsuite/gas/visium/error.exp | 2 +-
gas/testsuite/gas/visium/visium.exp | 3 +-
gas/testsuite/gas/wasm32/wasm32.exp | 2 +-
gas/testsuite/gas/xc16x/xc16x.exp | 2 +-
gas/testsuite/gas/xgate/xgate.exp | 2 +-
gas/testsuite/gas/xstormy16/allinsn.exp | 2 +-
gas/testsuite/gas/xtensa/all.exp | 2 +-
gas/testsuite/gas/xtensa/xtensa-err.exp | 2 +-
gas/testsuite/gas/z80/z80.exp | 2 +-
gas/testsuite/gas/z8k/z8k.exp | 2 +-
gas/testsuite/lib/gas-defs.exp | 2 +-
gas/testsuite/lib/gas-dg.exp | 2 +-
gas/write.c | 2 +-
gas/write.h | 2 +-
gdb/.dir-locals.el | 10 +-
gdb/CONTRIBUTE | 148 +-
gdb/ChangeLog |19847 ++++----------------
gdb/ChangeLog-2018 |17196 +++++++++++++++++
gdb/MAINTAINERS | 4 +-
gdb/Makefile.in | 101 +-
gdb/NEWS | 133 +-
gdb/aarch32-linux-nat.c | 2 +-
gdb/aarch32-linux-nat.h | 7 +-
gdb/aarch64-fbsd-nat.c | 2 +-
gdb/aarch64-fbsd-tdep.c | 89 +-
gdb/aarch64-fbsd-tdep.h | 7 +-
gdb/aarch64-linux-nat.c | 45 +-
gdb/aarch64-linux-tdep.c | 86 +-
gdb/aarch64-linux-tdep.h | 13 +-
gdb/aarch64-newlib-tdep.c | 2 +-
gdb/aarch64-ravenscar-thread.c | 49 +-
gdb/aarch64-ravenscar-thread.h | 2 +-
gdb/aarch64-tdep.c | 493 +-
gdb/aarch64-tdep.h | 16 +-
gdb/acinclude.m4 | 2 +-
gdb/acx_configure_dir.m4 | 2 +-
gdb/ada-exp.y | 6 +-
gdb/ada-lang.c | 432 +-
gdb/ada-lang.h | 6 +-
gdb/ada-lex.l | 4 +-
gdb/ada-operator.def | 2 +-
gdb/ada-tasks.c | 111 +-
gdb/ada-typeprint.c | 15 +-
gdb/ada-valprint.c | 3 +-
gdb/ada-varobj.c | 5 +-
gdb/addrmap.c | 2 +-
gdb/addrmap.h | 2 +-
gdb/agent.c | 4 +-
gdb/aix-thread.c | 27 +-
gdb/alpha-bsd-nat.c | 2 +-
gdb/alpha-bsd-tdep.c | 2 +-
gdb/alpha-bsd-tdep.h | 2 +-
gdb/alpha-linux-nat.c | 2 +-
gdb/alpha-linux-tdep.c | 2 +-
gdb/alpha-mdebug-tdep.c | 2 +-
gdb/alpha-nbsd-tdep.c | 2 +-
gdb/alpha-obsd-tdep.c | 2 +-
gdb/alpha-tdep.c | 38 +-
gdb/alpha-tdep.h | 2 +-
gdb/amd64-bsd-nat.c | 28 +-
gdb/amd64-bsd-nat.h | 2 +-
gdb/amd64-darwin-tdep.c | 4 +-
gdb/amd64-darwin-tdep.h | 9 +-
gdb/amd64-dicos-tdep.c | 4 +-
gdb/amd64-fbsd-nat.c | 8 +-
gdb/amd64-fbsd-tdep.c | 29 +-
gdb/amd64-linux-nat.c | 4 +-
gdb/amd64-linux-tdep.c | 4 +-
gdb/amd64-linux-tdep.h | 2 +-
gdb/amd64-nat.c | 2 +-
gdb/amd64-nat.h | 2 +-
gdb/amd64-nbsd-nat.c | 2 +-
gdb/amd64-nbsd-tdep.c | 4 +-
gdb/amd64-obsd-nat.c | 2 +-
gdb/amd64-obsd-tdep.c | 4 +-
gdb/amd64-sol2-tdep.c | 4 +-
gdb/amd64-tdep.c | 27 +-
gdb/amd64-tdep.h | 2 +-
gdb/amd64-windows-nat.c | 2 +-
gdb/amd64-windows-tdep.c | 20 +-
gdb/annotate.c | 2 +-
gdb/annotate.h | 7 +-
gdb/arc-newlib-tdep.c | 2 +-
gdb/arc-tdep.c | 75 +-
gdb/arc-tdep.h | 2 +-
gdb/arch-utils.c | 6 +-
gdb/arch-utils.h | 8 +-
gdb/arch/aarch64-insn.c | 4 +-
gdb/arch/aarch64-insn.h | 8 +-
gdb/arch/aarch64.c | 10 +-
gdb/arch/aarch64.h | 11 +-
gdb/arch/amd64.c | 6 +-
gdb/arch/amd64.h | 7 +-
gdb/arch/arm-get-next-pcs.c | 8 +-
gdb/arch/arm-get-next-pcs.h | 8 +-
gdb/arch/arm-linux.c | 6 +-
gdb/arch/arm-linux.h | 9 +-
gdb/arch/arm.c | 6 +-
gdb/arch/arm.h | 8 +-
gdb/arch/i386.c | 12 +-
gdb/arch/i386.h | 10 +-
gdb/arch/ppc-linux-common.c | 4 +-
gdb/arch/ppc-linux-common.h | 2 +-
gdb/arch/ppc-linux-tdesc.h | 2 +-
gdb/arch/riscv.c | 100 +
gdb/arch/riscv.h | 75 +
gdb/arch/tic6x.c | 2 +-
gdb/arch/tic6x.h | 7 +-
gdb/arch/xtensa.h | 8 +-
gdb/arm-bsd-tdep.c | 2 +-
gdb/arm-fbsd-nat.c | 2 +-
gdb/arm-fbsd-tdep.c | 65 +-
gdb/arm-fbsd-tdep.h | 7 +-
gdb/arm-linux-nat.c | 46 +-
gdb/arm-linux-tdep.c | 7 +-
gdb/arm-linux-tdep.h | 6 +-
gdb/arm-nbsd-nat.c | 2 +-
gdb/arm-nbsd-tdep.c | 2 +-
gdb/arm-obsd-tdep.c | 2 +-
gdb/arm-pikeos-tdep.c | 2 +-
gdb/arm-symbian-tdep.c | 2 +-
gdb/arm-tdep.c | 48 +-
gdb/arm-tdep.h | 2 +-
gdb/arm-wince-tdep.c | 2 +-
gdb/auto-load.c | 10 +-
gdb/auto-load.h | 2 +-
gdb/auxv.c | 4 +-
gdb/auxv.h | 2 +-
gdb/avr-tdep.c | 7 +-
gdb/ax-gdb.c | 8 +-
gdb/ax-gdb.h | 2 +-
gdb/ax-general.c | 4 +-
gdb/ax.h | 12 +-
gdb/ax_cxx_compile_stdcxx.m4 | 2 +-
gdb/bcache.c | 240 +-
gdb/bcache.h | 114 +-
gdb/bfd-target.c | 5 +-
gdb/bfd-target.h | 2 +-
gdb/bfin-linux-tdep.c | 2 +-
gdb/bfin-tdep.c | 24 +-
gdb/bfin-tdep.h | 7 +-
gdb/block.c | 41 +-
gdb/block.h | 12 +-
gdb/blockframe.c | 28 +-
gdb/break-catch-sig.c | 2 +-
gdb/break-catch-syscall.c | 38 +-
gdb/break-catch-throw.c | 2 +-
gdb/breakpoint.c | 446 +-
gdb/breakpoint.h | 24 +-
gdb/bsd-kvm.c | 19 +-
gdb/bsd-kvm.h | 2 +-
gdb/bsd-uthread.c | 20 +-
gdb/bsd-uthread.h | 2 +-
gdb/btrace.c | 18 +-
gdb/btrace.h | 4 +-
gdb/build-id.c | 100 +-
gdb/build-id.h | 2 +-
gdb/buildsym-legacy.c | 2 +-
gdb/buildsym-legacy.h | 8 +-
gdb/buildsym.c | 39 +-
gdb/buildsym.h | 2 +-
gdb/c-exp.y | 237 +-
gdb/c-lang.c | 2 +-
gdb/c-lang.h | 2 +-
gdb/c-support.h | 2 +-
gdb/c-typeprint.c | 10 +-
gdb/c-valprint.c | 6 +-
gdb/c-varobj.c | 2 +-
gdb/charset-list.h | 7 +-
gdb/charset.c | 10 +-
gdb/charset.h | 2 +-
gdb/cli-out.c | 53 +-
gdb/cli-out.h | 5 +-
gdb/cli/cli-cmds.c | 57 +-
gdb/cli/cli-cmds.h | 8 +-
gdb/cli/cli-decode.c | 12 +-
gdb/cli/cli-decode.h | 8 +-
gdb/cli/cli-dump.c | 4 +-
gdb/cli/cli-interp.c | 9 +-
gdb/cli/cli-interp.h | 8 +-
gdb/cli/cli-logging.c | 2 +-
gdb/cli/cli-script.c | 14 +-
gdb/cli/cli-script.h | 8 +-
gdb/cli/cli-setshow.c | 2 +-
gdb/cli/cli-setshow.h | 8 +-
gdb/cli/cli-style.c | 320 +
gdb/cli/cli-style.h | 102 +
gdb/cli/cli-utils.c | 2 +-
gdb/cli/cli-utils.h | 9 +-
gdb/coff-pe-read.c | 2 +-
gdb/coff-pe-read.h | 2 +-
gdb/coffread.c | 147 +-
gdb/command.h | 7 +-
gdb/common/agent.c | 2 +-
gdb/common/agent.h | 2 +-
gdb/common/array-view.h | 55 +-
gdb/common/ax.def | 2 +-
gdb/common/break-common.h | 9 +-
gdb/common/btrace-common.c | 2 +-
gdb/common/btrace-common.h | 8 +-
gdb/common/buffer.c | 2 +-
gdb/common/buffer.h | 8 +-
gdb/common/byte-vector.h | 2 +-
gdb/common/cleanups.c | 162 +-
gdb/common/cleanups.h | 40 +-
gdb/common/common-debug.c | 2 +-
gdb/common/common-debug.h | 8 +-
gdb/common/common-defs.h | 14 +-
gdb/common/common-exceptions.c | 22 +-
gdb/common/common-exceptions.h | 8 +-
gdb/common/common-gdbthread.h | 8 +-
gdb/common/common-inferior.h | 8 +-
gdb/common/common-regcache.c | 2 +-
gdb/common/common-regcache.h | 8 +-
gdb/common/common-types.h | 8 +-
gdb/common/common-utils.c | 2 +-
gdb/common/common-utils.h | 8 +-
gdb/common/common.host | 2 +-
gdb/common/common.m4 | 2 +-
gdb/common/create-version.sh | 4 +-
gdb/common/def-vector.h | 2 +-
gdb/common/default-init-alloc.h | 2 +-
gdb/common/enum-flags.h | 2 +-
gdb/common/environ.c | 2 +-
gdb/common/environ.h | 8 +-
gdb/common/errors.c | 2 +-
gdb/common/errors.h | 2 +-
gdb/common/fileio.c | 2 +-
gdb/common/fileio.h | 8 +-
gdb/common/filestuff.c | 57 +-
gdb/common/filestuff.h | 12 +-
gdb/common/filtered-iterator.h | 87 +
gdb/common/format.c | 2 +-
gdb/common/format.h | 2 +-
gdb/common/forward-scope-exit.h | 123 +
gdb/common/function-view.h | 2 +-
gdb/common/gdb_assert.h | 8 +-
gdb/common/gdb_locale.h | 8 +-
gdb/common/gdb_optional.h | 8 +-
gdb/common/gdb_proc_service.h | 2 +-
gdb/common/gdb_ref_ptr.h | 10 +-
gdb/common/gdb_setjmp.h | 8 +-
gdb/common/gdb_signals.h | 2 +-
gdb/common/gdb_splay_tree.h | 8 +-
gdb/common/gdb_string_view.h | 10 +-
gdb/common/gdb_string_view.tcc | 2 +-
gdb/common/gdb_sys_time.h | 8 +-
gdb/common/gdb_tilde_expand.c | 2 +-
gdb/common/gdb_tilde_expand.h | 8 +-
gdb/common/gdb_unique_ptr.h | 8 +-
gdb/common/gdb_unlinker.h | 8 +-
gdb/common/gdb_vecs.c | 2 +-
gdb/common/gdb_vecs.h | 8 +-
gdb/common/gdb_wait.h | 8 +-
gdb/common/hash_enum.h | 2 +-
gdb/common/host-defs.h | 8 +-
gdb/common/job-control.c | 2 +-
gdb/common/job-control.h | 8 +-
gdb/common/mingw-strerror.c | 2 +-
gdb/common/netstuff.c | 9 +-
gdb/common/netstuff.h | 8 +-
gdb/common/new-op.c | 4 +-
gdb/common/next-iterator.h | 102 +
gdb/common/observable.h | 8 +-
gdb/common/offset-type.h | 2 +-
gdb/common/pathstuff.c | 52 +-
gdb/common/pathstuff.h | 14 +-
gdb/common/poison.h | 2 +-
gdb/common/posix-strerror.c | 2 +-
gdb/common/preprocessor.h | 10 +-
gdb/common/print-utils.c | 2 +-
gdb/common/print-utils.h | 8 +-
gdb/common/ptid.c | 6 +-
gdb/common/ptid.h | 12 +-
gdb/common/queue.h | 8 +-
gdb/common/refcounted-object.h | 8 +-
gdb/common/rsp-low.c | 2 +-
gdb/common/rsp-low.h | 2 +-
gdb/common/run-time-clock.c | 2 +-
gdb/common/run-time-clock.h | 8 +-
gdb/common/safe-iterator.h | 93 +
gdb/common/scope-exit.h | 186 +
gdb/common/scoped_fd.h | 29 +-
gdb/common/scoped_mmap.c | 2 +-
gdb/common/scoped_mmap.h | 11 +-
gdb/common/scoped_restore.h | 8 +-
gdb/common/selftest.c | 2 +-
gdb/common/selftest.h | 8 +-
gdb/common/signals-state-save-restore.c | 2 +-
gdb/common/signals-state-save-restore.h | 2 +-
gdb/common/signals.c | 2 +-
gdb/common/symbol.h | 2 +-
gdb/common/tdesc.c | 2 +-
gdb/common/tdesc.h | 8 +-
gdb/common/traits.h | 2 +-
gdb/common/underlying.h | 2 +-
gdb/common/valid-expr.h | 20 +-
gdb/common/vec.c | 2 +-
gdb/common/vec.h | 8 +-
gdb/common/version.h | 8 +-
gdb/common/x86-xstate.h | 8 +-
gdb/common/xml-utils.c | 2 +-
gdb/common/xml-utils.h | 8 +-
gdb/compile/compile-c-support.c | 6 +-
gdb/compile/compile-c-symbols.c | 2 +-
gdb/compile/compile-c-types.c | 2 +-
gdb/compile/compile-c.h | 8 +-
gdb/compile/compile-cplus-symbols.c | 4 +-
gdb/compile/compile-cplus-types.c | 12 +-
gdb/compile/compile-cplus.h | 8 +-
gdb/compile/compile-internal.h | 8 +-
gdb/compile/compile-loc2c.c | 4 +-
gdb/compile/compile-object-load.c | 2 +-
gdb/compile/compile-object-load.h | 8 +-
gdb/compile/compile-object-run.c | 9 +-
gdb/compile/compile-object-run.h | 8 +-
gdb/compile/compile.c | 8 +-
gdb/compile/compile.h | 8 +-
gdb/compile/gcc-c-plugin.h | 9 +-
gdb/compile/gcc-cp-plugin.h | 7 +-
gdb/complaints.c | 2 +-
gdb/complaints.h | 2 +-
gdb/completer.c | 4 +-
gdb/completer.h | 4 +-
gdb/config.in | 12 +-
gdb/config/djgpp/djcheck.sh | 2 +-
gdb/config/djgpp/djconfig.sh | 2 +-
gdb/config/djgpp/fnchange.lst | 1 +
gdb/config/djgpp/langinfo.h | 8 +-
gdb/config/djgpp/nl_types.h | 8 +-
gdb/config/i386/nm-fbsd.h | 23 -
gdb/config/i386/nm-i386gnu.h | 15 +-
gdb/config/nm-linux.h | 7 +-
gdb/config/nm-nto.h | 8 +-
gdb/config/sparc/nm-sol2.h | 8 +-
gdb/configure | 124 +-
gdb/configure.ac | 49 +-
gdb/configure.nat | 77 +-
gdb/configure.tgt | 17 +-
gdb/continuations.c | 2 +-
gdb/continuations.h | 2 +-
gdb/contrib/ari/create-web-ari-in-src.sh | 2 +-
gdb/contrib/ari/gdb_ari.sh | 2 +-
gdb/contrib/ari/gdb_find.sh | 2 +-
gdb/contrib/ari/update-web-ari.sh | 2 +-
gdb/contrib/cc-with-tweaks.sh | 2 +-
gdb/contrib/cleanup_check.py | 335 -
gdb/contrib/excheck.py | 296 -
gdb/contrib/expect-read1.c | 2 +-
gdb/contrib/expect-read1.sh | 2 +-
gdb/contrib/exsummary.py | 185 -
gdb/contrib/gcc-with-excheck | 58 -
gdb/contrib/gdb-add-index.sh | 2 +-
gdb/contrib/test_pubnames_and_indexes.py | 2 +-
gdb/copyright.py | 2 +-
gdb/corefile.c | 2 +-
gdb/corelow.c | 32 +-
gdb/cp-abi.c | 2 +-
gdb/cp-abi.h | 9 +-
gdb/cp-name-parser.y | 3 +-
gdb/cp-namespace.c | 28 +-
gdb/cp-support.c | 203 +-
gdb/cp-support.h | 23 +-
gdb/cp-valprint.c | 12 +-
gdb/cris-linux-tdep.c | 2 +-
gdb/cris-tdep.c | 51 +-
gdb/cris-tdep.h | 2 +-
gdb/csky-linux-tdep.c | 2 +-
gdb/csky-tdep.c | 45 +-
gdb/csky-tdep.h | 2 +-
gdb/ctf.c | 32 +-
gdb/ctf.h | 2 +-
gdb/d-exp.y | 3 +-
gdb/d-lang.c | 2 +-
gdb/d-lang.h | 2 +-
gdb/d-namespace.c | 17 +-
gdb/d-valprint.c | 2 +-
gdb/darwin-nat-info.c | 2 +-
gdb/darwin-nat.c | 28 +-
gdb/darwin-nat.h | 10 +-
gdb/data-directory/Makefile.in | 2 +-
gdb/dbxread.c | 90 +-
gdb/dcache.c | 4 +-
gdb/dcache.h | 2 +-
gdb/debug.c | 2 +-
gdb/defs.h | 6 +-
gdb/demangle.c | 6 +-
gdb/dicos-tdep.c | 2 +-
gdb/dicos-tdep.h | 2 +-
gdb/dictionary.c | 519 +-
gdb/dictionary.h | 136 +-
gdb/disable-implicit-rules.mk | 2 +-
gdb/disasm-selftests.c | 4 +-
gdb/disasm.c | 5 +-
gdb/disasm.h | 2 +-
gdb/doc/ChangeLog | 116 +
gdb/doc/Doxyfile-base.in | 2 +-
gdb/doc/Doxyfile-gdb-api.in | 2 +-
gdb/doc/Doxyfile-gdb-xref.in | 2 +-
gdb/doc/Doxyfile-gdbserver.in | 2 +-
gdb/doc/Makefile.in | 2 +-
gdb/doc/agentexpr.texi | 2 +-
gdb/doc/all-cfg.texi | 2 +-
gdb/doc/annotate.texinfo | 2 +-
gdb/doc/doxy-index.in | 2 +-
gdb/doc/gdb.texinfo | 399 +-
gdb/doc/guile.texi | 2 +-
gdb/doc/python.texi | 106 +-
gdb/doc/refcard.tex | 6 +-
gdb/doc/stabs.texinfo | 2 +-
gdb/dtrace-probe.c | 6 +-
gdb/dummy-frame.c | 16 +-
gdb/dummy-frame.h | 8 +-
gdb/dwarf-index-cache.c | 4 +-
gdb/dwarf-index-cache.h | 2 +-
gdb/dwarf-index-common.c | 2 +-
gdb/dwarf-index-common.h | 2 +-
gdb/dwarf-index-write.c | 80 +-
gdb/dwarf-index-write.h | 2 +-
gdb/dwarf2-frame-tailcall.c | 2 +-
gdb/dwarf2-frame-tailcall.h | 2 +-
gdb/dwarf2-frame.c | 8 +-
gdb/dwarf2-frame.h | 2 +-
gdb/dwarf2expr.c | 2 +-
gdb/dwarf2expr.h | 2 +-
gdb/dwarf2loc.c | 241 +-
gdb/dwarf2loc.h | 4 +-
gdb/dwarf2read.c | 489 +-
gdb/dwarf2read.h | 2 +-
gdb/elfread.c | 16 +-
gdb/eval.c | 51 +-
gdb/event-loop.c | 6 +-
gdb/event-loop.h | 7 +-
gdb/event-top.c | 40 +-
gdb/event-top.h | 4 +-
gdb/exceptions.c | 2 +-
gdb/exceptions.h | 2 +-
gdb/exec.c | 7 +-
gdb/exec.h | 2 +-
gdb/expprint.c | 3 +-
gdb/expression.h | 22 +-
gdb/extension-priv.h | 2 +-
gdb/extension.c | 14 +-
gdb/extension.h | 34 +-
gdb/f-exp.y | 265 +-
gdb/f-lang.c | 128 +-
gdb/f-lang.h | 44 +-
gdb/f-typeprint.c | 20 +-
gdb/f-valprint.c | 7 +-
gdb/fbsd-nat.c | 80 +-
gdb/fbsd-nat.h | 7 +-
gdb/fbsd-tdep.c | 455 +-
gdb/fbsd-tdep.h | 13 +-
gdb/features/Makefile | 14 +-
gdb/features/aarch64-core.xml | 2 +-
gdb/features/aarch64-fpu.xml | 2 +-
gdb/features/aarch64-pauth.c | 16 +
gdb/features/aarch64-pauth.xml | 13 +
gdb/features/aarch64-sve.c | 16 +-
gdb/features/aarch64.xml | 2 +-
gdb/features/arc-arcompact.xml | 2 +-
gdb/features/arc-v2.xml | 2 +-
gdb/features/arm/arm-core.xml | 2 +-
gdb/features/arm/arm-fpa.xml | 2 +-
gdb/features/arm/arm-m-profile.xml | 2 +-
gdb/features/arm/arm-vfpv2.xml | 2 +-
gdb/features/arm/arm-vfpv3.xml | 2 +-
gdb/features/arm/arm-with-iwmmxt.xml | 2 +-
gdb/features/arm/arm-with-m-fpa-layout.xml | 2 +-
gdb/features/arm/arm-with-m-vfp-d16.xml | 2 +-
gdb/features/arm/arm-with-m.xml | 2 +-
gdb/features/arm/arm-with-neon.xml | 2 +-
gdb/features/arm/arm-with-vfpv2.xml | 2 +-
gdb/features/arm/arm-with-vfpv3.xml | 2 +-
gdb/features/arm/xscale-iwmmxt.xml | 2 +-
gdb/features/btrace-conf.dtd | 2 +-
gdb/features/btrace.dtd | 2 +-
gdb/features/feature_to_c.sh | 2 +-
gdb/features/gdb-target.dtd | 2 +-
gdb/features/i386/32bit-avx.xml | 2 +-
gdb/features/i386/32bit-avx512.xml | 2 +-
gdb/features/i386/32bit-core.xml | 2 +-
gdb/features/i386/32bit-linux.xml | 2 +-
gdb/features/i386/32bit-mpx.xml | 2 +-
gdb/features/i386/32bit-pkeys.xml | 2 +-
gdb/features/i386/32bit-segments.c | 15 +
gdb/features/i386/32bit-segments.xml | 12 +
gdb/features/i386/32bit-sse.xml | 2 +-
gdb/features/i386/64bit-avx.xml | 2 +-
gdb/features/i386/64bit-avx512.xml | 2 +-
gdb/features/i386/64bit-core.xml | 2 +-
gdb/features/i386/64bit-linux.xml | 2 +-
gdb/features/i386/64bit-mpx.xml | 2 +-
gdb/features/i386/64bit-pkeys.xml | 2 +-
gdb/features/i386/64bit-segments.xml | 2 +-
gdb/features/i386/64bit-sse.xml | 2 +-
gdb/features/i386/amd64-avx-avx512-linux.xml | 2 +-
gdb/features/i386/amd64-avx-avx512.xml | 2 +-
gdb/features/i386/amd64-avx-linux.xml | 2 +-
.../i386/amd64-avx-mpx-avx512-pku-linux.xml | 2 +-
gdb/features/i386/amd64-avx-mpx-avx512-pku.xml | 2 +-
gdb/features/i386/amd64-avx-mpx-linux.xml | 2 +-
gdb/features/i386/amd64-avx-mpx.xml | 2 +-
gdb/features/i386/amd64-avx.xml | 2 +-
gdb/features/i386/amd64-linux.xml | 2 +-
gdb/features/i386/amd64-mpx-linux.xml | 2 +-
gdb/features/i386/amd64-mpx.xml | 2 +-
gdb/features/i386/amd64.xml | 2 +-
gdb/features/i386/i386-avx-avx512-linux.xml | 2 +-
gdb/features/i386/i386-avx-avx512.xml | 2 +-
gdb/features/i386/i386-avx-linux.xml | 2 +-
.../i386/i386-avx-mpx-avx512-pku-linux.xml | 2 +-
gdb/features/i386/i386-avx-mpx-avx512-pku.xml | 2 +-
gdb/features/i386/i386-avx-mpx-linux.xml | 2 +-
gdb/features/i386/i386-avx-mpx.xml | 2 +-
gdb/features/i386/i386-avx.xml | 2 +-
gdb/features/i386/i386-linux.xml | 2 +-
gdb/features/i386/i386-mmx-linux.xml | 2 +-
gdb/features/i386/i386-mmx.xml | 2 +-
gdb/features/i386/i386-mpx-linux.xml | 2 +-
gdb/features/i386/i386-mpx.xml | 2 +-
gdb/features/i386/i386.xml | 2 +-
gdb/features/i386/x32-avx-avx512-linux.xml | 2 +-
gdb/features/i386/x32-avx-linux.xml | 2 +-
gdb/features/i386/x32-core.xml | 2 +-
gdb/features/i386/x32-linux.xml | 2 +-
gdb/features/library-list-aix.dtd | 2 +-
gdb/features/library-list-svr4.dtd | 2 +-
gdb/features/library-list.dtd | 2 +-
gdb/features/microblaze-core.xml | 2 +-
gdb/features/microblaze-stack-protect.xml | 2 +-
gdb/features/microblaze-with-stack-protect.xml | 2 +-
gdb/features/microblaze.xml | 2 +-
gdb/features/mips-cp0.xml | 2 +-
gdb/features/mips-cpu.xml | 2 +-
gdb/features/mips-dsp-linux.xml | 2 +-
gdb/features/mips-dsp.xml | 2 +-
gdb/features/mips-fpu.xml | 2 +-
gdb/features/mips-linux.xml | 2 +-
gdb/features/mips64-cp0.xml | 2 +-
gdb/features/mips64-cpu.xml | 2 +-
gdb/features/mips64-dsp-linux.xml | 2 +-
gdb/features/mips64-dsp.xml | 2 +-
gdb/features/mips64-fpu.xml | 2 +-
gdb/features/mips64-linux.xml | 2 +-
gdb/features/nds32-core.xml | 2 +-
gdb/features/nds32-fpu.xml | 2 +-
gdb/features/nds32-system.xml | 2 +-
gdb/features/nds32.xml | 2 +-
gdb/features/nios2-cpu.xml | 2 +-
gdb/features/nios2-linux.xml | 2 +-
gdb/features/nios2.xml | 2 +-
gdb/features/or1k-core.xml | 2 +-
gdb/features/or1k.xml | 2 +-
gdb/features/osdata.dtd | 2 +-
gdb/features/riscv/32bit-cpu.c | 46 +
gdb/features/riscv/32bit-cpu.xml | 47 +
gdb/features/riscv/32bit-csr.c | 253 +
gdb/features/riscv/32bit-csr.xml | 250 +
gdb/features/riscv/32bit-fpu.c | 50 +
gdb/features/riscv/32bit-fpu.xml | 50 +
gdb/features/riscv/64bit-cpu.c | 46 +
gdb/features/riscv/64bit-cpu.xml | 47 +
gdb/features/riscv/64bit-csr.c | 253 +
gdb/features/riscv/64bit-csr.xml | 250 +
gdb/features/riscv/64bit-fpu.c | 58 +
gdb/features/riscv/64bit-fpu.xml | 56 +
gdb/features/riscv/rebuild-csr-xml.sh | 29 +
gdb/features/rs6000/power-altivec.xml | 2 +-
gdb/features/rs6000/power-core.xml | 2 +-
gdb/features/rs6000/power-dscr.xml | 2 +-
gdb/features/rs6000/power-ebb.xml | 2 +-
gdb/features/rs6000/power-fpu-isa205.xml | 2 +-
gdb/features/rs6000/power-fpu.xml | 2 +-
gdb/features/rs6000/power-htm-altivec.xml | 2 +-
gdb/features/rs6000/power-htm-core.xml | 2 +-
gdb/features/rs6000/power-htm-dscr.xml | 2 +-
gdb/features/rs6000/power-htm-fpu.xml | 2 +-
gdb/features/rs6000/power-htm-ppr.xml | 2 +-
gdb/features/rs6000/power-htm-spr.xml | 2 +-
gdb/features/rs6000/power-htm-tar.xml | 2 +-
gdb/features/rs6000/power-htm-vsx.xml | 2 +-
gdb/features/rs6000/power-linux-pmu.xml | 2 +-
gdb/features/rs6000/power-linux.xml | 2 +-
gdb/features/rs6000/power-oea.xml | 2 +-
gdb/features/rs6000/power-ppr.xml | 2 +-
gdb/features/rs6000/power-spe.xml | 2 +-
gdb/features/rs6000/power-tar.xml | 2 +-
gdb/features/rs6000/power-vsx.xml | 2 +-
gdb/features/rs6000/power64-core.xml | 2 +-
gdb/features/rs6000/power64-htm-core.xml | 2 +-
gdb/features/rs6000/power64-linux.xml | 2 +-
gdb/features/rs6000/powerpc-32.xml | 2 +-
gdb/features/rs6000/powerpc-32l.xml | 2 +-
gdb/features/rs6000/powerpc-403.xml | 2 +-
gdb/features/rs6000/powerpc-403gc.xml | 2 +-
gdb/features/rs6000/powerpc-405.xml | 2 +-
gdb/features/rs6000/powerpc-505.xml | 2 +-
gdb/features/rs6000/powerpc-601.xml | 2 +-
gdb/features/rs6000/powerpc-602.xml | 2 +-
gdb/features/rs6000/powerpc-603.xml | 2 +-
gdb/features/rs6000/powerpc-604.xml | 2 +-
gdb/features/rs6000/powerpc-64.xml | 2 +-
gdb/features/rs6000/powerpc-64l.xml | 2 +-
gdb/features/rs6000/powerpc-7400.xml | 2 +-
gdb/features/rs6000/powerpc-750.xml | 2 +-
gdb/features/rs6000/powerpc-860.xml | 2 +-
gdb/features/rs6000/powerpc-altivec32.xml | 2 +-
gdb/features/rs6000/powerpc-altivec32l.xml | 2 +-
gdb/features/rs6000/powerpc-altivec64.xml | 2 +-
gdb/features/rs6000/powerpc-altivec64l.xml | 2 +-
gdb/features/rs6000/powerpc-cell32l.xml | 2 +-
gdb/features/rs6000/powerpc-cell64l.xml | 2 +-
gdb/features/rs6000/powerpc-e500.xml | 2 +-
gdb/features/rs6000/powerpc-e500l.xml | 2 +-
gdb/features/rs6000/powerpc-isa205-32l.xml | 2 +-
gdb/features/rs6000/powerpc-isa205-64l.xml | 2 +-
gdb/features/rs6000/powerpc-isa205-altivec32l.xml | 2 +-
gdb/features/rs6000/powerpc-isa205-altivec64l.xml | 2 +-
.../rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml | 2 +-
.../rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml | 2 +-
gdb/features/rs6000/powerpc-isa205-vsx32l.xml | 2 +-
gdb/features/rs6000/powerpc-isa205-vsx64l.xml | 2 +-
gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml | 2 +-
gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml | 2 +-
gdb/features/rs6000/powerpc-isa207-vsx32l.xml | 2 +-
gdb/features/rs6000/powerpc-isa207-vsx64l.xml | 2 +-
gdb/features/rs6000/powerpc-vsx32.xml | 2 +-
gdb/features/rs6000/powerpc-vsx32l.xml | 2 +-
gdb/features/rs6000/powerpc-vsx64.xml | 2 +-
gdb/features/rs6000/powerpc-vsx64l.xml | 2 +-
gdb/features/rs6000/rs6000.xml | 2 +-
gdb/features/s390-acr.xml | 2 +-
gdb/features/s390-core32.xml | 2 +-
gdb/features/s390-core64.xml | 2 +-
gdb/features/s390-fpr.xml | 2 +-
gdb/features/s390-gs-linux64.xml | 2 +-
gdb/features/s390-gs.xml | 2 +-
gdb/features/s390-gsbc.xml | 2 +-
gdb/features/s390-linux32.xml | 2 +-
gdb/features/s390-linux32v1.xml | 2 +-
gdb/features/s390-linux32v2.xml | 2 +-
gdb/features/s390-linux64.xml | 2 +-
gdb/features/s390-linux64v1.xml | 2 +-
gdb/features/s390-linux64v2.xml | 2 +-
gdb/features/s390-tdb.xml | 2 +-
gdb/features/s390-te-linux64.xml | 2 +-
gdb/features/s390-tevx-linux64.xml | 2 +-
gdb/features/s390-vx-linux64.xml | 2 +-
gdb/features/s390-vx.xml | 2 +-
gdb/features/s390x-core64.xml | 2 +-
gdb/features/s390x-gs-linux64.xml | 2 +-
gdb/features/s390x-linux64.xml | 2 +-
gdb/features/s390x-linux64v1.xml | 2 +-
gdb/features/s390x-linux64v2.xml | 2 +-
gdb/features/s390x-te-linux64.xml | 2 +-
gdb/features/s390x-tevx-linux64.xml | 2 +-
gdb/features/s390x-vx-linux64.xml | 2 +-
gdb/features/sparc/sparc32-cp0.xml | 2 +-
gdb/features/sparc/sparc32-cpu.xml | 2 +-
gdb/features/sparc/sparc32-fpu.xml | 2 +-
gdb/features/sparc/sparc32-solaris.xml | 2 +-
gdb/features/sparc/sparc64-cp0.xml | 2 +-
gdb/features/sparc/sparc64-cpu.xml | 2 +-
gdb/features/sparc/sparc64-fpu.xml | 2 +-
gdb/features/sparc/sparc64-solaris.xml | 2 +-
gdb/features/threads.dtd | 2 +-
gdb/features/tic6x-c62x-linux.xml | 2 +-
gdb/features/tic6x-c64x-linux.xml | 2 +-
gdb/features/tic6x-c64xp-linux.xml | 2 +-
gdb/features/tic6x-c6xp.xml | 2 +-
gdb/features/tic6x-core.xml | 2 +-
gdb/features/tic6x-gp.xml | 2 +-
gdb/features/traceframe-info.dtd | 2 +-
gdb/features/xinclude.dtd | 2 +-
gdb/filename-seen-cache.c | 2 +-
gdb/filename-seen-cache.h | 2 +-
gdb/filesystem.c | 2 +-
gdb/filesystem.h | 2 +-
gdb/findcmd.c | 8 +-
gdb/findvar.c | 4 +-
gdb/fork-child.c | 13 +-
gdb/frame-base.c | 2 +-
gdb/frame-base.h | 2 +-
gdb/frame-unwind.c | 22 +-
gdb/frame-unwind.h | 14 +-
gdb/frame.c | 134 +-
gdb/frame.h | 2 +-
gdb/frv-linux-tdep.c | 2 +-
gdb/frv-tdep.c | 34 +-
gdb/frv-tdep.h | 6 +-
gdb/ft32-tdep.c | 35 +-
gdb/ft32-tdep.h | 2 +-
gdb/gcore.c | 130 +-
gdb/gcore.h | 2 +-
gdb/gcore.in | 5 +-
gdb/gdb-code-style.el | 2 +-
gdb/gdb-demangle.h | 2 +-
gdb/gdb-dlfcn.c | 2 +-
gdb/gdb-dlfcn.h | 2 +-
gdb/gdb-gdb.py.in | 30 +-
gdb/gdb-stabs.h | 9 +-
gdb/gdb.c | 2 +-
gdb/gdb_bfd.c | 16 +-
gdb/gdb_bfd.h | 7 +-
gdb/gdb_buildall.sh | 2 +-
gdb/gdb_curses.h | 2 +-
gdb/gdb_expat.h | 2 +-
gdb/gdb_mbuild.sh | 2 +-
gdb/gdb_obstack.c | 2 +-
gdb/gdb_obstack.h | 2 +-
gdb/gdb_proc_service.h | 2 +-
gdb/gdb_regex.c | 2 +-
gdb/gdb_regex.h | 2 +-
gdb/gdb_select.h | 4 +-
gdb/gdb_usleep.c | 4 +-
gdb/gdb_usleep.h | 2 +-
gdb/gdb_vfork.h | 2 +-
gdb/gdb_wchar.h | 2 +-
gdb/gdbarch-selftests.c | 17 +-
gdb/gdbarch.c | 81 +-
gdb/gdbarch.h | 66 +-
gdb/gdbarch.sh | 63 +-
gdb/gdbcmd.h | 2 +-
gdb/gdbcore.h | 2 +-
gdb/gdbserver/ChangeLog | 189 +
gdb/gdbserver/Makefile.in | 10 +-
gdb/gdbserver/ax.c | 12 +-
gdb/gdbserver/ax.h | 8 +-
gdb/gdbserver/configure.ac | 2 +-
gdb/gdbserver/configure.srv | 2 +-
gdb/gdbserver/debug.c | 2 +-
gdb/gdbserver/debug.h | 8 +-
gdb/gdbserver/dll.c | 2 +-
gdb/gdbserver/dll.h | 8 +-
gdb/gdbserver/event-loop.c | 4 +-
gdb/gdbserver/event-loop.h | 8 +-
gdb/gdbserver/fork-child.c | 4 +-
gdb/gdbserver/gdb_proc_service.h | 8 +-
gdb/gdbserver/gdbreplay.c | 37 +-
gdb/gdbserver/gdbthread.h | 10 +-
gdb/gdbserver/hostio-errno.c | 4 +-
gdb/gdbserver/hostio.c | 4 +-
gdb/gdbserver/hostio.h | 8 +-
gdb/gdbserver/i387-fp.c | 4 +-
gdb/gdbserver/i387-fp.h | 8 +-
gdb/gdbserver/inferiors.c | 2 +-
gdb/gdbserver/inferiors.h | 10 +-
gdb/gdbserver/linux-aarch32-low.c | 2 +-
gdb/gdbserver/linux-aarch32-low.h | 7 +-
gdb/gdbserver/linux-aarch64-ipa.c | 10 +-
gdb/gdbserver/linux-aarch64-low.c | 53 +-
gdb/gdbserver/linux-aarch64-tdesc-selftest.c | 4 +-
gdb/gdbserver/linux-aarch64-tdesc.c | 12 +-
gdb/gdbserver/linux-aarch64-tdesc.h | 9 +-
gdb/gdbserver/linux-amd64-ipa.c | 2 +-
gdb/gdbserver/linux-arm-low.c | 29 +-
gdb/gdbserver/linux-bfin-low.c | 2 +-
gdb/gdbserver/linux-cris-low.c | 2 +-
gdb/gdbserver/linux-crisv32-low.c | 2 +-
gdb/gdbserver/linux-i386-ipa.c | 2 +-
gdb/gdbserver/linux-ia64-low.c | 2 +-
gdb/gdbserver/linux-low.c | 103 +-
gdb/gdbserver/linux-low.h | 18 +-
gdb/gdbserver/linux-m32r-low.c | 2 +-
gdb/gdbserver/linux-m68k-low.c | 2 +-
gdb/gdbserver/linux-mips-low.c | 2 +-
gdb/gdbserver/linux-nios2-low.c | 2 +-
gdb/gdbserver/linux-ppc-ipa.c | 2 +-
gdb/gdbserver/linux-ppc-low.c | 43 +-
gdb/gdbserver/linux-ppc-tdesc-init.h | 7 +-
gdb/gdbserver/linux-s390-ipa.c | 2 +-
gdb/gdbserver/linux-s390-low.c | 34 +-
gdb/gdbserver/linux-s390-tdesc.h | 7 +-
gdb/gdbserver/linux-sh-low.c | 2 +-
gdb/gdbserver/linux-sparc-low.c | 2 +-
gdb/gdbserver/linux-tic6x-low.c | 2 +-
gdb/gdbserver/linux-tile-low.c | 2 +-
gdb/gdbserver/linux-x86-low.c | 7 +-
gdb/gdbserver/linux-x86-tdesc-selftest.c | 4 +-
gdb/gdbserver/linux-x86-tdesc.c | 4 +-
gdb/gdbserver/linux-x86-tdesc.h | 7 +-
gdb/gdbserver/linux-xtensa-low.c | 2 +-
gdb/gdbserver/lynx-i386-low.c | 6 +-
gdb/gdbserver/lynx-low.c | 10 +-
gdb/gdbserver/lynx-low.h | 7 +-
gdb/gdbserver/lynx-ppc-low.c | 2 +-
gdb/gdbserver/mem-break.c | 2 +-
gdb/gdbserver/mem-break.h | 10 +-
gdb/gdbserver/notif.c | 2 +-
gdb/gdbserver/notif.h | 9 +-
gdb/gdbserver/nto-low.c | 2 +-
gdb/gdbserver/nto-low.h | 9 +-
gdb/gdbserver/nto-x86-low.c | 6 +-
gdb/gdbserver/proc-service.c | 2 +-
gdb/gdbserver/proc-service.list | 2 +-
gdb/gdbserver/regcache.c | 4 +-
gdb/gdbserver/regcache.h | 10 +-
gdb/gdbserver/remote-utils.c | 18 +-
gdb/gdbserver/remote-utils.h | 8 +-
gdb/gdbserver/server.c | 50 +-
gdb/gdbserver/server.h | 21 +-
gdb/gdbserver/spu-low.c | 10 +-
gdb/gdbserver/symbol.c | 4 +-
gdb/gdbserver/target.c | 2 +-
gdb/gdbserver/target.h | 18 +-
gdb/gdbserver/tdesc.c | 2 +-
gdb/gdbserver/tdesc.h | 8 +-
gdb/gdbserver/thread-db.c | 4 +-
gdb/gdbserver/tracepoint.c | 7 +-
gdb/gdbserver/tracepoint.h | 8 +-
gdb/gdbserver/utils.c | 2 +-
gdb/gdbserver/utils.h | 8 +-
gdb/gdbserver/win32-arm-low.c | 2 +-
gdb/gdbserver/win32-i386-low.c | 6 +-
gdb/gdbserver/win32-low.c | 10 +-
gdb/gdbserver/win32-low.h | 7 +-
gdb/gdbserver/wincecompat.c | 2 +-
gdb/gdbserver/wincecompat.h | 8 +-
gdb/gdbserver/x86-low.c | 2 +-
gdb/gdbserver/x86-low.h | 6 +-
gdb/gdbserver/x86-tdesc.h | 8 +-
gdb/gdbserver/xtensa-xtregs.c | 2 +-
gdb/gdbthread.h | 176 +-
gdb/gdbtypes.c | 974 +-
gdb/gdbtypes.h | 60 +-
gdb/glibc-tdep.c | 2 +-
gdb/glibc-tdep.h | 2 +-
gdb/gnu-nat.c | 63 +-
gdb/gnu-nat.h | 27 +-
gdb/gnu-v2-abi.c | 2 +-
gdb/gnu-v3-abi.c | 2 +-
gdb/gnulib/Makefile.in | 2 +-
gdb/gnulib/configure.ac | 2 +-
gdb/gnulib/update-gnulib.sh | 2 +-
gdb/go-exp.y | 2 +-
gdb/go-lang.c | 2 +-
gdb/go-lang.h | 2 +-
gdb/go-typeprint.c | 2 +-
gdb/go-valprint.c | 2 +-
gdb/go32-nat.c | 8 +-
gdb/gregset.h | 2 +-
gdb/guile/guile-internal.h | 9 +-
gdb/guile/guile.c | 4 +-
gdb/guile/guile.h | 8 +-
gdb/guile/lib/gdb.scm | 2 +-
gdb/guile/lib/gdb/boot.scm | 2 +-
gdb/guile/lib/gdb/experimental.scm | 2 +-
gdb/guile/lib/gdb/init.scm | 2 +-
gdb/guile/lib/gdb/iterator.scm | 2 +-
gdb/guile/lib/gdb/printing.scm | 2 +-
gdb/guile/lib/gdb/support.scm | 2 +-
gdb/guile/lib/gdb/types.scm | 2 +-
gdb/guile/scm-arch.c | 2 +-
gdb/guile/scm-auto-load.c | 2 +-
gdb/guile/scm-block.c | 2 +-
gdb/guile/scm-breakpoint.c | 2 +-
gdb/guile/scm-cmd.c | 2 +-
gdb/guile/scm-disasm.c | 2 +-
gdb/guile/scm-exception.c | 2 +-
gdb/guile/scm-frame.c | 2 +-
gdb/guile/scm-gsmob.c | 2 +-
gdb/guile/scm-iterator.c | 2 +-
gdb/guile/scm-lazy-string.c | 2 +-
gdb/guile/scm-math.c | 18 +-
gdb/guile/scm-objfile.c | 13 +-
gdb/guile/scm-param.c | 2 +-
gdb/guile/scm-ports.c | 2 +-
gdb/guile/scm-pretty-print.c | 27 +-
gdb/guile/scm-progspace.c | 19 +-
gdb/guile/scm-safe-call.c | 2 +-
gdb/guile/scm-string.c | 2 +-
gdb/guile/scm-symbol.c | 2 +-
gdb/guile/scm-symtab.c | 2 +-
gdb/guile/scm-type.c | 4 +-
gdb/guile/scm-utils.c | 2 +-
gdb/guile/scm-value.c | 9 +-
gdb/h8300-tdep.c | 29 +-
gdb/hppa-bsd-tdep.c | 2 +-
gdb/hppa-bsd-tdep.h | 2 +-
gdb/hppa-linux-nat.c | 2 +-
gdb/hppa-linux-offsets.h | 7 +-
gdb/hppa-linux-tdep.c | 2 +-
gdb/hppa-nbsd-nat.c | 2 +-
gdb/hppa-nbsd-tdep.c | 2 +-
gdb/hppa-obsd-nat.c | 2 +-
gdb/hppa-obsd-tdep.c | 2 +-
gdb/hppa-tdep.c | 149 +-
gdb/hppa-tdep.h | 2 +-
gdb/i386-bsd-nat.c | 56 +-
gdb/i386-bsd-nat.h | 2 +-
gdb/i386-bsd-tdep.c | 2 +-
gdb/i386-cygwin-tdep.c | 11 +-
gdb/i386-darwin-nat.c | 2 +-
gdb/i386-darwin-tdep.c | 7 +-
gdb/i386-darwin-tdep.h | 9 +-
gdb/i386-dicos-tdep.c | 2 +-
gdb/i386-fbsd-nat.c | 6 +-
gdb/i386-fbsd-tdep.c | 35 +-
gdb/i386-fbsd-tdep.h | 2 +-
gdb/i386-gnu-nat.c | 20 +-
gdb/i386-gnu-tdep.c | 2 +-
gdb/i386-go32-tdep.c | 6 +-
gdb/i386-linux-nat.c | 4 +-
gdb/i386-linux-nat.h | 2 +-
gdb/i386-linux-tdep.c | 6 +-
gdb/i386-linux-tdep.h | 2 +-
gdb/i386-nbsd-nat.c | 2 +-
gdb/i386-nbsd-tdep.c | 2 +-
gdb/i386-nto-tdep.c | 2 +-
gdb/i386-obsd-nat.c | 2 +-
gdb/i386-obsd-tdep.c | 2 +-
gdb/i386-sol2-nat.c | 2 +-
gdb/i386-sol2-tdep.c | 2 +-
gdb/i386-tdep.c | 44 +-
gdb/i386-tdep.h | 14 +-
gdb/i386-windows-nat.c | 2 +-
gdb/i387-tdep.c | 44 +-
gdb/i387-tdep.h | 2 +-
gdb/ia64-libunwind-tdep.c | 2 +-
gdb/ia64-libunwind-tdep.h | 2 +-
gdb/ia64-linux-nat.c | 19 +-
gdb/ia64-linux-tdep.c | 2 +-
gdb/ia64-tdep.c | 13 +-
gdb/ia64-tdep.h | 2 +-
gdb/ia64-vms-tdep.c | 2 +-
gdb/inf-child.c | 45 +-
gdb/inf-child.h | 19 +-
gdb/inf-loop.c | 2 +-
gdb/inf-loop.h | 2 +-
gdb/inf-ptrace.c | 14 +-
gdb/inf-ptrace.h | 4 +-
gdb/infcall.c | 178 +-
gdb/infcall.h | 17 +-
gdb/infcmd.c | 336 +-
gdb/inferior-iter.h | 117 +
gdb/inferior.c | 156 +-
gdb/inferior.h | 106 +-
gdb/inflow.c | 10 +-
gdb/inflow.h | 2 +-
gdb/infrun.c | 1002 +-
gdb/infrun.h | 51 +-
gdb/inline-frame.c | 9 +-
gdb/inline-frame.h | 2 +-
gdb/interps.c | 2 +-
gdb/interps.h | 2 +-
gdb/iq2000-tdep.c | 11 +-
gdb/jit-reader.in | 2 +-
gdb/jit.c | 26 +-
gdb/jit.h | 2 +-
gdb/language.c | 8 +-
gdb/language.h | 42 +-
gdb/libiberty.m4 | 2 +-
gdb/libmcheck.m4 | 2 +-
gdb/linespec.c | 298 +-
gdb/linespec.h | 2 +-
gdb/linux-fork.c | 514 +-
gdb/linux-fork.h | 9 +-
gdb/linux-nat-trad.c | 2 +-
gdb/linux-nat-trad.h | 2 +-
gdb/linux-nat.c | 356 +-
gdb/linux-nat.h | 11 +-
gdb/linux-record.c | 2 +-
gdb/linux-record.h | 9 +-
gdb/linux-tdep.c | 43 +-
gdb/linux-tdep.h | 10 +-
gdb/linux-thread-db.c | 56 +-
gdb/lm32-tdep.c | 7 +-
gdb/location.c | 4 +-
gdb/location.h | 9 +-
gdb/m2-exp.y | 8 +-
gdb/m2-lang.c | 2 +-
gdb/m2-lang.h | 6 +-
gdb/m2-typeprint.c | 8 +-
gdb/m2-valprint.c | 4 +-
gdb/m32c-tdep.c | 7 +-
gdb/m32r-linux-nat.c | 2 +-
gdb/m32r-linux-tdep.c | 2 +-
gdb/m32r-tdep.c | 8 +-
gdb/m32r-tdep.h | 2 +-
gdb/m68hc11-tdep.c | 11 +-
gdb/m68k-bsd-nat.c | 2 +-
gdb/m68k-bsd-tdep.c | 2 +-
gdb/m68k-linux-nat.c | 2 +-
gdb/m68k-linux-tdep.c | 2 +-
gdb/m68k-tdep.c | 7 +-
gdb/m68k-tdep.h | 2 +-
gdb/machoread.c | 4 +-
gdb/macrocmd.c | 42 +-
gdb/macroexp.c | 5 +-
gdb/macroexp.h | 2 +-
gdb/macroscope.c | 2 +-
gdb/macroscope.h | 2 +-
gdb/macrotab.c | 126 +-
gdb/macrotab.h | 7 +-
gdb/main.c | 25 +-
gdb/main.h | 2 +-
gdb/maint.c | 39 +-
gdb/maint.h | 4 +-
gdb/make-target-delegates | 6 +-
gdb/mdebugread.c | 105 +-
gdb/mdebugread.h | 11 +-
gdb/mem-break.c | 2 +-
gdb/memattr.c | 6 +-
gdb/memattr.h | 2 +-
gdb/memory-map.c | 2 +-
gdb/memory-map.h | 2 +-
gdb/memrange.c | 2 +-
gdb/memrange.h | 4 +-
gdb/mep-tdep.c | 6 +-
gdb/mi/mi-cmd-break.c | 2 +-
gdb/mi/mi-cmd-break.h | 9 +-
gdb/mi/mi-cmd-catch.c | 2 +-
gdb/mi/mi-cmd-disas.c | 2 +-
gdb/mi/mi-cmd-env.c | 4 +-
gdb/mi/mi-cmd-file.c | 29 +-
gdb/mi/mi-cmd-info.c | 2 +-
gdb/mi/mi-cmd-stack.c | 2 +-
gdb/mi/mi-cmd-target.c | 2 +-
gdb/mi/mi-cmd-var.c | 2 +-
gdb/mi/mi-cmds.c | 4 +-
gdb/mi/mi-cmds.h | 8 +-
gdb/mi/mi-common.c | 2 +-
gdb/mi/mi-common.h | 8 +-
gdb/mi/mi-console.c | 2 +-
gdb/mi/mi-console.h | 8 +-
gdb/mi/mi-getopt.c | 2 +-
gdb/mi/mi-getopt.h | 10 +-
gdb/mi/mi-interp.c | 102 +-
gdb/mi/mi-interp.h | 8 +-
gdb/mi/mi-main.c | 49 +-
gdb/mi/mi-main.h | 20 +-
gdb/mi/mi-out.c | 37 +-
gdb/mi/mi-out.h | 18 +-
gdb/mi/mi-parse.c | 2 +-
gdb/mi/mi-parse.h | 10 +-
gdb/mi/mi-symbol-cmds.c | 2 +-
gdb/microblaze-linux-tdep.c | 2 +-
gdb/microblaze-tdep.c | 2 +-
gdb/microblaze-tdep.h | 2 +-
gdb/mingw-hdep.c | 194 +-
gdb/minidebug.c | 2 +-
gdb/minsyms.c | 248 +-
gdb/minsyms.h | 27 +-
gdb/mips-fbsd-nat.c | 2 +-
gdb/mips-fbsd-tdep.c | 2 +-
gdb/mips-fbsd-tdep.h | 2 +-
gdb/mips-linux-nat.c | 2 +-
gdb/mips-linux-tdep.c | 4 +-
gdb/mips-linux-tdep.h | 7 +-
gdb/mips-nbsd-nat.c | 2 +-
gdb/mips-nbsd-tdep.c | 2 +-
gdb/mips-nbsd-tdep.h | 2 +-
gdb/mips-sde-tdep.c | 2 +-
gdb/mips-tdep.c | 21 +-
gdb/mips-tdep.h | 2 +-
gdb/mips64-obsd-nat.c | 2 +-
gdb/mips64-obsd-tdep.c | 2 +-
gdb/mipsread.c | 3 +-
gdb/mn10300-linux-tdep.c | 2 +-
gdb/mn10300-tdep.c | 8 +-
gdb/mn10300-tdep.h | 7 +-
gdb/moxie-tdep.c | 2 +-
gdb/moxie-tdep.h | 2 +-
gdb/msp430-tdep.c | 7 +-
gdb/namespace.c | 2 +-
gdb/namespace.h | 6 +-
gdb/nat/aarch64-linux-hw-point.c | 55 +-
gdb/nat/aarch64-linux-hw-point.h | 15 +-
gdb/nat/aarch64-linux.c | 25 +-
gdb/nat/aarch64-linux.h | 8 +-
gdb/nat/aarch64-sve-linux-ptrace.c | 6 +-
gdb/nat/aarch64-sve-linux-ptrace.h | 10 +-
gdb/nat/aarch64-sve-linux-sigcontext.h | 11 +-
gdb/nat/amd64-linux-siginfo.c | 4 +-
gdb/nat/amd64-linux-siginfo.h | 8 +-
gdb/nat/fork-inferior.c | 14 +-
gdb/nat/fork-inferior.h | 8 +-
gdb/nat/gdb_ptrace.h | 10 +-
gdb/nat/gdb_thread_db.h | 9 +-
gdb/nat/glibc_thread_db.h | 6 +-
gdb/nat/linux-btrace.c | 19 +-
gdb/nat/linux-btrace.h | 12 +-
gdb/nat/linux-namespaces.c | 49 +-
gdb/nat/linux-namespaces.h | 8 +-
gdb/nat/linux-nat.h | 17 +-
gdb/nat/linux-osdata.c | 1618 +-
gdb/nat/linux-osdata.h | 8 +-
gdb/nat/linux-personality.c | 4 +-
gdb/nat/linux-personality.h | 2 +-
gdb/nat/linux-procfs.c | 6 +-
gdb/nat/linux-procfs.h | 8 +-
gdb/nat/linux-ptrace.c | 83 +-
gdb/nat/linux-ptrace.h | 10 +-
gdb/nat/linux-waitpid.c | 6 +-
gdb/nat/linux-waitpid.h | 8 +-
gdb/nat/mips-linux-watch.c | 4 +-
gdb/nat/mips-linux-watch.h | 11 +-
gdb/nat/ppc-linux.c | 4 +-
gdb/nat/ppc-linux.h | 8 +-
gdb/nat/x86-cpuid.h | 8 +-
gdb/nat/x86-dregs.c | 6 +-
gdb/nat/x86-dregs.h | 11 +-
gdb/nat/x86-gcc-cpuid.h | 8 +-
gdb/nat/x86-linux-dregs.c | 10 +-
gdb/nat/x86-linux-dregs.h | 8 +-
gdb/nat/x86-linux.c | 4 +-
gdb/nat/x86-linux.h | 8 +-
gdb/nbsd-nat.c | 2 +-
gdb/nbsd-nat.h | 2 +-
gdb/nbsd-tdep.c | 2 +-
gdb/nbsd-tdep.h | 2 +-
gdb/nds32-tdep.c | 7 +-
gdb/nds32-tdep.h | 2 +-
gdb/nios2-linux-tdep.c | 14 +-
gdb/nios2-tdep.c | 57 +-
gdb/nios2-tdep.h | 5 +-
gdb/nto-procfs.c | 30 +-
gdb/nto-tdep.c | 2 +-
gdb/nto-tdep.h | 8 +-
gdb/objc-lang.c | 156 +-
gdb/objc-lang.h | 2 +-
gdb/objfile-flags.h | 2 +-
gdb/objfiles.c | 246 +-
gdb/objfiles.h | 256 +-
gdb/obsd-nat.c | 13 +-
gdb/obsd-nat.h | 4 +-
gdb/obsd-tdep.c | 2 +-
gdb/obsd-tdep.h | 2 +-
gdb/observable.c | 3 +-
gdb/observable.h | 12 +-
gdb/opencl-lang.c | 2 +-
gdb/or1k-linux-tdep.c | 170 +
gdb/or1k-tdep.c | 11 +-
gdb/or1k-tdep.h | 9 +-
gdb/osabi.c | 2 +-
gdb/osabi.h | 2 +-
gdb/osdata.c | 4 +-
gdb/osdata.h | 2 +-
gdb/p-exp.y | 8 +-
gdb/p-lang.c | 2 +-
gdb/p-lang.h | 7 +-
gdb/p-typeprint.c | 2 +-
gdb/p-valprint.c | 7 +-
gdb/parse.c | 61 +-
gdb/parser-defs.h | 41 +-
gdb/posix-hdep.c | 10 +-
gdb/ppc-fbsd-nat.c | 2 +-
gdb/ppc-fbsd-tdep.c | 37 +-
gdb/ppc-fbsd-tdep.h | 2 +-
gdb/ppc-linux-nat.c | 44 +-
gdb/ppc-linux-tdep.c | 11 +-
gdb/ppc-linux-tdep.h | 2 +-
gdb/ppc-nbsd-nat.c | 2 +-
gdb/ppc-nbsd-tdep.c | 2 +-
gdb/ppc-nbsd-tdep.h | 2 +-
gdb/ppc-obsd-nat.c | 2 +-
gdb/ppc-obsd-tdep.c | 2 +-
gdb/ppc-obsd-tdep.h | 2 +-
gdb/ppc-ravenscar-thread.c | 58 +-
gdb/ppc-ravenscar-thread.h | 2 +-
gdb/ppc-sysv-tdep.c | 12 +-
gdb/ppc-tdep.h | 31 +-
gdb/ppc64-tdep.c | 2 +-
gdb/ppc64-tdep.h | 2 +-
gdb/printcmd.c | 258 +-
gdb/probe.c | 46 +-
gdb/probe.h | 2 +-
gdb/proc-api.c | 4 +-
gdb/proc-events.c | 2 +-
gdb/proc-flags.c | 2 +-
gdb/proc-service.c | 2 +-
gdb/proc-service.list | 2 +-
gdb/proc-utils.h | 7 +-
gdb/proc-why.c | 2 +-
gdb/process-stratum-target.c | 85 +
gdb/process-stratum-target.h | 56 +
gdb/procfs.c | 52 +-
gdb/procfs.h | 6 +-
gdb/producer.c | 4 +-
gdb/producer.h | 2 +-
gdb/progspace-and-thread.c | 2 +-
gdb/progspace-and-thread.h | 2 +-
gdb/progspace.c | 6 +-
gdb/progspace.h | 39 +-
gdb/prologue-value.c | 2 +-
gdb/prologue-value.h | 2 +-
gdb/psympriv.h | 49 +-
gdb/psymtab.c | 889 +-
gdb/psymtab.h | 127 +-
gdb/ptrace.m4 | 2 +-
gdb/python/lib/gdb/FrameDecorator.py | 2 +-
gdb/python/lib/gdb/FrameIterator.py | 2 +-
gdb/python/lib/gdb/__init__.py | 2 +-
gdb/python/lib/gdb/command/__init__.py | 2 +-
gdb/python/lib/gdb/command/explore.py | 2 +-
gdb/python/lib/gdb/command/frame_filters.py | 2 +-
gdb/python/lib/gdb/command/pretty_printers.py | 4 +-
gdb/python/lib/gdb/command/prompt.py | 2 +-
gdb/python/lib/gdb/command/type_printers.py | 2 +-
gdb/python/lib/gdb/command/unwinders.py | 2 +-
gdb/python/lib/gdb/command/xmethods.py | 2 +-
gdb/python/lib/gdb/frames.py | 2 +-
gdb/python/lib/gdb/function/__init__.py | 2 +-
gdb/python/lib/gdb/function/as_string.py | 2 +-
gdb/python/lib/gdb/function/caller_is.py | 2 +-
gdb/python/lib/gdb/function/strfns.py | 2 +-
gdb/python/lib/gdb/printer/__init__.py | 2 +-
gdb/python/lib/gdb/printer/bound_registers.py | 2 +-
gdb/python/lib/gdb/printing.py | 2 +-
gdb/python/lib/gdb/prompt.py | 2 +-
gdb/python/lib/gdb/types.py | 2 +-
gdb/python/lib/gdb/unwinder.py | 2 +-
gdb/python/lib/gdb/xmethod.py | 2 +-
gdb/python/py-all-events.def | 2 +-
gdb/python/py-arch.c | 8 +-
gdb/python/py-auto-load.c | 2 +-
gdb/python/py-block.c | 3 +-
gdb/python/py-bpevent.c | 3 +-
gdb/python/py-breakpoint.c | 16 +-
gdb/python/py-cmd.c | 26 +-
gdb/python/py-continueevent.c | 3 +-
gdb/python/py-event-types.def | 2 +-
gdb/python/py-event.c | 2 +-
gdb/python/py-event.h | 9 +-
gdb/python/py-events.h | 8 +-
gdb/python/py-evtregistry.c | 3 +-
gdb/python/py-evts.c | 2 +-
gdb/python/py-exitedevent.c | 4 +-
gdb/python/py-finishbreakpoint.c | 5 +-
gdb/python/py-frame.c | 7 +-
gdb/python/py-framefilter.c | 35 +-
gdb/python/py-function.c | 14 +-
gdb/python/py-gdb-readline.c | 2 +-
gdb/python/py-inferior.c | 125 +-
gdb/python/py-infevents.c | 3 +-
gdb/python/py-infthread.c | 8 +-
gdb/python/py-instruction.c | 2 +-
gdb/python/py-instruction.h | 8 +-
gdb/python/py-lazy-string.c | 2 +-
gdb/python/py-linetable.c | 3 +-
gdb/python/py-newobjfileevent.c | 2 +-
gdb/python/py-objfile.c | 35 +-
gdb/python/py-param.c | 7 +-
gdb/python/py-prettyprint.c | 150 +-
gdb/python/py-progspace.c | 23 +-
gdb/python/py-record-btrace.c | 13 +-
gdb/python/py-record-btrace.h | 8 +-
gdb/python/py-record-full.c | 2 +-
gdb/python/py-record-full.h | 8 +-
gdb/python/py-record.c | 10 +-
gdb/python/py-record.h | 8 +-
gdb/python/py-ref.h | 8 +-
gdb/python/py-signalevent.c | 2 +-
gdb/python/py-stopevent.c | 2 +-
gdb/python/py-stopevent.h | 8 +-
gdb/python/py-symbol.c | 3 +-
gdb/python/py-symtab.c | 57 +-
gdb/python/py-threadevent.c | 2 +-
gdb/python/py-type.c | 92 +-
gdb/python/py-unwind.c | 10 +-
gdb/python/py-utils.c | 80 +-
gdb/python/py-value.c | 281 +-
gdb/python/py-varobj.c | 13 +-
gdb/python/py-xmethods.c | 47 +-
gdb/python/python-internal.h | 163 +-
gdb/python/python.c | 76 +-
gdb/python/python.h | 8 +-
gdb/ravenscar-thread.c | 241 +-
gdb/ravenscar-thread.h | 11 +-
gdb/record-btrace.c | 115 +-
gdb/record-btrace.h | 2 +-
gdb/record-full.c | 25 +-
gdb/record-full.h | 2 +-
gdb/record.c | 12 +-
gdb/record.h | 8 +-
gdb/regcache-dump.c | 2 +-
gdb/regcache.c | 47 +-
gdb/regcache.h | 4 +-
gdb/regformats/regdat.sh | 2 +-
gdb/regformats/regdef.h | 8 +-
gdb/reggroups.c | 2 +-
gdb/reggroups.h | 2 +-
gdb/registry.c | 2 +-
gdb/registry.h | 2 +-
gdb/regset.h | 2 +-
gdb/remote-fileio.c | 8 +-
gdb/remote-fileio.h | 5 +-
gdb/remote-notif.c | 50 +-
gdb/remote-notif.h | 30 +-
gdb/remote-sim.c | 32 +-
gdb/remote.c | 1202 +-
gdb/remote.h | 2 +-
gdb/reply_mig_hack.awk | 2 +-
gdb/reverse.c | 2 +-
gdb/riscv-fbsd-nat.c | 2 +-
gdb/riscv-fbsd-tdep.c | 29 +-
gdb/riscv-fbsd-tdep.h | 7 +-
gdb/riscv-linux-nat.c | 40 +-
gdb/riscv-linux-tdep.c | 25 +-
gdb/riscv-tdep.c | 1162 +-
gdb/riscv-tdep.h | 71 +-
gdb/rl78-tdep.c | 7 +-
gdb/rs6000-aix-tdep.c | 9 +-
gdb/rs6000-aix-tdep.h | 2 +-
gdb/rs6000-lynx178-tdep.c | 7 +-
gdb/rs6000-nat.c | 2 +-
gdb/rs6000-tdep.c | 110 +-
gdb/rs6000-tdep.h | 6 +-
gdb/rust-exp.y | 6 +-
gdb/rust-lang.c | 20 +-
gdb/rust-lang.h | 2 +-
gdb/rx-tdep.c | 10 +-
gdb/s12z-tdep.c | 64 +-
gdb/s390-linux-nat.c | 10 +-
gdb/s390-linux-tdep.c | 5 +-
gdb/s390-linux-tdep.h | 2 +-
gdb/s390-tdep.c | 9 +-
gdb/s390-tdep.h | 2 +-
gdb/sanitize.m4 | 2 +-
gdb/score-tdep.c | 7 +-
gdb/score-tdep.h | 2 +-
gdb/selftest-arch.c | 4 +-
gdb/selftest-arch.h | 2 +-
gdb/selftest.m4 | 2 +-
gdb/sentinel-frame.c | 2 +-
gdb/sentinel-frame.h | 2 +-
gdb/ser-base.c | 4 +-
gdb/ser-base.h | 2 +-
gdb/ser-event.c | 2 +-
gdb/ser-event.h | 2 +-
gdb/ser-go32.c | 2 +-
gdb/ser-mingw.c | 2 +-
gdb/ser-pipe.c | 6 +-
gdb/ser-tcp.c | 15 +-
gdb/ser-tcp.h | 2 +-
gdb/ser-uds.c | 2 +-
gdb/ser-unix.c | 6 +-
gdb/ser-unix.h | 2 +-
gdb/serial.c | 2 +-
gdb/serial.h | 2 +-
gdb/sh-linux-tdep.c | 2 +-
gdb/sh-nbsd-nat.c | 2 +-
gdb/sh-nbsd-tdep.c | 2 +-
gdb/sh-tdep.c | 11 +-
gdb/sh-tdep.h | 2 +-
gdb/sim-regno.h | 2 +-
gdb/skip.c | 50 +-
gdb/skip.h | 2 +-
gdb/sol-thread.c | 48 +-
gdb/sol2-tdep.c | 13 +-
gdb/sol2-tdep.h | 4 +-
gdb/solib-aix.c | 12 +-
gdb/solib-aix.h | 2 +-
gdb/solib-darwin.c | 9 +-
gdb/solib-darwin.h | 2 +-
gdb/solib-dsbt.c | 4 +-
gdb/solib-frv.c | 2 +-
gdb/solib-spu.c | 7 +-
gdb/solib-spu.h | 2 +-
gdb/solib-svr4.c | 66 +-
gdb/solib-svr4.h | 2 +-
gdb/solib-target.c | 75 +-
gdb/solib-target.h | 2 +-
gdb/solib.c | 25 +-
gdb/solib.h | 2 +-
gdb/solist.h | 2 +-
gdb/source-cache.c | 237 +
gdb/source-cache.h | 80 +
gdb/source.c | 444 +-
gdb/source.h | 108 +-
gdb/sparc-linux-nat.c | 4 +-
gdb/sparc-linux-tdep.c | 2 +-
gdb/sparc-nat.c | 4 +-
gdb/sparc-nat.h | 2 +-
gdb/sparc-nbsd-nat.c | 2 +-
gdb/sparc-nbsd-tdep.c | 2 +-
gdb/sparc-obsd-tdep.c | 2 +-
gdb/sparc-ravenscar-thread.c | 36 +-
gdb/sparc-ravenscar-thread.h | 2 +-
gdb/sparc-sol2-nat.c | 2 +-
gdb/sparc-sol2-tdep.c | 2 +-
gdb/sparc-tdep.c | 17 +-
gdb/sparc-tdep.h | 2 +-
gdb/sparc64-fbsd-nat.c | 2 +-
gdb/sparc64-fbsd-tdep.c | 2 +-
gdb/sparc64-linux-nat.c | 2 +-
gdb/sparc64-linux-tdep.c | 2 +-
gdb/sparc64-nat.c | 2 +-
gdb/sparc64-nbsd-nat.c | 2 +-
gdb/sparc64-nbsd-tdep.c | 2 +-
gdb/sparc64-obsd-nat.c | 2 +-
gdb/sparc64-obsd-tdep.c | 2 +-
gdb/sparc64-sol2-tdep.c | 2 +-
gdb/sparc64-tdep.c | 17 +-
gdb/sparc64-tdep.h | 2 +-
gdb/spu-linux-nat.c | 4 +-
gdb/spu-multiarch.c | 7 +-
gdb/spu-tdep.c | 23 +-
gdb/spu-tdep.h | 2 +-
gdb/stabsread.c | 125 +-
gdb/stabsread.h | 52 +-
gdb/stack.c | 22 +-
gdb/stack.h | 2 +-
gdb/stap-probe.c | 6 +-
gdb/stap-probe.h | 2 +-
gdb/std-operator.def | 3 +-
gdb/std-regs.c | 2 +-
gdb/stub-termcap.c | 2 +-
gdb/stubs/ChangeLog | 4 +
gdb/stubs/buildvms.com | 2 +-
gdb/stubs/ia64vms-stub.c | 3 +-
gdb/symfile-add-flags.h | 2 +-
gdb/symfile-debug.c | 31 +-
gdb/symfile-mem.c | 2 +-
gdb/symfile.c | 396 +-
gdb/symfile.h | 15 +-
gdb/symmisc.c | 530 +-
gdb/symtab.c | 891 +-
gdb/symtab.h | 104 +-
gdb/syscalls/aarch64-linux.xml | 2 +-
gdb/syscalls/aarch64-linux.xml.in | 2 +-
gdb/syscalls/amd64-linux.xml | 2 +-
gdb/syscalls/amd64-linux.xml.in | 2 +-
gdb/syscalls/apply-defaults.xsl | 2 +-
gdb/syscalls/arm-linux.py | 2 +-
gdb/syscalls/arm-linux.xml | 2 +-
gdb/syscalls/arm-linux.xml.in | 2 +-
gdb/syscalls/bfin-linux.xml.in | 2 +-
gdb/syscalls/freebsd.xml | 112 +-
gdb/syscalls/gdb-syscalls.dtd | 3 +-
gdb/syscalls/i386-linux.xml | 2 +-
gdb/syscalls/i386-linux.xml.in | 2 +-
gdb/syscalls/linux-defaults.xml.in | 2 +-
gdb/syscalls/mips-n32-linux.xml | 2 +-
gdb/syscalls/mips-n32-linux.xml.in | 2 +-
gdb/syscalls/mips-n64-linux.xml | 2 +-
gdb/syscalls/mips-n64-linux.xml.in | 2 +-
gdb/syscalls/mips-o32-linux.xml | 2 +-
gdb/syscalls/mips-o32-linux.xml.in | 2 +-
gdb/syscalls/ppc-linux.xml | 2 +-
gdb/syscalls/ppc-linux.xml.in | 2 +-
gdb/syscalls/ppc64-linux.xml | 2 +-
gdb/syscalls/ppc64-linux.xml.in | 2 +-
gdb/syscalls/s390-linux.xml | 2 +-
gdb/syscalls/s390-linux.xml.in | 2 +-
gdb/syscalls/s390x-linux.xml | 2 +-
gdb/syscalls/s390x-linux.xml.in | 2 +-
gdb/syscalls/sparc-linux.xml | 2 +-
gdb/syscalls/sparc-linux.xml.in | 2 +-
gdb/syscalls/sparc64-linux.xml | 2 +-
gdb/syscalls/sparc64-linux.xml.in | 2 +-
gdb/syscalls/update-freebsd.sh | 78 +
gdb/system-gdbinit/elinos.py | 2 +-
gdb/system-gdbinit/wrs-linux.py | 2 +-
gdb/target-dcache.c | 2 +-
gdb/target-dcache.h | 2 +-
gdb/target-debug.h | 24 +-
gdb/target-delegates.c | 76 +-
gdb/target-descriptions.c | 17 +-
gdb/target-descriptions.h | 15 +-
gdb/target-float.c | 2 +-
gdb/target-float.h | 8 +-
gdb/target-memory.c | 6 +-
gdb/target.c | 264 +-
gdb/target.h | 114 +-
gdb/target/resume.h | 8 +-
gdb/target/target.h | 8 +-
gdb/target/wait.h | 8 +-
gdb/target/waitstatus.c | 4 +-
gdb/target/waitstatus.h | 10 +-
gdb/terminal.h | 2 +-
gdb/test-target.c | 39 +
gdb/test-target.h | 65 +
gdb/testsuite/ChangeLog | 591 +-
gdb/testsuite/ChangeLog-1993-2013 | 2 +-
gdb/testsuite/Makefile.in | 22 +-
gdb/testsuite/README | 35 +
gdb/testsuite/analyze-racy-logs.py | 2 +-
gdb/testsuite/boards/cc-with-tweaks.exp | 2 +-
gdb/testsuite/boards/dwarf4-gdb-index.exp | 2 +-
gdb/testsuite/boards/fission-dwp.exp | 2 +-
gdb/testsuite/boards/fission.exp | 2 +-
gdb/testsuite/boards/gdbserver-base.exp | 2 +-
gdb/testsuite/boards/local-board.exp | 5 +-
gdb/testsuite/boards/local-remote-host-native.exp | 2 +-
gdb/testsuite/boards/local-remote-host-notty.exp | 2 +-
gdb/testsuite/boards/local-remote-host.exp | 2 +-
gdb/testsuite/boards/native-extended-gdbserver.exp | 2 +-
gdb/testsuite/boards/native-gdbserver.exp | 2 +-
gdb/testsuite/boards/native-stdio-gdbserver.exp | 2 +-
.../boards/remote-gdbserver-on-localhost.exp | 2 +-
gdb/testsuite/boards/remote-stdio-gdbserver.exp | 2 +-
gdb/testsuite/boards/stabs.exp | 2 +-
gdb/testsuite/boards/stdio-gdbserver-base.exp | 2 +-
gdb/testsuite/config/cfdbug.exp | 2 +-
gdb/testsuite/config/d10v.exp | 2 +-
gdb/testsuite/config/default.exp | 4 +-
gdb/testsuite/config/dve.exp | 2 +-
gdb/testsuite/config/extended-gdbserver.exp | 2 +-
gdb/testsuite/config/gdbserver.exp | 2 +-
gdb/testsuite/config/i960.exp | 2 +-
gdb/testsuite/config/m32r.exp | 2 +-
gdb/testsuite/config/mips-idt.exp | 2 +-
gdb/testsuite/config/mips.exp | 2 +-
gdb/testsuite/config/mn10300-eval.exp | 2 +-
gdb/testsuite/config/monitor.exp | 5 +-
gdb/testsuite/config/proelf.exp | 2 +-
gdb/testsuite/config/rom68k.exp | 2 +-
gdb/testsuite/config/sh.exp | 2 +-
gdb/testsuite/config/sid.exp | 4 +-
gdb/testsuite/config/sim.exp | 16 +-
gdb/testsuite/config/slite.exp | 4 +-
gdb/testsuite/config/unix.exp | 4 +-
gdb/testsuite/config/vr4300.exp | 2 +-
gdb/testsuite/config/vr5000.exp | 2 +-
gdb/testsuite/configure.ac | 2 +-
gdb/testsuite/gdb.ada/O2_float_param.exp | 2 +-
gdb/testsuite/gdb.ada/O2_float_param/callee.adb | 2 +-
gdb/testsuite/gdb.ada/O2_float_param/callee.ads | 2 +-
gdb/testsuite/gdb.ada/O2_float_param/caller.adb | 2 +-
gdb/testsuite/gdb.ada/O2_float_param/caller.ads | 2 +-
gdb/testsuite/gdb.ada/O2_float_param/foo.adb | 2 +-
gdb/testsuite/gdb.ada/O2_float_param/io.adb | 2 +-
gdb/testsuite/gdb.ada/O2_float_param/io.ads | 2 +-
gdb/testsuite/gdb.ada/access_tagged_param.exp | 2 +-
gdb/testsuite/gdb.ada/access_tagged_param/foo.adb | 2 +-
gdb/testsuite/gdb.ada/access_tagged_param/pck.adb | 2 +-
gdb/testsuite/gdb.ada/access_tagged_param/pck.ads | 2 +-
gdb/testsuite/gdb.ada/access_to_packed_array.exp | 2 +-
.../gdb.ada/access_to_packed_array/foo.adb | 2 +-
.../gdb.ada/access_to_packed_array/pack.adb | 2 +-
.../gdb.ada/access_to_packed_array/pack.ads | 2 +-
.../gdb.ada/access_to_unbounded_array.exp | 2 +-
.../gdb.ada/access_to_unbounded_array/foo.adb | 2 +-
.../gdb.ada/access_to_unbounded_array/pack.adb | 2 +-
.../gdb.ada/access_to_unbounded_array/pack.ads | 2 +-
gdb/testsuite/gdb.ada/addr_arith.exp | 2 +-
gdb/testsuite/gdb.ada/addr_arith/foo_na07_019.adb | 2 +-
gdb/testsuite/gdb.ada/addr_arith/pck.adb | 2 +-
gdb/testsuite/gdb.ada/addr_arith/pck.ads | 2 +-
gdb/testsuite/gdb.ada/aliased_array.exp | 2 +-
gdb/testsuite/gdb.ada/aliased_array/foo.adb | 2 +-
gdb/testsuite/gdb.ada/aliased_array/pck.adb | 2 +-
gdb/testsuite/gdb.ada/aliased_array/pck.ads | 2 +-
gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp | 2 +-
.../gdb.ada/arr_acc_idx_w_gap/enum_with_gap.adb | 2 +-
.../gdb.ada/arr_acc_idx_w_gap/enum_with_gap.ads | 2 +-
.../arr_acc_idx_w_gap/enum_with_gap_main.adb | 2 +-
gdb/testsuite/gdb.ada/arr_arr.exp | 2 +-
gdb/testsuite/gdb.ada/arr_arr/foo.adb | 2 +-
gdb/testsuite/gdb.ada/arr_arr/pck.adb | 2 +-
gdb/testsuite/gdb.ada/arr_arr/pck.ads | 2 +-
gdb/testsuite/gdb.ada/arr_enum_idx_w_gap.exp | 2 +-
.../gdb.ada/arr_enum_idx_w_gap/foo_q418_043.adb | 2 +-
gdb/testsuite/gdb.ada/array_bounds.exp | 2 +-
gdb/testsuite/gdb.ada/array_bounds/bar.adb | 2 +-
gdb/testsuite/gdb.ada/array_char_idx.exp | 2 +-
gdb/testsuite/gdb.ada/array_char_idx/foo.adb | 2 +-
gdb/testsuite/gdb.ada/array_char_idx/pck.adb | 2 +-
gdb/testsuite/gdb.ada/array_char_idx/pck.ads | 2 +-
gdb/testsuite/gdb.ada/array_of_variable_length.exp | 2 +-
.../gdb.ada/array_of_variable_length/foo.adb | 2 +-
.../gdb.ada/array_of_variable_length/pck.adb | 2 +-
.../gdb.ada/array_of_variable_length/pck.ads | 2 +-
gdb/testsuite/gdb.ada/array_ptr_renaming.exp | 2 +-
gdb/testsuite/gdb.ada/array_ptr_renaming/foo.adb | 2 +-
gdb/testsuite/gdb.ada/array_ptr_renaming/pack.ads | 2 +-
gdb/testsuite/gdb.ada/array_return.exp | 2 +-
gdb/testsuite/gdb.ada/array_return/p.adb | 2 +-
gdb/testsuite/gdb.ada/array_return/pck.adb | 2 +-
gdb/testsuite/gdb.ada/array_return/pck.ads | 2 +-
gdb/testsuite/gdb.ada/array_subscript_addr.exp | 2 +-
gdb/testsuite/gdb.ada/array_subscript_addr/p.adb | 2 +-
gdb/testsuite/gdb.ada/arraydim.exp | 2 +-
gdb/testsuite/gdb.ada/arraydim/foo.adb | 2 +-
gdb/testsuite/gdb.ada/arraydim/inc.c | 2 +-
gdb/testsuite/gdb.ada/arraydim/pck.adb | 2 +-
gdb/testsuite/gdb.ada/arraydim/pck.ads | 2 +-
gdb/testsuite/gdb.ada/arrayidx.exp | 2 +-
gdb/testsuite/gdb.ada/arrayidx/p.adb | 2 +-
gdb/testsuite/gdb.ada/arrayparam.exp | 2 +-
gdb/testsuite/gdb.ada/arrayparam/foo.adb | 2 +-
gdb/testsuite/gdb.ada/arrayparam/pck.adb | 2 +-
gdb/testsuite/gdb.ada/arrayparam/pck.ads | 2 +-
gdb/testsuite/gdb.ada/arrayptr.exp | 2 +-
gdb/testsuite/gdb.ada/arrayptr/foo.adb | 2 +-
gdb/testsuite/gdb.ada/arrayptr/pck.adb | 2 +-
gdb/testsuite/gdb.ada/arrayptr/pck.ads | 2 +-
gdb/testsuite/gdb.ada/assign_1.exp | 2 +-
gdb/testsuite/gdb.ada/assign_arr.exp | 4 +-
gdb/testsuite/gdb.ada/assign_arr/main_p324_051.adb | 4 +-
.../gdb.ada/assign_arr/target_wrapper.ads | 4 +-
gdb/testsuite/gdb.ada/atomic_enum.exp | 2 +-
gdb/testsuite/gdb.ada/atomic_enum/foo.adb | 2 +-
gdb/testsuite/gdb.ada/atomic_enum/pck.adb | 2 +-
gdb/testsuite/gdb.ada/atomic_enum/pck.ads | 2 +-
gdb/testsuite/gdb.ada/attr_ref_and_charlit.exp | 2 +-
gdb/testsuite/gdb.ada/attr_ref_and_charlit/foo.adb | 2 +-
gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp | 2 +-
gdb/testsuite/gdb.ada/bad-task-bp-keyword/foo.adb | 2 +-
gdb/testsuite/gdb.ada/big_packed_array.exp | 35 +
.../gdb.ada/big_packed_array/foo_ra24_010.adb | 24 +
gdb/testsuite/gdb.ada/big_packed_array/pck.adb | 21 +
gdb/testsuite/gdb.ada/big_packed_array/pck.ads | 53 +
gdb/testsuite/gdb.ada/boolean_expr.exp | 2 +-
gdb/testsuite/gdb.ada/bp_c_mixed_case.exp | 2 +-
gdb/testsuite/gdb.ada/bp_c_mixed_case/bar.c | 2 +-
.../gdb.ada/bp_c_mixed_case/foo_h731_021.adb | 2 +-
gdb/testsuite/gdb.ada/bp_c_mixed_case/qux.c | 2 +-
gdb/testsuite/gdb.ada/bp_enum_homonym.exp | 2 +-
gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb | 2 +-
gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb | 2 +-
gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads | 2 +-
gdb/testsuite/gdb.ada/bp_fun_addr.exp | 12 +-
gdb/testsuite/gdb.ada/bp_fun_addr/a.adb | 19 -
gdb/testsuite/gdb.ada/bp_fun_addr/bp_fun_addr.adb | 19 +
gdb/testsuite/gdb.ada/bp_inlined_func.exp | 2 +-
gdb/testsuite/gdb.ada/bp_inlined_func/b.adb | 2 +-
gdb/testsuite/gdb.ada/bp_inlined_func/b.ads | 2 +-
gdb/testsuite/gdb.ada/bp_inlined_func/c.adb | 2 +-
gdb/testsuite/gdb.ada/bp_inlined_func/c.ads | 2 +-
gdb/testsuite/gdb.ada/bp_inlined_func/foo.adb | 2 +-
gdb/testsuite/gdb.ada/bp_on_var.exp | 2 +-
gdb/testsuite/gdb.ada/bp_on_var/foo.adb | 2 +-
gdb/testsuite/gdb.ada/bp_on_var/pck.adb | 2 +-
gdb/testsuite/gdb.ada/bp_on_var/pck.ads | 2 +-
gdb/testsuite/gdb.ada/bp_range_type.exp | 2 +-
gdb/testsuite/gdb.ada/bp_range_type/foo.adb | 2 +-
gdb/testsuite/gdb.ada/bp_range_type/pck.adb | 2 +-
gdb/testsuite/gdb.ada/bp_range_type/pck.ads | 2 +-
gdb/testsuite/gdb.ada/bp_reset.exp | 2 +-
gdb/testsuite/gdb.ada/bp_reset/foo.adb | 2 +-
gdb/testsuite/gdb.ada/bp_reset/io.adb | 2 +-
gdb/testsuite/gdb.ada/bp_reset/io.ads | 2 +-
gdb/testsuite/gdb.ada/bp_reset/pck.adb | 2 +-
gdb/testsuite/gdb.ada/bp_reset/pck.ads | 2 +-
gdb/testsuite/gdb.ada/byte_packed_arr.exp | 2 +-
.../gdb.ada/byte_packed_arr/array_list_g.ads | 2 +-
gdb/testsuite/gdb.ada/byte_packed_arr/reprod.adb | 2 +-
gdb/testsuite/gdb.ada/byte_packed_arr/reprod.ads | 2 +-
.../gdb.ada/byte_packed_arr/reprod_main.adb | 2 +-
gdb/testsuite/gdb.ada/call_pn.exp | 2 +-
gdb/testsuite/gdb.ada/call_pn/foo.adb | 2 +-
gdb/testsuite/gdb.ada/call_pn/pck.adb | 2 +-
gdb/testsuite/gdb.ada/call_pn/pck.ads | 2 +-
gdb/testsuite/gdb.ada/catch_assert_if.exp | 2 +-
gdb/testsuite/gdb.ada/catch_assert_if/bla.adb | 2 +-
gdb/testsuite/gdb.ada/catch_assert_if/pck.ads | 2 +-
gdb/testsuite/gdb.ada/catch_ex.exp | 2 +-
gdb/testsuite/gdb.ada/catch_ex/foo.adb | 2 +-
gdb/testsuite/gdb.ada/char_enum.exp | 2 +-
gdb/testsuite/gdb.ada/char_enum/foo.adb | 2 +-
gdb/testsuite/gdb.ada/char_enum/pck.adb | 2 +-
gdb/testsuite/gdb.ada/char_enum/pck.ads | 2 +-
gdb/testsuite/gdb.ada/char_param.exp | 2 +-
gdb/testsuite/gdb.ada/char_param/foo.adb | 2 +-
gdb/testsuite/gdb.ada/char_param/pck.adb | 2 +-
gdb/testsuite/gdb.ada/char_param/pck.ads | 2 +-
gdb/testsuite/gdb.ada/complete.exp | 2 +-
gdb/testsuite/gdb.ada/complete/aux_pck.adb | 2 +-
gdb/testsuite/gdb.ada/complete/aux_pck.ads | 2 +-
gdb/testsuite/gdb.ada/complete/foo.adb | 2 +-
gdb/testsuite/gdb.ada/complete/pck.adb | 2 +-
gdb/testsuite/gdb.ada/complete/pck.ads | 2 +-
gdb/testsuite/gdb.ada/cond_lang.exp | 2 +-
gdb/testsuite/gdb.ada/cond_lang/a.adb | 2 +-
gdb/testsuite/gdb.ada/cond_lang/foo.c | 2 +-
gdb/testsuite/gdb.ada/cond_lang/mixed.adb | 2 +-
gdb/testsuite/gdb.ada/cond_lang/mixed.ads | 2 +-
gdb/testsuite/gdb.ada/cond_lang/pck.adb | 2 +-
gdb/testsuite/gdb.ada/cond_lang/pck.ads | 2 +-
gdb/testsuite/gdb.ada/convvar_comp.exp | 2 +-
gdb/testsuite/gdb.ada/convvar_comp/pb16_063.adb | 2 +-
gdb/testsuite/gdb.ada/convvar_comp/pck.adb | 2 +-
gdb/testsuite/gdb.ada/convvar_comp/pck.ads | 2 +-
gdb/testsuite/gdb.ada/disc_arr_bound.exp | 2 +-
.../gdb.ada/disc_arr_bound/foo_n612_026.adb | 2 +-
gdb/testsuite/gdb.ada/disc_arr_bound/pck.adb | 2 +-
gdb/testsuite/gdb.ada/disc_arr_bound/pck.ads | 2 +-
gdb/testsuite/gdb.ada/dot_all.exp | 2 +-
gdb/testsuite/gdb.ada/dot_all/foo.adb | 2 +-
gdb/testsuite/gdb.ada/dot_all/pck.adb | 2 +-
gdb/testsuite/gdb.ada/dot_all/pck.ads | 2 +-
gdb/testsuite/gdb.ada/dyn_arrayidx.exp | 2 +-
gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb | 2 +-
gdb/testsuite/gdb.ada/dyn_loc.exp | 2 +-
gdb/testsuite/gdb.ada/dyn_loc/p.adb | 2 +-
gdb/testsuite/gdb.ada/dyn_loc/pack.adb | 2 +-
gdb/testsuite/gdb.ada/dyn_loc/pack.ads | 2 +-
gdb/testsuite/gdb.ada/dyn_stride.exp | 2 +-
gdb/testsuite/gdb.ada/dyn_stride/foo.adb | 2 +-
gdb/testsuite/gdb.ada/enum_idx_packed.exp | 2 +-
gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb | 2 +-
gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb | 2 +-
gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads | 2 +-
gdb/testsuite/gdb.ada/excep_handle.exp | 2 +-
gdb/testsuite/gdb.ada/excep_handle/foo.adb | 2 +-
gdb/testsuite/gdb.ada/excep_handle/pck.ads | 2 +-
gdb/testsuite/gdb.ada/exec_changed.exp | 2 +-
gdb/testsuite/gdb.ada/exec_changed/first.adb | 2 +-
gdb/testsuite/gdb.ada/exec_changed/second.adb | 2 +-
gdb/testsuite/gdb.ada/expr_delims.exp | 2 +-
gdb/testsuite/gdb.ada/expr_delims/foo.adb | 2 +-
gdb/testsuite/gdb.ada/expr_delims/pck.adb | 2 +-
gdb/testsuite/gdb.ada/expr_delims/pck.ads | 2 +-
gdb/testsuite/gdb.ada/expr_with_funcall.exp | 2 +-
.../gdb.ada/expr_with_funcall/expr_r821_013.adb | 2 +-
gdb/testsuite/gdb.ada/expr_with_funcall/pck.adb | 2 +-
gdb/testsuite/gdb.ada/expr_with_funcall/pck.ads | 2 +-
gdb/testsuite/gdb.ada/exprs.exp | 2 +-
gdb/testsuite/gdb.ada/exprs/p.adb | 2 +-
gdb/testsuite/gdb.ada/fin_fun_out.exp | 2 +-
gdb/testsuite/gdb.ada/fin_fun_out/bar.adb | 2 +-
gdb/testsuite/gdb.ada/fin_fun_out/bar.ads | 2 +-
gdb/testsuite/gdb.ada/fin_fun_out/foo_o525_013.adb | 2 +-
gdb/testsuite/gdb.ada/fixed_cmp.exp | 2 +-
gdb/testsuite/gdb.ada/fixed_cmp/fixed.adb | 2 +-
gdb/testsuite/gdb.ada/fixed_cmp/pck.adb | 2 +-
gdb/testsuite/gdb.ada/fixed_cmp/pck.ads | 2 +-
gdb/testsuite/gdb.ada/fixed_points.exp | 2 +-
.../gdb.ada/fixed_points/fixed_points.adb | 2 +-
gdb/testsuite/gdb.ada/float_param.exp | 2 +-
gdb/testsuite/gdb.ada/float_param/foo.adb | 2 +-
gdb/testsuite/gdb.ada/float_param/pck.adb | 2 +-
gdb/testsuite/gdb.ada/float_param/pck.ads | 2 +-
gdb/testsuite/gdb.ada/formatted_ref.exp | 2 +-
gdb/testsuite/gdb.ada/formatted_ref/defs.adb | 2 +-
gdb/testsuite/gdb.ada/formatted_ref/defs.ads | 2 +-
.../gdb.ada/formatted_ref/formatted_ref.adb | 2 +-
gdb/testsuite/gdb.ada/frame_args.exp | 2 +-
gdb/testsuite/gdb.ada/frame_args/foo.adb | 2 +-
gdb/testsuite/gdb.ada/frame_args/pck.adb | 2 +-
gdb/testsuite/gdb.ada/frame_args/pck.ads | 2 +-
gdb/testsuite/gdb.ada/fullname_bp.exp | 2 +-
gdb/testsuite/gdb.ada/fullname_bp/dn.adb | 2 +-
gdb/testsuite/gdb.ada/fullname_bp/dn.ads | 2 +-
gdb/testsuite/gdb.ada/fullname_bp/foo.adb | 2 +-
gdb/testsuite/gdb.ada/fullname_bp/pck.adb | 2 +-
gdb/testsuite/gdb.ada/fullname_bp/pck.ads | 2 +-
gdb/testsuite/gdb.ada/fun_addr.exp | 2 +-
gdb/testsuite/gdb.ada/fun_addr/foo.adb | 2 +-
gdb/testsuite/gdb.ada/fun_in_declare.exp | 2 +-
gdb/testsuite/gdb.ada/fun_in_declare/foo.adb | 2 +-
gdb/testsuite/gdb.ada/fun_in_declare/pck.adb | 2 +-
gdb/testsuite/gdb.ada/fun_in_declare/pck.ads | 2 +-
gdb/testsuite/gdb.ada/fun_overload_menu.exp | 2 +-
gdb/testsuite/gdb.ada/fun_overload_menu/foo.adb | 2 +-
gdb/testsuite/gdb.ada/fun_renaming.exp | 16 +-
.../gdb.ada/fun_renaming/fun_renaming.adb | 9 +-
gdb/testsuite/gdb.ada/fun_renaming/pack.adb | 6 +-
gdb/testsuite/gdb.ada/fun_renaming/pack.ads | 7 +-
gdb/testsuite/gdb.ada/funcall_char.exp | 2 +-
gdb/testsuite/gdb.ada/funcall_char/foo.adb | 2 +-
gdb/testsuite/gdb.ada/funcall_param.exp | 2 +-
gdb/testsuite/gdb.ada/funcall_param/foo.adb | 2 +-
gdb/testsuite/gdb.ada/funcall_param/pck.adb | 2 +-
gdb/testsuite/gdb.ada/funcall_param/pck.ads | 2 +-
gdb/testsuite/gdb.ada/funcall_ptr.exp | 2 +-
gdb/testsuite/gdb.ada/funcall_ptr/foo.adb | 2 +-
gdb/testsuite/gdb.ada/funcall_ptr/pck.adb | 2 +-
gdb/testsuite/gdb.ada/funcall_ptr/pck.ads | 2 +-
gdb/testsuite/gdb.ada/funcall_ref.exp | 2 +-
gdb/testsuite/gdb.ada/funcall_ref/foo.adb | 2 +-
gdb/testsuite/gdb.ada/homonym.exp | 4 +-
gdb/testsuite/gdb.ada/homonym/homonym.adb | 2 +-
gdb/testsuite/gdb.ada/homonym/homonym.ads | 2 +-
gdb/testsuite/gdb.ada/homonym/homonym_main.adb | 2 +-
gdb/testsuite/gdb.ada/homonym/pck.adb | 2 +-
gdb/testsuite/gdb.ada/homonym/pck.ads | 2 +-
gdb/testsuite/gdb.ada/info_addr_mixed_case.exp | 2 +-
gdb/testsuite/gdb.ada/info_addr_mixed_case/foo.adb | 2 +-
gdb/testsuite/gdb.ada/info_addr_mixed_case/pck.adb | 2 +-
gdb/testsuite/gdb.ada/info_addr_mixed_case/pck.ads | 2 +-
gdb/testsuite/gdb.ada/info_auto_lang.exp | 158 +
.../gdb.ada/info_auto_lang/global_pack.ads | 25 +
.../gdb.ada/info_auto_lang/proc_in_ada.adb | 24 +
gdb/testsuite/gdb.ada/info_auto_lang/some_c.c | 28 +
gdb/testsuite/gdb.ada/info_exc.exp | 2 +-
gdb/testsuite/gdb.ada/info_exc/const.ads | 2 +-
gdb/testsuite/gdb.ada/info_exc/foo.adb | 2 +-
gdb/testsuite/gdb.ada/info_locals_renaming.exp | 2 +-
gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb | 2 +-
gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb | 2 +-
gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads | 2 +-
gdb/testsuite/gdb.ada/info_types.c | 2 +-
gdb/testsuite/gdb.ada/info_types.exp | 2 +-
gdb/testsuite/gdb.ada/int_deref.exp | 2 +-
gdb/testsuite/gdb.ada/int_deref/foo.adb | 2 +-
gdb/testsuite/gdb.ada/int_deref/pck.ads | 2 +-
gdb/testsuite/gdb.ada/interface.exp | 2 +-
gdb/testsuite/gdb.ada/interface/foo.adb | 2 +-
gdb/testsuite/gdb.ada/interface/types.adb | 2 +-
gdb/testsuite/gdb.ada/interface/types.ads | 2 +-
gdb/testsuite/gdb.ada/iwide.exp | 2 +-
gdb/testsuite/gdb.ada/iwide/classes.adb | 2 +-
gdb/testsuite/gdb.ada/iwide/classes.ads | 2 +-
gdb/testsuite/gdb.ada/iwide/p.adb | 2 +-
gdb/testsuite/gdb.ada/lang_switch.exp | 2 +-
gdb/testsuite/gdb.ada/lang_switch/foo.c | 2 +-
gdb/testsuite/gdb.ada/lang_switch/lang_switch.adb | 2 +-
gdb/testsuite/gdb.ada/maint_with_ada.exp | 2 +-
gdb/testsuite/gdb.ada/maint_with_ada/pack.adb | 2 +-
gdb/testsuite/gdb.ada/maint_with_ada/pack.ads | 2 +-
.../gdb.ada/maint_with_ada/var_arr_typedef.adb | 2 +-
gdb/testsuite/gdb.ada/mi_catch_assert.exp | 2 +-
gdb/testsuite/gdb.ada/mi_catch_assert/bla.adb | 2 +-
gdb/testsuite/gdb.ada/mi_catch_assert/pck.ads | 2 +-
gdb/testsuite/gdb.ada/mi_catch_ex.exp | 2 +-
gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb | 2 +-
gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp | 2 +-
gdb/testsuite/gdb.ada/mi_catch_ex_hand/foo.adb | 2 +-
gdb/testsuite/gdb.ada/mi_dyn_arr.exp | 2 +-
gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb | 2 +-
gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb | 2 +-
gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads | 2 +-
gdb/testsuite/gdb.ada/mi_ex_cond.exp | 2 +-
gdb/testsuite/gdb.ada/mi_ex_cond/foo.adb | 2 +-
gdb/testsuite/gdb.ada/mi_ex_cond/pck.ads | 2 +-
gdb/testsuite/gdb.ada/mi_exc_info.exp | 2 +-
gdb/testsuite/gdb.ada/mi_exc_info/const.ads | 2 +-
gdb/testsuite/gdb.ada/mi_exc_info/foo.adb | 2 +-
gdb/testsuite/gdb.ada/mi_interface.exp | 2 +-
gdb/testsuite/gdb.ada/mi_interface/foo.adb | 2 +-
gdb/testsuite/gdb.ada/mi_interface/pck.adb | 2 +-
gdb/testsuite/gdb.ada/mi_interface/pck.ads | 2 +-
gdb/testsuite/gdb.ada/mi_ref_changeable.exp | 71 +
.../gdb.ada/mi_ref_changeable/foo_rb20_056.adb | 28 +
gdb/testsuite/gdb.ada/mi_ref_changeable/pck.adb | 26 +
gdb/testsuite/gdb.ada/mi_ref_changeable/pck.ads | 20 +
gdb/testsuite/gdb.ada/mi_string_access.exp | 2 +-
gdb/testsuite/gdb.ada/mi_string_access/bar.adb | 2 +-
gdb/testsuite/gdb.ada/mi_string_access/pck.adb | 2 +-
gdb/testsuite/gdb.ada/mi_string_access/pck.ads | 2 +-
gdb/testsuite/gdb.ada/mi_task_arg.exp | 2 +-
gdb/testsuite/gdb.ada/mi_task_arg/task_switch.adb | 2 +-
gdb/testsuite/gdb.ada/mi_task_info.exp | 2 +-
gdb/testsuite/gdb.ada/mi_task_info/task_switch.adb | 2 +-
gdb/testsuite/gdb.ada/mi_var_array.exp | 2 +-
gdb/testsuite/gdb.ada/mi_var_array/bar.adb | 2 +-
gdb/testsuite/gdb.ada/mi_var_array/pck.adb | 2 +-
gdb/testsuite/gdb.ada/mi_var_array/pck.ads | 2 +-
gdb/testsuite/gdb.ada/mi_var_union.exp | 2 +-
gdb/testsuite/gdb.ada/mi_var_union/bar.adb | 2 +-
gdb/testsuite/gdb.ada/mi_var_union/pck.adb | 2 +-
gdb/testsuite/gdb.ada/mi_var_union/pck.ads | 2 +-
gdb/testsuite/gdb.ada/minsyms.exp | 2 +-
gdb/testsuite/gdb.ada/minsyms/foo_qb07_057.adb | 2 +-
gdb/testsuite/gdb.ada/minsyms/pck.adb | 2 +-
gdb/testsuite/gdb.ada/minsyms/pck.ads | 2 +-
gdb/testsuite/gdb.ada/mod_from_name.exp | 2 +-
gdb/testsuite/gdb.ada/mod_from_name/foo.adb | 2 +-
gdb/testsuite/gdb.ada/n_arr_bound.exp | 2 +-
gdb/testsuite/gdb.ada/n_arr_bound/foo.adb | 2 +-
gdb/testsuite/gdb.ada/n_arr_bound/pck.adb | 2 +-
gdb/testsuite/gdb.ada/n_arr_bound/pck.ads | 2 +-
gdb/testsuite/gdb.ada/nested.exp | 2 +-
gdb/testsuite/gdb.ada/nested/hello.adb | 2 +-
gdb/testsuite/gdb.ada/notcplusplus.exp | 2 +-
gdb/testsuite/gdb.ada/notcplusplus/foo.adb | 2 +-
gdb/testsuite/gdb.ada/notcplusplus/pck.adb | 2 +-
gdb/testsuite/gdb.ada/notcplusplus/pck.ads | 2 +-
gdb/testsuite/gdb.ada/notcplusplus/ver.ads | 2 +-
gdb/testsuite/gdb.ada/null_array.exp | 2 +-
gdb/testsuite/gdb.ada/null_array/foo.adb | 2 +-
gdb/testsuite/gdb.ada/null_array/pck.adb | 2 +-
gdb/testsuite/gdb.ada/null_array/pck.ads | 2 +-
gdb/testsuite/gdb.ada/null_record.exp | 2 +-
gdb/testsuite/gdb.ada/null_record/bar.adb | 2 +-
gdb/testsuite/gdb.ada/null_record/bar.ads | 2 +-
gdb/testsuite/gdb.ada/null_record/null_record.adb | 2 +-
gdb/testsuite/gdb.ada/operator_bp.exp | 2 +-
gdb/testsuite/gdb.ada/operator_bp/ops.adb | 2 +-
gdb/testsuite/gdb.ada/operator_bp/ops.ads | 2 +-
gdb/testsuite/gdb.ada/operator_bp/ops_test.adb | 2 +-
gdb/testsuite/gdb.ada/optim_drec.exp | 2 +-
gdb/testsuite/gdb.ada/optim_drec/foo.adb | 2 +-
gdb/testsuite/gdb.ada/out_of_line_in_inlined.exp | 2 +-
.../gdb.ada/out_of_line_in_inlined/bar.adb | 2 +-
.../gdb.ada/out_of_line_in_inlined/bar.ads | 2 +-
.../out_of_line_in_inlined/foo_o224_021.adb | 2 +-
gdb/testsuite/gdb.ada/packed_array.exp | 2 +-
gdb/testsuite/gdb.ada/packed_array/pa.adb | 2 +-
gdb/testsuite/gdb.ada/packed_array/pck.adb | 2 +-
gdb/testsuite/gdb.ada/packed_array/pck.ads | 2 +-
gdb/testsuite/gdb.ada/packed_array_assign.exp | 6 +-
.../gdb.ada/packed_array_assign/aggregates.adb | 2 +-
.../gdb.ada/packed_array_assign/aggregates.ads | 10 +-
gdb/testsuite/gdb.ada/packed_array_assign/pck.adb | 2 +-
gdb/testsuite/gdb.ada/packed_array_assign/pck.ads | 2 +-
.../gdb.ada/packed_array_assign/tester.adb | 2 +-
gdb/testsuite/gdb.ada/packed_tagged.exp | 2 +-
gdb/testsuite/gdb.ada/packed_tagged/comp_bug.adb | 2 +-
gdb/testsuite/gdb.ada/pckd_arr_ren.exp | 2 +-
gdb/testsuite/gdb.ada/pckd_arr_ren/foo.adb | 2 +-
gdb/testsuite/gdb.ada/pckd_arr_ren/pck.adb | 2 +-
gdb/testsuite/gdb.ada/pckd_arr_ren/pck.ads | 2 +-
gdb/testsuite/gdb.ada/pckd_neg.exp | 2 +-
gdb/testsuite/gdb.ada/pckd_neg/foo_o508_021.adb | 2 +-
gdb/testsuite/gdb.ada/pckd_neg/pck.adb | 2 +-
gdb/testsuite/gdb.ada/pckd_neg/pck.ads | 2 +-
gdb/testsuite/gdb.ada/pkd_arr_elem.exp | 2 +-
gdb/testsuite/gdb.ada/pkd_arr_elem/failure.adb | 2 +-
gdb/testsuite/gdb.ada/pkd_arr_elem/pck.adb | 2 +-
gdb/testsuite/gdb.ada/pkd_arr_elem/pck.ads | 2 +-
gdb/testsuite/gdb.ada/pp-rec-component.exp | 2 +-
gdb/testsuite/gdb.ada/pp-rec-component.py | 2 +-
gdb/testsuite/gdb.ada/pp-rec-component/foo.adb | 2 +-
gdb/testsuite/gdb.ada/pp-rec-component/pck.adb | 2 +-
gdb/testsuite/gdb.ada/pp-rec-component/pck.ads | 2 +-
gdb/testsuite/gdb.ada/print_chars.exp | 2 +-
gdb/testsuite/gdb.ada/print_chars/foo.adb | 2 +-
gdb/testsuite/gdb.ada/print_chars/pck.adb | 2 +-
gdb/testsuite/gdb.ada/print_chars/pck.ads | 2 +-
gdb/testsuite/gdb.ada/print_pc.exp | 2 +-
gdb/testsuite/gdb.ada/ptr_typedef.exp | 2 +-
gdb/testsuite/gdb.ada/ptr_typedef/foo.adb | 2 +-
gdb/testsuite/gdb.ada/ptr_typedef/pck.adb | 2 +-
gdb/testsuite/gdb.ada/ptr_typedef/pck.ads | 2 +-
gdb/testsuite/gdb.ada/ptype_arith_binop.exp | 2 +-
gdb/testsuite/gdb.ada/ptype_array.exp | 34 +
gdb/testsuite/gdb.ada/ptype_array/foo.adb | 21 +
gdb/testsuite/gdb.ada/ptype_array/pck.adb | 23 +
gdb/testsuite/gdb.ada/ptype_array/pck.ads | 30 +
gdb/testsuite/gdb.ada/ptype_field.exp | 2 +-
gdb/testsuite/gdb.ada/ptype_field/foo.adb | 2 +-
gdb/testsuite/gdb.ada/ptype_field/pck.adb | 2 +-
gdb/testsuite/gdb.ada/ptype_field/pck.ads | 2 +-
gdb/testsuite/gdb.ada/ptype_tagged_param.exp | 2 +-
gdb/testsuite/gdb.ada/ptype_tagged_param/foo.adb | 2 +-
gdb/testsuite/gdb.ada/ptype_tagged_param/pck.adb | 2 +-
gdb/testsuite/gdb.ada/ptype_tagged_param/pck.ads | 2 +-
gdb/testsuite/gdb.ada/py_range.exp | 2 +-
gdb/testsuite/gdb.ada/py_range/foo.adb | 2 +-
gdb/testsuite/gdb.ada/py_range/pck.adb | 2 +-
gdb/testsuite/gdb.ada/py_range/pck.ads | 2 +-
gdb/testsuite/gdb.ada/rdv_wait.exp | 2 +-
gdb/testsuite/gdb.ada/rdv_wait/foo.adb | 2 +-
gdb/testsuite/gdb.ada/rdv_wait/pck.adb | 2 +-
gdb/testsuite/gdb.ada/rdv_wait/pck.ads | 2 +-
gdb/testsuite/gdb.ada/rec_comp.exp | 2 +-
gdb/testsuite/gdb.ada/rec_comp/bar_o203_012.adb | 2 +-
gdb/testsuite/gdb.ada/rec_comp/pck.adb | 2 +-
gdb/testsuite/gdb.ada/rec_comp/pck.ads | 2 +-
gdb/testsuite/gdb.ada/rec_return.exp | 2 +-
gdb/testsuite/gdb.ada/rec_return/foo.adb | 2 +-
gdb/testsuite/gdb.ada/rec_return/pck.adb | 2 +-
gdb/testsuite/gdb.ada/rec_return/pck.ads | 2 +-
gdb/testsuite/gdb.ada/ref_param.exp | 2 +-
gdb/testsuite/gdb.ada/ref_param/foo.adb | 2 +-
gdb/testsuite/gdb.ada/ref_param/pck.adb | 2 +-
gdb/testsuite/gdb.ada/ref_param/pck.ads | 2 +-
gdb/testsuite/gdb.ada/ref_tick_size.exp | 2 +-
gdb/testsuite/gdb.ada/ref_tick_size/p.adb | 2 +-
gdb/testsuite/gdb.ada/ref_tick_size/pck.adb | 2 +-
gdb/testsuite/gdb.ada/ref_tick_size/pck.ads | 2 +-
gdb/testsuite/gdb.ada/rename_subscript_param.exp | 10 +-
.../gdb.ada/rename_subscript_param/pb30_012.adb | 2 +-
.../gdb.ada/rename_subscript_param/pck.adb | 2 +-
.../gdb.ada/rename_subscript_param/pck.ads | 2 +-
.../gdb.ada/rename_subscript_param/pkg.adb | 6 +-
.../gdb.ada/rename_subscript_param/pkg.ads | 2 +-
gdb/testsuite/gdb.ada/repeat_dyn.exp | 2 +-
gdb/testsuite/gdb.ada/repeat_dyn/foo_oc22_002.adb | 2 +-
gdb/testsuite/gdb.ada/repeat_dyn/pck.adb | 2 +-
gdb/testsuite/gdb.ada/repeat_dyn/pck.ads | 2 +-
gdb/testsuite/gdb.ada/same_component_name.exp | 2 +-
gdb/testsuite/gdb.ada/same_component_name/foo.adb | 2 +-
gdb/testsuite/gdb.ada/same_component_name/pck.adb | 2 +-
gdb/testsuite/gdb.ada/same_component_name/pck.ads | 2 +-
gdb/testsuite/gdb.ada/same_enum.exp | 2 +-
gdb/testsuite/gdb.ada/same_enum/a.adb | 2 +-
gdb/testsuite/gdb.ada/same_enum/pck.adb | 2 +-
gdb/testsuite/gdb.ada/same_enum/pck.ads | 2 +-
gdb/testsuite/gdb.ada/scoped_watch.exp | 2 +-
.../gdb.ada/scoped_watch/foo_p708_025.adb | 2 +-
gdb/testsuite/gdb.ada/scoped_watch/pck.adb | 2 +-
gdb/testsuite/gdb.ada/scoped_watch/pck.ads | 2 +-
gdb/testsuite/gdb.ada/set_pckd_arr_elt.exp | 2 +-
gdb/testsuite/gdb.ada/set_pckd_arr_elt/foo.adb | 2 +-
gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.adb | 2 +-
gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.ads | 2 +-
gdb/testsuite/gdb.ada/set_wstr.exp | 2 +-
gdb/testsuite/gdb.ada/set_wstr/a.adb | 2 +-
gdb/testsuite/gdb.ada/set_wstr/pck.adb | 2 +-
gdb/testsuite/gdb.ada/set_wstr/pck.ads | 2 +-
gdb/testsuite/gdb.ada/small_reg_param.exp | 2 +-
gdb/testsuite/gdb.ada/small_reg_param/foo.adb | 2 +-
gdb/testsuite/gdb.ada/small_reg_param/pck.adb | 2 +-
gdb/testsuite/gdb.ada/small_reg_param/pck.ads | 2 +-
gdb/testsuite/gdb.ada/start.exp | 2 +-
gdb/testsuite/gdb.ada/start/dummy.adb | 2 +-
gdb/testsuite/gdb.ada/str_binop_equal.exp | 2 +-
.../gdb.ada/str_binop_equal/foo_p211_061.adb | 2 +-
gdb/testsuite/gdb.ada/str_binop_equal/pck.adb | 2 +-
gdb/testsuite/gdb.ada/str_binop_equal/pck.ads | 2 +-
gdb/testsuite/gdb.ada/str_ref_cmp.exp | 2 +-
gdb/testsuite/gdb.ada/str_ref_cmp/foo.adb | 2 +-
gdb/testsuite/gdb.ada/str_ref_cmp/pck.ads | 2 +-
gdb/testsuite/gdb.ada/str_uninit.exp | 2 +-
gdb/testsuite/gdb.ada/str_uninit/parse.adb | 2 +-
gdb/testsuite/gdb.ada/str_uninit/pck.adb | 2 +-
gdb/testsuite/gdb.ada/str_uninit/pck.ads | 2 +-
gdb/testsuite/gdb.ada/sym_print_name.exp | 2 +-
gdb/testsuite/gdb.ada/sym_print_name/foo.adb | 2 +-
gdb/testsuite/gdb.ada/sym_print_name/pck.adb | 2 +-
gdb/testsuite/gdb.ada/sym_print_name/pck.ads | 2 +-
gdb/testsuite/gdb.ada/taft_type.exp | 2 +-
gdb/testsuite/gdb.ada/taft_type/p.adb | 2 +-
gdb/testsuite/gdb.ada/taft_type/pck.adb | 2 +-
gdb/testsuite/gdb.ada/taft_type/pck.ads | 2 +-
gdb/testsuite/gdb.ada/tagged.exp | 2 +-
gdb/testsuite/gdb.ada/tagged/foo.adb | 2 +-
gdb/testsuite/gdb.ada/tagged/pck.adb | 2 +-
gdb/testsuite/gdb.ada/tagged/pck.ads | 2 +-
gdb/testsuite/gdb.ada/tagged_access.exp | 2 +-
gdb/testsuite/gdb.ada/tagged_access/p.adb | 2 +-
gdb/testsuite/gdb.ada/tagged_access/pack.adb | 2 +-
gdb/testsuite/gdb.ada/tagged_access/pack.ads | 2 +-
gdb/testsuite/gdb.ada/tagged_not_init.exp | 2 +-
gdb/testsuite/gdb.ada/tagged_not_init/foo.adb | 2 +-
gdb/testsuite/gdb.ada/tagged_not_init/pck.adb | 2 +-
gdb/testsuite/gdb.ada/tagged_not_init/pck.ads | 2 +-
gdb/testsuite/gdb.ada/task_bp.exp | 2 +-
gdb/testsuite/gdb.ada/task_bp/foo.adb | 2 +-
gdb/testsuite/gdb.ada/task_bp/pck.adb | 2 +-
gdb/testsuite/gdb.ada/task_bp/pck.ads | 2 +-
gdb/testsuite/gdb.ada/task_switch_in_core.exp | 2 +-
.../gdb.ada/task_switch_in_core/crash.adb | 2 +-
gdb/testsuite/gdb.ada/tasks.exp | 2 +-
gdb/testsuite/gdb.ada/tasks/foo.adb | 2 +-
gdb/testsuite/gdb.ada/tick_last_segv.exp | 2 +-
gdb/testsuite/gdb.ada/tick_last_segv/foo.adb | 2 +-
.../gdb.ada/tick_length_array_enum_idx.exp | 2 +-
.../tick_length_array_enum_idx/foo_n207_004.adb | 2 +-
.../gdb.ada/tick_length_array_enum_idx/pck.adb | 2 +-
.../gdb.ada/tick_length_array_enum_idx/pck.ads | 2 +-
gdb/testsuite/gdb.ada/type_coercion.exp | 2 +-
gdb/testsuite/gdb.ada/type_coercion/assign.adb | 2 +-
gdb/testsuite/gdb.ada/type_coercion/ident.adb | 2 +-
gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec.exp | 2 +-
.../gdb.ada/unc_arr_ptr_in_var_rec/foo.adb | 2 +-
.../gdb.ada/unc_arr_ptr_in_var_rec/pck.adb | 2 +-
.../gdb.ada/unc_arr_ptr_in_var_rec/pck.ads | 2 +-
gdb/testsuite/gdb.ada/uninitialized_vars.exp | 2 +-
gdb/testsuite/gdb.ada/uninitialized_vars/parse.adb | 2 +-
.../uninitialized_vars/parse_controlled.ads | 2 +-
gdb/testsuite/gdb.ada/var_arr_attrs.exp | 2 +-
.../gdb.ada/var_arr_attrs/foo_o115_002.adb | 2 +-
gdb/testsuite/gdb.ada/var_arr_attrs/pck.adb | 2 +-
gdb/testsuite/gdb.ada/var_arr_attrs/pck.ads | 2 +-
gdb/testsuite/gdb.ada/var_arr_typedef.exp | 2 +-
gdb/testsuite/gdb.ada/var_arr_typedef/pack.adb | 2 +-
gdb/testsuite/gdb.ada/var_arr_typedef/pack.ads | 2 +-
.../gdb.ada/var_arr_typedef/var_arr_typedef.adb | 2 +-
gdb/testsuite/gdb.ada/var_rec_arr.exp | 2 +-
gdb/testsuite/gdb.ada/var_rec_arr/foo_na09_042.adb | 2 +-
gdb/testsuite/gdb.ada/var_rec_arr/pck.adb | 2 +-
gdb/testsuite/gdb.ada/var_rec_arr/pck.ads | 2 +-
.../gdb.ada/variant_record_packed_array.exp | 2 +-
.../gdb.ada/variant_record_packed_array/foo.adb | 2 +-
.../gdb.ada/variant_record_packed_array/pck.adb | 2 +-
.../gdb.ada/variant_record_packed_array/pck.ads | 2 +-
gdb/testsuite/gdb.ada/varsize_limit.exp | 2 +-
gdb/testsuite/gdb.ada/varsize_limit/pck.adb | 2 +-
gdb/testsuite/gdb.ada/varsize_limit/pck.ads | 2 +-
gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb | 2 +-
gdb/testsuite/gdb.ada/watch_arg.exp | 2 +-
gdb/testsuite/gdb.ada/watch_arg/pck.adb | 2 +-
gdb/testsuite/gdb.ada/watch_arg/pck.ads | 2 +-
gdb/testsuite/gdb.ada/watch_arg/watch.adb | 2 +-
gdb/testsuite/gdb.ada/watch_minus_l.exp | 2 +-
.../gdb.ada/watch_minus_l/foo_ra10_006.adb | 2 +-
gdb/testsuite/gdb.ada/watch_minus_l/pck.adb | 2 +-
gdb/testsuite/gdb.ada/watch_minus_l/pck.ads | 2 +-
gdb/testsuite/gdb.ada/whatis_array_val.exp | 2 +-
gdb/testsuite/gdb.ada/whatis_array_val/foo.adb | 2 +-
gdb/testsuite/gdb.ada/whatis_array_val/pck.adb | 2 +-
gdb/testsuite/gdb.ada/whatis_array_val/pck.ads | 2 +-
gdb/testsuite/gdb.ada/widewide.exp | 2 +-
gdb/testsuite/gdb.ada/widewide/foo.adb | 2 +-
gdb/testsuite/gdb.ada/widewide/pck.adb | 2 +-
gdb/testsuite/gdb.ada/widewide/pck.ads | 2 +-
gdb/testsuite/gdb.ada/win_fu_syms.exp | 2 +-
gdb/testsuite/gdb.ada/win_fu_syms/foo.adb | 2 +-
gdb/testsuite/gdb.ada/win_fu_syms/pck.adb | 2 +-
gdb/testsuite/gdb.ada/win_fu_syms/pck.ads | 2 +-
gdb/testsuite/gdb.arch/aarch64-atomic-inst.c | 2 +-
gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp | 2 +-
gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c | 130 +
gdb/testsuite/gdb.arch/aarch64-dbreg-contents.exp | 45 +
gdb/testsuite/gdb.arch/aarch64-fp.c | 2 +-
gdb/testsuite/gdb.arch/aarch64-fp.exp | 2 +-
gdb/testsuite/gdb.arch/aarch64-sighandler-regs.c | 2 +-
gdb/testsuite/gdb.arch/aarch64-sighandler-regs.exp | 2 +-
gdb/testsuite/gdb.arch/aarch64-tagged-pointer.c | 2 +-
gdb/testsuite/gdb.arch/aarch64-tagged-pointer.exp | 2 +-
gdb/testsuite/gdb.arch/aix-sighandle.c | 2 +-
gdb/testsuite/gdb.arch/aix-sighandle.exp | 2 +-
gdb/testsuite/gdb.arch/alpha-step.c | 2 +-
gdb/testsuite/gdb.arch/alpha-step.exp | 2 +-
gdb/testsuite/gdb.arch/altivec-abi.exp | 2 +-
gdb/testsuite/gdb.arch/altivec-regs.exp | 51 +-
gdb/testsuite/gdb.arch/amd64-byte.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-disp-step-avx.S | 2 +-
gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-disp-step.S | 2 +-
gdb/testsuite/gdb.arch/amd64-disp-step.exp | 5 +-
gdb/testsuite/gdb.arch/amd64-dword.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-entry-value-inline.S | 2 +-
gdb/testsuite/gdb.arch/amd64-entry-value-inline.c | 2 +-
.../gdb.arch/amd64-entry-value-inline.exp | 2 +-
.../gdb.arch/amd64-entry-value-param-dwarf5.S | 2 +-
.../gdb.arch/amd64-entry-value-param-dwarf5.c | 2 +-
.../gdb.arch/amd64-entry-value-param-dwarf5.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-entry-value-param.S | 2 +-
gdb/testsuite/gdb.arch/amd64-entry-value-param.c | 2 +-
gdb/testsuite/gdb.arch/amd64-entry-value-param.exp | 2 +-
.../gdb.arch/amd64-entry-value-paramref.S | 2 +-
.../gdb.arch/amd64-entry-value-paramref.cc | 2 +-
.../gdb.arch/amd64-entry-value-paramref.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-entry-value.cc | 2 +-
gdb/testsuite/gdb.arch/amd64-entry-value.exp | 4 +-
gdb/testsuite/gdb.arch/amd64-entry-value.s | 2 +-
gdb/testsuite/gdb.arch/amd64-gs_base.c | 2 +-
gdb/testsuite/gdb.arch/amd64-gs_base.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-i386-address.S | 2 +-
gdb/testsuite/gdb.arch/amd64-i386-address.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-init-x87-values.S | 2 +-
gdb/testsuite/gdb.arch/amd64-init-x87-values.exp | 2 +-
.../gdb.arch/amd64-invalid-stack-middle.S | 2 +-
.../gdb.arch/amd64-invalid-stack-middle.c | 2 +-
.../gdb.arch/amd64-invalid-stack-middle.exp | 5 +-
gdb/testsuite/gdb.arch/amd64-invalid-stack-top.c | 2 +-
gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-optimout-repeat.S | 2 +-
gdb/testsuite/gdb.arch/amd64-optimout-repeat.c | 2 +-
gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-osabi.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-prologue-skip.S | 2 +-
gdb/testsuite/gdb.arch/amd64-prologue-skip.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-prologue-xmm.c | 2 +-
gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-prologue-xmm.s | 2 +-
gdb/testsuite/gdb.arch/amd64-pseudo.c | 2 +-
.../gdb.arch/amd64-stap-optional-prefix.S | 2 +-
.../gdb.arch/amd64-stap-optional-prefix.exp | 2 +-
.../gdb.arch/amd64-stap-special-operands.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c | 2 +-
gdb/testsuite/gdb.arch/amd64-stap-triplet.S | 2 +-
gdb/testsuite/gdb.arch/amd64-stap-triplet.c | 2 +-
gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S | 2 +-
gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.S | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.cc | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.S | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.cc | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-noret.S | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-noret.c | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-ret.S | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-ret.c | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-self.S | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-self.c | 2 +-
gdb/testsuite/gdb.arch/amd64-tailcall-self.exp | 2 +-
gdb/testsuite/gdb.arch/amd64-word.exp | 2 +-
gdb/testsuite/gdb.arch/arc-analyze-prologue.S | 2 +-
gdb/testsuite/gdb.arch/arc-analyze-prologue.exp | 2 +-
gdb/testsuite/gdb.arch/arc-decode-insn.S | 2 +-
gdb/testsuite/gdb.arch/arc-decode-insn.exp | 2 +-
gdb/testsuite/gdb.arch/arc-tdesc-cpu.exp | 2 +-
gdb/testsuite/gdb.arch/arc-tdesc-cpu.xml | 2 +-
gdb/testsuite/gdb.arch/arm-bl-branch-dest.c | 2 +-
gdb/testsuite/gdb.arch/arm-bl-branch-dest.exp | 2 +-
.../gdb.arch/arm-disassembler-options.exp | 2 +-
gdb/testsuite/gdb.arch/arm-disp-step.S | 2 +-
gdb/testsuite/gdb.arch/arm-disp-step.exp | 2 +-
gdb/testsuite/gdb.arch/arm-neon.c | 2 +-
gdb/testsuite/gdb.arch/arm-neon.exp | 2 +-
.../gdb.arch/arm-single-step-kernel-helper.c | 2 +-
.../gdb.arch/arm-single-step-kernel-helper.exp | 2 +-
gdb/testsuite/gdb.arch/avr-flash-qualifier.c | 2 +-
gdb/testsuite/gdb.arch/avr-flash-qualifier.exp | 2 +-
gdb/testsuite/gdb.arch/disp-step-insn-reloc.exp | 2 +-
gdb/testsuite/gdb.arch/e500-abi.exp | 2 +-
gdb/testsuite/gdb.arch/e500-prologue.c | 2 +-
gdb/testsuite/gdb.arch/e500-prologue.exp | 2 +-
gdb/testsuite/gdb.arch/e500-regs.exp | 2 +-
gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp | 2 +-
gdb/testsuite/gdb.arch/gdb1291.exp | 2 +-
gdb/testsuite/gdb.arch/gdb1291.s | 2 +-
gdb/testsuite/gdb.arch/gdb1431.exp | 2 +-
gdb/testsuite/gdb.arch/gdb1431.s | 2 +-
gdb/testsuite/gdb.arch/gdb1558.c | 2 +-
gdb/testsuite/gdb.arch/gdb1558.exp | 2 +-
gdb/testsuite/gdb.arch/i386-avx.c | 2 +-
gdb/testsuite/gdb.arch/i386-avx.exp | 2 +-
gdb/testsuite/gdb.arch/i386-avx512.c | 9 +-
gdb/testsuite/gdb.arch/i386-avx512.exp | 12 +-
gdb/testsuite/gdb.arch/i386-biarch-core.exp | 2 +-
gdb/testsuite/gdb.arch/i386-bp_permanent.c | 2 +-
gdb/testsuite/gdb.arch/i386-bp_permanent.exp | 2 +-
gdb/testsuite/gdb.arch/i386-byte.exp | 2 +-
gdb/testsuite/gdb.arch/i386-cfi-notcurrent.S | 2 +-
gdb/testsuite/gdb.arch/i386-cfi-notcurrent.exp | 2 +-
gdb/testsuite/gdb.arch/i386-disp-step.S | 2 +-
gdb/testsuite/gdb.arch/i386-disp-step.exp | 2 +-
gdb/testsuite/gdb.arch/i386-dr3-watch.c | 2 +-
gdb/testsuite/gdb.arch/i386-dr3-watch.exp | 2 +-
gdb/testsuite/gdb.arch/i386-float.S | 2 +-
gdb/testsuite/gdb.arch/i386-float.exp | 4 +-
gdb/testsuite/gdb.arch/i386-gnu-cfi-asm.S | 2 +-
gdb/testsuite/gdb.arch/i386-gnu-cfi.c | 2 +-
gdb/testsuite/gdb.arch/i386-gnu-cfi.exp | 2 +-
gdb/testsuite/gdb.arch/i386-mpx-call.c | 2 +-
gdb/testsuite/gdb.arch/i386-mpx-call.exp | 2 +-
gdb/testsuite/gdb.arch/i386-mpx-map.c | 2 +-
gdb/testsuite/gdb.arch/i386-mpx-map.exp | 2 +-
gdb/testsuite/gdb.arch/i386-mpx-sigsegv.c | 2 +-
gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp | 2 +-
gdb/testsuite/gdb.arch/i386-mpx-simple_segv.c | 2 +-
gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp | 2 +-
gdb/testsuite/gdb.arch/i386-mpx.c | 2 +-
gdb/testsuite/gdb.arch/i386-mpx.exp | 2 +-
gdb/testsuite/gdb.arch/i386-permbkpt.S | 2 +-
gdb/testsuite/gdb.arch/i386-permbkpt.exp | 2 +-
gdb/testsuite/gdb.arch/i386-pkru.c | 2 +-
gdb/testsuite/gdb.arch/i386-pkru.exp | 2 +-
gdb/testsuite/gdb.arch/i386-prologue.c | 2 +-
gdb/testsuite/gdb.arch/i386-prologue.exp | 2 +-
gdb/testsuite/gdb.arch/i386-pseudo.c | 2 +-
gdb/testsuite/gdb.arch/i386-signal.c | 2 +-
gdb/testsuite/gdb.arch/i386-signal.exp | 4 +-
gdb/testsuite/gdb.arch/i386-size-overlap.c | 2 +-
gdb/testsuite/gdb.arch/i386-size-overlap.exp | 2 +-
gdb/testsuite/gdb.arch/i386-size.c | 2 +-
gdb/testsuite/gdb.arch/i386-size.exp | 2 +-
gdb/testsuite/gdb.arch/i386-sse-stack-align.S | 2 +-
gdb/testsuite/gdb.arch/i386-sse-stack-align.c | 2 +-
gdb/testsuite/gdb.arch/i386-sse-stack-align.exp | 2 +-
gdb/testsuite/gdb.arch/i386-sse.c | 2 +-
gdb/testsuite/gdb.arch/i386-sse.exp | 2 +-
gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.S | 2 +-
gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c | 2 +-
gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.exp | 2 +-
gdb/testsuite/gdb.arch/i386-unwind.c | 2 +-
gdb/testsuite/gdb.arch/i386-unwind.exp | 2 +-
gdb/testsuite/gdb.arch/i386-word.exp | 2 +-
gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.S | 2 +-
gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp | 2 +-
gdb/testsuite/gdb.arch/insn-reloc.c | 2 +-
gdb/testsuite/gdb.arch/iwmmxt-regs.c | 2 +-
gdb/testsuite/gdb.arch/iwmmxt-regs.exp | 2 +-
.../gdb.arch/mips-disassembler-options.exp | 2 +-
gdb/testsuite/gdb.arch/mips-disassembler-options.s | 2 +-
gdb/testsuite/gdb.arch/mips-fcr.c | 2 +-
gdb/testsuite/gdb.arch/mips-fcr.exp | 2 +-
gdb/testsuite/gdb.arch/mips-fpregset-core.c | 2 +-
gdb/testsuite/gdb.arch/mips-fpregset-core.exp | 2 +-
gdb/testsuite/gdb.arch/mips-octeon-bbit.exp | 2 +-
gdb/testsuite/gdb.arch/mips16-thunks-inmain.c | 2 +-
gdb/testsuite/gdb.arch/mips16-thunks-main.c | 2 +-
gdb/testsuite/gdb.arch/mips16-thunks-sin.c | 2 +-
gdb/testsuite/gdb.arch/mips16-thunks-sinfrob.c | 2 +-
gdb/testsuite/gdb.arch/mips16-thunks-sinfrob16.c | 2 +-
gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c | 2 +-
gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c | 2 +-
gdb/testsuite/gdb.arch/mips16-thunks.exp | 2 +-
gdb/testsuite/gdb.arch/pa-nullify.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-aix-prologue.c | 2 +-
gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-altivec.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-altivec.s | 2 +-
gdb/testsuite/gdb.arch/powerpc-altivec2.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-altivec2.s | 2 +-
gdb/testsuite/gdb.arch/powerpc-altivec3.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-altivec3.s | 2 +-
gdb/testsuite/gdb.arch/powerpc-d128-regs.c | 2 +-
gdb/testsuite/gdb.arch/powerpc-d128-regs.exp | 2 +-
.../gdb.arch/powerpc-disassembler-options.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-fpscr-gcore.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-htm-regs.c | 2 +-
gdb/testsuite/gdb.arch/powerpc-htm-regs.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-power7.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-power7.s | 2 +-
gdb/testsuite/gdb.arch/powerpc-power8.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-power8.s | 2 +-
gdb/testsuite/gdb.arch/powerpc-power9.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-power9.s | 2 +-
gdb/testsuite/gdb.arch/powerpc-ppr-dscr.c | 2 +-
gdb/testsuite/gdb.arch/powerpc-ppr-dscr.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-prologue-frame.S | 2 +-
gdb/testsuite/gdb.arch/powerpc-prologue-frame.c | 2 +-
gdb/testsuite/gdb.arch/powerpc-prologue-frame.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-prologue.c | 2 +-
gdb/testsuite/gdb.arch/powerpc-prologue.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-stackless.S | 2 +-
gdb/testsuite/gdb.arch/powerpc-stackless.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-tar.c | 2 +-
gdb/testsuite/gdb.arch/powerpc-tar.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-vector-regs.c | 59 +
gdb/testsuite/gdb.arch/powerpc-vector-regs.exp | 62 +
gdb/testsuite/gdb.arch/powerpc-vsx-gcore.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-vsx.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-vsx.s | 2 +-
gdb/testsuite/gdb.arch/powerpc-vsx2.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-vsx2.s | 2 +-
gdb/testsuite/gdb.arch/powerpc-vsx3.exp | 2 +-
gdb/testsuite/gdb.arch/powerpc-vsx3.s | 2 +-
gdb/testsuite/gdb.arch/ppc-dfp.c | 2 +-
gdb/testsuite/gdb.arch/ppc-dfp.exp | 2 +-
gdb/testsuite/gdb.arch/ppc-fp.c | 2 +-
gdb/testsuite/gdb.arch/ppc-fp.exp | 2 +-
gdb/testsuite/gdb.arch/ppc-longdouble.c | 2 +-
gdb/testsuite/gdb.arch/ppc-longdouble.exp | 2 +-
gdb/testsuite/gdb.arch/ppc64-atomic-inst.S | 2 +-
gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp | 2 +-
gdb/testsuite/gdb.arch/ppc64-isa207-atomic-inst.S | 2 +-
gdb/testsuite/gdb.arch/ppc64-isa207-atomic-inst.c | 2 +-
.../gdb.arch/ppc64-isa207-atomic-inst.exp | 2 +-
gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp | 2 +-
gdb/testsuite/gdb.arch/riscv-reg-aliases.c | 2 +-
gdb/testsuite/gdb.arch/riscv-reg-aliases.exp | 26 +-
.../gdb.arch/s390-disassembler-options.exp | 2 +-
gdb/testsuite/gdb.arch/s390-multiarch.c | 2 +-
gdb/testsuite/gdb.arch/s390-multiarch.exp | 2 +-
gdb/testsuite/gdb.arch/s390-stackless.S | 2 +-
gdb/testsuite/gdb.arch/s390-stackless.exp | 2 +-
gdb/testsuite/gdb.arch/s390-tdbregs.c | 2 +-
gdb/testsuite/gdb.arch/s390-tdbregs.exp | 2 +-
gdb/testsuite/gdb.arch/s390-vregs.S | 2 +-
gdb/testsuite/gdb.arch/s390-vregs.exp | 2 +-
gdb/testsuite/gdb.arch/sparc-sysstep.c | 2 +-
gdb/testsuite/gdb.arch/sparc-sysstep.exp | 2 +-
gdb/testsuite/gdb.arch/sparc64-adi.c | 2 +-
gdb/testsuite/gdb.arch/sparc64-adi.exp | 2 +-
gdb/testsuite/gdb.arch/sparc64-regs.S | 2 +-
gdb/testsuite/gdb.arch/sparc64-regs.exp | 2 +-
gdb/testsuite/gdb.arch/spu-info.c | 2 +-
gdb/testsuite/gdb.arch/spu-info.exp | 2 +-
gdb/testsuite/gdb.arch/spu-ls.c | 2 +-
gdb/testsuite/gdb.arch/spu-ls.exp | 2 +-
gdb/testsuite/gdb.arch/thumb-bx-pc.S | 2 +-
gdb/testsuite/gdb.arch/thumb-bx-pc.exp | 2 +-
gdb/testsuite/gdb.arch/thumb-prologue.c | 2 +-
gdb/testsuite/gdb.arch/thumb-prologue.exp | 2 +-
gdb/testsuite/gdb.arch/thumb-singlestep.S | 2 +-
gdb/testsuite/gdb.arch/thumb-singlestep.exp | 2 +-
gdb/testsuite/gdb.arch/thumb2-it.S | 2 +-
gdb/testsuite/gdb.arch/thumb2-it.exp | 2 +-
gdb/testsuite/gdb.arch/vsx-regs.exp | 5 +-
gdb/testsuite/gdb.asm/asm-source.exp | 2 +-
gdb/testsuite/gdb.base/a2-run.exp | 2 +-
gdb/testsuite/gdb.base/advance.exp | 2 +-
gdb/testsuite/gdb.base/alias.exp | 2 +-
gdb/testsuite/gdb.base/align.exp | 182 +-
gdb/testsuite/gdb.base/all-architectures-0.exp | 2 +-
gdb/testsuite/gdb.base/all-architectures-1.exp | 2 +-
gdb/testsuite/gdb.base/all-architectures-2.exp | 2 +-
gdb/testsuite/gdb.base/all-architectures-3.exp | 2 +-
gdb/testsuite/gdb.base/all-architectures-4.exp | 2 +-
gdb/testsuite/gdb.base/all-architectures-5.exp | 2 +-
gdb/testsuite/gdb.base/all-architectures-6.exp | 2 +-
gdb/testsuite/gdb.base/all-architectures-7.exp | 2 +-
gdb/testsuite/gdb.base/all-architectures.exp.in | 2 +-
gdb/testsuite/gdb.base/all-bin.exp | 2 +-
.../gdb.base/annota-input-while-running.c | 2 +-
.../gdb.base/annota-input-while-running.exp | 2 +-
gdb/testsuite/gdb.base/annota1.exp | 25 +-
gdb/testsuite/gdb.base/annota3.exp | 2 +-
gdb/testsuite/gdb.base/anon.exp | 2 +-
gdb/testsuite/gdb.base/args.exp | 2 +-
gdb/testsuite/gdb.base/argv0-symlink.c | 2 +-
gdb/testsuite/gdb.base/argv0-symlink.exp | 2 +-
gdb/testsuite/gdb.base/arithmet.exp | 2 +-
gdb/testsuite/gdb.base/arrayidx.c | 2 +-
gdb/testsuite/gdb.base/arrayidx.exp | 2 +-
gdb/testsuite/gdb.base/asmlabel.c | 2 +-
gdb/testsuite/gdb.base/asmlabel.exp | 2 +-
gdb/testsuite/gdb.base/assign.exp | 2 +-
gdb/testsuite/gdb.base/async-shell.c | 2 +-
gdb/testsuite/gdb.base/async-shell.exp | 2 +-
gdb/testsuite/gdb.base/async.exp | 2 +-
gdb/testsuite/gdb.base/attach-non-pgrp-leader.c | 2 +-
gdb/testsuite/gdb.base/attach-non-pgrp-leader.exp | 2 +-
gdb/testsuite/gdb.base/attach-pie-misread.c | 2 +-
gdb/testsuite/gdb.base/attach-pie-misread.exp | 2 +-
gdb/testsuite/gdb.base/attach-pie-noexec.c | 2 +-
gdb/testsuite/gdb.base/attach-pie-noexec.exp | 2 +-
gdb/testsuite/gdb.base/attach-twice.c | 2 +-
gdb/testsuite/gdb.base/attach-twice.exp | 2 +-
gdb/testsuite/gdb.base/attach-wait-input.c | 2 +-
gdb/testsuite/gdb.base/attach-wait-input.exp | 2 +-
gdb/testsuite/gdb.base/attach.exp | 107 +-
.../gdb.base/auto-connect-native-target.c | 2 +-
.../gdb.base/auto-connect-native-target.exp | 2 +-
gdb/testsuite/gdb.base/auto-load-script | 2 +-
gdb/testsuite/gdb.base/auto-load.c | 2 +-
gdb/testsuite/gdb.base/auto-load.exp | 2 +-
gdb/testsuite/gdb.base/auxv.c | 2 +-
gdb/testsuite/gdb.base/auxv.exp | 2 +-
gdb/testsuite/gdb.base/bad-file.exp | 2 +-
gdb/testsuite/gdb.base/bang.exp | 2 +-
gdb/testsuite/gdb.base/batch-exit-status.exp | 2 +-
.../gdb.base/batch-preserve-term-settings.c | 2 +-
.../gdb.base/batch-preserve-term-settings.exp | 2 +-
gdb/testsuite/gdb.base/bfp-test.c | 2 +-
gdb/testsuite/gdb.base/bfp-test.exp | 2 +-
gdb/testsuite/gdb.base/bg-execution-repeat.c | 2 +-
gdb/testsuite/gdb.base/bg-execution-repeat.exp | 2 +-
gdb/testsuite/gdb.base/bigcore.c | 2 +-
gdb/testsuite/gdb.base/bigcore.exp | 2 +-
gdb/testsuite/gdb.base/bitfields.exp | 2 +-
gdb/testsuite/gdb.base/bitfields2.exp | 2 +-
gdb/testsuite/gdb.base/bitops.exp | 2 +-
gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.c | 2 +-
gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.exp | 2 +-
.../gdb.base/bp-cmds-execution-x-script.c | 2 +-
.../gdb.base/bp-cmds-execution-x-script.exp | 2 +-
.../gdb.base/bp-cmds-execution-x-script.gdb | 2 +-
gdb/testsuite/gdb.base/bp-permanent.c | 2 +-
gdb/testsuite/gdb.base/bp-permanent.exp | 2 +-
gdb/testsuite/gdb.base/branch-to-self.c | 2 +-
gdb/testsuite/gdb.base/branch-to-self.exp | 2 +-
gdb/testsuite/gdb.base/break-always.c | 2 +-
gdb/testsuite/gdb.base/break-always.exp | 2 +-
gdb/testsuite/gdb.base/break-caller-line.c | 2 +-
gdb/testsuite/gdb.base/break-caller-line.exp | 2 +-
gdb/testsuite/gdb.base/break-entry.exp | 2 +-
gdb/testsuite/gdb.base/break-fun-addr.exp | 2 +-
gdb/testsuite/gdb.base/break-fun-addr1.c | 2 +-
gdb/testsuite/gdb.base/break-fun-addr2.c | 2 +-
gdb/testsuite/gdb.base/break-idempotent.c | 2 +-
gdb/testsuite/gdb.base/break-idempotent.exp | 2 +-
gdb/testsuite/gdb.base/break-include.c | 2 +-
gdb/testsuite/gdb.base/break-include.exp | 2 +-
gdb/testsuite/gdb.base/break-include.inc | 2 +-
gdb/testsuite/gdb.base/break-inline.c | 2 +-
gdb/testsuite/gdb.base/break-inline.exp | 2 +-
gdb/testsuite/gdb.base/break-interp-lib.c | 2 +-
gdb/testsuite/gdb.base/break-interp-main.c | 2 +-
gdb/testsuite/gdb.base/break-interp.exp | 8 +-
.../gdb.base/break-main-file-remove-fail.c | 2 +-
.../gdb.base/break-main-file-remove-fail.exp | 2 +-
.../gdb.base/break-on-linker-gcd-function.cc | 2 +-
.../gdb.base/break-on-linker-gcd-function.exp | 2 +-
gdb/testsuite/gdb.base/break-probes-solib.c | 2 +-
gdb/testsuite/gdb.base/break-probes.c | 2 +-
gdb/testsuite/gdb.base/break-probes.exp | 2 +-
gdb/testsuite/gdb.base/break-unload-file.c | 2 +-
gdb/testsuite/gdb.base/break-unload-file.exp | 2 +-
gdb/testsuite/gdb.base/break.c | 2 +-
gdb/testsuite/gdb.base/break.exp | 2 +-
gdb/testsuite/gdb.base/break1.c | 2 +-
gdb/testsuite/gdb.base/breakpoint-in-ro-region.c | 2 +-
gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp | 2 +-
gdb/testsuite/gdb.base/breakpoint-shadow.c | 2 +-
gdb/testsuite/gdb.base/breakpoint-shadow.exp | 2 +-
gdb/testsuite/gdb.base/bt-selected-frame.c | 2 +-
gdb/testsuite/gdb.base/bt-selected-frame.exp | 2 +-
gdb/testsuite/gdb.base/c-linkage-name.c | 2 +-
gdb/testsuite/gdb.base/c-linkage-name.exp | 2 +-
gdb/testsuite/gdb.base/call-ar-st.exp | 2 +-
gdb/testsuite/gdb.base/call-rt-st.exp | 2 +-
gdb/testsuite/gdb.base/call-sc.c | 2 +-
gdb/testsuite/gdb.base/call-sc.exp | 2 +-
gdb/testsuite/gdb.base/call-signal-resume.exp | 2 +-
gdb/testsuite/gdb.base/call-signals.c | 2 +-
gdb/testsuite/gdb.base/call-strs.exp | 2 +-
gdb/testsuite/gdb.base/callexit.c | 2 +-
gdb/testsuite/gdb.base/callexit.exp | 2 +-
gdb/testsuite/gdb.base/callfuncs.c | 2 +-
gdb/testsuite/gdb.base/callfuncs.exp | 2 +-
gdb/testsuite/gdb.base/catch-follow-exec.c | 2 +-
gdb/testsuite/gdb.base/catch-follow-exec.exp | 2 +-
gdb/testsuite/gdb.base/catch-fork-kill.c | 2 +-
gdb/testsuite/gdb.base/catch-fork-kill.exp | 2 +-
gdb/testsuite/gdb.base/catch-fork-static.exp | 2 +-
gdb/testsuite/gdb.base/catch-gdb-caused-signals.c | 2 +-
.../gdb.base/catch-gdb-caused-signals.exp | 2 +-
gdb/testsuite/gdb.base/catch-load-so.c | 2 +-
gdb/testsuite/gdb.base/catch-load.c | 2 +-
gdb/testsuite/gdb.base/catch-load.exp | 2 +-
gdb/testsuite/gdb.base/catch-signal-fork.c | 2 +-
gdb/testsuite/gdb.base/catch-signal-fork.exp | 2 +-
gdb/testsuite/gdb.base/catch-signal-siginfo-cond.c | 2 +-
.../gdb.base/catch-signal-siginfo-cond.exp | 2 +-
gdb/testsuite/gdb.base/catch-signal.c | 2 +-
gdb/testsuite/gdb.base/catch-signal.exp | 2 +-
gdb/testsuite/gdb.base/catch-syscall.exp | 2 +-
gdb/testsuite/gdb.base/charset-malloc.c | 2 +-
gdb/testsuite/gdb.base/charset.c | 2 +-
gdb/testsuite/gdb.base/charset.exp | 2 +-
gdb/testsuite/gdb.base/checkpoint-ns.exp | 2 +-
gdb/testsuite/gdb.base/checkpoint.c | 2 +-
gdb/testsuite/gdb.base/checkpoint.exp | 2 +-
gdb/testsuite/gdb.base/chng-syms.exp | 2 +-
gdb/testsuite/gdb.base/code-expr.exp | 2 +-
gdb/testsuite/gdb.base/code_elim.exp | 2 +-
gdb/testsuite/gdb.base/code_elim1.c | 2 +-
gdb/testsuite/gdb.base/code_elim2.c | 2 +-
gdb/testsuite/gdb.base/command-line-input.exp | 2 +-
gdb/testsuite/gdb.base/commands.exp | 2 +-
gdb/testsuite/gdb.base/compare-sections.c | 2 +-
gdb/testsuite/gdb.base/compare-sections.exp | 2 +-
gdb/testsuite/gdb.base/complete-empty.exp | 2 +-
gdb/testsuite/gdb.base/completion.exp | 2 +-
gdb/testsuite/gdb.base/complex.c | 2 +-
gdb/testsuite/gdb.base/complex.exp | 2 +-
gdb/testsuite/gdb.base/comprdebug.exp | 2 +-
gdb/testsuite/gdb.base/cond-eval-mode.c | 2 +-
gdb/testsuite/gdb.base/cond-eval-mode.exp | 2 +-
gdb/testsuite/gdb.base/cond-expr.exp | 2 +-
gdb/testsuite/gdb.base/condbreak-call-false.c | 2 +-
gdb/testsuite/gdb.base/condbreak-call-false.exp | 2 +-
gdb/testsuite/gdb.base/condbreak.exp | 2 +-
gdb/testsuite/gdb.base/consecutive-step-over.c | 2 +-
gdb/testsuite/gdb.base/consecutive-step-over.exp | 2 +-
gdb/testsuite/gdb.base/consecutive.exp | 2 +-
gdb/testsuite/gdb.base/constvars.exp | 2 +-
.../gdb.base/continue-after-aborted-step-over.c | 2 +-
.../gdb.base/continue-after-aborted-step-over.exp | 2 +-
.../gdb.base/continue-all-already-running.c | 2 +-
.../gdb.base/continue-all-already-running.exp | 2 +-
gdb/testsuite/gdb.base/coredump-filter.c | 2 +-
gdb/testsuite/gdb.base/coredump-filter.exp | 2 +-
gdb/testsuite/gdb.base/corefile.exp | 2 +-
gdb/testsuite/gdb.base/coremaker.c | 2 +-
gdb/testsuite/gdb.base/ctxobj-f.c | 2 +-
gdb/testsuite/gdb.base/ctxobj-m.c | 2 +-
gdb/testsuite/gdb.base/ctxobj-v.c | 2 +-
gdb/testsuite/gdb.base/ctxobj.exp | 2 +-
gdb/testsuite/gdb.base/cursal.c | 2 +-
gdb/testsuite/gdb.base/cursal.exp | 2 +-
gdb/testsuite/gdb.base/cvexpr.c | 2 +-
gdb/testsuite/gdb.base/cvexpr.exp | 2 +-
gdb/testsuite/gdb.base/dbx.exp | 2 +-
gdb/testsuite/gdb.base/dcache-line-read-error.c | 2 +-
gdb/testsuite/gdb.base/dcache-line-read-error.exp | 2 +-
gdb/testsuite/gdb.base/debug-expr.exp | 2 +-
gdb/testsuite/gdb.base/default.exp | 6 +-
gdb/testsuite/gdb.base/define.exp | 2 +-
gdb/testsuite/gdb.base/del.c | 2 +-
gdb/testsuite/gdb.base/del.exp | 2 +-
gdb/testsuite/gdb.base/detach.exp | 2 +-
gdb/testsuite/gdb.base/dfp-exprs.exp | 2 +-
gdb/testsuite/gdb.base/dfp-test.c | 2 +-
gdb/testsuite/gdb.base/dfp-test.exp | 2 +-
gdb/testsuite/gdb.base/disabled-location.c | 2 +-
gdb/testsuite/gdb.base/disabled-location.exp | 2 +-
gdb/testsuite/gdb.base/disasm-end-cu-1.c | 2 +-
gdb/testsuite/gdb.base/disasm-end-cu-2.c | 2 +-
gdb/testsuite/gdb.base/disasm-end-cu.exp | 2 +-
gdb/testsuite/gdb.base/disasm-optim.S | 2 +-
gdb/testsuite/gdb.base/disasm-optim.c | 2 +-
gdb/testsuite/gdb.base/disasm-optim.exp | 2 +-
gdb/testsuite/gdb.base/disasm-optim.h | 2 +-
gdb/testsuite/gdb.base/display.exp | 2 +-
gdb/testsuite/gdb.base/dmsym.c | 2 +-
gdb/testsuite/gdb.base/dmsym.exp | 2 +-
gdb/testsuite/gdb.base/dmsym_main.c | 2 +-
.../gdb.base/double-prompt-target-event-error.c | 2 +-
.../gdb.base/double-prompt-target-event-error.exp | 2 +-
gdb/testsuite/gdb.base/dprintf-bp-same-addr.c | 2 +-
gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp | 2 +-
gdb/testsuite/gdb.base/dprintf-detach.c | 2 +-
gdb/testsuite/gdb.base/dprintf-detach.exp | 2 +-
gdb/testsuite/gdb.base/dprintf-next.c | 2 +-
gdb/testsuite/gdb.base/dprintf-next.exp | 2 +-
gdb/testsuite/gdb.base/dprintf-non-stop.c | 2 +-
gdb/testsuite/gdb.base/dprintf-non-stop.exp | 2 +-
gdb/testsuite/gdb.base/dprintf-pending.c | 2 +-
gdb/testsuite/gdb.base/dprintf-pending.exp | 2 +-
gdb/testsuite/gdb.base/dprintf-pendshr.c | 2 +-
gdb/testsuite/gdb.base/dprintf.c | 2 +-
gdb/testsuite/gdb.base/dprintf.exp | 2 +-
gdb/testsuite/gdb.base/dso2dso-dso1.c | 2 +-
gdb/testsuite/gdb.base/dso2dso-dso1.h | 2 +-
gdb/testsuite/gdb.base/dso2dso-dso2.c | 2 +-
gdb/testsuite/gdb.base/dso2dso-dso2.h | 2 +-
gdb/testsuite/gdb.base/dso2dso.c | 2 +-
gdb/testsuite/gdb.base/dso2dso.exp | 2 +-
gdb/testsuite/gdb.base/dtrace-probe.c | 2 +-
gdb/testsuite/gdb.base/dtrace-probe.d | 2 +-
gdb/testsuite/gdb.base/dtrace-probe.exp | 2 +-
gdb/testsuite/gdb.base/dump.exp | 6 +-
gdb/testsuite/gdb.base/dup-sect.S | 2 +-
gdb/testsuite/gdb.base/dup-sect.exp | 2 +-
gdb/testsuite/gdb.base/duplicate-bp.c | 2 +-
gdb/testsuite/gdb.base/duplicate-bp.exp | 2 +-
gdb/testsuite/gdb.base/echo.exp | 2 +-
gdb/testsuite/gdb.base/empty_exe.exp | 2 +-
gdb/testsuite/gdb.base/ena-dis-br.exp | 2 +-
gdb/testsuite/gdb.base/endian.c | 2 +-
gdb/testsuite/gdb.base/endian.exp | 2 +-
gdb/testsuite/gdb.base/ending-run.exp | 2 +-
gdb/testsuite/gdb.base/enum_cond.c | 2 +-
gdb/testsuite/gdb.base/enum_cond.exp | 2 +-
gdb/testsuite/gdb.base/enumval.c | 2 +-
gdb/testsuite/gdb.base/enumval.exp | 2 +-
gdb/testsuite/gdb.base/environ.exp | 2 +-
gdb/testsuite/gdb.base/eu-strip-infcall.c | 2 +-
gdb/testsuite/gdb.base/eu-strip-infcall.exp | 2 +-
gdb/testsuite/gdb.base/eval-avoid-side-effects.exp | 2 +-
gdb/testsuite/gdb.base/eval-skip.exp | 2 +-
gdb/testsuite/gdb.base/eval.exp | 2 +-
gdb/testsuite/gdb.base/examine-backward.c | 2 +-
gdb/testsuite/gdb.base/examine-backward.exp | 2 +-
gdb/testsuite/gdb.base/exe-lock.exp | 2 +-
gdb/testsuite/gdb.base/exec-invalid-sysroot.exp | 2 +-
gdb/testsuite/gdb.base/execl-update-breakpoints.c | 2 +-
.../gdb.base/execl-update-breakpoints.exp | 2 +-
gdb/testsuite/gdb.base/execution-termios.c | 2 +-
gdb/testsuite/gdb.base/execution-termios.exp | 2 +-
gdb/testsuite/gdb.base/exitsignal.exp | 2 +-
gdb/testsuite/gdb.base/expand-psymtabs.c | 2 +-
gdb/testsuite/gdb.base/expand-psymtabs.exp | 2 +-
gdb/testsuite/gdb.base/exprs.exp | 2 +-
gdb/testsuite/gdb.base/fileio.exp | 2 +-
gdb/testsuite/gdb.base/filesym.c | 2 +-
gdb/testsuite/gdb.base/filesym.exp | 2 +-
gdb/testsuite/gdb.base/find-unmapped.c | 2 +-
gdb/testsuite/gdb.base/find-unmapped.exp | 2 +-
gdb/testsuite/gdb.base/find.c | 2 +-
gdb/testsuite/gdb.base/find.exp | 2 +-
gdb/testsuite/gdb.base/finish-pretty.c | 2 +-
gdb/testsuite/gdb.base/finish-pretty.exp | 4 +-
gdb/testsuite/gdb.base/finish.exp | 2 +-
gdb/testsuite/gdb.base/fixsection.c | 2 +-
gdb/testsuite/gdb.base/fixsection.exp | 2 +-
gdb/testsuite/gdb.base/float.c | 2 +-
gdb/testsuite/gdb.base/float.exp | 12 +-
gdb/testsuite/gdb.base/float128.c | 2 +-
gdb/testsuite/gdb.base/float128.exp | 2 +-
gdb/testsuite/gdb.base/floatn.c | 2 +-
gdb/testsuite/gdb.base/floatn.exp | 2 +-
gdb/testsuite/gdb.base/foll-exec-mode.c | 2 +-
gdb/testsuite/gdb.base/foll-exec-mode.exp | 2 +-
gdb/testsuite/gdb.base/foll-exec.c | 2 +-
gdb/testsuite/gdb.base/foll-exec.exp | 2 +-
gdb/testsuite/gdb.base/foll-fork.exp | 2 +-
gdb/testsuite/gdb.base/foll-vfork-exit.c | 2 +-
gdb/testsuite/gdb.base/foll-vfork.c | 2 +-
gdb/testsuite/gdb.base/foll-vfork.exp | 2 +-
.../gdb.base/fork-print-inferior-events.c | 2 +-
.../gdb.base/fork-print-inferior-events.exp | 2 +-
gdb/testsuite/gdb.base/fork-running-state.c | 2 +-
gdb/testsuite/gdb.base/fork-running-state.exp | 2 +-
gdb/testsuite/gdb.base/fortran-sym-case.c | 2 +-
gdb/testsuite/gdb.base/fortran-sym-case.exp | 2 +-
gdb/testsuite/gdb.base/frame-args.c | 2 +-
gdb/testsuite/gdb.base/frame-args.exp | 2 +-
gdb/testsuite/gdb.base/frame-selection.c | 2 +-
gdb/testsuite/gdb.base/frame-selection.exp | 2 +-
gdb/testsuite/gdb.base/frameapply.c | 2 +-
gdb/testsuite/gdb.base/frameapply.exp | 2 +-
gdb/testsuite/gdb.base/freebpcmd.c | 2 +-
gdb/testsuite/gdb.base/freebpcmd.exp | 2 +-
gdb/testsuite/gdb.base/fullname.c | 2 +-
gdb/testsuite/gdb.base/fullname.exp | 2 +-
gdb/testsuite/gdb.base/fullpath-expand-func.c | 2 +-
gdb/testsuite/gdb.base/fullpath-expand.c | 2 +-
gdb/testsuite/gdb.base/fullpath-expand.exp | 2 +-
gdb/testsuite/gdb.base/func-ptr.c | 2 +-
gdb/testsuite/gdb.base/func-ptr.exp | 2 +-
gdb/testsuite/gdb.base/func-ptrs.c | 2 +-
gdb/testsuite/gdb.base/func-ptrs.exp | 2 +-
gdb/testsuite/gdb.base/funcargs.exp | 2 +-
gdb/testsuite/gdb.base/gcore-buffer-overflow.c | 2 +-
gdb/testsuite/gdb.base/gcore-buffer-overflow.exp | 2 +-
gdb/testsuite/gdb.base/gcore-relro-lib.c | 2 +-
gdb/testsuite/gdb.base/gcore-relro-main.c | 2 +-
gdb/testsuite/gdb.base/gcore-relro-pie.c | 2 +-
gdb/testsuite/gdb.base/gcore-relro-pie.exp | 2 +-
gdb/testsuite/gdb.base/gcore-relro.exp | 2 +-
gdb/testsuite/gdb.base/gcore-tls-pie.c | 2 +-
gdb/testsuite/gdb.base/gcore-tls-pie.exp | 2 +-
gdb/testsuite/gdb.base/gcore.c | 2 +-
gdb/testsuite/gdb.base/gcore.exp | 2 +-
gdb/testsuite/gdb.base/gdb-caching-proc.exp | 112 +
gdb/testsuite/gdb.base/gdb-sigterm-2.exp | 2 +-
gdb/testsuite/gdb.base/gdb-sigterm.c | 2 +-
gdb/testsuite/gdb.base/gdb-sigterm.exp | 2 +-
gdb/testsuite/gdb.base/gdb1056.exp | 2 +-
gdb/testsuite/gdb.base/gdb1090.c | 2 +-
gdb/testsuite/gdb.base/gdb1090.exp | 2 +-
gdb/testsuite/gdb.base/gdb11530.c | 2 +-
gdb/testsuite/gdb.base/gdb11530.exp | 2 +-
gdb/testsuite/gdb.base/gdb11531.c | 2 +-
gdb/testsuite/gdb.base/gdb11531.exp | 2 +-
gdb/testsuite/gdb.base/gdb1250.c | 2 +-
gdb/testsuite/gdb.base/gdb1250.exp | 2 +-
gdb/testsuite/gdb.base/gdb1555-main.c | 2 +-
gdb/testsuite/gdb.base/gdb1555.c | 2 +-
gdb/testsuite/gdb.base/gdb1555.exp | 2 +-
gdb/testsuite/gdb.base/gdb1821.c | 2 +-
gdb/testsuite/gdb.base/gdb1821.exp | 2 +-
gdb/testsuite/gdb.base/gdbhistsize-history.exp | 2 +-
gdb/testsuite/gdb.base/gdbindex-stabs-dwarf.c | 2 +-
gdb/testsuite/gdb.base/gdbindex-stabs.c | 2 +-
gdb/testsuite/gdb.base/gdbindex-stabs.exp | 2 +-
gdb/testsuite/gdb.base/gdbinit-history.exp | 2 +-
gdb/testsuite/gdb.base/gdbvars.exp | 2 +-
.../gdb.base/global-var-nested-by-dso-solib1.c | 2 +-
.../gdb.base/global-var-nested-by-dso-solib2.c | 2 +-
gdb/testsuite/gdb.base/global-var-nested-by-dso.c | 2 +-
.../gdb.base/global-var-nested-by-dso.exp | 2 +-
gdb/testsuite/gdb.base/gnu-debugdata.c | 2 +-
gdb/testsuite/gdb.base/gnu-debugdata.exp | 2 +-
gdb/testsuite/gdb.base/gnu-ifunc-final.c | 2 +-
gdb/testsuite/gdb.base/gnu-ifunc-lib.c | 2 +-
gdb/testsuite/gdb.base/gnu-ifunc.c | 2 +-
gdb/testsuite/gdb.base/gnu-ifunc.exp | 2 +-
gdb/testsuite/gdb.base/gnu_vector.c | 2 +-
gdb/testsuite/gdb.base/gnu_vector.exp | 2 +-
gdb/testsuite/gdb.base/hashline1.exp | 2 +-
gdb/testsuite/gdb.base/hashline2.exp | 2 +-
gdb/testsuite/gdb.base/hashline3.exp | 2 +-
.../gdb.base/hbreak-in-shr-unsupported-shr.c | 2 +-
gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c | 2 +-
.../gdb.base/hbreak-in-shr-unsupported.exp | 2 +-
gdb/testsuite/gdb.base/hbreak-unmapped.c | 2 +-
gdb/testsuite/gdb.base/hbreak-unmapped.exp | 2 +-
gdb/testsuite/gdb.base/hbreak.c | 2 +-
gdb/testsuite/gdb.base/hbreak.exp | 2 +-
gdb/testsuite/gdb.base/hbreak2.exp | 2 +-
gdb/testsuite/gdb.base/help.exp | 4 +-
gdb/testsuite/gdb.base/history-duplicates.exp | 2 +-
gdb/testsuite/gdb.base/hook-stop.c | 2 +-
gdb/testsuite/gdb.base/hook-stop.exp | 2 +-
gdb/testsuite/gdb.base/huge.exp | 2 +-
gdb/testsuite/gdb.base/ifelse.exp | 2 +-
gdb/testsuite/gdb.base/included.c | 2 +-
gdb/testsuite/gdb.base/included.exp | 2 +-
gdb/testsuite/gdb.base/included.h | 2 +-
gdb/testsuite/gdb.base/index-cache.c | 2 +-
gdb/testsuite/gdb.base/index-cache.exp | 2 +-
gdb/testsuite/gdb.base/infcall-exec.c | 2 +-
gdb/testsuite/gdb.base/infcall-exec.exp | 2 +-
gdb/testsuite/gdb.base/infcall-exec2.c | 2 +-
gdb/testsuite/gdb.base/infcall-input.c | 2 +-
gdb/testsuite/gdb.base/infcall-input.exp | 2 +-
gdb/testsuite/gdb.base/infcall-nested-structs.c | 175 +-
gdb/testsuite/gdb.base/infcall-nested-structs.exp | 74 +-
gdb/testsuite/gdb.base/inferior-died.c | 2 +-
gdb/testsuite/gdb.base/inferior-died.exp | 2 +-
gdb/testsuite/gdb.base/infnan.c | 2 +-
gdb/testsuite/gdb.base/infnan.exp | 2 +-
gdb/testsuite/gdb.base/info-fun-solib.c | 2 +-
gdb/testsuite/gdb.base/info-fun.c | 2 +-
gdb/testsuite/gdb.base/info-fun.exp | 2 +-
gdb/testsuite/gdb.base/info-macros.exp | 2 +-
gdb/testsuite/gdb.base/info-os.c | 2 +-
gdb/testsuite/gdb.base/info-os.exp | 5 +-
gdb/testsuite/gdb.base/info-proc.exp | 2 +-
gdb/testsuite/gdb.base/info-program.exp | 2 +-
gdb/testsuite/gdb.base/info-shared-solib1.c | 2 +-
gdb/testsuite/gdb.base/info-shared-solib2.c | 2 +-
gdb/testsuite/gdb.base/info-shared.c | 2 +-
gdb/testsuite/gdb.base/info-shared.exp | 2 +-
gdb/testsuite/gdb.base/info-target.exp | 2 +-
gdb/testsuite/gdb.base/info_minsym.c | 29 +
gdb/testsuite/gdb.base/info_minsym.exp | 38 +
gdb/testsuite/gdb.base/info_qt.c | 2 +-
gdb/testsuite/gdb.base/info_qt.exp | 6 +-
.../gdb.base/infoline-reloc-main-from-zero.c | 2 +-
.../gdb.base/infoline-reloc-main-from-zero.exp | 2 +-
gdb/testsuite/gdb.base/infoline.c | 2 +-
gdb/testsuite/gdb.base/infoline.exp | 2 +-
gdb/testsuite/gdb.base/interact.exp | 2 +-
gdb/testsuite/gdb.base/interp.c | 2 +-
gdb/testsuite/gdb.base/interp.exp | 2 +-
gdb/testsuite/gdb.base/interrupt-daemon-attach.c | 68 +
gdb/testsuite/gdb.base/interrupt-daemon-attach.exp | 91 +
gdb/testsuite/gdb.base/interrupt-daemon.c | 2 +-
gdb/testsuite/gdb.base/interrupt-daemon.exp | 2 +-
gdb/testsuite/gdb.base/interrupt-noterm.c | 2 +-
gdb/testsuite/gdb.base/interrupt-noterm.exp | 2 +-
gdb/testsuite/gdb.base/interrupt.exp | 2 +-
gdb/testsuite/gdb.base/jit-attach-pie.c | 2 +-
gdb/testsuite/gdb.base/jit-attach-pie.exp | 2 +-
gdb/testsuite/gdb.base/jit-exec.c | 28 +
gdb/testsuite/gdb.base/jit-exec.exp | 52 +
gdb/testsuite/gdb.base/jit-execd.c | 22 +
gdb/testsuite/gdb.base/jit-main.c | 2 +-
gdb/testsuite/gdb.base/jit-protocol.h | 2 +-
gdb/testsuite/gdb.base/jit-reader.exp | 2 +-
gdb/testsuite/gdb.base/jit-simple-dl.c | 2 +-
gdb/testsuite/gdb.base/jit-simple-jit.c | 2 +-
gdb/testsuite/gdb.base/jit-simple.c | 2 +-
gdb/testsuite/gdb.base/jit-simple.exp | 2 +-
gdb/testsuite/gdb.base/jit-so.exp | 2 +-
gdb/testsuite/gdb.base/jit-solib.c | 2 +-
gdb/testsuite/gdb.base/jit.exp | 2 +-
gdb/testsuite/gdb.base/jithost.c | 2 +-
gdb/testsuite/gdb.base/jithost.h | 2 +-
gdb/testsuite/gdb.base/jitreader.c | 2 +-
gdb/testsuite/gdb.base/jump.exp | 2 +-
gdb/testsuite/gdb.base/kill-after-signal.c | 2 +-
gdb/testsuite/gdb.base/kill-after-signal.exp | 2 +-
gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.c | 2 +-
.../gdb.base/kill-detach-inferiors-cmd.exp | 2 +-
gdb/testsuite/gdb.base/killed-outside.c | 2 +-
gdb/testsuite/gdb.base/killed-outside.exp | 2 +-
gdb/testsuite/gdb.base/label.exp | 2 +-
gdb/testsuite/gdb.base/langs.exp | 2 +-
gdb/testsuite/gdb.base/langs1.f | 2 +-
gdb/testsuite/gdb.base/large-frame-1.c | 2 +-
gdb/testsuite/gdb.base/large-frame-2.c | 2 +-
gdb/testsuite/gdb.base/large-frame.exp | 2 +-
gdb/testsuite/gdb.base/large-frame.h | 2 +-
gdb/testsuite/gdb.base/ldbl_e308.c | 2 +-
gdb/testsuite/gdb.base/ldbl_e308.exp | 2 +-
gdb/testsuite/gdb.base/libsegfault.exp | 2 +-
gdb/testsuite/gdb.base/line-symtabs.c | 2 +-
gdb/testsuite/gdb.base/line-symtabs.exp | 2 +-
gdb/testsuite/gdb.base/line-symtabs.h | 2 +-
gdb/testsuite/gdb.base/lineinc.exp | 2 +-
gdb/testsuite/gdb.base/linespecs.exp | 2 +-
gdb/testsuite/gdb.base/list-ambiguous.exp | 2 +-
gdb/testsuite/gdb.base/list-ambiguous0.c | 2 +-
gdb/testsuite/gdb.base/list-ambiguous1.c | 2 +-
gdb/testsuite/gdb.base/list.exp | 19 +-
gdb/testsuite/gdb.base/load-command.c | 2 +-
gdb/testsuite/gdb.base/load-command.exp | 2 +-
gdb/testsuite/gdb.base/logical.exp | 2 +-
gdb/testsuite/gdb.base/long-inferior-output.c | 2 +-
gdb/testsuite/gdb.base/long-inferior-output.exp | 2 +-
gdb/testsuite/gdb.base/long_long.c | 2 +-
gdb/testsuite/gdb.base/long_long.exp | 2 +-
gdb/testsuite/gdb.base/longest-types.c | 2 +-
gdb/testsuite/gdb.base/longest-types.exp | 2 +-
gdb/testsuite/gdb.base/longjmp.c | 2 +-
gdb/testsuite/gdb.base/longjmp.exp | 2 +-
gdb/testsuite/gdb.base/macscp.exp | 2 +-
gdb/testsuite/gdb.base/maint.exp | 2 +-
gdb/testsuite/gdb.base/many-headers.c | 2 +-
gdb/testsuite/gdb.base/many-headers.exp | 2 +-
gdb/testsuite/gdb.base/max-value-size.c | 2 +-
gdb/testsuite/gdb.base/max-value-size.exp | 2 +-
gdb/testsuite/gdb.base/memattr.c | 2 +-
gdb/testsuite/gdb.base/memattr.exp | 2 +-
gdb/testsuite/gdb.base/mips_pro.exp | 2 +-
gdb/testsuite/gdb.base/miscexprs.exp | 2 +-
gdb/testsuite/gdb.base/morestack.c | 2 +-
gdb/testsuite/gdb.base/morestack.exp | 2 +-
gdb/testsuite/gdb.base/moribund-step.exp | 2 +-
gdb/testsuite/gdb.base/msym-lang-main.c | 28 +
gdb/testsuite/gdb.base/msym-lang.c | 22 +
gdb/testsuite/gdb.base/msym-lang.exp | 25 +
gdb/testsuite/gdb.base/multi-forks.c | 2 +-
gdb/testsuite/gdb.base/multi-forks.exp | 2 +-
.../gdb.base/multi-line-starts-subshell.exp | 2 +-
gdb/testsuite/gdb.base/nested-addr.c | 2 +-
gdb/testsuite/gdb.base/nested-addr.exp | 2 +-
gdb/testsuite/gdb.base/nested-subp1.c | 2 +-
gdb/testsuite/gdb.base/nested-subp1.exp | 2 +-
gdb/testsuite/gdb.base/nested-subp2.c | 2 +-
gdb/testsuite/gdb.base/nested-subp2.exp | 2 +-
gdb/testsuite/gdb.base/nested-subp3.c | 2 +-
gdb/testsuite/gdb.base/nested-subp3.exp | 2 +-
gdb/testsuite/gdb.base/new-ui-echo.c | 2 +-
gdb/testsuite/gdb.base/new-ui-echo.exp | 2 +-
gdb/testsuite/gdb.base/new-ui-pending-input.c | 2 +-
gdb/testsuite/gdb.base/new-ui-pending-input.exp | 2 +-
gdb/testsuite/gdb.base/new-ui.c | 2 +-
gdb/testsuite/gdb.base/new-ui.exp | 2 +-
gdb/testsuite/gdb.base/nextoverexit.c | 2 +-
gdb/testsuite/gdb.base/nextoverexit.exp | 2 +-
gdb/testsuite/gdb.base/nodebug.exp | 2 +-
gdb/testsuite/gdb.base/nofield.c | 2 +-
gdb/testsuite/gdb.base/nofield.exp | 2 +-
gdb/testsuite/gdb.base/noreturn-finish.c | 2 +-
gdb/testsuite/gdb.base/noreturn-finish.exp | 2 +-
gdb/testsuite/gdb.base/noreturn-return.c | 2 +-
gdb/testsuite/gdb.base/noreturn-return.exp | 2 +-
gdb/testsuite/gdb.base/normal.c | 2 +-
gdb/testsuite/gdb.base/nostdlib.c | 2 +-
gdb/testsuite/gdb.base/nostdlib.exp | 2 +-
gdb/testsuite/gdb.base/offsets.c | 2 +-
gdb/testsuite/gdb.base/offsets.exp | 2 +-
gdb/testsuite/gdb.base/opaque.exp | 2 +-
gdb/testsuite/gdb.base/osabi.exp | 2 +-
gdb/testsuite/gdb.base/overlays.exp | 2 +-
gdb/testsuite/gdb.base/page.exp | 43 +-
.../gdb.base/paginate-after-ctrl-c-running.c | 2 +-
.../gdb.base/paginate-after-ctrl-c-running.exp | 2 +-
gdb/testsuite/gdb.base/paginate-bg-execution.c | 2 +-
gdb/testsuite/gdb.base/paginate-bg-execution.exp | 2 +-
.../gdb.base/paginate-execution-startup.c | 2 +-
.../gdb.base/paginate-execution-startup.exp | 2 +-
gdb/testsuite/gdb.base/paginate-inferior-exit.c | 2 +-
gdb/testsuite/gdb.base/paginate-inferior-exit.exp | 2 +-
gdb/testsuite/gdb.base/pc-fp.exp | 2 +-
gdb/testsuite/gdb.base/pending.c | 2 +-
gdb/testsuite/gdb.base/pending.exp | 2 +-
gdb/testsuite/gdb.base/pendshr.c | 2 +-
gdb/testsuite/gdb.base/permissions.exp | 2 +-
gdb/testsuite/gdb.base/pie-execl.c | 2 +-
gdb/testsuite/gdb.base/pie-execl.exp | 2 +-
gdb/testsuite/gdb.base/pie-fork.c | 2 +-
gdb/testsuite/gdb.base/pie-fork.exp | 2 +-
gdb/testsuite/gdb.base/pointers.exp | 2 +-
gdb/testsuite/gdb.base/pr10179.exp | 2 +-
gdb/testsuite/gdb.base/pr11022.c | 2 +-
gdb/testsuite/gdb.base/pr11022.exp | 2 +-
gdb/testsuite/gdb.base/prelink-lib.c | 2 +-
gdb/testsuite/gdb.base/prelink.c | 2 +-
gdb/testsuite/gdb.base/prelink.exp | 2 +-
gdb/testsuite/gdb.base/pretty-print.c | 53 +
gdb/testsuite/gdb.base/pretty-print.exp | 58 +
gdb/testsuite/gdb.base/print-file-var-lib1.c | 2 +-
gdb/testsuite/gdb.base/print-file-var-lib2.c | 2 +-
gdb/testsuite/gdb.base/print-file-var-main.c | 2 +-
gdb/testsuite/gdb.base/print-file-var.exp | 2 +-
gdb/testsuite/gdb.base/print-symbol-loading-lib.c | 2 +-
gdb/testsuite/gdb.base/print-symbol-loading-main.c | 2 +-
gdb/testsuite/gdb.base/print-symbol-loading.exp | 2 +-
gdb/testsuite/gdb.base/printcmds.exp | 2 +-
gdb/testsuite/gdb.base/prologue-include.c | 2 +-
gdb/testsuite/gdb.base/prologue-include.exp | 2 +-
gdb/testsuite/gdb.base/prologue-include.h | 2 +-
gdb/testsuite/gdb.base/prologue.c | 2 +-
gdb/testsuite/gdb.base/prologue.exp | 2 +-
gdb/testsuite/gdb.base/psymtab.exp | 2 +-
gdb/testsuite/gdb.base/ptr-typedef.c | 2 +-
gdb/testsuite/gdb.base/ptr-typedef.exp | 2 +-
gdb/testsuite/gdb.base/ptype-offsets.cc | 2 +-
gdb/testsuite/gdb.base/ptype-offsets.exp | 2 +-
gdb/testsuite/gdb.base/ptype.exp | 2 +-
gdb/testsuite/gdb.base/quit-live.c | 2 +-
gdb/testsuite/gdb.base/quit-live.exp | 2 +-
gdb/testsuite/gdb.base/quit.exp | 2 +-
gdb/testsuite/gdb.base/radix.exp | 2 +-
gdb/testsuite/gdb.base/random-signal.c | 2 +-
gdb/testsuite/gdb.base/random-signal.exp | 2 +-
gdb/testsuite/gdb.base/randomize.c | 2 +-
gdb/testsuite/gdb.base/randomize.exp | 2 +-
gdb/testsuite/gdb.base/range-stepping.c | 2 +-
gdb/testsuite/gdb.base/range-stepping.exp | 2 +-
gdb/testsuite/gdb.base/readline-ask.c | 2 +-
gdb/testsuite/gdb.base/readline-ask.exp | 2 +-
gdb/testsuite/gdb.base/readline-ask.inputrc | 2 +-
gdb/testsuite/gdb.base/readline.exp | 96 +-
gdb/testsuite/gdb.base/readnever.c | 2 +-
gdb/testsuite/gdb.base/readnever.exp | 2 +-
gdb/testsuite/gdb.base/realname-expand-real.c | 2 +-
gdb/testsuite/gdb.base/realname-expand.c | 2 +-
gdb/testsuite/gdb.base/realname-expand.exp | 2 +-
gdb/testsuite/gdb.base/recpar.c | 2 +-
gdb/testsuite/gdb.base/recpar.exp | 2 +-
gdb/testsuite/gdb.base/recurse.exp | 2 +-
gdb/testsuite/gdb.base/reggroups.c | 2 +-
gdb/testsuite/gdb.base/reggroups.exp | 2 +-
gdb/testsuite/gdb.base/relational.exp | 2 +-
gdb/testsuite/gdb.base/relativedebug.c | 2 +-
gdb/testsuite/gdb.base/relativedebug.exp | 2 +-
gdb/testsuite/gdb.base/relocate.c | 2 +-
gdb/testsuite/gdb.base/relocate.exp | 2 +-
gdb/testsuite/gdb.base/remote.exp | 2 +-
gdb/testsuite/gdb.base/remotetimeout.exp | 2 +-
gdb/testsuite/gdb.base/reread-readsym.c | 2 +-
gdb/testsuite/gdb.base/reread-readsym.exp | 2 +-
gdb/testsuite/gdb.base/reread.exp | 2 +-
gdb/testsuite/gdb.base/restore.c | 2 +-
gdb/testsuite/gdb.base/restore.exp | 2 +-
gdb/testsuite/gdb.base/return-nodebug.c | 2 +-
gdb/testsuite/gdb.base/return-nodebug.exp | 2 +-
gdb/testsuite/gdb.base/return-nodebug1.c | 2 +-
gdb/testsuite/gdb.base/return.c | 2 +-
gdb/testsuite/gdb.base/return.exp | 2 +-
gdb/testsuite/gdb.base/return2.exp | 2 +-
gdb/testsuite/gdb.base/run-after-attach.c | 2 +-
gdb/testsuite/gdb.base/run-after-attach.exp | 2 +-
gdb/testsuite/gdb.base/save-bp.c | 2 +-
gdb/testsuite/gdb.base/save-bp.exp | 2 +-
gdb/testsuite/gdb.base/savedregs.c | 2 +-
gdb/testsuite/gdb.base/savedregs.exp | 2 +-
gdb/testsuite/gdb.base/scope.exp | 2 +-
gdb/testsuite/gdb.base/sect-cmd.exp | 2 +-
gdb/testsuite/gdb.base/segv.c | 2 +-
gdb/testsuite/gdb.base/sep-proc.c | 2 +-
gdb/testsuite/gdb.base/sep.c | 2 +-
gdb/testsuite/gdb.base/sep.exp | 2 +-
gdb/testsuite/gdb.base/sepdebug.c | 2 +-
gdb/testsuite/gdb.base/sepdebug.exp | 2 +-
gdb/testsuite/gdb.base/sepdebug2.c | 2 +-
gdb/testsuite/gdb.base/sepsymtab.c | 2 +-
gdb/testsuite/gdb.base/sepsymtab.exp | 2 +-
gdb/testsuite/gdb.base/server-del-break.c | 2 +-
gdb/testsuite/gdb.base/server-del-break.exp | 2 +-
gdb/testsuite/gdb.base/set-cwd.c | 2 +-
gdb/testsuite/gdb.base/set-cwd.exp | 2 +-
gdb/testsuite/gdb.base/set-inferior-tty.c | 2 +-
gdb/testsuite/gdb.base/set-inferior-tty.exp | 2 +-
gdb/testsuite/gdb.base/set-lang-auto.exp | 2 +-
gdb/testsuite/gdb.base/set-noassign.exp | 2 +-
gdb/testsuite/gdb.base/setshow.exp | 2 +-
gdb/testsuite/gdb.base/setvar.exp | 2 +-
gdb/testsuite/gdb.base/share-env-with-gdbserver.c | 2 +-
.../gdb.base/share-env-with-gdbserver.exp | 2 +-
gdb/testsuite/gdb.base/shell.exp | 2 +-
gdb/testsuite/gdb.base/shlib-call.exp | 2 +-
gdb/testsuite/gdb.base/shreloc.exp | 2 +-
gdb/testsuite/gdb.base/sigall.exp | 2 +-
gdb/testsuite/gdb.base/sigaltstack.c | 2 +-
gdb/testsuite/gdb.base/sigaltstack.exp | 2 +-
gdb/testsuite/gdb.base/sigbpt.c | 2 +-
gdb/testsuite/gdb.base/sigbpt.exp | 2 +-
gdb/testsuite/gdb.base/sigchld.c | 2 +-
gdb/testsuite/gdb.base/sigchld.exp | 2 +-
gdb/testsuite/gdb.base/siginfo-addr.c | 2 +-
gdb/testsuite/gdb.base/siginfo-addr.exp | 2 +-
gdb/testsuite/gdb.base/siginfo-infcall.c | 2 +-
gdb/testsuite/gdb.base/siginfo-infcall.exp | 2 +-
gdb/testsuite/gdb.base/siginfo-obj.c | 2 +-
gdb/testsuite/gdb.base/siginfo-obj.exp | 2 +-
gdb/testsuite/gdb.base/siginfo-thread.c | 2 +-
gdb/testsuite/gdb.base/siginfo-thread.exp | 2 +-
gdb/testsuite/gdb.base/siginfo.c | 2 +-
gdb/testsuite/gdb.base/siginfo.exp | 2 +-
gdb/testsuite/gdb.base/signals-state-child.c | 2 +-
gdb/testsuite/gdb.base/signals-state-child.exp | 2 +-
gdb/testsuite/gdb.base/signals.exp | 2 +-
gdb/testsuite/gdb.base/signest.c | 2 +-
gdb/testsuite/gdb.base/signest.exp | 2 +-
gdb/testsuite/gdb.base/signull.c | 2 +-
gdb/testsuite/gdb.base/signull.exp | 2 +-
gdb/testsuite/gdb.base/sigrepeat.c | 2 +-
gdb/testsuite/gdb.base/sigrepeat.exp | 2 +-
gdb/testsuite/gdb.base/sigstep.c | 2 +-
gdb/testsuite/gdb.base/sigstep.exp | 2 +-
gdb/testsuite/gdb.base/sizeof.exp | 2 +-
gdb/testsuite/gdb.base/skip-solib.exp | 2 +-
gdb/testsuite/gdb.base/skip.c | 2 +-
gdb/testsuite/gdb.base/skip.exp | 38 +-
gdb/testsuite/gdb.base/skip1.c | 2 +-
gdb/testsuite/gdb.base/so-disc-shr.c | 2 +-
gdb/testsuite/gdb.base/so-impl-ld.exp | 2 +-
gdb/testsuite/gdb.base/solib-corrupted.exp | 2 +-
gdb/testsuite/gdb.base/solib-disc.c | 2 +-
gdb/testsuite/gdb.base/solib-disc.exp | 2 +-
gdb/testsuite/gdb.base/solib-display-lib.c | 2 +-
gdb/testsuite/gdb.base/solib-display-main.c | 2 +-
gdb/testsuite/gdb.base/solib-display.exp | 2 +-
gdb/testsuite/gdb.base/solib-nodir.exp | 2 +-
gdb/testsuite/gdb.base/solib-overlap-lib.c | 2 +-
gdb/testsuite/gdb.base/solib-overlap-main.c | 2 +-
gdb/testsuite/gdb.base/solib-overlap.exp | 2 +-
gdb/testsuite/gdb.base/solib-search-lib1.c | 2 +-
gdb/testsuite/gdb.base/solib-search-lib2.c | 2 +-
gdb/testsuite/gdb.base/solib-search.c | 2 +-
gdb/testsuite/gdb.base/solib-search.exp | 2 +-
gdb/testsuite/gdb.base/solib-search.h | 2 +-
gdb/testsuite/gdb.base/solib-symbol-lib.c | 2 +-
gdb/testsuite/gdb.base/solib-symbol-main.c | 2 +-
gdb/testsuite/gdb.base/solib-symbol.exp | 2 +-
gdb/testsuite/gdb.base/solib-vanish-lib1.c | 2 +-
gdb/testsuite/gdb.base/solib-vanish-lib2.c | 2 +-
gdb/testsuite/gdb.base/solib-vanish-main.c | 2 +-
gdb/testsuite/gdb.base/solib-vanish.exp | 2 +-
gdb/testsuite/gdb.base/solib-weak.c | 2 +-
gdb/testsuite/gdb.base/solib-weak.exp | 2 +-
gdb/testsuite/gdb.base/source-dir.exp | 2 +-
gdb/testsuite/gdb.base/source-error-1.gdb | 22 +
gdb/testsuite/gdb.base/source-error.gdb | 6 +-
gdb/testsuite/gdb.base/source-execution.c | 2 +-
gdb/testsuite/gdb.base/source-execution.exp | 2 +-
gdb/testsuite/gdb.base/source-execution.gdb | 2 +-
gdb/testsuite/gdb.base/source-nofile.gdb | 2 +-
gdb/testsuite/gdb.base/source-test.gdb | 2 +-
gdb/testsuite/gdb.base/source.exp | 18 +-
gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.c | 2 +-
gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp | 2 +-
gdb/testsuite/gdb.base/sss-bp-on-user-bp.c | 2 +-
gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp | 2 +-
gdb/testsuite/gdb.base/stack-checking.c | 2 +-
gdb/testsuite/gdb.base/stack-checking.exp | 2 +-
gdb/testsuite/gdb.base/stack-protector.c | 28 +
gdb/testsuite/gdb.base/stack-protector.exp | 68 +
gdb/testsuite/gdb.base/stale-infcall.c | 2 +-
gdb/testsuite/gdb.base/stale-infcall.exp | 2 +-
gdb/testsuite/gdb.base/stap-probe.c | 2 +-
gdb/testsuite/gdb.base/stap-probe.exp | 2 +-
gdb/testsuite/gdb.base/start.c | 2 +-
gdb/testsuite/gdb.base/start.exp | 2 +-
gdb/testsuite/gdb.base/starti.c | 2 +-
gdb/testsuite/gdb.base/starti.exp | 2 +-
gdb/testsuite/gdb.base/startup-with-shell.c | 2 +-
gdb/testsuite/gdb.base/startup-with-shell.exp | 2 +-
gdb/testsuite/gdb.base/statistics.exp | 2 +-
gdb/testsuite/gdb.base/step-break.c | 2 +-
gdb/testsuite/gdb.base/step-break.exp | 2 +-
gdb/testsuite/gdb.base/step-bt.c | 2 +-
gdb/testsuite/gdb.base/step-bt.exp | 2 +-
gdb/testsuite/gdb.base/step-indirect-call-thunk.c | 2 +-
.../gdb.base/step-indirect-call-thunk.exp | 2 +-
gdb/testsuite/gdb.base/step-line.c | 2 +-
gdb/testsuite/gdb.base/step-line.exp | 2 +-
gdb/testsuite/gdb.base/step-line.inp | 2 +-
gdb/testsuite/gdb.base/step-over-clone.c | 2 +-
gdb/testsuite/gdb.base/step-over-exit.c | 2 +-
gdb/testsuite/gdb.base/step-over-exit.exp | 2 +-
gdb/testsuite/gdb.base/step-over-fork.c | 2 +-
gdb/testsuite/gdb.base/step-over-no-symbols.exp | 2 +-
gdb/testsuite/gdb.base/step-over-syscall.exp | 2 +-
gdb/testsuite/gdb.base/step-over-vfork.c | 2 +-
gdb/testsuite/gdb.base/step-resume-infcall.c | 2 +-
gdb/testsuite/gdb.base/step-resume-infcall.exp | 2 +-
.../gdb.base/step-sw-breakpoint-adjust-pc.c | 2 +-
.../gdb.base/step-sw-breakpoint-adjust-pc.exp | 2 +-
gdb/testsuite/gdb.base/step-symless.c | 2 +-
gdb/testsuite/gdb.base/step-symless.exp | 2 +-
gdb/testsuite/gdb.base/step-test.exp | 2 +-
gdb/testsuite/gdb.base/store.exp | 2 +-
gdb/testsuite/gdb.base/structs.c | 2 +-
gdb/testsuite/gdb.base/structs.exp | 2 +-
gdb/testsuite/gdb.base/structs2.exp | 2 +-
gdb/testsuite/gdb.base/structs3.c | 2 +-
gdb/testsuite/gdb.base/structs3.exp | 2 +-
gdb/testsuite/gdb.base/style.c | 22 +
gdb/testsuite/gdb.base/style.exp | 96 +
gdb/testsuite/gdb.base/subst.exp | 2 +-
gdb/testsuite/gdb.base/sym-file-lib.c | 2 +-
gdb/testsuite/gdb.base/sym-file-loader.c | 2 +-
gdb/testsuite/gdb.base/sym-file-loader.h | 2 +-
gdb/testsuite/gdb.base/sym-file-main.c | 2 +-
gdb/testsuite/gdb.base/sym-file.exp | 2 +-
gdb/testsuite/gdb.base/symbol-alias.c | 2 +-
gdb/testsuite/gdb.base/symbol-alias.exp | 2 +-
gdb/testsuite/gdb.base/symbol-alias2.c | 2 +-
.../gdb.base/symbol-without-target_section.c | 2 +-
.../gdb.base/symbol-without-target_section.exp | 2 +-
gdb/testsuite/gdb.base/symlink-sourcefile.c | 26 +
gdb/testsuite/gdb.base/symlink-sourcefile.exp | 45 +
gdb/testsuite/gdb.base/symtab-search-order-1.c | 2 +-
.../gdb.base/symtab-search-order-shlib-1.c | 2 +-
gdb/testsuite/gdb.base/symtab-search-order.c | 2 +-
gdb/testsuite/gdb.base/symtab-search-order.exp | 2 +-
gdb/testsuite/gdb.base/term.c | 2 +-
gdb/testsuite/gdb.base/term.exp | 2 +-
gdb/testsuite/gdb.base/testenv.c | 2 +-
gdb/testsuite/gdb.base/testenv.exp | 2 +-
gdb/testsuite/gdb.base/trace-commands.exp | 2 +-
gdb/testsuite/gdb.base/twice.exp | 2 +-
gdb/testsuite/gdb.base/type-opaque-lib.c | 2 +-
gdb/testsuite/gdb.base/type-opaque-main.c | 2 +-
gdb/testsuite/gdb.base/type-opaque.exp | 2 +-
gdb/testsuite/gdb.base/ui-redirect.exp | 2 +-
gdb/testsuite/gdb.base/unload.c | 2 +-
gdb/testsuite/gdb.base/unload.exp | 2 +-
gdb/testsuite/gdb.base/unloadshr.c | 2 +-
gdb/testsuite/gdb.base/unloadshr2.c | 2 +-
gdb/testsuite/gdb.base/until-nodebug.exp | 2 +-
gdb/testsuite/gdb.base/until.exp | 2 +-
gdb/testsuite/gdb.base/unwindonsignal.c | 2 +-
gdb/testsuite/gdb.base/unwindonsignal.exp | 2 +-
gdb/testsuite/gdb.base/utf8-identifiers.c | 2 +-
gdb/testsuite/gdb.base/utf8-identifiers.exp | 2 +-
gdb/testsuite/gdb.base/valgrind-bt.c | 2 +-
gdb/testsuite/gdb.base/valgrind-bt.exp | 2 +-
gdb/testsuite/gdb.base/valgrind-disp-step.c | 2 +-
gdb/testsuite/gdb.base/valgrind-disp-step.exp | 2 +-
gdb/testsuite/gdb.base/valgrind-infcall.c | 2 +-
gdb/testsuite/gdb.base/valgrind-infcall.exp | 2 +-
gdb/testsuite/gdb.base/value-double-free.c | 2 +-
gdb/testsuite/gdb.base/value-double-free.exp | 2 +-
gdb/testsuite/gdb.base/varargs.exp | 2 +-
gdb/testsuite/gdb.base/vdso-warning.c | 2 +-
gdb/testsuite/gdb.base/vdso-warning.exp | 2 +-
gdb/testsuite/gdb.base/vforked-prog.c | 2 +-
gdb/testsuite/gdb.base/vla-datatypes.c | 2 +-
gdb/testsuite/gdb.base/vla-datatypes.exp | 2 +-
gdb/testsuite/gdb.base/vla-optimized-out.c | 2 +-
gdb/testsuite/gdb.base/vla-optimized-out.exp | 2 +-
gdb/testsuite/gdb.base/vla-ptr.c | 2 +-
gdb/testsuite/gdb.base/vla-ptr.exp | 2 +-
gdb/testsuite/gdb.base/vla-sideeffect.c | 2 +-
gdb/testsuite/gdb.base/vla-sideeffect.exp | 2 +-
gdb/testsuite/gdb.base/vla-stub-define.c | 2 +-
gdb/testsuite/gdb.base/vla-stub.c | 2 +-
gdb/testsuite/gdb.base/vla-stub.exp | 2 +-
gdb/testsuite/gdb.base/volatile.exp | 2 +-
gdb/testsuite/gdb.base/warning.exp | 36 +
gdb/testsuite/gdb.base/watch-bitfields.c | 2 +-
gdb/testsuite/gdb.base/watch-bitfields.exp | 2 +-
gdb/testsuite/gdb.base/watch-cond-infcall.c | 2 +-
gdb/testsuite/gdb.base/watch-cond-infcall.exp | 2 +-
gdb/testsuite/gdb.base/watch-cond.c | 2 +-
gdb/testsuite/gdb.base/watch-cond.exp | 2 +-
gdb/testsuite/gdb.base/watch-non-mem.c | 2 +-
gdb/testsuite/gdb.base/watch-non-mem.exp | 2 +-
gdb/testsuite/gdb.base/watch-read.c | 2 +-
gdb/testsuite/gdb.base/watch-read.exp | 2 +-
gdb/testsuite/gdb.base/watch-vfork.c | 2 +-
gdb/testsuite/gdb.base/watch-vfork.exp | 2 +-
gdb/testsuite/gdb.base/watch_thread_num.c | 2 +-
gdb/testsuite/gdb.base/watch_thread_num.exp | 2 +-
.../gdb.base/watchpoint-cond-gone-stripped.c | 2 +-
gdb/testsuite/gdb.base/watchpoint-cond-gone.c | 2 +-
gdb/testsuite/gdb.base/watchpoint-cond-gone.exp | 2 +-
gdb/testsuite/gdb.base/watchpoint-delete.c | 2 +-
gdb/testsuite/gdb.base/watchpoint-delete.exp | 2 +-
gdb/testsuite/gdb.base/watchpoint-hw-attach.c | 2 +-
gdb/testsuite/gdb.base/watchpoint-hw-attach.exp | 2 +-
gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c | 2 +-
gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp | 2 +-
gdb/testsuite/gdb.base/watchpoint-hw.c | 2 +-
gdb/testsuite/gdb.base/watchpoint-hw.exp | 2 +-
gdb/testsuite/gdb.base/watchpoint-reuse-slot.c | 2 +-
gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp | 2 +-
gdb/testsuite/gdb.base/watchpoint-solib-shr.c | 2 +-
gdb/testsuite/gdb.base/watchpoint-solib.c | 2 +-
gdb/testsuite/gdb.base/watchpoint-solib.exp | 2 +-
.../gdb.base/watchpoint-stops-at-right-insn.c | 2 +-
.../gdb.base/watchpoint-stops-at-right-insn.exp | 2 +-
gdb/testsuite/gdb.base/watchpoint-unaligned.c | 2 +-
gdb/testsuite/gdb.base/watchpoint-unaligned.exp | 2 +-
gdb/testsuite/gdb.base/watchpoint.exp | 2 +-
gdb/testsuite/gdb.base/watchpoints.c | 2 +-
gdb/testsuite/gdb.base/watchpoints.exp | 2 +-
gdb/testsuite/gdb.base/wchar.c | 2 +-
gdb/testsuite/gdb.base/wchar.exp | 2 +-
gdb/testsuite/gdb.base/weaklib1.c | 2 +-
gdb/testsuite/gdb.base/weaklib2.c | 2 +-
gdb/testsuite/gdb.base/whatis-exp.exp | 2 +-
gdb/testsuite/gdb.base/whatis-ptype-typedefs.c | 2 +-
gdb/testsuite/gdb.base/whatis-ptype-typedefs.exp | 2 +-
gdb/testsuite/gdb.base/whatis.c | 2 +-
gdb/testsuite/gdb.base/whatis.exp | 2 +-
gdb/testsuite/gdb.base/write_mem.c | 2 +-
gdb/testsuite/gdb.base/write_mem.exp | 2 +-
gdb/testsuite/gdb.base/wrong_frame_bt_full-main.c | 2 +-
.../gdb.base/wrong_frame_bt_full-opaque.c | 2 +-
gdb/testsuite/gdb.base/wrong_frame_bt_full.exp | 2 +-
gdb/testsuite/gdb.btrace/buffer-size.exp | 2 +-
gdb/testsuite/gdb.btrace/cpu.exp | 2 +-
gdb/testsuite/gdb.btrace/data.c | 2 +-
gdb/testsuite/gdb.btrace/data.exp | 2 +-
gdb/testsuite/gdb.btrace/delta.exp | 2 +-
gdb/testsuite/gdb.btrace/dlopen-dso.c | 2 +-
gdb/testsuite/gdb.btrace/dlopen.c | 2 +-
gdb/testsuite/gdb.btrace/dlopen.exp | 2 +-
gdb/testsuite/gdb.btrace/enable-running.c | 2 +-
gdb/testsuite/gdb.btrace/enable-running.exp | 2 +-
gdb/testsuite/gdb.btrace/enable.c | 2 +-
gdb/testsuite/gdb.btrace/enable.exp | 2 +-
gdb/testsuite/gdb.btrace/exception.cc | 2 +-
gdb/testsuite/gdb.btrace/exception.exp | 2 +-
gdb/testsuite/gdb.btrace/function_call_history.c | 2 +-
gdb/testsuite/gdb.btrace/function_call_history.exp | 2 +-
gdb/testsuite/gdb.btrace/gcore.exp | 2 +-
gdb/testsuite/gdb.btrace/i686-record_goto.S | 2 +-
gdb/testsuite/gdb.btrace/i686-tailcall-only.S | 2 +-
gdb/testsuite/gdb.btrace/i686-tailcall.S | 2 +-
gdb/testsuite/gdb.btrace/instruction_history.S | 2 +-
gdb/testsuite/gdb.btrace/instruction_history.c | 2 +-
gdb/testsuite/gdb.btrace/instruction_history.exp | 2 +-
gdb/testsuite/gdb.btrace/multi-thread-step.c | 2 +-
gdb/testsuite/gdb.btrace/multi-thread-step.exp | 2 +-
gdb/testsuite/gdb.btrace/nohist.exp | 2 +-
gdb/testsuite/gdb.btrace/non-stop.c | 2 +-
gdb/testsuite/gdb.btrace/non-stop.exp | 2 +-
gdb/testsuite/gdb.btrace/reconnect.c | 2 +-
gdb/testsuite/gdb.btrace/reconnect.exp | 2 +-
gdb/testsuite/gdb.btrace/record_goto-step.exp | 2 +-
gdb/testsuite/gdb.btrace/record_goto.c | 2 +-
gdb/testsuite/gdb.btrace/record_goto.exp | 2 +-
gdb/testsuite/gdb.btrace/rn-dl-bind.c | 2 +-
gdb/testsuite/gdb.btrace/rn-dl-bind.exp | 2 +-
gdb/testsuite/gdb.btrace/segv.c | 2 +-
gdb/testsuite/gdb.btrace/segv.exp | 2 +-
gdb/testsuite/gdb.btrace/step.exp | 2 +-
gdb/testsuite/gdb.btrace/stepi.exp | 2 +-
gdb/testsuite/gdb.btrace/tailcall-only.c | 2 +-
gdb/testsuite/gdb.btrace/tailcall-only.exp | 2 +-
gdb/testsuite/gdb.btrace/tailcall.c | 2 +-
gdb/testsuite/gdb.btrace/tailcall.exp | 2 +-
gdb/testsuite/gdb.btrace/tsx.c | 2 +-
gdb/testsuite/gdb.btrace/tsx.exp | 2 +-
gdb/testsuite/gdb.btrace/unknown_functions.c | 2 +-
gdb/testsuite/gdb.btrace/unknown_functions.exp | 2 +-
gdb/testsuite/gdb.btrace/vdso.c | 2 +-
gdb/testsuite/gdb.btrace/vdso.exp | 2 +-
gdb/testsuite/gdb.btrace/x86-tsx.S | 2 +-
gdb/testsuite/gdb.btrace/x86_64-record_goto.S | 2 +-
gdb/testsuite/gdb.btrace/x86_64-tailcall-only.S | 2 +-
gdb/testsuite/gdb.btrace/x86_64-tailcall.S | 2 +-
gdb/testsuite/gdb.cell/arch.exp | 2 +-
gdb/testsuite/gdb.cell/break-spu.c | 2 +-
gdb/testsuite/gdb.cell/break.c | 2 +-
gdb/testsuite/gdb.cell/break.exp | 2 +-
gdb/testsuite/gdb.cell/bt-spu.c | 2 +-
gdb/testsuite/gdb.cell/bt.c | 2 +-
gdb/testsuite/gdb.cell/bt.exp | 2 +-
gdb/testsuite/gdb.cell/bt2-spu.c | 2 +-
gdb/testsuite/gdb.cell/core.exp | 2 +-
gdb/testsuite/gdb.cell/coremaker-spu.c | 2 +-
gdb/testsuite/gdb.cell/coremaker.c | 2 +-
gdb/testsuite/gdb.cell/data-spu.c | 2 +-
gdb/testsuite/gdb.cell/data.c | 2 +-
gdb/testsuite/gdb.cell/data.exp | 2 +-
gdb/testsuite/gdb.cell/dwarfaddr.S | 2 +-
gdb/testsuite/gdb.cell/dwarfaddr.exp | 2 +-
gdb/testsuite/gdb.cell/ea-cache-spu.c | 2 +-
gdb/testsuite/gdb.cell/ea-cache.c | 2 +-
gdb/testsuite/gdb.cell/ea-cache.exp | 2 +-
gdb/testsuite/gdb.cell/ea-standalone.c | 2 +-
gdb/testsuite/gdb.cell/ea-standalone.exp | 2 +-
gdb/testsuite/gdb.cell/ea-test.c | 2 +-
gdb/testsuite/gdb.cell/ea-test.exp | 2 +-
gdb/testsuite/gdb.cell/f-regs.exp | 2 +-
gdb/testsuite/gdb.cell/fork-spu.c | 2 +-
gdb/testsuite/gdb.cell/fork.c | 2 +-
gdb/testsuite/gdb.cell/fork.exp | 2 +-
gdb/testsuite/gdb.cell/gcore.exp | 2 +-
gdb/testsuite/gdb.cell/mem-access-spu.c | 2 +-
gdb/testsuite/gdb.cell/mem-access.c | 2 +-
gdb/testsuite/gdb.cell/mem-access.exp | 2 +-
gdb/testsuite/gdb.cell/ptype.exp | 2 +-
gdb/testsuite/gdb.cell/registers.exp | 2 +-
gdb/testsuite/gdb.cell/size-spu.c | 2 +-
gdb/testsuite/gdb.cell/size.c | 2 +-
gdb/testsuite/gdb.cell/sizeof.exp | 2 +-
gdb/testsuite/gdb.cell/solib-symbol.exp | 2 +-
gdb/testsuite/gdb.cell/solib.exp | 2 +-
gdb/testsuite/gdb.compile/compile-constvar.S | 2 +-
gdb/testsuite/gdb.compile/compile-constvar.c | 2 +-
.../gdb.compile/compile-cplus-anonymous.cc | 2 +-
.../gdb.compile/compile-cplus-anonymous.exp | 2 +-
.../gdb.compile/compile-cplus-array-decay.cc | 2 +-
.../gdb.compile/compile-cplus-array-decay.exp | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-inherit.cc | 2 +-
.../gdb.compile/compile-cplus-inherit.exp | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-member.cc | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-member.exp | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-method.cc | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-method.exp | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-mod.c | 2 +-
.../gdb.compile/compile-cplus-namespace.cc | 2 +-
.../gdb.compile/compile-cplus-namespace.exp | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-nested.cc | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-nested.exp | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-print.c | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-print.exp | 2 +-
gdb/testsuite/gdb.compile/compile-cplus-virtual.cc | 2 +-
.../gdb.compile/compile-cplus-virtual.exp | 2 +-
gdb/testsuite/gdb.compile/compile-cplus.c | 2 +-
gdb/testsuite/gdb.compile/compile-cplus.exp | 2 +-
gdb/testsuite/gdb.compile/compile-ifunc.c | 2 +-
gdb/testsuite/gdb.compile/compile-ifunc.exp | 2 +-
gdb/testsuite/gdb.compile/compile-mod.c | 2 +-
gdb/testsuite/gdb.compile/compile-nodebug.c | 2 +-
gdb/testsuite/gdb.compile/compile-ops.c | 2 +-
gdb/testsuite/gdb.compile/compile-ops.exp | 2 +-
gdb/testsuite/gdb.compile/compile-print.c | 2 +-
gdb/testsuite/gdb.compile/compile-print.exp | 2 +-
gdb/testsuite/gdb.compile/compile-setjmp-mod.c | 2 +-
gdb/testsuite/gdb.compile/compile-setjmp.c | 2 +-
gdb/testsuite/gdb.compile/compile-setjmp.exp | 2 +-
gdb/testsuite/gdb.compile/compile-shlib.c | 2 +-
gdb/testsuite/gdb.compile/compile-tls.c | 2 +-
gdb/testsuite/gdb.compile/compile-tls.exp | 2 +-
gdb/testsuite/gdb.compile/compile.c | 2 +-
gdb/testsuite/gdb.compile/compile.exp | 2 +-
gdb/testsuite/gdb.cp/abstract-origin.cc | 2 +-
gdb/testsuite/gdb.cp/abstract-origin.exp | 2 +-
gdb/testsuite/gdb.cp/align.exp | 2 +-
gdb/testsuite/gdb.cp/ambiguous.exp | 2 +-
gdb/testsuite/gdb.cp/annota2.exp | 2 +-
gdb/testsuite/gdb.cp/annota3.exp | 2 +-
gdb/testsuite/gdb.cp/anon-ns.cc | 2 +-
gdb/testsuite/gdb.cp/anon-ns.exp | 2 +-
gdb/testsuite/gdb.cp/anon-ns2.cc | 2 +-
gdb/testsuite/gdb.cp/anon-struct.cc | 2 +-
gdb/testsuite/gdb.cp/anon-struct.exp | 2 +-
gdb/testsuite/gdb.cp/anon-union.exp | 2 +-
gdb/testsuite/gdb.cp/arg-reference.cc | 2 +-
gdb/testsuite/gdb.cp/arg-reference.exp | 2 +-
gdb/testsuite/gdb.cp/baseenum.cc | 2 +-
gdb/testsuite/gdb.cp/baseenum.exp | 2 +-
gdb/testsuite/gdb.cp/bool.cc | 2 +-
gdb/testsuite/gdb.cp/bool.exp | 2 +-
gdb/testsuite/gdb.cp/breakpoint.cc | 2 +-
gdb/testsuite/gdb.cp/breakpoint.exp | 2 +-
gdb/testsuite/gdb.cp/bs15503.cc | 2 +-
gdb/testsuite/gdb.cp/bs15503.exp | 2 +-
gdb/testsuite/gdb.cp/call-c-1.c | 2 +-
gdb/testsuite/gdb.cp/call-c.cc | 2 +-
gdb/testsuite/gdb.cp/call-c.exp | 2 +-
gdb/testsuite/gdb.cp/casts.exp | 2 +-
gdb/testsuite/gdb.cp/casts03.cc | 2 +-
gdb/testsuite/gdb.cp/chained-calls.cc | 2 +-
gdb/testsuite/gdb.cp/chained-calls.exp | 2 +-
gdb/testsuite/gdb.cp/class2.cc | 2 +-
gdb/testsuite/gdb.cp/class2.exp | 2 +-
gdb/testsuite/gdb.cp/classes.cc | 2 +-
gdb/testsuite/gdb.cp/classes.exp | 2 +-
gdb/testsuite/gdb.cp/cmpd-minsyms.cc | 2 +-
gdb/testsuite/gdb.cp/cmpd-minsyms.exp | 2 +-
gdb/testsuite/gdb.cp/converts.exp | 2 +-
gdb/testsuite/gdb.cp/cp-relocate.cc | 2 +-
gdb/testsuite/gdb.cp/cp-relocate.exp | 2 +-
gdb/testsuite/gdb.cp/cpcompletion.exp | 2 +-
gdb/testsuite/gdb.cp/cpexprs.cc | 2 +-
gdb/testsuite/gdb.cp/cpexprs.exp | 2 +-
gdb/testsuite/gdb.cp/cplabel.cc | 2 +-
gdb/testsuite/gdb.cp/cplabel.exp | 2 +-
gdb/testsuite/gdb.cp/cplusfuncs.exp | 2 +-
gdb/testsuite/gdb.cp/cpsizeof.cc | 2 +-
gdb/testsuite/gdb.cp/cpsizeof.exp | 2 +-
gdb/testsuite/gdb.cp/ctti.exp | 2 +-
gdb/testsuite/gdb.cp/cttiadd.cc | 2 +-
gdb/testsuite/gdb.cp/cttiadd1.cc | 2 +-
gdb/testsuite/gdb.cp/cttiadd2.cc | 2 +-
gdb/testsuite/gdb.cp/cttiadd3.cc | 2 +-
gdb/testsuite/gdb.cp/debug-expr.exp | 2 +-
gdb/testsuite/gdb.cp/demangle.exp | 1421 +--
gdb/testsuite/gdb.cp/derivation.cc | 2 +-
gdb/testsuite/gdb.cp/derivation.exp | 2 +-
gdb/testsuite/gdb.cp/derivation2.cc | 2 +-
gdb/testsuite/gdb.cp/destrprint.exp | 2 +-
gdb/testsuite/gdb.cp/dispcxx.cc | 2 +-
gdb/testsuite/gdb.cp/dispcxx.exp | 2 +-
gdb/testsuite/gdb.cp/ena-dis-br-range.cc | 2 +-
gdb/testsuite/gdb.cp/ena-dis-br-range.exp | 2 +-
gdb/testsuite/gdb.cp/enum-class.cc | 2 +-
gdb/testsuite/gdb.cp/enum-class.exp | 2 +-
gdb/testsuite/gdb.cp/exception.cc | 2 +-
gdb/testsuite/gdb.cp/exception.exp | 2 +-
gdb/testsuite/gdb.cp/exceptprint.cc | 2 +-
gdb/testsuite/gdb.cp/exceptprint.exp | 2 +-
gdb/testsuite/gdb.cp/expand-psymtabs-cxx.cc | 2 +-
gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp | 2 +-
gdb/testsuite/gdb.cp/expand-sals.cc | 2 +-
gdb/testsuite/gdb.cp/expand-sals.exp | 2 +-
gdb/testsuite/gdb.cp/extern-c.cc | 2 +-
gdb/testsuite/gdb.cp/extern-c.exp | 2 +-
gdb/testsuite/gdb.cp/filename.cc | 2 +-
gdb/testsuite/gdb.cp/filename.exp | 2 +-
gdb/testsuite/gdb.cp/formatted-ref.cc | 2 +-
gdb/testsuite/gdb.cp/formatted-ref.exp | 2 +-
gdb/testsuite/gdb.cp/fpointer.exp | 2 +-
gdb/testsuite/gdb.cp/gdb1355.exp | 2 +-
gdb/testsuite/gdb.cp/gdb2384-base.cc | 2 +-
gdb/testsuite/gdb.cp/gdb2384-base.h | 2 +-
gdb/testsuite/gdb.cp/gdb2384.cc | 2 +-
gdb/testsuite/gdb.cp/gdb2384.exp | 2 +-
gdb/testsuite/gdb.cp/gdb2495.cc | 2 +-
gdb/testsuite/gdb.cp/gdb2495.exp | 2 +-
gdb/testsuite/gdb.cp/hang.exp | 2 +-
gdb/testsuite/gdb.cp/impl-this.cc | 2 +-
gdb/testsuite/gdb.cp/impl-this.exp | 2 +-
gdb/testsuite/gdb.cp/includefile | 2 +-
gdb/testsuite/gdb.cp/infcall-dlopen-lib.cc | 2 +-
gdb/testsuite/gdb.cp/infcall-dlopen.cc | 2 +-
gdb/testsuite/gdb.cp/infcall-dlopen.exp | 2 +-
gdb/testsuite/gdb.cp/infcall-nodebug-lib.c | 22 +
gdb/testsuite/gdb.cp/infcall-nodebug-main.c | 24 +
gdb/testsuite/gdb.cp/infcall-nodebug.exp | 119 +
gdb/testsuite/gdb.cp/inherit.exp | 2 +-
gdb/testsuite/gdb.cp/iostream.cc | 2 +-
gdb/testsuite/gdb.cp/iostream.exp | 2 +-
gdb/testsuite/gdb.cp/koenig.exp | 2 +-
gdb/testsuite/gdb.cp/local-static.c | 2 +-
gdb/testsuite/gdb.cp/local-static.exp | 2 +-
gdb/testsuite/gdb.cp/local.exp | 2 +-
gdb/testsuite/gdb.cp/m-data.exp | 2 +-
gdb/testsuite/gdb.cp/m-static.exp | 2 +-
gdb/testsuite/gdb.cp/maint.exp | 2 +-
gdb/testsuite/gdb.cp/mb-ctor.exp | 2 +-
gdb/testsuite/gdb.cp/mb-inline.exp | 2 +-
gdb/testsuite/gdb.cp/mb-inline.h | 2 +-
gdb/testsuite/gdb.cp/mb-inline1.cc | 2 +-
gdb/testsuite/gdb.cp/mb-inline2.cc | 2 +-
gdb/testsuite/gdb.cp/mb-templates.exp | 2 +-
gdb/testsuite/gdb.cp/member-name.cc | 2 +-
gdb/testsuite/gdb.cp/member-name.exp | 2 +-
gdb/testsuite/gdb.cp/member-ptr.cc | 2 +-
gdb/testsuite/gdb.cp/member-ptr.exp | 2 +-
gdb/testsuite/gdb.cp/meth-typedefs.cc | 2 +-
gdb/testsuite/gdb.cp/meth-typedefs.exp | 2 +-
gdb/testsuite/gdb.cp/method.exp | 2 +-
gdb/testsuite/gdb.cp/method2.exp | 2 +-
gdb/testsuite/gdb.cp/minsym-fallback-main.cc | 2 +-
gdb/testsuite/gdb.cp/minsym-fallback.cc | 2 +-
gdb/testsuite/gdb.cp/minsym-fallback.exp | 2 +-
gdb/testsuite/gdb.cp/minsym-fallback.h | 2 +-
gdb/testsuite/gdb.cp/misc.cc | 2 +-
gdb/testsuite/gdb.cp/misc.exp | 2 +-
gdb/testsuite/gdb.cp/namelessclass.S | 2 +-
gdb/testsuite/gdb.cp/namelessclass.cc | 2 +-
gdb/testsuite/gdb.cp/namelessclass.exp | 2 +-
gdb/testsuite/gdb.cp/namespace-enum.exp | 2 +-
gdb/testsuite/gdb.cp/namespace-nested-import.exp | 2 +-
gdb/testsuite/gdb.cp/namespace.exp | 2 +-
gdb/testsuite/gdb.cp/namespace1.cc | 2 +-
gdb/testsuite/gdb.cp/nested-types.cc | 2 +-
gdb/testsuite/gdb.cp/nested-types.exp | 2 +-
gdb/testsuite/gdb.cp/nextoverthrow.cc | 2 +-
gdb/testsuite/gdb.cp/nextoverthrow.exp | 2 +-
gdb/testsuite/gdb.cp/no-dmgl-verbose.cc | 2 +-
gdb/testsuite/gdb.cp/no-dmgl-verbose.exp | 2 +-
gdb/testsuite/gdb.cp/non-trivial-retval.cc | 2 +-
gdb/testsuite/gdb.cp/non-trivial-retval.exp | 2 +-
gdb/testsuite/gdb.cp/noparam.cc | 2 +-
gdb/testsuite/gdb.cp/noparam.exp | 2 +-
gdb/testsuite/gdb.cp/nsalias.cc | 2 +-
gdb/testsuite/gdb.cp/nsalias.exp | 2 +-
gdb/testsuite/gdb.cp/nsdecl.exp | 2 +-
gdb/testsuite/gdb.cp/nsimport.exp | 2 +-
gdb/testsuite/gdb.cp/nsnested.exp | 2 +-
gdb/testsuite/gdb.cp/nsnoimports.exp | 2 +-
gdb/testsuite/gdb.cp/nsrecurs.exp | 2 +-
gdb/testsuite/gdb.cp/nsstress.exp | 2 +-
gdb/testsuite/gdb.cp/nsusing.exp | 2 +-
gdb/testsuite/gdb.cp/operator.exp | 2 +-
gdb/testsuite/gdb.cp/oranking.exp | 2 +-
gdb/testsuite/gdb.cp/overload-const.cc | 2 +-
gdb/testsuite/gdb.cp/overload-const.exp | 2 +-
gdb/testsuite/gdb.cp/overload.exp | 2 +-
gdb/testsuite/gdb.cp/ovldbreak.exp | 4 +-
gdb/testsuite/gdb.cp/ovsrch.exp | 2 +-
gdb/testsuite/gdb.cp/ovsrch.h | 2 +-
gdb/testsuite/gdb.cp/ovsrch1.cc | 2 +-
gdb/testsuite/gdb.cp/ovsrch2.cc | 2 +-
gdb/testsuite/gdb.cp/ovsrch3.cc | 2 +-
gdb/testsuite/gdb.cp/ovsrch4.cc | 2 +-
gdb/testsuite/gdb.cp/paren-type.cc | 2 +-
gdb/testsuite/gdb.cp/paren-type.exp | 2 +-
gdb/testsuite/gdb.cp/parse-lang.cc | 2 +-
gdb/testsuite/gdb.cp/parse-lang.exp | 2 +-
gdb/testsuite/gdb.cp/pass-by-ref.cc | 2 +-
gdb/testsuite/gdb.cp/pass-by-ref.exp | 2 +-
gdb/testsuite/gdb.cp/pr-1023.exp | 2 +-
gdb/testsuite/gdb.cp/pr-1210.exp | 2 +-
gdb/testsuite/gdb.cp/pr-574.cc | 2 +-
gdb/testsuite/gdb.cp/pr-574.exp | 2 +-
gdb/testsuite/gdb.cp/pr10687.exp | 2 +-
gdb/testsuite/gdb.cp/pr10728.exp | 2 +-
gdb/testsuite/gdb.cp/pr12028.exp | 2 +-
gdb/testsuite/gdb.cp/pr17132.cc | 2 +-
gdb/testsuite/gdb.cp/pr17132.exp | 2 +-
gdb/testsuite/gdb.cp/pr17494.cc | 2 +-
gdb/testsuite/gdb.cp/pr17494.exp | 2 +-
gdb/testsuite/gdb.cp/pr9067.exp | 2 +-
gdb/testsuite/gdb.cp/pr9167.exp | 2 +-
gdb/testsuite/gdb.cp/pr9631.cc | 2 +-
gdb/testsuite/gdb.cp/pr9631.exp | 2 +-
gdb/testsuite/gdb.cp/printmethod.cc | 2 +-
gdb/testsuite/gdb.cp/printmethod.exp | 2 +-
gdb/testsuite/gdb.cp/psmang.exp | 2 +-
gdb/testsuite/gdb.cp/psmang1.cc | 2 +-
gdb/testsuite/gdb.cp/psmang2.cc | 2 +-
gdb/testsuite/gdb.cp/psymtab-parameter.cc | 2 +-
gdb/testsuite/gdb.cp/psymtab-parameter.exp | 2 +-
gdb/testsuite/gdb.cp/ptype-cv-cp.cc | 2 +-
gdb/testsuite/gdb.cp/ptype-cv-cp.exp | 2 +-
gdb/testsuite/gdb.cp/ptype-flags.cc | 2 +-
gdb/testsuite/gdb.cp/ptype-flags.exp | 2 +-
gdb/testsuite/gdb.cp/punctuator.exp | 2 +-
gdb/testsuite/gdb.cp/re-set-overloaded.cc | 2 +-
gdb/testsuite/gdb.cp/re-set-overloaded.exp | 2 +-
gdb/testsuite/gdb.cp/readnow-language.cc | 2 +-
gdb/testsuite/gdb.cp/readnow-language.exp | 2 +-
gdb/testsuite/gdb.cp/ref-params.cc | 2 +-
gdb/testsuite/gdb.cp/ref-params.exp | 2 +-
gdb/testsuite/gdb.cp/ref-types.cc | 2 +-
gdb/testsuite/gdb.cp/ref-types.exp | 2 +-
gdb/testsuite/gdb.cp/rtti.exp | 2 +-
gdb/testsuite/gdb.cp/rtti.h | 2 +-
gdb/testsuite/gdb.cp/rtti1.cc | 2 +-
gdb/testsuite/gdb.cp/rtti2.cc | 2 +-
gdb/testsuite/gdb.cp/rvalue-ref-casts.cc | 2 +-
gdb/testsuite/gdb.cp/rvalue-ref-casts.exp | 2 +-
gdb/testsuite/gdb.cp/rvalue-ref-overload.cc | 2 +-
gdb/testsuite/gdb.cp/rvalue-ref-overload.exp | 2 +-
gdb/testsuite/gdb.cp/rvalue-ref-params.cc | 2 +-
gdb/testsuite/gdb.cp/rvalue-ref-params.exp | 2 +-
gdb/testsuite/gdb.cp/rvalue-ref-sizeof.cc | 2 +-
gdb/testsuite/gdb.cp/rvalue-ref-sizeof.exp | 2 +-
gdb/testsuite/gdb.cp/rvalue-ref-types.cc | 2 +-
gdb/testsuite/gdb.cp/rvalue-ref-types.exp | 2 +-
gdb/testsuite/gdb.cp/save-bp-qualified.cc | 2 +-
gdb/testsuite/gdb.cp/save-bp-qualified.exp | 2 +-
gdb/testsuite/gdb.cp/scope-err.cc | 2 +-
gdb/testsuite/gdb.cp/scope-err.exp | 2 +-
gdb/testsuite/gdb.cp/shadow.exp | 2 +-
gdb/testsuite/gdb.cp/smartp.cc | 2 +-
gdb/testsuite/gdb.cp/smartp.exp | 2 +-
gdb/testsuite/gdb.cp/static-method.cc | 2 +-
gdb/testsuite/gdb.cp/static-method.exp | 2 +-
gdb/testsuite/gdb.cp/static-print-quit.cc | 2 +-
gdb/testsuite/gdb.cp/static-print-quit.exp | 2 +-
gdb/testsuite/gdb.cp/static-typedef-print.cc | 2 +-
gdb/testsuite/gdb.cp/static-typedef-print.exp | 2 +-
gdb/testsuite/gdb.cp/subtypes-2.cc | 2 +-
gdb/testsuite/gdb.cp/subtypes.cc | 2 +-
gdb/testsuite/gdb.cp/subtypes.exp | 2 +-
gdb/testsuite/gdb.cp/subtypes.h | 2 +-
gdb/testsuite/gdb.cp/temargs.cc | 2 +-
gdb/testsuite/gdb.cp/temargs.exp | 2 +-
gdb/testsuite/gdb.cp/templates.exp | 2 +-
gdb/testsuite/gdb.cp/try_catch.cc | 2 +-
gdb/testsuite/gdb.cp/try_catch.exp | 2 +-
gdb/testsuite/gdb.cp/typedef-base.cc | 2 +-
gdb/testsuite/gdb.cp/typedef-base.exp | 2 +-
gdb/testsuite/gdb.cp/typedef-operator.cc | 2 +-
gdb/testsuite/gdb.cp/typedef-operator.exp | 2 +-
gdb/testsuite/gdb.cp/typeid.cc | 2 +-
gdb/testsuite/gdb.cp/typeid.exp | 2 +-
gdb/testsuite/gdb.cp/userdef.cc | 2 +-
gdb/testsuite/gdb.cp/userdef.exp | 2 +-
gdb/testsuite/gdb.cp/using-crash.cc | 2 +-
gdb/testsuite/gdb.cp/using-crash.exp | 2 +-
gdb/testsuite/gdb.cp/var-tag-2.cc | 2 +-
gdb/testsuite/gdb.cp/var-tag-3.cc | 2 +-
gdb/testsuite/gdb.cp/var-tag-4.cc | 2 +-
gdb/testsuite/gdb.cp/var-tag.cc | 2 +-
gdb/testsuite/gdb.cp/var-tag.exp | 2 +-
gdb/testsuite/gdb.cp/virtbase.exp | 2 +-
gdb/testsuite/gdb.cp/virtbase2.cc | 2 +-
gdb/testsuite/gdb.cp/virtbase2.exp | 2 +-
gdb/testsuite/gdb.cp/virtfunc.cc | 2 +-
gdb/testsuite/gdb.cp/virtfunc.exp | 2 +-
gdb/testsuite/gdb.cp/virtfunc2.cc | 2 +-
gdb/testsuite/gdb.cp/virtfunc2.exp | 2 +-
gdb/testsuite/gdb.cp/vla-cxx.cc | 2 +-
gdb/testsuite/gdb.cp/vla-cxx.exp | 2 +-
gdb/testsuite/gdb.cp/watch-cp.cc | 2 +-
gdb/testsuite/gdb.cp/watch-cp.exp | 2 +-
gdb/testsuite/gdb.cp/wide_char_types.c | 2 +-
gdb/testsuite/gdb.cp/wide_char_types.exp | 2 +-
gdb/testsuite/gdb.disasm/am33.exp | 2 +-
gdb/testsuite/gdb.disasm/disassembler-options.exp | 2 +-
gdb/testsuite/gdb.disasm/h8300s.exp | 2 +-
gdb/testsuite/gdb.disasm/hppa.exp | 2 +-
gdb/testsuite/gdb.disasm/mn10300.exp | 2 +-
gdb/testsuite/gdb.disasm/sh3.exp | 2 +-
gdb/testsuite/gdb.disasm/t01_mov.exp | 2 +-
gdb/testsuite/gdb.disasm/t02_mova.exp | 2 +-
gdb/testsuite/gdb.disasm/t03_add.exp | 2 +-
gdb/testsuite/gdb.disasm/t04_sub.exp | 2 +-
gdb/testsuite/gdb.disasm/t05_cmp.exp | 2 +-
gdb/testsuite/gdb.disasm/t06_ari2.exp | 2 +-
gdb/testsuite/gdb.disasm/t07_ari3.exp | 2 +-
gdb/testsuite/gdb.disasm/t08_or.exp | 2 +-
gdb/testsuite/gdb.disasm/t09_xor.exp | 2 +-
gdb/testsuite/gdb.disasm/t10_and.exp | 2 +-
gdb/testsuite/gdb.disasm/t11_logs.exp | 2 +-
gdb/testsuite/gdb.disasm/t12_bit.exp | 2 +-
gdb/testsuite/gdb.disasm/t13_otr.exp | 2 +-
gdb/testsuite/gdb.dlang/circular.c | 2 +-
gdb/testsuite/gdb.dlang/circular.exp | 2 +-
gdb/testsuite/gdb.dlang/debug-expr.exp | 2 +-
gdb/testsuite/gdb.dlang/demangle.exp | 2 +-
gdb/testsuite/gdb.dlang/expression.exp | 2 +-
gdb/testsuite/gdb.dlang/primitive-types.exp | 2 +-
gdb/testsuite/gdb.dlang/properties.exp | 2 +-
gdb/testsuite/gdb.dlang/watch-loc.c | 2 +-
gdb/testsuite/gdb.dlang/watch-loc.exp | 2 +-
gdb/testsuite/gdb.dwarf2/ada-valprint-error.c | 2 +-
gdb/testsuite/gdb.dwarf2/ada-valprint-error.exp | 2 +-
gdb/testsuite/gdb.dwarf2/arr-stride.c | 2 +-
gdb/testsuite/gdb.dwarf2/arr-stride.exp | 2 +-
gdb/testsuite/gdb.dwarf2/arr-subrange.c | 2 +-
gdb/testsuite/gdb.dwarf2/arr-subrange.exp | 2 +-
gdb/testsuite/gdb.dwarf2/atomic-type.exp | 2 +-
gdb/testsuite/gdb.dwarf2/atomic.c | 2 +-
gdb/testsuite/gdb.dwarf2/bad-regnum.c | 2 +-
gdb/testsuite/gdb.dwarf2/bad-regnum.exp | 2 +-
.../gdb.dwarf2/bitfield-parent-optimized-out.exp | 2 +-
gdb/testsuite/gdb.dwarf2/callframecfa.S | 2 +-
gdb/testsuite/gdb.dwarf2/callframecfa.exp | 2 +-
gdb/testsuite/gdb.dwarf2/clztest.S | 2 +-
gdb/testsuite/gdb.dwarf2/clztest.exp | 2 +-
gdb/testsuite/gdb.dwarf2/comp-unit-lang.c | 2 +-
gdb/testsuite/gdb.dwarf2/comp-unit-lang.exp | 2 +-
gdb/testsuite/gdb.dwarf2/corrupt.c | 2 +-
gdb/testsuite/gdb.dwarf2/corrupt.exp | 2 +-
gdb/testsuite/gdb.dwarf2/count.exp | 2 +-
gdb/testsuite/gdb.dwarf2/data-loc.c | 2 +-
gdb/testsuite/gdb.dwarf2/data-loc.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dup-psym.S | 2 +-
gdb/testsuite/gdb.dwarf2/dup-psym.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-align.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp | 2 +-
.../gdb.dwarf2/dw2-bad-mips-linkage-name.c | 2 +-
.../gdb.dwarf2/dw2-bad-mips-linkage-name.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.S | 2 +-
.../gdb.dwarf2/dw2-bad-parameter-type.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-bad-unresolved.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-bad-unresolved.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-basic.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-basic.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.exp | 2 +-
.../gdb.dwarf2/dw2-case-insensitive-debug.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp | 6 +-
gdb/testsuite/gdb.dwarf2/dw2-common-block.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-common-block.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-compressed.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-compressed.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-const.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-const.exp | 2 +-
.../gdb.dwarf2/dw2-cp-infcall-ref-static-main.c | 2 +-
.../gdb.dwarf2/dw2-cp-infcall-ref-static.S | 2 +-
.../gdb.dwarf2/dw2-cp-infcall-ref-static.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-cu-size.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.S | 2 +-
.../gdb.dwarf2/dw2-double-set-die-type.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-dummy-cu.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-dummy-cu.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-dup-frame.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-dup-frame.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-dup-frame.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-entry-value-main.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-entry-value.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-entry-value.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-error.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-error.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-error.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-filename.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-filename.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-icycle.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-icycle.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-icycle.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-inheritance.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-inline-break.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-inline-break.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-inline-param-main.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-inline-param.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-intercu.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-intercu.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-intermix.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-intermix.exp | 2 +-
.../gdb.dwarf2/dw2-lexical-block-bare.exp | 2 +-
.../gdb.dwarf2/dw2-linkage-name-trust-main.cc | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.S | 2 +-
.../gdb.dwarf2/dw2-linkage-name-trust.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp | 2 +-
.../gdb.dwarf2/dw2-namespaceless-anonymous.S | 2 +-
.../gdb.dwarf2/dw2-namespaceless-anonymous.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-noloc-main.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-noloc.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-noloc.exp | 2 +-
.../gdb.dwarf2/dw2-objfile-overlap-inner.S | 2 +-
.../gdb.dwarf2/dw2-objfile-overlap-outer.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-op-call.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-op-call.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-opt-structptr.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-opt-structptr.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-param-error-main.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-param-error.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-param-error.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-producer.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-producer.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ranges-base.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ranges-base.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ranges-func.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ranges-func.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ranges.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ranges.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ranges2.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ranges3.c | 2 +-
.../gdb.dwarf2/dw2-ref-missing-frame-func.c | 2 +-
.../gdb.dwarf2/dw2-ref-missing-frame-main.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-restore.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-restore.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-restrict.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-restrict.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-restrict.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp | 2 +-
.../gdb.dwarf2/dw2-single-line-discriminators.S | 2 +-
.../gdb.dwarf2/dw2-single-line-discriminators.c | 2 +-
.../gdb.dwarf2/dw2-single-line-discriminators.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-strp.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-strp.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.c | 2 +-
.../gdb.dwarf2/dw2-undefined-ret-addr.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-unresolved-main.c | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-unresolved.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-unresolved.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-unusual-field-names.c | 32 +
.../gdb.dwarf2/dw2-unusual-field-names.exp | 132 +
gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.S | 2 +-
gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dwp-sepdebug.c | 2 +-
gdb/testsuite/gdb.dwarf2/dwp-sepdebug.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dwp-symlink.c | 2 +-
gdb/testsuite/gdb.dwarf2/dwp-symlink.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dwz.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dwzbuildid.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dynarr-ptr.c | 2 +-
gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp | 2 +-
gdb/testsuite/gdb.dwarf2/enum-type.exp | 2 +-
gdb/testsuite/gdb.dwarf2/fission-base.S | 2 +-
gdb/testsuite/gdb.dwarf2/fission-base.c | 2 +-
gdb/testsuite/gdb.dwarf2/fission-base.exp | 2 +-
gdb/testsuite/gdb.dwarf2/fission-loclists-pie.S | 2 +-
gdb/testsuite/gdb.dwarf2/fission-loclists-pie.exp | 2 +-
gdb/testsuite/gdb.dwarf2/fission-loclists.S | 2 +-
gdb/testsuite/gdb.dwarf2/fission-loclists.exp | 2 +-
gdb/testsuite/gdb.dwarf2/fission-mix.c | 2 +-
gdb/testsuite/gdb.dwarf2/fission-mix.exp | 2 +-
gdb/testsuite/gdb.dwarf2/fission-mix.h | 2 +-
gdb/testsuite/gdb.dwarf2/fission-mix2.c | 2 +-
gdb/testsuite/gdb.dwarf2/fission-multi-cu.S | 2 +-
gdb/testsuite/gdb.dwarf2/fission-multi-cu.exp | 2 +-
gdb/testsuite/gdb.dwarf2/fission-multi-cu1.c | 2 +-
gdb/testsuite/gdb.dwarf2/fission-multi-cu2.c | 2 +-
gdb/testsuite/gdb.dwarf2/fission-reread.S | 2 +-
gdb/testsuite/gdb.dwarf2/fission-reread.exp | 2 +-
gdb/testsuite/gdb.dwarf2/formdata16.c | 2 +-
gdb/testsuite/gdb.dwarf2/formdata16.exp | 2 +-
gdb/testsuite/gdb.dwarf2/gdb-index.exp | 2 +-
gdb/testsuite/gdb.dwarf2/implptr-64bit.exp | 2 +-
gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp | 2 +-
gdb/testsuite/gdb.dwarf2/implptr.c | 2 +-
gdb/testsuite/gdb.dwarf2/implptr.exp | 2 +-
gdb/testsuite/gdb.dwarf2/implptrconst.c | 2 +-
gdb/testsuite/gdb.dwarf2/implptrconst.exp | 2 +-
gdb/testsuite/gdb.dwarf2/implptrpiece.exp | 2 +-
gdb/testsuite/gdb.dwarf2/implref-array.c | 2 +-
gdb/testsuite/gdb.dwarf2/implref-array.exp | 2 +-
gdb/testsuite/gdb.dwarf2/implref-const.exp | 2 +-
gdb/testsuite/gdb.dwarf2/implref-global.c | 2 +-
gdb/testsuite/gdb.dwarf2/implref-global.exp | 2 +-
gdb/testsuite/gdb.dwarf2/implref-struct.c | 2 +-
gdb/testsuite/gdb.dwarf2/implref-struct.exp | 2 +-
.../gdb.dwarf2/info-locals-optimized-out.c | 2 +-
.../gdb.dwarf2/info-locals-optimized-out.exp | 2 +-
.../gdb.dwarf2/inlined_subroutine-inheritance.exp | 213 +
gdb/testsuite/gdb.dwarf2/mac-fileno.S | 2 +-
gdb/testsuite/gdb.dwarf2/mac-fileno.exp | 2 +-
gdb/testsuite/gdb.dwarf2/main-subprogram.c | 2 +-
gdb/testsuite/gdb.dwarf2/main-subprogram.exp | 2 +-
gdb/testsuite/gdb.dwarf2/main.c | 2 +-
gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.S | 2 +-
gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp | 2 +-
gdb/testsuite/gdb.dwarf2/method-ptr.cc | 2 +-
gdb/testsuite/gdb.dwarf2/method-ptr.exp | 2 +-
gdb/testsuite/gdb.dwarf2/missing-sig-type.exp | 2 +-
gdb/testsuite/gdb.dwarf2/missing-type-name.exp | 123 +
gdb/testsuite/gdb.dwarf2/multidictionary.exp | 157 +
gdb/testsuite/gdb.dwarf2/nonvar-access.exp | 2 +-
gdb/testsuite/gdb.dwarf2/nostaticblock.exp | 2 +-
gdb/testsuite/gdb.dwarf2/opaque-type-lookup-2.c | 2 +-
gdb/testsuite/gdb.dwarf2/opaque-type-lookup.c | 2 +-
gdb/testsuite/gdb.dwarf2/opaque-type-lookup.exp | 2 +-
gdb/testsuite/gdb.dwarf2/pieces-optimized-out.S | 2 +-
gdb/testsuite/gdb.dwarf2/pieces-optimized-out.c | 2 +-
gdb/testsuite/gdb.dwarf2/pieces-optimized-out.exp | 2 +-
gdb/testsuite/gdb.dwarf2/pieces.S | 2 +-
gdb/testsuite/gdb.dwarf2/pieces.c | 2 +-
gdb/testsuite/gdb.dwarf2/pieces.exp | 2 +-
gdb/testsuite/gdb.dwarf2/pr10770.exp | 2 +-
gdb/testsuite/gdb.dwarf2/pr11465.S | 2 +-
gdb/testsuite/gdb.dwarf2/pr11465.exp | 2 +-
gdb/testsuite/gdb.dwarf2/pr13961.S | 2 +-
gdb/testsuite/gdb.dwarf2/pr13961.exp | 2 +-
gdb/testsuite/gdb.dwarf2/shortpiece.exp | 2 +-
gdb/testsuite/gdb.dwarf2/staticvirtual.exp | 2 +-
gdb/testsuite/gdb.dwarf2/subrange.exp | 2 +-
gdb/testsuite/gdb.dwarf2/symtab-producer.exp | 2 +-
gdb/testsuite/gdb.dwarf2/trace-crash.exp | 2 +-
gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S | 2 +-
gdb/testsuite/gdb.dwarf2/typeddwarf.S | 2 +-
gdb/testsuite/gdb.dwarf2/typeddwarf.exp | 2 +-
gdb/testsuite/gdb.dwarf2/typedef-void-finish.exp | 102 +
gdb/testsuite/gdb.dwarf2/valop.S | 2 +-
gdb/testsuite/gdb.dwarf2/valop.exp | 2 +-
gdb/testsuite/gdb.dwarf2/var-access.c | 2 +-
gdb/testsuite/gdb.dwarf2/var-access.exp | 2 +-
gdb/testsuite/gdb.dwarf2/variant.c | 2 +-
gdb/testsuite/gdb.dwarf2/variant.exp | 2 +-
gdb/testsuite/gdb.dwarf2/varval.c | 2 +-
gdb/testsuite/gdb.dwarf2/varval.exp | 2 +-
gdb/testsuite/gdb.dwarf2/void-type.c | 2 +-
gdb/testsuite/gdb.dwarf2/void-type.exp | 14 +-
gdb/testsuite/gdb.dwarf2/watch-notconst.c | 2 +-
gdb/testsuite/gdb.dwarf2/watch-notconst.exp | 2 +-
gdb/testsuite/gdb.dwarf2/watch-notconst2.S | 2 +-
gdb/testsuite/gdb.dwarf2/watch-notconst2.c | 2 +-
gdb/testsuite/gdb.fortran/array-bounds.exp | 50 +
gdb/testsuite/gdb.fortran/array-bounds.f90 | 26 +
gdb/testsuite/gdb.fortran/array-element.exp | 2 +-
gdb/testsuite/gdb.fortran/array-element.f | 2 +-
gdb/testsuite/gdb.fortran/charset.exp | 2 +-
gdb/testsuite/gdb.fortran/common-block.exp | 2 +-
gdb/testsuite/gdb.fortran/common-block.f90 | 2 +-
gdb/testsuite/gdb.fortran/complex.exp | 2 +-
gdb/testsuite/gdb.fortran/complex.f | 2 +-
.../gdb.fortran/derived-type-function.exp | 2 +-
.../gdb.fortran/derived-type-function.f90 | 2 +-
gdb/testsuite/gdb.fortran/derived-type.exp | 2 +-
gdb/testsuite/gdb.fortran/derived-type.f90 | 2 +-
gdb/testsuite/gdb.fortran/dot-ops.exp | 123 +
gdb/testsuite/gdb.fortran/exprs.exp | 2 +-
gdb/testsuite/gdb.fortran/function-calls.exp | 103 +
gdb/testsuite/gdb.fortran/function-calls.f90 | 242 +
gdb/testsuite/gdb.fortran/intrinsics.exp | 51 +
gdb/testsuite/gdb.fortran/intrinsics.f90 | 39 +
gdb/testsuite/gdb.fortran/library-module-lib.f90 | 2 +-
gdb/testsuite/gdb.fortran/library-module-main.f90 | 2 +-
gdb/testsuite/gdb.fortran/library-module.exp | 2 +-
gdb/testsuite/gdb.fortran/logical.exp | 2 +-
gdb/testsuite/gdb.fortran/logical.f90 | 2 +-
gdb/testsuite/gdb.fortran/module.exp | 2 +-
gdb/testsuite/gdb.fortran/module.f90 | 2 +-
gdb/testsuite/gdb.fortran/multi-dim.exp | 2 +-
gdb/testsuite/gdb.fortran/multi-dim.f90 | 2 +-
gdb/testsuite/gdb.fortran/nested-funcs.exp | 2 +-
gdb/testsuite/gdb.fortran/nested-funcs.f90 | 2 +-
gdb/testsuite/gdb.fortran/print-formatted.exp | 2 +-
gdb/testsuite/gdb.fortran/print-formatted.f90 | 2 +-
gdb/testsuite/gdb.fortran/printing-types.exp | 2 +-
gdb/testsuite/gdb.fortran/printing-types.f90 | 2 +-
gdb/testsuite/gdb.fortran/ptr-indentation.exp | 2 +-
gdb/testsuite/gdb.fortran/ptr-indentation.f90 | 2 +-
.../gdb.fortran/short-circuit-argument-list.exp | 77 +-
.../gdb.fortran/short-circuit-argument-list.f90 | 35 +-
gdb/testsuite/gdb.fortran/subarray.exp | 2 +-
gdb/testsuite/gdb.fortran/subarray.f | 2 +-
gdb/testsuite/gdb.fortran/type-kinds.exp | 98 +
gdb/testsuite/gdb.fortran/type.f90 | 2 +-
gdb/testsuite/gdb.fortran/types.exp | 11 +-
gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-datatypes.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-datatypes.f90 | 2 +-
gdb/testsuite/gdb.fortran/vla-history.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-ptr-info.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-ptype-sub.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-ptype.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-sizeof.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-sub.f90 | 2 +-
gdb/testsuite/gdb.fortran/vla-type.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-type.f90 | 2 +-
.../gdb.fortran/vla-value-sub-arbitrary.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-value-sub.exp | 2 +-
gdb/testsuite/gdb.fortran/vla-value.exp | 2 +-
gdb/testsuite/gdb.fortran/vla.f90 | 2 +-
gdb/testsuite/gdb.fortran/whatis_type.exp | 2 +-
gdb/testsuite/gdb.gdb/complaints.exp | 2 +-
gdb/testsuite/gdb.gdb/python-interrupts.exp | 2 +-
gdb/testsuite/gdb.gdb/python-selftest.exp | 2 +-
gdb/testsuite/gdb.gdb/selftest.exp | 2 +-
gdb/testsuite/gdb.gdb/unittest.exp | 2 +-
gdb/testsuite/gdb.go/basic-types.exp | 2 +-
gdb/testsuite/gdb.go/chan.exp | 2 +-
gdb/testsuite/gdb.go/handcall.exp | 2 +-
gdb/testsuite/gdb.go/hello.exp | 2 +-
gdb/testsuite/gdb.go/integers.exp | 2 +-
gdb/testsuite/gdb.go/methods.exp | 2 +-
gdb/testsuite/gdb.go/package.exp | 2 +-
gdb/testsuite/gdb.go/print.exp | 2 +-
gdb/testsuite/gdb.go/strings.exp | 2 +-
gdb/testsuite/gdb.go/types.exp | 2 +-
gdb/testsuite/gdb.go/unsafe.exp | 2 +-
gdb/testsuite/gdb.guile/guile.exp | 2 +-
gdb/testsuite/gdb.guile/scm-arch.c | 2 +-
gdb/testsuite/gdb.guile/scm-arch.exp | 2 +-
gdb/testsuite/gdb.guile/scm-block.c | 2 +-
gdb/testsuite/gdb.guile/scm-block.exp | 2 +-
gdb/testsuite/gdb.guile/scm-breakpoint.c | 2 +-
gdb/testsuite/gdb.guile/scm-breakpoint.exp | 2 +-
gdb/testsuite/gdb.guile/scm-cmd.c | 2 +-
gdb/testsuite/gdb.guile/scm-cmd.exp | 2 +-
gdb/testsuite/gdb.guile/scm-disasm.c | 2 +-
gdb/testsuite/gdb.guile/scm-disasm.exp | 2 +-
gdb/testsuite/gdb.guile/scm-equal.c | 2 +-
gdb/testsuite/gdb.guile/scm-equal.exp | 2 +-
gdb/testsuite/gdb.guile/scm-error-1.scm | 2 +-
gdb/testsuite/gdb.guile/scm-error-2.scm | 2 +-
gdb/testsuite/gdb.guile/scm-error.exp | 2 +-
gdb/testsuite/gdb.guile/scm-frame-args.c | 2 +-
gdb/testsuite/gdb.guile/scm-frame-args.exp | 2 +-
gdb/testsuite/gdb.guile/scm-frame-args.scm | 2 +-
gdb/testsuite/gdb.guile/scm-frame-inline.c | 2 +-
gdb/testsuite/gdb.guile/scm-frame-inline.exp | 2 +-
gdb/testsuite/gdb.guile/scm-frame.exp | 2 +-
gdb/testsuite/gdb.guile/scm-gsmob.exp | 2 +-
gdb/testsuite/gdb.guile/scm-iterator.c | 2 +-
gdb/testsuite/gdb.guile/scm-iterator.exp | 2 +-
gdb/testsuite/gdb.guile/scm-lazy-string.c | 2 +-
gdb/testsuite/gdb.guile/scm-lazy-string.exp | 2 +-
gdb/testsuite/gdb.guile/scm-math.c | 2 +-
gdb/testsuite/gdb.guile/scm-math.exp | 2 +-
gdb/testsuite/gdb.guile/scm-objfile-script-gdb.in | 2 +-
gdb/testsuite/gdb.guile/scm-objfile-script.c | 2 +-
gdb/testsuite/gdb.guile/scm-objfile-script.exp | 2 +-
gdb/testsuite/gdb.guile/scm-objfile.c | 2 +-
gdb/testsuite/gdb.guile/scm-objfile.exp | 2 +-
gdb/testsuite/gdb.guile/scm-parameter.exp | 2 +-
gdb/testsuite/gdb.guile/scm-ports.c | 2 +-
gdb/testsuite/gdb.guile/scm-ports.exp | 2 +-
gdb/testsuite/gdb.guile/scm-pretty-print.c | 2 +-
gdb/testsuite/gdb.guile/scm-pretty-print.exp | 2 +-
gdb/testsuite/gdb.guile/scm-pretty-print.scm | 2 +-
gdb/testsuite/gdb.guile/scm-progspace.c | 2 +-
gdb/testsuite/gdb.guile/scm-progspace.exp | 2 +-
gdb/testsuite/gdb.guile/scm-section-script.c | 2 +-
gdb/testsuite/gdb.guile/scm-section-script.exp | 2 +-
gdb/testsuite/gdb.guile/scm-section-script.scm | 2 +-
gdb/testsuite/gdb.guile/scm-symbol.c | 2 +-
gdb/testsuite/gdb.guile/scm-symbol.exp | 2 +-
gdb/testsuite/gdb.guile/scm-symtab-2.c | 2 +-
gdb/testsuite/gdb.guile/scm-symtab.c | 2 +-
gdb/testsuite/gdb.guile/scm-symtab.exp | 2 +-
gdb/testsuite/gdb.guile/scm-type.c | 2 +-
gdb/testsuite/gdb.guile/scm-type.exp | 2 +-
gdb/testsuite/gdb.guile/scm-value-cc.cc | 2 +-
gdb/testsuite/gdb.guile/scm-value-cc.exp | 2 +-
gdb/testsuite/gdb.guile/scm-value.c | 2 +-
gdb/testsuite/gdb.guile/scm-value.exp | 2 +-
gdb/testsuite/gdb.guile/source2.scm | 2 +-
gdb/testsuite/gdb.guile/types-module.cc | 2 +-
gdb/testsuite/gdb.guile/types-module.exp | 2 +-
gdb/testsuite/gdb.linespec/3explicit.c | 2 +-
gdb/testsuite/gdb.linespec/base/one/header.h | 2 +-
gdb/testsuite/gdb.linespec/base/two/header.h | 2 +-
gdb/testsuite/gdb.linespec/break-ask.exp | 2 +-
gdb/testsuite/gdb.linespec/break-asm-file.c | 2 +-
gdb/testsuite/gdb.linespec/break-asm-file.exp | 2 +-
gdb/testsuite/gdb.linespec/break-asm-file0.s | 2 +-
gdb/testsuite/gdb.linespec/break-asm-file1.s | 2 +-
gdb/testsuite/gdb.linespec/cpcompletion.exp | 2 +-
gdb/testsuite/gdb.linespec/cpexplicit.cc | 2 +-
gdb/testsuite/gdb.linespec/cpexplicit.exp | 2 +-
gdb/testsuite/gdb.linespec/cpls-abi-tag.cc | 2 +-
gdb/testsuite/gdb.linespec/cpls-abi-tag.exp | 2 +-
gdb/testsuite/gdb.linespec/cpls-hyphen.cc | 2 +-
gdb/testsuite/gdb.linespec/cpls-ops.cc | 2 +-
gdb/testsuite/gdb.linespec/cpls-ops.exp | 2 +-
gdb/testsuite/gdb.linespec/cpls.cc | 2 +-
gdb/testsuite/gdb.linespec/cpls2.cc | 2 +-
gdb/testsuite/gdb.linespec/explicit.c | 2 +-
gdb/testsuite/gdb.linespec/explicit.exp | 2 +-
gdb/testsuite/gdb.linespec/explicit2.c | 2 +-
gdb/testsuite/gdb.linespec/keywords.c | 2 +-
gdb/testsuite/gdb.linespec/keywords.exp | 2 +-
gdb/testsuite/gdb.linespec/linespec.exp | 2 +-
gdb/testsuite/gdb.linespec/ls-dollar.cc | 2 +-
gdb/testsuite/gdb.linespec/ls-dollar.exp | 2 +-
gdb/testsuite/gdb.linespec/ls-errs.c | 2 +-
gdb/testsuite/gdb.linespec/ls-errs.exp | 2 +-
gdb/testsuite/gdb.linespec/macro-relative.c | 2 +-
gdb/testsuite/gdb.linespec/macro-relative.exp | 2 +-
gdb/testsuite/gdb.linespec/skip-two.exp | 2 +-
gdb/testsuite/gdb.linespec/thread.c | 2 +-
gdb/testsuite/gdb.linespec/thread.exp | 2 +-
gdb/testsuite/gdb.mi/array.f | 2 +-
gdb/testsuite/gdb.mi/basics.c | 2 +-
gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c | 2 +-
gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c | 2 +-
gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S | 2 +-
gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp | 2 +-
gdb/testsuite/gdb.mi/gdb2549.exp | 2 +-
gdb/testsuite/gdb.mi/gdb669.exp | 2 +-
gdb/testsuite/gdb.mi/gdb680.exp | 2 +-
gdb/testsuite/gdb.mi/gdb701.exp | 2 +-
gdb/testsuite/gdb.mi/gdb792.exp | 2 +-
.../gdb.mi/list-thread-groups-available.c | 2 +-
.../gdb.mi/list-thread-groups-available.exp | 2 +-
.../gdb.mi/list-thread-groups-no-inferior.exp | 2 +-
gdb/testsuite/gdb.mi/mi-async-run.c | 2 +-
gdb/testsuite/gdb.mi/mi-async-run.exp | 2 +-
gdb/testsuite/gdb.mi/mi-async.exp | 2 +-
gdb/testsuite/gdb.mi/mi-basics.exp | 2 +-
gdb/testsuite/gdb.mi/mi-break.exp | 2 +-
gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp | 2 +-
.../gdb.mi/mi-breakpoint-location-ena-dis.cc | 36 -
.../gdb.mi/mi-breakpoint-location-ena-dis.exp | 56 -
.../gdb.mi/mi-breakpoint-multiple-locations.cc | 36 +
.../gdb.mi/mi-breakpoint-multiple-locations.exp | 131 +
gdb/testsuite/gdb.mi/mi-catch-load-so.c | 2 +-
gdb/testsuite/gdb.mi/mi-catch-load.c | 2 +-
gdb/testsuite/gdb.mi/mi-catch-load.exp | 2 +-
gdb/testsuite/gdb.mi/mi-cli.exp | 2 +-
gdb/testsuite/gdb.mi/mi-cmd-error.exp | 2 +-
gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp | 2 +-
.../gdb.mi/mi-condbreak-call-thr-state-mt.c | 2 +-
.../gdb.mi/mi-condbreak-call-thr-state-st.c | 2 +-
gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.c | 2 +-
.../gdb.mi/mi-condbreak-call-thr-state.exp | 2 +-
gdb/testsuite/gdb.mi/mi-console.exp | 2 +-
gdb/testsuite/gdb.mi/mi-detach.exp | 2 +-
gdb/testsuite/gdb.mi/mi-disassemble.exp | 2 +-
gdb/testsuite/gdb.mi/mi-dprintf-pending.c | 2 +-
gdb/testsuite/gdb.mi/mi-dprintf-pending.exp | 2 +-
gdb/testsuite/gdb.mi/mi-dprintf-pendshr.c | 2 +-
gdb/testsuite/gdb.mi/mi-dprintf.c | 2 +-
gdb/testsuite/gdb.mi/mi-dprintf.exp | 2 +-
gdb/testsuite/gdb.mi/mi-editing.exp | 2 +-
gdb/testsuite/gdb.mi/mi-eval.exp | 2 +-
gdb/testsuite/gdb.mi/mi-exec-run.exp | 2 +-
gdb/testsuite/gdb.mi/mi-exit-code.c | 2 +-
gdb/testsuite/gdb.mi/mi-exit-code.exp | 2 +-
gdb/testsuite/gdb.mi/mi-file-transfer.exp | 2 +-
gdb/testsuite/gdb.mi/mi-file.exp | 2 +-
gdb/testsuite/gdb.mi/mi-fill-memory.exp | 2 +-
gdb/testsuite/gdb.mi/mi-frame-regs.exp | 2 +-
gdb/testsuite/gdb.mi/mi-fullname-deleted.exp | 2 +-
gdb/testsuite/gdb.mi/mi-hack-cli.exp | 2 +-
gdb/testsuite/gdb.mi/mi-i-cmd.exp | 2 +-
gdb/testsuite/gdb.mi/mi-info-os.exp | 2 +-
.../gdb.mi/mi-inheritance-syntax-error.exp | 2 +-
gdb/testsuite/gdb.mi/mi-language.exp | 2 +-
gdb/testsuite/gdb.mi/mi-linespec-err-cp.cc | 2 +-
gdb/testsuite/gdb.mi/mi-linespec-err-cp.exp | 2 +-
gdb/testsuite/gdb.mi/mi-logging.exp | 2 +-
gdb/testsuite/gdb.mi/mi-memory-changed.exp | 2 +-
gdb/testsuite/gdb.mi/mi-nonstop-exit.exp | 2 +-
gdb/testsuite/gdb.mi/mi-nonstop.exp | 2 +-
gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp | 2 +-
gdb/testsuite/gdb.mi/mi-nsintrall.exp | 2 +-
gdb/testsuite/gdb.mi/mi-nsmoribund.exp | 2 +-
gdb/testsuite/gdb.mi/mi-nsthrexec.exp | 2 +-
gdb/testsuite/gdb.mi/mi-pending.c | 2 +-
gdb/testsuite/gdb.mi/mi-pending.exp | 2 +-
gdb/testsuite/gdb.mi/mi-pendshr.c | 2 +-
gdb/testsuite/gdb.mi/mi-pendshr2.c | 2 +-
gdb/testsuite/gdb.mi/mi-pthreads.exp | 2 +-
gdb/testsuite/gdb.mi/mi-read-memory.exp | 2 +-
gdb/testsuite/gdb.mi/mi-record-changed.exp | 2 +-
gdb/testsuite/gdb.mi/mi-reg-undefined.S | 2 +-
gdb/testsuite/gdb.mi/mi-reg-undefined.c | 2 +-
gdb/testsuite/gdb.mi/mi-reg-undefined.exp | 4 +-
gdb/testsuite/gdb.mi/mi-regs.exp | 2 +-
gdb/testsuite/gdb.mi/mi-return.exp | 2 +-
gdb/testsuite/gdb.mi/mi-reverse.exp | 2 +-
gdb/testsuite/gdb.mi/mi-simplerun.exp | 2 +-
gdb/testsuite/gdb.mi/mi-solib.exp | 2 +-
gdb/testsuite/gdb.mi/mi-stack.c | 2 +-
gdb/testsuite/gdb.mi/mi-stack.exp | 2 +-
gdb/testsuite/gdb.mi/mi-start.c | 2 +-
gdb/testsuite/gdb.mi/mi-start.exp | 2 +-
gdb/testsuite/gdb.mi/mi-stepi.exp | 2 +-
gdb/testsuite/gdb.mi/mi-stepn.c | 2 +-
gdb/testsuite/gdb.mi/mi-stepn.exp | 2 +-
gdb/testsuite/gdb.mi/mi-syn-frame.exp | 2 +-
gdb/testsuite/gdb.mi/mi-threads-interrupt.c | 2 +-
gdb/testsuite/gdb.mi/mi-threads-interrupt.exp | 2 +-
gdb/testsuite/gdb.mi/mi-undefined-cmd.exp | 2 +-
gdb/testsuite/gdb.mi/mi-until.exp | 2 +-
gdb/testsuite/gdb.mi/mi-var-block.exp | 2 +-
gdb/testsuite/gdb.mi/mi-var-child-f.exp | 2 +-
gdb/testsuite/gdb.mi/mi-var-child.c | 2 +-
gdb/testsuite/gdb.mi/mi-var-child.exp | 2 +-
gdb/testsuite/gdb.mi/mi-var-cmd.exp | 2 +-
gdb/testsuite/gdb.mi/mi-var-cp.cc | 2 +-
gdb/testsuite/gdb.mi/mi-var-cp.exp | 2 +-
gdb/testsuite/gdb.mi/mi-var-create-rtti.c | 2 +-
gdb/testsuite/gdb.mi/mi-var-create-rtti.exp | 2 +-
gdb/testsuite/gdb.mi/mi-var-display.exp | 2 +-
gdb/testsuite/gdb.mi/mi-var-invalidate.exp | 2 +-
.../mi-var-list-children-invalid-grandchild.c | 2 +-
.../mi-var-list-children-invalid-grandchild.exp | 2 +-
gdb/testsuite/gdb.mi/mi-var-rtti.cc | 2 +-
gdb/testsuite/gdb.mi/mi-var-rtti.exp | 2 +-
gdb/testsuite/gdb.mi/mi-vla-c99.exp | 2 +-
gdb/testsuite/gdb.mi/mi-vla-fortran.exp | 2 +-
gdb/testsuite/gdb.mi/mi-watch-nonstop.exp | 2 +-
gdb/testsuite/gdb.mi/mi-watch.exp | 2 +-
gdb/testsuite/gdb.mi/mi2-amd64-entry-value.c | 2 +-
gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp | 2 +-
gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s | 2 +-
gdb/testsuite/gdb.mi/mi2-cli-display.c | 32 +
gdb/testsuite/gdb.mi/mi2-cli-display.exp | 86 +
gdb/testsuite/gdb.mi/mi2-prompt.exp | 2 +-
gdb/testsuite/gdb.mi/mi2-var-child.exp | 2 +-
gdb/testsuite/gdb.mi/new-ui-mi-sync.c | 2 +-
gdb/testsuite/gdb.mi/new-ui-mi-sync.exp | 2 +-
gdb/testsuite/gdb.mi/non-stop-exit.c | 2 +-
gdb/testsuite/gdb.mi/non-stop.c | 2 +-
gdb/testsuite/gdb.mi/ns-stale-regcache.c | 2 +-
gdb/testsuite/gdb.mi/nsintrall.c | 2 +-
gdb/testsuite/gdb.mi/nsmoribund.c | 2 +-
gdb/testsuite/gdb.mi/nsthrexec.c | 2 +-
gdb/testsuite/gdb.mi/pending.c | 2 +-
gdb/testsuite/gdb.mi/pendshr1.c | 2 +-
gdb/testsuite/gdb.mi/pendshr2.c | 2 +-
gdb/testsuite/gdb.mi/pr11022.c | 2 +-
gdb/testsuite/gdb.mi/pr11022.exp | 2 +-
gdb/testsuite/gdb.mi/pthreads.c | 2 +-
gdb/testsuite/gdb.mi/solib-lib.c | 2 +-
gdb/testsuite/gdb.mi/solib-main.c | 2 +-
gdb/testsuite/gdb.mi/user-selected-context-sync.c | 2 +-
.../gdb.mi/user-selected-context-sync.exp | 2 +-
gdb/testsuite/gdb.mi/var-cmd.c | 2 +-
gdb/testsuite/gdb.mi/vla.c | 2 +-
gdb/testsuite/gdb.mi/vla.f90 | 2 +-
gdb/testsuite/gdb.mi/watch-nonstop.c | 2 +-
gdb/testsuite/gdb.modula2/unbounded-array.exp | 2 +-
gdb/testsuite/gdb.modula2/unbounded1.c | 2 +-
gdb/testsuite/gdb.multi/base.exp | 2 +-
gdb/testsuite/gdb.multi/bkpt-multi-exec.exp | 2 +-
gdb/testsuite/gdb.multi/dummy-frame-restore.c | 2 +-
gdb/testsuite/gdb.multi/dummy-frame-restore.exp | 2 +-
gdb/testsuite/gdb.multi/goodbye.c | 2 +-
gdb/testsuite/gdb.multi/hangout.c | 2 +-
gdb/testsuite/gdb.multi/hello.c | 4 +-
gdb/testsuite/gdb.multi/info-threads.exp | 2 +-
gdb/testsuite/gdb.multi/multi-arch-exec.c | 2 +-
gdb/testsuite/gdb.multi/multi-arch-exec.exp | 2 +-
gdb/testsuite/gdb.multi/multi-arch.exp | 2 +-
gdb/testsuite/gdb.multi/multi-attach.c | 2 +-
gdb/testsuite/gdb.multi/multi-attach.exp | 2 +-
gdb/testsuite/gdb.multi/multi-term-settings.c | 4 +-
gdb/testsuite/gdb.multi/multi-term-settings.exp | 2 +-
gdb/testsuite/gdb.multi/remove-inferiors.c | 2 +-
gdb/testsuite/gdb.multi/remove-inferiors.exp | 2 +-
gdb/testsuite/gdb.multi/tids.c | 2 +-
gdb/testsuite/gdb.multi/tids.exp | 2 +-
gdb/testsuite/gdb.multi/watchpoint-multi-exit.c | 2 +-
gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp | 2 +-
gdb/testsuite/gdb.multi/watchpoint-multi.c | 2 +-
gdb/testsuite/gdb.multi/watchpoint-multi.exp | 2 +-
gdb/testsuite/gdb.objc/basicclass.exp | 2 +-
gdb/testsuite/gdb.objc/nondebug.exp | 2 +-
gdb/testsuite/gdb.objc/objcdecode.exp | 2 +-
gdb/testsuite/gdb.objc/print.exp | 2 +-
gdb/testsuite/gdb.opencl/callfuncs.cl | 2 +-
gdb/testsuite/gdb.opencl/callfuncs.exp | 2 +-
gdb/testsuite/gdb.opencl/convs_casts.cl | 2 +-
gdb/testsuite/gdb.opencl/convs_casts.exp | 2 +-
gdb/testsuite/gdb.opencl/datatypes.cl | 2 +-
gdb/testsuite/gdb.opencl/datatypes.exp | 2 +-
gdb/testsuite/gdb.opencl/operators.cl | 2 +-
gdb/testsuite/gdb.opencl/operators.exp | 2 +-
gdb/testsuite/gdb.opencl/vec_comps.cl | 2 +-
gdb/testsuite/gdb.opencl/vec_comps.exp | 2 +-
gdb/testsuite/gdb.opt/clobbered-registers-O2.c | 2 +-
gdb/testsuite/gdb.opt/clobbered-registers-O2.exp | 2 +-
gdb/testsuite/gdb.opt/inline-break.c | 2 +-
gdb/testsuite/gdb.opt/inline-break.exp | 38 +-
gdb/testsuite/gdb.opt/inline-bt.c | 2 +-
gdb/testsuite/gdb.opt/inline-bt.exp | 2 +-
gdb/testsuite/gdb.opt/inline-cmds.c | 2 +-
gdb/testsuite/gdb.opt/inline-cmds.exp | 2 +-
gdb/testsuite/gdb.opt/inline-locals.c | 2 +-
gdb/testsuite/gdb.opt/inline-locals.exp | 2 +-
gdb/testsuite/gdb.opt/inline-markers.c | 2 +-
gdb/testsuite/gdb.opt/solib-intra-step-lib.c | 2 +-
gdb/testsuite/gdb.opt/solib-intra-step-main.c | 2 +-
gdb/testsuite/gdb.opt/solib-intra-step.exp | 2 +-
.../gdb.pascal/case-insensitive-symbols.exp | 2 +-
.../gdb.pascal/case-insensitive-symbols.pas | 2 +-
gdb/testsuite/gdb.pascal/floats.exp | 2 +-
gdb/testsuite/gdb.pascal/floats.pas | 2 +-
gdb/testsuite/gdb.pascal/gdb11492.exp | 2 +-
gdb/testsuite/gdb.pascal/gdb11492.pas | 2 +-
gdb/testsuite/gdb.pascal/hello.exp | 2 +-
gdb/testsuite/gdb.pascal/integers.exp | 2 +-
gdb/testsuite/gdb.pascal/integers.pas | 2 +-
gdb/testsuite/gdb.pascal/print.exp | 2 +-
gdb/testsuite/gdb.pascal/stub-method.exp | 2 +-
gdb/testsuite/gdb.pascal/stub-method.pas | 2 +-
gdb/testsuite/gdb.pascal/types.exp | 2 +-
gdb/testsuite/gdb.perf/backtrace.c | 2 +-
gdb/testsuite/gdb.perf/backtrace.exp | 2 +-
gdb/testsuite/gdb.perf/backtrace.py | 2 +-
gdb/testsuite/gdb.perf/disassemble.exp | 2 +-
gdb/testsuite/gdb.perf/disassemble.py | 2 +-
gdb/testsuite/gdb.perf/gm-hello.cc | 2 +-
gdb/testsuite/gdb.perf/gm-pervasive-typedef.cc | 2 +-
gdb/testsuite/gdb.perf/gm-pervasive-typedef.h | 2 +-
gdb/testsuite/gdb.perf/gm-std.cc | 2 +-
gdb/testsuite/gdb.perf/gm-std.h | 2 +-
gdb/testsuite/gdb.perf/gm-use-cerr.cc | 2 +-
gdb/testsuite/gdb.perf/gm-utils.h | 2 +-
gdb/testsuite/gdb.perf/gmonster-null-lookup.py | 2 +-
.../gdb.perf/gmonster-pervasive-typedef.py | 2 +-
gdb/testsuite/gdb.perf/gmonster-print-cerr.py | 2 +-
gdb/testsuite/gdb.perf/gmonster-ptype-string.py | 2 +-
gdb/testsuite/gdb.perf/gmonster-runto-main.py | 2 +-
gdb/testsuite/gdb.perf/gmonster-select-file.py | 2 +-
gdb/testsuite/gdb.perf/gmonster1-null-lookup.exp | 2 +-
.../gdb.perf/gmonster1-pervasive-typedef.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster1-print-cerr.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster1-ptype-string.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster1-runto-main.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster1-select-file.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster1.cc | 2 +-
gdb/testsuite/gdb.perf/gmonster1.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster2-null-lookup.exp | 2 +-
.../gdb.perf/gmonster2-pervasive-typedef.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster2-print-cerr.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster2-ptype-string.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster2-runto-main.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster2-select-file.exp | 2 +-
gdb/testsuite/gdb.perf/gmonster2.cc | 2 +-
gdb/testsuite/gdb.perf/gmonster2.exp | 2 +-
gdb/testsuite/gdb.perf/lib/perftest/__init__.py | 2 +-
gdb/testsuite/gdb.perf/lib/perftest/measure.py | 2 +-
gdb/testsuite/gdb.perf/lib/perftest/perftest.py | 2 +-
gdb/testsuite/gdb.perf/lib/perftest/reporter.py | 2 +-
gdb/testsuite/gdb.perf/lib/perftest/testresult.py | 2 +-
gdb/testsuite/gdb.perf/lib/perftest/utils.py | 2 +-
gdb/testsuite/gdb.perf/single-step.c | 2 +-
gdb/testsuite/gdb.perf/single-step.exp | 2 +-
gdb/testsuite/gdb.perf/single-step.py | 2 +-
gdb/testsuite/gdb.perf/skip-command.cc | 2 +-
gdb/testsuite/gdb.perf/skip-command.exp | 2 +-
gdb/testsuite/gdb.perf/skip-command.py | 2 +-
gdb/testsuite/gdb.perf/skip-prologue.c | 2 +-
gdb/testsuite/gdb.perf/skip-prologue.exp | 2 +-
gdb/testsuite/gdb.perf/skip-prologue.py | 2 +-
gdb/testsuite/gdb.perf/solib.c | 2 +-
gdb/testsuite/gdb.perf/solib.exp | 2 +-
gdb/testsuite/gdb.perf/solib.py | 2 +-
gdb/testsuite/gdb.perf/template-breakpoints.cc | 2 +-
gdb/testsuite/gdb.perf/template-breakpoints.exp | 2 +-
gdb/testsuite/gdb.perf/template-breakpoints.py | 2 +-
.../gdb.python/amd64-py-framefilter-invalidarg.S | 2 +-
gdb/testsuite/gdb.python/lib-types.cc | 2 +-
gdb/testsuite/gdb.python/lib-types.exp | 2 +-
gdb/testsuite/gdb.python/py-arch.c | 2 +-
gdb/testsuite/gdb.python/py-arch.exp | 2 +-
gdb/testsuite/gdb.python/py-as-string.c | 2 +-
gdb/testsuite/gdb.python/py-as-string.exp | 2 +-
gdb/testsuite/gdb.python/py-bad-printers.c | 2 +-
gdb/testsuite/gdb.python/py-bad-printers.exp | 2 +-
gdb/testsuite/gdb.python/py-bad-printers.py | 2 +-
gdb/testsuite/gdb.python/py-block.c | 2 +-
gdb/testsuite/gdb.python/py-block.exp | 2 +-
.../gdb.python/py-breakpoint-create-fail.c | 2 +-
.../gdb.python/py-breakpoint-create-fail.exp | 2 +-
.../gdb.python/py-breakpoint-create-fail.py | 2 +-
gdb/testsuite/gdb.python/py-breakpoint.c | 2 +-
gdb/testsuite/gdb.python/py-breakpoint.exp | 2 +-
gdb/testsuite/gdb.python/py-caller-is.c | 2 +-
gdb/testsuite/gdb.python/py-caller-is.exp | 2 +-
gdb/testsuite/gdb.python/py-cmd.c | 2 +-
gdb/testsuite/gdb.python/py-cmd.exp | 42 +-
gdb/testsuite/gdb.python/py-completion.exp | 2 +-
gdb/testsuite/gdb.python/py-completion.py | 2 +-
gdb/testsuite/gdb.python/py-error.exp | 2 +-
gdb/testsuite/gdb.python/py-error.py | 2 +-
gdb/testsuite/gdb.python/py-events-shlib.c | 2 +-
gdb/testsuite/gdb.python/py-events.c | 2 +-
gdb/testsuite/gdb.python/py-events.exp | 2 +-
gdb/testsuite/gdb.python/py-events.py | 2 +-
gdb/testsuite/gdb.python/py-evsignal.exp | 2 +-
gdb/testsuite/gdb.python/py-evthreads.c | 2 +-
gdb/testsuite/gdb.python/py-evthreads.exp | 2 +-
gdb/testsuite/gdb.python/py-explore-cc.exp | 2 +-
gdb/testsuite/gdb.python/py-explore.c | 2 +-
gdb/testsuite/gdb.python/py-explore.cc | 2 +-
gdb/testsuite/gdb.python/py-explore.exp | 2 +-
gdb/testsuite/gdb.python/py-finish-breakpoint.c | 2 +-
gdb/testsuite/gdb.python/py-finish-breakpoint.exp | 12 +-
gdb/testsuite/gdb.python/py-finish-breakpoint.py | 2 +-
gdb/testsuite/gdb.python/py-finish-breakpoint2.cc | 2 +-
gdb/testsuite/gdb.python/py-finish-breakpoint2.exp | 2 +-
gdb/testsuite/gdb.python/py-finish-breakpoint2.py | 2 +-
gdb/testsuite/gdb.python/py-format-string.c | 118 +
gdb/testsuite/gdb.python/py-format-string.exp | 957 +
gdb/testsuite/gdb.python/py-format-string.py | 49 +
gdb/testsuite/gdb.python/py-frame-args.c | 2 +-
gdb/testsuite/gdb.python/py-frame-args.exp | 2 +-
gdb/testsuite/gdb.python/py-frame-args.py | 2 +-
gdb/testsuite/gdb.python/py-frame-inline.c | 2 +-
gdb/testsuite/gdb.python/py-frame-inline.exp | 2 +-
gdb/testsuite/gdb.python/py-frame.exp | 2 +-
gdb/testsuite/gdb.python/py-framefilter-gdb.py.in | 2 +-
.../gdb.python/py-framefilter-invalidarg-gdb.py.in | 2 +-
.../gdb.python/py-framefilter-invalidarg.exp | 2 +-
.../gdb.python/py-framefilter-invalidarg.py | 2 +-
gdb/testsuite/gdb.python/py-framefilter-mi.c | 2 +-
gdb/testsuite/gdb.python/py-framefilter-mi.exp | 2 +-
gdb/testsuite/gdb.python/py-framefilter.c | 2 +-
gdb/testsuite/gdb.python/py-framefilter.exp | 2 +-
gdb/testsuite/gdb.python/py-framefilter.py | 2 +-
gdb/testsuite/gdb.python/py-function.exp | 2 +-
gdb/testsuite/gdb.python/py-inferior.exp | 2 +-
gdb/testsuite/gdb.python/py-infthread.exp | 2 +-
gdb/testsuite/gdb.python/py-lazy-string.c | 2 +-
gdb/testsuite/gdb.python/py-lazy-string.exp | 2 +-
gdb/testsuite/gdb.python/py-linetable.S | 2 +-
gdb/testsuite/gdb.python/py-linetable.c | 2 +-
gdb/testsuite/gdb.python/py-linetable.exp | 2 +-
gdb/testsuite/gdb.python/py-lookup-type.exp | 2 +-
gdb/testsuite/gdb.python/py-mi-events-gdb.py | 2 +-
gdb/testsuite/gdb.python/py-mi-events.c | 2 +-
gdb/testsuite/gdb.python/py-mi-events.exp | 2 +-
gdb/testsuite/gdb.python/py-mi-objfile-gdb.py | 2 +-
gdb/testsuite/gdb.python/py-mi-objfile.c | 2 +-
gdb/testsuite/gdb.python/py-mi-objfile.exp | 2 +-
.../gdb.python/py-mi-var-info-path-expression.c | 2 +-
.../gdb.python/py-mi-var-info-path-expression.exp | 2 +-
.../gdb.python/py-mi-var-info-path-expression.py | 2 +-
gdb/testsuite/gdb.python/py-mi.exp | 2 +-
gdb/testsuite/gdb.python/py-objfile-script-gdb.py | 2 +-
gdb/testsuite/gdb.python/py-objfile-script.c | 2 +-
gdb/testsuite/gdb.python/py-objfile-script.exp | 2 +-
gdb/testsuite/gdb.python/py-objfile.c | 2 +-
gdb/testsuite/gdb.python/py-objfile.exp | 2 +-
gdb/testsuite/gdb.python/py-parameter.exp | 2 +-
gdb/testsuite/gdb.python/py-pp-integral.c | 2 +-
gdb/testsuite/gdb.python/py-pp-integral.exp | 2 +-
gdb/testsuite/gdb.python/py-pp-integral.py | 2 +-
gdb/testsuite/gdb.python/py-pp-maint.c | 2 +-
gdb/testsuite/gdb.python/py-pp-maint.exp | 2 +-
gdb/testsuite/gdb.python/py-pp-maint.py | 2 +-
gdb/testsuite/gdb.python/py-pp-re-notag.c | 2 +-
gdb/testsuite/gdb.python/py-pp-re-notag.exp | 2 +-
gdb/testsuite/gdb.python/py-pp-re-notag.py | 2 +-
gdb/testsuite/gdb.python/py-pp-registration.c | 2 +-
gdb/testsuite/gdb.python/py-pp-registration.exp | 2 +-
gdb/testsuite/gdb.python/py-pp-registration.py | 2 +-
gdb/testsuite/gdb.python/py-prettyprint.c | 4 +-
gdb/testsuite/gdb.python/py-prettyprint.exp | 43 +-
gdb/testsuite/gdb.python/py-prettyprint.py | 8 +-
gdb/testsuite/gdb.python/py-progspace.c | 2 +-
gdb/testsuite/gdb.python/py-progspace.exp | 2 +-
gdb/testsuite/gdb.python/py-prompt.c | 2 +-
gdb/testsuite/gdb.python/py-prompt.exp | 2 +-
gdb/testsuite/gdb.python/py-rbreak-func2.c | 2 +-
gdb/testsuite/gdb.python/py-rbreak.c | 2 +-
gdb/testsuite/gdb.python/py-rbreak.exp | 2 +-
.../gdb.python/py-record-btrace-threads.c | 2 +-
.../gdb.python/py-record-btrace-threads.exp | 2 +-
gdb/testsuite/gdb.python/py-record-btrace.c | 2 +-
gdb/testsuite/gdb.python/py-record-btrace.exp | 2 +-
gdb/testsuite/gdb.python/py-record-full.c | 2 +-
gdb/testsuite/gdb.python/py-record-full.exp | 2 +-
gdb/testsuite/gdb.python/py-recurse-unwind.c | 2 +-
gdb/testsuite/gdb.python/py-recurse-unwind.exp | 2 +-
gdb/testsuite/gdb.python/py-recurse-unwind.py | 2 +-
gdb/testsuite/gdb.python/py-rvalue-ref-value-cc.cc | 2 +-
.../gdb.python/py-rvalue-ref-value-cc.exp | 2 +-
gdb/testsuite/gdb.python/py-section-script.c | 2 +-
gdb/testsuite/gdb.python/py-section-script.exp | 2 +-
gdb/testsuite/gdb.python/py-section-script.py | 2 +-
gdb/testsuite/gdb.python/py-shared-sl.c | 2 +-
gdb/testsuite/gdb.python/py-shared.c | 2 +-
gdb/testsuite/gdb.python/py-shared.exp | 2 +-
gdb/testsuite/gdb.python/py-strfns.c | 2 +-
gdb/testsuite/gdb.python/py-strfns.exp | 2 +-
gdb/testsuite/gdb.python/py-symbol.c | 2 +-
gdb/testsuite/gdb.python/py-symbol.exp | 2 +-
gdb/testsuite/gdb.python/py-symtab.exp | 2 +-
gdb/testsuite/gdb.python/py-sync-interp.c | 2 +-
gdb/testsuite/gdb.python/py-sync-interp.exp | 2 +-
gdb/testsuite/gdb.python/py-template.cc | 2 +-
gdb/testsuite/gdb.python/py-template.exp | 2 +-
gdb/testsuite/gdb.python/py-thrhandle.c | 2 +-
gdb/testsuite/gdb.python/py-thrhandle.exp | 2 +-
gdb/testsuite/gdb.python/py-type.c | 2 +-
gdb/testsuite/gdb.python/py-type.exp | 2 +-
gdb/testsuite/gdb.python/py-typeprint.cc | 2 +-
gdb/testsuite/gdb.python/py-typeprint.exp | 2 +-
gdb/testsuite/gdb.python/py-typeprint.py | 2 +-
gdb/testsuite/gdb.python/py-unwind-maint.c | 2 +-
gdb/testsuite/gdb.python/py-unwind-maint.exp | 2 +-
gdb/testsuite/gdb.python/py-unwind-maint.py | 2 +-
gdb/testsuite/gdb.python/py-unwind.c | 2 +-
gdb/testsuite/gdb.python/py-unwind.exp | 2 +-
gdb/testsuite/gdb.python/py-unwind.py | 2 +-
gdb/testsuite/gdb.python/py-value-cc.cc | 2 +-
gdb/testsuite/gdb.python/py-value-cc.exp | 2 +-
gdb/testsuite/gdb.python/py-value.c | 2 +-
gdb/testsuite/gdb.python/py-value.exp | 47 +-
gdb/testsuite/gdb.python/py-xmethods.cc | 2 +-
gdb/testsuite/gdb.python/py-xmethods.exp | 2 +-
gdb/testsuite/gdb.python/py-xmethods.py | 2 +-
gdb/testsuite/gdb.python/python-1.c | 2 +-
gdb/testsuite/gdb.python/python.c | 2 +-
gdb/testsuite/gdb.python/python.exp | 3 +-
gdb/testsuite/gdb.python/source1 | 2 +-
gdb/testsuite/gdb.python/source2.py | 2 +-
gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S | 2 +-
gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c | 2 +-
.../gdb.reverse/amd64-tailcall-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/break-precsave.exp | 2 +-
gdb/testsuite/gdb.reverse/break-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/break-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/consecutive-precsave.exp | 2 +-
gdb/testsuite/gdb.reverse/consecutive-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/consecutive-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/finish-precsave.exp | 2 +-
gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp | 2 +-
gdb/testsuite/gdb.reverse/finish-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/finish-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/fstatat-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/fstatat-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/getresuid-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/getresuid-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/i386-precsave.exp | 2 +-
gdb/testsuite/gdb.reverse/i386-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/i386-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/i386-sse-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/i386-sse-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/i387-env-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/i387-stack-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/insn-reverse-aarch64.c | 2 +-
gdb/testsuite/gdb.reverse/insn-reverse-arm.c | 2 +-
gdb/testsuite/gdb.reverse/insn-reverse-x86.c | 2 +-
gdb/testsuite/gdb.reverse/insn-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/insn-reverse.exp | 2 +-
.../gdb.reverse/machinestate-precsave.exp | 2 +-
gdb/testsuite/gdb.reverse/machinestate.c | 2 +-
gdb/testsuite/gdb.reverse/machinestate.exp | 2 +-
gdb/testsuite/gdb.reverse/ms1.c | 2 +-
.../gdb.reverse/next-reverse-bkpt-over-sr.exp | 2 +-
gdb/testsuite/gdb.reverse/pipe-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/pipe-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/readv-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/readv-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/recvmsg-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/recvmsg-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/rerun-prec.c | 2 +-
gdb/testsuite/gdb.reverse/rerun-prec.exp | 2 +-
gdb/testsuite/gdb.reverse/s390-mvcle.c | 2 +-
gdb/testsuite/gdb.reverse/s390-mvcle.exp | 2 +-
gdb/testsuite/gdb.reverse/shr.h | 2 +-
gdb/testsuite/gdb.reverse/shr1.c | 2 +-
gdb/testsuite/gdb.reverse/shr2.c | 2 +-
gdb/testsuite/gdb.reverse/sigall-precsave.exp | 2 +-
gdb/testsuite/gdb.reverse/sigall-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/sigall-reverse.exp | 2 +-
.../gdb.reverse/singlejmp-reverse-nodebug.S | 2 +-
.../gdb.reverse/singlejmp-reverse-nodebug.c | 2 +-
gdb/testsuite/gdb.reverse/singlejmp-reverse.S | 2 +-
gdb/testsuite/gdb.reverse/singlejmp-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/singlejmp-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/solib-precsave.exp | 2 +-
gdb/testsuite/gdb.reverse/solib-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/solib-reverse.exp | 2 +-
.../gdb.reverse/step-indirect-call-thunk.c | 2 +-
.../gdb.reverse/step-indirect-call-thunk.exp | 2 +-
gdb/testsuite/gdb.reverse/step-precsave.exp | 2 +-
gdb/testsuite/gdb.reverse/step-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/step-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/time-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/time-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/until-precsave.exp | 2 +-
gdb/testsuite/gdb.reverse/until-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/until-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/ur1.c | 2 +-
gdb/testsuite/gdb.reverse/waitpid-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/waitpid-reverse.exp | 2 +-
gdb/testsuite/gdb.reverse/watch-precsave.exp | 2 +-
gdb/testsuite/gdb.reverse/watch-reverse.c | 2 +-
gdb/testsuite/gdb.reverse/watch-reverse.exp | 2 +-
gdb/testsuite/gdb.rust/expr.exp | 6 +-
gdb/testsuite/gdb.rust/generics.exp | 2 +-
gdb/testsuite/gdb.rust/generics.rs | 2 +-
gdb/testsuite/gdb.rust/methods.exp | 2 +-
gdb/testsuite/gdb.rust/methods.rs | 2 +-
gdb/testsuite/gdb.rust/modules.exp | 2 +-
gdb/testsuite/gdb.rust/modules.rs | 2 +-
gdb/testsuite/gdb.rust/simple.exp | 15 +-
gdb/testsuite/gdb.rust/simple.rs | 4 +-
gdb/testsuite/gdb.rust/traits.exp | 2 +-
gdb/testsuite/gdb.rust/traits.rs | 2 +-
gdb/testsuite/gdb.rust/unsized.exp | 2 +-
gdb/testsuite/gdb.rust/unsized.rs | 2 +-
gdb/testsuite/gdb.rust/watch.exp | 2 +-
gdb/testsuite/gdb.rust/watch.rs | 2 +-
gdb/testsuite/gdb.server/abspath.exp | 2 +-
gdb/testsuite/gdb.server/connect-stopped-target.c | 2 +-
.../gdb.server/connect-stopped-target.exp | 2 +-
.../gdb.server/connect-with-no-symbol-file.c | 2 +-
.../gdb.server/connect-with-no-symbol-file.exp | 2 +-
.../gdb.server/connect-without-multi-process.c | 2 +-
.../gdb.server/connect-without-multi-process.exp | 2 +-
gdb/testsuite/gdb.server/ext-attach.c | 2 +-
gdb/testsuite/gdb.server/ext-attach.exp | 2 +-
gdb/testsuite/gdb.server/ext-restart.exp | 2 +-
gdb/testsuite/gdb.server/ext-run.exp | 2 +-
gdb/testsuite/gdb.server/ext-wrapper.exp | 2 +-
gdb/testsuite/gdb.server/extended-remote-restart.c | 2 +-
.../gdb.server/extended-remote-restart.exp | 2 +-
gdb/testsuite/gdb.server/file-transfer.exp | 2 +-
gdb/testsuite/gdb.server/no-thread-db.c | 2 +-
gdb/testsuite/gdb.server/no-thread-db.exp | 2 +-
gdb/testsuite/gdb.server/non-existing-program.exp | 2 +-
gdb/testsuite/gdb.server/normal.c | 2 +-
gdb/testsuite/gdb.server/reconnect-ctrl-c.c | 2 +-
gdb/testsuite/gdb.server/reconnect-ctrl-c.exp | 2 +-
.../gdb.server/run-without-local-binary.exp | 2 +-
gdb/testsuite/gdb.server/server-connect.exp | 2 +-
gdb/testsuite/gdb.server/server-exec-info.exp | 2 +-
gdb/testsuite/gdb.server/server-kill.c | 2 +-
gdb/testsuite/gdb.server/server-kill.exp | 2 +-
gdb/testsuite/gdb.server/server-mon.exp | 2 +-
gdb/testsuite/gdb.server/server-run.exp | 2 +-
gdb/testsuite/gdb.server/server.c | 2 +-
gdb/testsuite/gdb.server/solib-list-lib.c | 2 +-
gdb/testsuite/gdb.server/solib-list-main.c | 2 +-
gdb/testsuite/gdb.server/solib-list.exp | 2 +-
gdb/testsuite/gdb.server/stop-reply-no-thread.c | 2 +-
gdb/testsuite/gdb.server/stop-reply-no-thread.exp | 2 +-
gdb/testsuite/gdb.server/unittest.exp | 2 +-
gdb/testsuite/gdb.server/wrapper.c | 2 +-
gdb/testsuite/gdb.server/wrapper.exp | 2 +-
gdb/testsuite/gdb.stabs/exclfwd.exp | 2 +-
gdb/testsuite/gdb.stabs/exclfwd.h | 2 +-
gdb/testsuite/gdb.stabs/exclfwd1.c | 2 +-
gdb/testsuite/gdb.stabs/exclfwd2.c | 2 +-
gdb/testsuite/gdb.stabs/gdb11479.c | 2 +-
gdb/testsuite/gdb.stabs/gdb11479.exp | 2 +-
gdb/testsuite/gdb.stabs/weird.exp | 2 +-
gdb/testsuite/gdb.threads/attach-into-signal.c | 2 +-
gdb/testsuite/gdb.threads/attach-into-signal.exp | 2 +-
.../gdb.threads/attach-many-short-lived-threads.c | 2 +-
.../attach-many-short-lived-threads.exp | 2 +-
gdb/testsuite/gdb.threads/attach-slow-waitpid.c | 2 +-
gdb/testsuite/gdb.threads/attach-slow-waitpid.exp | 2 +-
gdb/testsuite/gdb.threads/attach-stopped.c | 2 +-
gdb/testsuite/gdb.threads/attach-stopped.exp | 2 +-
gdb/testsuite/gdb.threads/bp_in_thread.c | 2 +-
gdb/testsuite/gdb.threads/bp_in_thread.exp | 2 +-
gdb/testsuite/gdb.threads/break-while-running.c | 2 +-
gdb/testsuite/gdb.threads/break-while-running.exp | 2 +-
gdb/testsuite/gdb.threads/check-libthread-db.c | 2 +-
gdb/testsuite/gdb.threads/check-libthread-db.exp | 2 +-
gdb/testsuite/gdb.threads/clone-attach-detach.c | 2 +-
gdb/testsuite/gdb.threads/clone-attach-detach.exp | 2 +-
gdb/testsuite/gdb.threads/clone-new-thread-event.c | 2 +-
.../gdb.threads/clone-new-thread-event.exp | 2 +-
gdb/testsuite/gdb.threads/clone-thread_db.c | 2 +-
gdb/testsuite/gdb.threads/clone-thread_db.exp | 2 +-
.../gdb.threads/continue-pending-after-query.c | 2 +-
.../gdb.threads/continue-pending-after-query.exp | 2 +-
.../gdb.threads/continue-pending-status.c | 2 +-
.../gdb.threads/continue-pending-status.exp | 2 +-
gdb/testsuite/gdb.threads/corethreads.c | 2 +-
gdb/testsuite/gdb.threads/corethreads.exp | 2 +-
gdb/testsuite/gdb.threads/create-fail.c | 2 +-
gdb/testsuite/gdb.threads/create-fail.exp | 2 +-
gdb/testsuite/gdb.threads/current-lwp-dead.c | 2 +-
gdb/testsuite/gdb.threads/current-lwp-dead.exp | 2 +-
gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c | 2 +-
gdb/testsuite/gdb.threads/dlopen-libpthread.c | 2 +-
gdb/testsuite/gdb.threads/dlopen-libpthread.exp | 2 +-
gdb/testsuite/gdb.threads/execl.c | 2 +-
gdb/testsuite/gdb.threads/execl.exp | 2 +-
gdb/testsuite/gdb.threads/execl1.c | 2 +-
gdb/testsuite/gdb.threads/fork-child-threads.c | 2 +-
gdb/testsuite/gdb.threads/fork-child-threads.exp | 2 +-
gdb/testsuite/gdb.threads/fork-plus-threads.c | 2 +-
gdb/testsuite/gdb.threads/fork-plus-threads.exp | 2 +-
gdb/testsuite/gdb.threads/fork-thread-pending.c | 2 +-
gdb/testsuite/gdb.threads/fork-thread-pending.exp | 2 +-
.../gdb.threads/forking-threads-plus-breakpoint.c | 2 +-
.../forking-threads-plus-breakpoint.exp | 2 +-
gdb/testsuite/gdb.threads/gcore-stale-thread.c | 2 +-
gdb/testsuite/gdb.threads/gcore-stale-thread.exp | 2 +-
gdb/testsuite/gdb.threads/gcore-thread.exp | 2 +-
gdb/testsuite/gdb.threads/hand-call-in-threads.c | 2 +-
gdb/testsuite/gdb.threads/hand-call-in-threads.exp | 2 +-
gdb/testsuite/gdb.threads/hand-call-new-thread.c | 2 +-
gdb/testsuite/gdb.threads/hand-call-new-thread.exp | 2 +-
gdb/testsuite/gdb.threads/ia64-sigill.c | 2 +-
gdb/testsuite/gdb.threads/ia64-sigill.exp | 2 +-
gdb/testsuite/gdb.threads/info-threads-cur-sal-2.c | 2 +-
gdb/testsuite/gdb.threads/info-threads-cur-sal.c | 2 +-
gdb/testsuite/gdb.threads/info-threads-cur-sal.exp | 2 +-
.../gdb.threads/interrupt-while-step-over.c | 2 +-
.../gdb.threads/interrupt-while-step-over.exp | 2 +-
gdb/testsuite/gdb.threads/interrupted-hand-call.c | 2 +-
.../gdb.threads/interrupted-hand-call.exp | 2 +-
gdb/testsuite/gdb.threads/kill.c | 2 +-
gdb/testsuite/gdb.threads/kill.exp | 2 +-
gdb/testsuite/gdb.threads/killed.c | 2 +-
gdb/testsuite/gdb.threads/killed.exp | 2 +-
gdb/testsuite/gdb.threads/leader-exit.c | 2 +-
gdb/testsuite/gdb.threads/leader-exit.exp | 2 +-
gdb/testsuite/gdb.threads/linux-dp.exp | 2 +-
.../gdb.threads/local-watch-wrong-thread.c | 2 +-
.../gdb.threads/local-watch-wrong-thread.exp | 2 +-
gdb/testsuite/gdb.threads/manythreads.c | 2 +-
gdb/testsuite/gdb.threads/manythreads.exp | 2 +-
.../gdb.threads/multi-create-ns-info-thr.exp | 2 +-
gdb/testsuite/gdb.threads/multi-create.c | 2 +-
gdb/testsuite/gdb.threads/multi-create.exp | 2 +-
gdb/testsuite/gdb.threads/multiple-step-overs.c | 2 +-
gdb/testsuite/gdb.threads/multiple-step-overs.exp | 2 +-
.../gdb.threads/multiple-successive-infcall.c | 2 +-
.../gdb.threads/multiple-successive-infcall.exp | 2 +-
gdb/testsuite/gdb.threads/names.c | 2 +-
gdb/testsuite/gdb.threads/names.exp | 2 +-
gdb/testsuite/gdb.threads/next-bp-other-thread.c | 2 +-
gdb/testsuite/gdb.threads/next-bp-other-thread.exp | 2 +-
.../gdb.threads/next-while-other-thread-longjmps.c | 2 +-
.../next-while-other-thread-longjmps.exp | 2 +-
gdb/testsuite/gdb.threads/no-unwaited-for-left.c | 2 +-
gdb/testsuite/gdb.threads/no-unwaited-for-left.exp | 2 +-
gdb/testsuite/gdb.threads/non-ldr-exc-1.c | 2 +-
gdb/testsuite/gdb.threads/non-ldr-exc-1.exp | 2 +-
gdb/testsuite/gdb.threads/non-ldr-exc-2.c | 2 +-
gdb/testsuite/gdb.threads/non-ldr-exc-2.exp | 2 +-
gdb/testsuite/gdb.threads/non-ldr-exc-3.c | 2 +-
gdb/testsuite/gdb.threads/non-ldr-exc-3.exp | 2 +-
gdb/testsuite/gdb.threads/non-ldr-exc-4.c | 2 +-
gdb/testsuite/gdb.threads/non-ldr-exc-4.exp | 2 +-
gdb/testsuite/gdb.threads/non-ldr-exit.c | 2 +-
gdb/testsuite/gdb.threads/non-ldr-exit.exp | 2 +-
gdb/testsuite/gdb.threads/non-stop-fair-events.c | 2 +-
gdb/testsuite/gdb.threads/non-stop-fair-events.exp | 2 +-
gdb/testsuite/gdb.threads/pending-step.c | 2 +-
gdb/testsuite/gdb.threads/pending-step.exp | 2 +-
gdb/testsuite/gdb.threads/print-threads.exp | 2 +-
.../gdb.threads/process-dies-while-detaching.c | 2 +-
.../gdb.threads/process-dies-while-detaching.exp | 2 +-
.../gdb.threads/process-dies-while-handling-bp.c | 2 +-
.../gdb.threads/process-dies-while-handling-bp.exp | 2 +-
gdb/testsuite/gdb.threads/pthread_cond_wait.c | 2 +-
gdb/testsuite/gdb.threads/pthread_cond_wait.exp | 2 +-
gdb/testsuite/gdb.threads/pthreads.c | 2 +-
gdb/testsuite/gdb.threads/pthreads.exp | 2 +-
gdb/testsuite/gdb.threads/queue-signal.c | 2 +-
gdb/testsuite/gdb.threads/queue-signal.exp | 2 +-
gdb/testsuite/gdb.threads/reconnect-signal.c | 2 +-
gdb/testsuite/gdb.threads/reconnect-signal.exp | 2 +-
gdb/testsuite/gdb.threads/schedlock.c | 2 +-
gdb/testsuite/gdb.threads/schedlock.exp | 2 +-
gdb/testsuite/gdb.threads/siginfo-threads.c | 2 +-
gdb/testsuite/gdb.threads/siginfo-threads.exp | 2 +-
.../gdb.threads/signal-command-handle-nopass.c | 2 +-
.../gdb.threads/signal-command-handle-nopass.exp | 2 +-
.../signal-command-multiple-signals-pending.c | 2 +-
.../signal-command-multiple-signals-pending.exp | 2 +-
.../gdb.threads/signal-delivered-right-thread.c | 2 +-
.../gdb.threads/signal-delivered-right-thread.exp | 2 +-
gdb/testsuite/gdb.threads/signal-sigtrap.c | 2 +-
gdb/testsuite/gdb.threads/signal-sigtrap.exp | 2 +-
.../signal-while-stepping-over-bp-other-thread.c | 2 +-
.../signal-while-stepping-over-bp-other-thread.exp | 2 +-
gdb/testsuite/gdb.threads/sigstep-threads.c | 2 +-
gdb/testsuite/gdb.threads/sigstep-threads.exp | 2 +-
gdb/testsuite/gdb.threads/sigthread.exp | 2 +-
gdb/testsuite/gdb.threads/slow-waitpid.c | 2 +-
gdb/testsuite/gdb.threads/staticthreads.c | 2 +-
gdb/testsuite/gdb.threads/staticthreads.exp | 2 +-
.../gdb.threads/step-bg-decr-pc-switch-thread.c | 2 +-
.../gdb.threads/step-bg-decr-pc-switch-thread.exp | 2 +-
.../gdb.threads/step-over-lands-on-breakpoint.c | 2 +-
.../gdb.threads/step-over-lands-on-breakpoint.exp | 2 +-
.../gdb.threads/step-over-trips-on-watchpoint.c | 2 +-
.../gdb.threads/step-over-trips-on-watchpoint.exp | 2 +-
gdb/testsuite/gdb.threads/stepi-random-signal.c | 2 +-
gdb/testsuite/gdb.threads/stepi-random-signal.exp | 2 +-
gdb/testsuite/gdb.threads/switch-threads.c | 2 +-
gdb/testsuite/gdb.threads/switch-threads.exp | 2 +-
gdb/testsuite/gdb.threads/thread-execl.c | 2 +-
gdb/testsuite/gdb.threads/thread-execl.exp | 2 +-
gdb/testsuite/gdb.threads/thread-find.exp | 2 +-
gdb/testsuite/gdb.threads/thread-specific-bp.c | 2 +-
gdb/testsuite/gdb.threads/thread-specific-bp.exp | 2 +-
gdb/testsuite/gdb.threads/thread-specific.c | 2 +-
gdb/testsuite/gdb.threads/thread-specific.exp | 2 +-
.../gdb.threads/thread-unwindonsignal.exp | 2 +-
gdb/testsuite/gdb.threads/thread_check.c | 2 +-
gdb/testsuite/gdb.threads/thread_check.exp | 2 +-
gdb/testsuite/gdb.threads/thread_events.c | 2 +-
gdb/testsuite/gdb.threads/thread_events.exp | 2 +-
gdb/testsuite/gdb.threads/threadapply.c | 2 +-
gdb/testsuite/gdb.threads/threadapply.exp | 2 +-
gdb/testsuite/gdb.threads/threxit-hop-specific.c | 2 +-
gdb/testsuite/gdb.threads/threxit-hop-specific.exp | 2 +-
gdb/testsuite/gdb.threads/tid-reuse.c | 31 +-
gdb/testsuite/gdb.threads/tid-reuse.exp | 2 +-
gdb/testsuite/gdb.threads/tls-core.c | 2 +-
gdb/testsuite/gdb.threads/tls-core.exp | 2 +-
gdb/testsuite/gdb.threads/tls-nodebug-pie.c | 2 +-
gdb/testsuite/gdb.threads/tls-nodebug-pie.exp | 2 +-
gdb/testsuite/gdb.threads/tls-nodebug.exp | 2 +-
gdb/testsuite/gdb.threads/tls-shared.exp | 2 +-
gdb/testsuite/gdb.threads/tls-so_extern.c | 2 +-
gdb/testsuite/gdb.threads/tls-so_extern.exp | 2 +-
gdb/testsuite/gdb.threads/tls-so_extern_main.c | 2 +-
gdb/testsuite/gdb.threads/tls-var-main.c | 2 +-
gdb/testsuite/gdb.threads/tls-var.c | 2 +-
gdb/testsuite/gdb.threads/tls-var.exp | 2 +-
gdb/testsuite/gdb.threads/tls.exp | 2 +-
gdb/testsuite/gdb.threads/tls2.c | 2 +-
gdb/testsuite/gdb.threads/watchpoint-fork-child.c | 2 +-
gdb/testsuite/gdb.threads/watchpoint-fork-mt.c | 2 +-
gdb/testsuite/gdb.threads/watchpoint-fork-parent.c | 2 +-
gdb/testsuite/gdb.threads/watchpoint-fork-st.c | 2 +-
gdb/testsuite/gdb.threads/watchpoint-fork.exp | 36 +-
gdb/testsuite/gdb.threads/watchpoint-fork.h | 2 +-
gdb/testsuite/gdb.threads/watchthreads-reorder.c | 2 +-
gdb/testsuite/gdb.threads/watchthreads-reorder.exp | 2 +-
gdb/testsuite/gdb.threads/watchthreads.c | 2 +-
gdb/testsuite/gdb.threads/watchthreads.exp | 2 +-
gdb/testsuite/gdb.threads/watchthreads2.c | 2 +-
gdb/testsuite/gdb.threads/watchthreads2.exp | 2 +-
gdb/testsuite/gdb.threads/wp-replication.c | 2 +-
gdb/testsuite/gdb.threads/wp-replication.exp | 2 +-
gdb/testsuite/gdb.trace/actions-changed.c | 2 +-
gdb/testsuite/gdb.trace/actions-changed.exp | 2 +-
gdb/testsuite/gdb.trace/actions.c | 2 +-
gdb/testsuite/gdb.trace/actions.exp | 2 +-
gdb/testsuite/gdb.trace/ax.exp | 2 +-
gdb/testsuite/gdb.trace/backtrace.exp | 2 +-
gdb/testsuite/gdb.trace/change-loc-1.c | 2 +-
gdb/testsuite/gdb.trace/change-loc-2.c | 2 +-
gdb/testsuite/gdb.trace/change-loc.c | 2 +-
gdb/testsuite/gdb.trace/change-loc.exp | 2 +-
gdb/testsuite/gdb.trace/change-loc.h | 2 +-
gdb/testsuite/gdb.trace/circ.c | 2 +-
gdb/testsuite/gdb.trace/circ.exp | 2 +-
gdb/testsuite/gdb.trace/collection.c | 2 +-
gdb/testsuite/gdb.trace/collection.exp | 2 +-
gdb/testsuite/gdb.trace/deltrace.exp | 2 +-
gdb/testsuite/gdb.trace/disconnected-tracing.c | 2 +-
gdb/testsuite/gdb.trace/disconnected-tracing.exp | 2 +-
gdb/testsuite/gdb.trace/entry-values.c | 2 +-
gdb/testsuite/gdb.trace/entry-values.exp | 2 +-
gdb/testsuite/gdb.trace/ftrace-lock.c | 2 +-
gdb/testsuite/gdb.trace/ftrace-lock.exp | 2 +-
gdb/testsuite/gdb.trace/ftrace.c | 2 +-
gdb/testsuite/gdb.trace/ftrace.exp | 2 +-
gdb/testsuite/gdb.trace/infotrace.exp | 2 +-
.../gdb.trace/mi-trace-frame-collected.exp | 2 +-
gdb/testsuite/gdb.trace/mi-trace-save.exp | 2 +-
gdb/testsuite/gdb.trace/mi-trace-unavailable.exp | 2 +-
gdb/testsuite/gdb.trace/mi-traceframe-changed.exp | 2 +-
gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp | 2 +-
gdb/testsuite/gdb.trace/mi-tsv-changed.exp | 2 +-
gdb/testsuite/gdb.trace/no-attach-trace.c | 2 +-
gdb/testsuite/gdb.trace/no-attach-trace.exp | 2 +-
gdb/testsuite/gdb.trace/packetlen.exp | 2 +-
gdb/testsuite/gdb.trace/passc-dyn.exp | 2 +-
gdb/testsuite/gdb.trace/passcount.exp | 2 +-
gdb/testsuite/gdb.trace/pending.c | 2 +-
gdb/testsuite/gdb.trace/pending.exp | 2 +-
gdb/testsuite/gdb.trace/pendshr1.c | 2 +-
gdb/testsuite/gdb.trace/pendshr2.c | 2 +-
gdb/testsuite/gdb.trace/pr16508.exp | 2 +-
gdb/testsuite/gdb.trace/qtro.c | 2 +-
gdb/testsuite/gdb.trace/qtro.exp | 2 +-
gdb/testsuite/gdb.trace/range-stepping.c | 2 +-
gdb/testsuite/gdb.trace/range-stepping.exp | 2 +-
gdb/testsuite/gdb.trace/read-memory.c | 2 +-
gdb/testsuite/gdb.trace/read-memory.exp | 2 +-
gdb/testsuite/gdb.trace/report.exp | 2 +-
gdb/testsuite/gdb.trace/save-trace.exp | 2 +-
gdb/testsuite/gdb.trace/signal.c | 2 +-
gdb/testsuite/gdb.trace/signal.exp | 2 +-
gdb/testsuite/gdb.trace/stap-trace.c | 2 +-
gdb/testsuite/gdb.trace/stap-trace.exp | 2 +-
gdb/testsuite/gdb.trace/status-stop.c | 2 +-
gdb/testsuite/gdb.trace/status-stop.exp | 2 +-
gdb/testsuite/gdb.trace/strace.c | 2 +-
gdb/testsuite/gdb.trace/strace.exp | 2 +-
gdb/testsuite/gdb.trace/tfile.c | 2 +-
gdb/testsuite/gdb.trace/tfile.exp | 2 +-
gdb/testsuite/gdb.trace/tfind.exp | 2 +-
gdb/testsuite/gdb.trace/trace-break.c | 2 +-
gdb/testsuite/gdb.trace/trace-break.exp | 2 +-
gdb/testsuite/gdb.trace/trace-buffer-size.c | 2 +-
gdb/testsuite/gdb.trace/trace-buffer-size.exp | 2 +-
gdb/testsuite/gdb.trace/trace-common.h | 2 +-
gdb/testsuite/gdb.trace/trace-condition.c | 2 +-
gdb/testsuite/gdb.trace/trace-condition.exp | 2 +-
gdb/testsuite/gdb.trace/trace-enable-disable.c | 2 +-
gdb/testsuite/gdb.trace/trace-enable-disable.exp | 2 +-
gdb/testsuite/gdb.trace/trace-mt.c | 2 +-
gdb/testsuite/gdb.trace/trace-mt.exp | 2 +-
gdb/testsuite/gdb.trace/trace-unavailable.c | 2 +-
gdb/testsuite/gdb.trace/tracecmd.exp | 2 +-
gdb/testsuite/gdb.trace/tracefile-pseudo-reg.c | 2 +-
gdb/testsuite/gdb.trace/tracefile-pseudo-reg.exp | 2 +-
gdb/testsuite/gdb.trace/tspeed.c | 2 +-
gdb/testsuite/gdb.trace/tspeed.exp | 2 +-
gdb/testsuite/gdb.trace/tstatus.exp | 2 +-
gdb/testsuite/gdb.trace/tsv.exp | 2 +-
gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c | 2 +-
.../gdb.trace/unavailable-dwarf-piece.exp | 2 +-
gdb/testsuite/gdb.trace/unavailable.cc | 2 +-
gdb/testsuite/gdb.trace/unavailable.exp | 2 +-
gdb/testsuite/gdb.trace/while-dyn.exp | 2 +-
gdb/testsuite/gdb.trace/while-stepping.exp | 2 +-
gdb/testsuite/gdb.tui/completion.exp | 2 +-
gdb/testsuite/gdb.tui/tui-disasm-long-lines.c | 2 +-
gdb/testsuite/gdb.tui/tui-disasm-long-lines.exp | 2 +-
gdb/testsuite/gdb.tui/tui-layout.c | 2 +-
gdb/testsuite/gdb.tui/tui-layout.exp | 2 +-
gdb/testsuite/gdb.tui/tui-nl-filtered-output.exp | 2 +-
gdb/testsuite/gdb.xml/maint_print_struct.exp | 2 +-
gdb/testsuite/gdb.xml/maint_print_struct.xml | 2 +-
gdb/testsuite/gdb.xml/tdesc-arch.exp | 2 +-
gdb/testsuite/gdb.xml/tdesc-errors.exp | 2 +-
gdb/testsuite/gdb.xml/tdesc-regs.exp | 2 +-
gdb/testsuite/gdb.xml/tdesc-xinclude.exp | 2 +-
gdb/testsuite/lib/ada.exp | 2 +-
gdb/testsuite/lib/append_gdb_boards_dir.exp | 2 +-
gdb/testsuite/lib/build-piece.exp | 2 +-
gdb/testsuite/lib/cache.exp | 2 +-
gdb/testsuite/lib/cell.exp | 2 +-
gdb/testsuite/lib/cl_util.c | 2 +-
gdb/testsuite/lib/cl_util.h | 2 +-
gdb/testsuite/lib/compile-support.exp | 2 +-
gdb/testsuite/lib/compiler.c | 2 +-
gdb/testsuite/lib/compiler.cc | 2 +-
gdb/testsuite/lib/completion-support.exp | 2 +-
gdb/testsuite/lib/cp-support.exp | 2 +-
gdb/testsuite/lib/d-support.exp | 2 +-
gdb/testsuite/lib/data-structures.exp | 2 +-
gdb/testsuite/lib/dtrace.exp | 2 +-
gdb/testsuite/lib/dwarf.exp | 2 +-
gdb/testsuite/lib/fortran.exp | 2 +-
gdb/testsuite/lib/future.exp | 2 +-
gdb/testsuite/lib/gdb-guile.exp | 2 +-
gdb/testsuite/lib/gdb-python.exp | 2 +-
gdb/testsuite/lib/gdb-utils.exp | 2 +-
gdb/testsuite/lib/gdb.exp | 183 +-
gdb/testsuite/lib/gdbserver-support.exp | 4 +-
gdb/testsuite/lib/gen-perf-test.exp | 2 +-
gdb/testsuite/lib/go.exp | 2 +-
gdb/testsuite/lib/memory.exp | 2 +-
gdb/testsuite/lib/mi-support.exp | 7 +-
gdb/testsuite/lib/objc.exp | 2 +-
gdb/testsuite/lib/opencl.exp | 2 +-
gdb/testsuite/lib/opencl_hostapp.c | 2 +-
gdb/testsuite/lib/pascal.exp | 2 +-
gdb/testsuite/lib/pdtrace.in | 2 +-
gdb/testsuite/lib/perftest.exp | 2 +-
gdb/testsuite/lib/prelink-support.exp | 2 +-
gdb/testsuite/lib/prompt.exp | 2 +-
gdb/testsuite/lib/range-stepping-support.exp | 2 +-
gdb/testsuite/lib/read1.c | 2 +-
gdb/testsuite/lib/rust-support.exp | 2 +-
gdb/testsuite/lib/selftest-support.exp | 2 +-
gdb/testsuite/lib/set_unbuffered_mode.c | 2 +-
gdb/testsuite/lib/trace-support.exp | 2 +-
gdb/testsuite/lib/unbuffer_output.c | 2 +-
gdb/testsuite/lib/valgrind.exp | 2 +-
gdb/testsuite/print-ts.py | 48 +
gdb/thread-fsm.c | 109 -
gdb/thread-fsm.h | 108 +-
gdb/thread-iter.c | 101 +
gdb/thread-iter.h | 256 +
gdb/thread.c | 391 +-
gdb/tic6x-linux-tdep.c | 2 +-
gdb/tic6x-tdep.c | 7 +-
gdb/tic6x-tdep.h | 7 +-
gdb/tid-parse.c | 14 +-
gdb/tid-parse.h | 2 +-
gdb/tilegx-linux-nat.c | 2 +-
gdb/tilegx-linux-tdep.c | 2 +-
gdb/tilegx-tdep.c | 6 +-
gdb/tilegx-tdep.h | 2 +-
gdb/top.c | 112 +-
gdb/top.h | 10 +-
gdb/tracefile-tfile.c | 29 +-
gdb/tracefile.c | 7 +-
gdb/tracefile.h | 6 +-
gdb/tracepoint.c | 44 +-
gdb/tracepoint.h | 16 +-
gdb/trad-frame.c | 2 +-
gdb/trad-frame.h | 2 +-
gdb/tramp-frame.c | 2 +-
gdb/tramp-frame.h | 2 +-
gdb/transform.m4 | 2 +-
gdb/tui/tui-command.c | 2 +-
gdb/tui/tui-command.h | 8 +-
gdb/tui/tui-data.c | 7 +-
gdb/tui/tui-data.h | 8 +-
gdb/tui/tui-disasm.c | 2 +-
gdb/tui/tui-disasm.h | 8 +-
gdb/tui/tui-file.c | 2 +-
gdb/tui/tui-file.h | 8 +-
gdb/tui/tui-hooks.c | 19 +-
gdb/tui/tui-hooks.h | 8 +-
gdb/tui/tui-interp.c | 6 +-
gdb/tui/tui-io.c | 346 +-
gdb/tui/tui-io.h | 15 +-
gdb/tui/tui-layout.c | 2 +-
gdb/tui/tui-layout.h | 8 +-
gdb/tui/tui-out.c | 36 +-
gdb/tui/tui-out.h | 31 +-
gdb/tui/tui-regs.c | 2 +-
gdb/tui/tui-regs.h | 8 +-
gdb/tui/tui-source.c | 337 +-
gdb/tui/tui-source.h | 8 +-
gdb/tui/tui-stack.c | 8 +-
gdb/tui/tui-stack.h | 8 +-
gdb/tui/tui-win.c | 2 +-
gdb/tui/tui-win.h | 8 +-
gdb/tui/tui-windata.c | 2 +-
gdb/tui/tui-windata.h | 8 +-
gdb/tui/tui-wingeneral.c | 2 +-
gdb/tui/tui-wingeneral.h | 10 +-
gdb/tui/tui-winsource.c | 69 +-
gdb/tui/tui-winsource.h | 9 +-
gdb/tui/tui.c | 15 +-
gdb/tui/tui.h | 8 +-
gdb/typeprint.c | 10 +-
gdb/typeprint.h | 2 +-
gdb/ui-file.c | 10 +-
gdb/ui-file.h | 5 +-
gdb/ui-out.c | 17 +-
gdb/ui-out.h | 35 +-
gdb/ui-style.c | 413 +
gdb/ui-style.h | 241 +
gdb/unittests/array-view-selftests.c | 39 +-
gdb/unittests/basic_string_view/capacity/1.cc | 2 +-
.../basic_string_view/capacity/empty_neg.cc | 2 +-
gdb/unittests/basic_string_view/cons/char/1.cc | 2 +-
gdb/unittests/basic_string_view/cons/char/2.cc | 2 +-
gdb/unittests/basic_string_view/cons/char/3.cc | 2 +-
gdb/unittests/basic_string_view/cons/wchar_t/1.cc | 2 +-
gdb/unittests/basic_string_view/cons/wchar_t/2.cc | 2 +-
gdb/unittests/basic_string_view/cons/wchar_t/3.cc | 2 +-
.../basic_string_view/element_access/char/1.cc | 2 +-
.../basic_string_view/element_access/char/2.cc | 2 +-
.../basic_string_view/element_access/char/empty.cc | 2 +-
.../element_access/char/front_back.cc | 2 +-
.../basic_string_view/element_access/wchar_t/1.cc | 2 +-
.../basic_string_view/element_access/wchar_t/2.cc | 2 +-
.../element_access/wchar_t/empty.cc | 2 +-
.../element_access/wchar_t/front_back.cc | 2 +-
gdb/unittests/basic_string_view/include.cc | 2 +-
.../basic_string_view/inserters/char/1.cc | 2 +-
.../basic_string_view/inserters/char/2.cc | 2 +-
.../basic_string_view/inserters/char/3.cc | 2 +-
.../basic_string_view/inserters/pod/10081-out.cc | 2 +-
.../basic_string_view/inserters/wchar_t/1.cc | 2 +-
.../basic_string_view/inserters/wchar_t/2.cc | 2 +-
.../basic_string_view/inserters/wchar_t/3.cc | 2 +-
gdb/unittests/basic_string_view/literals/types.cc | 2 +-
gdb/unittests/basic_string_view/literals/values.cc | 2 +-
.../modifiers/remove_prefix/char/1.cc | 2 +-
.../modifiers/remove_prefix/wchar_t/1.cc | 2 +-
.../modifiers/remove_suffix/char/1.cc | 2 +-
.../modifiers/remove_suffix/wchar_t/1.cc | 2 +-
.../basic_string_view/modifiers/swap/char/1.cc | 2 +-
.../basic_string_view/modifiers/swap/wchar_t/1.cc | 2 +-
.../basic_string_view/operations/compare/char/1.cc | 2 +-
.../operations/compare/char/13650.cc | 2 +-
.../basic_string_view/operations/compare/char/2.cc | 2 +-
.../operations/compare/char/70483.cc | 2 +-
.../operations/compare/wchar_t/1.cc | 2 +-
.../operations/compare/wchar_t/13650.cc | 2 +-
.../operations/compare/wchar_t/2.cc | 2 +-
.../basic_string_view/operations/copy/char/1.cc | 2 +-
.../basic_string_view/operations/copy/wchar_t/1.cc | 2 +-
.../basic_string_view/operations/data/char/1.cc | 2 +-
.../basic_string_view/operations/data/wchar_t/1.cc | 2 +-
.../basic_string_view/operations/find/char/1.cc | 2 +-
.../basic_string_view/operations/find/char/2.cc | 2 +-
.../basic_string_view/operations/find/char/3.cc | 2 +-
.../basic_string_view/operations/find/char/4.cc | 2 +-
.../basic_string_view/operations/find/wchar_t/1.cc | 2 +-
.../basic_string_view/operations/find/wchar_t/2.cc | 2 +-
.../basic_string_view/operations/find/wchar_t/3.cc | 2 +-
.../basic_string_view/operations/find/wchar_t/4.cc | 2 +-
.../basic_string_view/operations/rfind/char/1.cc | 2 +-
.../basic_string_view/operations/rfind/char/2.cc | 2 +-
.../basic_string_view/operations/rfind/char/3.cc | 2 +-
.../operations/rfind/wchar_t/1.cc | 2 +-
.../operations/rfind/wchar_t/2.cc | 2 +-
.../operations/rfind/wchar_t/3.cc | 2 +-
.../operations/string_conversion/1.cc | 2 +-
.../basic_string_view/operations/substr/char/1.cc | 2 +-
.../operations/substr/wchar_t/1.cc | 2 +-
.../basic_string_view/operators/char/2.cc | 2 +-
.../basic_string_view/operators/wchar_t/2.cc | 2 +-
.../basic_string_view/range_access/char/1.cc | 2 +-
.../basic_string_view/range_access/wchar_t/1.cc | 2 +-
.../requirements/explicit_instantiation/1.cc | 2 +-
.../requirements/explicit_instantiation/char/1.cc | 2 +-
.../explicit_instantiation/char16_t/1.cc | 2 +-
.../explicit_instantiation/char32_t/1.cc | 2 +-
.../explicit_instantiation/wchar_t/1.cc | 2 +-
.../basic_string_view/requirements/typedefs.cc | 2 +-
gdb/unittests/basic_string_view/typedefs.cc | 2 +-
gdb/unittests/basic_string_view/types/1.cc | 2 +-
gdb/unittests/child-path-selftests.c | 68 +
gdb/unittests/cli-utils-selftests.c | 4 +-
gdb/unittests/common-utils-selftests.c | 6 +-
gdb/unittests/copy_bitwise-selftests.c | 159 +
gdb/unittests/environ-selftests.c | 4 +-
gdb/unittests/format_pieces-selftests.c | 2 +-
gdb/unittests/function-view-selftests.c | 4 +-
gdb/unittests/lookup_name_info-selftests.c | 4 +-
gdb/unittests/memory-map-selftests.c | 4 +-
gdb/unittests/memrange-selftests.c | 4 +-
gdb/unittests/mkdir-recursive-selftests.c | 4 +-
gdb/unittests/observable-selftests.c | 6 +-
gdb/unittests/offset-type-selftests.c | 4 +-
gdb/unittests/optional-selftests.c | 4 +-
gdb/unittests/optional/assignment/1.cc | 2 +-
gdb/unittests/optional/assignment/2.cc | 2 +-
gdb/unittests/optional/assignment/3.cc | 2 +-
gdb/unittests/optional/assignment/4.cc | 2 +-
gdb/unittests/optional/assignment/5.cc | 2 +-
gdb/unittests/optional/assignment/6.cc | 2 +-
gdb/unittests/optional/assignment/7.cc | 2 +-
gdb/unittests/optional/cons/copy.cc | 2 +-
gdb/unittests/optional/cons/default.cc | 2 +-
gdb/unittests/optional/cons/move.cc | 2 +-
gdb/unittests/optional/cons/value.cc | 2 +-
gdb/unittests/optional/in_place.cc | 2 +-
gdb/unittests/optional/observers/1.cc | 2 +-
gdb/unittests/optional/observers/2.cc | 2 +-
gdb/unittests/parse-connection-spec-selftests.c | 11 +-
gdb/unittests/ptid-selftests.c | 2 +-
gdb/unittests/rsp-low-selftests.c | 4 +-
gdb/unittests/scoped_fd-selftests.c | 4 +-
gdb/unittests/scoped_mmap-selftests.c | 4 +-
gdb/unittests/scoped_restore-selftests.c | 4 +-
gdb/unittests/string_view-selftests.c | 10 +-
gdb/unittests/style-selftests.c | 109 +
gdb/unittests/tracepoint-selftests.c | 4 +-
gdb/unittests/unpack-selftests.c | 4 +-
gdb/unittests/utils-selftests.c | 4 +-
gdb/unittests/xml-utils-selftests.c | 6 +-
gdb/unwind_stop_reasons.def | 2 +-
gdb/user-regs.c | 2 +-
gdb/user-regs.h | 2 +-
gdb/utils.c | 391 +-
gdb/utils.h | 39 +-
gdb/v850-tdep.c | 6 +-
gdb/valarith.c | 57 +-
gdb/valops.c | 405 +-
gdb/valprint.c | 8 +-
gdb/valprint.h | 2 +-
gdb/value.c | 40 +-
gdb/value.h | 9 +-
gdb/varobj-iter.h | 7 +-
gdb/varobj.c | 15 +-
gdb/varobj.h | 4 +-
gdb/vax-bsd-nat.c | 2 +-
gdb/vax-nbsd-tdep.c | 2 +-
gdb/vax-tdep.c | 7 +-
gdb/vax-tdep.h | 2 +-
gdb/version.in | 2 +-
gdb/warning.m4 | 2 +-
gdb/windows-nat.c | 130 +-
gdb/windows-nat.h | 2 +-
gdb/windows-tdep.c | 13 +-
gdb/windows-tdep.h | 2 +-
gdb/x86-bsd-nat.c | 16 +-
gdb/x86-bsd-nat.h | 2 +-
gdb/x86-linux-nat.c | 6 +-
gdb/x86-linux-nat.h | 2 +-
gdb/x86-nat.c | 2 +-
gdb/x86-nat.h | 2 +-
gdb/x86-tdep.c | 2 +-
gdb/x86-tdep.h | 2 +-
gdb/xcoffread.c | 62 +-
gdb/xcoffread.h | 8 +-
gdb/xml-support.c | 4 +-
gdb/xml-support.h | 6 +-
gdb/xml-syscall.c | 112 +-
gdb/xml-syscall.h | 22 +-
gdb/xml-tdesc.c | 15 +-
gdb/xml-tdesc.h | 2 +-
gdb/xstormy16-tdep.c | 11 +-
gdb/xtensa-config.c | 2 +-
gdb/xtensa-linux-nat.c | 4 +-
gdb/xtensa-linux-tdep.c | 10 +-
gdb/xtensa-tdep.c | 20 +-
gdb/xtensa-tdep.h | 5 +-
gdb/xtensa-xtregs.c | 2 +-
gdb/yy-remap.h | 11 +-
gold/ChangeLog | 678 +-
gold/ChangeLog-2018 | 785 +
gold/Makefile.am | 77 +-
gold/Makefile.in | 121 +-
gold/NEWS | 2 +-
gold/README | 2 +-
gold/aarch64-reloc-property.cc | 2 +-
gold/aarch64-reloc-property.h | 2 +-
gold/aarch64-reloc.def | 2 +-
gold/aarch64.cc | 13 +-
gold/archive.cc | 15 +-
gold/archive.h | 2 +-
gold/arm-reloc-property.cc | 2 +-
gold/arm-reloc-property.h | 2 +-
gold/arm-reloc.def | 2 +-
gold/arm.cc | 2 +-
gold/attributes.cc | 2 +-
gold/attributes.h | 2 +-
gold/binary.cc | 2 +-
gold/binary.h | 2 +-
gold/common.cc | 2 +-
gold/common.h | 2 +-
gold/compressed_output.cc | 2 +-
gold/compressed_output.h | 2 +-
gold/config.in | 6 +
gold/configure | 14 +-
gold/configure.ac | 6 +-
gold/configure.tgt | 2 +-
gold/copy-relocs.cc | 2 +-
gold/copy-relocs.h | 2 +-
gold/cref.cc | 2 +-
gold/cref.h | 2 +-
gold/debug.h | 2 +-
gold/defstd.cc | 2 +-
gold/defstd.h | 2 +-
gold/descriptors.cc | 2 +-
gold/descriptors.h | 2 +-
gold/dirsearch.cc | 2 +-
gold/dirsearch.h | 2 +-
gold/dwarf_reader.cc | 2 +-
gold/dwarf_reader.h | 2 +-
gold/dwp.cc | 4 +-
gold/dwp.h | 2 +-
gold/dynobj.cc | 2 +-
gold/dynobj.h | 2 +-
gold/ehframe.cc | 2 +-
gold/ehframe.h | 2 +-
gold/errors.cc | 2 +-
gold/errors.h | 2 +-
gold/expression.cc | 2 +-
gold/ffsll.c | 2 +-
gold/fileread.cc | 2 +-
gold/fileread.h | 2 +-
gold/freebsd.h | 2 +-
gold/ftruncate.c | 2 +-
gold/gc.cc | 2 +-
gold/gc.h | 2 +-
gold/gdb-index.cc | 2 +-
gold/gdb-index.h | 2 +-
gold/gold-threads.cc | 2 +-
gold/gold-threads.h | 2 +-
gold/gold.cc | 2 +-
gold/gold.h | 2 +-
gold/i386.cc | 2 +-
gold/icf.cc | 2 +-
gold/icf.h | 2 +-
gold/incremental-dump.cc | 2 +-
gold/incremental.cc | 2 +-
gold/incremental.h | 2 +-
gold/int_encoding.cc | 2 +-
gold/int_encoding.h | 2 +-
gold/layout.cc | 2 +-
gold/layout.h | 2 +-
gold/main.cc | 2 +-
gold/mapfile.cc | 2 +-
gold/mapfile.h | 2 +-
gold/merge.cc | 10 +-
gold/merge.h | 2 +-
gold/mips.cc | 2 +-
gold/mremap.c | 2 +-
gold/nacl.cc | 2 +-
gold/nacl.h | 2 +-
gold/object.cc | 13 +-
gold/object.h | 10 +-
gold/options.cc | 2 +-
gold/options.h | 2 +-
gold/output.cc | 13 +-
gold/output.h | 2 +-
gold/parameters.cc | 2 +-
gold/parameters.h | 2 +-
gold/plugin.cc | 16 +-
gold/plugin.h | 2 +-
gold/po/Make-in | 2 +-
gold/po/fr.po | 559 +-
gold/po/gold.pot | 498 +-
gold/po/uk.po | 507 +-
gold/powerpc.cc | 2 +-
gold/pread.c | 2 +-
gold/readsyms.cc | 2 +-
gold/readsyms.h | 2 +-
gold/reduced_debug_output.cc | 2 +-
gold/reduced_debug_output.h | 2 +-
gold/reloc-types.h | 2 +-
gold/reloc.cc | 2 +-
gold/reloc.h | 2 +-
gold/resolve.cc | 2 +-
gold/s390.cc | 2 +-
gold/script-c.h | 2 +-
gold/script-sections.cc | 2 +-
gold/script-sections.h | 2 +-
gold/script.cc | 2 +-
gold/script.h | 2 +-
gold/sparc.cc | 2 +-
gold/stringpool.cc | 2 +-
gold/stringpool.h | 2 +-
gold/symtab.cc | 2 +-
gold/symtab.h | 4 +-
gold/system.h | 2 +-
gold/target-reloc.h | 2 +-
gold/target-select.cc | 2 +-
gold/target-select.h | 2 +-
gold/target.cc | 2 +-
gold/target.h | 2 +-
gold/testsuite/Makefile.am | 812 +-
gold/testsuite/Makefile.in | 966 +-
gold/testsuite/aarch64_pr23870_bar.c | 6 +
gold/testsuite/aarch64_pr23870_foo.c | 6 +
gold/testsuite/aarch64_pr23870_main.S | 15 +
gold/testsuite/aarch64_reloc_none.sh | 2 +-
gold/testsuite/aarch64_relocs.sh | 2 +-
gold/testsuite/aarch64_tlsdesc.sh | 2 +-
gold/testsuite/arm_abs_global.sh | 2 +-
gold/testsuite/arm_attr_merge.sh | 2 +-
gold/testsuite/arm_branch_in_range.sh | 2 +-
gold/testsuite/arm_branch_out_of_range.sh | 2 +-
gold/testsuite/arm_branch_range.t | 2 +-
gold/testsuite/arm_cortex_a8.sh | 2 +-
gold/testsuite/arm_exidx_test.sh | 2 +-
gold/testsuite/arm_farcall_arm_arm.sh | 2 +-
gold/testsuite/arm_farcall_arm_arm_be8.sh | 2 +-
gold/testsuite/arm_farcall_arm_thumb.sh | 2 +-
gold/testsuite/arm_farcall_thumb_arm.sh | 2 +-
gold/testsuite/arm_farcall_thumb_thumb.sh | 2 +-
gold/testsuite/arm_farcall_thumb_thumb_be8.sh | 2 +-
gold/testsuite/arm_fix_1176.sh | 2 +-
gold/testsuite/arm_fix_v4bx.sh | 2 +-
gold/testsuite/arm_target1_abs.sh | 2 +-
gold/testsuite/arm_target1_rel.sh | 2 +-
gold/testsuite/arm_target2_abs.sh | 2 +-
gold/testsuite/arm_target2_got_rel.sh | 2 +-
gold/testsuite/arm_target2_rel.sh | 2 +-
gold/testsuite/arm_thm_jump11.t | 2 +-
gold/testsuite/arm_thm_jump8.t | 2 +-
gold/testsuite/arm_unaligned_reloc.sh | 2 +-
gold/testsuite/basic_test.cc | 2 +-
gold/testsuite/binary_test.cc | 2 +-
gold/testsuite/binary_unittest.cc | 2 +-
gold/testsuite/bnd_ifunc_1.sh | 2 +-
gold/testsuite/bnd_ifunc_2.sh | 2 +-
gold/testsuite/bnd_plt_1.sh | 2 +-
gold/testsuite/common_test_1.c | 2 +-
gold/testsuite/common_test_1_v1.c | 2 +-
gold/testsuite/common_test_1_v2.c | 2 +-
gold/testsuite/common_test_2.c | 2 +-
gold/testsuite/common_test_3.c | 2 +-
gold/testsuite/constructor_test.cc | 2 +-
gold/testsuite/copy_test.cc | 2 +-
gold/testsuite/copy_test_1.cc | 2 +-
gold/testsuite/copy_test_2.cc | 2 +-
gold/testsuite/copy_test_protected.cc | 2 +-
gold/testsuite/copy_test_protected.sh | 2 +-
gold/testsuite/copy_test_relro.cc | 2 +-
gold/testsuite/copy_test_relro_1.cc | 2 +-
gold/testsuite/copy_test_v1.cc | 2 +-
gold/testsuite/debug_msg.cc | 2 +-
gold/testsuite/debug_msg.sh | 2 +-
gold/testsuite/defsym_test.sh | 2 +-
gold/testsuite/discard_locals_relocatable_test.c | 2 +-
gold/testsuite/discard_locals_test.c | 2 +-
gold/testsuite/discard_locals_test.sh | 2 +-
gold/testsuite/dwp_test.h | 2 +-
gold/testsuite/dwp_test_1.cc | 2 +-
gold/testsuite/dwp_test_1.sh | 2 +-
gold/testsuite/dwp_test_1b.cc | 2 +-
gold/testsuite/dwp_test_2.cc | 2 +-
gold/testsuite/dwp_test_2.sh | 2 +-
gold/testsuite/dwp_test_main.cc | 2 +-
gold/testsuite/dyn_weak_ref.sh | 2 +-
gold/testsuite/dyn_weak_ref_1.c | 2 +-
gold/testsuite/dyn_weak_ref_2.c | 2 +-
gold/testsuite/dynamic_list.sh | 2 +-
gold/testsuite/dynamic_list_2.cc | 2 +-
gold/testsuite/dynamic_list_2.t | 2 +-
gold/testsuite/dynamic_list_lib1.cc | 2 +-
gold/testsuite/dynamic_list_lib2.cc | 2 +-
gold/testsuite/eh_test_2.sh | 2 +-
gold/testsuite/ehdr_start_def.cc | 2 +-
gold/testsuite/ehdr_start_test.cc | 2 +-
gold/testsuite/ehdr_start_test.t | 2 +-
gold/testsuite/ehdr_start_test_4.sh | 2 +-
gold/testsuite/empty_command_line_test.sh | 2 +-
gold/testsuite/exception_test.h | 2 +-
gold/testsuite/exception_test_1.cc | 2 +-
gold/testsuite/exception_test_2.cc | 2 +-
gold/testsuite/exception_test_main.cc | 2 +-
gold/testsuite/exclude_libs_test.sh | 2 +-
gold/testsuite/export_dynamic_plugin.cc | 2 +-
gold/testsuite/file_in_many_sections.c | 2 +-
gold/testsuite/file_in_many_sections_test.sh | 2 +-
gold/testsuite/final_layout.cc | 2 +-
gold/testsuite/final_layout.sh | 2 +-
gold/testsuite/gc_comdat_test.sh | 2 +-
gold/testsuite/gc_comdat_test_1.cc | 2 +-
gold/testsuite/gc_comdat_test_2.cc | 2 +-
gold/testsuite/gc_dynamic_list_test.c | 2 +-
gold/testsuite/gc_dynamic_list_test.sh | 2 +-
gold/testsuite/gc_dynamic_list_test.t | 2 +-
gold/testsuite/gc_orphan_section_test.cc | 2 +-
gold/testsuite/gc_orphan_section_test.sh | 2 +-
gold/testsuite/gc_tls_test.cc | 2 +-
gold/testsuite/gc_tls_test.sh | 2 +-
gold/testsuite/gdb_index_test.cc | 2 +-
gold/testsuite/gdb_index_test_1.sh | 2 +-
gold/testsuite/gdb_index_test_2.sh | 2 +-
gold/testsuite/gdb_index_test_2_gabi.sh | 2 +-
gold/testsuite/gdb_index_test_3.c | 2 +-
gold/testsuite/gdb_index_test_3.sh | 2 +-
gold/testsuite/gdb_index_test_4.sh | 2 +-
gold/testsuite/gdb_index_test_comm.sh | 2 +-
gold/testsuite/gnu_property_test.sh | 2 +-
gold/testsuite/hidden_test.sh | 2 +-
gold/testsuite/hidden_test_1.c | 2 +-
gold/testsuite/hidden_test_main.c | 2 +-
gold/testsuite/i386_mov_to_lea.sh | 2 +-
gold/testsuite/icf_keep_unique_test.cc | 2 +-
gold/testsuite/icf_keep_unique_test.sh | 2 +-
gold/testsuite/icf_preemptible_functions_test.cc | 2 +-
gold/testsuite/icf_preemptible_functions_test.sh | 2 +-
gold/testsuite/icf_safe_pie_test.sh | 2 +-
gold/testsuite/icf_safe_so_test.cc | 2 +-
gold/testsuite/icf_safe_so_test.sh | 56 +-
gold/testsuite/icf_safe_test.cc | 2 +-
gold/testsuite/icf_safe_test.sh | 2 +-
gold/testsuite/icf_sht_rel_addend_test.sh | 2 +-
gold/testsuite/icf_sht_rel_addend_test_1.cc | 2 +-
gold/testsuite/icf_sht_rel_addend_test_2.cc | 2 +-
gold/testsuite/icf_string_merge_test.cc | 2 +-
gold/testsuite/icf_string_merge_test.sh | 2 +-
gold/testsuite/icf_test.cc | 2 +-
gold/testsuite/icf_test.sh | 2 +-
.../testsuite/icf_virtual_function_folding_test.cc | 2 +-
gold/testsuite/ifuncmod1.sh | 2 +-
gold/testsuite/incr_comdat_test_1.cc | 2 +-
gold/testsuite/incr_comdat_test_2_v1.cc | 2 +-
gold/testsuite/incr_comdat_test_2_v2.cc | 2 +-
gold/testsuite/incr_comdat_test_2_v3.cc | 2 +-
gold/testsuite/incremental_test.sh | 4 +-
gold/testsuite/incremental_test_1.c | 2 +-
gold/testsuite/incremental_test_2.c | 2 +-
gold/testsuite/initpri1.c | 2 +-
gold/testsuite/initpri2.c | 2 +-
gold/testsuite/initpri3.c | 2 +-
gold/testsuite/justsyms.t | 2 +-
gold/testsuite/justsyms_1.cc | 2 +-
gold/testsuite/justsyms_2.cc | 2 +-
gold/testsuite/justsyms_exec.c | 6 +-
gold/testsuite/justsyms_lib.c | 2 +-
gold/testsuite/keep_text_section_prefix.cc | 2 +-
gold/testsuite/keep_text_section_prefix.sh | 2 +-
gold/testsuite/large.c | 2 +-
gold/testsuite/large_symbol_alignment.cc | 2 +-
gold/testsuite/leb128_unittest.cc | 2 +-
gold/testsuite/many_sections_test.cc | 2 +-
gold/testsuite/memory_test.sh | 2 +-
gold/testsuite/merge_string_literals.sh | 2 +-
gold/testsuite/merge_string_literals_1.cc | 2 +-
gold/testsuite/merge_string_literals_2.cc | 2 +-
gold/testsuite/missing_key_func.cc | 2 +-
gold/testsuite/missing_key_func.sh | 2 +-
gold/testsuite/no_version_test.c | 2 +-
gold/testsuite/no_version_test.sh | 2 +-
gold/testsuite/object_unittest.cc | 2 +-
gold/testsuite/overflow_unittest.cc | 2 +-
gold/testsuite/pie_copyrelocs_shared_test.cc | 2 +-
gold/testsuite/pie_copyrelocs_test.cc | 2 +-
gold/testsuite/plugin_common_test_1.c | 2 +-
gold/testsuite/plugin_common_test_2.c | 2 +-
gold/testsuite/plugin_final_layout.cc | 2 +-
gold/testsuite/plugin_final_layout.sh | 2 +-
gold/testsuite/plugin_layout_with_alignment.c | 2 +-
gold/testsuite/plugin_layout_with_alignment.sh | 2 +-
gold/testsuite/plugin_new_section_layout.c | 2 +-
gold/testsuite/plugin_pr22868.sh | 2 +-
gold/testsuite/plugin_pr22868_a.c | 2 +-
gold/testsuite/plugin_pr22868_b.c | 2 +-
gold/testsuite/plugin_section_alignment.cc | 2 +-
gold/testsuite/plugin_section_order.c | 2 +-
gold/testsuite/plugin_test.c | 2 +-
gold/testsuite/plugin_test_1.sh | 2 +-
gold/testsuite/plugin_test_10.sh | 2 +-
gold/testsuite/plugin_test_11.sh | 2 +-
gold/testsuite/plugin_test_12.sh | 2 +-
gold/testsuite/plugin_test_2.sh | 2 +-
gold/testsuite/plugin_test_3.sh | 2 +-
gold/testsuite/plugin_test_4.sh | 2 +-
gold/testsuite/plugin_test_6.sh | 2 +-
gold/testsuite/plugin_test_7.sh | 2 +-
gold/testsuite/plugin_test_7_1.c | 2 +-
gold/testsuite/plugin_test_7_2.c | 2 +-
gold/testsuite/plugin_test_9b_elf.cc | 2 +-
gold/testsuite/plugin_test_9b_ir.cc | 2 +-
gold/testsuite/plugin_test_defsym.c | 2 +-
gold/testsuite/plugin_test_defsym.sh | 2 +-
gold/testsuite/plugin_test_start_lib.sh | 2 +-
gold/testsuite/plugin_test_tls.sh | 2 +-
gold/testsuite/plugin_test_wrap_symbols.sh | 2 +-
gold/testsuite/plugin_test_wrap_symbols_1.cc | 2 +-
gold/testsuite/plugin_test_wrap_symbols_2.cc | 2 +-
gold/testsuite/pr12826.sh | 2 +-
gold/testsuite/pr14265.sh | 2 +-
gold/testsuite/pr18689.sh | 2 +-
gold/testsuite/pr20717.sh | 2 +-
gold/testsuite/pr20976.c | 2 +-
gold/testsuite/pr21430.sh | 2 +-
gold/testsuite/pr23016_1.sh | 2 +-
gold/testsuite/pr23016_2.sh | 2 +-
gold/testsuite/protected_1.cc | 2 +-
gold/testsuite/protected_2.cc | 2 +-
gold/testsuite/protected_3.cc | 2 +-
gold/testsuite/protected_4.cc | 2 +-
gold/testsuite/protected_main_1.cc | 2 +-
gold/testsuite/protected_main_2.cc | 2 +-
gold/testsuite/protected_main_3.cc | 2 +-
gold/testsuite/relro_script_test.t | 2 +-
gold/testsuite/relro_test.cc | 2 +-
gold/testsuite/relro_test.sh | 2 +-
gold/testsuite/relro_test_main.cc | 2 +-
gold/testsuite/retain_symbols_file_test.sh | 2 +-
gold/testsuite/script_test_1.h | 2 +-
gold/testsuite/script_test_1.t | 2 +-
gold/testsuite/script_test_10.sh | 2 +-
gold/testsuite/script_test_10.t | 2 +-
gold/testsuite/script_test_12.t | 2 +-
gold/testsuite/script_test_12a.c | 2 +-
gold/testsuite/script_test_12i.t | 2 +-
gold/testsuite/script_test_13.sh | 2 +-
gold/testsuite/script_test_14.sh | 2 +-
gold/testsuite/script_test_14.t | 2 +-
gold/testsuite/script_test_15a.sh | 2 +-
gold/testsuite/script_test_15a.t | 2 +-
gold/testsuite/script_test_15b.sh | 2 +-
gold/testsuite/script_test_15b.t | 2 +-
gold/testsuite/script_test_15c.sh | 2 +-
gold/testsuite/script_test_15c.t | 2 +-
gold/testsuite/script_test_1a.cc | 2 +-
gold/testsuite/script_test_1b.cc | 2 +-
gold/testsuite/script_test_2.cc | 2 +-
gold/testsuite/script_test_2.t | 2 +-
gold/testsuite/script_test_2a.cc | 2 +-
gold/testsuite/script_test_2b.cc | 2 +-
gold/testsuite/script_test_3.sh | 2 +-
gold/testsuite/script_test_3.t | 2 +-
gold/testsuite/script_test_4.sh | 2 +-
gold/testsuite/script_test_4.t | 2 +-
gold/testsuite/script_test_5.cc | 2 +-
gold/testsuite/script_test_5.sh | 2 +-
gold/testsuite/script_test_5.t | 2 +-
gold/testsuite/script_test_6.sh | 2 +-
gold/testsuite/script_test_6.t | 2 +-
gold/testsuite/script_test_7.sh | 2 +-
gold/testsuite/script_test_7.t | 2 +-
gold/testsuite/script_test_8.sh | 2 +-
gold/testsuite/script_test_9.cc | 2 +-
gold/testsuite/script_test_9.sh | 2 +-
gold/testsuite/searched_file_test.cc | 2 +-
gold/testsuite/searched_file_test_lib.cc | 2 +-
gold/testsuite/section_sorting_name.cc | 2 +-
gold/testsuite/section_sorting_name.sh | 2 +-
gold/testsuite/split_i386.sh | 2 +-
gold/testsuite/split_s390.sh | 2 +-
gold/testsuite/split_x32.sh | 2 +-
gold/testsuite/split_x86_64.sh | 2 +-
gold/testsuite/start_lib_test_1.c | 2 +-
gold/testsuite/start_lib_test_2.c | 2 +-
gold/testsuite/start_lib_test_3.c | 2 +-
gold/testsuite/start_lib_test_main.c | 2 +-
gold/testsuite/strong_ref_weak_def.sh | 2 +-
gold/testsuite/strong_ref_weak_def_1.c | 2 +-
gold/testsuite/strong_ref_weak_def_2.c | 2 +-
gold/testsuite/test.cc | 2 +-
gold/testsuite/test.h | 2 +-
gold/testsuite/testfile.cc | 2 +-
gold/testsuite/testfile.h | 2 +-
gold/testsuite/testmain.cc | 2 +-
gold/testsuite/text_section_grouping.cc | 2 +-
gold/testsuite/text_section_grouping.sh | 2 +-
gold/testsuite/text_unlikely_segment.cc | 2 +-
gold/testsuite/text_unlikely_segment.sh | 2 +-
gold/testsuite/thin_archive_main.cc | 2 +-
gold/testsuite/thin_archive_test_1.cc | 2 +-
gold/testsuite/thin_archive_test_2.cc | 2 +-
gold/testsuite/thin_archive_test_3.cc | 2 +-
gold/testsuite/thin_archive_test_4.cc | 2 +-
gold/testsuite/thumb2_branch_range.t | 2 +-
gold/testsuite/thumb_branch_range.t | 2 +-
gold/testsuite/tls_pie_test.sh | 2 +-
gold/testsuite/tls_test.cc | 2 +-
gold/testsuite/tls_test.h | 2 +-
gold/testsuite/tls_test_c.c | 2 +-
gold/testsuite/tls_test_file2.cc | 2 +-
gold/testsuite/tls_test_main.cc | 2 +-
gold/testsuite/two_file_shared.sh | 2 +-
gold/testsuite/two_file_test.h | 2 +-
gold/testsuite/two_file_test_1.cc | 2 +-
gold/testsuite/two_file_test_1_v1.cc | 2 +-
gold/testsuite/two_file_test_1b.cc | 2 +-
gold/testsuite/two_file_test_1b_v1.cc | 2 +-
gold/testsuite/two_file_test_2.cc | 2 +-
gold/testsuite/two_file_test_2_tls.cc | 2 +-
gold/testsuite/two_file_test_2_v1.cc | 2 +-
gold/testsuite/two_file_test_main.cc | 2 +-
gold/testsuite/two_file_test_tls.cc | 2 +-
gold/testsuite/undef_symbol.cc | 2 +-
gold/testsuite/undef_symbol.sh | 2 +-
gold/testsuite/undef_symbol_main.cc | 2 +-
gold/testsuite/ver_matching_def.cc | 2 +-
gold/testsuite/ver_matching_test.sh | 2 +-
gold/testsuite/ver_test.h | 2 +-
gold/testsuite/ver_test_1.cc | 2 +-
gold/testsuite/ver_test_1.sh | 2 +-
gold/testsuite/ver_test_10.script | 2 +-
gold/testsuite/ver_test_10.sh | 2 +-
gold/testsuite/ver_test_13.sh | 2 +-
gold/testsuite/ver_test_14.sh | 10 +-
gold/testsuite/ver_test_2.cc | 2 +-
gold/testsuite/ver_test_2.script | 2 +-
gold/testsuite/ver_test_2.sh | 2 +-
gold/testsuite/ver_test_3.cc | 2 +-
gold/testsuite/ver_test_4.cc | 2 +-
gold/testsuite/ver_test_4.script | 2 +-
gold/testsuite/ver_test_4.sh | 2 +-
gold/testsuite/ver_test_5.cc | 2 +-
gold/testsuite/ver_test_5.script | 2 +-
gold/testsuite/ver_test_5.sh | 2 +-
gold/testsuite/ver_test_6.c | 2 +-
gold/testsuite/ver_test_7.cc | 2 +-
gold/testsuite/ver_test_7.sh | 2 +-
gold/testsuite/ver_test_8.script | 2 +-
gold/testsuite/ver_test_8.sh | 2 +-
gold/testsuite/ver_test_9.cc | 2 +-
gold/testsuite/ver_test_main.cc | 2 +-
gold/testsuite/ver_test_main_2.cc | 2 +-
gold/testsuite/ver_test_pr16504.sh | 2 +-
gold/testsuite/ver_test_pr23409.sh | 2 +-
gold/testsuite/weak_alias_test_1.cc | 2 +-
gold/testsuite/weak_alias_test_2.cc | 2 +-
gold/testsuite/weak_alias_test_3.cc | 2 +-
gold/testsuite/weak_alias_test_4.cc | 2 +-
gold/testsuite/weak_alias_test_5.cc | 2 +-
gold/testsuite/weak_alias_test_main.cc | 2 +-
gold/testsuite/weak_as_needed.sh | 2 +-
gold/testsuite/weak_plt.sh | 2 +-
gold/testsuite/weak_plt_main.cc | 2 +-
gold/testsuite/weak_plt_shared.cc | 2 +-
gold/testsuite/weak_test.cc | 2 +-
gold/testsuite/weak_undef.h | 2 +-
gold/testsuite/weak_undef_file1.cc | 2 +-
gold/testsuite/weak_undef_file2.cc | 2 +-
gold/testsuite/weak_undef_file3.cc | 2 +-
gold/testsuite/weak_undef_file4.cc | 2 +-
gold/testsuite/weak_undef_test.cc | 2 +-
gold/testsuite/weak_undef_test_2.cc | 2 +-
gold/testsuite/weak_unresolved_symbols_test.cc | 2 +-
gold/testsuite/x32_overflow_pc32.sh | 2 +-
gold/testsuite/x86_64_indirect_call_to_direct.sh | 2 +-
gold/testsuite/x86_64_mov_to_lea.sh | 2 +-
gold/testsuite/x86_64_overflow_pc32.sh | 2 +-
gold/tilegx.cc | 2 +-
gold/timer.cc | 2 +-
gold/timer.h | 2 +-
gold/tls.h | 2 +-
gold/token.h | 2 +-
gold/version.cc | 4 +-
gold/workqueue-internal.h | 2 +-
gold/workqueue-threads.cc | 2 +-
gold/workqueue.cc | 2 +-
gold/workqueue.h | 2 +-
gold/x86_64.cc | 2 +-
gold/yyscript.y | 2 +-
gprof/ChangeLog | 83 +-
gprof/{ChangeLog => ChangeLog-2018} | 0
gprof/MAINTAINERS | 2 +-
gprof/Makefile.am | 2 +-
gprof/Makefile.in | 2 +-
gprof/README | 2 +-
gprof/TODO | 2 +-
gprof/basic_blocks.c | 2 +-
gprof/basic_blocks.h | 2 +-
gprof/bb_exit_func.c | 2 +-
gprof/bbconv.pl | 2 +-
gprof/bsd_callg_bl.m | 2 +-
gprof/call_graph.c | 2 +-
gprof/call_graph.h | 2 +-
gprof/cg_arcs.h | 2 +-
gprof/cg_dfn.h | 2 +-
gprof/cg_print.c | 2 +-
gprof/cg_print.h | 2 +-
gprof/configure | 30 +-
gprof/configure.ac | 2 +-
gprof/corefile.c | 2 +-
gprof/corefile.h | 2 +-
gprof/flat_bl.m | 2 +-
gprof/fsf_callg_bl.m | 2 +-
gprof/gmon_io.c | 2 +-
gprof/gmon_io.h | 2 +-
gprof/gmon_out.h | 2 +-
gprof/gprof.texi | 6 +-
gprof/hertz.h | 2 +-
gprof/hist.c | 2 +-
gprof/hist.h | 2 +-
gprof/po/Make-in | 2 +-
gprof/po/gprof.pot | 2 +-
gprof/po/tr.po | 40 +-
gprof/search_list.c | 2 +-
gprof/search_list.h | 2 +-
gprof/source.c | 2 +-
gprof/source.h | 2 +-
gprof/sym_ids.c | 2 +-
gprof/sym_ids.h | 2 +-
gprof/symtab.c | 6 +-
gprof/symtab.h | 2 +-
gprof/utils.h | 2 +-
include/ChangeLog | 772 +-
include/ChangeLog-2018 | 890 +
include/MAINTAINERS | 2 +-
include/alloca-conf.h | 2 +-
include/ansidecl.h | 2 +-
include/aout/aout64.h | 2 +-
include/aout/ar.h | 2 +-
include/aout/encap.h | 2 +-
include/aout/host.h | 2 +-
include/aout/hp.h | 2 +-
include/aout/hppa.h | 2 +-
include/aout/ranlib.h | 2 +-
include/aout/stab.def | 2 +-
include/aout/stab_gnu.h | 2 +-
include/aout/sun4.h | 2 +-
include/bfdlink.h | 5 +-
include/binary-io.h | 2 +-
include/bout.h | 2 +-
include/cgen/basic-modes.h | 2 +-
include/cgen/basic-ops.h | 2 +-
include/cgen/bitset.h | 2 +-
include/coff/alpha.h | 2 +-
include/coff/arm.h | 2 +-
include/coff/ecoff.h | 4 +-
include/coff/external.h | 2 +-
include/coff/go32exe.h | 2 +-
include/coff/i386.h | 2 +-
include/coff/ia64.h | 2 +-
include/coff/internal.h | 44 +-
include/coff/mcore.h | 2 +-
include/coff/mips.h | 2 +-
include/coff/msdos.h | 2 +-
include/coff/pe.h | 2 +-
include/coff/powerpc.h | 2 +-
include/coff/rs6000.h | 2 +-
include/coff/rs6k64.h | 2 +-
include/coff/sh.h | 2 +-
include/coff/ti.h | 2 +-
include/coff/tic30.h | 2 +-
include/coff/tic4x.h | 2 +-
include/coff/tic54x.h | 2 +-
include/coff/tic80.h | 2 +-
include/coff/x86_64.h | 2 +-
include/coff/xcoff.h | 2 +-
include/coff/z80.h | 2 +-
include/coff/z8k.h | 2 +-
include/demangle.h | 51 +-
include/diagnostics.h | 2 +-
include/dis-asm.h | 10 +-
include/dwarf2.def | 2 +-
include/dwarf2.h | 2 +-
include/dyn-string.h | 2 +-
include/elf/aarch64.h | 5 +-
include/elf/alpha.h | 2 +-
include/elf/arc-cpu.def | 2 +-
include/elf/arc-reloc.def | 2 +-
include/elf/arc.h | 2 +-
include/elf/arm.h | 2 +-
include/elf/avr.h | 2 +-
include/elf/bfin.h | 2 +-
include/elf/common.h | 14 +-
include/elf/cr16.h | 2 +-
include/elf/cr16c.h | 2 +-
include/elf/cris.h | 2 +-
include/elf/crx.h | 2 +-
include/elf/csky.h | 2 +-
include/elf/d10v.h | 2 +-
include/elf/d30v.h | 2 +-
include/elf/dlx.h | 2 +-
include/elf/dwarf.h | 2 +-
include/elf/epiphany.h | 2 +-
include/elf/external.h | 2 +-
include/elf/fr30.h | 2 +-
include/elf/frv.h | 2 +-
include/elf/ft32.h | 2 +-
include/elf/h8.h | 2 +-
include/elf/hppa.h | 2 +-
include/elf/i370.h | 2 +-
include/elf/i386.h | 2 +-
include/elf/i860.h | 2 +-
include/elf/i960.h | 2 +-
include/elf/ia64.h | 2 +-
include/elf/internal.h | 2 +-
include/elf/ip2k.h | 2 +-
include/elf/iq2000.h | 2 +-
include/elf/lm32.h | 2 +-
include/elf/m32c.h | 2 +-
include/elf/m32r.h | 2 +-
include/elf/m68hc11.h | 2 +-
include/elf/m68k.h | 2 +-
include/elf/mcore.h | 2 +-
include/elf/mep.h | 2 +-
include/elf/metag.h | 2 +-
include/elf/microblaze.h | 2 +-
include/elf/mips.h | 2 +-
include/elf/mmix.h | 2 +-
include/elf/mn10200.h | 2 +-
include/elf/mn10300.h | 2 +-
include/elf/moxie.h | 2 +-
include/elf/msp430.h | 2 +-
include/elf/mt.h | 2 +-
include/elf/nds32.h | 2 +-
include/elf/nfp.h | 2 +-
include/elf/nios2.h | 2 +-
include/elf/or1k.h | 2 +-
include/elf/pj.h | 2 +-
include/elf/ppc.h | 2 +-
include/elf/ppc64.h | 2 +-
include/elf/pru.h | 2 +-
include/elf/reloc-macros.h | 2 +-
include/elf/riscv.h | 18 +-
include/elf/rl78.h | 2 +-
include/elf/rx.h | 5 +-
include/elf/s12z.h | 2 +-
include/elf/s390.h | 2 +-
include/elf/score.h | 2 +-
include/elf/sh.h | 2 +-
include/elf/sparc.h | 2 +-
include/elf/spu.h | 2 +-
include/elf/tic6x-attrs.h | 2 +-
include/elf/tic6x.h | 2 +-
include/elf/tilegx.h | 2 +-
include/elf/tilepro.h | 2 +-
include/elf/v850.h | 2 +-
include/elf/vax.h | 2 +-
include/elf/visium.h | 2 +-
include/elf/vxworks.h | 2 +-
include/elf/wasm32.h | 2 +-
include/elf/x86-64.h | 2 +-
include/elf/xc16x.h | 2 +-
include/elf/xgate.h | 2 +-
include/elf/xstormy16.h | 2 +-
include/elf/xtensa.h | 2 +-
include/environ.h | 2 +-
include/fibheap.h | 2 +-
include/filenames.h | 2 +-
include/floatformat.h | 2 +-
include/fnmatch.h | 2 +-
include/fopen-bin.h | 2 +-
include/fopen-same.h | 2 +-
include/fopen-vms.h | 2 +-
include/gcc-c-fe.def | 2 +-
include/gcc-c-interface.h | 2 +-
include/gcc-cp-fe.def | 2 +-
include/gcc-cp-interface.h | 2 +-
include/gcc-interface.h | 2 +-
include/gdb/ChangeLog | 2 +-
include/gdb/callback.h | 2 +-
include/gdb/fileio.h | 2 +-
include/gdb/gdb-index.h | 2 +-
include/gdb/remote-sim.h | 2 +-
include/gdb/section-scripts.h | 2 +-
include/gdb/signals.def | 2 +-
include/gdb/signals.h | 2 +-
include/gdb/sim-aarch64.h | 2 +-
include/gdb/sim-arm.h | 2 +-
include/gdb/sim-bfin.h | 2 +-
include/gdb/sim-cr16.h | 2 +-
include/gdb/sim-d10v.h | 2 +-
include/gdb/sim-frv.h | 2 +-
include/gdb/sim-ft32.h | 2 +-
include/gdb/sim-h8300.h | 2 +-
include/gdb/sim-lm32.h | 2 +-
include/gdb/sim-m32c.h | 2 +-
include/gdb/sim-ppc.h | 2 +-
include/gdb/sim-rl78.h | 2 +-
include/gdb/sim-rx.h | 2 +-
include/gdb/sim-sh.h | 2 +-
include/getopt.h | 2 +-
include/hashtab.h | 2 +-
include/hp-symtab.h | 2 +-
include/leb128.h | 2 +-
include/libiberty.h | 6 +-
include/longlong.h | 2 +-
include/lto-symtab.h | 2 +-
include/mach-o/arm.h | 2 +-
include/mach-o/arm64.h | 2 +-
include/mach-o/codesign.h | 2 +-
include/mach-o/external.h | 21 +-
include/mach-o/loader.h | 56 +-
include/mach-o/reloc.h | 2 +-
include/mach-o/unwind.h | 2 +-
include/mach-o/x86-64.h | 2 +-
include/md5.h | 2 +-
include/oasys.h | 2 +-
include/objalloc.h | 2 +-
include/obstack.h | 2 +-
include/opcode/aarch64.h | 14 +-
include/opcode/alpha.h | 2 +-
include/opcode/arc-attrs.h | 2 +-
include/opcode/arc-func.h | 2 +-
include/opcode/arc.h | 2 +-
include/opcode/arm.h | 554 +-
include/opcode/avr.h | 2 +-
include/opcode/bfin.h | 2 +-
include/opcode/cgen.h | 2 +-
include/opcode/convex.h | 2 +-
include/opcode/cr16.h | 2 +-
include/opcode/cris.h | 2 +-
include/opcode/crx.h | 2 +-
include/opcode/csky.h | 2 +-
include/opcode/d10v.h | 2 +-
include/opcode/d30v.h | 2 +-
include/opcode/dlx.h | 2 +-
include/opcode/ft32.h | 2 +-
include/opcode/h8300.h | 2 +-
include/opcode/hppa.h | 2 +-
include/opcode/i386.h | 2 +-
include/opcode/ia64.h | 2 +-
include/opcode/m68hc11.h | 2 +-
include/opcode/m68k.h | 2 +-
include/opcode/metag.h | 2 +-
include/opcode/mips.h | 2 +-
include/opcode/mmix.h | 2 +-
include/opcode/mn10200.h | 2 +-
include/opcode/mn10300.h | 2 +-
include/opcode/moxie.h | 2 +-
include/opcode/msp430-decode.h | 2 +-
include/opcode/msp430.h | 2 +-
include/opcode/nds32.h | 2 +-
include/opcode/nfp.h | 2 +-
include/opcode/nios2.h | 2 +-
include/opcode/nios2r1.h | 2 +-
include/opcode/nios2r2.h | 2 +-
include/opcode/np1.h | 2 +-
include/opcode/ns32k.h | 2 +-
include/opcode/pdp11.h | 2 +-
include/opcode/pj.h | 2 +-
include/opcode/pn.h | 2 +-
include/opcode/ppc.h | 20 +-
include/opcode/pru.h | 2 +-
include/opcode/pyr.h | 2 +-
include/opcode/riscv.h | 14 +-
include/opcode/rl78.h | 2 +-
include/opcode/rx.h | 34 +-
include/opcode/s390.h | 3 +-
include/opcode/score-datadep.h | 2 +-
include/opcode/score-inst.h | 2 +-
include/opcode/sparc.h | 2 +-
include/opcode/spu-insns.h | 2 +-
include/opcode/spu.h | 2 +-
include/opcode/tic30.h | 2 +-
include/opcode/tic4x.h | 2 +-
include/opcode/tic54x.h | 2 +-
include/opcode/tic6x-control-registers.h | 2 +-
include/opcode/tic6x-insn-formats.h | 2 +-
include/opcode/tic6x-opcode-table.h | 2 +-
include/opcode/tic6x.h | 2 +-
include/opcode/tic80.h | 2 +-
include/opcode/tilegx.h | 2 +-
include/opcode/tilepro.h | 2 +-
include/opcode/v850.h | 2 +-
include/opcode/vax.h | 2 +-
include/opcode/visium.h | 2 +-
include/opcode/wasm.h | 2 +-
include/opcode/xgate.h | 2 +-
include/os9k.h | 2 +-
include/partition.h | 2 +-
include/plugin-api.h | 4 +-
include/progress.h | 2 +-
include/safe-ctype.h | 2 +-
include/sha1.h | 2 +-
include/simple-object.h | 2 +-
include/som/aout.h | 2 +-
include/som/clock.h | 2 +-
include/som/internal.h | 2 +-
include/som/lst.h | 2 +-
include/som/reloc.h | 2 +-
include/sort.h | 2 +-
include/splay-tree.h | 13 +-
include/symcat.h | 2 +-
include/timeval-utils.h | 2 +-
include/vms/dcx.h | 2 +-
include/vms/dmt.h | 2 +-
include/vms/dsc.h | 2 +-
include/vms/dst.h | 2 +-
include/vms/eeom.h | 2 +-
include/vms/egps.h | 2 +-
include/vms/egsd.h | 2 +-
include/vms/egst.h | 2 +-
include/vms/egsy.h | 2 +-
include/vms/eiaf.h | 2 +-
include/vms/eicp.h | 2 +-
include/vms/eidc.h | 2 +-
include/vms/eiha.h | 2 +-
include/vms/eihd.h | 2 +-
include/vms/eihi.h | 2 +-
include/vms/eihs.h | 2 +-
include/vms/eihvn.h | 2 +-
include/vms/eisd.h | 2 +-
include/vms/emh.h | 2 +-
include/vms/eobjrec.h | 2 +-
include/vms/esdf.h | 2 +-
include/vms/esdfm.h | 2 +-
include/vms/esdfv.h | 2 +-
include/vms/esgps.h | 2 +-
include/vms/esrf.h | 2 +-
include/vms/etir.h | 2 +-
include/vms/internal.h | 2 +-
include/vms/lbr.h | 2 +-
include/vms/prt.h | 2 +-
include/vms/shl.h | 2 +-
include/vtv-change-permission.h | 2 +-
include/xregex2.h | 2 +-
include/xtensa-config.h | 2 +-
include/xtensa-isa-internal.h | 2 +-
include/xtensa-isa.h | 2 +-
intl/ChangeLog | 8 +
intl/aclocal.m4 | 4 +-
intl/configure | 2 +-
ld/ChangeLog | 4786 +-----
ld/ChangeLog-2018 | 4760 +++++
ld/MAINTAINERS | 2 +-
ld/Makefile.am | 2 +-
ld/Makefile.in | 2 +-
ld/NEWS | 28 +-
ld/README | 2 +-
ld/configure | 30 +-
ld/configure.ac | 2 +-
ld/configure.host | 2 +-
ld/configure.tgt | 2 +-
ld/deffile.h | 2 +-
ld/deffilep.y | 2 +-
ld/emulparams/README | 2 +-
ld/emulparams/elf32lm32fd.sh | 1 +
ld/emultempl/README | 2 +-
ld/emultempl/aarch64elf.em | 26 +-
ld/emultempl/aix.em | 2 +-
ld/emultempl/alphaelf.em | 2 +-
ld/emultempl/arclinux.em | 31 +-
ld/emultempl/armcoff.em | 2 +-
ld/emultempl/armelf.em | 2 +-
ld/emultempl/avrelf.em | 2 +-
ld/emultempl/beos.em | 2 +-
ld/emultempl/bfin.em | 2 +-
ld/emultempl/cr16elf.em | 2 +-
ld/emultempl/crxelf.em | 2 +-
ld/emultempl/cskyelf.em | 2 +-
ld/emultempl/elf-generic.em | 2 +-
ld/emultempl/elf32.em | 22 +-
ld/emultempl/epiphanyelf_4x4.em | 2 +-
ld/emultempl/genelf.em | 2 +-
ld/emultempl/generic.em | 2 +-
ld/emultempl/hppaelf.em | 2 +-
ld/emultempl/ia64elf.em | 2 +-
ld/emultempl/irix.em | 2 +-
ld/emultempl/linux.em | 2 +-
ld/emultempl/m68hc1xelf.em | 2 +-
ld/emultempl/m68kelf.em | 2 +-
ld/emultempl/metagelf.em | 2 +-
ld/emultempl/mipself.em | 2 +-
ld/emultempl/mmix-elfnmmo.em | 2 +-
ld/emultempl/mmixelf.em | 2 +-
ld/emultempl/mmo.em | 2 +-
ld/emultempl/msp430.em | 2 +-
ld/emultempl/nds32elf.em | 2 +-
ld/emultempl/needrelax.em | 2 +-
ld/emultempl/netbsd.em | 2 +-
ld/emultempl/nios2elf.em | 2 +-
ld/emultempl/pe.em | 2 +-
ld/emultempl/pep.em | 2 +-
ld/emultempl/ppc32elf.em | 2 +-
ld/emultempl/ppc64elf.em | 2 +-
ld/emultempl/pruelf.em | 2 +-
ld/emultempl/riscvelf.em | 2 +-
ld/emultempl/rxelf.em | 2 +-
ld/emultempl/s390.em | 2 +-
ld/emultempl/scoreelf.em | 2 +-
ld/emultempl/solaris2.em | 2 +-
ld/emultempl/spu_ovl.S | 2 +-
ld/emultempl/spuelf.em | 2 +-
ld/emultempl/tic6xdsbt.em | 2 +-
ld/emultempl/ticoff.em | 2 +-
ld/emultempl/v850elf.em | 2 +-
ld/emultempl/vanilla.em | 2 +-
ld/emultempl/vms.em | 2 +-
ld/emultempl/vxworks.em | 2 +-
ld/emultempl/xtensaelf.em | 2 +-
ld/emultempl/z80.em | 2 +-
ld/gen-doc.texi | 2 +-
ld/genscripts.sh | 2 +-
ld/h8-doc.texi | 2 +-
ld/ld.h | 2 +-
ld/ld.texi | 73 +-
ld/ldbuildid.c | 2 +-
ld/ldbuildid.h | 2 +-
ld/ldcref.c | 2 +-
ld/ldctor.c | 2 +-
ld/ldctor.h | 2 +-
ld/ldemul.c | 2 +-
ld/ldemul.h | 2 +-
ld/ldexp.c | 130 +-
ld/ldexp.h | 6 +-
ld/ldfile.c | 2 +-
ld/ldfile.h | 2 +-
ld/ldgram.y | 2 +-
ld/ldint.texi | 6 +-
ld/ldlang.c | 44 +-
ld/ldlang.h | 12 +-
ld/ldlex-wrapper.c | 2 +-
ld/ldlex.h | 2 +-
ld/ldlex.l | 2 +-
ld/ldmain.c | 9 +-
ld/ldmain.h | 2 +-
ld/ldmisc.c | 2 +-
ld/ldmisc.h | 2 +-
ld/ldver.c | 4 +-
ld/ldver.h | 2 +-
ld/ldwrite.c | 2 +-
ld/ldwrite.h | 2 +-
ld/lexsup.c | 2 +-
ld/mri.c | 2 +-
ld/mri.h | 2 +-
ld/pe-dll.c | 2 +-
ld/pe-dll.h | 2 +-
ld/pep-dll.c | 2 +-
ld/pep-dll.h | 2 +-
ld/plugin.c | 75 +-
ld/plugin.h | 2 +-
ld/po/Make-in | 2 +-
ld/po/bg.po | 4162 ++--
ld/po/de.po | 3586 ++--
ld/po/es.po | 620 +-
ld/po/fr.po | 4249 +++---
ld/po/ld.pot | 4178 +++--
ld/po/pt_BR.po | 4280 +++---
ld/po/uk.po | 4235 +++---
ld/scripttempl/DWARF.sc | 2 +-
ld/scripttempl/README | 2 +-
ld/scripttempl/aix.sc | 4 +-
ld/scripttempl/alpha.sc | 8 +-
ld/scripttempl/alphavms.sc | 4 +-
ld/scripttempl/aout.sc | 4 +-
ld/scripttempl/arclinux.sc | 4 +-
ld/scripttempl/armbpabi.sc | 8 +-
ld/scripttempl/avr.sc | 4 +-
ld/scripttempl/crisaout.sc | 8 +-
ld/scripttempl/dlx.sc | 4 +-
ld/scripttempl/elf.sc | 4 +-
ld/scripttempl/elf32cr16.sc | 8 +-
ld/scripttempl/elf32cr16c.sc | 4 +-
ld/scripttempl/elf32crx.sc | 8 +-
ld/scripttempl/elf32msp430.sc | 4 +-
ld/scripttempl/elf32msp430_3.sc | 4 +-
ld/scripttempl/elf32xc16x.sc | 9 +-
ld/scripttempl/elf32xc16xl.sc | 7 +-
ld/scripttempl/elf32xc16xs.sc | 7 +-
ld/scripttempl/elf64hppa.sc | 8 +-
ld/scripttempl/elf_chaos.sc | 12 +-
ld/scripttempl/elfarc.sc | 4 +-
ld/scripttempl/elfarcv2.sc | 4 +-
ld/scripttempl/elfd10v.sc | 4 +-
ld/scripttempl/elfd30v.sc | 9 +-
ld/scripttempl/elfm68hc11.sc | 8 +-
ld/scripttempl/elfm68hc12.sc | 8 +-
ld/scripttempl/elfm9s12z.sc | 8 +-
ld/scripttempl/elfmicroblaze.sc | 8 +-
ld/scripttempl/elfxgate.sc | 8 +-
ld/scripttempl/elfxtensa.sc | 8 +-
ld/scripttempl/epiphany_4x4.sc | 8 +-
ld/scripttempl/ft32.sc | 4 +-
ld/scripttempl/hppaelf.sc | 4 +-
ld/scripttempl/i386beos.sc | 8 +-
ld/scripttempl/i386go32.sc | 4 +-
ld/scripttempl/i386msdos.sc | 4 +-
ld/scripttempl/ia64vms.sc | 4 +-
ld/scripttempl/ip2k.sc | 4 +-
ld/scripttempl/iq2000.sc | 8 +-
ld/scripttempl/mcorepe.sc | 8 +-
ld/scripttempl/mep.sc | 8 +-
ld/scripttempl/mips.sc | 16 +-
ld/scripttempl/mipsbsd.sc | 4 +-
ld/scripttempl/mmo.sc | 4 +-
ld/scripttempl/moxie.sc | 10 +-
ld/scripttempl/nds32elf.sc | 4 +-
ld/scripttempl/pe.sc | 9 +-
ld/scripttempl/pep.sc | 9 +-
ld/scripttempl/pj.sc | 4 +-
ld/scripttempl/ppcpe.sc | 13 +-
ld/scripttempl/sh.sc | 4 +-
ld/scripttempl/tic30aout.sc | 4 +-
ld/scripttempl/tic30coff.sc | 4 +-
ld/scripttempl/tic4xcoff.sc | 8 +-
ld/scripttempl/tic54xcoff.sc | 4 +-
ld/scripttempl/tic80coff.sc | 8 +-
ld/scripttempl/v850.sc | 8 +-
ld/scripttempl/v850_rh850.sc | 8 +-
ld/scripttempl/vanilla.sc | 2 +-
ld/scripttempl/visium.sc | 6 +-
ld/scripttempl/xstormy16.sc | 8 +-
ld/scripttempl/z80.sc | 4 +-
ld/scripttempl/z8000.sc | 4 +-
ld/sysdep.h | 2 +-
ld/testplug.c | 2 +-
ld/testplug2.c | 2 +-
ld/testplug3.c | 2 +-
ld/testplug4.c | 2 +-
ld/testsuite/config/default.exp | 2 +-
ld/testsuite/ld-aarch64/aarch64-elf.exp | 24 +-
ld/testsuite/ld-aarch64/bti-pac-plt-1.d | 34 +
ld/testsuite/ld-aarch64/bti-pac-plt-2.d | 36 +
ld/testsuite/ld-aarch64/bti-plt-1.d | 32 +
ld/testsuite/ld-aarch64/bti-plt-1.s | 40 +
ld/testsuite/ld-aarch64/bti-plt-2.d | 11 +
ld/testsuite/ld-aarch64/bti-plt-2.s | 21 +
ld/testsuite/ld-aarch64/bti-plt-3.d | 34 +
ld/testsuite/ld-aarch64/bti-plt-4.d | 10 +
ld/testsuite/ld-aarch64/bti-plt-5.d | 28 +
ld/testsuite/ld-aarch64/bti-plt-6.d | 15 +
ld/testsuite/ld-aarch64/bti-plt-7.d | 16 +
ld/testsuite/ld-aarch64/bti-plt-so.s | 41 +
ld/testsuite/ld-aarch64/bti-plt.ld | 14 +
ld/testsuite/ld-aarch64/bti-warn.d | 16 +
ld/testsuite/ld-aarch64/erratum843419_tls_ie.d | 49 +
ld/testsuite/ld-aarch64/erratum843419_tls_ie.s | 43 +
ld/testsuite/ld-aarch64/pac-plt-1.d | 33 +
ld/testsuite/ld-aarch64/pac-plt-2.d | 24 +
ld/testsuite/ld-aarch64/property-bti-pac1.d | 11 +
ld/testsuite/ld-aarch64/property-bti-pac1.s | 37 +
ld/testsuite/ld-aarch64/property-bti-pac2.d | 12 +
ld/testsuite/ld-aarch64/property-bti-pac2.s | 50 +
ld/testsuite/ld-aarch64/property-bti-pac3.d | 12 +
ld/testsuite/ld-alpha/alpha.exp | 2 +-
ld/testsuite/ld-arc/arc.exp | 2 +-
ld/testsuite/ld-arc/arclinux-nps.d | 2 +-
ld/testsuite/ld-arc/tls_gd-01.d | 4 +-
ld/testsuite/ld-arm/arm-elf.exp | 2 +-
ld/testsuite/ld-arm/export-class.exp | 2 +-
ld/testsuite/ld-arm/jump-reloc-veneers-cond-long.d | 2 +-
ld/testsuite/ld-arm/jump-reloc-veneers-long.d | 5 +-
ld/testsuite/ld-auto-import/auto-import.exp | 2 +-
ld/testsuite/ld-avr/avr.exp | 2 +-
ld/testsuite/ld-bootstrap/bootstrap.exp | 2 +-
ld/testsuite/ld-cdtest/cdtest.exp | 2 +-
ld/testsuite/ld-checks/checks.exp | 2 +-
ld/testsuite/ld-cris/cris.exp | 2 +-
ld/testsuite/ld-crx/crx.exp | 2 +-
ld/testsuite/ld-cygwin/exe-export.exp | 2 +-
ld/testsuite/ld-d10v/d10v.exp | 2 +-
ld/testsuite/ld-discard/discard.exp | 2 +-
ld/testsuite/ld-elf/audit.exp | 2 +-
ld/testsuite/ld-elf/binutils.exp | 2 +-
ld/testsuite/ld-elf/comm-data.exp | 2 +-
ld/testsuite/ld-elf/compress.exp | 2 +-
ld/testsuite/ld-elf/compress1.s | 2 +-
ld/testsuite/ld-elf/dwarf.exp | 2 +-
ld/testsuite/ld-elf/eh-group.exp | 2 +-
ld/testsuite/ld-elf/elf.exp | 49 +-
ld/testsuite/ld-elf/exclude.exp | 2 +-
ld/testsuite/ld-elf/export-class.exp | 2 +-
ld/testsuite/ld-elf/fini2.s | 2 +-
ld/testsuite/ld-elf/fini3.s | 2 +-
ld/testsuite/ld-elf/finin.s | 2 +-
ld/testsuite/ld-elf/frame.exp | 2 +-
ld/testsuite/ld-elf/indirect.exp | 2 +-
ld/testsuite/ld-elf/init2.s | 2 +-
ld/testsuite/ld-elf/init3.s | 2 +-
ld/testsuite/ld-elf/initn.s | 2 +-
ld/testsuite/ld-elf/linux-x86.exp | 2 +-
ld/testsuite/ld-elf/merge.d | 8 +-
ld/testsuite/ld-elf/notes.exp | 2 +-
ld/testsuite/ld-elf/pr14156a.d | 1 -
ld/testsuite/ld-elf/pr14156b.d | 1 -
ld/testsuite/ld-elf/pr21884.d | 2 +-
ld/testsuite/ld-elf/pr22319.d | 2 -
ld/testsuite/ld-elf/pr23900-1-32.rd | 14 +
ld/testsuite/ld-elf/pr23900-1-64.rd | 14 +
ld/testsuite/ld-elf/pr23900-1.d | 8 +
ld/testsuite/ld-elf/pr23900-1.s | 30 +
ld/testsuite/ld-elf/pr23900-2.s | 32 +
ld/testsuite/ld-elf/pr23900-2a.d | 9 +
ld/testsuite/ld-elf/pr23900-2b.d | 9 +
ld/testsuite/ld-elf/provide-hidden.exp | 2 +-
ld/testsuite/ld-elf/readelf.exp | 2 +-
ld/testsuite/ld-elf/sec-to-seg.exp | 2 +-
ld/testsuite/ld-elf/sec64k.exp | 4 +-
ld/testsuite/ld-elf/shared.exp | 3 +-
ld/testsuite/ld-elf/tls.exp | 2 +-
ld/testsuite/ld-elf/tls_common.exp | 2 +-
ld/testsuite/ld-elf/wrap.exp | 2 +-
ld/testsuite/ld-elfcomm/elfcomm.exp | 2 +-
ld/testsuite/ld-elfvers/vers.exp | 2 +-
ld/testsuite/ld-elfvsb/elfvsb.exp | 2 +-
ld/testsuite/ld-elfweak/elfweak.exp | 2 +-
ld/testsuite/ld-fastcall/fastcall.exp | 2 +-
ld/testsuite/ld-frv/fdpic.exp | 2 +-
ld/testsuite/ld-frv/frv-elf.exp | 2 +-
ld/testsuite/ld-frv/tls.exp | 2 +-
ld/testsuite/ld-gc/gc.exp | 2 +-
ld/testsuite/ld-h8300/h8300.exp | 2 +-
ld/testsuite/ld-i386/export-class.exp | 2 +-
ld/testsuite/ld-i386/i386.exp | 23 +-
ld/testsuite/ld-i386/ibt-plt-1.d | 22 +-
ld/testsuite/ld-i386/ibt-plt-2c.d | 22 +-
ld/testsuite/ld-i386/ibt-plt-2d.d | 20 +-
ld/testsuite/ld-i386/ibt-plt-3d.d | 20 +-
ld/testsuite/ld-i386/no-plt.exp | 2 +-
ld/testsuite/ld-i386/plt-main-ibt.dd | 2 +-
ld/testsuite/ld-i386/pr23372a.d | 5 +
ld/testsuite/ld-i386/pr23372c.d | 5 +
ld/testsuite/ld-i386/pr23930.d | 11 +
ld/testsuite/ld-i386/pr24276.dso | 9 +
ld/testsuite/ld-i386/pr24276.warn | 1 +
ld/testsuite/ld-i386/pr24322a.d | 12 +
ld/testsuite/ld-i386/pr24322b.d | 12 +
ld/testsuite/ld-i386/tls.exp | 2 +-
ld/testsuite/ld-ia64/ia64.exp | 2 +-
ld/testsuite/ld-ia64/line.exp | 2 +-
ld/testsuite/ld-ifunc/binutils.exp | 2 +-
ld/testsuite/ld-ifunc/ifunc.exp | 6 +-
ld/testsuite/ld-libs/libs.exp | 2 +-
ld/testsuite/ld-linkonce/linkonce.exp | 2 +-
ld/testsuite/ld-m68hc11/m68hc11.exp | 2 +-
ld/testsuite/ld-m68k/m68k-got.exp | 54 +-
ld/testsuite/ld-m68k/m68k.exp | 2 +-
ld/testsuite/ld-mep/mep.exp | 2 +-
ld/testsuite/ld-metag/metag.exp | 2 +-
ld/testsuite/ld-mips-elf/comm-data.exp | 2 +-
ld/testsuite/ld-mips-elf/export-class.exp | 2 +-
ld/testsuite/ld-mips-elf/mips-elf-flags.exp | 2 +-
ld/testsuite/ld-mips-elf/mips-elf.exp | 9 +-
ld/testsuite/ld-mips-elf/pic-reloc-0.d | 7 +
ld/testsuite/ld-mips-elf/pic-reloc-1.d | 14 +
ld/testsuite/ld-mips-elf/pic-reloc-2.d | 7 +
ld/testsuite/ld-mips-elf/pic-reloc-3.d | 7 +
ld/testsuite/ld-mips-elf/pic-reloc-4.d | 9 +
ld/testsuite/ld-mips-elf/pic-reloc-absolute-hi.ld | 6 +
ld/testsuite/ld-mips-elf/pic-reloc-absolute-lo.ld | 6 +
ld/testsuite/ld-mips-elf/pic-reloc-j.s | 11 +
ld/testsuite/ld-mips-elf/pic-reloc-lui.s | 13 +
ld/testsuite/ld-mips-elf/pic-reloc-ordinary.ld | 6 +
ld/testsuite/ld-misc/defsym.exp | 2 +-
ld/testsuite/ld-mmix/mmix.exp | 2 +-
ld/testsuite/ld-mn10300/mn10300.exp | 2 +-
ld/testsuite/ld-msp430-elf/msp430-elf.exp | 2 +-
ld/testsuite/ld-nds32/nds32.exp | 2 +-
ld/testsuite/ld-or1k/or1k.exp | 2 +-
ld/testsuite/ld-pe/pe-compile.exp | 2 +-
ld/testsuite/ld-pe/pe-run.exp | 2 +-
ld/testsuite/ld-pe/pe-run2.exp | 2 +-
ld/testsuite/ld-pe/pe.exp | 2 +-
ld/testsuite/ld-pie/pie.exp | 2 +-
ld/testsuite/ld-plugin/lto.exp | 8 +-
ld/testsuite/ld-plugin/plugin-12.d | 8 +-
ld/testsuite/ld-plugin/plugin.exp | 2 +-
ld/testsuite/ld-plugin/pr23958.c | 6 +
ld/testsuite/ld-plugin/pr23958.t | 4 +
ld/testsuite/ld-powerpc/aix52.exp | 2 +-
ld/testsuite/ld-powerpc/export-class.exp | 2 +-
ld/testsuite/ld-powerpc/powerpc.exp | 3 +-
ld/testsuite/ld-powerpc/pr23937.d | 10 +
ld/testsuite/ld-powerpc/pr23937.s | 65 +
ld/testsuite/ld-powerpc/tls32.s | 3 +-
ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d | 9 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s | 1 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s | 1 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d | 9 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s | 1 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s | 1 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d | 9 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s | 1 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s | 1 +
.../ld-riscv-elf/attr-merge-arch-failed-01.d | 5 +
.../ld-riscv-elf/attr-merge-arch-failed-01a.s | 1 +
.../ld-riscv-elf/attr-merge-arch-failed-01b.s | 1 +
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s | 3 +
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s | 3 +
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec.d | 12 +
.../ld-riscv-elf/attr-merge-stack-align-a.s | 1 +
.../ld-riscv-elf/attr-merge-stack-align-b.s | 1 +
.../ld-riscv-elf/attr-merge-stack-align-failed-a.s | 1 +
.../ld-riscv-elf/attr-merge-stack-align-failed-b.s | 1 +
.../ld-riscv-elf/attr-merge-stack-align-failed.d | 5 +
ld/testsuite/ld-riscv-elf/attr-merge-stack-align.d | 10 +
.../ld-riscv-elf/attr-merge-strict-align-01.d | 10 +
.../ld-riscv-elf/attr-merge-strict-align-01a.s | 1 +
.../ld-riscv-elf/attr-merge-strict-align-01b.s | 1 +
.../ld-riscv-elf/attr-merge-strict-align-02.d | 10 +
.../ld-riscv-elf/attr-merge-strict-align-02a.s | 1 +
.../ld-riscv-elf/attr-merge-strict-align-03.d | 10 +
.../ld-riscv-elf/attr-merge-strict-align-03a.s | 1 +
.../ld-riscv-elf/attr-merge-strict-align-03b.s | 1 +
.../ld-riscv-elf/attr-merge-strict-align-04.d | 9 +
.../ld-riscv-elf/attr-merge-strict-align-04a.s | 1 +
.../ld-riscv-elf/attr-merge-strict-align-04b.s | 1 +
.../ld-riscv-elf/attr-merge-strict-align-05.d | 10 +
.../ld-riscv-elf/attr-merge-strict-align-05a.s | 1 +
.../ld-riscv-elf/attr-merge-strict-align-05b.s | 1 +
ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp | 14 +-
ld/testsuite/ld-s12z/s12z.exp | 2 +-
ld/testsuite/ld-s390/s390.exp | 2 +-
ld/testsuite/ld-scripts/align.exp | 2 +-
ld/testsuite/ld-scripts/alignof.exp | 2 +-
ld/testsuite/ld-scripts/assert.exp | 2 +-
ld/testsuite/ld-scripts/crossref.exp | 2 +-
ld/testsuite/ld-scripts/data.exp | 2 +-
ld/testsuite/ld-scripts/default-script.exp | 2 +-
ld/testsuite/ld-scripts/defined.exp | 3 +-
ld/testsuite/ld-scripts/dynamic-sections.exp | 2 +-
ld/testsuite/ld-scripts/empty-address.exp | 2 +-
ld/testsuite/ld-scripts/empty-aligned.exp | 2 +-
ld/testsuite/ld-scripts/empty-orphan.exp | 2 +-
ld/testsuite/ld-scripts/exclude-file.exp | 2 +-
ld/testsuite/ld-scripts/expr.exp | 2 +-
ld/testsuite/ld-scripts/extern.exp | 2 +-
ld/testsuite/ld-scripts/include.exp | 2 +-
ld/testsuite/ld-scripts/log2.exp | 2 +-
ld/testsuite/ld-scripts/map-address.exp | 2 +-
ld/testsuite/ld-scripts/overlay-size.exp | 2 +-
ld/testsuite/ld-scripts/phdrs.exp | 2 +-
ld/testsuite/ld-scripts/phdrs2.exp | 2 +-
ld/testsuite/ld-scripts/phdrs3.exp | 2 +-
ld/testsuite/ld-scripts/pr24008.d | 11 +
ld/testsuite/ld-scripts/pr24008.map | 7 +
ld/testsuite/ld-scripts/pr24008.s | 2 +
ld/testsuite/ld-scripts/pr24008.t | 8 +
ld/testsuite/ld-scripts/print-memory-usage.exp | 2 +-
ld/testsuite/ld-scripts/provide.exp | 2 +-
ld/testsuite/ld-scripts/rgn-at.exp | 2 +-
ld/testsuite/ld-scripts/rgn-over.exp | 2 +-
ld/testsuite/ld-scripts/rgn-over1.d | 1 +
ld/testsuite/ld-scripts/rgn-over2.d | 1 +
ld/testsuite/ld-scripts/rgn-over3.d | 1 +
ld/testsuite/ld-scripts/rgn-over4.d | 1 +
ld/testsuite/ld-scripts/rgn-over5.d | 1 +
ld/testsuite/ld-scripts/rgn-over6.d | 1 +
ld/testsuite/ld-scripts/rgn-over7.d | 1 +
ld/testsuite/ld-scripts/script.exp | 2 +-
ld/testsuite/ld-scripts/section-flags.exp | 2 +-
ld/testsuite/ld-scripts/section-match.exp | 2 +-
ld/testsuite/ld-scripts/size.exp | 2 +-
ld/testsuite/ld-scripts/sizeof.exp | 2 +-
ld/testsuite/ld-scripts/sort.exp | 2 +-
ld/testsuite/ld-scripts/sysroot-prefix.exp | 2 +-
ld/testsuite/ld-scripts/weak.exp | 2 +-
ld/testsuite/ld-selective/sel-dump.exp | 2 +-
ld/testsuite/ld-selective/selective.exp | 2 +-
ld/testsuite/ld-sh/arch/arch.exp | 2 +-
ld/testsuite/ld-sh/rd-sh.exp | 2 +-
ld/testsuite/ld-sh/sh-vxworks.exp | 2 +-
ld/testsuite/ld-sh/sh.exp | 2 +-
ld/testsuite/ld-shared/shared.exp | 2 +-
ld/testsuite/ld-size/size.exp | 2 +-
ld/testsuite/ld-sparc/sparc.exp | 2 +-
ld/testsuite/ld-spu/spu.exp | 2 +-
ld/testsuite/ld-srec/srec.exp | 2 +-
ld/testsuite/ld-tic6x/tic6x.exp | 2 +-
ld/testsuite/ld-tilegx/tilegx.exp | 2 +-
ld/testsuite/ld-tilepro/tilepro.exp | 2 +-
ld/testsuite/ld-undefined/entry.exp | 2 +-
ld/testsuite/ld-undefined/require-defined.exp | 2 +-
ld/testsuite/ld-undefined/undefined.exp | 2 +-
ld/testsuite/ld-undefined/weak-undef.exp | 2 +-
ld/testsuite/ld-unique/pr21529.d | 2 +-
ld/testsuite/ld-unique/unique.exp | 2 +-
ld/testsuite/ld-v850/v850.exp | 2 +-
ld/testsuite/ld-vax-elf/export-class.exp | 2 +-
ld/testsuite/ld-vax-elf/vax-elf.exp | 2 +-
ld/testsuite/ld-visium/visium.exp | 2 +-
ld/testsuite/ld-vxworks/vxworks.exp | 2 +-
ld/testsuite/ld-x86-64/dwarfreloc.exp | 2 +-
ld/testsuite/ld-x86-64/export-class.exp | 2 +-
ld/testsuite/ld-x86-64/ibt-plt-1-x32.d | 24 +-
ld/testsuite/ld-x86-64/ibt-plt-1.d | 24 +-
ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d | 24 +-
ld/testsuite/ld-x86-64/ibt-plt-2c.d | 24 +-
ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d | 14 +-
ld/testsuite/ld-x86-64/ibt-plt-2d.d | 14 +-
ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d | 24 +-
ld/testsuite/ld-x86-64/ibt-plt-3c.d | 24 +-
ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d | 14 +-
ld/testsuite/ld-x86-64/ibt-plt-3d.d | 14 +-
ld/testsuite/ld-x86-64/line.exp | 2 +-
ld/testsuite/ld-x86-64/mpx.exp | 2 +-
ld/testsuite/ld-x86-64/no-plt.exp | 2 +-
ld/testsuite/ld-x86-64/pr23372a-x32.d | 5 +
ld/testsuite/ld-x86-64/pr23372a.d | 5 +
ld/testsuite/ld-x86-64/pr23372c-x32.d | 5 +
ld/testsuite/ld-x86-64/pr23372c.d | 5 +
ld/testsuite/ld-x86-64/pr23930-32.t | 10 +
ld/testsuite/ld-x86-64/pr23930-x32.d | 11 +
ld/testsuite/ld-x86-64/pr23930.d | 11 +
ld/testsuite/ld-x86-64/pr23930.t | 10 +
ld/testsuite/ld-x86-64/pr23930a.s | 7 +
ld/testsuite/ld-x86-64/pr23930b.s | 14 +
ld/testsuite/ld-x86-64/pr23997a.s | 6 +
ld/testsuite/ld-x86-64/pr23997b.c | 25 +
ld/testsuite/ld-x86-64/pr23997c.c | 7 +
ld/testsuite/ld-x86-64/pr24151a-x32.d | 4 +
ld/testsuite/ld-x86-64/pr24151a.d | 3 +
ld/testsuite/ld-x86-64/pr24151a.s | 9 +
ld/testsuite/ld-x86-64/pr24276.dso | 9 +
ld/testsuite/ld-x86-64/pr24276.warn | 1 +
ld/testsuite/ld-x86-64/pr24322a-x32.d | 12 +
ld/testsuite/ld-x86-64/pr24322a.d | 12 +
ld/testsuite/ld-x86-64/pr24322a.s | 27 +
ld/testsuite/ld-x86-64/pr24322b-x32.d | 12 +
ld/testsuite/ld-x86-64/pr24322b.d | 12 +
ld/testsuite/ld-x86-64/pr24322b.s | 4 +
ld/testsuite/ld-x86-64/pr24322c.s | 27 +
ld/testsuite/ld-x86-64/property-x86-5a.s | 3 +-
ld/testsuite/ld-x86-64/property-x86-5b.s | 3 +-
ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d | 3 +-
ld/testsuite/ld-x86-64/property-x86-ibt1a.d | 3 +-
ld/testsuite/ld-x86-64/property-x86-ibt1a.map | 3 +
ld/testsuite/ld-x86-64/tls.exp | 2 +-
ld/testsuite/ld-x86-64/x86-64.exp | 29 +-
ld/testsuite/ld-xc16x/xc16x.exp | 2 +-
ld/testsuite/ld-xstormy16/xstormy16.exp | 2 +-
ld/testsuite/ld-xtensa/call_overflow.d | 7 +
ld/testsuite/ld-xtensa/call_overflow1.s | 9 +
ld/testsuite/ld-xtensa/call_overflow2.s | 14 +
ld/testsuite/ld-xtensa/call_overflow3.s | 5 +
.../relax-undef-weak-pie-export-dynamic.d | 14 +
ld/testsuite/ld-xtensa/xtensa-linux.exp | 2 +-
ld/testsuite/ld-xtensa/xtensa.exp | 4 +-
ld/testsuite/ld-z8k/z8k.exp | 2 +-
ld/testsuite/lib/ld-lib.exp | 2 +-
libiberty/ChangeLog | 109 +-
libiberty/Makefile.in | 2 +-
libiberty/_doprnt.c | 2 +-
libiberty/argv.c | 2 +-
libiberty/asprintf.c | 2 +-
libiberty/choose-temp.c | 2 +-
libiberty/clock.c | 2 +-
libiberty/concat.c | 2 +-
libiberty/config.in | 3 +
libiberty/configure | 4 +-
libiberty/configure.ac | 4 +-
libiberty/copying-lib.texi | 2 +-
libiberty/cp-demangle.c | 70 +-
libiberty/cp-demangle.h | 5 +-
libiberty/cp-demint.c | 2 +-
libiberty/cplus-dem.c | 4554 +-----
libiberty/crc32.c | 2 +-
libiberty/d-demangle.c | 2 +-
libiberty/dwarfnames.c | 2 +-
libiberty/dyn-string.c | 2 +-
libiberty/fdmatch.c | 2 +-
libiberty/fibheap.c | 2 +-
libiberty/filename_cmp.c | 2 +-
libiberty/floatformat.c | 2 +-
libiberty/fnmatch.c | 2 +-
libiberty/fopen_unlocked.c | 2 +-
libiberty/gather-docs | 2 +-
libiberty/getopt.c | 2 +-
libiberty/getopt1.c | 2 +-
libiberty/getruntime.c | 2 +-
libiberty/hashtab.c | 2 +-
libiberty/hex.c | 2 +-
libiberty/lbasename.c | 2 +-
libiberty/libiberty.texi | 4 +-
libiberty/lrealpath.c | 2 +-
libiberty/maint-tool | 2 +-
libiberty/make-relative-prefix.c | 2 +-
libiberty/make-temp-file.c | 2 +-
libiberty/md5.c | 2 +-
libiberty/memmem.c | 2 +-
libiberty/mempcpy.c | 2 +-
libiberty/mkstemps.c | 2 +-
libiberty/objalloc.c | 2 +-
libiberty/obstack.c | 2 +-
libiberty/partition.c | 2 +-
libiberty/pex-common.c | 2 +-
libiberty/pex-common.h | 2 +-
libiberty/pex-djgpp.c | 2 +-
libiberty/pex-msdos.c | 2 +-
libiberty/pex-one.c | 2 +-
libiberty/pex-unix.c | 270 +-
libiberty/pex-win32.c | 2 +-
libiberty/pexecute.c | 2 +-
libiberty/physmem.c | 2 +-
libiberty/putenv.c | 2 +-
libiberty/regex.c | 2 +-
libiberty/rust-demangle.c | 2 +-
libiberty/safe-ctype.c | 2 +-
libiberty/setenv.c | 2 +-
libiberty/setproctitle.c | 2 +-
libiberty/sha1.c | 2 +-
libiberty/simple-object-coff.c | 2 +-
libiberty/simple-object-common.h | 2 +-
libiberty/simple-object-elf.c | 2 +-
libiberty/simple-object-mach-o.c | 2 +-
libiberty/simple-object-xcoff.c | 2 +-
libiberty/simple-object.c | 2 +-
libiberty/snprintf.c | 2 +-
libiberty/sort.c | 2 +-
libiberty/spaces.c | 2 +-
libiberty/splay-tree.c | 17 +-
libiberty/stack-limit.c | 2 +-
libiberty/stpcpy.c | 2 +-
libiberty/stpncpy.c | 2 +-
libiberty/strndup.c | 2 +-
libiberty/strtod.c | 2 +-
libiberty/strverscmp.c | 2 +-
libiberty/testsuite/Makefile.in | 2 +-
libiberty/testsuite/demangle-expected | 3447 +----
libiberty/testsuite/demangler-fuzzer.c | 2 +-
libiberty/testsuite/test-demangle.c | 2 +-
libiberty/testsuite/test-expandargv.c | 2 +-
libiberty/testsuite/test-pexecute.c | 2 +-
libiberty/testsuite/test-strtol.c | 2 +-
libiberty/timeval-utils.c | 2 +-
libiberty/unlink-if-ordinary.c | 2 +-
libiberty/vasprintf.c | 2 +-
libiberty/vfprintf.c | 2 +-
libiberty/vprintf-support.c | 2 +-
libiberty/vprintf-support.h | 2 +-
libiberty/vsnprintf.c | 2 +-
libiberty/vsprintf.c | 2 +-
libiberty/xasprintf.c | 2 +-
libiberty/xexit.c | 2 +-
libiberty/xmalloc.c | 2 +-
libiberty/xstrndup.c | 2 +-
libiberty/xvasprintf.c | 2 +-
opcodes/ChangeLog | 2434 +---
opcodes/ChangeLog-2018 | 2550 +++
opcodes/MAINTAINERS | 2 +-
opcodes/Makefile.am | 3 +-
opcodes/Makefile.in | 4 +-
opcodes/aarch64-asm-2.c | 1132 +-
opcodes/aarch64-asm.c | 7 +-
opcodes/aarch64-asm.h | 2 +-
opcodes/aarch64-dis-2.c | 5034 +++---
opcodes/aarch64-dis.c | 59 +-
opcodes/aarch64-dis.h | 2 +-
opcodes/aarch64-gen.c | 4 +-
opcodes/aarch64-opc-2.c | 146 +-
opcodes/aarch64-opc.c | 148 +-
opcodes/aarch64-opc.h | 16 +-
opcodes/aarch64-tbl.h | 79 +-
opcodes/alpha-dis.c | 2 +-
opcodes/alpha-opc.c | 2 +-
opcodes/arc-dis.c | 2 +-
opcodes/arc-dis.h | 2 +-
opcodes/arc-ext-tbl.h | 2 +-
opcodes/arc-ext.c | 2 +-
opcodes/arc-ext.h | 2 +-
opcodes/arc-fxi.h | 2 +-
opcodes/arc-opc.c | 2 +-
opcodes/arc-regs.h | 2 +-
opcodes/arc-tbl.h | 2 +-
opcodes/arm-dis.c | 255 +-
opcodes/avr-dis.c | 2 +-
opcodes/bfin-dis.c | 2 +-
opcodes/cgen-asm.c | 2 +-
opcodes/cgen-asm.in | 2 +-
opcodes/cgen-bitset.c | 2 +-
opcodes/cgen-dis.c | 2 +-
opcodes/cgen-dis.in | 2 +-
opcodes/cgen-ibld.in | 2 +-
opcodes/cgen-opc.c | 2 +-
opcodes/cgen.sh | 2 +-
opcodes/configure | 46 +-
opcodes/configure.ac | 18 +-
opcodes/configure.com | 2 +-
opcodes/cr16-dis.c | 2 +-
opcodes/cr16-opc.c | 2 +-
opcodes/cris-dis.c | 2 +-
opcodes/cris-opc.c | 2 +-
opcodes/crx-dis.c | 2 +-
opcodes/crx-opc.c | 2 +-
opcodes/csky-dis.c | 4 +-
opcodes/csky-opc.h | 2 +-
opcodes/d10v-dis.c | 2 +-
opcodes/d10v-opc.c | 2 +-
opcodes/d30v-dis.c | 2 +-
opcodes/d30v-opc.c | 2 +-
opcodes/dis-buf.c | 2 +-
opcodes/dis-init.c | 2 +-
opcodes/disassemble.c | 7 +-
opcodes/disassemble.h | 2 +-
opcodes/dlx-dis.c | 2 +-
opcodes/epiphany-asm.c | 2 +-
opcodes/epiphany-desc.c | 2 +-
opcodes/epiphany-desc.h | 2 +-
opcodes/epiphany-dis.c | 2 +-
opcodes/epiphany-ibld.c | 2 +-
opcodes/epiphany-opc.c | 2 +-
opcodes/epiphany-opc.h | 2 +-
opcodes/fr30-asm.c | 2 +-
opcodes/fr30-desc.c | 2 +-
opcodes/fr30-desc.h | 2 +-
opcodes/fr30-dis.c | 2 +-
opcodes/fr30-ibld.c | 2 +-
opcodes/fr30-opc.c | 2 +-
opcodes/fr30-opc.h | 2 +-
opcodes/frv-asm.c | 2 +-
opcodes/frv-desc.c | 2 +-
opcodes/frv-desc.h | 2 +-
opcodes/frv-dis.c | 2 +-
opcodes/frv-ibld.c | 2 +-
opcodes/frv-opc.c | 2 +-
opcodes/frv-opc.h | 2 +-
opcodes/ft32-dis.c | 2 +-
opcodes/ft32-opc.c | 2 +-
opcodes/h8300-dis.c | 2 +-
opcodes/hppa-dis.c | 2 +-
opcodes/i386-dis.c | 2 +-
opcodes/i386-gen.c | 6 +-
opcodes/i386-init.h | 14 +-
opcodes/i386-opc.c | 2 +-
opcodes/i386-opc.h | 2 +-
opcodes/i386-opc.tbl | 14 +-
opcodes/i386-reg.tbl | 2 +-
opcodes/i386-tbl.h | 14 +-
opcodes/ia64-asmtab.c | 2 +-
opcodes/ia64-asmtab.h | 2 +-
opcodes/ia64-dis.c | 2 +-
opcodes/ia64-gen.c | 4 +-
opcodes/ia64-opc-a.c | 2 +-
opcodes/ia64-opc-b.c | 2 +-
opcodes/ia64-opc-d.c | 2 +-
opcodes/ia64-opc-f.c | 2 +-
opcodes/ia64-opc-i.c | 2 +-
opcodes/ia64-opc-m.c | 2 +-
opcodes/ia64-opc-x.c | 2 +-
opcodes/ia64-opc.c | 2 +-
opcodes/ia64-opc.h | 2 +-
opcodes/ip2k-asm.c | 2 +-
opcodes/ip2k-desc.c | 2 +-
opcodes/ip2k-desc.h | 2 +-
opcodes/ip2k-dis.c | 2 +-
opcodes/ip2k-ibld.c | 2 +-
opcodes/ip2k-opc.c | 2 +-
opcodes/ip2k-opc.h | 2 +-
opcodes/iq2000-asm.c | 2 +-
opcodes/iq2000-desc.c | 2 +-
opcodes/iq2000-desc.h | 2 +-
opcodes/iq2000-dis.c | 2 +-
opcodes/iq2000-ibld.c | 2 +-
opcodes/iq2000-opc.c | 2 +-
opcodes/iq2000-opc.h | 2 +-
opcodes/lm32-asm.c | 2 +-
opcodes/lm32-desc.c | 2 +-
opcodes/lm32-desc.h | 2 +-
opcodes/lm32-dis.c | 2 +-
opcodes/lm32-ibld.c | 2 +-
opcodes/lm32-opc.c | 2 +-
opcodes/lm32-opc.h | 2 +-
opcodes/lm32-opinst.c | 2 +-
opcodes/m10200-dis.c | 2 +-
opcodes/m10200-opc.c | 2 +-
opcodes/m10300-dis.c | 2 +-
opcodes/m10300-opc.c | 2 +-
opcodes/m32c-asm.c | 2 +-
opcodes/m32c-desc.c | 2 +-
opcodes/m32c-desc.h | 2 +-
opcodes/m32c-dis.c | 2 +-
opcodes/m32c-ibld.c | 2 +-
opcodes/m32c-opc.c | 2 +-
opcodes/m32c-opc.h | 2 +-
opcodes/m32r-asm.c | 2 +-
opcodes/m32r-desc.c | 2 +-
opcodes/m32r-desc.h | 2 +-
opcodes/m32r-dis.c | 2 +-
opcodes/m32r-ibld.c | 2 +-
opcodes/m32r-opc.c | 2 +-
opcodes/m32r-opc.h | 2 +-
opcodes/m32r-opinst.c | 2 +-
opcodes/m68hc11-dis.c | 2 +-
opcodes/m68hc11-opc.c | 2 +-
opcodes/m68k-dis.c | 2 +-
opcodes/m68k-opc.c | 2 +-
opcodes/makefile.vms | 2 +-
opcodes/mcore-dis.c | 2 +-
opcodes/mcore-opc.h | 2 +-
opcodes/mep-asm.c | 2 +-
opcodes/mep-desc.c | 2 +-
opcodes/mep-desc.h | 2 +-
opcodes/mep-dis.c | 2 +-
opcodes/mep-ibld.c | 2 +-
opcodes/mep-opc.c | 2 +-
opcodes/mep-opc.h | 2 +-
opcodes/metag-dis.c | 2 +-
opcodes/microblaze-dis.c | 2 +-
opcodes/microblaze-dis.h | 2 +-
opcodes/microblaze-opc.h | 2 +-
opcodes/microblaze-opcm.h | 2 +-
opcodes/micromips-opc.c | 2 +-
opcodes/mips-dis.c | 8 +-
opcodes/mips-formats.h | 2 +-
opcodes/mips-opc.c | 2 +-
opcodes/mips16-opc.c | 2 +-
opcodes/mmix-dis.c | 2 +-
opcodes/mmix-opc.c | 2 +-
opcodes/moxie-dis.c | 2 +-
opcodes/moxie-opc.c | 2 +-
opcodes/msp430-decode.c | 2 +-
opcodes/msp430-decode.opc | 2 +-
opcodes/msp430-dis.c | 2 +-
opcodes/mt-asm.c | 2 +-
opcodes/mt-desc.c | 2 +-
opcodes/mt-desc.h | 2 +-
opcodes/mt-dis.c | 2 +-
opcodes/mt-ibld.c | 2 +-
opcodes/mt-opc.c | 2 +-
opcodes/mt-opc.h | 2 +-
opcodes/nds32-asm.c | 4 +-
opcodes/nds32-asm.h | 2 +-
opcodes/nds32-dis.c | 2 +-
opcodes/nds32-opc.h | 2 +-
opcodes/nfp-dis.c | 14 +-
opcodes/nios2-dis.c | 2 +-
opcodes/nios2-opc.c | 2 +-
opcodes/ns32k-dis.c | 2 +-
opcodes/opc2c.c | 2 +-
opcodes/opintl.h | 2 +-
opcodes/or1k-asm.c | 2 +-
opcodes/or1k-desc.c | 2 +-
opcodes/or1k-desc.h | 2 +-
opcodes/or1k-dis.c | 2 +-
opcodes/or1k-ibld.c | 2 +-
opcodes/or1k-opc.c | 2 +-
opcodes/or1k-opc.h | 2 +-
opcodes/or1k-opinst.c | 2 +-
opcodes/pdp11-dis.c | 2 +-
opcodes/pdp11-opc.c | 2 +-
opcodes/pj-dis.c | 2 +-
opcodes/pj-opc.c | 2 +-
opcodes/po/Make-in | 2 +-
opcodes/po/POTFILES.in | 1 +
opcodes/po/de.po | 658 +-
opcodes/po/opcodes.pot | 542 +-
opcodes/po/pt_BR.po | 652 +-
opcodes/po/sv.po | 656 +-
opcodes/po/uk.po | 642 +-
opcodes/ppc-dis.c | 26 +-
opcodes/ppc-opc.c | 16 +-
opcodes/pru-dis.c | 2 +-
opcodes/pru-opc.c | 2 +-
opcodes/riscv-dis.c | 23 +-
opcodes/riscv-opc.c | 18 +-
opcodes/rl78-decode.c | 2 +-
opcodes/rl78-decode.opc | 2 +-
opcodes/rl78-dis.c | 2 +-
opcodes/rx-decode.c | 6787 +++++--
opcodes/rx-decode.opc | 164 +-
opcodes/rx-dis.c | 66 +-
opcodes/s12z-dis.c | 2787 +---
opcodes/s12z-opc.c | 2701 +++
opcodes/s12z-opc.h | 267 +
opcodes/s390-dis.c | 2 +-
opcodes/s390-mkopc.c | 4 +-
opcodes/s390-opc.c | 6 +-
opcodes/s390-opc.txt | 120 +-
opcodes/score-dis.c | 2 +-
opcodes/score-opc.h | 2 +-
opcodes/score7-dis.c | 2 +-
opcodes/sh-dis.c | 2 +-
opcodes/sh-opc.h | 2 +-
opcodes/sparc-dis.c | 2 +-
opcodes/sparc-opc.c | 2 +-
opcodes/spu-dis.c | 2 +-
opcodes/spu-opc.c | 2 +-
opcodes/sysdep.h | 2 +-
opcodes/tic30-dis.c | 2 +-
opcodes/tic4x-dis.c | 2 +-
opcodes/tic54x-dis.c | 2 +-
opcodes/tic54x-opc.c | 2 +-
opcodes/tic6x-dis.c | 2 +-
opcodes/tic80-dis.c | 2 +-
opcodes/tic80-opc.c | 2 +-
opcodes/tilegx-dis.c | 2 +-
opcodes/tilegx-opc.c | 2 +-
opcodes/tilepro-dis.c | 2 +-
opcodes/tilepro-opc.c | 2 +-
opcodes/v850-dis.c | 2 +-
opcodes/v850-opc.c | 2 +-
opcodes/vax-dis.c | 2 +-
opcodes/visium-dis.c | 2 +-
opcodes/visium-opc.c | 2 +-
opcodes/wasm32-dis.c | 4 +-
opcodes/xc16x-asm.c | 2 +-
opcodes/xc16x-desc.c | 2 +-
opcodes/xc16x-desc.h | 2 +-
opcodes/xc16x-dis.c | 2 +-
opcodes/xc16x-ibld.c | 2 +-
opcodes/xc16x-opc.c | 2 +-
opcodes/xc16x-opc.h | 2 +-
opcodes/xgate-dis.c | 2 +-
opcodes/xgate-opc.c | 2 +-
opcodes/xstormy16-asm.c | 2 +-
opcodes/xstormy16-desc.c | 2 +-
opcodes/xstormy16-desc.h | 2 +-
opcodes/xstormy16-dis.c | 2 +-
opcodes/xstormy16-ibld.c | 2 +-
opcodes/xstormy16-opc.c | 2 +-
opcodes/xstormy16-opc.h | 2 +-
opcodes/xtensa-dis.c | 2 +-
opcodes/z80-dis.c | 2 +-
opcodes/z8k-dis.c | 2 +-
opcodes/z8k-opc.h | 2 +-
opcodes/z8kgen.c | 4 +-
readline/ChangeLog.gdb | 6 +
readline/config.h.in | 10 +
readline/histfile.c | 3 +-
readline/util.c | 6 +-
sim/ChangeLog | 24 +
sim/MAINTAINERS | 5 +-
sim/Makefile.in | 2 +-
sim/aarch64/ChangeLog | 5 +
sim/aarch64/Makefile.in | 2 +-
sim/aarch64/configure.ac | 2 +-
sim/aarch64/cpustate.c | 3 +-
sim/aarch64/cpustate.h | 2 +-
sim/aarch64/decode.h | 2 +-
sim/aarch64/interp.c | 3 +-
sim/aarch64/memory.c | 2 +-
sim/aarch64/memory.h | 2 +-
sim/aarch64/sim-main.h | 2 +-
sim/aarch64/simulator.c | 2 +-
sim/aarch64/simulator.h | 2 +-
sim/arm/Makefile.in | 2 +-
sim/arm/iwmmxt.c | 2 +-
sim/arm/iwmmxt.h | 2 +-
sim/arm/maverick.c | 2 +-
sim/arm/sim-main.h | 2 +-
sim/arm/wrapper.c | 2 +-
sim/avr/Makefile.in | 2 +-
sim/avr/interp.c | 2 +-
sim/avr/sim-main.h | 2 +-
sim/bfin/Makefile.in | 2 +-
sim/bfin/arch.h | 2 +-
sim/bfin/bfin-sim.c | 2 +-
sim/bfin/bfin-sim.h | 2 +-
sim/bfin/devices.c | 2 +-
sim/bfin/devices.h | 2 +-
sim/bfin/dv-bfin_cec.c | 2 +-
sim/bfin/dv-bfin_cec.h | 2 +-
sim/bfin/dv-bfin_ctimer.c | 2 +-
sim/bfin/dv-bfin_ctimer.h | 2 +-
sim/bfin/dv-bfin_dma.c | 2 +-
sim/bfin/dv-bfin_dma.h | 2 +-
sim/bfin/dv-bfin_dmac.c | 2 +-
sim/bfin/dv-bfin_dmac.h | 2 +-
sim/bfin/dv-bfin_ebiu_amc.c | 2 +-
sim/bfin/dv-bfin_ebiu_amc.h | 2 +-
sim/bfin/dv-bfin_ebiu_ddrc.c | 2 +-
sim/bfin/dv-bfin_ebiu_ddrc.h | 2 +-
sim/bfin/dv-bfin_ebiu_sdc.c | 2 +-
sim/bfin/dv-bfin_ebiu_sdc.h | 2 +-
sim/bfin/dv-bfin_emac.c | 2 +-
sim/bfin/dv-bfin_emac.h | 2 +-
sim/bfin/dv-bfin_eppi.c | 2 +-
sim/bfin/dv-bfin_eppi.h | 2 +-
sim/bfin/dv-bfin_evt.c | 2 +-
sim/bfin/dv-bfin_evt.h | 2 +-
sim/bfin/dv-bfin_gpio.c | 2 +-
sim/bfin/dv-bfin_gpio.h | 2 +-
sim/bfin/dv-bfin_gpio2.c | 2 +-
sim/bfin/dv-bfin_gpio2.h | 2 +-
sim/bfin/dv-bfin_gptimer.c | 2 +-
sim/bfin/dv-bfin_gptimer.h | 2 +-
sim/bfin/dv-bfin_jtag.c | 2 +-
sim/bfin/dv-bfin_jtag.h | 2 +-
sim/bfin/dv-bfin_mmu.c | 2 +-
sim/bfin/dv-bfin_mmu.h | 2 +-
sim/bfin/dv-bfin_nfc.c | 2 +-
sim/bfin/dv-bfin_nfc.h | 2 +-
sim/bfin/dv-bfin_otp.c | 2 +-
sim/bfin/dv-bfin_otp.h | 2 +-
sim/bfin/dv-bfin_pfmon.c | 2 +-
sim/bfin/dv-bfin_pfmon.h | 2 +-
sim/bfin/dv-bfin_pint.c | 2 +-
sim/bfin/dv-bfin_pint.h | 2 +-
sim/bfin/dv-bfin_pll.c | 2 +-
sim/bfin/dv-bfin_pll.h | 2 +-
sim/bfin/dv-bfin_ppi.c | 2 +-
sim/bfin/dv-bfin_ppi.h | 2 +-
sim/bfin/dv-bfin_rtc.c | 2 +-
sim/bfin/dv-bfin_rtc.h | 2 +-
sim/bfin/dv-bfin_sic.c | 2 +-
sim/bfin/dv-bfin_sic.h | 2 +-
sim/bfin/dv-bfin_spi.c | 2 +-
sim/bfin/dv-bfin_spi.h | 2 +-
sim/bfin/dv-bfin_trace.c | 2 +-
sim/bfin/dv-bfin_trace.h | 2 +-
sim/bfin/dv-bfin_twi.c | 2 +-
sim/bfin/dv-bfin_twi.h | 2 +-
sim/bfin/dv-bfin_uart.c | 2 +-
sim/bfin/dv-bfin_uart.h | 2 +-
sim/bfin/dv-bfin_uart2.c | 2 +-
sim/bfin/dv-bfin_uart2.h | 2 +-
sim/bfin/dv-bfin_wdog.c | 2 +-
sim/bfin/dv-bfin_wdog.h | 2 +-
sim/bfin/dv-bfin_wp.c | 2 +-
sim/bfin/dv-bfin_wp.h | 2 +-
sim/bfin/dv-eth_phy.c | 2 +-
sim/bfin/gui.c | 2 +-
sim/bfin/gui.h | 2 +-
sim/bfin/insn_list.def | 2 +-
sim/bfin/interp.c | 2 +-
sim/bfin/linux-fixed-code.s | 2 +-
sim/bfin/machs.c | 2 +-
sim/bfin/machs.h | 2 +-
sim/bfin/proc_list.def | 2 +-
sim/bfin/sim-main.h | 2 +-
sim/common/ChangeLog | 60 +
sim/common/Make-common.in | 9 +-
sim/common/Makefile.in | 2 +-
sim/common/acinclude.m4 | 16 +-
sim/common/callback.c | 2 +-
sim/common/cgen-cpu.h | 2 +-
sim/common/cgen-defs.h | 2 +-
sim/common/cgen-engine.h | 2 +-
sim/common/cgen-mem.h | 2 +-
sim/common/cgen-ops.h | 2 +-
sim/common/cgen-par.c | 2 +-
sim/common/cgen-par.h | 2 +-
sim/common/cgen-run.c | 2 +-
sim/common/cgen-scache.c | 2 +-
sim/common/cgen-scache.h | 2 +-
sim/common/cgen-sim.h | 2 +-
sim/common/cgen-trace.c | 2 +-
sim/common/cgen-trace.h | 2 +-
sim/common/cgen-types.h | 2 +-
sim/common/cgen-utils.c | 2 +-
sim/common/create-version.sh | 38 +
sim/common/dv-cfi.c | 2 +-
sim/common/dv-cfi.h | 2 +-
sim/common/dv-core.c | 2 +-
sim/common/dv-glue.c | 2 +-
sim/common/dv-pal.c | 2 +-
sim/common/dv-sockser.c | 2 +-
sim/common/dv-sockser.h | 2 +-
sim/common/genmloop.sh | 2 +-
sim/common/hw-alloc.c | 2 +-
sim/common/hw-alloc.h | 2 +-
sim/common/hw-base.c | 2 +-
sim/common/hw-base.h | 2 +-
sim/common/hw-device.c | 6 +-
sim/common/hw-device.h | 2 +-
sim/common/hw-events.c | 5 +-
sim/common/hw-events.h | 2 +-
sim/common/hw-handles.c | 5 +-
sim/common/hw-handles.h | 2 +-
sim/common/hw-instances.c | 2 +-
sim/common/hw-instances.h | 2 +-
sim/common/hw-main.h | 2 +-
sim/common/hw-ports.c | 2 +-
sim/common/hw-ports.h | 2 +-
sim/common/hw-properties.c | 2 +-
sim/common/hw-properties.h | 2 +-
sim/common/hw-tree.c | 2 +-
sim/common/hw-tree.h | 2 +-
sim/common/nrun.c | 2 +-
sim/common/run.1 | 2 +-
sim/common/sim-abort.c | 2 +-
sim/common/sim-alu.h | 2 +-
sim/common/sim-arange.c | 28 +-
sim/common/sim-arange.h | 32 +-
sim/common/sim-assert.h | 2 +-
sim/common/sim-base.h | 12 +-
sim/common/sim-basics.h | 5 +-
sim/common/sim-bits.c | 2 +-
sim/common/sim-bits.h | 2 +-
sim/common/sim-close.c | 2 +-
sim/common/sim-command.c | 2 +-
sim/common/sim-config.c | 2 +-
sim/common/sim-config.h | 2 +-
sim/common/sim-core.c | 2 +-
sim/common/sim-core.h | 2 +-
sim/common/sim-cpu.c | 2 +-
sim/common/sim-cpu.h | 2 +-
sim/common/sim-endian.c | 2 +-
sim/common/sim-endian.h | 2 +-
sim/common/sim-engine.c | 2 +-
sim/common/sim-engine.h | 2 +-
sim/common/sim-events.c | 2 +-
sim/common/sim-events.h | 2 +-
sim/common/sim-fpu.c | 5 +-
sim/common/sim-fpu.h | 2 +-
sim/common/sim-hload.c | 2 +-
sim/common/sim-hrw.c | 2 +-
sim/common/sim-hw.c | 2 +-
sim/common/sim-hw.h | 2 +-
sim/common/sim-info.c | 2 +-
sim/common/sim-inline.c | 7 +-
sim/common/sim-inline.h | 34 +-
sim/common/sim-io.c | 2 +-
sim/common/sim-io.h | 2 +-
sim/common/sim-load.c | 2 +-
sim/common/sim-memopt.c | 2 +-
sim/common/sim-memopt.h | 2 +-
sim/common/sim-model.c | 2 +-
sim/common/sim-model.h | 2 +-
sim/common/sim-module.c | 2 +-
sim/common/sim-module.h | 2 +-
sim/common/sim-n-bits.h | 2 +-
sim/common/sim-n-core.h | 2 +-
sim/common/sim-n-endian.h | 2 +-
sim/common/sim-options.c | 4 +-
sim/common/sim-options.h | 2 +-
sim/common/sim-profile.c | 2 +-
sim/common/sim-profile.h | 2 +-
sim/common/sim-reason.c | 2 +-
sim/common/sim-reg.c | 2 +-
sim/common/sim-resume.c | 2 +-
sim/common/sim-run.c | 2 +-
sim/common/sim-signal.c | 2 +-
sim/common/sim-signal.h | 2 +-
sim/common/sim-stop.c | 2 +-
sim/common/sim-syscall.c | 7 +-
sim/common/sim-syscall.h | 2 +-
sim/common/sim-trace.c | 2 +-
sim/common/sim-trace.h | 2 +-
sim/common/sim-types.h | 2 +-
sim/common/sim-utils.c | 2 +-
sim/common/sim-utils.h | 2 +-
sim/common/sim-watch.c | 4 +-
sim/common/sim-watch.h | 2 +-
sim/common/syscall.c | 2 +-
sim/common/version.h | 2 +-
sim/cr16/Makefile.in | 2 +-
sim/cr16/cr16_sim.h | 2 +-
sim/cr16/gencode.c | 2 +-
sim/cr16/interp.c | 2 +-
sim/cr16/sim-main.h | 2 +-
sim/cr16/simops.c | 2 +-
sim/cris/ChangeLog | 5 +
sim/cris/Makefile.in | 20 +-
sim/cris/arch.c | 2 +-
sim/cris/arch.h | 2 +-
sim/cris/configure | 16 +-
sim/cris/cpuall.h | 2 +-
sim/cris/cpuv10.c | 2 +-
sim/cris/cpuv10.h | 2 +-
sim/cris/cpuv32.c | 2 +-
sim/cris/cpuv32.h | 2 +-
sim/cris/cris-desc.c | 2 +-
sim/cris/cris-desc.h | 2 +-
sim/cris/cris-opc.h | 2 +-
sim/cris/cris-sim.h | 2 +-
sim/cris/cris-tmpl.c | 2 +-
sim/cris/crisv10f.c | 2 +-
sim/cris/crisv32f.c | 2 +-
sim/cris/decodev10.c | 2 +-
sim/cris/decodev10.h | 2 +-
sim/cris/decodev32.c | 2 +-
sim/cris/decodev32.h | 2 +-
sim/cris/dv-cris.c | 2 +-
sim/cris/dv-cris_900000xx.c | 2 +-
sim/cris/dv-rv.c | 2 +-
sim/cris/mloop.in | 2 +-
sim/cris/modelv10.c | 2 +-
sim/cris/modelv32.c | 2 +-
sim/cris/rvdummy.c | 2 +-
sim/cris/semcrisv10f-switch.c | 2 +-
sim/cris/semcrisv32f-switch.c | 2 +-
sim/cris/sim-if.c | 2 +-
sim/cris/sim-main.h | 2 +-
sim/cris/traps.c | 2 +-
sim/d10v/Makefile.in | 2 +-
sim/d10v/sim-main.h | 2 +-
sim/erc32/Makefile.in | 2 +-
sim/erc32/configure.ac | 2 +-
sim/erc32/erc32.c | 2 +-
sim/erc32/exec.c | 2 +-
sim/erc32/float.c | 2 +-
sim/erc32/func.c | 2 +-
sim/erc32/help.c | 2 +-
sim/erc32/interf.c | 2 +-
sim/erc32/sis.c | 2 +-
sim/erc32/sis.h | 2 +-
sim/erc32/startsim | 2 +-
sim/frv/Makefile.in | 2 +-
sim/frv/arch.c | 2 +-
sim/frv/arch.h | 2 +-
sim/frv/cache.c | 2 +-
sim/frv/cache.h | 2 +-
sim/frv/configure | 16 +-
sim/frv/cpu.c | 2 +-
sim/frv/cpu.h | 2 +-
sim/frv/cpuall.h | 2 +-
sim/frv/decode.c | 2 +-
sim/frv/decode.h | 2 +-
sim/frv/frv-sim.h | 2 +-
sim/frv/frv.c | 2 +-
sim/frv/interrupts.c | 2 +-
sim/frv/memory.c | 2 +-
sim/frv/mloop.in | 2 +-
sim/frv/model.c | 2 +-
sim/frv/options.c | 2 +-
sim/frv/pipeline.c | 2 +-
sim/frv/profile-fr400.c | 2 +-
sim/frv/profile-fr400.h | 2 +-
sim/frv/profile-fr450.c | 2 +-
sim/frv/profile-fr500.c | 2 +-
sim/frv/profile-fr500.h | 2 +-
sim/frv/profile-fr550.c | 2 +-
sim/frv/profile-fr550.h | 2 +-
sim/frv/profile.c | 2 +-
sim/frv/profile.h | 2 +-
sim/frv/registers.c | 2 +-
sim/frv/registers.h | 2 +-
sim/frv/reset.c | 2 +-
sim/frv/sem.c | 2 +-
sim/frv/sim-if.c | 2 +-
sim/frv/sim-main.h | 2 +-
sim/frv/traps.c | 2 +-
sim/ft32/Makefile.in | 2 +-
sim/ft32/ft32-sim.h | 2 +-
sim/ft32/interp.c | 2 +-
sim/ft32/sim-main.h | 2 +-
sim/h8300/Makefile.in | 2 +-
sim/igen/Makefile.in | 2 +-
sim/igen/compare_igen_models | 2 +-
sim/igen/filter.c | 2 +-
sim/igen/filter.h | 2 +-
sim/igen/filter_host.c | 2 +-
sim/igen/filter_host.h | 2 +-
sim/igen/gen-engine.c | 2 +-
sim/igen/gen-engine.h | 2 +-
sim/igen/gen-icache.c | 2 +-
sim/igen/gen-icache.h | 2 +-
sim/igen/gen-idecode.c | 2 +-
sim/igen/gen-idecode.h | 2 +-
sim/igen/gen-itable.c | 2 +-
sim/igen/gen-itable.h | 2 +-
sim/igen/gen-model.c | 2 +-
sim/igen/gen-model.h | 2 +-
sim/igen/gen-semantics.c | 2 +-
sim/igen/gen-semantics.h | 2 +-
sim/igen/gen-support.c | 2 +-
sim/igen/gen-support.h | 2 +-
sim/igen/gen.c | 2 +-
sim/igen/gen.h | 2 +-
sim/igen/igen.c | 2 +-
sim/igen/igen.h | 2 +-
sim/igen/ld-cache.c | 2 +-
sim/igen/ld-cache.h | 2 +-
sim/igen/ld-decode.c | 2 +-
sim/igen/ld-decode.h | 2 +-
sim/igen/ld-insn.c | 2 +-
sim/igen/ld-insn.h | 2 +-
sim/igen/lf.c | 2 +-
sim/igen/lf.h | 2 +-
sim/igen/misc.c | 2 +-
sim/igen/misc.h | 2 +-
sim/igen/table.c | 2 +-
sim/igen/table.h | 2 +-
sim/iq2000/Makefile.in | 2 +-
sim/iq2000/arch.c | 2 +-
sim/iq2000/arch.h | 2 +-
sim/iq2000/configure | 16 +-
sim/iq2000/cpu.c | 2 +-
sim/iq2000/cpu.h | 2 +-
sim/iq2000/cpuall.h | 2 +-
sim/iq2000/decode.c | 2 +-
sim/iq2000/decode.h | 2 +-
sim/iq2000/iq2000.c | 2 +-
sim/iq2000/mloop.in | 2 +-
sim/iq2000/model.c | 2 +-
sim/iq2000/sem-switch.c | 2 +-
sim/iq2000/sem.c | 2 +-
sim/iq2000/sim-if.c | 2 +-
sim/lm32/arch.c | 2 +-
sim/lm32/arch.h | 2 +-
sim/lm32/configure | 16 +-
sim/lm32/cpu.c | 2 +-
sim/lm32/cpu.h | 2 +-
sim/lm32/cpuall.h | 2 +-
sim/lm32/decode.c | 2 +-
sim/lm32/decode.h | 2 +-
sim/lm32/dv-lm32cpu.c | 2 +-
sim/lm32/dv-lm32timer.c | 2 +-
sim/lm32/dv-lm32uart.c | 2 +-
sim/lm32/lm32-sim.h | 2 +-
sim/lm32/lm32.c | 2 +-
sim/lm32/model.c | 2 +-
sim/lm32/sem-switch.c | 2 +-
sim/lm32/sem.c | 2 +-
sim/lm32/sim-if.c | 2 +-
sim/lm32/sim-main.h | 2 +-
sim/lm32/traps.c | 2 +-
sim/lm32/user.c | 2 +-
sim/m32c/Makefile.in | 2 +-
sim/m32c/configure.ac | 2 +-
sim/m32c/cpu.h | 2 +-
sim/m32c/gdb-if.c | 2 +-
sim/m32c/int.c | 2 +-
sim/m32c/int.h | 2 +-
sim/m32c/load.c | 2 +-
sim/m32c/load.h | 2 +-
sim/m32c/m32c.opc | 2 +-
sim/m32c/main.c | 2 +-
sim/m32c/mem.c | 2 +-
sim/m32c/mem.h | 2 +-
sim/m32c/misc.c | 2 +-
sim/m32c/misc.h | 2 +-
sim/m32c/opc2c.c | 2 +-
sim/m32c/r8c.opc | 2 +-
sim/m32c/reg.c | 2 +-
sim/m32c/safe-fgets.c | 2 +-
sim/m32c/safe-fgets.h | 2 +-
sim/m32c/srcdest.c | 2 +-
sim/m32c/syscalls.c | 2 +-
sim/m32c/syscalls.h | 2 +-
sim/m32c/trace.c | 2 +-
sim/m32c/trace.h | 2 +-
sim/m32r/Makefile.in | 2 +-
sim/m32r/arch.c | 2 +-
sim/m32r/arch.h | 2 +-
sim/m32r/configure | 16 +-
sim/m32r/cpu.c | 2 +-
sim/m32r/cpu.h | 2 +-
sim/m32r/cpu2.c | 2 +-
sim/m32r/cpu2.h | 2 +-
sim/m32r/cpuall.h | 2 +-
sim/m32r/cpux.c | 2 +-
sim/m32r/cpux.h | 2 +-
sim/m32r/decode.c | 2 +-
sim/m32r/decode.h | 2 +-
sim/m32r/decode2.c | 2 +-
sim/m32r/decode2.h | 2 +-
sim/m32r/decodex.c | 2 +-
sim/m32r/decodex.h | 2 +-
sim/m32r/dv-m32r_cache.c | 2 +-
sim/m32r/dv-m32r_cache.h | 2 +-
sim/m32r/dv-m32r_uart.c | 2 +-
sim/m32r/dv-m32r_uart.h | 2 +-
sim/m32r/m32r-sim.h | 2 +-
sim/m32r/m32r.c | 2 +-
sim/m32r/m32r2.c | 2 +-
sim/m32r/m32rx.c | 2 +-
sim/m32r/mloop.in | 2 +-
sim/m32r/mloop2.in | 2 +-
sim/m32r/mloopx.in | 2 +-
sim/m32r/model.c | 2 +-
sim/m32r/model2.c | 2 +-
sim/m32r/modelx.c | 2 +-
sim/m32r/sem-switch.c | 2 +-
sim/m32r/sem.c | 2 +-
sim/m32r/sem2-switch.c | 2 +-
sim/m32r/semx-switch.c | 2 +-
sim/m32r/sim-if.c | 2 +-
sim/m32r/traps-linux.c | 2 +-
sim/m32r/traps.c | 2 +-
sim/m68hc11/Makefile.in | 2 +-
sim/m68hc11/dv-m68hc11.c | 2 +-
sim/m68hc11/dv-m68hc11eepr.c | 2 +-
sim/m68hc11/dv-m68hc11sio.c | 2 +-
sim/m68hc11/dv-m68hc11spi.c | 2 +-
sim/m68hc11/dv-m68hc11tim.c | 2 +-
sim/m68hc11/dv-nvram.c | 2 +-
sim/m68hc11/emulos.c | 2 +-
sim/m68hc11/gencode.c | 2 +-
sim/m68hc11/interp.c | 2 +-
sim/m68hc11/interrupts.c | 2 +-
sim/m68hc11/interrupts.h | 2 +-
sim/m68hc11/m68hc11_sim.c | 2 +-
sim/m68hc11/sim-main.h | 2 +-
sim/mcore/Makefile.in | 2 +-
sim/mcore/interp.c | 2 +-
sim/mcore/sim-main.h | 2 +-
sim/microblaze/Makefile.in | 2 +-
sim/microblaze/interp.c | 2 +-
sim/microblaze/microblaze.h | 2 +-
sim/microblaze/microblaze.isa | 2 +-
sim/microblaze/sim-main.h | 2 +-
sim/mips/configure.ac | 2 +-
sim/mips/cp1.c | 2 +-
sim/mips/cp1.h | 2 +-
sim/mips/dsp.c | 2 +-
sim/mips/dsp.igen | 2 +-
sim/mips/dsp2.igen | 2 +-
sim/mips/dv-tx3904cpu.c | 2 +-
sim/mips/dv-tx3904irc.c | 2 +-
sim/mips/dv-tx3904sio.c | 2 +-
sim/mips/dv-tx3904tmr.c | 2 +-
sim/mips/m16e.igen | 2 +-
sim/mips/mdmx.c | 2 +-
sim/mips/mdmx.igen | 2 +-
sim/mips/micromips.igen | 2 +-
sim/mips/micromipsdsp.igen | 2 +-
sim/mips/micromipsrun.c | 2 +-
sim/mips/mips3264r2.igen | 2 +-
sim/mips/mips3d.igen | 2 +-
sim/mips/sb1.igen | 2 +-
sim/mips/sim-main.h | 2 +-
sim/mips/smartmips.igen | 2 +-
sim/mn10300/Makefile.in | 2 +-
sim/mn10300/dv-mn103cpu.c | 2 +-
sim/mn10300/dv-mn103int.c | 2 +-
sim/mn10300/dv-mn103iop.c | 2 +-
sim/mn10300/dv-mn103ser.c | 2 +-
sim/mn10300/dv-mn103tim.c | 2 +-
sim/mn10300/sim-main.h | 2 +-
sim/moxie/Makefile.in | 2 +-
sim/moxie/interp.c | 2 +-
sim/moxie/sim-main.h | 2 +-
sim/msp430/Makefile.in | 2 +-
sim/msp430/configure.ac | 2 +-
sim/msp430/msp430-sim.c | 2 +-
sim/msp430/msp430-sim.h | 2 +-
sim/msp430/sim-main.h | 2 +-
sim/or1k/Makefile.in | 2 +-
sim/or1k/arch.c | 2 +-
sim/or1k/arch.h | 2 +-
sim/or1k/configure | 16 +-
sim/or1k/cpu.c | 2 +-
sim/or1k/cpu.h | 2 +-
sim/or1k/cpuall.h | 2 +-
sim/or1k/decode.c | 2 +-
sim/or1k/decode.h | 2 +-
sim/or1k/mloop.in | 2 +-
sim/or1k/model.c | 2 +-
sim/or1k/or1k-sim.h | 2 +-
sim/or1k/or1k.c | 2 +-
sim/or1k/sem-switch.c | 2 +-
sim/or1k/sem.c | 2 +-
sim/or1k/sim-if.c | 2 +-
sim/or1k/sim-main.h | 2 +-
sim/or1k/traps.c | 2 +-
sim/ppc/ChangeLog | 4 +
sim/ppc/Makefile.in | 4 +-
sim/ppc/altivec.igen | 2 +-
sim/ppc/altivec_expression.h | 2 +-
sim/ppc/altivec_registers.h | 2 +-
sim/ppc/dp-bit.c | 2 +-
sim/ppc/e500.igen | 2 +-
sim/ppc/e500_expression.h | 2 +-
sim/ppc/e500_registers.h | 2 +-
sim/ppc/gdb-sim.c | 2 +-
sim/ppc/psim.texinfo | 2 +-
sim/rl78/Makefile.in | 2 +-
sim/rl78/configure.ac | 2 +-
sim/rl78/cpu.c | 2 +-
sim/rl78/cpu.h | 2 +-
sim/rl78/gdb-if.c | 2 +-
sim/rl78/load.c | 2 +-
sim/rl78/load.h | 2 +-
sim/rl78/main.c | 2 +-
sim/rl78/mem.c | 2 +-
sim/rl78/mem.h | 2 +-
sim/rl78/rl78.c | 2 +-
sim/rl78/trace.c | 2 +-
sim/rl78/trace.h | 2 +-
sim/rx/Makefile.in | 2 +-
sim/rx/configure.ac | 2 +-
sim/rx/cpu.h | 2 +-
sim/rx/err.c | 2 +-
sim/rx/err.h | 2 +-
sim/rx/fpu.c | 2 +-
sim/rx/fpu.h | 2 +-
sim/rx/gdb-if.c | 2 +-
sim/rx/load.c | 2 +-
sim/rx/load.h | 2 +-
sim/rx/main.c | 2 +-
sim/rx/mem.c | 2 +-
sim/rx/mem.h | 2 +-
sim/rx/misc.c | 2 +-
sim/rx/misc.h | 2 +-
sim/rx/reg.c | 2 +-
sim/rx/rx.c | 2 +-
sim/rx/syscalls.c | 2 +-
sim/rx/syscalls.h | 2 +-
sim/rx/trace.c | 2 +-
sim/rx/trace.h | 2 +-
sim/sh/Makefile.in | 2 +-
sim/sh/sim-main.h | 2 +-
sim/sh64/Makefile.in | 2 +-
sim/sh64/arch.c | 2 +-
sim/sh64/arch.h | 2 +-
sim/sh64/configure | 16 +-
sim/sh64/cpu.c | 2 +-
sim/sh64/cpu.h | 2 +-
sim/sh64/cpuall.h | 2 +-
sim/sh64/decode-compact.c | 2 +-
sim/sh64/decode-compact.h | 2 +-
sim/sh64/decode-media.c | 2 +-
sim/sh64/decode-media.h | 2 +-
sim/sh64/defs-compact.h | 2 +-
sim/sh64/defs-media.h | 2 +-
sim/sh64/eng.h | 2 +-
sim/sh64/sem-compact-switch.c | 2 +-
sim/sh64/sem-compact.c | 2 +-
sim/sh64/sem-media-switch.c | 2 +-
sim/sh64/sem-media.c | 2 +-
sim/sh64/sh-desc.c | 2 +-
sim/sh64/sh-desc.h | 2 +-
sim/sh64/sh-opc.h | 2 +-
sim/sh64/sh64-sim.h | 2 +-
sim/sh64/sh64.c | 2 +-
sim/sh64/sim-if.c | 2 +-
sim/testsuite/Makefile.in | 2 +-
sim/testsuite/common/bits-gen.c | 2 +-
sim/testsuite/d10v-elf/Makefile.in | 2 +-
sim/testsuite/frv-elf/Makefile.in | 2 +-
sim/testsuite/m32r-elf/Makefile.in | 2 +-
sim/testsuite/mips64el-elf/Makefile.in | 2 +-
sim/testsuite/sim/cris/asm/asm.exp | 2 +-
sim/testsuite/sim/cris/c/c.exp | 2 +-
sim/testsuite/sim/cris/hw/rv-n-cris/rvc.exp | 2 +-
sim/testsuite/sim/m32c/blinky.s | 2 +-
sim/testsuite/sim/m32c/gloss.s | 2 +-
sim/testsuite/sim/m32c/sample.ld | 2 +-
sim/testsuite/sim/m32c/sample.s | 2 +-
sim/testsuite/sim/m32c/sample2.c | 2 +-
sim/testsuite/sim/mips/hilo-hazard-4.s | 2 +-
sim/testsuite/sim/mips/mips32-dsp.s | 2 +-
sim/testsuite/sim/mips/testutils.inc | 2 +-
sim/testsuite/sim/mips/utils-dsp.inc | 2 +-
sim/testsuite/sim/mips/utils-fpu.inc | 2 +-
sim/testsuite/sim/mips/utils-mdmx.inc | 2 +-
sim/testsuite/sim/or1k/add.S | 2 +-
sim/testsuite/sim/or1k/alltests.exp | 2 +-
sim/testsuite/sim/or1k/and.S | 2 +-
sim/testsuite/sim/or1k/basic.S | 2 +-
sim/testsuite/sim/or1k/div.S | 2 +-
sim/testsuite/sim/or1k/ext.S | 2 +-
sim/testsuite/sim/or1k/find.S | 2 +-
sim/testsuite/sim/or1k/flag.S | 2 +-
sim/testsuite/sim/or1k/fpu.S | 2 +-
sim/testsuite/sim/or1k/jump.S | 2 +-
sim/testsuite/sim/or1k/load.S | 2 +-
sim/testsuite/sim/or1k/mac.S | 2 +-
sim/testsuite/sim/or1k/mfspr.S | 2 +-
sim/testsuite/sim/or1k/mul.S | 2 +-
sim/testsuite/sim/or1k/or.S | 2 +-
sim/testsuite/sim/or1k/or1k-asm-test-env.h | 2 +-
sim/testsuite/sim/or1k/or1k-asm-test-helpers.h | 2 +-
sim/testsuite/sim/or1k/or1k-asm-test.h | 2 +-
sim/testsuite/sim/or1k/or1k-asm.h | 2 +-
sim/testsuite/sim/or1k/or1k-test.ld | 2 +-
sim/testsuite/sim/or1k/ror.S | 2 +-
sim/testsuite/sim/or1k/shift.S | 2 +-
sim/testsuite/sim/or1k/spr-defs.h | 2 +-
sim/testsuite/sim/or1k/sub.S | 2 +-
sim/testsuite/sim/or1k/xor.S | 2 +-
sim/v850/Makefile.in | 2 +-
src-release.sh | 16 +-
9387 files changed, 168811 insertions(+), 130291 deletions(-)
create mode 100644 bfd/ChangeLog-2018
mode change 100755 => 100644 bfd/elf64-nfp.c
create mode 100644 binutils/ChangeLog-2018
create mode 100644 binutils/testsuite/binutils-all/aarch64/in-order-all.d
create mode 100644 binutils/testsuite/binutils-all/aarch64/in-order.d
create mode 100644 binutils/testsuite/binutils-all/aarch64/out-of-order-all.d
create mode 100644 binutils/testsuite/binutils-all/aarch64/out-of-order.T
create mode 100644 binutils/testsuite/binutils-all/aarch64/out-of-order.d
create mode 100644 binutils/testsuite/binutils-all/aarch64/out-of-order.s
create mode 100644 binutils/testsuite/binutils-all/arm/in-order-all.d
create mode 100644 binutils/testsuite/binutils-all/arm/in-order.d
create mode 100644 binutils/testsuite/binutils-all/arm/out-of-order-all.d
create mode 100644 binutils/testsuite/binutils-all/arm/out-of-order.T
create mode 100644 binutils/testsuite/binutils-all/arm/out-of-order.d
create mode 100644 binutils/testsuite/binutils-all/arm/out-of-order.s
create mode 100644 binutils/testsuite/binutils-all/copy-6.d
create mode 100644 binutils/testsuite/binutils-all/cxxfilt.exp
create mode 100644 binutils/testsuite/binutils-all/disasm.s
create mode 100644 binutils/testsuite/binutils-all/objdump.WK3
create mode 100644 binutils/testsuite/binutils-all/readelf.wKis
create mode 100755 binutils/testsuite/binutils-all/strings-1.bin
create mode 100644 binutils/testsuite/binutils-all/strings.exp
copy elfcpp/{ChangeLog => ChangeLog-2018} (100%)
create mode 100644 gas/ChangeLog-2018
create mode 100644 gas/testsuite/gas/aarch64/armv8_5-a-memtag.d
create mode 100644 gas/testsuite/gas/aarch64/armv8_5-a-memtag.s
delete mode 100644 gas/testsuite/gas/aarch64/dotproduct_armv8_4.d
delete mode 100644 gas/testsuite/gas/aarch64/dotproduct_armv8_4.s
create mode 100644 gas/testsuite/gas/aarch64/illegal-memtag.d
create mode 100644 gas/testsuite/gas/aarch64/illegal-memtag.l
create mode 100644 gas/testsuite/gas/aarch64/illegal-memtag.s
delete mode 100644 gas/testsuite/gas/aarch64/ldst-rcpc-armv8_2.d
create mode 100644 gas/testsuite/gas/aarch64/pac_ab_key.d
create mode 100644 gas/testsuite/gas/aarch64/pac_ab_key.s
create mode 100644 gas/testsuite/gas/aarch64/undefined_advsimd_armv8_3.d
create mode 100644 gas/testsuite/gas/aarch64/undefined_advsimd_armv8_3.s
create mode 100644 gas/testsuite/gas/aarch64/undefined_by_elem_sz_l.d
create mode 100644 gas/testsuite/gas/aarch64/undefined_by_elem_sz_l.s
create mode 100644 gas/testsuite/gas/all/pr23938.s
create mode 100644 gas/testsuite/gas/arm/archv6t2-1-pe.d
create mode 100644 gas/testsuite/gas/arm/archv6t2-1.d
create mode 100644 gas/testsuite/gas/arm/archv6t2-1.s
create mode 100644 gas/testsuite/gas/arm/archv6t2-2.d
create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-scalar-bad-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-scalar-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-scalar-thumb-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-simd-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-simd-thumb-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-simd-warning-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-simd-warning-thumb-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8_2+rdma-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8_2-a-fp16-thumb2-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8_2-a-fp16_ext.d
create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp-bad-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp16-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd-bad-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8_4-a-fp16-ext.d
create mode 100644 gas/testsuite/gas/arm/armv8m.main+fp.d
create mode 100644 gas/testsuite/gas/arm/armv8m.main+fp.dp.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-fpv5-d16.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-fpv5.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-idiv.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-mp.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-neon-fp16.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-neon-vfpv3.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-neon-vfpv4.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-sec.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3-d16-fp16.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3-d16.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3-fp16.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3xd-fp.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3xd.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv4-d16.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv4-sp-d16.d
create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv4.d
create mode 100644 gas/testsuite/gas/arm/blx-local-thumb.d
create mode 100644 gas/testsuite/gas/arm/blx-local-thumb.s
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1022e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136j-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jfs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136js.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jz-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm2.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm250.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm3.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm6.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm60.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm600.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm610.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm620.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm70.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700i.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7100.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710c.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm740t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500fe.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7d.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7di.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dm.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7m.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm8.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm810.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm922t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm940t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm968e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm_any.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a12.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a15.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a17.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a32.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a35.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a53.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a55.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a57.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a72.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a73.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a75.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a76.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a8.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a9.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0plus.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m23.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m3.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m33.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4f.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r52.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r8.d
create mode 100644 gas/testsuite/gas/arm/cpu-ep9312.d
create mode 100644 gas/testsuite/gas/arm/cpu-exynos-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa526.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa606te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa616te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa726te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fmp626.d
create mode 100644 gas/testsuite/gas/arm/cpu-i80200.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-pj4.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-whitney.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcore.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcorenovfp.d
create mode 100644 gas/testsuite/gas/arm/cpu-sa1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm110.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1100.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1110.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene1.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene2.d
create mode 100644 gas/testsuite/gas/arm/cpu-xscale.d
create mode 100644 gas/testsuite/gas/arm/dotprod-mandatory-ext.d
create mode 100644 gas/testsuite/gas/arm/fpv5-d16.s
create mode 100644 gas/testsuite/gas/arm/fpv5-sp-d16.s
create mode 100644 gas/testsuite/gas/arm/hlt.d
create mode 100644 gas/testsuite/gas/arm/hlt.s
create mode 100644 gas/testsuite/gas/arm/nop-asm.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.s
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.d
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.s
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.d
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.s
create mode 100644 gas/testsuite/gas/arm/sb-thumb1-pe.d
create mode 100644 gas/testsuite/gas/arm/sb-thumb2-pe.d
create mode 100644 gas/testsuite/gas/elf/section2.e-riscv
create mode 100644 gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d
create mode 100644 gas/testsuite/gas/i386/optimize-1a.d
create mode 100644 gas/testsuite/gas/i386/optimize-6.s
create mode 100644 gas/testsuite/gas/i386/optimize-6a.l
create mode 100644 gas/testsuite/gas/i386/optimize-6a.s
create mode 100644 gas/testsuite/gas/i386/optimize-6b.d
create mode 100644 gas/testsuite/gas/i386/optimize-7.l
create mode 100644 gas/testsuite/gas/i386/optimize-7.s
create mode 100644 gas/testsuite/gas/i386/x86-64-gotpcrel-2.d
create mode 100644 gas/testsuite/gas/i386/x86-64-gotpcrel-2.s
create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-2a.d
create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-2b.d
create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-2b.s
create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-7.s
create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-7a.l
create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-7a.s
create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-7b.d
create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-8.l
create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-8.s
create mode 100644 gas/testsuite/gas/mips/r5900-fix.d
create mode 100644 gas/testsuite/gas/mips/r5900-fix.s
create mode 100644 gas/testsuite/gas/mips/r5900-no-fix.d
create mode 100644 gas/testsuite/gas/mips/r5900-no-fix.s
create mode 100644 gas/testsuite/gas/msp430/nop-dint-430.d
create mode 100644 gas/testsuite/gas/msp430/nop-dint-430.l
create mode 100644 gas/testsuite/gas/msp430/nop-dint-430x-ignore.d
create mode 100644 gas/testsuite/gas/msp430/nop-dint-430x-silent.d
create mode 100644 gas/testsuite/gas/msp430/nop-dint-430x.d
create mode 100644 gas/testsuite/gas/msp430/nop-dint-430x.l
create mode 100644 gas/testsuite/gas/msp430/nop-dint.s
create mode 100644 gas/testsuite/gas/msp430/nop-eint-430.d
create mode 100644 gas/testsuite/gas/msp430/nop-eint-430.l
create mode 100644 gas/testsuite/gas/msp430/nop-eint-430x-ignore.d
create mode 100644 gas/testsuite/gas/msp430/nop-eint-430x-silent.d
create mode 100644 gas/testsuite/gas/msp430/nop-eint-430x.d
create mode 100644 gas/testsuite/gas/msp430/nop-eint-430x.l
create mode 100644 gas/testsuite/gas/msp430/nop-eint.s
create mode 100644 gas/testsuite/gas/msp430/nop-int-430.d
create mode 100644 gas/testsuite/gas/msp430/nop-int-430.l
create mode 100644 gas/testsuite/gas/msp430/nop-int-430x-silent.d
create mode 100644 gas/testsuite/gas/msp430/nop-int-430x.d
create mode 100644 gas/testsuite/gas/msp430/nop-int-430x.l
create mode 100644 gas/testsuite/gas/msp430/nop-int.s
create mode 100644 gas/testsuite/gas/riscv/attribute-01.d
create mode 100644 gas/testsuite/gas/riscv/attribute-02.d
create mode 100644 gas/testsuite/gas/riscv/attribute-03.d
create mode 100644 gas/testsuite/gas/riscv/attribute-04.d
create mode 100644 gas/testsuite/gas/riscv/attribute-04.s
create mode 100644 gas/testsuite/gas/riscv/attribute-05.d
create mode 100644 gas/testsuite/gas/riscv/attribute-05.s
create mode 100644 gas/testsuite/gas/riscv/attribute-06.d
create mode 100644 gas/testsuite/gas/riscv/attribute-06.s
create mode 100644 gas/testsuite/gas/riscv/attribute-07.d
create mode 100644 gas/testsuite/gas/riscv/attribute-07.s
create mode 100644 gas/testsuite/gas/riscv/attribute-08.d
create mode 100644 gas/testsuite/gas/riscv/attribute-08.s
create mode 100644 gas/testsuite/gas/riscv/attribute-empty.d
create mode 100644 gas/testsuite/gas/riscv/attribute-unknown.d
create mode 100644 gas/testsuite/gas/riscv/attribute-unknown.s
create mode 100644 gas/testsuite/gas/riscv/auipc-parsing.d
create mode 100644 gas/testsuite/gas/riscv/auipc-parsing.l
create mode 100644 gas/testsuite/gas/riscv/auipc-parsing.s
create mode 100644 gas/testsuite/gas/riscv/empty.l
create mode 100644 gas/testsuite/gas/riscv/empty.s
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32ef.d
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32ef.l
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32i.d
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32i.l
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32iam.d
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32iam.l
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32ic.d
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32ic.l
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32icx2p.d
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32icx2p.l
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32imc.d
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32imc.l
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv64I.d
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv64I.l
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv64e.d
create mode 100644 gas/testsuite/gas/riscv/march-fail-rv64e.l
create mode 100644 gas/testsuite/gas/riscv/march-ok-g2.d
create mode 100644 gas/testsuite/gas/riscv/march-ok-g2_p1.d
create mode 100644 gas/testsuite/gas/riscv/march-ok-g2p0.d
create mode 100644 gas/testsuite/gas/riscv/march-ok-i2p0.d
create mode 100644 gas/testsuite/gas/riscv/march-ok-i2p0m2_a2f2.d
create mode 100644 gas/testsuite/gas/riscv/march-ok-nse-with-version.d
create mode 100644 gas/testsuite/gas/riscv/march-ok-s-with-version.d
create mode 100644 gas/testsuite/gas/riscv/march-ok-s.d
create mode 100644 gas/testsuite/gas/riscv/march-ok-sx.d
create mode 100644 gas/testsuite/gas/riscv/march-ok-two-nse.d
create mode 100644 gas/testsuite/gas/riscv/tprel-add.d
create mode 100644 gas/testsuite/gas/riscv/tprel-add.l
create mode 100644 gas/testsuite/gas/riscv/tprel-add.s
create mode 100644 gas/testsuite/gas/rx/Xtod.d
create mode 100644 gas/testsuite/gas/rx/Xtod.sm
create mode 100644 gas/testsuite/gas/rx/bfmov.d
create mode 100644 gas/testsuite/gas/rx/bfmov.sm
create mode 100644 gas/testsuite/gas/rx/dabs.d
create mode 100644 gas/testsuite/gas/rx/dabs.sm
create mode 100644 gas/testsuite/gas/rx/dadd.d
create mode 100644 gas/testsuite/gas/rx/dadd.sm
create mode 100644 gas/testsuite/gas/rx/dcmp.d
create mode 100644 gas/testsuite/gas/rx/dcmp.sm
create mode 100644 gas/testsuite/gas/rx/ddiv.d
create mode 100644 gas/testsuite/gas/rx/ddiv.sm
create mode 100644 gas/testsuite/gas/rx/dmov.d
create mode 100644 gas/testsuite/gas/rx/dmov.sm
create mode 100644 gas/testsuite/gas/rx/dmul.d
create mode 100644 gas/testsuite/gas/rx/dmul.sm
create mode 100644 gas/testsuite/gas/rx/dneg.d
create mode 100644 gas/testsuite/gas/rx/dneg.sm
create mode 100644 gas/testsuite/gas/rx/dpopm.d
create mode 100644 gas/testsuite/gas/rx/dpopm.sm
create mode 100644 gas/testsuite/gas/rx/dpushm.d
create mode 100644 gas/testsuite/gas/rx/dpushm.sm
create mode 100644 gas/testsuite/gas/rx/dround.d
create mode 100644 gas/testsuite/gas/rx/dround.sm
create mode 100644 gas/testsuite/gas/rx/dsqrt.d
create mode 100644 gas/testsuite/gas/rx/dsqrt.sm
create mode 100644 gas/testsuite/gas/rx/dsub.d
create mode 100644 gas/testsuite/gas/rx/dsub.sm
create mode 100644 gas/testsuite/gas/rx/dtoX.d
create mode 100644 gas/testsuite/gas/rx/dtoX.sm
create mode 100644 gas/testsuite/gas/rx/mvfdc.d
create mode 100644 gas/testsuite/gas/rx/mvfdc.sm
create mode 100644 gas/testsuite/gas/rx/mvfdr.d
create mode 100644 gas/testsuite/gas/rx/mvfdr.sm
create mode 100644 gas/testsuite/gas/rx/mvtdc.d
create mode 100644 gas/testsuite/gas/rx/mvtdc.sm
create mode 100644 gas/testsuite/gas/rx/rstr.d
create mode 100644 gas/testsuite/gas/rx/rstr.sm
create mode 100644 gas/testsuite/gas/rx/save.d
create mode 100644 gas/testsuite/gas/rx/save.sm
create mode 100644 gas/testsuite/gas/s12z/exg.l
create mode 100644 gas/testsuite/gas/s12z/imm-dest.d
create mode 100644 gas/testsuite/gas/s12z/imm-dest.l
create mode 100644 gas/testsuite/gas/s12z/imm-dest.s
create mode 100644 gas/testsuite/gas/s12z/labels.d
create mode 100644 gas/testsuite/gas/s12z/labels.s
create mode 100644 gas/testsuite/gas/s12z/mov-imm-reloc.d
create mode 100644 gas/testsuite/gas/s12z/mov-imm-reloc.s
create mode 100644 gas/testsuite/gas/s12z/pc-rel-bad.d
create mode 100644 gas/testsuite/gas/s12z/pc-rel-bad.l
create mode 100644 gas/testsuite/gas/s12z/pc-rel-bad.s
create mode 100644 gas/testsuite/gas/s12z/pc-rel-good.d
create mode 100644 gas/testsuite/gas/s12z/pc-rel-good.s
create mode 100644 gas/testsuite/gas/s390/zarch-arch13.d
create mode 100644 gas/testsuite/gas/s390/zarch-arch13.s
create mode 100644 gas/testsuite/gas/s390/zarch-optargs.d
create mode 100644 gas/testsuite/gas/s390/zarch-optargs.s
create mode 100644 gas/testsuite/gas/visium/bra-1.d
create mode 100644 gas/testsuite/gas/visium/bra-1.s
create mode 100644 gdb/ChangeLog-2018
create mode 100644 gdb/arch/riscv.c
create mode 100644 gdb/arch/riscv.h
create mode 100644 gdb/cli/cli-style.c
create mode 100644 gdb/cli/cli-style.h
create mode 100644 gdb/common/filtered-iterator.h
create mode 100644 gdb/common/forward-scope-exit.h
create mode 100644 gdb/common/next-iterator.h
create mode 100644 gdb/common/safe-iterator.h
create mode 100644 gdb/common/scope-exit.h
delete mode 100644 gdb/config/i386/nm-fbsd.h
delete mode 100644 gdb/contrib/cleanup_check.py
delete mode 100644 gdb/contrib/excheck.py
delete mode 100644 gdb/contrib/exsummary.py
delete mode 100755 gdb/contrib/gcc-with-excheck
create mode 100644 gdb/features/aarch64-pauth.c
create mode 100644 gdb/features/aarch64-pauth.xml
create mode 100644 gdb/features/i386/32bit-segments.c
create mode 100644 gdb/features/i386/32bit-segments.xml
create mode 100644 gdb/features/riscv/32bit-cpu.c
create mode 100644 gdb/features/riscv/32bit-cpu.xml
create mode 100644 gdb/features/riscv/32bit-csr.c
create mode 100644 gdb/features/riscv/32bit-csr.xml
create mode 100644 gdb/features/riscv/32bit-fpu.c
create mode 100644 gdb/features/riscv/32bit-fpu.xml
create mode 100644 gdb/features/riscv/64bit-cpu.c
create mode 100644 gdb/features/riscv/64bit-cpu.xml
create mode 100644 gdb/features/riscv/64bit-csr.c
create mode 100644 gdb/features/riscv/64bit-csr.xml
create mode 100644 gdb/features/riscv/64bit-fpu.c
create mode 100644 gdb/features/riscv/64bit-fpu.xml
create mode 100755 gdb/features/riscv/rebuild-csr-xml.sh
create mode 100644 gdb/inferior-iter.h
create mode 100644 gdb/or1k-linux-tdep.c
create mode 100644 gdb/process-stratum-target.c
create mode 100644 gdb/process-stratum-target.h
create mode 100644 gdb/source-cache.c
create mode 100644 gdb/source-cache.h
create mode 100755 gdb/syscalls/update-freebsd.sh
create mode 100644 gdb/test-target.c
create mode 100644 gdb/test-target.h
create mode 100644 gdb/testsuite/gdb.ada/big_packed_array.exp
create mode 100644 gdb/testsuite/gdb.ada/big_packed_array/foo_ra24_010.adb
create mode 100644 gdb/testsuite/gdb.ada/big_packed_array/pck.adb
create mode 100644 gdb/testsuite/gdb.ada/big_packed_array/pck.ads
delete mode 100644 gdb/testsuite/gdb.ada/bp_fun_addr/a.adb
create mode 100644 gdb/testsuite/gdb.ada/bp_fun_addr/bp_fun_addr.adb
create mode 100644 gdb/testsuite/gdb.ada/info_auto_lang.exp
create mode 100644 gdb/testsuite/gdb.ada/info_auto_lang/global_pack.ads
create mode 100644 gdb/testsuite/gdb.ada/info_auto_lang/proc_in_ada.adb
create mode 100644 gdb/testsuite/gdb.ada/info_auto_lang/some_c.c
create mode 100644 gdb/testsuite/gdb.ada/mi_ref_changeable.exp
create mode 100644 gdb/testsuite/gdb.ada/mi_ref_changeable/foo_rb20_056.adb
create mode 100644 gdb/testsuite/gdb.ada/mi_ref_changeable/pck.adb
create mode 100644 gdb/testsuite/gdb.ada/mi_ref_changeable/pck.ads
create mode 100644 gdb/testsuite/gdb.ada/ptype_array.exp
create mode 100644 gdb/testsuite/gdb.ada/ptype_array/foo.adb
create mode 100644 gdb/testsuite/gdb.ada/ptype_array/pck.adb
create mode 100644 gdb/testsuite/gdb.ada/ptype_array/pck.ads
create mode 100644 gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c
create mode 100644 gdb/testsuite/gdb.arch/aarch64-dbreg-contents.exp
create mode 100644 gdb/testsuite/gdb.arch/powerpc-vector-regs.c
create mode 100644 gdb/testsuite/gdb.arch/powerpc-vector-regs.exp
create mode 100644 gdb/testsuite/gdb.base/gdb-caching-proc.exp
create mode 100644 gdb/testsuite/gdb.base/info_minsym.c
create mode 100644 gdb/testsuite/gdb.base/info_minsym.exp
create mode 100644 gdb/testsuite/gdb.base/interrupt-daemon-attach.c
create mode 100644 gdb/testsuite/gdb.base/interrupt-daemon-attach.exp
create mode 100644 gdb/testsuite/gdb.base/jit-exec.c
create mode 100644 gdb/testsuite/gdb.base/jit-exec.exp
create mode 100644 gdb/testsuite/gdb.base/jit-execd.c
create mode 100644 gdb/testsuite/gdb.base/msym-lang-main.c
create mode 100644 gdb/testsuite/gdb.base/msym-lang.c
create mode 100644 gdb/testsuite/gdb.base/msym-lang.exp
create mode 100644 gdb/testsuite/gdb.base/pretty-print.c
create mode 100644 gdb/testsuite/gdb.base/pretty-print.exp
create mode 100644 gdb/testsuite/gdb.base/source-error-1.gdb
create mode 100644 gdb/testsuite/gdb.base/stack-protector.c
create mode 100644 gdb/testsuite/gdb.base/stack-protector.exp
create mode 100644 gdb/testsuite/gdb.base/style.c
create mode 100644 gdb/testsuite/gdb.base/style.exp
create mode 100644 gdb/testsuite/gdb.base/symlink-sourcefile.c
create mode 100644 gdb/testsuite/gdb.base/symlink-sourcefile.exp
create mode 100644 gdb/testsuite/gdb.base/warning.exp
create mode 100644 gdb/testsuite/gdb.cp/infcall-nodebug-lib.c
create mode 100644 gdb/testsuite/gdb.cp/infcall-nodebug-main.c
create mode 100644 gdb/testsuite/gdb.cp/infcall-nodebug.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-unusual-field-names.c
create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-unusual-field-names.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/missing-type-name.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/multidictionary.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/typedef-void-finish.exp
create mode 100644 gdb/testsuite/gdb.fortran/array-bounds.exp
create mode 100644 gdb/testsuite/gdb.fortran/array-bounds.f90
create mode 100644 gdb/testsuite/gdb.fortran/dot-ops.exp
create mode 100644 gdb/testsuite/gdb.fortran/function-calls.exp
create mode 100644 gdb/testsuite/gdb.fortran/function-calls.f90
create mode 100644 gdb/testsuite/gdb.fortran/intrinsics.exp
create mode 100644 gdb/testsuite/gdb.fortran/intrinsics.f90
create mode 100644 gdb/testsuite/gdb.fortran/type-kinds.exp
delete mode 100644 gdb/testsuite/gdb.mi/mi-breakpoint-location-ena-dis.cc
delete mode 100644 gdb/testsuite/gdb.mi/mi-breakpoint-location-ena-dis.exp
create mode 100644 gdb/testsuite/gdb.mi/mi-breakpoint-multiple-locations.cc
create mode 100644 gdb/testsuite/gdb.mi/mi-breakpoint-multiple-locations.exp
create mode 100644 gdb/testsuite/gdb.mi/mi2-cli-display.c
create mode 100644 gdb/testsuite/gdb.mi/mi2-cli-display.exp
create mode 100644 gdb/testsuite/gdb.python/py-format-string.c
create mode 100644 gdb/testsuite/gdb.python/py-format-string.exp
create mode 100644 gdb/testsuite/gdb.python/py-format-string.py
create mode 100755 gdb/testsuite/print-ts.py
delete mode 100644 gdb/thread-fsm.c
create mode 100644 gdb/thread-iter.c
create mode 100644 gdb/thread-iter.h
create mode 100644 gdb/ui-style.c
create mode 100644 gdb/ui-style.h
create mode 100644 gdb/unittests/child-path-selftests.c
create mode 100644 gdb/unittests/copy_bitwise-selftests.c
create mode 100644 gdb/unittests/style-selftests.c
create mode 100644 gold/ChangeLog-2018
create mode 100644 gold/testsuite/aarch64_pr23870_bar.c
create mode 100644 gold/testsuite/aarch64_pr23870_foo.c
create mode 100644 gold/testsuite/aarch64_pr23870_main.S
copy gprof/{ChangeLog => ChangeLog-2018} (100%)
create mode 100644 include/ChangeLog-2018
mode change 100755 => 100644 include/elf/nfp.h
create mode 100644 ld/ChangeLog-2018
create mode 100644 ld/testsuite/ld-aarch64/bti-pac-plt-1.d
create mode 100644 ld/testsuite/ld-aarch64/bti-pac-plt-2.d
create mode 100644 ld/testsuite/ld-aarch64/bti-plt-1.d
create mode 100644 ld/testsuite/ld-aarch64/bti-plt-1.s
create mode 100644 ld/testsuite/ld-aarch64/bti-plt-2.d
create mode 100644 ld/testsuite/ld-aarch64/bti-plt-2.s
create mode 100644 ld/testsuite/ld-aarch64/bti-plt-3.d
create mode 100644 ld/testsuite/ld-aarch64/bti-plt-4.d
create mode 100644 ld/testsuite/ld-aarch64/bti-plt-5.d
create mode 100644 ld/testsuite/ld-aarch64/bti-plt-6.d
create mode 100644 ld/testsuite/ld-aarch64/bti-plt-7.d
create mode 100644 ld/testsuite/ld-aarch64/bti-plt-so.s
create mode 100644 ld/testsuite/ld-aarch64/bti-plt.ld
create mode 100644 ld/testsuite/ld-aarch64/bti-warn.d
create mode 100644 ld/testsuite/ld-aarch64/erratum843419_tls_ie.d
create mode 100644 ld/testsuite/ld-aarch64/erratum843419_tls_ie.s
create mode 100644 ld/testsuite/ld-aarch64/pac-plt-1.d
create mode 100644 ld/testsuite/ld-aarch64/pac-plt-2.d
create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac1.d
create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac1.s
create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac2.d
create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac2.s
create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac3.d
create mode 100644 ld/testsuite/ld-elf/pr23900-1-32.rd
create mode 100644 ld/testsuite/ld-elf/pr23900-1-64.rd
create mode 100644 ld/testsuite/ld-elf/pr23900-1.d
create mode 100644 ld/testsuite/ld-elf/pr23900-1.s
create mode 100644 ld/testsuite/ld-elf/pr23900-2.s
create mode 100644 ld/testsuite/ld-elf/pr23900-2a.d
create mode 100644 ld/testsuite/ld-elf/pr23900-2b.d
create mode 100644 ld/testsuite/ld-i386/pr23930.d
create mode 100644 ld/testsuite/ld-i386/pr24276.dso
create mode 100644 ld/testsuite/ld-i386/pr24276.warn
create mode 100644 ld/testsuite/ld-i386/pr24322a.d
create mode 100644 ld/testsuite/ld-i386/pr24322b.d
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-0.d
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-1.d
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-2.d
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-3.d
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-4.d
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-absolute-hi.ld
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-absolute-lo.ld
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-j.s
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-lui.s
create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-ordinary.ld
create mode 100644 ld/testsuite/ld-plugin/pr23958.c
create mode 100644 ld/testsuite/ld-plugin/pr23958.t
create mode 100644 ld/testsuite/ld-powerpc/pr23937.d
create mode 100644 ld/testsuite/ld-powerpc/pr23937.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-priv-spec.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align-a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align-b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05.d
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s
create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s
create mode 100644 ld/testsuite/ld-scripts/pr24008.d
create mode 100644 ld/testsuite/ld-scripts/pr24008.map
create mode 100644 ld/testsuite/ld-scripts/pr24008.s
create mode 100644 ld/testsuite/ld-scripts/pr24008.t
create mode 100644 ld/testsuite/ld-x86-64/pr23930-32.t
create mode 100644 ld/testsuite/ld-x86-64/pr23930-x32.d
create mode 100644 ld/testsuite/ld-x86-64/pr23930.d
create mode 100644 ld/testsuite/ld-x86-64/pr23930.t
create mode 100644 ld/testsuite/ld-x86-64/pr23930a.s
create mode 100644 ld/testsuite/ld-x86-64/pr23930b.s
create mode 100644 ld/testsuite/ld-x86-64/pr23997a.s
create mode 100644 ld/testsuite/ld-x86-64/pr23997b.c
create mode 100644 ld/testsuite/ld-x86-64/pr23997c.c
create mode 100644 ld/testsuite/ld-x86-64/pr24151a-x32.d
create mode 100644 ld/testsuite/ld-x86-64/pr24151a.d
create mode 100644 ld/testsuite/ld-x86-64/pr24151a.s
create mode 100644 ld/testsuite/ld-x86-64/pr24276.dso
create mode 100644 ld/testsuite/ld-x86-64/pr24276.warn
create mode 100644 ld/testsuite/ld-x86-64/pr24322a-x32.d
create mode 100644 ld/testsuite/ld-x86-64/pr24322a.d
create mode 100644 ld/testsuite/ld-x86-64/pr24322a.s
create mode 100644 ld/testsuite/ld-x86-64/pr24322b-x32.d
create mode 100644 ld/testsuite/ld-x86-64/pr24322b.d
create mode 100644 ld/testsuite/ld-x86-64/pr24322b.s
create mode 100644 ld/testsuite/ld-x86-64/pr24322c.s
create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt1a.map
create mode 100644 ld/testsuite/ld-xtensa/call_overflow.d
create mode 100644 ld/testsuite/ld-xtensa/call_overflow1.s
create mode 100644 ld/testsuite/ld-xtensa/call_overflow2.s
create mode 100644 ld/testsuite/ld-xtensa/call_overflow3.s
create mode 100644 ld/testsuite/ld-xtensa/relax-undef-weak-pie-export-dynamic.d
create mode 100644 opcodes/ChangeLog-2018
create mode 100644 opcodes/s12z-opc.c
create mode 100644 opcodes/s12z-opc.h
create mode 100755 sim/common/create-version.sh
First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 60b19fd..cd631a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,41 @@
+2018-06-24 Nick Clifton <nickc@redhat.com>
+
+ 2.32 branch created.
+
+2019-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ Merge from GCC:
+ PR target/88535
+ * config.guess: Import upstream version 2019-01-03.
+ * config.sub: Import upstream version 2019-01-01.
+
+2019-01-10 Nick Clifton <nickc@redhat.com>
+
+ * libiberty: Sync with gcc. Bring in:
+ 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR other/16615
+
+ * cp-demangle.c: Mechanically replace "can not" with "cannot".
+ * floatformat.c: Likewise.
+ * strerror.c: Likewise.
+
+ 2018-12-22 Jason Merrill <jason@redhat.com>
+
+ Remove support for demangling GCC 2.x era mangling schemes.
+ * cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname,
+ internal_cplus_demangle, and all subroutines.
+ (libiberty_demanglers): Remove entries for ancient GNU (pre-3.0),
+ Lucid, ARM, HP, and EDG demangling styles.
+ (cplus_demangle): Remove 'work' variable. Don't call
+ internal_cplus_demangle.
+
+2019-01-03 ÐилÑн ÐалаÑзов <dilyan.palauzov@aegee.org>
+
+ * configure.ac: Don't configure readline if --with-system-readline is
+ used.
+ * configure: Re-generate.
+
2018-10-31 Joseph Myers <joseph@codesourcery.com>
Merge from GCC:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 155251d..2c630be 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,4566 +1,488 @@
-2018-11-06 Romain Margheriti <lilrom13@gmail.com>
+2019-03-30 Andrew Waterman <andrew@sifive.com>
- PR 23742
- * mach-o.c (bfd_mach_o_read_command): Accept and ignore
- BFD_MACH_O_LC_LINKER_OPTIONS and BFD_MACH_O_LC_BUILD_VERSION
- commands.
+ * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
+ rd == X_RA case.
-2018-11-02 Alan Modra <amodra@gmail.com>
+2019-03-29 Max Filippov <jcmvbkbc@gmail.com>
- PR 23850
- * elf.c (bfd_section_from_shdr): Treat SHF_ALLOC SHT_REL* sections
- in an executable or shared library as normal sections.
+ * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
+ info->export_dynamic to the conditional.
-2018-10-31 Renlin Li <renlin.li@arm.com>
+2019-03-28 Alan Modra <amodra@gmail.com>
- * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Don't create got
- section for Local Exec TLS model.
-
-2018-10-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/23818
- * elflink.c (_bfd_elf_link_assign_sym_version): Hide symbols
- defined in discarded input sections.
-
-2018-10-24 Alan Modra <amodra@gmail.com>
-
- * elf32-arm.c (elf32_arm_size_stubs): Ignore as-needed libs that
- were not needed.
-
-2018-10-23 Alan Modra <amodra@gmail.com>
-
- PR 23806
- * merge.c (_bfd_add_merge_section): Don't attempt to merge
- sections with ridiculously large alignments.
-
-2018-10-23 Alan Modra <amodra@gmail.com>
-
- PR 23805
- * elflink.c (elf_link_input_bfd): Don't segfault on finding
- STT_TLS symbols without any TLS sections. Instead, change the
- symbol type to STT_NOTYPE.
-
-2018-10-23 Alan Modra <amodra@gmail.com>
-
- PR 23804
- * merge.c (_bfd_add_merge_section): Don't attempt to merge
- sections where size is not a multiple of entsize.
-
-2018-10-20 Alan Modra <amodra@gmail.com>
-
- PR 23788
- * elf.c (section_match): Don't require a size match for SHT_SYMTAB
- or SHT_STRTAB.
-
-2018-10-17 Alan Modra <amodra@gmail.com>
-
- PR 23653
- * elflink.c (_bfd_elf_link_create_dynstrtab): Match elf_object_id
- too when choosing dynobj.
-
-2018-10-16 Alan Modra <amodra@gmail.com>
-
- * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Simplify
- PE_DEBUG_DATA size checks.
-
-2018-10-16 Alan Modra <amodra@gmail.com>
-
- PR 23781
- * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Free data
- before returning.
-
-2018-10-16 Alan Modra <amodra@gmail.com>
-
- PR 23534
- * init.c (bfd_init): Return an unsigned int.
- bfd-in2.h: Regenerate.
-
-2018-10-15 Alan Modra <amodra@gmail.com>
-
- PR 23534
- * init.c (BFD_INIT_MAGIC): Define.
- (bfd_init): Return BFD_INIT_MAGIC.
- bfd-in2.h: Regenerate.
-
-2018-10-13 Alan Modra <amodra@gmail.com>
-
- PR 23770
- PR 23425
- * reloc.c (_bfd_clear_contents): Replace "location" param with
- "buf" and "off". Bounds check "off". Return status.
- * cofflink.c (_bfd_coff_generic_relocate_section): Update
- _bfd_clear_contents call.
- * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Likewise.
- * elf32-arc.c (elf_arc_relocate_section): Likewise.
- * elf32-i386.c (elf_i386_relocate_section): Likewise.
- * elf32-metag.c (metag_final_link_relocate): Likewise.
- * elf32-nds32.c (nds32_elf_get_relocated_section_contents): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-visium.c (visium_elf_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c *(elf_x86_64_relocate_section): Likewise.
- * libbfd-in.h (_bfd_clear_contents): Update prototype.
- * libbfd.h: Regenerate.
-
-2018-10-09 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
-
- * elflink.c (elf_link_output_extsym): Do not place symbols into a
- discarded .dynsym.
-
-2018-10-08 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/23428
- * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't
- add GNU_PROPERTY_X86_FEATURE_2_NEEDED to force program header
- in non-code PT_LOAD segment.
-
-2018-10-08 Alan Modra <amodra@gmail.com>
-
- * elf-nacl.c (nacl_modify_segment_map): Cope with header PT_LOAD
- lacking sections.
- * elf.c (_bfd_elf_map_sections_to_segments): Assume file and
- program headers are required when info->load_phdrs. Reorganize
- code handling program headers. Generate a mapping without
- sections just for file and program headers when -z separate-code
- would indicate they should be on a different page to the first
+ PR 24392
+ * configure.ac: Invoke AC_CHECK_SIZEOF(int).
+ * configure: Regenerate.
+ * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
+ workaround with SIZEOF_LONG vs. SIZEOF_INT check.
+ * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
+ * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
+ * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
+
+2019-03-21 Jim Wilson <jimw@sifive.com>
+
+ PR 24365
+ * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
+ verify sym non-NULL before using. Add identical check using h.
+
+2019-03-21 Sudakshina Das <sudi.das@arm.com>
+
+ * elf-bfd.h (struct elf_backend_data): Add argument to
+ merge_gnu_properties.
+ * elf-properties.c (elf_merge_gnu_properties): Add argument to
+ itself and while calling bed->merge_gnu_properties.
+ (elf_merge_gnu_property_list): Update the calls for
+ elf_merge_gnu_properties.
+ * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
+ of --force-bti warning and add argument.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
+ warning.
+ * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
+ * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
+ declaration.
+
+2019-03-20 Sudakshina Das <sudi.das@arm.com>
+
+ * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
+ * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
+ (elf_backend_fixup_gnu_properties): Define for AArch64.
+
+2019-03-18 Alan Modra <amodra@gmail.com>
+
+ PR 24355
+ * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
+ for local iplt syms with ent->plt.offset == -1. Remove ineffective
+ attempt at writing glink stubs only once.
+
+2019-03-16 Alan Modra <amodra@gmail.com>
+
+ PR 24337
+ * elf.c (_bfd_elf_rela_local_sym): Revert last change.
+ (_bfd_elf_rel_local_sym): Likewise.
+ * elflink.c (elf_link_input_bfd): Use bfd_und_section for
+ section of symbols with unrecognized shndx.
+
+2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/24267
+ * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
section.
-
-2018-10-08 Alan Modra <amodra@gmail.com>
-
- * elf.c (assign_file_positions_for_load_sections): Set p_vaddr
- from m->p_vaddr_offset for segments without sections. Invert
- sign of p_vaddr_offset.
- (rewrite_elf_program_header, copy_elf_program_header): Save
- old segment p_vaddr to p_vaddr_offset. Invert sign of
- p_vaddr_offset.
-
-2018-10-08 Alan Modra <amodra@gmail.com>
-
- * elf.c (get_program_header_size): Don't count PT_INTERP if
- .interp is empty.
- (_bfd_elf_map_sections_to_segments): Don't create PT_INTERP if
- .interp is empty.
-
-2018-10-08 Alan Modra <amodra@gmail.com>
-
- * elf32-spu.c (spu_elf_modify_segment_map): Don't insert
- overlays before segment containing headers.
-
-2018-10-08 Alan Modra <amodra@gmail.com>
-
- * elf.c (make_mapping): Cope with zero size array at end of
- struct elf_segment_map.
- (_bfd_elf_map_sections_to_segments): Likewise.
- (rewrite_elf_program_header, copy_elf_program_header): Likewise.
- (_bfd_elf_map_sections_to_segments): Rename phdr_index to hdr_index.
-
-2018-10-05 Alan Modra <amodra@gmail.com>
-
- * elf32-spu.c (spu_elf_create_sections): Make .note.spu_name
- SHT_NOTE.
-
-2018-10-05 Richard Henderson <rth@twiddle.net>
-
- * bfd-in2.h: Regenerated.
- * elf32-or1k.c: (or1k_elf_howto_table): Fix formatting for
- R_OR1K_PLT26, Add R_OR1K_PCREL_PG21, R_OR1K_GOT_PG21,
- R_OR1K_TLS_GD_PG21, R_OR1K_TLS_LDM_PG21, R_OR1K_TLS_IE_PG21,
- R_OR1K_LO13, R_OR1K_GOT_LO13, R_OR1K_TLS_GD_LO13, R_OR1K_TLS_LDM_LO13,
- R_OR1K_TLS_IE_LO13, R_OR1K_SLO13, R_OR1K_PLTA26.
- (or1k_reloc_map): Add BFD_RELOC_OR1K_PCREL_PG21,
- BFD_RELOC_OR1K_GOT_PG21, BFD_RELOC_OR1K_TLS_GD_PG21,
- BFD_RELOC_OR1K_TLS_LDM_PG21, BFD_RELOC_OR1K_TLS_IE_PG21,
- BFD_RELOC_OR1K_LO13, BFD_RELOC_OR1K_GOT_LO13,
- BFD_RELOC_OR1K_TLS_GD_LO13, BFD_RELOC_OR1K_TLS_GD_LO13,
- BFD_RELOC_OR1K_TLS_LDM_LO13, BFD_RELOC_OR1K_TLS_IE_LO13,
- BFD_RELOC_OR1K_SLO13, BFD_RELOC_OR1K_PLTA26.
- (elf_or1k_link_hash_table): Add field saw_plta.
- (or1k_final_link_relocate): Add value calculations for new relocations.
- (or1k_elf_relocate_section): Add section relocations for new
- relocations.
- (or1k_write_plt_entry): New function.
- (or1k_elf_finish_dynamic_sections): Add support for PLTA relocations
- using new l.adrp instruction. Cleanup PLT relocation code generation.
- * libbfd.h: Regenerated.
- * reloc.c: Add BFD_RELOC_OR1K_PCREL_PG21, BFD_RELOC_OR1K_LO13,
- BFD_RELOC_OR1K_SLO13, BFD_RELOC_OR1K_GOT_PG21, BFD_RELOC_OR1K_GOT_LO13,
- BFD_RELOC_OR1K_PLTA26, BFD_RELOC_OR1K_TLS_GD_PG21,
- BFD_RELOC_OR1K_TLS_GD_LO13, BFD_RELOC_OR1K_TLS_LDM_PG21,
- BFD_RELOC_OR1K_TLS_LDM_LO13, BFD_RELOC_OR1K_TLS_IE_PG21,
- BFD_RELOC_OR1K_TLS_IE_LO13.
-
-2018-10-05 Richard Henderson <rth@twiddle.net>
-
- * elf32-or1k.c (or1k_elf_relocate_section): Add error for unknown
- relocations. Add error for non zero addend with plt and got
- relocations. Add error for got and plt references against dynamic, non
- local, symbols. Add error when linking non shared liraries with
- flag_pic.
-
-2018-10-05 Richard Henderson <rth@twiddle.net>
- Stafford Horne <shorne@gmail.com>
-
- * bfd-in2.h: Regenerated.
- * elf32-or1k.c (N_ONES): New macro.
- (or1k_elf_howto_table): Fix R_OR1K_PLT26 to complain on overflow.
- Add definitions for R_OR1K_TLS_TPOFF, R_OR1K_TLS_DTPOFF,
- R_OR1K_TLS_DTPMOD, R_OR1K_AHI16, R_OR1K_GOTOFF_AHI16,
- R_OR1K_TLS_IE_AHI16, R_OR1K_TLS_LE_AHI16, R_OR1K_SLO16,
- R_OR1K_GOTOFF_SLO16, R_OR1K_TLS_LE_SLO16.
- (or1k_reloc_map): Add entries for BFD_RELOC_HI16_S,
- BFD_RELOC_LO16_GOTOFF, BFD_RELOC_HI16_GOTOFF, BFD_RELOC_HI16_S_GOTOFF,
- BFD_RELOC_OR1K_TLS_IE_AHI16, BFD_RELOC_OR1K_TLS_LE_AHI16,
- BFD_RELOC_OR1K_SLO16, BFD_RELOC_OR1K_GOTOFF_SLO16,
- BFD_RELOC_OR1K_TLS_LE_SLO16.
- (or1k_reloc_type_lookup): Change search loop to start ad index 0 and
- also check results before returning.
- (or1k_reloc_name_lookup): Simplify loop to use R_OR1K_max as index
- limit.
- (or1k_final_link_relocate): New function.
- (or1k_elf_relocate_section): Add support for new AHI and SLO
- relocations. Use or1k_final_link_relocate instead of generic
- _bfd_final_link_relocate.
- (or1k_elf_check_relocs): Add support for new AHI and SLO relocations.
- * reloc.c: Add new enums for BFD_RELOC_OR1K_SLO16,
- BFD_RELOC_OR1K_GOTOFF_SLO16, BFD_RELOC_OR1K_TLS_IE_AHI16,
- BFD_RELOC_OR1K_TLS_IE_AHI16, BFD_RELOC_OR1K_TLS_LE_AHI16,
- BFD_RELOC_OR1K_TLS_LE_SLO16. Remove unused BFD_RELOC_OR1K_GOTOFF_HI16
- and BFD_RELOC_OR1K_GOTOFF_LO16.
- * libbfd.h: Regenerated.
-
-2018-10-04 Jim Wilson <jimw@sifive.com>
-
- * elfnn-riscv.c (riscv_elf_size_dynamic_sections): In dynobj->sections
- loop, handle htab->sdyntdata section.
-
-2018-10-04 Jose E. Marchesi <jose.marchesi@oracle.com>
-
- * elf64-sparc.c (elf64_sparc_output_arch_syms): Do notcorrect the
- impact of STT_REGISTER symbols in the dynsym sh_info here...
- * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): ...but
- do it here.
-
-2018-10-03 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/23658
- * elf.c (get_program_header_size): Put all adjacent SHT_NOTE
- sections with the same section alignment into a single PT_NOTE
- segment. Check SHT_NOTE section type instead of section name.
- (_bfd_elf_map_sections_to_segments): Likewise.
-
-2018-10-03 Millan Wolff <mail@milianw.de>
-
- PR 23715
- * dwarf2.c (find_abstract_instance): Allow recursive invocations
- of find_abstract_instance to override the name variable.
-
-2018-10-03 Nick Clifton <nickc@redhat.com>
-
- * po/pt.po: Updated Portuguese translation.
-
-2018-10-01 Cupertino Miranda <cmiranda@synopsys.com>
-
- * arc-got.h (relocate_fix_got_relocs_for_got_info): Changed. Take TLS
- section alignment in consideration for this relocation. Fixed TCB_SIZE
- offset size to include section alignment.
- (get_got_entry_list_for_symbol): Changed.
- * elf32-arc.c (FINAL_SECTSTART): Added this formula macro.
- (ARC_TLS_DTPOFF) Updated reloc to use new created macro instead.
- (arc_special_overflow_checks): Fixed TCB_SIZE offsize to include
- section alignment.
- (elf_arc_check_relocs): Changed.
- (elf_arc_finish_dynamic_symbol) Return FALSE in case arc_htab is NULL.
- (struct elf_arc_link_hash_entry): Moved and changed.
- (elf_arc_link_hash_newfunc): Changed.
- (arc_elf_link_hash_table_create): Removed old initializations.
- (elf_arc_relocate_section, elf_arc_finish_dynamic_symbol): Changed.
-
-2018-09-28 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Use
- elfclass instead of bed->s->elfclass.
-
-2018-09-27 Jim Wilson <jimw@sifive.com>
-
- * elfnn-riscv.c (riscv_init_pcgp_relocs): Add explanatory comment.
- (riscv_free_pcgp_relocs, riscv_record_pcgp_reloc): Likewise.
- (riscv_find_pcgp_hi_reloc, riscv_reocrd_pcgp_lo_reloc): Likewise.
- (riscv_find_pcgp_lo_reloc): Likewise.
- (riscv_delete_pcgp_hi_reloc, riscv_use_pcgp_hi_reloc): Delete.
- (riscv_delete_pcgp_lo_reloc): Likewise.
- (_bfd_riscv_relax_pc): Don't call riscv_use_pcgp_hi_reloc. Replace
- calls to riscv_delete_pcgp_lo_reloc and riscv_delete_pcgp_hi_reloc
- with TRUE. Mark abfd arg as ATTRIBUTE_UNUSED.
-
-2018-09-25 Jim Wilson <jimw@sifive.com>
-
- * elfnn-riscv.c (riscv_make_plt_header): New arg output_bfd. Change
- return type to bfd_boolean. If EF_RISCV_RVE call _bfd_error_handler
- and return FALSE. Return TRUE at end.
- (riscv_make_plt_entry): Likewise.
- (riscv_elf_finish_dynamic_symbol): Update call to riscv_make_plt_entry.
- (riscv_elf_finish_dynamic_sections): Update call to
- riscv_make_plt_header.
-
-2018-09-24 Jim Wilson <jimw@sifive.com>
-
- * elfnn-riscv.c (_bfd_riscv_relax_pc) <R_RISCV_PCREL_LO12_I>: New local
- hi_sec_off which is symbol address with addend subtracted. Use in
- riscv_find_pcgp_hi_reloc and riscv_record_pcgp_lo_reloc calls.
-
- * elfnn-riscv.c (riscv_resolve_pcrel_lo_relocs): Add check for reloc
- overflow with addend. Use reloc_dangerous instead of reloc_overflow.
- Add strings for the two errors handled here.
- (riscv_elf_relocate_section) In case R_RISCV_PCREL_LO12_I, rewrite
- comment. Only give error with addend when used with section symbol.
- In case bfd_reloc_dangerous, update error string.
-
-2018-09-24 Jozef Lawrynowicz <jozef.l@mittosystems.com>
-
- PR gdb/20948
- * elf.c (_bfd_elf_write_object_contents): Return from function
- early if abfd->direction == both_direction.
-
-2018-09-21 Simon Marchi <simon.marchi@ericsson.com>
-
- * configure.ac: Check for fls.
- * elf32-nds32.c (fls): Only define if !HAVE_FLS.
- * config.in: Re-generate.
- * configure: Re-generate.
-
-2018-09-20 Maciej W. Rozycki <macro@linux-mips.org>
-
- * config.bfd <rs6000-*-aix5.[01], rs6000-*-aix[5-9]*>: Remove
- duplicate `case' selectors.
-
-2018-09-20 Nelson Chu <nelson.chu1990@gmail.com>
-
- * elf32-nds32.c (nds32_elf_relax_loadstore):
- Remove the unused target features.
- (bfd_elf32_nds32_set_target_option): Remove the unused parameters.
- (nds32_elf_relax_piclo12, nds32_elf_relax_letlslo12,
- nds32_elf_relax_letlsadd, nds32_elf_relax_letlsls,
- nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff
- nds32_elf_relax_gotoff_suff, calculate_plt_memory_address,
- calculate_plt_offset, calculate_got_memory_address,
- nds32_elf_check_dup_relocs): Removed.
- All callers changed.
- * elf32-nds32.h: Remove the unused macros and defines.
- (elf_nds32_link_hash_table): Remove the unused variable.
- (bfd_elf32_nds32_set_target_option): Update prototype.
- (nds32_elf_ex9_init): Removed.
- * elf32-nds32.c (nds32_convert_32_to_16): Updated.
- * elf32-nds32.c (HOWTO2, HOWTO3): Define new HOWTO macros
- to initialize array nds32_elf_howto_table in any order
- without lots of EMPTY_HOWTO.
- (nds32_reloc_map): Updated.
- * reloc.c: Add BFD_RELOC_NDS32_LSI.
- * bfd-in2.h: Regenerated.
- * bfd/libbfd.h: Regenerated.
- * elf32-nds32.c (nds32_elf_relax_howto_table): Add R_NDS32_LSI.
- (nds32_reloc_map): Likewise.
- (nds32_elf_relax_flsi): New function.
- (nds32_elf_relax_section): Support floating load/store relaxation.
- * elf32-nds32.c (NDS32_GUARD_SEC_P, elf32_nds32_local_gp_offset):
- New macro.
- (struct elf_nds32_link_hash_entry): New `offset_to_gp' field.
- (struct elf_nds32_obj_tdata): New `offset_to_gp' and `hdr_size' fields.
- (elf32_nds32_allocate_local_sym_info, nds32_elf_relax_guard,
- nds32_elf_is_target_special_symbol, nds32_elf_maybe_function_sym):
- New functions.
- (nds32_info_to_howto_rel): Add BFD_ASSERT.
- (bfd_elf32_bfd_reloc_type_table_lookup, nds32_elf_link_hash_newfunc,
- nds32_elf_link_hash_table_create, nds32_elf_relocate_section,
- nds32_elf_relax_loadstore, nds32_elf_relax_lo12, nds32_relax_adjust_label,
- bfd_elf32_nds32_set_target_option, nds32_fag_mark_relax): Updated.
- (nds32_elf_final_sda_base): Improve it to find the better gp value.
- (insert_nds32_elf_blank): Must consider `len' when inserting blanks.
- * elf32-nds32.h (bfd_elf32_nds32_set_target_option): Update prototype.
- (struct elf_nds32_link_hash_table): Add new variable `hyper_relax'.
- * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): New function.
- (create_got_section): Likewise.
- (allocate_dynrelocs, nds32_elf_size_dynamic_sections,
- nds32_elf_relocate_section, nds32_elf_finish_dynamic_symbol): Updated.
- (nds32_elf_check_relocs): Fix the issue that the shared library may
- has TEXTREL entry in the dynamic section.
- (nds32_elf_create_dynamic_sections): Enable to call readonly_dynrelocs
hooks/post-receive
--
Repository for Project Archer.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-08-22 19:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-22 19:26 [SCM] scox/strace: Merge branch 'master' into scox/strace scox
-- strict thread matches above, loose matches on Subject: below --
2019-06-20 20:18 scox
2019-04-01 15:31 scox
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).